2 qq 19978205 qq_19978205 于 2016.05.06 22:52 提问

关于C语言编译C51单片机程序的一点疑问

1.为什么两段不相干的代码会互相影响
在主程序里有一段点亮发光二极管的代码,和一段计数器计数并在数码管上显示的代码。同时工作时,二极管正常点亮,数码管几秒才点亮一回,而且十位显示是闪烁一下就不显示了
2.数码管显示时,位选和段选顺序不能改变吗?
按照书上的方法是先段选再位选,但是点亮的数码管是本来不应该点亮的,段选和位选顺序换了之后就能正常显示了

2个回答

bealing
bealing   Rxr 2016.05.06 23:33
已采纳

问题1)你所谓的同时工作是指led亮的同时数码管也在显示,是这样的吗?单片机跑的程序都是单线程的,所以函数可能会受到中断的影响
问题2)理论上,位选和段选是不要求顺序的,如果交换顺序会出现不一样的效果,说明你的程序写的有问题,根据你说的现象,我认为你段选和位选没设置好

qq_19978205
qq_19978205 好的,谢谢
一年多之前 回复
bealing
bealing 不管是仿真还是在开发板上运行,结果应该是一样的,如果不一样,可能你仿真中的连线和开发板上的连线有差别
一年多之前 回复
qq_19978205
qq_19978205 我是用proteus仿真时发生的的,用开发版进行的时候没问题,和这个有关系吗?
一年多之前 回复
CSDNXIAOD
CSDNXIAOD   2016.05.06 23:02

51单片机C语言程序(二)定…
51单片机 Keil C 延时程序
51单片机 Keil C 延时程序的简单研究
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!