#include "reg52.h"
sbit led = P3^6;
int cnt =0;
void Delay300ms() //@11.0592MHz
{
unsigned char i, j, k;
i = 13;
j = 156;
k = 83;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void Time0Init()
{
// 配置定时器0 工作模式
TMOD = 0x01;
//给初值,定一个10ms出来´
TL0 = 0x00;
TH0 = 0xDC;
//开始计时
TR0 = 1;
TF0 =0;
// 打开定时器0 中断
ET0 = 1;
//´打开总中断EA
EA = 1;
}
void main()
{
led = 1;
Time0Init(); 配置定时器,开始数数,当爆表的时候,进入中断
while(1){
led1 = 0;
Delay300ms();
led1 = 1;
Delay300ms();
//
}
}
void Time0ZD() interrupt 1
{
cnt++;
TL0 = 0x00;
TH0= 0xDC; //重新开始计时
if(cnt == 100)
{
cnt = 0;
led = !led;
}
}