#include "reg52.h"
typedef unsigned int u16; //对系统默认数据类型进行重定义
typedef unsigned char u8;
sbit LED1=P2^0;
void delay_10us(u16 ten_us)
{
while(ten_us--);
}
void time0_init(void)
{
TMOD=0X00;//选择为定时器0模式,工作方式0 13位计数器
// TH0=0XE3; //给定时器赋初值,定时0.5ms
// TL0=0X30;
TH0=0XE0; //给定时器赋初值,定时1ms
TL0=0X18;
ET0=1;//开定时器0中断允许
EA=1;//开总中断
TR0=1;//打开定时器
}
void main()
{
time0_init();//定时器0中断配置
while(1)
{
}
}
void time0() interrupt 1 //定时器0中断函数
{
static u16 i;//定义静态变量i
// TH0=0XE3; //给定时器赋初值,定时1ms
// TL0=0X30;
//8192-1000=7192 7192转化为二进制是1110 0000 1100 0
//其中高八位1110 0000转化为16进制是E0f赋给TH0
//其中低5位1100 0转化为十六进制是18赋给TL0
TH0=0XE0; //给定时器赋初值,定时1ms
TL0=0X18;
i++;
if(i==500)//0.5s到
{
i=0;
P2--;
}
}