找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机驱动的数码管显示异常,有乱码

查看数: 11404 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-6-13 14:40

正文摘要:

同样的数字,四位数码管正常,二位数码管有乱码,同时,显示的数字顺序与实际要显示的数字顺序不符合,单片机代码如下: #include<reg52.h> #define uchar unsigned char #define uint unsigned int u ...

回复

ID:352342 发表于 2018-6-15 09:50

显示的时候还原下引脚原来状态,俗称清屏。就好了。也就是在赋值端口显示后全部口置1.然后再显示下一位数。
ID:350162 发表于 2018-6-15 08:59
zhb2004xp 发表于 2018-6-14 10:11
楼主的程序写的天马行空,排序有点乱,我倒是撸了半天,82行为什么是“c1,c0,c2,c3”,而不是大家习惯的C0, ...

初学者,正在努力,我想显示的其实是两个倒计时,顺序应该是a的十位,a的个位,b的十位,b的个位,上面的二位数码管a倒计时,下面那个b倒计时,图中四位数码管是正确的显示顺序,倒计时也是对的,但是如果程序按照我想的顺序写,结果顺序就是乱的,只有按上面代码里的这个错误的顺序,四位数码管才有正确的顺序。另外,我也试过加消影,就是在延时后加P0=0x00,或者P0=0xff,但是加前者,数码管只显示8和9,加后者只显示”9“左下角缺的一节,而如果加P2=0x00,就什么都不显示了。实在想不明白,所以请求各路大神帮帮忙。
ID:234075 发表于 2018-6-14 10:11
楼主的程序写的天马行空,排序有点乱,我倒是撸了半天,82行为什么是“c1,c0,c2,c3”,而不是大家习惯的C0,C1,C2,C3 ?数码管显示的排序也是01H,04H,08H最后是02H,最后在4位的数码管上显示顺序应该是b的十位,a的十位,b的个位,a的个位,不知道这个是不是你想要的显示结果?两个两位数码管分别显示b的十位,a的十位和b的个位,a的个位;
至于为什么显示乱码,可能是P0口电流过大的原因,建议楼主在P0口和数码管位选中间也加上一个74HC593试试;
再问问楼主,为啥不写中断服务程序,而习惯用TF0的查询法
ID:351618 发表于 2018-6-14 09:43
显示下一组数字前,先把之前的数字清了。乱码这个现象就是视觉暂存
ID:351586 发表于 2018-6-14 09:14
显示的时候还原下引脚原来状态,俗称清屏。就好了。也就是在赋值端口显示后全部口置1.然后再显示下一位数。
ID:129368 发表于 2018-6-14 01:49
显示的时候还原下引脚原来状态,俗称清屏。就好了。也就是在赋值端口显示后全部口置1.然后再显示下一位数。
ID:96682 发表于 2018-6-13 22:25
选用不同类型的数码管显示出现乱码也正常,就算用相同的数码管显示相同内容,有时软件也可能出现一些小异常

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

Powered by 单片机教程网

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