- #include <AT89X52.H>
- #define uint unsigned int
- #define uchar unsigned char
- uchar code table[]={ //0~f段码
- 0x3f,0x06,0x5b,0x4f,
- 0x66,0x6d,0x7d,0x07,
- 0x7f,0x6f,0x77,0x7c,
- 0x39,0x5e,0x79,0x71};
- uchar code wei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
- /***********定时器初始化程序****************/
- void Timer0Init(void) //1毫秒@12.000MHz
- {
- TMOD |= 0x01; //设置定时器模式
- TL0 = 0x18; //设置定时初值
- TH0 = 0xFC; //设置定时初值
- TF0 = 0; //清除TF0标志
- TR0 = 1; //定时器0开始计时
- }
- void display()//显示程序
- {
- static uchar i=0; //计数变量
- P0=0x00; //消隐
- P2=wei[i];
- P0=table[i];
- i++;
- i%=8;
- }
- /***************主程序****************/
- void main()
- {
- Timer0Init(); //定时器初始化
- while(1)
- {
- if(TF0==1)
- {
- TF0=0;
- TL0 = 0x18; //设置定时初值
- TH0 = 0xFC; //设置定时初值
- display();
- }
- }
- }
复制代码
|