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

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

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:264
  • 最近打卡:2025-05-02 09:27:28

8

主题

95

回帖

548

积分

高级会员

积分
548
发表于 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;
        }

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

717

主题

1万

回帖

1万

积分

管理员

积分
15617
发表于 2024-5-16 09:32:43 | 显示全部楼层
截图202405160932401863.jpg

P3口有ADC功能



截图202405160933411472.jpg

P3口有ADC功能



截图202405160934389372.jpg

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

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2024-12-25 10:15:05

47

主题

1350

回帖

8058

积分

荣誉版主

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:391
  • 最近打卡:2025-04-30 00:26:42

0

主题

336

回帖

1490

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:264
  • 最近打卡:2025-05-02 09:27:28

8

主题

95

回帖

548

积分

高级会员

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

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

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

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:264
  • 最近打卡:2025-05-02 09:27:28

8

主题

95

回帖

548

积分

高级会员

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:264
  • 最近打卡:2025-05-02 09:27:28

8

主题

95

回帖

548

积分

高级会员

积分
548
发表于 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
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:264
  • 最近打卡:2025-05-02 09:27:28

8

主题

95

回帖

548

积分

高级会员

积分
548
发表于 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
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:264
  • 最近打卡:2025-05-02 09:27:28

8

主题

95

回帖

548

积分

高级会员

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

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 13:21 , Processed in 0.155356 second(s), 118 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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