数码管显示的动态扫描原理 动2113态显示驱动5261:数码管动态显示4102接口是单片机中应用1653最为广泛的一种显示内方式之容一,动态驱动是将所有数码管的8个显示笔划\"a,b,c,d,e,f,g,dp\"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
如何利用单片机让4位数码管显示? 让89处1单片机驱动四位数码管,显示 1234.求电路图及程序!急!给好了追加分哦。谢谢!用c最好 汇编也行 两个都有更好 哈哈。用89c51 打错字了呵呵 程序如下(用的是STC89C。
下面是单片机数码管原理图,用汇编语言根据下面的原理图写一个动态显示数码管的程序 unsigned char code SEG7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsigned char DISP_BUFF[]={0,0,0,0,0,0,0,0}void DelayMS(unsigned int x){unsigned char i;while(x-)for(i=200;i>;0;i-);}void display(unsigned char x){unsigned char i,w=128;for(i=0;i;i+){/显示八位数码P0=SEG7[DISP_BUFF[i]];P2=w;DelayMS(1);P2=0;w=_cror_(w,1);}}