LPC2114是一款基于ARM7TDMI-S内核的微控制器,它提供了一套丰富的外设功能,其中就包括四个外部中断源——EINT0、EINT1、EINT2和EINT3。这些中断功能使得LPC2114能够对外部事件作出快速响应,比如按钮按下、传感器检测等,对于实时系统的应用非常关键。
外部中断的工作原理是这样的:当一个外部中断引脚被配置为中断功能,并且设置了相应的模式和极性后,如果该引脚上的信号满足设定条件(如电平变化或特定边缘),就会触发中断。中断请求首先会设置EXTINT寄存器对应的标志位,然后如果该中断已被使能,中断控制器(VIC)会接收到请求并开始执行中断服务程序。
EXTINT是外部中断标志寄存器,它的低4位([3:0])分别对应EINT3、EINT2、EINT1和EINT0。当外部中断事件发生时,EXTINT的相应位置1,表示中断状态。为了清除这个标志,需要通过软件将这些位写1。如果不及时清除,相同的中断事件将不再被识别,因为EXTINT寄存器的位需要在中断处理完成后由软件手动清零。
EXTWAKE是中断唤醒寄存器,其低4位([3:0])允许配置外部中断是否能唤醒处理器从掉电模式。如果EXTWAKE的某一位被设置为1,那么相应的EINTn中断就能在不触发中断的情况下唤醒处理器,或者在掉电模式下启用中断功能而不唤醒处理器,这样可以实现节能的系统设计。
EXTMODE是外部中断模式寄存器,它决定了EINTn引脚是采用电平触发还是边沿触发。EXTMODE寄存器的低4位([3:0])用于设置每个EINTn的模式。如果位值为0,那么中断被配置为电平激活,即中断由引脚电平的变化触发;如果位值为1,中断则被配置为边沿激活,即中断由引脚电平的上升沿或下降沿触发。
EXTPOLAR是外部中断极性寄存器,它定义了在电平激活模式下哪个电平(高电平或低电平)有效,以及在边沿激活模式下哪个边缘(上升沿或下降沿)有效。同样,EXTPOLAR的低4位([3:0])对应EINT3到EINT0。如果位值为1,表示外部中断是高电平或上升沿有效;如果位值为0,则表示低电平或下降沿有效。
总结来说,LPC2114的外部中断功能通过EXTINT、EXTWAKE、EXTMODE和EXTPOLAR这四个寄存器的精细配置,可以灵活地适应各种外部事件的检测需求。通过电平触发或边沿触发,以及设置唤醒功能,开发者可以创建出对环境变化敏感、能有效管理电源的嵌入式系统。在实际应用中,正确理解和配置这些寄存器是确保LPC2114外部中断功能正常工作并发挥最大效能的关键。