首页 理论教育 嵌入式系统实践:外部引脚中断的应用

嵌入式系统实践:外部引脚中断的应用

时间:2023-11-19 理论教育 版权反馈
【摘要】:外部引脚中断IRQ是HCS08单片机唯一仅作中断使用的外部引脚,在HCS08单片机内部该引脚具有上拉电阻,并由外部中断引脚状态和控制寄存器IRQSC管理。这些位都是被用于设置IRQ功能,报告状态和确认IRQ事件。

嵌入式系统实践:外部引脚中断的应用

外部引脚中断IRQ是HCS08单片机唯一仅作中断使用的外部引脚,在HCS08单片机内部该引脚具有上拉电阻,并由外部中断引脚状态和控制寄存器IRQSC(Interrupt Pin Request Status and Control Register)管理。当IRQ中断使能后,IRQ可以用于唤醒STOP模式下的MCU。

外部引脚中断IRQ具有边沿触发模式和边沿/电平触发模式两种,由IRQ引脚的状态和控制寄存器(IRQSC)的IRQMOD控制位负责设置外部中断输入信号是边沿有效还是电平有效,中断请求状态和控制寄存器(IRQSC)表6-2。在边沿/电平有效模式下,当检测到有效的边沿信号且中断使能时,IRQ模块就会产生一个IRQ中断,同时将IRQF标志就会置位;如果该引脚一直处于有效的触发电平状态,那么该中断标志会连续置位。

1.中断请求状态和控制寄存器(IRQSC)

该寄存器是直接页寄存器包括1个总是读为0的无效位,5个可读写位,一个只读状态位和一个只写位。这些位都是被用于设置IRQ功能,报告状态和确认IRQ事件。

表6-2 中断请求状态和控制寄存器(IRQSC)

978-7-111-50417-7-Chapter06-11.jpg

●IRQPDD:中断请求上下拉设备禁止位。当RQ引脚被使能允许使用外部设备,这个可读写控制位用来禁止内部上拉或下拉设备。

0:如果IRQPE=1,IRQ上下拉设备允许。

1:如果IRQPE=1,IRQ上下拉设备禁止。

●IRQEDG:中断请求(IRQ)边沿选择位。该控制位用来选择导致IRQF被置位的IRQ引脚的边沿极性或者电平。IRQMOD控制位决定IRQ引脚是边沿/电平触发还是仅仅为边沿触发。当IRQ引脚作为IRQ输入引脚使能,并且设置为侦测引脚上升沿时,引脚选择下拉电阻。当IRQ引脚作为IRQ输入引脚使能,并且设置为侦测引脚下降沿时,引脚选择上拉电阻。

0:下降沿或者下降沿/低电压触发。

1:上升沿或者上升沿/高电压触发。

●IRQPE:IRQ引脚使能位。这个可读写控制位使能IRQ引脚功能。当这位被置位,IRQ引脚能被用做一个中断请求。

0:IRQ引脚功能不可用。

1:IRQ引脚功能可用。

●IRQF:RQ标志位。当一个中断请求事件发生时该只读位被置位,注意当外部中断服务结束后该位应清零。(www.xing528.com)

0:没有IRQ请求。

1:侦测到IRQ事件。

●IRQACK:IRQ确认位。这个只写位被用于确认中断请求事件。写“1”可以清零IRQF标记位;写“0”表示没有意义或无影响。如果选择边沿/电平侦测(IRQMOD=1),当IRQ引脚还保持它的电平时IRQF不能被清零。

●IRQIE:IRQ中断使能位。这个可读写控制位决定IRQ事件是否产生中断请求。

0:IRQF置位不产生中断请求(使用软件查询)。

1:IRQF=1时产生中断请求。

●IRQMOD:IRQ监控模式位。该控制位选择是边沿/电平触发或仅是边沿触发。

0:仅在下降沿或者上升沿时IRQ事件触发。

1:在下降沿和低电压,或者上升沿和高电压时IRQ事件触发。

2.外部中断引脚配置

为了将引脚中断请求输入到CPU,寄存器IRQSC的IRQ引脚使能控制位IRQPE必须设为“1”。一旦引脚作为IRQ输入,用户就可以通过IRGEDG位选定边沿或电平触发的极性,并通过IRQMOD设定触发模式是用边沿检测还是边沿和电平检测,通过软件轮询IRQF标志位来判断是否有中断请求。

当IRQ引脚使能,默认使用内部的上拉/下拉设备(IRQPDD=0)时,引脚是上拉还是下拉由选择的极性决定。如果用户需要使用外部上拉或下拉,则应向IRQPDD写“1”关闭内部设备。

3.边沿和电平触发

在外部中断的触发方式中,IRQEDG控制位决定触发中断请求事件的边沿和电平的极性,而IRQMOD负责检测时间和引脚电平。在边沿和电平检测模式下,当检测到一个边沿时(当IRQ引脚从非指定的变成指定电平)IRQF状态标志位被置1,IRQF位只能通过复位或者向IRQACK位写l来清零,但只要IRQ引脚保持在指定电平,这个标志位持续置位而不能被软件清零。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