中断系统与定时计数器各个位的定义

合集下载

单片机原理及应用教程(C语言版)-第5章 MCS-51单片机的中断系统

单片机原理及应用教程(C语言版)-第5章 MCS-51单片机的中断系统

5.2.5 中断允许控制
例5-1 假设允许INT0、INT1、T0、T1中断,试 设置IE的值。 (2)汇编语言程序 按字节操作: MOV IE,#8FH 按位操作: SETB EX0 ;允许外部中断0中断 SETB ET0 ;允许定时器/计数器0中断 SETB EX1 ;允许外部中断1中断 SETB ET1 ;开定时器/计数器1中断 SETB EA ;开总中断控制位
IP (B8H)
D7 —
D6 D5 D4 D3 D2 D1 D0 — PT2 PS PT1 PX1 PT0 PX0
PT2:定时器/计数器T2的中断优先级控制位 PT2设置1则T2为高优先级,PT2设置0则T2为 低优先级。 后面各位均是如此,设置1为高优先级,设置0 为低优先级,不再一一赘述。 PS:串行口的中断优先级控制位。 PT1:定时器/计数器1的中断优先级控制位。 PX1:外部中断1的中断优先级控制位。 PT0:定时器/计数器0的中断优先级控制位。 PX0:外部中断0的中断优先级控制位。
5.2.4 中断请求标志
4.定时器/计数器T2中断请求标志
T2CON D7 D6 D5 (C8H) TF2 EXF2 D4 D3 D2 D1 D0
EXF2:定时器/计数器2的外部触发中断请求标志 位。T2以自动重装或外部捕获方式定时、计数,当 T2EX(P1.1)引脚出现负跳变时,TF2由硬件置1, 向CPU请求中断,CPU响应中断后,EXF2不会被硬 件清0,需要在程序中以软件方式清0。
5.2.3 外中断触发方式
TCON格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
IT0=1,外中断0为下降沿触发 CPU在每一个机器周期的S5P2期间对P3.2引 脚采样,若上一个机器周期检测为高电平,紧挨着 的下一个机器周期为低电平,则使IE0置1。 IT1:外中断1触发方式控制位。功能同IT0

第05章 MCS-51单片机的中断与定时(1-4)

第05章 MCS-51单片机的中断与定时(1-4)

2
1
TH0
;P1.0输出“0” ;P1.0输出“1”
5.2 MCS-51单片机的中断系统
五、外中断应用举例
1. 中断初始化程序
设置外中断源的触发方式 设置中断允许寄存器IE 设置中断优先级寄存器IP
2. 中断服务程序
保护现场 中断处理 恢复现场
23/65
5.2 MCS-51单片机的中断系统
【例5-3】 设外部中断0为下降沿触发方 式,高优先级,试编写中断初始化程序
5.2 MCS-51单片机的中断系统
【例5-4】 将单脉冲接到外中断0(INT0)引脚,利 用P1.0作为输出,经反相器接发光二极管。编写程 序,每按动一次按钮,产生一个外中断信号,使发 光二极管的状态发生变化,由亮变暗,或反之
P1.0 单脉冲 发生器 INT0
1
+5V
8031
26/65
5.2 MCS-51单片机的中断系统
串口:0023H
20/65
5.2 MCS-51单片机的中断系统
四、中断请求的撤除
1.定时/计数器中断请求标志TF0/TF1会自动撤除 2.串行口中断请求标志TI/RI要用指令撤除
CLR TI ;清TI标志位 CLR RI ;清RI标志位
3.负脉冲触发的外中断请求标志IE0/IE1会自动撤除 4.低电平触发的外中断请求信号需要外加电路撤除
下次课前请预习5.3节
30/65
5.3 51单片机的定时器/计数器
MCS-51单片机内部有两个16位定时/计数器 T0和T1,简称定时器0和定时器1
在特殊功能寄存器TMOD和TCON的控制下, 它们既可以设定成定时器使用,也可以设定 成计数器使用
定时/计数器有4种工作方式,具有中断功能, 可以完成定时、计数、脉冲输出等任务

52单片机中断

52单片机中断

52单片机中断52单片机一共有6个中断源:INTO0--外部中断0,由P3.2端口线引入,低电平或下降沿引起。

INTO1--外部中断1,有P3.3端口线引入,低电平或下降沿引起。

T0--定时器/计数器0中断,由T0计数器计满回零引起。

T1--定时器/计数器1中断,由T1计数器计满回零引起。

T2--定时器/计数器2中断,由T2计数器计满回零引起。

TI/RI--串口中断,串行端口完成一帧字符发送/接收后引起。

52单片机的中断级别单片机在使用中断功能时,通常需要设置两个与中断有关的寄存器:①中断允许寄存器IE②中断优先级寄存器IP一,中断允许寄存器 IE功能:EA-- 全局中断允许位EA=1 打开全局中断控制,在此条件下,有各个中断控制位确定相应中断的打开或关闭EA=0 关闭全部中断ET2 定时器/计数器2中断允许位ET2=1 打开T2中断ET2=0 关闭T2中断ES 串行中断允许位ET1 定时器1中断允许位EX1 外部中断1允许位ET0 定时器/计数器0中断允许位EX0 外部中断允许位二,中断优先级寄存器IPPS 串行优先级控制位PS=1 串行口中断定义为高优先级中断PS=0 串行口中断定义为低优先级中断PT1 定时器/计数器1优先级控制位PX1 外部中断1中断优先级控制位PT0 定时器/计数器0优先级控制位PX0 外部中断0中断优先级控制位注意:定时器系统是单片机内部一个独立的硬件部分,它与CPU和晶振通过内部某些控制线连接并相互作用,CPU一旦设置开始启动定时功能后,定时器便在晶振的作用下自动开始计时,当定时器计数计满后,会产生中断,即通知CPU该如处理。

