守时器/计数器的运用能够分红两大过程与代码
1、初始化守时器
2、编写中止子程序(也叫中止函数浅显点便是调用一个函数)
初始化守时器
1)设置守时器/计数器的形式(在前面有)
2) 敞开守时器中止(守时器/计数器 0或许1或许其他)
3) 启用守时器/计数器(守时器/计数器 0或许1或许其他)
4)翻开总中止
5)给守时器赋值
注:以上过程能够打乱可是不能够少。(假如有的条件在其他函数里边初始化了这儿能够省掉)
编写中止子程序
void tim0_isr (void) interrupt 1
1)void tim0_isr(void) (这个便是中止后需求履行的函数)
2) interrupt 1 (中止号前面有具体的中止号阐明)
代 码
#include
sbit LED=P0^7;//界说点亮的LED管脚
unsigned int i=0;
void tim0_isr (void) interrupt 1 //这个是中止履行的函数
{
i++; //每中止一次i+1
}
void csh_dsq_0()//初始化守时器/计数器0
{
TMOD = 0x02;//运用形式3(主动重装形式)
TH0=0x00;//守时器0的重装数据(这儿是给守时赋值)
TL0=0x00;//初始化(这儿是给守时赋值)
ET0=1;//敞开守时器0中止
TR0=1;//启用守时0
EA =1;//翻开总中止
}void main()
{
LED = 0;
csh_dsq_0(); //调用中止初始化
while(1)
{
if(i==5000)//中止5000次LED亮或灭一次
{
LED=~LED;//LED亮或灭
i=0;//清零i使中止计数重新开端
}
}
}