第5章 定时与中断1

合集下载

单片机-第五章 单片机中断系统

单片机-第五章 单片机中断系统

(1)CPU正在执行一个同级或高优先级的中断服务程序; (2)正在执行的指令尚未执行完; (3)正在执行中断返回指令RETI或者对寄存器IE、IP进 行读/写的指令。 CPU在执行完上述指令之后,要再执行一条指令,才 能响应中断请求。
二、中断响应过程 从中断请求发生直到被响应,准备去执行中断服务程 序,此过程即中断响应过程。中断响应过程一般包括如下几 个阶段: 1、中断采样并置位 中断采样过程:CPU在每个机器周期S5P2期间顺序对 中断源采样、置中断标志。 2、查询标志 在中断采样后的下一个周期的S6按优先级顺序查 询中断标志。
第5章 MCS-51单片机中断系统
5.1.1中断的概念
单片机系统中,CPU和外部设备之间不断进行信息的传 输。通常CPU和外设之间的信息传送方式有以下几种: 程序控制方式 中断方式 直接存储器存取(DMA)方式
1、 程序控制方式 可以分为以下两种方式。 (1)无条件传送方式 外设始终处于就绪状态,CPU不必查询外设的状 态,直接进行信息传输,称为无条件传送方式。 此种信息传送方式只适用于简单的外设。如开 关和数码段显示器等。
三、中断响应的时间
一般来说,中断的响应时间最短为3个机器周期,最长 为8个机器周期。 一般中断请求标志位查询占1个机器周期。而机器周期 又恰好是指令的最后一个机器周期。执行此指令后,CPU 将响应中断,产生硬件长调用指令。 长调用LCALL指令需要2个机器周期。这样,中断响应 时间为3个机器周期。
是不可寻址的
在同级的几个中断源中同时发生请求时, 内部对同级的各中断源的优先级别有一个规 定的查询顺序: 自然优先级
外部中断请求 INT0 最高 定时/计数器 T0 外部中断请求 INT1 定时/计数器 T1 串行口 UART 最低 定时/计数器 T2

MCS-51系列单片机的中断系统

MCS-51系列单片机的中断系统
单片机原理与接口技术
大连理工大学出版社
第5章 中断
当断不断必受其乱
第5章 中断系统
5.1 概述 MCS-51系列单片机的中断系统 5.2 MCS-51系列单片机的中断系统 5.3 中断程序设计方法
第5 章
中断系统
中断控制是单片机最重要的技术之一, 实时控制及人机交互等应用都是通过中 断实现的。 本章主要介绍中断的基本概念、MCS-51 系列单片机单片机的中断机制及其简单 应用。
5.2.2中断控制 5.2.2中断控制
1.中断允许 MCS-51系列单片机中断系统通过中断允许控制 寄存器IE实现开中断和关中断的功能。 (1)IE寄存器 IE寄存器由一个中断允许总控制位和各中断源 的中断允许控制位构成,从而进行两级中断允 许控制。IE寄存器的各位定义如下:
5.2.2中断控制 IE寄存器
5.2.2中断控制 IE寄存器
EX1(IE.2)——外中断1的中断允许控 制位。中断总允许时,EX1=0,禁止外中 断1中断;EX1=1,允许外中断1中断。 ET1(IE.3)——定时器T1的中断允许控 制位。中断总允许时,EX1=0,禁止T1中 断;ET1=1,允许T1中断。
5.2.2中断控制 5.2.2中断控制 IE寄存器
5.2.1中断源和中断标志
当MCS-51系列单片机的外中断源以脉冲方式触 发时,负脉冲有效。CPU在一个机器周期采样到 INT0(或者 INT1 )引脚上为高电平,在接下 来的一个机器周期采样到INT0(或者INT1)引 脚上是低电平,即出现了下降沿的跳变(负脉 冲)时,就认为是外中断0(或者外中断1)的 一个有效的中断请求信号。因为两次检测的间 隔时间为一个机器周期,负脉冲对应的高低电 平持续时间都应至少维持一个机器周期,从而 保证CPU能够检测到电平的跳变。

第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种工作方式,具有中断功能, 可以完成定时、计数、脉冲输出等任务

第5章-MCS-51单片机中断系统-PPT

