1\ 启动定时器,需要先做初始化,例如(PIC16F887):
void Timer_Init0(void)
{
OPTION = 0x03;//这是专门操作Timer0的寄存器,P32, 选1:16分频系数,P77也描述了这个寄存器,重复啦
INTCON = 0xe0;//p33,允许RB口的电平变化产生中断!主要是RB6的按键问题!
T0IE = 0; //1 = 允许 Timer0中断
TMR0 = 256-125;//125
T0IF = 0; //0=TMR0寄存器未发生溢出,即清除time0的溢出标志位
OSCCON = 0X7c;//p64 //目的是为了把内部的震荡频率校准为8MHz 7E
OSCTUNE = 0x00;//P68 //这样"秒表"才准! 201301125
}
2、中断服务函数的语法,lz的写法完全不对!
void interrupt tmr0_tmr1(void)
{
} |