找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

大神们帮我看一下,我这单片机数码管为啥总是显示不对?

查看数: 2747 | 评论数: 9 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-3-24 17:01

正文摘要:

我用的是单片机连接两个锁存器74hc573,分别控制断选和位选,想在第二位显示个零,编程如图一,然后显示是图二,可知是高电平有效,然后我进行修改,编程如图三,显示如图四,为啥不对呢,怎么弄也不对,我这画的电 ...

回复

ID:451718 发表于 2019-3-27 08:55
while(1)就是为了控制程序程序不要乱跑。 在有操作系统的C语言运用中,一个程序完结,一般都是执行一个操作,或者提供一个服务。程序结构一般都是从开始到结束。结束后,系统会释放这个程序执行时内存,直到下次再被调用。程序的调用都是有操作系统来控制的。
但是51单片机中, 没有操作系统,所以必须要用一个死循环语句,把程序停留在最后的状态,或者用一个死循环,让程序不断的重复执行。  
ID:288012 发表于 2019-3-25 17:06
zhb2004xp 发表于 2019-3-24 23:13
你需要在main()主函数最后添加“while(1);”语句

你好,虽然解决了,但为什么要加个死循环呢,为什么点个灯就不需要呢,同样都是这样的控制方法
ID:451718 发表于 2019-3-25 14:08
如果是在真实环境下, 出现的问题可能又不一样了。 这个proteus只能模拟出结果,并不能很好的模拟出过程。
ID:288012 发表于 2019-3-25 12:35
HC6800-ES-V2.0 发表于 2019-3-25 08:40
把你的显示码取反显示就对了。
你看嘛,显示0时,只显示中间一横,就是共阳共阴的数码管不同之处。

已经解决了
ID:288012 发表于 2019-3-25 12:34
wc86110 发表于 2019-3-24 23:20
上图可看做数字 0
下图看看做数字 6


已经解决了,第一个说的是对的,谢谢啦
ID:288012 发表于 2019-3-25 09:31
zhb2004xp 发表于 2019-3-24 23:13
你需要在main()主函数最后添加“while(1);”语句

感谢大神,成了!
ID:164602 发表于 2019-3-25 08:40
把你的显示码取反显示就对了。
你看嘛,显示0时,只显示中间一横,就是共阳共阴的数码管不同之处。
ID:96682 发表于 2019-3-24 23:20
上图可看做数字 0
下图看看做数字 6

是数码管选错了
ID:234075 发表于 2019-3-24 23:13
你需要在main()主函数最后添加“while(1);”语句

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

Powered by 单片机教程网

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