找回密码
 立即注册
查看: 56|回复: 8

突然想起来AI8051U那个ADC的IO口电压跳变的现象原因有肯能

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:363
  • 最近打卡:2026-05-08 17:09:43
已绑定手机

63

主题

257

回帖

2157

积分

金牌会员

积分
2157
发表于 前天 07:15 | 显示全部楼层 |阅读模式
是芯片的那个施密特功能产生的现象

就是说设为高阻态是失败的,取消施密特也是失败的。
但是其他的都能跑,或者至少8位模式能跑,32位也能正常输入输出和LCD显示,
就是ADC的结果一直不对,我用直接平均的方法把12位数据压缩成0-51显示,
结果是显示3-35,同样的代码在8位模式就正确显示0-51

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:401
  • 最近打卡:2026-05-08 09:46:24

850

主题

1万

回帖

2万

积分

管理员

积分
23212
发表于 前天 10:35 | 显示全部楼层
截图202605071034348215.jpg


截图202605071035097750.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:363
  • 最近打卡:2026-05-08 17:09:43
已绑定手机

63

主题

257

回帖

2157

积分

金牌会员

积分
2157
发表于 前天 12:55 | 显示全部楼层

不懂你老是发这些啥意思
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:401
  • 最近打卡:2026-05-08 09:46:24

850

主题

1万

回帖

2万

积分

管理员

积分
23212
发表于 前天 12:59 | 显示全部楼层
我也是不知道你咋那,ADC 大家都从我们的程序出发都对了,
您这查查硬件,再看看我们的实验箱程序不就搞定了 ?
截图202605071259247577.jpg
深圳国芯人工智能有限公司-实验箱
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:363
  • 最近打卡:2026-05-08 17:09:43
已绑定手机

63

主题

257

回帖

2157

积分

金牌会员

积分
2157
发表于 前天 13:07 | 显示全部楼层
神*** 发表于 2026-5-7 12:59
我也是不知道你咋那,ADC 大家都从我们的程序出发都对了,
您这查查硬件,再看看我们的实验箱程序不就搞定 ...

就是用试验箱的程序,但是它是轮询的,不是用的中断方式。
这个先不提
就那个电压跳变的问题,有没有硬件在手上,测试一下看看,
我发的一串数据就是用实验代码从下载工具软件里面复制的,能看出来数据的跳变。
就是目前高阻态设置是失败的,施密特关闭设置也是失败的。难道这个芯片是假货?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:363
  • 最近打卡:2026-05-08 17:09:43
已绑定手机

63

主题

257

回帖

2157

积分

金牌会员

积分
2157
发表于 昨天 17:09 | 显示全部楼层
xiaob*** 发表于 2026-5-7 13:07
就是用试验箱的程序,但是它是轮询的,不是用的中断方式。
这个先不提
就那个电压跳变的问题,有没有硬件 ...


回复

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:67
  • 最近打卡:2026-05-08 06:02:18
已绑定手机

3

主题

115

回帖

561

积分

高级会员

积分
561
发表于 昨天 17:28 | 显示全部楼层
xiaob*** 发表于 2026-5-7 13:07
就是用试验箱的程序,但是它是轮询的,不是用的中断方式。
这个先不提
就那个电压跳变的问题,有没有硬件 ...

用于ADC输入的端口不做任何设置,芯片默认加电高阻。与内部施密特无关。此现象多为使用不当。上原理图看看。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:363
  • 最近打卡:2026-05-08 17:09:43
已绑定手机

63

主题

257

回帖

2157

积分

金牌会员

积分
2157
发表于 昨天 17:44 | 显示全部楼层
wul*** 发表于 2026-5-8 17:28
用于ADC输入的端口不做任何设置,芯片默认加电高阻。与内部施密特无关。此现象多为使用不当。上原理图看 ...

QQ20260508-174345.png 不用设置?
不需要设置为高祖态?
回复

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:67
  • 最近打卡:2026-05-08 06:02:18
已绑定手机

3

主题

115

回帖

561

积分

高级会员

积分
561
发表于 昨天 22:37 | 显示全部楼层
xiaob*** 发表于 2026-5-8 17:44
不用设置?
不需要设置为高祖态?

按用户手册第1158页ADC基本操作示例程序稍做修改,下载到擎天柱AI8051核心板测试,缓慢旋转电位器,ADC结果在P2的LED显示完全正常,没有发现突跳现象。
无标题.jpg
  1. #include "Ai8051U.H" //头文件见下载软件
  2. #include "intrins.h" //使用_nop_()函数所必须要包含的头文件,
  3. void Delay20ms(void)        //@12.000MHz
  4. {
  5.         unsigned char data i, j, k;
  6.         i = 2;
  7.         j = 56;
  8.         k = 172;
  9.         do
  10.         {
  11.                 do
  12.                 {
  13.                         while (--k);
  14.                 } while (--j);
  15.         } while (--i);
  16. }
  17. void main()
  18. {
  19.         P_SW2 |= 0x80;            //允许访问扩展的特殊寄存器,XFR
  20.         WTST = 0;                 //设置取程序代码等待时间,
  21.         CKCON = 0;                //设置访问片内的 xdata 速度,
  22.         P0M0 = 0x00;P0M1 = 0x00;
  23.         P1M0 = 0x00;P1M1 = 0x20;  //设置 P1.5 为 ADC 口
  24.         P2M0 = 0x00;P2M1 = 0x00;
  25.         P3M0 = 0x00;P3M1 = 0x00;
  26.         P4M0 = 0x00;P4M1 = 0x00;
  27.         P5M0 = 0x00;P5M1 = 0x00;
  28.         ADCTIM = 0x3f;            //设置 ADC 内部时序
  29.         ADCCFG = 0x0f;            //设置 ADC 时钟为系统时钟/2/16/16
  30.         Delay20ms();
  31.         while (1)
  32.         {
  33.                 ADC_CONTR=ADC_POWER|ADC_START|0x05;//启动转换1100 1000
  34.                 _nop_();_nop_();                   //小延时
  35.                 while (!(ADC_CONTR & ADC_FLAG));   //等待ADC转换完成标志置位 1010 0000
  36.                 ADC_CONTR &=~ADC_FLAG;             //清完成标志
  37.                 P2 = ~ADC_RES;                     //读取 ADC 结果
  38.         }
  39. }
复制代码

回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-5-9 05:41 , Processed in 0.573962 second(s), 99 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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