首页 理论教育项目工作原理分析-实战教程

项目工作原理分析-实战教程

【摘要】:本项目主要针对INT0对单片机外部中断处理方式做详细说明,考虑INT0和INT1外部中断的使用方法原理相同,若读者采用INT1中断处理方式,可参考INT0中断处理方式。关于IE中断允许寄存器的使用详见第3章3.3节表3-7。经过上述4步运行,完成中断初始化操作。单片机不断对INT0进行监测,一旦监测到中断源发生,执行中断初始化操作,打开中断执行中断服务任务。

单片机有两个外部中断源分别为单片机12引脚INT0和13引脚INT1,一般引脚外接按键,通过对按键操作产生外部中断输入信号,使得单片机响应中断执行中断服务程序,中断程序执行完成后,在返回到主程序之前发生中断的地方继续执行后面的语句。本项目主要针对INT0对单片机外部中断处理方式做详细说明,考虑INT0和INT1外部中断的使用方法原理相同,若读者采用INT1中断处理方式,可参考INT0中断处理方式。项目中若单片机检测到有外部中断INT0发生,依据第3章图3-12中断响应过程如下:

①INT0中断源请求中断,则需要对TCON中的IT0和IE0进行设置,其中IT0位=0为电平触发,IT0=1为边沿触发。关于TCON特殊功能寄存器的使用详见第3章3.3节表3-5。

②对①中请求的中断进行允许操作,则需要对中断允许寄存器IE中的EX0进行设置,其中EX0=1允许外部中断0,EX0=0禁止外部中断0。

③在②基础上开启总中断开关EA,其中EA是IE的中断总允许控制位,EA=1开放总中断,EA=0禁止总中断。关于IE中断允许寄存器的使用详见第3章3.3节表3-7。

978-7-111-47690-0-Part02-25.jpg(www.chuimin.cn)

图8-1 外部中断0控制电路结构框图

④经过①②③过程的操作,已经可以使用INT0外部中断处理方式,若系统只有一个中断处理,则忽略第④步只需要执行①②③过程即可,若系统有多个中断处理,则需要设定中断优先级,需要对中断优先级寄存器IP中的各位进行设置,PX0=1外中断0为高优先级,PX0=0外中断0为低优先级。关于IP中断优先级寄存器的使用详见第3章3.3节表3-8。低中断优先级被高中断优先级中断,但是高中断优先级无法被低中断优先级中断;同级中断不能互相中断,CPU按照硬件次序决定优先权。同级优先权级别如图3-11所示。

经过上述4步运行,完成中断初始化操作。单片机不断对INT0(即P3.2引脚)进行监测,一旦监测到中断源发生,执行中断初始化操作,打开中断执行中断服务任务。本项目中断服务任务每次中断发生,驱动8个LED闪烁10次。外部中断控制电路结构框图如图8-1所示,由单片机最小系统(包括晶振电路和复位电路)、电源电路、外部中断0发生电路(由按键电路触发)和LED显示电路构成。