第5章-MCS-51单片机中断系统-PPT
CPU在每一个机器周期得S5P2期间对P3、 3引脚采样,若P3、3为低电平,则使IE1置1,否 则IE1清0。
5、2、2 MCS-51单片机得中断源
IT1=1,外中断1为下降沿触发 采样:CPU在每一个机器周期得S5P2期间 对P3、3引脚采样,若上一个机器周期检测为 高电平,紧挨着得下一个机器周期为低电平,则 使IE1置1。 IT0:外中断0触发方式控制位。
CPU主要就是通过标志寄存器、控制 寄存器、优先级寄存器对中断源进行管
5、2、2 MCS-51单片机得中断源
(1)与中断标志相关得SFR
主要有:定时器/计数器T0、T1控制寄 存器TCON
串行口控制寄存器SCON 定时器/计数器2控制寄存器T2CON(第 6章介绍) (2)中断控制寄存器:TCON、IE (3)中断优先级寄存器:IP
DMA释放总线:当一批数据传送后, DMA控制器再向CPU发出“结束总线请 求”,CPU响应请求,收回总线使用权。
DMA方式速度高、效率高,可以与CPU 并行工作。
5、1、2 中断得相关概念
1、中断得概念
CPU在正常运行得时候, 外部或者内部发生了请求 CPU迅速去处理得事件,CPU 暂时中断当前得程序,去处理 所发生得事件,处理完事件后, 再返回到原来被中断得程序 继续运行。此过程称为中断。
图5-3 定时器得控制寄存器
TCON可位寻址。复位后TCON=00H。 TF1(TCON、7):T1溢出标志位
当T1计满溢出时,由内部硬件置位; 中断响应后自动清 0。
5、2、2 MCS-51单片机得中断源
TF0:T0溢出标志位 功能同TF1。
IT1:外中断1触发方式设置位 IT1=0,外中断1为低电平触发
5、1、1 微机得输入/输出方式

5单片机中断定时器的使用

5单片机中断定时器的使用
0 PT1 1
0 PS 1
0




1


级 中断入口
中断源


0




级 中断入口
中断源
SCON
1、(P3.2)可由IT0(TCON.0)选择其为低电平 有效还是下降沿有效。当CPU检测到P3.2引脚上 出现有效的中断信号时,中断标志IE0(TCON.1) 置1,向CPU申请中断。
第5章 单片机中断及定时计数器控制
第5章 单片机中断及定时计数器控制
而80C52单片机有四个中断优先级,即可实现四级 中断服务嵌套。每个中断源的中断优先级由中断优 先级寄存器IP和IPH中的相应位的状态来规定的 。
▪PX0(IPH.0),外部中断0优先级设定位; ▪PT0(IPH.1),定时/计数器T0优先级设定位; ▪PX1(IPH.2),外部中断0优先级设定位; ▪PT1(IPH.3),定时/计数器T1优先级设定位; ▪PS (IPH.4),串行口优先级设定位; ▪PT2 (IPH.5) ,定时/计数器T2优先级设定位。
第5章 单片机中断及定时计数器控制
2、SCON的中断标志
▪RI(SCON.0),串行口接收中断标志位。当允 许串行口接收数据时,每接收完一个串行帧,由 硬件置位RI。注意,RI必须由软件清除。 ▪TI(SCON.1),串行口发送中断标志位。当 CPU将一个发送数据写入串行口发送缓冲器时, 就启动了发送过程。每发送完一个串行帧,由硬 件置位TI。CPU响应中断时,不能自动清除TI, TI必须由软件清除。


0




级 中断入口
中断源
第5章 单片机中断及定时计数器控制

第5章 中断系统

