#include<reg52.h> //52单片机头文件
#define uint unsigned int //宏定义
#define uchar unsigned char //宏定义
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e} ;
uchar count;
uchar tt=0;
void main() //主函数
{
TMOD=0x01;//设置定时器0为工作方式1
TH0=(65536-1000)/256; //高四位赋初值
TL0=(65536-1000)%256; //低四位赋初值
ET0=1;//开定时器0中断
EA=1;//开总中断
TR0=1;//启动定时器0
count = 0;
while(1);//等待中断产生
}
void timer0() interrupt 1
{
TH0=(65536-1000)/256; //高四位赋初值
TL0=(65536-1000)%256; //低四位赋初值
P2 = 0xff;
P0= ~table[count] ; //数码管输出
P2= 0x7f;
tt++;
if(tt==1000) //到一秒输出数加一
{
tt=0;
count++;
if (count == 10) // 就显示一位
count = 0;
}
}