单片机在使用定时器/计数器功能时,通常需要设置两个与定时器有关的寄存器:①工作方式寄存器TMOD②控制计数器TCON一,工作方式寄存器TMODGATE 门控位GATE=0 定时器/计数器启动与停止仅受TCON寄存器中TRX(X=0,1)来控制GATE=1 定时器/计数器启动与停止由TCON寄存器中TRX(X=0,1)和外部中断引脚(INT0或INT1)上的电平状态来共同控制C/T 定时器模式和计数器模式选择位(1为计数器模式,0为定时器模式)M1M0 工作方式选择位每个定时器有4个工作方式,他们由M1M0设定二,定时器/计数器控制寄存器TCONIF1 定时器1溢出标志位TR1 定时器1运行控制位由软件清零关闭定时器1,当GATE=1,且INT1为高电平时,TR1置1启动定时器1;当GATE=0时,TR1置1启动定时器1IE1 外部中断1请求标志当IT0=1时为电平触发方式,每个机器周期的S5P2采样INT1引脚,若INT1脚为低电平。

单片机教程 第6章-中断系统

单片机教程 第6章-中断系统

TCON位功能:
TF0/TF1:定时器溢出中断申请标志位: =0:定时器未溢出; =1:定时器溢出申请中断,进中断后自动清零。
③ IE1 —— 外中断中断请求标志 当P3.3引脚信号有效时,IE1=1 ④ IE0 —— 外中断中断请求标志 当P3.2引脚信号有效时,IE0=1
IE0/IE1:外部中断申请标志位: =0:没有外部中断申请; =1:有外部中断申请。
=1:在INT0/INT1端申请中断的信号负跳变有效.
6.2
51单片机的中断系统
3、串行口中断设定
串行控制寄存器SCON控制字,字节地址:98H
SCON 位名称 位地址 功能 D7 D6 — — — — — — D5 — — — D4 — — — D3 — — — D2 — — — D1 TI 99H 串行发送 中断标志 D0 RI 98H 串行接收 中断标志
6.1
中断的概念
6.1.3 中断的分类 可分为三类: * 可屏蔽中断:由CPU的可屏蔽中断引脚INT引起的 中断。 * 非屏蔽中断:由CPU的非屏蔽中断引脚NMI引起的 中断(8086CPU)。 * 软件中断:由中断指令引起的中断(8086CPU)。 • 51单片机的中断可以分为:
①外部中断,由外部可屏蔽中断和外部计数器中断组成; ②内部中断,由内部定时器、串口传输中断等组成。
输入引脚。允许用户设定外部中断源以低电平或 者是负跳变方式触发。
6.2
51单片机的中断系统
②定时器溢出中断源:内部中断,51内部有两
个16位定时/计数器,它们由内部定时脉冲(主脉 冲12分频)或外部引脚T0、T1输入的外部计数脉 冲计数。当计数值溢出时,产生中断请求。这两 个16位定时/计数器的初值可由用户设定。

c单片机中断详解

c单片机中断详解
被任何中断源所中断

例62 设置IP寄存器的初始值;使2个外中断请求 为高优先级;其它中断请求为低优先级
1用位操作指令 SETB PX0 ;2个外中断为高优先级 SETB PX1 CLR PS ;串口为低优先级中断 CLR PT0 ;T0低优先级中断 CLR PT1 ;T1低优先级中断
响应中断请求的条件
四 中断返回
▪中断返回由专门的中断返回指令 RETI来实现
五 中断请求的撤消 2 外部中断请求的撤消 1跳沿方式外部中断请求的撤消是自 动撤消的 2电平方式外部中断请求的撤消
六 外部中断的响应时间 外部中断的最短的响应时间为3
个机器周期:
外部中断响应的最长的响应时间为8个机 器周期
注意:如果已在处理同级或更高级中断; 响应时间无法计算
在一个单一中断的系统里;MCS51单片机对 外部中断请求的响应的时间总是在3~8 个机器周期之间
补充:中断服务程序的设计
一 中断服务程序设计的任务 基本任务:
1设置中断允许控制寄存器IE 2设置中断优先级寄存器IP 3对外中断源;是采用电平触发还是跳沿触发 4编写中断服务程序;处理中断请求 前3条一般放在主程序的初始化程序段中
● TF0—T0溢出中断请求标志位 T0 计 数 溢 出 时 ; 由 硬 件 置 1TF0; 向 CPU 申 请 中
断;CPU响应TF0中断时;硬件自动清0TF0;TF0也可由 软件清0 ● TF1—T1的溢出中断请求标志位;功能和TF0类似 TR1 TR0 2个位与中断无关 当MCS51复位后;TCON 被清0;则CPU关中断;所有中断请求被禁止
3 关于C51中断函数的几点说明续
• C51编译器对中断函数编译时会自动在程序的 开始和结束处加上如下内容:开始处对ACC B DPH DPL和PSW入栈;结束时出栈 中断函 数未加using n修饰符时;开始处还要将R0R1 入栈;结束时出栈 如果中断函数加using n修 饰符;则在开始将PSW入栈后还要修改中PSW 的工作寄存器选择位RS0和RS1

