mdsk.net
当前位置:首页 >> 单片机protEus 仿真,怎么数码管显示不出来呢 >>

单片机protEus 仿真,怎么数码管显示不出来呢

用PROTEUS仿真,比较迟钝,拖泥带水.所以,显示各个位,之间,需要消隐.试试看:void display(uchar bai, uchar shi, uchar ge){ dula = 1; P0 = smg[ge]; dula = 0; wela = 1; P0 = 0xfb; wela = 0; delay(5); wela = 1; P0 = 0xff; wela = 0; //消隐.

把你的数码管的ABCDEFG这几个口的连接线换一下,接A的接G,接F的接B……

1.程序缺少循环,跑飞了.2.电阻太大.不亮,原因并不在单片机上.你就是把单片机删除掉,只是保留电阻和数码管,数码管都不会亮.把电阻,改成330欧姆,试试看.

你可以在仿真的时候看一下555接入单片机的P3.5是否在闪动(有计数脉冲输入),然后看一下P1口是否在闪动(数码管数据输出)P2.4~P2.7是否在闪动(数码管选择),看一下数码管接口处A~G和1~4处有没有闪动(接收到单片机的数据及指令).如果都不闪动的话可能是单片机配置的问题,如果单片机一端闪而数码管一端保持红色那就是你的总线没配置好,如果都闪动的话,可能是因为数码管是动态显示,刷新频率太快导致仿真显示不出来.建议可以换成LCD1602显示,可以避免由于数码管动态显示的视觉问题.

用什么做驱动的?我试过不用三极管作驱动,仿真照样可以~ 按这样排查,可能就是你电路引脚连接或者是软件方面的问题了~

从图上看出,P0口要不少管脚的仿真状态是灰色的,表明其状态是不明确的,不是高电平也不是低电平,其实就是高电平出不来,导致数码管显示不正常.这就得检查你的代码了,看看是否已经将P0口配置为数字输出,推挽输出模式;

PROTEUS 仿真,速度慢,轮流显示的各个位,互相,有干扰.加上消隐部分即可正常仿真.

1、检查数码管是共阴还是共阳,A表示共阳,K表示共阴.或者直接给公共端接高电平或者低电平,段码端一部分接高电平,一部分接低电平,这样数码管亮的话看公共端接的是高还是低电平就可以判断了. 2、看你接的限流电阻是不是太大,大于1K的值有可能不亮,最好不要接限流电阻.做实际的实物电路再加上470欧姆. 3、是不是接到51单片机的P0口了,接到P0口必须加上拉电阻,否则不会亮.4、如果是程序控制数码管,注意延时时间的长短,太短会看不到亮.

是无法显示,LCD与单片机I/O口之间如果你用总线方式连接就必须用标号进行关联,否则,系统不知道每条线的连接关系,图上其它凡是没有用导线直连的部件都是如此.

你可以用一个简单的小程序,每次驱动一段数码管,分别记下来那段数码管对应的数字量,根据现实的字,计算出每个字相对应的代码

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com