对于c51外部中断和程序调用的理解
徐晓峰
首先介绍一下C51外部中断的基本概念
-
中断的优点:
1、实时处理。需要CPU立即做出相应或处理。
2、异常处理。运行过程中,出现断电、程序出错等问题,就需要CPU对故障源进行处理。
3、提高效率。采用中断技术可以大大提高CPU的运行效率。 -
中断源:C51单片机有5个中断源(2个外部中断、2个定时器中断和一个串口中断)。对中断的配置操作,主要通过控制三个寄存器就可以(中断允许寄存器IE)、定时器控制寄存器(TCON)和中断优先级寄存器(IP)。即通过控制EA EX IT 的直接赋值,即可调用中断服务程序
注:中断服务程序与while(1)中的程序调用是不一样的 -
中断服务函数:在CPU接收到中断后,会执行相应中断的中断服务函数。而C51的中断服务函数需要在函数名括号后面加上interrupt 和标志号,即interrupt 0、interrupt 1。
//外部中断0程序:
EA=1;//打开总中断开关
EX0=1;//开外部中断0
IT0=0/1;//设置外部中断的触发方式```
//外部中断1程序:
EA=1;//打开总中断开关
EX1=1;//开外部中断0
IT1=0/1;//设置外部中断的触发方式
//外部中断0服务函数:
void EX0_ISR(void) interrupt 0
{
}
//外部中断1服务函数:
void EX1_ISR(void) interrupt 2 //外部中断1的中断在此为2!!!!
{
}
其次来说一下"真假"中断
外部中断的调用主要分为两种,
- 一种是调用外部中断来作为定时器,较为精确的计时;
- 另一种是将函数写在中断服务函数

本文详细讲解了C51单片机外部中断的工作原理,包括中断优点、中断源配置、真假中断的区别,以及外部中断0和1的程序实例。重点讨论了通过定时器实现精确计时与直接在中断服务函数中调用的两种方法,以及它们在程序执行上的差异。

9651

被折叠的 条评论
为什么被折叠?



