程序说明:51单片机定时器0工作于方式一,定时50ms中断一次
晶振为12M
#include
void main
{
TOMD = 0X01; //配置定时器0工作于方式一
TH1 = (65536-50000)/256; //高八位装入初值
TL1 = (65536-50000)%256; //低八位装入初值
ET0 = 1; //开定时器0中断
EA = 1; //开总中断
TR0 = 1; //启动定时器0
while(1)
{
;
}
}
void Timer0_int() interrupt 1
{ //重新装初值
TH1 = (65536-50000)/256; //高八位装入初值
TL1 = (65536-50000)%256; //低八位装入初值
}
/***************************************************************************************************************/
上面是比较好理解的。如果实在要求简洁的话,看下面的,跟上面功能一样
#include
void main
{
TOMD = 0X01; //配置定时器0工作于方式一
TH1 = 0x3c; //高八位装入初值
TL1 = 0xb0; //低八位装入初值
IE = 0x82;//开总中断并开定时器0中断
TR0 = 1; //启动定时器0
while(1)
{
;
}
}
void Timer0_int() interrupt 1
{ //重新装初值
TH1 = 0x3c; //高八位装入初值
TL1 = 0xb0; //低八位装入初值}