程序如下
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uint sec,counter;
main()
{
TMOD=0x01 //T0定时器 工作方式1
TH0=(65536-50000)/256
TL0=(65536-50000)%256
ET0=1 //T0开中断
EA=1 //CPU开中断
TR0=1 //启动T0
While(1)
{
P2=table[sec/10];
P3=table[sec%10];
}
}
void int1 interrupt 1
{
counter++
if(counter==20)
{
counter=0;
sec++;
if(sec==8) //数字达到8则溢出,重新定义
sec=0;
}
TH0=(65536-50000)/256 //重新赋初值
TL0=(65536-50000)%256
}
|