#include <reg52.h>
#include <delay.h>
#define uchar unsigned char
#define uint unsigned int
sbit led =P1^0; //LED pin
uchar num=0,second=0,minute=0,hour=0;
void delay(unsigned int t)
{
unsigned int i,j;
for(i=t;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
TMOD =0x01; //设置定时器0为工作方式1
TH0=(65536-45872)/256; //装初值
TL0=(65536-45872)%256;
EA=1; //开总中断
ET0=1; //开定时器0中断
TR0 =1; //启动定时器0
while(1)
{
// led=0;
}
}
void LED() interrupt 1
{
TH0=(65536-45872)/256; //重装初值
TL0=(65536-45872)%256;
num++;
if(num == 20)
{
num=0; //1s 时间
second++;
if(second==60) //1分钟
{
second=0;
minute++;
if(minute==60) //1小时
{
minute=0;
hour++;
if(hour==2) //2小时
led=~led;
}
}
}
}
追问能解读一下吗?你这个程序有一部分感觉读不懂!
追答由于字数限制,只好添加文档了,注释在文档里面。
这下应该能读懂了吧?
本回答被提问者和网友采纳