while(1)就是为了控制程序程序不要乱跑。 在有操作系统的C语言运用中,一个程序完结,一般都是执行一个操作,或者提供一个服务。程序结构一般都是从开始到结束。结束后,系统会释放这个程序执行时内存,直到下次再被调用。程序的调用都是有操作系统来控制的。 但是51单片机中, 没有操作系统,所以必须要用一个死循环语句,把程序停留在最后的状态,或者用一个死循环,让程序不断的重复执行。 |
zhb2004xp 发表于 2019-3-24 23:13 你好,虽然解决了,但为什么要加个死循环呢,为什么点个灯就不需要呢,同样都是这样的控制方法 |
如果是在真实环境下, 出现的问题可能又不一样了。 这个proteus只能模拟出结果,并不能很好的模拟出过程。 |
HC6800-ES-V2.0 发表于 2019-3-25 08:40 已经解决了 |
wc86110 发表于 2019-3-24 23:20 已经解决了,第一个说的是对的,谢谢啦 |
zhb2004xp 发表于 2019-3-24 23:13 感谢大神,成了! |
把你的显示码取反显示就对了。 你看嘛,显示0时,只显示中间一横,就是共阳共阴的数码管不同之处。 |
上图可看做数字 0 下图看看做数字 6 是数码管选错了 |
你需要在main()主函数最后添加“while(1);”语句 |