定时计数器详解

定时计数器详解

mcs-51单片机计数器定时器详解【1】80C51单片机内部设有两个16位的可编程定时器/计数器。

可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)均可由指令来确定和改变。

在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。

:从上面定时器/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。

其访问地址依次为8AH-8DH。

每个寄存器均可单独访问。

这些寄存器是用于存放定时或计数初值的。

此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。

这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。

TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志。

当定时器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1(P3.5)输入。

定时计数器的原理:16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。

当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。

显然,定时器的定时时间与系统的振荡频率有关。

因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。

如果晶振为12MHz,则计数周期为:T=1/(12×106)Hz×1/12=1μs这是最短的定时周期。

若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。

当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。

计数器在每个机器周期的S5P2期间采样引脚输入电平。

若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。

《单片机应用技术》000-9(周君芝)课件 项目三 中断系统与定时计数器的应用

《单片机应用技术》000-9(周君芝)课件 项目三  中断系统与定时计数器的应用

3.1.3 中断系统的结构
IE0: 外部中断 INT0 的请求标志位。当CPU检测到外部中断请求时,该标志位置“1”;当
CPU转向中断服务程序时,由硬件自动置“0”(只适用于边沿触发方式)。 IT1和IE1:
外部中断 INT1 的触发方式控制位和请求标志位,其含义与IT0和IE0相同。
3.1.3 中断系统的结构
在电平触发方式中,当CPU转向中断服务程序时,不能自 动清除IE标志位,也不能由软件进行清除。因此应在中断返回 前撤销引脚上的低电平,否则就会产生CPU多次响应一次中断 的错误。
3.1.2 中断的特点
中断的特点主要 有分时操作、实 时处理、故障处
理等。
分时操作 实时处理
故障处理
只有当服务对象向CPU发出中断请求时,CPU才去 为它服务,无中断请求时CPU正常工作,这样单片机可 以为多个对象服务,从而大大地提高了CPU的工作效率。
利用中断技术,各个服务对象可以根据需要随时 向CPU发出中断请求,CPU可及时发现和处理中断请 求并为之服务,以满足实时控制的要求。
位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
功能
用于定时/计数器
用于中断
TCON的位名称、位地址及功能
IT0: 外部中断 INT0 的触发方式控制位,由软件进行置“1”和置“0”。当IT0=1时,为
边沿触发方式(即当引脚P3.2出现下降沿脉冲信号时,中断请求有效);当IT0=0时, 为电平触发方式(即当引脚P3.2为低电平信号时,中断请求有效)。
1.中断源
向CPU发出中断请求的信号称为中断源。51系列单片机中有5个中断源,其中2个外部中 断源,3个内部中断源,具体如下。
INT0 外部中断,由引脚

中断控制

