编写实验学习数码管动态显示,让8只数码管从左往右显示1,2,3,4,,,8
程序:
#include <reg51.h>
unsigned char led[]={0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80};//0-9的字型码
unsigned char segment[]= {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//存储2个数码管的位选码
unsigned char k=0;
int main(void)
{
TMOD=0x00;
TL0=(8192-2000)%32;
TH0=(8192-2000)/32;
TR0=1;
EA=1;
ET0=1;
while(1);
}
void T0_timer(void)interrupt 1
{
P0=led[k];
P2=segment[k];
k++;
if(k==8)
k=0;
TL0=(8192-2000)%32;
TH0=(8192-2000)/32;
}