微控制器比较器中断配置与应用解析

需积分: 3 71 下载量 4 浏览量 更新于2024-08-08 收藏 8.12MB PDF 举报
"比较器中断-雅可比矩阵和黑塞矩阵性质与应用" 这篇资源主要讨论的是微控制器中比较器中断的配置和工作原理,特别提到了在PIC18F45K80系列单片机上的实现。比较器中断是在比较器输出电平发生变化时触发的一种中断机制,为系统提供了实时响应外部信号变化的能力。 首先,当比较器输出从低电平跳变为高电平或从高电平跳变为低电平时,中断标志会被设置。这个过程可以通过CMxCON寄存器中的EVPOL<1:0>位来控制,这些位决定了中断的触发条件。EVPOL<1:0>的设置会影响中断是否发生以及何时发生。例如,当EVPOL<1:0>设置为01或10时,只有特定的电平跳变才会引起中断。 此外,CMxCON寄存器中的CPOL位允许对比较器输出进行反相,这相当于在功能上交换了比较器的反相和同相输入。这增加了系统的灵活性,使得可以根据需求调整中断触发的逻辑。 中断标志CMPxIF<2:0>(PIR4<5:4>)会在中断发生时被置1,但是需要通过软件将其清零以清除中断状态。如果EVPOL<1:0>设置为11,任何比较器输出的变化都会使中断标志位被置1。这时,需要保存CMSTAT<7:6>寄存器中的输出状态信息,以便确定实际发生的改变。 要启用比较器中断,必须设置CMPxIE(PIE4<5:4>)、PEIE(INTCON<6>)和GIE(INTCON<7>)位。这三个位分别控制比较器中断允许、外中断全局允许和全局中断允许,全部置1才能允许中断的发生。 中断处理的简化框图如图24-3所示,表格24-2列出了不同EVPOL和CPOL设置下的中断产生情况。值得注意的是,当EVPOL<1:0>为00时,CMPxIF不会被置1,这意味着在这种情况下,比较器输出的变化不会触发中断。 这个资源详细解释了如何在PIC18F45K80微控制器上配置和利用比较器中断,以及中断标志的管理,强调了中断条件和中断允许位的设置,这对于理解和设计基于这种微控制器的系统非常有帮助。