中断控制
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TF0/TF1:定时器溢出中断申请标志位(由硬件自动置位)。 =0:定时器未溢出; =1:定时器溢出(由全“1”变成全“0”)时由硬件自动置 位,申请中断,中断被CPU响应后由硬件自动清零。
TR0/TR1:定时器运行启停控制位(可由用户通过软件设置 )。
二.51单片机的中断系统
8051单片机提供了5个中断源,2个中断优先级控制,可实 现2个中断服务嵌套。可通过程序设置中断的允许或屏蔽,设 置中断的优先级。 1.8051的中断源 8051允许5个中断源: (1)外部中断源(中断标志为IE0和IE1 ) 由 INT0 ( P3.2 )端口线引入,低电平或下降沿引起。 由 INT1 ( P3.3 )端口线引入,低电平或下降沿引起。 (2)定时器/计数器中断源 (中断标志为TF0、TF1和TI/RI ) T0:定时/计数器0中断,由T0回零溢出引起。 T1:定时/计数器1中断,由T1回零溢出引起。 (3)串口中断源 (中断标志为TI/RI ) TI/RI:串行I/O中断,完成一帧字符发送/接收引起。
void ISR_Key(void) interrupt 0 using 1 { LED = ~ LED; //K1按下触发一次,P0.0取反一次 }
④ 若正在执行RETI,或正在访问IE或IP寄存器,则必须执行完 当前指令的下一条指令。后方能响应中断。
(2)中断响应的过程
中断过程包括中断请求、中断响应、中断服务、中断返 回四个阶段。 中断请求:中断源将相应请求中断的标志位置 “1”,表示发出 请求,并由CPU 查询。 中断响应:在中断允许条件下相应中断。断点入栈→撤除中断 标志→关闭低同级中断允许→中断入口地址送PC。 这些工作 都是由硬件自动完成的。 中断服务:根据入口地址转中断服务程序,包含保护现场、执 行中断主体、恢复现场。 中断返回:执行中断返回RETI指令→断点出栈→开放中断允许 →返回原程序。

51单片机中断系统详解

51单片机中断系统详解

51单片机中断系统详解51 单片机中断系统详解(定时器、计数器)51 单片机中断级别中断源INT0---外部中断0/P3.2 T0---定时器/计数器0 中断/P3.4 INT1---外部中断1/P3.3 T1----定时器/计数器1 中断/P3.5 TX/RX---串行口中断T2---定时器/计数器 2 中断第5 最低4 5 默认中断级别最高第2 第3 第4 序号(C 语言用) 0 1 2 3 intrrupt 0中断允许寄存器IE位序号符号位EA/0 ------ET2/1 ES ET1 EX1 ET0 EX0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 EA---全局中允许位。

EA=1,打开全局中断控制,在此条件下,由各个中断控制位确定相应中断的打开或关闭。

EA=0,关闭全部中断。

-------,无效位。

ET2---定时器/计数器2 中断允许位。

ET2=1, 打开T2 中断。

ET2=0,关闭T2 中断。

关,。

ES---串行口中断允许位。

关,。

ES=1,打开串行口中断。

关,。

ES=0,关闭串行口中断。

关,。

ET1---定时器/计数器1 中断允许位。

关,。

ET1=1,打开T1 中断。

ET1=0,关闭T1 中断。

EX1---外部中断1 中断允许位。

EX1=1,打开外部中断1 中断。

EX1=0,关闭外部中断1 中断。

ET0---定时器/计数器0 中断允许位。

ET0=1,打开T0 中断。

EA 总中断开关,置1 为开;EX0 为外部中断0 (INT0) 开关,。

ET0 为定时器/计数器0(T0)开EX1 为外部中断1(INT1)开ET1 为定时器/计数器1(T1)开ES 为串行口(TX/RX)中断开ET2 为定时器/计数器2(T2)开ET0=0,关闭T0 中断。

EX0---外部中断0 中断允许位。

EX0=1,打开外部中断0 中断。

EX0=0,关闭外部中断0 中断。

中断优先级寄存器IP位序号位地址------PS/0 PT1/0 PX1/0 PT0/0 PX0/0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 -------,无效位。

单片机原理及接口技术 第七章

单片机原理及接口技术 第七章

7.6.2 中断返回
在中断服务子程序的最后要安排 一条中断返回指令IRET,执行该指令, 系统自动将堆栈内保存的 IP/EIP和CS 值弹出,从而恢复主程序断点处的地 址值,同时还自动恢复标志寄存器FR 或EFR的内容,使CPU转到被中断的程 序中继续执行。
7.6.4 中断请求的撤除
①若ITO (ITl) =0,外中断为电平触发方式。单片机在每一个机器周期的S5P2期间采样中断输入信号INTO (INT1)的状态,若为低电平,即可使TCON寄存器中的中断请求标志位IEO (IEl)置位,若满足响应条件就能得 以及时响应。由于外中断源在每个机器周期被采样一次,所以输入的低电平至少必须保持12个振荡周期,以保 证能被采样到。而一旦CPU响应中断,进入中断服务程序时,IEO (IEl)会被CPU自动删除,但由于中断系统没有 对外的中断应答信号,即中断响应后没有信号输出去通知外设结束中断申请,所以,设计人员如果没有措施来 撤除低电平信号,则在下一个机器周期CPU检测外中断申请时又会发现有低电平信号而将IEO (IEl)重新置位。
外部中断是由外部原因引起的,共有两个中断源,及外部中断0和外部中断1,相应的中断 请求信号输入端是INT0和INT1。 外部中断INT0和INT1有两种触发方式,即电触发方式和脉冲触发方式。
7.4.2 定时中断类
定时中断发生在单片机的内部,也有两个中断源,即为定时/计数器0溢出中断和定时/计 数器1溢出中断。
7.4 中断源类型
中断源,中断是指由于某种事件的发生(硬件或者软件的),计算机暂停执行当前的程序, 转而执行另一程序,以处理发生的事件,处理完毕后又返回原程序继续作业的过程。中断是 处理器一种工作状态的描述。我们把引起中断的原因,或者能够发出中断请求信号的来源统 称为中断源。

单片机讲义(第五章MCS-51的中断系统)

单片机讲义(第五章MCS-51的中断系统)


5.6.2 跳沿触发方式(下降沿触发方式)
如果相继连续两次采样,一个机器周期采样到外部中断输入为高, 下一个机器周期采样为低,则置1中断申请触发器,直到CPU响应此 中断时,该标志才清0。这样不会丢失中断,输入的负脉冲宽度至少保
持12个时钟周期(若晶振频率为6 MHZ,则为2μs),才能被CPU采样到。
(2)用字节操作指令
MOV IP,#05H ;000 00101 或者用: MOV 0B8H,#05H ;B8H为IP寄存器的字节地址
5.5 外部中断的响应时间


从外部中断请求有效(外部中断请求标志置1)到转 向中断入口地址所需要的响应时间。 外部中断的最短响应时间为3个机器周期。其中中断
请求标志位查询占1个机器周期,而这个机器周期恰好是处于指令 的最后一个机器周期,在这个机器周期结束后,中断即被响应, CPU接着执行1条硬件子程序调用指令 LCALL以转到相应的中断服 务程序入口,则需要2个机器周期。

外部中断响应的最长时间为8个机器周期。执行RETI或
是访问IE或IP的指令,最长需要2个机器周期。而接着再执行的1条 指令,按最长的指令(乘法指令MUL和除法指令DIV)来算,需4 个机器周期。再加上硬件子程序调用指令LCALL的执行,需要2个 机器周期,所以,外部中断响应最长时间为8个机器周期。
5.3.3中断允许寄存器IE

IE中各位的功能如下:
(l)EA——中断允许总控制位 EA=0,CPU屏蔽所有的中断请求(CPU关中 断); EA=1,CPU开放所有中断(CPU开中断)。 (2)ES——串行口中断允许位 ES=0,禁止串行口发送/接收中断; ES=1,允许串行口发送/接收中断。 (3) ET1——定时器/计数器T1的溢出中断允许 位 ET1= 0,禁止T1计数溢出中断; ET1= 1,允许T1计数溢出中断。

微机原理及单片机应用技术第8章 80C51的中断与定时计数器

微机原理及单片机应用技术第8章 80C51的中断与定时计数器

定时/计数器的结构
T1引脚
TH1
TL1
TH0
T0引脚
TL0
机器周 期脉冲
TH1、TL1
内部总线
TH0、TL0
TF1 TR1 TF0 TR0 GATE C/T M1 M0 GATE C/T M1 M0
TCON
TMOD
TCON
外部中断相关位
T1方式
T0方式
TMOD
2020/10/27
21
计数脉冲源
定时/计数器的工作原理
76543210
TCON TF1 TR1 TF0 TR0
字节地址:88H
TFx:Tx溢出标志位。响应中断后TFx有硬件自动清0。 用软件设置TFx可产生同硬件置1或清0同样的效果。
TRx:Tx运行控制位。置1时开始工作;清0时停止工作。 TRx要由软件置1或清0(即启动与停止要由软件控制)。
2020/10/27
2020/10/27
24
定时/计数器的控制示意图
M1M0 工作方式


00 方式0 13位定时/计数器
01 方式1 16位定时/计数器
10 方式2 8位自动重装定时/计数器
11
方式3
T0分成两个独立的8位定时/计数器; T1此方式停止计数
注意:TMOD不能进行位寻址
2020/10/27
26
控制寄存器TCON
第八章 80C51的中断系统与定时计数器
8.1 80C51单片机的中断系统 8.2 80C51中断处理过程 8.3 80C51单片机的串行口
8.1 80C51单片机的中断系统
5.1.1 80C51中断系统的结构
中断的概念
与子程序调用相似 但有本质的区别

微机原理与单片机接口技术(第2版)李精华 第6章微处理器中断及定时计数器应用设计

微机原理与单片机接口技术(第2版)李精华 第6章微处理器中断及定时计数器应用设计
低级中断,一个正在执行的高级中断是不能被低级中断而中断的。 (4)若多个同级中断请求同时发出,则单片机按照一定的原则决定执行的顺序。51系列单片机对中
断的查询顺序是“外部中断0→定时/计数器T0→外部中断1→定时/计数器T1→串行口中断”。 (5)若程序正在执行读/写IE和IP指令,则CPU执行该指令结束后,需要再执行一条其他指令才可
处理中断源的程序称为中断处理程序。 CPU执行有关的中断处理程序称为中断处理 。而返回断点的过程称为中断返回,中断响应 和处理过程如图6-1所示。
图6-1 中断响应和处理过程
4
2.中断的处理过程
①接收中断请求。 ②查看本级中断屏蔽位,若该位为1,则本级中断源参与优先级排队。 ③中断优先级选择。 ④处理机执行完一条指令后或者这条指令已无法执行完,则立即中止现 行程序。接着,中断部件根据中断级去指定相应的主存单元,并把被中 断的指令地址和处理机当前的主要状态信息存放在此单元中。 ⑤中断部件根据中断级又指定另外的主存单元,从这些单元中取出处理 机新的状态信息和该级中断控制程序的起始地址。 ⑥执行中断控制程序和相应的中断服务程序。 ⑦执行完中断服务程序后,利用专用指令使处理机返回被中断的程序或 转向其他程序。
7.中断屏蔽
对各中断级设置相应的屏蔽位。只有屏蔽位为1时,该中断级才能参加 中断优先级排队。中断屏蔽位可由专用指令建立,因而可以灵活地调整中断 优先级。有些机器针对某些中断源也设置屏蔽位,只有当屏蔽位为1时,相 应的中断源才起作用。。
6.2 单片机中断系统概述
51系列不同型号单片机的中断源的数量是不同的(5~11个) ,本节以8051单片机的中断系统为例分析51系列单片机的中断系 统,其它各种51单片机的中断系统与之基本相同,8051单片机的 中断系统结构框图如图6-2所示。8051单片机有5个中断源,2个中 断优先级,可以实现二级中断服务程序嵌套,每个中断源可以编 程为高优先级或低优先级中断,允许或禁止向CPU请求中断。与中 断系统有关的特殊功能寄存器有中断允许控制寄存器IE、中断优 先级控制寄存器IP和中断源寄存器TCON、SCON。

第4章8051单片机的中断系统复习

第4章8051单片机的中断系统复习

串行口接收中断标志。接收完一帧,由硬件置位。 响应中断后,必须用软件清0。
Hale Waihona Puke 8第四章 8051单片机的中断系统
2. 中断允许控制
中断允许和禁止由中断允许寄存器 IE ( A8H )控制。 IE 中 各位设置:为0时,禁止中断;为 1时,允许中断。
中断允许位。当 EA=1,允许所有 中断开放;当EA =0时,屏蔽所有 中断。
1).由硬件自动使标志位复“0”(即撤除),它们是:定时器0或1, 外部中断0或1 2). 中断系统不予以自动撤除,是串行口的中断请求标志。 20
第四章 8051单片机的中断系统 实验三电路如下,用中断方法实现LED1和LED2闪亮。
B1 LED1
LED2
21
B2
第四章 8051单片机的中断系统 编程如下:
中断程序
INT1:
第四章 8051单片机的中断系统 中断响应的条件:
1.必须没有同级或更高级别的中断正在得到响应,如果有的话, 则必须等CPU为它们服务完毕,返回主程序并执行一条指令之后才 能响应新的中断申请。 2.必须要等当前正在执行的指令执行完毕以后,CPU才能响应 新的中断申请。 3.若正在执行的指令是RETI(中断返回),则必须要在执行完 该指令以及紧随其后的另外一条指令之后才可以响应新的中断申请。
10
第四章 8051单片机的中断系统 在同一优先级内有一个由内部查询序列确定的优先级结构。其 排列如下: 中断源 中断优先级 最高 ⒈ 外部中断0 ⒉ 定时器T0中断 ⒊ 外部中断1 ⒋ 定时器T1中断 ⒌ 串行口中断 最低 中断嵌套: 优先级高的事件可以中断 CPU 正在 处理的低级的中断服务程序,待完成了 高级中断服务程序之后,再继续被打断 的低级中断服务程序。这是中断嵌套问 题。 11

