PIC单片及定时器溢出中断的设计思路及程序设计
出处:Hu.te 发布于:2008-11-25 13:49:10
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)
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 51单片机和52单片机有什么区别2025/8/8 16:52:42
- DSP与单片机到底有什么区别2025/7/28 17:02:00
- 单片机的三种总线结构2025/7/24 17:04:09
- 单片机芯片封装类型有哪些?2025/7/17 17:07:52
- C51 单片机使用避坑指南:误区与注意事项全解析2025/7/9 10:30:49