51单片机1602A液晶和数码管的问题 C语言编程

数码管(用锁存器)的段选和液晶(1602A)的D0到D7都接P1口,用C语言写程序时已经将数码管显示关掉,但是烧完程序启动单片机时仍然会闪一下在灭,重复多次烧写仍然未能解决,求解原因和解决方法(C语言)。

单片机刚启动时,所有的I/O口默认输出的都是高电平,需复位完成后,才能根据程序进行输出,可能这时候就点亮了数码管,如果不想让它闪,这个只有改动硬件了,通过程序解决不了,不过闪一下也没有关系的,现在很多设备上刚开机的时候也有这个现象,希望对你有帮助追问

那为什么我把液晶去掉之后就不会闪了?就是加上液晶后它就会闪那么一下

追答

如果程序没有改动,只是有液晶就闪的话,可能是在单片机复位的过程中液晶的引脚把P1口拉高或拉低造成的,也没有什么大碍,不必太在意

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-09
总得提供个程序吧?本回答被提问者采纳
第2个回答  2019-11-10
我建议关数码管位选,因为段选是和LCD在同一个端口上的,不管操作哪个都会对另一个有影响。
第3个回答  2011-12-18
端口的复用,单片机在复位和启动时所有IO口全部被拉高,导致了出现闪一下的情况
第4个回答  2011-12-09
修改一下程序,再烧一下看效果是不是一样,确认是不是没写进去!
给你推荐一款单片机仿真软件Proteus,我大学四年玩单片机都是先在这上面调试保证程序逻辑正确了,再实物调试追问

程序已经修改过很多次了,原配实验板的程序也会,就是想知道原因而已

相似回答