第六章 AT89C51中断系统与定时

第六章 AT89C51中断系统与定时

1 0 1 0
T1 TX RX
PS ES EA
1 0
自 然 优 先 级
中断 矢量地址 硬件查询 源允许
低 级 中 断 请 求
各中断 总允许 源允许
优先级
PC
1.中断源(5个) 向CPU发出中断请求的来源,或引起中断的原因称为中断源。 (1). 外部中断类 外部中断是由外部原因(如打印机、键盘、控制开关、外部故障)引起的, 可以通过两个固定引脚来输入到单片机内的信号,即外部中0(INT0)和外 部中断1(INT1)。 外部中断0(INT0)请求信号输入引脚为P3.2。当CPU检测到P3.2引脚上 出现有效的中断信号时,向CPU申请中断。 外部中断1(INT1)请求信号输入引脚为P3.3 。当CPU 检测到P3.3 引脚上出现有效的中断信号时,向CPU申请中断。 (2). 定时中断类 定时中断是由内部定时(或计数)溢出或外部定时(或计数)溢出引起的, 即定时器0(T0)中断和定时器1(T1)中断。 当定时器对单片机内部定时脉冲进行计数而发生计数溢出时,即表明定 时时间到,申请中断;或者当定时器对单片机外部计数脉冲进行计数而 发生计数溢出时,即表明计数次数到,申请中断。 片内定时/计数器T0溢出中断(TF0):当定时/计数器T0发生溢出时, 置位TF0,并向CPU申请中断。 片内定时/计数器T1溢出中断(TF1):当定时/计数器T1发生溢出时, 置位TF1,并向CPU申请中断。 (3). 串行口中断类 串行口中断是为接收或发送串行数据而设置的。 串行接口中断,包括RI 或TI。当发送或接收完一帧数据时,向CPU 申请中断。
D7 EA
D6 -
D5 -
D4 ES
D3 ET1
D2 EX1
D1 D0 ET0 EX0