第5章 中断系统
5.1 中断的概念 5.2 8051的中断源和中断控制寄存器 5.3 中断处理的过程 5.4 中断响应等待时间 5.5 C51中断服务函数 5.6 中断系统的应用 5.7 实践训练—键控彩灯 5.8 习题
计算机与外设交换信息时,慢速工作的外设与快速工作的CPU之间形成一个很大的矛盾。 例如:计算机与打印机相连接,CPU处理和传送字符的速度是微秒级的,而打印机打印字符 的速度远比CPU慢。CPU不得不花大量时间等待和查询打印机打印字符。中断就是为解决这 类问题而提出的。
02
02
Hale Waihona Puke 023.中断允许控制寄存器IE CPU对中断系统的所有中断以及某个中断源的开放和屏蔽是由中断允许控制寄存器IE控制 的。IE的状态可通过程序由软件设定。某位设定为1,相应的中断源中断允许;某位设定为0, 相应的中断源中断屏蔽。CPU复位时,IE各位清0,禁止所有中断。IE的结构、位名称和位地址 见表5-3。
03
4.中断返回 中断服务程序的最后一条指令必须是中断返回指令RETI。RETI指令能使CPU结束中断服务程序的执 行,返回到曾经被中断过的程序处,继续执行主程序。RETI指令的具体功能如下。 (1)恢复断点地址 将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序。 注意,不能用RET指令代替RETI指令,因为用RET指令虽然也能控制PC返回到原来中断的地方,但 RET指令没有清0中断优先级状态触发器的功能,中断控制系统会认为中断仍在进行,其后果是与此同级 的中断请求将不被响应。 若用户在中断服务程序中进行了入栈操作,则在RETI指令执行前应进行相应的出栈操作,使栈顶指 针SP与保护断点后的值相同,即在中断服务程序中PUSH指令与POP指令必须成对使用,否则不能正确 返回断点。 (2)开放同级和低级中断 上述中断响应过程大部分操作是CPU自动完成的,用户只需要了解来龙去脉。而用户需要做的事情是 编制中断服务程序,并在此之前完成中断初始化,即设置堆栈,定义外中断触发方式,定义中断优先级, 开放中断等。

第5章中断技术ppt课件

第5章中断技术ppt课件
它存放在IR线上提出了中断请求的中断源, 该寄存器8位(D0 ~ D7)对应于连接在IR0‾IR7 线 上的外设所产生的中断请求,哪一根输入线有请 求,哪位就置“1”。
具有锁存功能,其内容可用OCW3命令读出。
(2)中断屏蔽寄存器(IMR)
是对中断请求IR起屏蔽作用,即对中断请 求IR是禁止还是允许,寄存器8位对应8级中断 屏蔽。哪一级中断被屏蔽,哪位就写“1”, 即禁止IR提出中断请求。
其内容可用OCW1命令写入,该寄存器 命令不可读。
0 开中断 Di=
1 关中断
(3)正在服务寄存器ISR 在中断响应之后,第一个获准中断请求的中
断级在相应的ISR中置位。 如IR3获准,ISR中的IS3置位,表明IR3正处
于服务。
其内容可用OCW3命令读出。
(4)优先权分析器(PR)
这是中断请求的判优电路,当在IR输入端有 中断产生时,送到PR,PR检查进来的中断请求的 优先级并和“正在服务中的中断”进行比较,确 定是否让这个中断请求送给处理器。
INTA
INT
D0~D7
数据总线 缓冲器
控制逻辑
RD WR A0 CS CAS0 CAS1 CAS2
SP/EN
Hale Waihona Puke 读/写 控制逻辑级联 缓冲 /比较器
IR0
正在服务 优先级 中断请求
IR1
寄存器
分析器
寄存器
IR2 IR3
ISR
PR
IRR
IR4 IIIRRR567
中断屏蔽寄存器 IMR
内部逻辑框图
1、外部特性 引脚有3组信号线,与其他外围芯片(2组)不同。
④ 没有获得允许中断请求称为中断被屏蔽。 ⑤ 不允许中断请求的情况:

第5章 中断管理

第5章 中断管理

OSIntExit (void)
void OSIntExit (void) {#if OS_CRITICAL_METHOD==3 OS_CPU_SR cpu_sr; #endif OS_ENTER_CRITICAL(); if ((--OSIntNesting | OSLockNesting) == 0) {
OSCtxSwCtr++;
OSIntCtxSw(); } } OS_EXIT_CRITICAL();}
μC/OS-II中断时序图
μC/OS-II的中断服务子程序ISR
μC/OS-II中断特点
• 内核抢占式中断 • 允许嵌套
第5章 中断管理
中断的基本概念

