51单片机数码管显示问题

如题所述

第1个回答  2019-09-25
采用这种方式一般都是所谓的动态扫描显示,往往不止一个数码管。一个数码管8段加一个公共端需要9根口线才能完全显示任意数字,为了节省IO口线,就利用了人眼视觉驻留的原理(就像电影胶片每秒24帧,连续起来播放你觉得没有任何间断),每一位数码管显示一会儿,然后关掉它,再去显示下一个数码管。只要保证在1秒内每个数码管能扫上个十几次二十几次,视觉上就好像同时点亮了所有数码管了。
你这段程序就是这种方式:
shuma=a[d1];
//送第d1位数码管的段码,d1范围是0~3共4位
LED_1=0;
//打开d1位数码管显示允许,数码管被点亮
delay_ms(1);
//保持显示1ms
LED_1=1;
//关闭d1位数码管显示,准备显示下一位
相似回答