#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[] = {0x01, 0x02, 0x04, 0x08};
uchar code ledCode[]= {0xc0,0xf9,0xa4,
0xb0,0x99,0x92,0x82,0xf8,0x80,
0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
int t0 = 0;
uchar count = 0;
sbit LED = P0^0;
void delay(int z)
{
int i, j;
for (i=0; i<z; i++)
for (j=0; j<110; j++);
}
int main(void)
{
int i = 0;
LED = 0;
TMOD = 0x01;
TH0 = (65536 - 30)/256;;
TL0 = (65536 - 30)%256;;
EA = 1;
ET0 = 1;
TR0 = 1;
P2 = 0xff; //数码管位控制端
P1 = ledCode[t0]; //数码管段控制
while(1)
{
if (t0 == 20)
{
t0 = 0;
P1 = ledCode[count++];
if (count == 10)
count = 0;
}
}
return 0;
}
void timer0() interrupt 1
{
TH0 = (65536 - 30)/256;
TL0 = (65536 - 30)%256;
delay(1000);
LED = ~LED;
t0++;
}
如果在定时函数中没有延时函数的话,那么程序应该是LED灯5