中断处理过程 中断评价指标 μC/OS-II的中断和中断服务程序 关于任务切换
中断接管程序
• 硬件中断发生后,中断接管程序获得控制权,先由中断 接管程序进行处理,然后才将控制权交给相应的用户中 断服务程序。 • 用户中断服务程序执行完成后,又回到中断接管程序。
物理中断向量表 中断向量号0 中断向量号1 中断向量号2 中断向量号3 …… 中断向量号n 虚拟中断向量表 中断向量号0 中断向量号1 用户中断服务程序 用户中断服务程序0 用户中断服务程序1 用户中断服务程序2 用户中断服务程序3
第5章 中断管理
中断的基本概念
中断处理过程 中断评价指标 μC/OS-II的中断和中断服务程序
1. 中断概念
所谓中断是指某个事件 发生
正在执行 的程序 中断进入 中断处 理程序 中断 返回 中断信号 继续执行
时,系统中止现行程序的运 行、引出处理事件程序对该 事件进行处理,处理完毕后 返回断 点,继续执行。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第5章定时/计数器与中断系统⏹5.1 定时/计数器结构特点及控制⏹5.2 中断系统结构及管理
⏹5.3 定时/计数器及中断系统综合应
5.1 定时/计数器结构特点及控制
⏹5.1.1 定时/计数器结构
⏹5.1.2 定时/计数器工作方式
⏹5.1.3 定时/计数器控制寄存器
⏹5.1.4 定时/计数器常数的计算
5.1.1 定时/计数器结构

定时/计数器简称定时器,8031单片机有2个16位的定时/计数器:定时器0(T0)和定时器1(T1)。

它们都有定时器或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。


T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。

