单片机的外部中断是指在执行主程序过程中,当单片机外部引脚有所改变时,单片机将会暂停当前工作并转向执行与该引脚相关的中断处理程序。因而外部中断可以为单片机提供响应外部事件的能力。
外部中断信号可以通过上升沿、下降沿、电平变化等不同方式触发。中断程序可以对事件进行处理,将中断码与主程序区分开来,节约单片机计算时间,有效提高了单片机的应用范围与可靠性。
外部中断需要在单片机中有相应的中断向量表和中断服务程序。当外部中断信号触发时,会调用中断服务程序,然后再从中断返回到主程序。在单片机编程过程中,常常需要进行对外部中断请求进行保存,并在中断处理结束后,恢复这些状态。
单片机外部中断的工作步骤如下:
下面是一个基于AT89C51单片机的外部中断例程:
//定义键盘的输入口
sbit keyin_1 = P1^0;
//定义外部中断0处理函数
void ex0_isr() interrupt 0
//处理函数内容
void main()
//打开中断允许
EA =1;
//打开外部中断0开关
EX0 =1;
//设置中断触发类型为下降沿
IT0 =1;
while(1)
{
//主程序代码
}
单片机外部中断程序可应用于大多数需要对外部事件进行响应的场合。比如,当按键按下时,我们需要对这个事件进行响应,这时可以使用单片机外部中断;再比如,在电机驱动、红外传感器、雷达等控制领域也常常需要运用单片机外部中断。总之,单片机外部中断程序能有效提高单片机的应用范围与可靠性,拓展单片机的应用领域,为嵌入式系统的开发提供了有力的支持。