定时器初始化
void init_TMR0()
{
T0CS=0; //Fosc/4
TMR0=0;
GIE=1;
T0IE=1;
T0IF=0;
}
中断
void interrupt ISR()
{
if(T0IF)
{
PWM0=!PWM0;
T0IF=0;
}
}
主函数里面什么都没做,while(1) ;
在仿真的时候发现、从定时器中断开始到进入中断、之间竟消耗了17us:
(原文件名:进入中断.jpg)
(原文件名:进入中断时TMR0已经跑了17us.jpg)
在这17us的时间内、程序都去做什么了呢?
使用TMR1时、情况也一样
-----------------------------------------------------------------------
0x04是中断入口、应该没有现场保护的代码吧。
反汇编窗口里面是从0x10地址处开始的,没有0x04地址。
一周热门 更多>