找回密码
 立即注册
楼主: 梁***

交流电压/直流电压ADC测量, 计算有效值 ,送【STC-ISP|调试接口】显示

[复制链接]
  • TA的每日心情
    开心
    昨天 14:34
  • 签到天数: 41 天

    [LV.5]常住居民I

    9

    主题

    116

    回帖

    229

    积分

    中级会员

    积分
    229
    发表于 2023-6-21 11:11:15 | 显示全部楼层
    void ADC_Config()
    {
            P1M1 = 0x08;P1M0 = 0x00;                // P1.3设置为高阻输入模式
      
            ADCTIM = 0x3F;                                                        // ADC时序设置:通道选择时间:1个时钟,通道保持时间:4个时钟,采样时间:32个时钟
            ADCCFG = 0x2F;                                                        // ADC频率设置:系统时钟/2/16,数据右对齐
            ADC_CONTR = 0xC3;

    }
    梁工,你好!这样设置P1.3口ADC转换启动应该没问题吧?

    点评

    请参考我的例程: #define ADC_START (1  详情 回复 发表于 2023-6-21 12:19
    专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2929

    回帖

    6591

    积分

    超级版主

    积分
    6591
     楼主| 发表于 2023-6-21 12:19:45 | 显示全部楼层
    VECENT_LIN 发表于 2023-6-21 11:11
    void ADC_Config()
    {
            P1M1 = 0x08;P1M0 = 0x00;                // P1.3设置为高阻输入模式

    请参考我的例程:

    #define ADC_START        (1<<6)        /* 自动清0 */
    #define ADC_FLAG        (1<<5)        /* 软件清0 */

    #define        ADC_SPEED        1                /* 0~15, ADC时钟 = SYSclk/2/(n+1) */
    #define        RES_FMT                (1<<5)        /* ADC结果格式 0: 左对齐, ADC_RES: D9 D8 D7 D6 D5 D4 D3 D2, ADC_RESL: D1 D0 0  0  0  0  0  0 */
                                                            /*             1: 右对齐, ADC_RES: 0  0  0  0  0  0  D9 D8, ADC_RESL: D7 D6 D5 D4 D3 D2 D1 D0 */

    #define CSSETUP                (0<<7)        /* 0~1,  ADC通道选择时间      0: 1个ADC时钟, 1: 2个ADC时钟,  默认0(默认1个ADC时钟)        */
    #define CSHOLD                (1<<5)        /* 0~3,  ADC通道选择保持时间  (n+1)个ADC时钟, 默认1(默认2个ADC时钟)                                        */
    #define SMPDUTY                20                /* 10~31, ADC模拟信号采样时间  (n+1)个ADC时钟, 默认10(默认11个ADC时钟)                                */
                                                            /* ADC转换时间: 10位ADC固定为10个ADC时钟, 12位ADC固定为12个ADC时钟.                                 */

            P_SW2 |=  0x80;        //访问XSFR
            P1n_pure_input(0x40);        //设置要做ADC的IO做高阻输入
            ADC_CONTR = 0x80 + 6;        //ADC on + channel
            ADCCFG = RES_FMT + ADC_SPEED;
            ADCTIM = CSSETUP + CSHOLD + SMPDUTY;
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 14:34
  • 签到天数: 41 天

    [LV.5]常住居民I

    9

    主题

    116

    回帖

    229

    积分

    中级会员

    积分
    229
    发表于 2023-6-21 13:57:44 | 显示全部楼层
    梁工 发表于 2023-6-21 12:19
    请参考我的例程:

    #define ADC_START        (1

    音频输入可以直接接P1.3口或P1.6口吗?

    点评

    任意一个ADC输入口都可以采集音频信号。  详情 回复 发表于 2023-6-21 14:02
    专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2929

    回帖

    6591

    积分

    超级版主

    积分
    6591
     楼主| 发表于 2023-6-21 14:02:58 | 显示全部楼层
    VECENT_LIN 发表于 2023-6-21 13:57
    音频输入可以直接接P1.3口或P1.6口吗?

    任意一个ADC输入口都可以采集音频信号。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 14:34
  • 签到天数: 41 天

    [LV.5]常住居民I

    9

    主题

    116

    回帖

    229

    积分

    中级会员

    积分
    229
    发表于 2023-6-23 10:08:10 | 显示全部楼层
    梁工 发表于 2023-6-21 14:02
    任意一个ADC输入口都可以采集音频信号。

    已经调试好了,谢谢!
    专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9255

    回帖

    1万

    积分

    管理员

    积分
    13993
    发表于 2023-6-23 10:19:07 | 显示全部楼层
    开心,一起前进
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-8 18:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    15

    回帖

    831

    积分

    高级会员

    积分
    831
    发表于 2023-7-18 09:20:21 来自手机 | 显示全部楼层
    读取交流电adc的均方根就是交流电的有效值吗?

    点评

    是的,学过电工学都知道的,详情可以翻翻《电工学》中相关章节,有效值就是一个积分,程序用离散方式实现,就是采样计算均方根值。  详情 回复 发表于 2023-7-18 11:35
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2929

    回帖

    6591

    积分

    超级版主

    积分
    6591
     楼主| 发表于 2023-7-18 11:35:51 | 显示全部楼层
    本帖最后由 梁工 于 2023-7-18 17:08 编辑
    405616736 发表于 2023-7-18 09:20
    读取交流电adc的均方根就是交流电的有效值吗?

    是的,详情可以翻翻《电工学》中相关章节,有效值就是一个积分,程序用离散方式实现,就是采样计算均方根值。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    6

    回帖

    45

    积分

    新手上路

    积分
    45
    发表于 2023-7-18 16:08:17 | 显示全部楼层
    学习学习学习学习学习
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    11

    回帖

    43

    积分

    新手上路

    积分
    43
    发表于 2023-7-19 16:11:36 | 显示全部楼层
    学习了
    回复 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-1 17:34 , Processed in 0.068154 second(s), 65 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表