#include<reg51.h>
unsigned char s[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
unsigned char count=0,num=0;
void inittimer()
{
TMOD=0x01;//0000 0001
TH0=(65536-50000)/256; //定时50ms=50000us 256=2^8 初值向右边移动8位
TL0=(65536-50000)%256;
ET0=1;//开启定时器0的中断
EA=1;//开启总中断
TR0=1;//启动定时器0
}
void display()
{
P2=s[num];
if(num==10)
{
num=0;
}
}
void main()
{
inittimer();
while(1)
{
display();
}
}
void timer_isr() interrupt 1 //0表示外部中断0;1表示定时器中断0;2表示外部中断1;3表示定时器中断1;4表示串口中断
{
TH0=(65536-50000)/256; //定时50ms=50000us 256=2^8 初值向右边移动8位
TL0=(65536-50000)%256;
count++;
if(count==20)//定时1S
{
num++;
count=0;
}
}