第4章 MCS-51单片机中断、定时系统及串行数据通信

第4章 MCS-51单片机中断、定时系统及串行数据通信

表4-2 中断源入口地址表 中断源 外部中断0 中断服务程序入口地址 0003H
定时器/计数器T0 外部中断1 定时器/计数器T1 串行口中断
000BH 0013H 001BH 0023H
单片机的两个相邻中断源中断服务程序入口地址 相距只有8个单元,一般中断服务程序容纳不下,因此 在该中断的入口地址处放一条长跳转指令LJMP,这 样就可以转到64KB的任何可用区域了。在2KB范围内 转移可用短跳转AJMP指令。
表4-1 同级中断源优先级排列顺序
中断源
外部中断0(IE0) 定时器/计数器T0中断(TF0) 外部中断1(IE1) 定时器/计数器T1中断(TF1)
同级内的优先级
最低级
串行口中断(RI+TI)
最高级
当单片机系统复位后,IE中各位均被清0,所有 中断源禁止;IP中各位均被清0,5个中断源均为低优 先级。
SET SET
SET
ET0 ET1
EA
;定时器/计数器0允许中断 ;定时器/计数器1允许中断
;CPU开中断
用字节操作指令 MOV IE,#8AH 或 MOV A8H,#8AH
(2)中断优先级控制寄存器(IP) MCS-51单片机系统的中断源有两个优先级,每 个中断源均可由中断优先级寄存器IP来设置优先级别。 IP的字节地址为0B8H,位地址为0B8H~0BFH。与 中断有关的控制位如下: 位地址 0BFH 0BEH 0BDH 0BCH 0BBH 0BAH 0B9H 0B8H
TMOD是定时器的工作方式寄存器,TCON是控制 寄存器,用于对T0和T1的管理和控制。
2.定时器/计数器的结构的工作原理 16位定时器/计数器的核心是一个加1计数器,如图 4-4所示。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第5章中断系统与定时/计数器本章概要及学习目标本章介绍单片机中断系统的概念及89C51三种中断类型的工作方式;介绍定时/计数器的结构、类型及控制方式。

并通过实训介绍中断技术、定时/计数器的具体应用及中断服务子程序的基本编程方法。

通过对本章的学习,读者应掌握和了解以下知:1.89C51中断系统的概念及中断系统的功能2.特殊功能寄存器TCON、SCON、IE、IP、TH、TL和TMOD各控制位的功能及设置方法3.定时/计数器的结构、两种工作方式、四种工作模式及应用4.中断服务子程序的结构及基本编程方法5.MCS-51单片机外部中断源的扩展方法5.1 中断系统中断系统是计算机的重要组成部分。

