第五章 单片机的中断与定时系统
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能够检测到电平的跳变。
MCS51单片机第5章

中断优先级处理原则
同时发生多个中断申请时 多个中断申请时: 对同时发生多个中断申请时: 不同优先级的中断同时申请(很难遇到) ☞不同优先级的中断同时申请(很难遇到) ——先高后低 先高后低 相同优先级的中断同时申请(很难遇到) ☞相同优先级的中断同时申请(很难遇到) ——按序执行 按序执行 ☞正处理低优先级中断又接到高级别中断 ——高打断低 高打断低 ☞正处理高优先级中断又接到低级别中断 ——高不理低 高不理低
MCS-51单片机的中断系统 MCS-51单片机的中断系统 计算机与外设之间交换信息的方式: 计算机与外设之间交换信息的方式: 无条件传送方式:外设对计算机来说总是准备好的。 (1)无条件传送方式:外设对计算机来说总是准备好的。 (2)查询传送方式:传送前计算机先查询外设的状态, 查询传送方式:传送前计算机先查询外设的状态, 若已经准备好就传送,否则就继续查询/等待。 若已经准备好就传送,否则就继续查询/等待。 中断传送方式: (3)中断传送方式:外设通过申请中断的方式与计算 机进行数据传送。 机进行数据传送。 直接存储器存取方式(DMA) (DMA): (4)直接存储器存取方式(DMA):传送数据的双方直 接通过总线传送数据, 不经CPU中转。 CPU中转 接通过总线传送数据, 不经CPU中转。
中断请求的撤除
为了避免中断请求标志没有及时撤除而造成的重复响应同一中 断请求的错误, CPU在响应中断时必须及时将其中断请求标志 断请求的错误, CPU在响应中断时必须及时将其中断请求标志 位撤除。 位撤除。
申请标志 IE0 TF0 IE1 TF1 RI/TI TF2
中断矢量 0003H 000BH 0013H 001BH 0023H 002BH
中断优先级 最高优先级
最低优先级
第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、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章 MCS-51单片机的中断系统

(2)实现实时处理
在实时控制中,现场的参数、信息是不断变化的。 有了中断功能,外界的这些变化量可随时向CPU 发出中断请求,CPU可以马上响应加以处理。
(3)故障处理
单片机运行过程中,出现一些故障时(如掉电、 存储出错、运算溢出等),有了中断功能,单片 机就能自行处理而不必停机。 外界的中断请求是随机的,单片机响应请求后要 转到中断服务程序,与调用子程序相类似,需要 注意对现场进行保护。
ORG 0100H
MAIN: …;
第五章 MCS-51单片机的中断系统
ORG 1000H INT1:PUSH ACC PUSH DPH PUSH DPL PUSH R0 PUSH R1 … POP R1 POP R0 POP DPL POP DPH POP ACC RETI
第五章 MCS-51单片机的中断系统
5.3 中断处理过程
中断响应
中断处理
中断返回
第五章 MCS-51单片机的中断系统
5.3.1 中断响应
1. CPU响应中断的基本条件 (1)有中断源提出中断请求; (2)中断没有被禁止; (3)没有正在响应的同级或更高优先级的中断; (4)当前的指令周期已经结束;(也就是说,中 断申请时,正在执行的这条指令完成后,才会响 应中断请求) (5)若当前指令为RETI或访问IE、IP指令, CPU在执行完当前指令后,要再执行一条指令才 会响应中断请求。
第五章 MCS-51单片机的中断系统
2.中断响应过程 (1)根据响应的中断源的中断优先级,使相应的优 先级状态触发器置1; (2)清除相应的中断请求标志位(串行口中断请求 标志RI和TI除外);
(3)把当前程序计数器PC的内容压入堆栈;
(4)把被响应的中断源所对应的中断服务程序的入 口地址送入PC,从而转入相应的中断服务程序。 CPU响应中断请求后,在中断返回(执行RETI)前, 中断请求必须被清除,即中断标志位=0,否则会再 一次引起中断响应。
第5章 STC15F2K60S2单片机中断系统

