#include "reg52.h"
sfr AUXR =0X8E;
void UARTNI(unsigned char a);
unsigned char num=0,miao=0,fen=0,shi=0;
unsigned char dat;
void Timer0Init(void) //1000us@11.0592MHz
{
TMOD &= 0xF0;
TMOD |= 0x01;
TL0 = 0x00;
TH0 = 0x4c;
TF0 = 0;
TR0 = 1;
ET0=1;
EA=1;
}
void cls_buzz(void) //关闭蜂鸣器
{
P2 = (P2&0x1F|0xA0);
P0 = 0x00;
P2 &= 0x1F;
}
void Init_Uart()
{
TMOD = 0x20;
TH1 = 0xFD;
TL1 = 0xFD;
TR1 = 1;
SCON = 0X50;
AUXR = 0X00;
}
void Delay(unsigned int xms)
{
unsigned char i,j;
while(xms--)
{
i = 12;
j = 169;
do
{
while (--j);
} while (--i);
}
}
void UARTNIT(unsigned char dat)
{
SBUF = dat; //发送数据
while(TI==0);
TI=0;
}
void main()
{
Timer0Init();
EA=0;
Init_Uart();
EA=1;
while(1)
{
UARTNIT(48+shi/10);
UARTNIT(48+shi%10);
UARTNIT(58);
UARTNIT(48+fen/10);
UARTNIT(48+fen%10);
UARTNIT(58);
UARTNIT(48+miao/10);
UARTNIT(48+miao%10);
UARTNIT(10);
UARTNIT(32);
UARTNIT(32);
Delay(100);
Delay(100);
Delay(100);
Delay(100);
}
}
void TIME_0() interrupt 1
{
TR0=0;
TL0 = 0x00;
TH0 = 0x4c;
num++;
if(num>=20){
num=0;
miao++;
if(miao==60){miao=0;fen++;
if(fen==60){fen=0;shi++;
if(shi==60){shi=0;}
}
}
}
TR0=1;
}
//不喜勿喷。大家有更好的意见可以一起互相学习。