首页 理论教育 AT89C52单片机中断系统及相关知识

AT89C52单片机中断系统及相关知识

时间:2023-06-30 理论教育 版权反馈
【摘要】:为完成本章相关实验,读者应具备以下相关知识。图2.4.1中断流程2.中断源AT89C52单片机共有6路中断源和两个中断优先级。中断处于同一级别时,就由自然优先级确定。表2.4.1中断源优先级顺序3.中断系统结构AT89C52单片机中断系统结构如图2.4.2所示,这张结构图简单明了地解释了中断源、中断标志、中断允许、中断优先级等重要模块以及中断申请和响应过程。表2.4.2定时器控制寄存器TCON注意:TCON寄存器是一个可以按位寻址的特殊功能寄存器。

AT89C52单片机中断系统及相关知识

为完成本章相关实验,读者应具备以下相关知识。

1.中断的概念

CPU在正常运行的时候,外部或者内部发生了请求CPU迅速去处理的事件,CPU暂时中断当前的程序,去处理所发生的事件,处理完事件后,再返回到原来被中断的程序继续运行,此过程称为中断。中断流程如图2.4.1。

图2.4.1 中断流程

2.中断源

AT89C52单片机共有6路中断源和两个中断优先级。中断优先级采用了自然优先级和人工设置高、低优先级的策略。中断处于同一级别时,就由自然优先级确定。不做特别设置时,每个中断都处于低优先级。中断优先级可以通过程序来设定,由中断优先级寄存器IP来统一管理,如表2.4.1所示。

表2.4.1 中断源优先级顺序

3.中断系统结构

AT89C52单片机中断系统结构如图2.4.2所示,这张结构图简单明了地解释了中断源、中断标志、中断允许、中断优先级等重要模块以及中断申请和响应过程。

图2.4.2 AT89C52单片机中断系统结构

4.与中断相关的寄存器

与中断相关的寄存器包括定时器控制寄存器TCON、中断允许寄存器IE、中断优先级寄存器IP,其内部结构分别如表2.4.2、表2.4.3、表2.4.4所示。

表2.4.2 定时器控制寄存器TCON

注意:TCON寄存器是一个可以按位寻址的特殊功能寄存器。低四位负责外部中断的管理。其中IT1、IT0负责外部中断的触发方式控制。对外部中断,有两种触发方式,分别为低电平触发和下降沿触发,如设置IT1=0,为低电平触发,IT1=1,为下降沿触发。

表2.4.3 中断允许寄存器IE(www.xing528.com)

注意:IE寄存器是一个可以按位寻址的特殊功能寄存器。

表2.4.4 中断优先级寄存器IP

注意:IP寄存器是一个可以按位寻址的特殊功能寄存器。

5.中断服务函数的格式

中断服务函数的格式为:

注意:中断服务函数不能返回任何值,所以前面是void后面是函数名,名字可以自己取,但不能与c语言的关键字相同;中断服务函数不带任何参数,所以函数名后面的()内是空的,中断入口号是指单片机的几个中断源的序号(见表2.4.1)。这个序号是单片机识别不同中断的唯一标志,如中断入口号为2,表示外部中断1的中断服务函数。后面的using工作组是指这个中断源使用单片机内存中4个工作寄存器的哪一组,C51编译后会自动分配工作组,因此最后这句话我们通常省略不写。

C51中断服务程序具体写法如下:

这是定时器T1的中断服务程序,定时器T1的中断服务程序入口号是3,因此要写成interrupt 3,服务程序的内容是给定时器TI的高8位TH1、低8位TL1重装初值。

写中断服务程序前,首先要对中断源如定时器T0、T1进行初始化。初始化步骤为:

(1)TMOD赋值,确定使用T0或者T1及它们的工作方式

(2)根据实际定时时间(计数次数),计算定时器初值,装入TH0、TL0或者TH1、TL1中;

(3)设置定时器/计数器T0、T1的启停方式控制位TR0和TR1,开始定时/计数;

(4)设置IE寄存器,开放相应中断。

注意:以上4个初始化步骤顺序可以适当调整。

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

我要反馈