实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。

中断系统的应用大大提高了计算机的工作效率。

中断技术的应用使计算机的功能更强,效率更高。

5.1.1 中断的概念1.中断技术中断是指CPU正在执行程序的过程中,CPU以外发生的某一事件(如芯片引脚一个电平的变化、一个脉冲沿的发生或定时/计数器的溢出等)向CPU发出中断请求信号,要求CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再继续执行原来被中断的程序。

这种程序在执行过程中由于外界的原因而被中间打断的情况称为“中断”。

例5.1中,50ms定时时间到则发生定时器0溢出,向CPU提出中断请求,CPU响应中断请求,就暂时终止当前执行的程序,转去执行相应的处理程序ISSR(Interrupt Service Subroutine)。

“中断”之后所执行的相应的处理程序通常称之为中断服务或中断处理子程序,原来正常运行的程序称为主程序。

主程序被断开的位置(或地址)称为“断点”。

引起中断的原因或能发出中断申请的来源,称为“中断源”。

中断源要求服务的请求称为“中断请求”(或中断申请)。

例5.1中的中断服务子程序是ISSR程序,主程序中的断点(读者自行查找),中断源是定时器0,在50ms定时时间到后由硬件置位TCON寄存器中的TF0位,然后自动向CPU发出中断请求。

调用中断服务程序的过程类似于调用子程序,其区别在于调用子程序在程序中是事先安排好的,而何时调用中断服务程序事先无法确定,因为“中断”的发生是由外部因素随机决定的,程序中无法事先安排调用指令,因此,调用中断服务程序的过程是由硬件自动完成的。

对这个中断全过程的分析,研究及实现方法称为中断技术。

2.中断技术的应用采用中断技术能实现以下的功能:(1)并行处理有了中断技术,就解决了快速的CPU与慢速外设之间的速度匹配问题,CPU可以与多台外设并行工作,CPU可分时与多台外设进行信息交换。

CPU在启动外设后,便继续执行主程序;而外设被启动后,开始进行准备工作。

当外设准备就绪时,就向CPU发出中断请求,CPU响应该中断请求并为其服务完毕后,返回到原来的断点处继续执行主程序。

外设在得到服务后,也继续进行自己的工作。

CPU和外设并行工作。

由于CPU与外设速度的悬殊差异,CPU可以使多个外设同时工作,并分时为多台外设提供服务。

(2)实时处理在单片机实时控制中,请求CPU提供服务是随机发生的。

有了中断系统,CPU就可以立即响应并进行相应的处理。

从而实现了实时处理。

(3)故障处理单片机系统工作时会出现一些突发故障,如电源断电、存储器出错、运算溢出等。

有了中断系统,当出现故障时,CPU可及时转去执行故障处理程序,自行处理故障而不必停机。

在单片机应用系统中,为了实现上述中断功能而配置的软件与硬件,便称为中断系统。

5.1.2 中断系统的硬件结构和中断源1.中断系统的硬件结构中断过程是在硬件基础上再配以相应的软件而实现的,不同的计算机,其硬件结构和软件指令是不完全相同的,因此,中断系统也是不尽相同的。

89C51中断系统的结构示意图如图5. 1. 1所示。

图5. 1. 1 89C51中断系统的结构示意图由图可知,89C51单片机有5个中断源,分别为外部中断0 INT0、外部中断1INT1、定时器0溢出中断请求TF0、定时器1溢出中断请求TF1和串行中断请求R I或TI,四个用于中断控制寄存器,分别为定时/计数器及外部中断控制寄存器TCON(用六位)、串行口控制寄存器SCON(用两位)、中断允许控制寄存器IE及中断优先级控制寄存器IP。

5个中断源有两个优先级,每个中断源可以由中断优先级控制寄存器IP编程设置为高优先级或低优先级中断,同级中断源的中断先后由顺序查询逻辑电路决定。

5个中断源分别对应5个固定的中断入口地址。

2.中断源中断源是中断申请的来源。

89C51单片机的5个中断源见表5. 1. 15.1.3 中断控制89C51通过对4个特殊功能寄存器TCON,SCON,IE和IP的设置来进行中断允许、中断申请方式和中断优先级的控制。

1.定时器/计数器及外部中断控制寄存器TCONTF1:定时器/计数器T1的溢出中断请求标志位。

当启动T1计数后,T1从预先设置的初值开始加1计数。

当计数器最高位产生溢出时,由硬件使TF1置1,并向CPU发出中断请求。

当CPU响应中断时,由硬件使TF1清零。

TF0:定时器/计数器T0的溢出中断请求标志位,含义与TF1相同。

IE1:外部中断1的中断请求标志。

当检测到外部中断引脚P3.3上存在有效的中断请求信号时,由硬件使IE1置1。

当CPU响应该中断请求时,由硬件使IE1清零。

IE0:外部中断0的中断请求标志位。

其含义与IE1类同。

IT1:外部中断1的中断触发方式控制位。

IT1为0时,外部中断1为电平触发方式,若外部中断1的引脚P3.3为低电平,则使IE1置1,请求中断。

IT1为1时,外部中断1为边沿触发方式,若CPU检测到外部中断1的引脚P3.3有由高到低的负跳边沿时,则使IE1置1,请求中断。

IT0:外部中断0的中断触发方式控制位。

其含义与IT1类同。

