找回密码
 立即注册
查看: 247|回复: 20

ADC 疑惑 | 不是所有的芯片P3口都有ADC功能

[复制链接]
  • TA的每日心情
    开心
    4 天前
  • 签到天数: 29 天

    [LV.4]偶尔看看III

    5

    主题

    43

    回帖

    177

    积分

    注册会员

    积分
    177
    发表于 2024-4-21 23:48:51 | 显示全部楼层 |阅读模式
    我用仿真查看了ADC转换的运行情况,在开始ADC的那根指令的执行完成后,再下一根指令,ADC_START马上被置0,然后ADC_FLAG马上被置1。而且RES和RESL里面也都是0,完全没有做ADC转换。我用的是STC8H8K64U,TSSOP20的封装,Vref是直接接的VCC。
    下面是初始化代码:
            P_SW2 |= 0x80;
            ADCTIM = 0xA1;
            ADC_RES |= 0x07;
            P_SW2 &= 0x7f;
            ADCCFG = 0x24;
            ADC_CONTR = 0x80;

    下面是运行ADC的代码:
            ADC_CONTR = 0xC0;                      在这一行代码后  ADC_CONTR马上就会变成 0xA0
            ADC_CONTR = ADC_CONTR        | channel;
            NOP(4);                        

            while (!(ADC_CONTR & 0x20));
            {
                    ADC_CONTR &= ~ADC_FLAG;
                    adc = (u16)(ADC_RES & 0x0F);
                    adc = (adc << 8) | ADC_RESL;
                    adc = adc/4;
                    return        adc;
            }

    回复 送花

    使用道具 举报

    该用户从未签到

    552

    主题

    9494

    回帖

    1万

    积分

    管理员

    积分
    14063
    发表于 前天 09:32 | 显示全部楼层
    截图202405160932401863.jpg

    P3口有ADC功能



    截图202405160933411472.jpg

    P3口有ADC功能



    截图202405160934389372.jpg

    不是所有的芯片P3口都有ADC功能
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 07:59
  • 签到天数: 101 天

    [LV.6]常住居民II

    41

    主题

    1016

    回帖

    6971

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    6971
    QQ
    发表于 2024-4-22 08:56:05 | 显示全部楼层
    有没有用官方历程代码测试过?
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    16 小时前
  • 签到天数: 73 天

    [LV.6]常住居民II

    0

    主题

    212

    回帖

    478

    积分

    中级会员

    积分
    478
    发表于 2024-4-22 11:21:02 | 显示全部楼层
    这种实测外部环境的没法仿真,你都没数据哪里来的结果,仿真不是万能的,能用实物还是用实物吧,又要不了几个钱
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    4 天前
  • 签到天数: 29 天

    [LV.4]偶尔看看III

    5

    主题

    43

    回帖

    177

    积分

    注册会员

    积分
    177
     楼主| 发表于 2024-4-22 11:28:14 | 显示全部楼层
    xxxevery 发表于 2024-4-22 11:21
    这种实测外部环境的没法仿真,你都没数据哪里来的结果,仿真不是万能的,能用实物还是用实物吧,又要不了几 ...

    我是在实物板子上面进行测试和仿真的。实物测试不行,肯定得用仿真去查看功能是否运行正常
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3040

    回帖

    6853

    积分

    超级版主

    积分
    6853
    发表于 2024-4-22 16:55:22 | 显示全部楼层
    本帖最后由 梁工 于 2024-4-22 16:57 编辑

    楼主最好先测试一下STC官方例子,那都是非常正常的例子,无数的用户使用过。
    STC的12位ADC的精度高(接近13位精度,可用过采样测试出来),噪声低、抖动小(做交流电有效值测量就可以看出来)。

    你的程序应该用下面方式启动:
    ADC_CONTR = 0xC0 | channel;
    NOP(4);                  
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    4 天前
  • 签到天数: 29 天

    [LV.4]偶尔看看III

    5

    主题

    43

    回帖

    177

    积分

    注册会员

    积分
    177
     楼主| 发表于 2024-4-22 17:18:54 | 显示全部楼层
    梁工 发表于 2024-4-22 16:55
    楼主最好先测试一下STC官方例子,那都是非常正常的例子,无数的用户使用过。
    STC的12位ADC的精度高(接近13 ...

    好的,我下载了例程下来了。我用例程的试试看
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    4 天前
  • 签到天数: 29 天

    [LV.4]偶尔看看III

    5

    主题

    43

    回帖

    177

    积分

    注册会员

    积分
    177
     楼主| 发表于 2024-4-22 17:29:09 | 显示全部楼层
    梁工 发表于 2024-4-22 16:55
    楼主最好先测试一下STC官方例子,那都是非常正常的例子,无数的用户使用过。
    STC的12位ADC的精度高(接近13 ...

    用例程也是一样,我用的是STC8H8K64U 看数据手册ADC11对应的IO是P33。然后我使用官方例程,只是修改了通道部分,通道用ADC11并把对应的P33口设置成高阻态输入。还是一样,刚开ADC,下一条指令马上完成。
    我应该是权限不够,没办法发截图上来

    点评

    我意思是,直接下载例程的HEX文件测试,会从串口返回结果,你看看会不会都是0.  详情 回复 发表于 2024-4-22 17:35
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3040

    回帖

    6853

    积分

    超级版主

    积分
    6853
    发表于 2024-4-22 17:35:01 | 显示全部楼层
    lyagp03 发表于 2024-4-22 17:29
    用例程也是一样,我用的是STC8H8K64U 看数据手册ADC11对应的IO是P33。然后我使用官方例程,只是修改了通 ...

    我意思是,直接下载例程的HEX文件测试,会从串口返回结果,你看看会不会都是0.
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    4 天前
  • 签到天数: 29 天

    [LV.4]偶尔看看III

    5

    主题

    43

    回帖

    177

    积分

    注册会员

    积分
    177
     楼主| 发表于 2024-4-22 19:35:06 | 显示全部楼层
    梁工 发表于 2024-4-22 17:35
    我意思是,直接下载例程的HEX文件测试,会从串口返回结果,你看看会不会都是0. ...

    我查看了ISP里面的引脚定义,跟数据手册完全是两码事。。。
    数据手册里面P3脚是有一部分脚是有ADC功能的,但是ISP里面是没有的

    点评

    STC8H8K64U TSSOP20你在手册哪里看到P3脚有ADC功能的?请贴一下图我看看。我的手册P3口是没有ADC功能的,贴图如下: [attachimg]42016[/attachimg]  详情 回复 发表于 2024-4-22 21:56
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    4 天前
  • 签到天数: 29 天

    [LV.4]偶尔看看III

    5

    主题

    43

    回帖

    177

    积分

    注册会员

    积分
    177
     楼主| 发表于 2024-4-22 19:35:34 | 显示全部楼层
    梁工 发表于 2024-4-22 17:35
    我意思是,直接下载例程的HEX文件测试,会从串口返回结果,你看看会不会都是0. ...

    非常感谢了,我按照ISP里面引脚的定义重新做一块板子吧
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-18 16:58 , Processed in 0.082678 second(s), 79 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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