找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 879|回复: 6
收起左侧

用单片机控制ADC0804进行模数转换后显示数字量不对

[复制链接]
ID:1061677 发表于 2023-2-1 14:30 | 显示全部楼层 |阅读模式
详细说明一下我的问题。
ADC0804的芯片
VIN-接地,VIN+通过一个限流电阻接入滑动变阻器,滑动变阻器一头连着电源一头接地。换句话说,VIN+接入阻值的变化,会使得VIN+得到的模拟电压发生变化。与此同时,51单片机接入一个数码管,前三位动态显示一个十进制数字。当VIN+接入的阻值变化时,显示的数字也跟着变化,变化范围是0~255。(A/D转换这部分我学得不好)
我不知道是程序还是仿真的问题,导致在仿真的时候刚开始数码管显示000,然后显示的数字是254???这个显示有问题,反正是上电之后动态显示的段码有问题。我不理解为什么会这样,因为我预期的效果是上电初始值显示000,而后显示一个0~255之间的数,当扳动电位器后,数码管上的值会发生相应的变化。
写得比较啰嗦,希望论坛上的大佬能够帮忙,不胜感激!
源程序和proteus仿真放在压缩包里了。

ex4.zip

51.55 KB, 下载次数: 9

源程序+proteus仿真

回复

使用道具 举报

ID:76318 发表于 2023-2-2 10:44 | 显示全部楼层
void display(uchar bai,uchar shi,uchar ge)        //显示函数 传参:百位数字 十位数字 个位数字 {         P1=table[bai]|0x80;                       //送段码百位数据         P2=0xfe;                               //送位选数据 11111110         delayms(5);                            //延时         P2=0xff;                               //消影          P1=table[shi];                              //送段码十位数据                 P2=0xfd;                              //送位码数据  11111101         delayms(5);                           //延时         P2=0xff;                              //消影          P1=table[ge];                        //送段码个位数据                 P2=0xfb;                             //送位码数据  11111011         delayms(5);                          //延时         P2=0xff;                             //消影
回复

使用道具 举报

ID:1061677 发表于 2023-2-2 12:54 | 显示全部楼层
YHB51H 发表于 2023-2-2 10:44
void display(uchar bai,uchar shi,uchar ge)        //显示函数 传参:百位数字 十位数字 个位数字 {         P1=table|0 ...

我是先送段选数据,消影,再送位选数据,延时,这样做是不是由于消影不及时所以才显示不完全呢?
还有,最大的一个问题是,为什么移动电位器,数值显示的一直都是2.55呢?难道是我的proteus仿真连接的有问题?
回复

使用道具 举报

ID:161164 发表于 2023-2-2 15:27 来自手机 | 显示全部楼层
这情况多数是DB腳顺序接反了
回复

使用道具 举报

ID:1061677 发表于 2023-2-2 17:13 | 显示全部楼层
lkc8210 发表于 2023-2-2 15:27
这情况多数是DB腳顺序接反了

是吗?这个书上写的变化范围是0~255,那说明DB引脚都是全1啊,不应该是仿真接的线路不对吗?
回复

使用道具 举报

ID:161164 发表于 2023-2-2 23:22 | 显示全部楼层
百二秦关终属我 发表于 2023-2-2 17:13
是吗?这个书上写的变化范围是0~255,那说明DB引脚都是全1啊,不应该是仿真接的线路不对吗?


P0上拉电阻画错了
2023-02-02_232106.png

回复

使用道具 举报

ID:1061677 发表于 2023-2-3 19:06 | 显示全部楼层
lkc8210 发表于 2023-2-2 23:22
P0上拉电阻画错了

原来是这样啊,我明白了,很感谢你
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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