PIC32定时器与中断系统详解

需积分: 10 4 下载量 149 浏览量 更新于2024-09-06 收藏 133KB PDF 举报
"该文档介绍了PIC32微控制器的定时器和中断体系,特别是针对定时器1的应用示例以及单中断向量入口的概念。" 在第六章中,作者首先介绍了PIC32的定时器。PIC32微控制器拥有6个定时器,包括一个32位的核心定时器和5个16位兼容的定时器。虽然核心定时器在此未被详细讨论,但提到了将在后续关于RTOS的章节中进行讲解。文档以定时器1为例,展示了如何通过定时器控制LED闪烁,以此来解释定时器的基本使用方法。在给出的代码示例中,使用了T1定时器,设置了预装载寄存器PR1的值,以及配置了T1CON寄存器以启用内部时钟并选择256分频。通过查询T1IF标志位,实现LED的闪烁效果。 接着,文档转向了中断体系的讨论,特别是单中断向量入口方式。在PIC32中,中断处理可以有两种方式,一种是单中断向量入口,另一种是多中断向量入口。单中断向量入口意味着所有中断共享同一个中断服务程序入口地址。当某个中断发生时,处理器跳转到这个共同的入口,然后在中断服务程序内部判断是哪个中断源触发了中断。对于从PIC8BIT过渡到PIC16BIT的开发者来说,需要注意的是,从16位开始,定时器中断的工作方式类似于TMR2,即在定时器计数值与预装载寄存器匹配后触发中断,并在下一个周期自动重置计数值。 在这个实例中,作者指出在初始化时清零定时器TMRX后,在中断处理中不再需要额外清除TMRX,因为中断发生时TMRX会自动复位为0。这种行为与PIC8BIT的某些定时器行为不同,需要开发者注意。 这份文档深入浅出地介绍了PIC32的定时器1的使用和中断处理机制,对于理解PIC32的中断系统和定时器操作具有重要的指导价值,尤其是对于有8位或16位PIC微控制器经验的开发者来说,提供了转换思维的参考。