TR1:为1时启动定时器/计数器T1,为0时停止定时器/计数器T1。

TR0:为1时启动定时器/计数器T0,为0时停止定时器/计数器T0。

2.串行口控制寄存器SCONTI:串行口发送中断请求标志。

当CPU发送完一串行数据后,此时SBUF寄存器为空,硬件使TI置1,请求中断。

CPU响应中断后,由软件对TI清零。

RI:串行口接收中断请求标志。

当串行口接收完一帧串行数据时,此时SBUF寄存器为满,硬件使RI置1,请求中断。

CPU响应中断后,用软件对RI清零。

其他几位的含义及用法见串行通信一章。

3. 中断允许控制寄存器IE。

EA:中断允许总控制位。

EA=0,禁止所有中断;EA=1,开放所有中断。

但是否允许各中断源的中断请求,还要取决于各中断源的中断允许控制位的状态。

ES:串行口的中断允许位。

ET1:定时器/计数器T1的中断允许位。

EX1:外部中断1 INT1 的中断允许位。

ET0:定时器/计数器T0的中断允许位。

EX0:外部中断0 INT0 的中断允许位。

以上5个中断允许控制位为0时,禁止中断,为1时允许中断。

4. 中断优先级控制寄存器IP。

89C51单片机设有两级中断优先级,通过对IP寄存器相应位的设置进行中断优先级的选择。

PSPT1:定时器/计数器T1中断优先控制位。

PX1:外部中断1优先级控制位。

PT0:定时器/计数器T0中断控制位。

PX0:外部中断0中断优先级控制位。

以上5个中断优先级控制位分别为“0”时,为低级中断,为“1”时为高级中断。

如果几个同一优先级的中断源同时向CPU申请中断,CPU通过内部顺序查询逻辑电路,按自然优先级顺序确定该响应哪个中断请求。

自然优先级由硬件形成,排列见表表5.1.4 中断响应1.响应中断的条件(1)有中断请求信号(2)中断允许开放即EA=1,且中断源对应的中断允许位置位。

(3)无同级或更高级中断正在服务。

(4)当前的指令周期已经结束。

(5)如果当前指令为RETI或访问IE和IP的指令,至少需要再执行完一条指令。

当满足以上5个条件时CPU将对中断请求进行响应。

2.中断响应过程如果中断响应条件满足,CPU就响应中断。

中断响应过程分为以下6个步骤:a)保护断点断点就是CPU响应中断时程序计数器PC的内容,它指示被中断程序的下一条指令的地址——断点地址。

CPU自动把断点地址压入堆栈,以备中断处理完毕后,自动从堆栈取出断点地址送入PC,然后返回主程序断点处,继续执行被中断的程序。

b)给出中断入口地址程序计数器PC自动装入中断入口地址(见表5. 2),执行相应的中断服务程序。

c)保护现场为了使中断处理不影响主程序的运行,需要把断点处有关寄存器的内容和标志位的状态压入堆栈区进行保护。

现场保护要在中断服务程序开始处通过编程实现。

d)中断服务执行相应的中断服务,进行必要的处理。

e)恢复现场在中断服务结束之后,返回主程序之前,把保存在堆栈区的现场数据从堆栈区中弹出,送回到原来的位置。

恢复现场也需要通过编程实现。

f)中断返回执行中断返回指令RETI,它将堆栈内容保存的断点地址弹给PC,程序则恢复到中断前的位置。

5.1.5 中断的嵌套MCS-51单片机有两个中断优先级。

当CPU正在执行中断服务程序,又有新的断源发出中断申请时,CPU要进行分析判断,决定是否响应新的中断。

若是同级中断源申请中断,CPU将不予理睬;若是高级中断源申请中断,CPU将转去响应新的中断请求,待高级中断服务程序执行完毕,CPU再转回低级中断服务程序。

这就是中断的嵌套。

二级中断嵌套程序执行过程如图图5.1.2 中断嵌套流程图5.1.6 中断系统应用实例例5-1:试利用MCS-51内部定时器以中断的方式通过P1.0输出只有两个状态电平的占空比相等的系列方波,该方波的周期为50mS,用示波器查看。

①:题意分析:该题目是以定时中断来实现的。

程序上分为主程序和中断程序。

主程序负责中断的初始化,并加载第一个中断的定时,以保证系列方波的完整性,因题目简单,除此不再做其它事情;中断程序负责定时改变输出端口的状态,它能自动重载相应的定时值。

中断的执行过程所造成在时间上的影响只有几个μS,同样相对25mS的方波半周期影响极小,可以忽略不计。

②:汇编语言源程序:ORG 0000HSJMP MAIN ;跳到主程序ORG 000BH ;中断程序ISSR:CPL P1.0 ;改变输出端口MOV TH0,#0A6H ;重载25mS定;时值图5.1.3 例5-1流程图MOV TL0,#00HRETI ;中断返回MAIN: MOV IE,#82H ;开放中断总控位及定时器T0中断MOV TMOD,#01H ;设置定时器T0为模式1MOV TH0,#0A6H ;加载25mS定时值MOV TL0,#00HSETB TR0 ;启动定时器SJMP $ ;主程序动态停止END5.2 89C51/80C51的定时/计数器定时/计数器作为89C51的基本结构单元,主要完成以89C51为核心的测控系统中常常需要的定时或延时控制;当需要对外界事件进行计数时,就理所当然地由计数器来完成。

相关文档
最新文档