中断系统——80C51单片机学习笔记
- 中断的概念
-
- 中断系统的结构
- 中断请求标志
-
- 1、TCON的中断标志
- 2、SCON的中断标志位
- 80C51中断的控制
-
- 中断允许控制——IE
- 中断优先级控制——IP
- 中断优先级的原则
- 80C51的定时/计数器
-
- 一、定时/计数器的结构
- 二、定时/计数器的工作原理
- 三、定时/计数器的控制
-
- 1、工作方式寄存器TMOD
- 2、控制寄存器TCON
- 四、定时/计数器的工作方式
-
- 1、方式O
- 2、方式1
- 3、方式2
- 4、方式3
- 五、定时/计数器应用举例
- 补充说明
-
- 中断响应的条件为:
- 中断服务函数要与中断一一照应
本篇略长,请以目录为导航;这是我观看郭天祥老师的单片机视频后的整体汇结;
中断的概念
CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);
CPU暂停中断当前的工作,转去处理事件B(中断响应和中断服务);
待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回);
这一过程称为—— 中断。
中断系统的结构
80C51的中断系统有5个中断源(8052有6个),2个优先级,可实现二级中断嵌套。
IT0(TCON.0),外部中断0触发方式控制位。
当IT0=0时,为电平触发方式。
当IT0=1时,为边沿触发方式(下降沿有效)。
IE0(TCON.1),外部中断0中断请求标志位。
IT1(TCON.2),外部中断1触发方式控制位。
IE1(TCON.3),外部中断1中断请求标志位。
TF0(TCON.5),定时器/计数器T0溢出中断请求标志位
TF1(TCON.7),定时器/计数器T1溢出中断请求标志位
2、SCON的中断标志位
EXO(IE.0),外部中断0允许位;
ETO(IE.1),定时/计数器TO中断允许位;
EX1(IE.2),外部中断0允许位;
ET1(IE.3),定时/计数器T1中断允许位;
ES(IE.4),串行口中断允许位;
EA(IE.7),CPU中断允许(总允许)位。
中断优先级控制——IP
80C51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的。
PXO (IPH.0),外部中断0优先级设定位;
PTO (IPH.1),定时/计数器TO优先级设定位;
PX1 (IPH.2),外部中断0优先级设定位;
PT1 (IPH.3),定时/计数器T1优先级设定位;
PS (IPH.4),串行口优先级设定位;
PT2 (IPH.5),定时/计数器T2优先级设定位。
中断优先级的原则
同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,排列如下:
定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制TO、T1的启动和停止及设置溢出标志。
二、定时/计数器的工作原理
加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是TO或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TFO或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。
■设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。
■设置为计数器模式时,外部事件计数脉冲由TO或T1引脚输入到计数器。在每个机器周期的S5P2期间采样TO、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2us。
三、定时/计数器的控制
80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。
1、工作方式寄存器TMOD
工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于TO,高四位用于T1。其格式如下:
2、控制寄存器TCON
TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:
定时器模式时有:N = t / Tcy
计数初值计算的公式为 : X=213 – N
定时器的初值还可以采用计数个数直接取补法获得。
计数模式时,计数脉冲是TO引脚上的外部脉冲。
门控位GATE具有特殊的作用。当GATE=O时,经反相后使或门输出为1,此时仅由TRO控制与门的开启,与门输出1时,控制开关接通,计数开始;当GATE=1时,由外中断引脚信号控制或门的输出,此时控制与门的开启由外中断引脚信号和TRO共同控制。当TRO=1时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚的低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽度。
2、方式1
方式1的计数位数是16位,由TLO作为低8位、THO作为高8位,组成了16位加1计数器。
计数个数与计数初值的关系为: X=28 – N
工作方式2特别适合于用作较精确的脉冲信号发生器。
4、方式3
方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数。
补充说明
中断响应的条件为:
1. 中断源有中断请求;
2. 此中断源的中断允许位为1;
3. CPU开中断(EA=1);
以上三条必须同时满足时,CPU才有可能响应中断。
中断服务函数要与中断一一照应
外部中断0 —— interrupt 0
外部中断1 —— interrupt 2
定时/计数器0 —— interrupt 1
定时/计数器1 —— interrupt 3
串口中断 —— interrupt 4
来源:Mr.小白白
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!