#include<reg51.h>
sbit out = P1^0;
void Init(void)
{
TMOD = 0x01; //十六位定时器
TH0 = 60000/256; //定时器计数器赋值,12MHz晶振5.5ms一次中断
TL0 = 60000%256;
ET0 = 1; //开定时器0中断允许
PT0 = 0; //中断优先级为0
return;
}
void main(void)
{
Init(); //系统初始化函数
TR0 = 1; //开始计数
EA = 1; //开中断允许
while(1) //休眠模式
{
PCON = 0x01;
}
}
void Timer0(void) interrupt 1
{
TL0 = TL0|(60000%256);
TH0 = 60000/256; //定时器计数器赋值,12MHz晶振50ms一次中断
out = ~out;
return;
}
说明:改变定时初值就可以改变时钟脉冲的频率.
参考资料:3+1