51单片机 数码管 位选 移动

2025-04-13 22:43:47
推荐回答(1个)
回答1:

 

#include     //  试试
unsigned char code LED[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
char n=0,m=0;
void main()
{
TMOD=0x01;
TH0=(65535-50000)/256;  // 12MHz  50mS
TL0=(65535-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1);
}
void time0() interrupt 1 using 1
{
TH0=(65535-50000)/256;  // 12MHz  50mS
TL0=(65535-50000)%256;
n++;
if(n>=10)
 {
 n=0;
 m++; 
 if(m==16){m=0;}
 if(m==6){m=m+3;}
 P1=LED[m];
 }
}