精品课件
S2CON为串行口2控制寄存器,字节地址为9AH, S2CON中各位功能与串口1控制寄存器SCON类似,其中S2TI 和S2RI为串口2的发送和接收中断标志位。
➢ S2RI:串行口2接收中断标志。若串行口2允许接收且以方式0 工作,则每当接收到第8位数据时置1;若以方式1、方式2或 方式3工作且SM2=0时,则每当接收到停止位的中间时置1; 当串行口2以方式2或方式3工作且S2SM2=1时,则仅当接收 到的第9位数据S2RB8为1后,同时还要接收到停止位的中间时 置1。S2RI为1表示串行口2已接收到一帧数据,正向CPU申请 中断(接收中断),S2RI必须由用户的中断服务程序清0。
第5章 STC15F2K60S2单片 机中断系统
精品课件
5.1 中断的概念 5.2 STC15F2K60S2单片机的中断系统结构 5.3 中断允许及其优先级管理 5.4 单片机中断处理过程 5.5 中断的应用举例
精品课件
5.1 中断的概念
在单片机应用系统中,中断技术主要用于实时监测与 控制,能对外界发生的事件进行及时的处理。中断系统是 为使CPU具有对外界紧急事件的处理能力而设置的。
在进入掉电工作状态前,如果低压检测电路未被允许可产生中 断,则在进入掉电模式后,该低压检测电路不工作以降低功耗。 如果被允许可产生低压检测中断,则在进入掉电模式后,该低压 检测电路继续工作,在内部工作电压VCC低于低压检测门槛电压 后,产生低压检测中断,可将MCU从掉电状态唤醒。
精品课件
5. CCON寄存器
精品课件
➢TI:串行口1发送中断标志。串行口1以方式0发送时,每 当发送完8位数据,由硬件置1;若以方式1、方式2或方式3 发送时,在发送停止位的开始时置1。TI为1表示串行口已发 送一帧数据,串行口1正在向CPU申请中断(发送中断)。值得 注意的是,CPU响应发送中断请求,转向执行中断服务程序 时并不将TI清0,TI必须由用户在中断服务程序中清0。
单片机中的中断与定时器的原理与应用
单片机中的中断与定时器的原理与应用在单片机(Microcontroller)中,中断(Interrupt)和定时器(Timer)是重要的功能模块,广泛应用于各种嵌入式系统和电子设备中。
本文将介绍中断和定时器的基本原理,并探讨它们在单片机中的应用。
一、中断的原理与应用中断是指在程序执行过程中,当发生某个特定事件时,暂停当前任务的执行,转而执行与该事件相关的任务。
这样可以提高系统的响应能力和实时性。
单片机中的中断通常有外部中断和定时中断两种类型。
1. 外部中断外部中断是通过外部触发器(如按钮、传感器等)来触发的中断事件。
当外部触发器发生状态变化时,单片机会响应中断请求,并执行相应的中断服务程序。
外部中断通常用于处理实时性要求较高的事件,如按键检测、紧急报警等。
2. 定时中断定时中断是通过定时器来触发的中断事件。
定时器是一种特殊的计时设备,可以按照设定的时间周期产生中断信号。
当定时器倒计时完成时,单片机会响应中断请求,并执行相应的中断服务程序。
定时中断常用于处理需要精确计时和时序控制的任务,如脉冲计数、PWM波形生成等。
中断的应用具体取决于具体的工程需求,例如在电梯控制系统中,可以使用外部中断来响应紧急停车按钮;在家电控制系统中,可以利用定时中断来实现定时开关机功能。
二、定时器的原理与应用定时器是单片机中的一个重要模块,可以用于计时、延时、频率测量等多种应用。
下面将介绍定时器的工作原理和几种常见的应用场景。
1. 定时器的工作原理定时器是通过内部时钟源来进行计时的。
它通常由一个计数器和若干个控制寄存器组成。
计数器可以递增或递减,当计数值达到设定值时,会产生中断信号或触发其他相关操作。
2. 延时应用延时是定时器最常见的应用之一。
通过设定一个合适的计时器参数,实现程序的精确延时。
例如,在蜂鸣器控制中,可以使用定时器来生成特定频率和持续时间的方波信号,从而产生不同的声音效果。
3. 频率测量应用定时器还可以用于频率测量。
第5章 单片机
RETI与RET的异同点? RETI与RET的异同点? 的异同点 PC。 ①相同: 匀执行恢复断点操作,即从堆栈中弹出断点给PC。 相同: 匀执行恢复断点操作,即从堆栈中弹出断点给PC 不同: RETI将清 将清“ 响应时所置的优先级触发器 RET没 响应时所置的优先级触发器, ② 不同 : RETI 将清 “ 0”响应时所置的优先级触发器 , RET 没 有该功能。 有该功能。 中断与子程序调用的区别? 中断与子程序调用的区别?
CPU与外设数据传送方式 CPU与外设数据传送方式
有直接、查询、中断、 有直接、查询、中断、 DMA等传送方式。 等传送方式。 等传送方式 一、直接传送方式 直接传送方式 也称无条件传送方式,例: 也称无条件传送方式, 驱动指示灯、继电器、 驱动指示灯、继电器、启动电机等
二、查询方式 查询方式 送数据或发命令前先检查设备状态 例:水池水位自动控制装置 要求:水位 放水;水位>B停放 要求:水位<A 放水;水位 停放 电路中: 电路中: 1)输出:P1.0=1时,M放水; 输出: 放水; 输出 时 放水 P1.0=0时,M关 时 关 2)输入:水位<A, T1、T2截止 输入:水位 , 、 截止 输入 → P1.1=1,P1.2=1 , 水位>B, 、 导通 水位 , T1、T2导通 → P1.1=0, , P1.2=0 A<水位 , T1止,T2通→ 水位<B, 止 水位 通 P1.1=1,P1.2=0 , 中断方式可提高CPU的效率 中断方式可提高 的效率 CLR P1.0 SETB P1.1 SETB P1.2 L1: JNB P1.2, L1 SETB P1.0 L2: JB P1.1, L2 CLR P1.0 SJMP L1
计算机上常见接口
单片机中断系统和定时计数器
单片机中断系统和定时计数器在单片机的世界里,中断系统和定时计数器就像是两个得力的助手,为单片机的高效运行和精确控制发挥着至关重要的作用。
接下来,让我们一起深入了解一下这两个重要的概念。
首先,咱们来聊聊中断系统。
想象一下,单片机正在专心致志地执行着一个任务,突然有个紧急情况发生了,比如外部设备传来了一个重要的数据需要立即处理。
这时候,中断系统就像是一个“紧急警报器”,让单片机暂停当前的任务,迅速去处理这个紧急情况。
处理完之后,再回到原来被中断的地方继续执行之前的任务。
中断系统的好处那可太多了。
它大大提高了单片机的工作效率。
要是没有中断,单片机就得一直按照顺序依次执行任务,可能会错过一些关键的信息或者无法及时响应紧急事件。
有了中断,单片机就能在多个任务之间灵活切换,做到“分身有术”。
中断系统一般由中断源、中断允许控制、中断优先级控制和中断响应等部分组成。
中断源就是那些能引起中断的事件,比如外部中断、定时器中断、串口中断等等。
中断允许控制就像是一道“开关”,决定了是否允许某个中断源发出中断请求。
中断优先级控制则是用来确定当多个中断同时发生时,先处理哪个中断,后处理哪个中断。
再来说说定时计数器。
在很多实际应用中,我们经常需要对时间进行精确的测量和控制,这时候定时计数器就派上用场了。
比如说,我们要控制一个小灯每隔1 秒钟闪烁一次,或者要统计外部脉冲的个数,都可以用定时计数器来实现。
定时计数器的工作原理其实并不复杂。
它就像是一个不断计数的“小闹钟”。
可以设置为定时模式或者计数模式。
在定时模式下,它根据单片机内部的时钟信号进行计数,当计数值达到设定的值时,就会产生一个定时中断。
在计数模式下,它对外部输入的脉冲进行计数,当计数值达到设定值时,也会产生中断。
比如说,我们要实现一个 1 毫秒的定时,假设单片机的时钟频率是12MHz,那么一个机器周期就是 1 微秒。
如果我们要定时 1 毫秒,就需要设置定时计数器的初值,让它经过 1000 个机器周期后产生中断。
第5章 中断系统
返回
单片机原理及接口技术
二、中断响应操作过程
• 1、中断响应操作过程 ⑴ 把当前PC值压入堆栈,保护断点。
⑵ 将相应的中断服务程序的入口地址送入PC。
⑶ 对有些中断源,CPU会自动清除中断标志。 ⑷ 执行中断服务程序。 ⑸ 执行到返回指令RETI,中断服务程序结束,将堆栈内容弹出到PC,返 回到原来断点继续执行。 • 2、各中断源及其对应的矢量地址
SETB PX0
SETB CLR CLR CLR PX1 PS PT0 PT1
返回
09:28
单片机原理及接口技术
§5.4 中断处理过程 §5.4.1 中断处理过程的三个阶段
K
主程序响应中断 N 保护现场 为外设服务 恢复现场 中 断 处 理
• 中断处理过程分为: • 中断响应 • 中断处理 • 中断返回
返回
单片机原理及接口技术
例5-1:假设允许片内定时器/计数器中断,禁止其他 中断。试根据假设条件设置IE的相应值。
解:(IE)=10001010B=8AH
(a)用字节操作指令
MOV SETB SETB IE,#8AH;或 MOV A8H,#8AH;
(b)用位操作指令
ET0;定时器/计数器0允许中断 ET1;定时器/计数器1允许中断
中断源 外部中断 0(INT0) 定时器 T0 中断 外部中断 1(INT1) 定时器 T1 中断 串行口中断 中断矢量 0003H 000BH 0013H 001BH 0023H
返回
09:28
单片机原理及接口技术
§5.4.3 中断处理
• 二、中断处理包括的内容 保护现场:如在中断服务程序中要用到PSW、工作寄存器和SFR等 寄存器时,则在进入中断服务之前应将它们的内容保护起来,在中 断结束、执行RETI指令前应恢复现场。 为中断源服务:针对中断源的具体要求进行相应的处理。 • 三、编写中断服务程序时的注意问题 在中断矢量地址单元处放一条无条件转移指令,使中断服务程序可 灵活地安排在64KB ROM的任何空间。 在中断服务程序中,应注意用软件保护现场,以免中断返回后丢失 原来寄存器、累加器中的信息。 若要在执行当前中断程序时禁止更高优先级中断,可以先用软件关 闭CPU中断或禁止某中断源中断,在中断返回前再开放中断。 返回
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)计数初值 最大计数值为213=8192 △T=(213 — 计数初值)× 机器周期(12/fosc) 计数初值=213 —欲计数脉冲数=213 —△T/ 机器周期
2、工作方式1
M1M0=01——16位计数器
方式1时的电路逻辑结构如图所示 作定时器,TMOD=01H; 作计数器,TMOD=05H; △T=(216 — 计数初值)× 机器周期(12/fosc) 计数初值=216 —欲计数脉冲数=216 —△T/ 机器周期
响应操作: 断点压栈→撤除中断标志→关闭低同级 中断允许→中断入口地址送PC。 实际上响应中断的主要操作是有硬件自动产生一 条长调用指令LCALL。 ③中断服务:根据入口地址转中断服务程序,包 含保护现场、执行中断主体、恢复现场。 ④中断返回: 断点出栈 → 开放中断允许 → 返回原程序。 4、中断优先级及其嵌套 优先级 2个---高优先级、低优先级,可通 过SFR寄存器IP设置。 中断嵌套 原则为高优先级的中断不能被低 优先的中断所中断,同级中断不能相互中断。
第五章 中断系统、定时器/ 计数器
§5-1 MCS-51的中断系统 §5-2 定时/计数器
§5-1 MCS-51的中断系统 一、中断概述 日 1、 中断概念 常
某人看书 执行主程序
电话铃响 中断信号INT=0 书中作记号 当前PC入栈 电话谈话 执行I/O程序 继续看书 返回主程序
③串行中断 1 个:串行接收或发送完一帧数据时 就产生一个内部中断请求RI或TI。 入口地址:0023H。 3、 中断处理过程 包含:中断请求、中断响应、中断服务、中断返 回四个阶段. ①中断请求:中断源将相应请求中断的标志位置 “1”,表示发出请求,并由CPU 查询。 ②中断响应:在一条指令的最后一个周期按优先 级 顺 序 查 询 中 断 标 志 , 为 “ 1” 并 满 足 响 应 条件时响应。
例如:定时500us,fosc=6MHz时, 初值=216—500/2=65536-250=65286=FF 06H 那么:TH0=FFH,TL0=06H 3、工作方式2 M1M0=10——自动复位的8位计数器 以TL0作计数器,而TH0 作为预置寄存器。当计数满溢出 时,TF0置“1”,同时TH0将计数初值以硬件方法自动装入TL0。 逻辑结构,如图所示:
5、中断控制的特点 ① 中断是随机发生的,并且是可编程的。 ② 通过执行特定功能的程序段而获得预定目的。 6、MCS-51中断汇集
二、中断控制
通过对特殊功能寄存器TCON、SCON、IE、 IP等四个寄存器的设定而实现。 1、中断请求控制 (1)定时中断、外中断请求控制寄存器TCON 字节地址 88H ,位地址 8FH~88H ,与中断 请求有关的各位表示如下:
解:1)方波波形如图所示: 2)计数初值: 方式0:计数初值=213 —欲计数脉冲数=213 —△T/ 机器周期 =213-500/2=1F06H ∴ TH1=F8H,TL1=06H 方式1:计数初值=216 —欲计数脉冲数=216 —△T/ 机器周期 =216-500/2=FF06H ∴ TH1=FFH,TL1=06H 方式2:计数初值=28 —欲计数脉冲数 =28 —△T/ 机器周期 =28-500/2=06H ∴ TH1=TL1=06H 3)定时到达P1.0的翻转方法:查询方式、中断方式 4)流程、程序如下:
3、中断允许控制寄存器IE(A8H) 三、定时器/计数器工作方式 1、工作方式0 M1M0=00 ——13位计数器 ( 1 )结构由 TH0 的全部 8 位和 TL0 的低 5 位构成,如 下页图。当TL0低5位计数满时直接向TH0进位,并当 全部13位计数满溢出时,TF0置“1”。 (2)TMOD值: 作定时器:TMOD=0000 0 0 00=00H 作计数器:TMOD=0000 0 1 00=04H
作定时器,TMOD=02H; 作计数器,TMOD=06H; 最大计数值为 28=256 ,若 fosc=12MHz ,则方式 2 的最大定时时间为256us。当作为定时器用时,定时时间的计 算公式: △T=(28 — 计数初值)× 机器周期(12/fosc) 计数初值=28 —欲计数脉冲数=28 —△T/ 机器周期 例如:定时500,fosc=6MHz时,初值=28—500/2=6= 06H 则:TH0=TL0=06H 4、工作方式3 M1M0=11——2个8位计数器(仅限于 T0 ) 在T0方式3下,T0、T1的设置和使用是不同的。 (1)T0方式3 TL0:使用T0原有控制资源,功能与方式0、1相同。 TH0:借用T1的TR1、TF1,只能对片内机器周期脉冲计数, 作8位定时器。
TI为发送中断 ,RI为接收中断 ,为“1”时,请求 中断,响应后必须由用户软件清零。 (3)中断请求的撤销 中断响应后,必须及时清除 TCON 、 SCON 中的 已响应中断请求标志,否则,会引起中断的重复查 询和响应。
①外中断请求的撤销: 对于边沿触发方式:由于触发信号过后就消失, 撤销自然也就是自动的。 对于电平触发方式:需通过软硬件结合的方法来 实现撤销。 ②定时中断请求的撤销:定时中断后,硬件自动 清 “0”。 ③串行中断请求的撤销:不能自动清“0”,须用软 件的方法在中断服务子程序中进行清“0”。 2、中断允许控制 由SFR寄存器IE设置,分二级允许控制。以EA位 作为总控,以各中断源的允许位作为分控。
T0方式3时的T0、T1电路逻辑结构,如图所示
T0方式3时的T0初值计算完全同方式 2 (2)T0方式3下的T1 T0方式3时 ,T1仍然可工作于方式0~方式2,如 上页图所示。C/ T 控制位仍可使T1工作在定时器或 计数器方式,只是由于其TR1、TF1被T0的TH0占用, 因而没有计数溢出标志可供使用,计数溢出时只能 将输出结果送至串行口,即用作串行口波特率发生 器。 T0 方式 3 下的 T1 方式 2 ,因定时初值能自动恢复, 用作波特率发生器更为合适。 四、定时/计数器的应用 【例 6-2】 已知 fosc=6MHz ,利用 T1 定时 500us , 在 P1.0 口输出周期为 1ms 的方波脉冲,使用方式 0~ 方式2编程。
LOOP1:
LOOP2:
DELAY:
§5-2 定时/计数器 一、定时/计数器构成 1、定时方法 软件延时 通过执行循环而获得延时,短时间延时; 硬件延时 由硬件电路实现延时,长时间延时; 可编程定时 通过对系统时钟脉冲的计数而获得延时。 2、MCS-51单片机的定时/计数器 16位定时/计数器T0、T1,分别由4个8位计数器 组成,均属SFR寄存器。 T0由TH0、TL0构成,字节地址为8CH、8AH; T1由TH1、TL1构成,字节地址为8DH、8BH;
主流程图(略),程序如下:
ORG 0000H LJMP MAIN ORG 0003H ;中断入口 LJMP 0100H ORG 0030H MOV SP, #60H SETB IT0 ;设定下跳有效 SETB EX0 ;开中 SETB EA MOV IP, #01H MOV A, #01H MOV P1, A RL A LCALL DELAY AJMP LOOP
GATE:门控位,定义T1/T0的启动方式,逻辑如 图:
C/ :定时/计数功能选择位。 为“0”,作定时器用;为“1”,作计数器用。 M1M0:工作方式选择位。
00 方式0 01 方式1 10 方式2 13位计数器 16位计数器 初值自动重装8位计数器
11
方式3
2个8位计数器,仅适用于T0
MAIN:
LOOP:
中断服务程务程序: ORG PUSH CLR MOV SETB RLC MOV LCALL JNB CLR RLC MOV LCALL JB INC CJNE POP RETI (略) 0100H ACC A R0, #00H C A P1, A DELAY ACC.7, LOOP1 C A P1, A DELAY ACC.7, LOOP2 R0 R0, #03H, LOOP1 ACC ;1秒延时
日常事务
中断请求 保护断点 中断服务 中断返回
事 务 程 序
暂停看书 暂停执行主程序 中断响应
中 断 服 务 程 序
2、 中断源 中断源指引起正在执行的程序中断,转而执行中 断服务程序的设备或事件。 可分为硬中断、软中断。 MCS-51单片机的5个中断源: ①外部中断2个: INT 0 、 INT1 ,中断请求信号分 别由P3.2、P3.1输入,低电平有效、脉冲下降沿有效 可选。 入口地址:0003H,0013H。 ②定时 / 计数溢出中断 2 个: T0 、 T1, 计数溢出时 置“1”TF0、TF1位,从而发出内部中断请求。 入口地址:000BH,001BH。
注意: 5 个中断允许位全部置“ 1” 时,和全部 清0效果一样,为同优先级中断,按自然优先级处理, 即为 →T0→ →T1→串行口,优先级依次从高到 INT 1 INT 0 低。 三、中断应用 1、中断应用的准备工作
(1)中断初始化设置:定义SP、IP、IE和外中断触 发方式选择; (2)中断服务程序:中断入口、现场保护、中断主 体程序、恢复现场返回。 2、应用举例 例6-1 通过P1.0~P1.7控制发光二极管,输出两 种节日灯,并利用外中断 P3.2 ,在两种状态之间切 换。 分析:主程序中状态:亮 1灯左移循环,中断 程序中的状态:以 1 秒间隔 8 灯依次亮起,再依次熄 灭,循环3次后返回。
二、定时/计数器的控制寄存器 与定时/计数器有关的控制寄存器有3个: 1、定时器控制寄存器TCON(88H) SFR寄存器TCON既参与定时控制又参与中断控 制,有关定时控制的有4位,表示如下: