不管怎么说,先上图,结合图,麻烦各位同仁帮忙分析下,到底什么原因,
其实遇到这个问题有点意外,我是用的AT89C51,AT89C51——74HC573——ULN2803,段驱动是采用这种方式,位选用三极管。用ADC0809作为采集IC,比如要显示个18.9,有时候会出现闪烁现象,有时候又正常。在程序里面,在每位的前面,我已经加了消隐措施(就是先关闭数码管),当我用滑动变阻器模拟不同电压输入时,有时正常(亮度也够,也不闪烁,其它段也不存在拖尾现象),但有时又会出现某些段闪烁现象,稍调整一下滑动电阻值,又会不闪烁。当出现闪烁时,我测P0口闪烁的那一段电压,高电居然是3.67V(不闪烁时为4.12V),两都竟相差0.5V左右。这种电平加到2803,导致输出电压也不确定,出现某些段闪烁现象,按理说,在循环扫描时,只要采集的数据一旦计算正确,输送到P0口,高电平就是高电平,低电平就是低电平,怎么有时,会不一样呢。还请高手指点。
最后我又把P0口的上位电阻由原来的10K改为4.7K,好像感觉稍微好一点。但偶尔还是有点这种问题,稍调一下滑动阻值,会正常。真是搞不懂。软件上应该不会有问题。 |