作计数器时,通过引脚T 0(P 3.4)和T 1(P 3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。

计数的最高频率一般为振荡频率的1/24。

5.1.2 定时/计数器工作方式
⏹每个定时/计数器还有4种工作模式,也就是每个定时器可构成4种电路结构模式。

⏹在模式0、1和2,T0和T1的工作模式相同,在模
式3,两个定时器的模式不同。

下面以T1为例,分述各种工作模式的特点和用法。

图5-1 定时/计数器T1(T0)工作模式0
图5-2 定时/计数器T1(T0)工作模式1
图5-3 定时/计数器T1(T0)工作模式2
图5-4 定时/计数器T1(T0)工作模式3
5.1.3 定时/计数器控制寄存器
定时器共有2个控制寄存器TMOD和TCON,由软件写入TMOD和TCON两个8位寄存器,设置各个定时器的操作模式和控制功能。

1.工作模式控制寄存器—TMOD (89H )
GATE C/T M 10M GATE C/T
1M 0
M 控 制 T 1
控 制 T 0
89H
和T 类同
01M 0
M 000110
11方 式方式0方式1方式2方式301定时器模式计数器模式01
与INT 无关00
与INT 有关图5-5 定时器工作模式寄存器TMOD
2.定时器控制寄存器—TCON(88H)
TCON 位地址
D
D1
D2
D3
D4
D5
D6
D7
IT0
IE0
IT1
1
IE
TR0
TF0
TR1
TF1
88
89
8A
8B
8C
8D
8E
8F
见下一节
{0
0:停T 计数
1:启T 计数
0:无T 中断(硬件复位)
{
1:有T 溢出中断
0:无T 中断(硬件复位)
1
0:停T 计数
{
1:有T 溢出中断
1:启T 计数
{
1
1
1
图5-6 定时器工作模式寄存器TCON
返回本节
5.1.4 定时/计数器常数的计算
⏹1.计数器初值的计算
⏹把计数器计满为零所需要的计数值设定为C,计
数初值设定为TC,由此可得到公式:
TC=M-C
⏹式中,M为计数器模值,该值和计数器工作方式有关。

在方式0时M为213;在方式1时M为216;在方式2和方式3时M为28。

⏹2.定时器初值的计算

在定时器模式下,计数器由单片机主脉冲经12分频后计数。

因此,定时器定时时间T 的公式:
T=(M-TC )T 计数
上式也可写成:TC=M-T/T 计数

式中,M 为模值,和定时器的工作方式有关;T 计数是单片机振荡周期T CLK 的12倍;TC 为定时器的定时初值。

返回本节
5.2 中断系统结构及管理
⏹5.2.1 中断请求与控制
⏹5.2.2 中断系统的结构
⏹5.2.3 中断控制
⏹5.2.4 中断响应过程
返回本章首页
5.2.1 中断请求与控制

5
-
7




返回本节
5.2.2 中断系统的结构
⏹1.外部中断源
由P
3.2
端口线引入,低电平或下降沿引起。

由P
3.3
端口线引入,低电平或下降沿引起。

⏹2.内部中断源(如图5-8所示)
T 0:定时/计数器0中断,由T
回零溢出引起。

T 1:定时/计数器1中断,由T
1
回零溢出引起。

TI/RI:串行I/O中断,完成一帧字符发送/接收引起。

图5-8 中断系统的结构框图
返回本节
5.2.3 中断控制
⏹1.中断允许寄存器IE(A8H)
⏹IE在特殊功能寄存器中,字节地址A8H,位地址
分别是A8H~AFH。

IE控制CPU对中断源总的开放或禁止以及每个中断源是否允许中断。

其格式如图5-9所示。

⏹2.中断优先寄存器IP(B8H)
⏹IP在特殊功能寄存器中,字节地址为B8H,位地
址分别是B8H~BFH,IP用来锁存各中断源优先级的控制位,其格式如图5-10所示。

0:关INT 中断0
1:开INT 中断00:关T 中断1:开T 中断0
1:开T 中断0:关T 中断0:关INT 中断1:开INT 中断1
1
11
0:关T 中断1:开T 中断2
2
1:开所有中断
0:关所有中断1:开串行口中断0:关串行口中断位地址IE EA
AF AD ET AC ES AB ET AA EX A9ET A8
EX 00112图5-9 中断允许寄存器IE
图5-10 中断优先寄存器IP
返回本节
5.2.4 中断响应过程
⏹单片机在每个机器周期的S5P2期间,顺序采样每
期间按优先个中断源,CPU在下一个机器周期S
6
级顺序查询中断标志,如查询到某个中断标志为
期间按优先级进行1,将在再下一个机器周期S
1
中断处理。

⏹中断得到响应后自动清除中断标志,由硬件将程
序计数器PC内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向中断矢量地址单元中去执行相应的中断服务程序。

下列任何一种情况存在中断申请将被封锁:⏹(1)CPU正在执行一个同级或高一级的中断服务程序。

⏹(2)当前正在执行的那条指令还未执行完。

⏹(3)当前正在执行的指令是RETI或对IE,IP寄存
器进行读/写指令,执行这些指令后至少再执行一条指令才会响应中断。

返回本节
5.3 定时/计数器及中断系统综合应用
【例5.2】设MCS-51单片机系统时钟频率ФCLK 为6MH Z ,请编出利用定时/计数器T0在P 1.0引脚上产生周期为2秒,占空比为50%的方波信号的程序
(1)主程序
任务:1)T0工作方式的设定:选择方式1(16位方式)
(最大定时131ms )
2)定时常数的设定:
TC=216-100ms/2μs =15536=3CB0H
即:TH0应装3CH,TL0应装B0H。

3)中断管理:允许T0中断,开放总中断即:IE应装10000010B。

4)启动定时器T0:SETB TR0 5)设置软件计数器初值:(如使用R7)即R7应装0AH
6)动态停机:SJMP$
主程序如下:
MAIN:MOV TMOD,#01H;设定T0为方式1 MOV TH0,#3CH;装入定时常数高8位
MOV TL0,#0B0H;装入定时常数低8位
MOV IE,#82H;开放T0中断
SETB TR0;启动T0
MOV R7,#0AH;设置软件计数器
SJMP$
(2)中断服务程序
任务:1)恢复T0常数;2)软件计数器减1;
状态3)判断软件计数器是否为0。

为0时,改变P
1.0
,并恢复软件计数器初值;不为0时中断返回。

程序如下:
TOINT:MOV TL0,#0B0H;恢复定时常数
MOV TH0,#3CH DJNZ R7,NEXT
CPL P1.0MOV R7,#0AH NEXT:RETI
完整程序如下:
ORG0000H AJMP MAIN
ORG000BH AJMP TOINT
ORG0030H MAIN:MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV IE,#82H SETB TR0
MOV R7,#0AH
SJMP$
TOINT:MOV TL0,#0B0H
MOV TH0,#3CH
DJNZ R7,NEXT
CPL P1.0
MOV R7,#0AH
NEXT:RETI
END
返回本节
本章结束
结束放映返回本章首页。

相关文档
最新文档