#include
#define uchar unsigned char
uchar co
void delay(unsigned int x);
uchar k=0,ks=0,km=0,kh=0; //全局变量
void showsecond();
void showminute();
void showhour();
main()
{
T2CON=0x00; //T2自动重载方式
RCAP2L=(65536-50000)%256;
RCAP2H=(65536-50000)/256; //以上2句,f=12MHZ,定时50ms,
EA=1;
ET2=1; //开T2中断
TR2=1;
while(1)
{
showsecond();
showminute();
showhour();
}
}
void T2time() interrupt 5 //T2中断程序
{
TF2=0;
k++;
if(k==20)
{
k=0;
ks++;
}
if(ks==60)
{
ks=0;
km++;
}
if(km==60)
{
km=0;
kh++;
}
if(kh==24)
{
kh=0;
}
}
void showsecond()
{
delay(100);
P2=0xfe;
P1=tab[ks%10];
delay(100);
P2=0xfd;
P1=tab[ks/10];
}
void showminute()
{
delay(100);
P2=0xfb; //P2字码输出
P1=tab[km%10]; //P1段码输出
delay(100);
P2=0xf7;
P1=tab[km/10];
}
void showhour()
{
delay(100);
P2=0xef;
P1=tab[kh%10];
delay(100);
P2=0xdf;
P1=tab[kh/10];
}
void delay(unsigned int x)
{
unsigned int i;
for(i=0;i
}
上一篇:C51 INT0中断方式键盘扫描程序
下一篇:C51可收发串口程序
推荐阅读最新更新时间:2024-03-16 15:15