PIC单片及定时器溢出中断的设计思路及程序设计

时间:2008-11-25

  1.设计思路

  PIC16F87系列单片机的定时/计数器0是一个8位的简单增量溢出计数器。时钟源可以是内部系统时钟(Fosc/4),也可以是外部时钟。为了扩大定时或计数范围,在定时/计数器0中设计了一个可编程预分频器。当TMR0内部计数器计数从FFH跳到OOH时,发生计数溢出,置位TOIF(INTCON的D2),向CPU申请中断。

  RB0/INT引脚上的外部中断由边沿触发,既可以是上升沿,也可以是下降沿,当寄存器OPTION_REG的INTEDG位为1时,选择上升沿触发;为0时选择下降沿触发。一旦检测到引脚上出现有效边沿,就将INTF位INTCON的D1置1。

  本例中同时允许定时器0中断和外部INT中断。在程序执行过程中,不定时地在RB0/INT引脚上加入脉冲,产生中断请求。中断服务程序查询TGIF和INTF标志以决定响应哪一个中断,中断响应优先级由中断查询次序决定。

  2.程序设计

  主程序流程如图1所示,中断子程序流程如图2所示。

  图1 主程序流程

  图2 中断子程序流程

  (1)包含必要的头文件及定义全局变量。

  (2)中断服务子程序,通过判断定时器0的中断对端口C进行操作,使其输出方波。

  (3)主函数,初始化定时器0及端口A,然后进入中断等待状态。

  欢迎转载,信息来源维库电子市场网(www.dzsc.com


  
上一篇:PIC单片机看门狗模块的设计思路及程序设计
下一篇:PIC单片机的端口RB中断的设计思路及电路设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料