第4章 中断系统、定时器计数器和串行口(新版)

合集下载

4_中断系统

4_中断系统

3.1 TCON定时控制寄存器
TFl和TF0: 定时器1和定时器0的溢出标志。 当定时器计满产生溢出时,由硬件自动置 “1”,并可申请中断。进入中断服务程序后, 由硬件自动清0。 也可作为程序查询的标志位,在查询方式 下应由软件来清0。
3.1 TCON定时控制寄存器
TR1和TR0: 为定时器1和定时器0的启停控制位。 将TRx清0后,可停止定时器的工作。 将该位置“1”后,可启动定时器工作。
3.3 IE中断允许寄存器
D7 EA D6 D5 ET2 D4 ES D3 ET1 D2 EX1 D1 ET0 D0 EX0
EA:CPU中断总允许位。 ES :串行口中断允许位。 ET1:定时器1中断允许位。 EX1:外部中断1的中断允许位。 ET0:定时器0的中断允许位 EX0:外部中断0的中断允许位。 ET2:定时器2中断允许位
TCON定时控制寄存器ቤተ መጻሕፍቲ ባይዱSCON串行口控制寄存器 IE中断允许寄存器
IP中断优先级寄存器
3.1 TCON定时控制寄存器
作用: 控制定时器/计数器的启、停 外部中断源的触发方式 定时器的溢出中断标志 外部中断源的中断请求标志。 其地址为88H。
3.1 TCON定时控制寄存器
中断源的入口地址分别为: 外部中断0中断: 0003H 最高级 T0定时器0中断: 000BH 外部中断1中断: 0013H T1定时器l中断: 001BH 串行口输入/输出中断: 0023H 最低级 定时器2中断: 002BH 最低级(52系列单片 机中)
3 MCS-51单片机中断系统使用
MCS-51单片机中断控制部分由4个专用 寄存器组成:
中断系统
1 中断系统概述 2 MCS-51单片机的中断系统 3 MCS-51单片机中断系统使用 4 C51中中断系统的应用

第04章 单片机中断系统 习题解答

第04章 单片机中断系统 习题解答

第4章单片机中断系统习题解答一、填空题1.MCS-51单片机有 5 个中断源。

上电复位时,同级中断的自然优先级从高至低依次为外中断0、定时器/计数器0、外中断1、定时器/计数器1、串行口,若IP=00010100B,优先级别最高者为外中断1、最低者为定时器/计数器1。

2.外部中断请求有低电平触发和下降沿触发两种触发方式。

3.MCS-51单片机5个中断源的中断入口地址为:0003H、000BH、0013H、001BH、0023H。

4.当定时器/计数器1申请中断时,TF1为 1 ,当中断响应后,TF1为 0 。

当串口完成一帧字符接收时,RI为 1 ,当中断响应后,RI为 1 ,需要软件清零。

5.中断源扩展有三种方式,分别是定时器/计数器扩展、查询方式扩展、中断控制芯片扩展。

二简答题1.MCS-51单片机有几个中断源?各中断标志是如何产生的?如何撤销的?各中断源的中断矢量分别是什么?答:MCS-51单片机有5个中断源。

外中断0/1电平触发方式,在对应引脚上检测到低电平将中断标志位IE0/1置1向CPU申请中断,边沿触发方式,在对应引脚上检测到负跳变将中断标志位IE0/1置1向CPU申请中断;定时器/计数器0/1在计数溢出时将TF0/1置1向CPU申请中断;串行口发送1帧结束将TI置1或接收1帧数据将RI置1向CPU申请中断。

对于T0/T1和边沿触发的INT0/INT1中断标志在进入中断服务程序后自动撤销;对于电平触发的INT0/INT1需在中断申请引脚处加硬件撤销电路;对于串行口中断标志TI/RI需在进入中断服务程序后用软件CLR RI或CLR TI,撤销。

它们的中断矢量分别是:0003H、000BH、0013H、001BH、0023H。

2.简述MCS-51中断过程答:中断过程分中断申请、中断响应、中断处理、中断返回4个阶段。

中断请求:各中断源根据自身特点施加合适的信号,将对应的中断标志位置1向CPU申请中断。

(C语言版)绝密版C51单片机复习题及答案

(C语言版)绝密版C51单片机复习题及答案

(C 语言版)绝密版 C51 单片机复习题及答案一填空题1、计算机中最常用的字符信息编码是( ASCII 码)。

2、MCS-51 系列单片机为( 8 )位单片机。

3、若不使用 MCS-51 片内存储器引脚( /EA )必须接(地)。

4、8031 内部有 ( 128 )个 RAM; 8051 内部有 (4K ROM )和( 128 个 RAM)。

5 、堆栈的地址由 ( SP ) 内容确定,其操作规律是“(先 ) 进(后)出”。

6 、在单片机扩展时, ( P0 ) 口和 ( P2 ) 口为地址线, (P0 ) 口又分时作为数据线。

7 、在 MCS-51 单片机中,如采用 6MHZ 晶振,一个机器周期为( 2us )。

8、当 80C51 的 RST 引脚上保持 ( 2 ) 个机器周期以上的低电平时,80C51 即发生复位。

9、当 P1 口做输入口输入数据时,必须先向该端口的锁存器写入( 1 ),否则输入数据可能出错。

10、若某存储芯片地址线为 12 根,那么它的存储容量为( 4K B )。

11、程序状态寄存器 PSW 的作用是用来保存程序运行过程中的各种状态信息。

其中 CY 为 (进位) 标志,用于无符号数加 (减) 运算,当进行(位)操作时作为位累加器。

OV 为(溢出)标志,用于有符号数的加(减)运算。

12、消除键盘抖动常用两种方法,一是采用(硬件去抖电路),用基本 RS 触发器构成;二是采用(软件去抖程序),既测试有键输入时需延时 ( 约大于 10 毫秒) 后再测试是否有键输入,此方法可判断是否有键抖动。

13、若 MCS-51 单片机采用 12MHz 的晶振频率,它的机器周期为( 1us ),ALE 引脚输出正脉冲频率为(2 MHZ )。

14 、 8051 有两个 16 位可编程定时/计数器,T0 和 T1。

它们的功能可由两个控制寄存器( TCON ) 、 ( TMOD ) 的内容决定,且定时的时间或计数的次数与( TH)、 ( TL)两个寄存器的初值有关。

单片微型计算机原理及应用_课后习题答案

单片微型计算机原理及应用_课后习题答案

《单片微型计算机原理及应用》习题参考答案姜志海刘连鑫王蕾编著电子工业出版社目录第1章微型计算机基础 (2)第2章半导体存储器及I/O接口基础 (4)第3章MCS-51系列单片机硬件结构 (11)第4章MCS-51系列单片机指令系统 (16)第5章MCS-51系列单片机汇编语言程序设计 (20)第6章MCS-51系列单片机中断系统与定时器/计数器 (26)第7章MCS-51系列单片机的串行口 (32)第8章MCS-51系列单片机系统扩展技术 (34)第9章MCS-51系列单片机键盘/显示器接口技术 (36)第10章MCS-51系列单片机模拟量接口技术 (40)第11章单片机应用系统设计 (44)第1章微型计算机基础1.简述微型计算机的结构及各部分的作用微型计算机在硬件上由运算器、控制器、存储器、输入设备及输出设备五大部分组成。

运算器是计算机处理信息的主要部分;控制器控制计算机各部件自动地、协调一致地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将计算机的处理结果用数字、图形等形式表示出来。

通常把运算器、控制器、存储器这三部分称为计算机的主机,而输入、输出设备则称为计算机的外部设备(简称外设)。

由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元CPU(Central Process Unit)。

2.微处理器、微型计算机、微型计算机系统有什么联系与区别?微处理器是利用微电子技术将计算机的核心部件(运算器和控制器)集中做在一块集成电路上的一个独立芯片。

它具有解释指令、执行指令和与外界交换数据的能力。

其内部包括三部分:运算器、控制器、内部寄存器阵列(工作寄存器组)。

微型计算机由CPU、存储器、输入/输出(I/O)接口电路构成,各部分芯片之间通过总线(Bus)连接。

以微型计算机为主体,配上外部输入/输出设备、电源、系统软件一起构成应用系统,称为微型计算机系统。

ch07定时计数与中断系统

ch07定时计数与中断系统

11000B=18H赋给TL0。
MOV TL0 , #18H
方法一:
SETB TR0
;启动T0工作
采用查询工作方式,编程如下:
LOOP:JNB TF0 , $ ;$为当前指令指针地址
ORG 0000H
CLR TF0
AJMP MAIN
SETB P1.0
;产生2µs正脉冲
ORG 0100H
MAIN:CLR P1.0 MOV TMOD , #00H;设定T0的工作方式 MOV TH0 , #0DDH ;给定时器T0送初值
MCS-51单片机复位后,IP寄存器低5位全部被清0,将所有中断 源设置为低优先级中断。
(2) 不同优先级中断请求同时发生时CPU响应的优先顺序 高优先级可以打断低优先级
(3) 相同优先级中断请求同时发生时CPU响应的优先顺序 MCS-51单片机的5个中断源,当它们处于同优先级时的优先
级顺序如下表所示。
中断服务子程序为:
SERVE: JNB P1. 0 , L1 ;若X1无故障,跳到L1
CLR P1. 3 ;点亮LED1
L1:
JNB P1. 1 , L2 ;若X2有故障,跳到L2
CLR P1. 4 ;点亮LED2
L2:
JNB P1. 2 , L3 ;若X3有故障,跳到L3
CLR P1. 5 ;点亮 LED3
(2) 内部中断源 内部中断源有定时器T0和T1溢出中断源,以及串行口发送/
接收中断源。MCS-51内部有2个定时器/计数器,我们分别称它 们为定时器T0和定时器T1,定时器T0和T1内部都有各自的计数器。 当计数器计满溢出时,分别产生溢出中断,使各自的中断标志位 TF0、TF1置“1”,产生中断请求标志。TF0和TF1为TCON寄存器 中的2位。 TF0:定时器T0的溢出中断标志位。

第4章-AT89S52中断系统

第4章-AT89S52中断系统
图4-4 SCON中的中断请求标志位
14
(2)RI—串行口接收中断请求标志位。串行口接收完一个串 行数据帧,硬件自动使RI中断请求标志置“1”。必须在中断服 务程序中用指令对RI清“0”。
3.定时器2的控制寄存器T2CON
特殊功能寄存器T2CON的字节地址为C8H,可位寻址,位地址 为C8H~CFH。格式见图4-5。
27
在同时收到几个同优先级的中断请求时,哪一个中断请求能 优先得到响应,取决于内部的查询顺序。这相当于在同一个优 先级内,还同时存在另一个辅助优先级结构,其查询顺序见表 4-1。
28
由此可见,各中断源在相同优先级的条件下,外部中断0的 中断优先权最高,T2溢出中断或EXF2中断的中断优先权最低。
5
4.1 中断技术概述 中断技术主要用于实时监测与控制,要求单片机能及时地响
应中断请求源提出的服务请求,并作出快速响应、及时处理。 这是由片内的中断系统来实现的。
当中断请求源发出中断请求时,如果中断请求被允许,单片 机暂时中止当前正在执行的主程序,转到中断服务处理程序处 理中断服务请求。
中断服务处理程序处理完中断服务请求后,再回到原来被中 止的程序之处(断点),继续执行被中断的主程序。
2
4.6 外部中断的触发方式选择 4.6.1 电平触发方式 4.6.2 跳沿触发方式
4.7 中断请求的撤销 4.8 中断服务子程序的应用设计 4.9 多外部中断源系统设计
4.9.1 定时器/计数器作为外部中断源的使用方法 4.9.2 中断和查询结合的方法 4.9.3 用优先权编码器扩展外部中断源
3
为定时器/计数器的控制寄存器,字节地址为88H,可位寻 址。特殊功能寄存器TCON的格式如图4-3所示。
图4-3 特殊功能寄存器TCON的格式

c51单片机中断详解

c51单片机中断详解

响应中断请求的条件
一、一个中断请求被响应,需满足以下 必要条件:
(1)IE寄存器中的中断总允许位EA=1。
(2)该中断源发出中断请求,即该中断源对应 的中 断请求标志为“1”。
(3)该中断源的中断允许位=1,即该中断没有 被屏蔽。
(4)无同级或更高级中断正在被服务。
二、中断响应的主要过程
中断源
或者用: MOV 0A8H,#8AH ;A8H为IE寄存器 字节地址
三、中断优先级寄存器IP 两个中断优先级,可实现两级中断 嵌套。如图所示:
每个中断源的中断优先级都是 由中断优先级寄存器IP中的相应位 的状态来控制的。 中断优先级寄存器IP,其字节地址 为B8H。
IP各个位的含义: (1)PS——串行口中断优先级
控制位 1:高优先级中断; 0:低优先级中断。
(2)PT1——定时器T1中断优先级控制位 1:高优先级中断; 0:低优先级中断。
(3)PX1——外部中断1中断优先级控制位 1:高优先级中断; 0:低优先级中断。
(4)PT0——定时器T0中断优先级控制位 1:高优先级中断; 0:低优先级中断。
(5)PX0——外部中断0中断优先级控制位 1:高优先级中断; 0:低优先级中断。
地址是固定的,不能改动。

三、中断处理 编写中断中断服务程序即可
四、中断返回
▪中断返回由专门的中断返回指令 RETI来实现。
五、中断请求的撤消 2.外部中断请求的撤消 (1)跳沿方式外部中断请求的撤消 是自动撤消的。 (2)电平方式外部中断请求的撤消。
六、外部中断的响应时间 外部中断的最短的响应时间为3
二、中断允许控制
中断允许控制寄存器IE
CPU对中断源的开放或屏蔽,由片内 的中断允许寄存器IE控制(两级控制)。 字节地址为A8H,可位寻址。格式如下:

单片机中断使用

单片机中断使用
MOV R0,#00H RE: AJMP LOOP INIT0: INC R0 MOV A,R0 MOVC A,@A+DPTR MOV P2,A RETI LED:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0D8H,90H,88H END
◆ 外部中断应用举例
◆ 中断系统
主要内容
中断系统概述
与上对比,单片机中也有同样的问题。CPU正 在执行原程序,突然,被意外事情打断,转去执行 新程序。CPU执行新程序结束后,又回到原程序中 继续执行。这样的过程就叫 。
为此将5个中断源分成高级、低级两个级别,高级优先,由IP控制。
IP
PX0
PT0
PX1
PT1
PS
——
——
——
P S —— 串口的中断优先级别 PT1 —— 定时 / 计数器T1的中断优先级别 PX1 —— 外部中断1 的中断优先级别 PT0 —— 定时 / 计数器T0的中断优先级别 PX0 —— 外部中断0 的中断优先级别
02
对于串行口中断,CPU响应中断后,没有用硬件清除中断请求标志TI、RI,即这些中断标志 不会自动清除,必须用软件清除,这是在编串行通信中断服务中应该注意的。
01
MCS-51中断请求的撤销
01
中断系统
02
外部中断应用举例
主要内容
符号
名 称
中 断 引 起 原 因
入口地址
INT0
外部中断0
P3.2引脚的低电平或下降沿信号
2个周期执行当前指令(其中含有1个周期查询)+4个周期乘除指令+2个周期长调用=8个周期。
ቤተ መጻሕፍቲ ባይዱ
最长时间
若当前指令是RET、RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期:

中断系统 4

中断系统 4

8
第四章
中断系统
4.2 MCS-51单片机的中断系统
MCS-51中断系统内部结构
2016/6/23
甘肃冶金高级技术学院
10
一、中断源及其中断服务程序入口地址
1、 MCS-51单片机有5个中断源,2个 中断优先级; • 它的中断处理程序可实现两级嵌套,有 较强的中断处理能力; • 单片机对中断系统的管理是通过相关的 专用寄存器来实现的。
甘肃冶金高级技术学院
第四章 中断系统
4.1
中 断 概 述
一、中断的概念
• 计算机系统根据需要,可以中断正常的 工作程序,改去处理外部需要处理的事 件。当外部事件处理完后再回到正常的 工作程序中。
2016/6/23
甘肃冶金高级技术学院
3
日 常 中断系统是计算机的重要指标之一。 事 务 程 序
日常生活中的中断与计算机中断的比较:
T0
T0溢出
000B H 001B H
自动
PT0(I P.1) PT1(I P.3)
内 部 中 断
T1
T1溢出
T1溢出
自动
串行 口
RI:接 收完一 帧数
接收完一帧数
TI:发 送完一 2016/6/23 帧数
0023 H
ES (IE.4) 发送完一帧数 甘肃冶金高级技术学院
RI (SCON .0)
TI (SCON .1)
1、中断允许控制寄存器IE IE EA 位地址 AF ES ET1 EX1 ET0 EX0 AC AB AA A9 A8
• IE复位值是00H,即总中断开关关闭。禁止所有中断。 • 单片机在响应中断后不能自动关中断,若想禁止中断 嵌套,必须用软件关闭。 • 软件关闭可以用字节寻址也可位寻址。 • 例:开放外部中断0: • MOV IE , #81H 或 MOV 0A8H , #81H • 或 SETB EA SETB EX0

第四章STC15F系列单片机的中断系统

第四章STC15F系列单片机的中断系统
CPU响应中断时,由硬件自动产生一个长调用指令 LCALL,此指令首先把断点处的PC值(即下一条应执行指 令的地址) 压入堆栈保护,再将中断服务程序的入口地址 送入到程序计数器PC,使程序转去执行相应的中断服务程 序。中断服务程序执行完毕,CPU返回主程序。
福建师范大学福清分校
二、中断系统的功能
3.中断返回过程 首先恢复原保留寄存器的内容和标志位的状态,这
2. 中断允许的控制 中断允许寄存器 IE
地址 B7 B6
B5
B4
B3
B2
B1
B0
复位值
IE A8H EA ELVD
EADC ES ET1
EX1
ET0
EX0
00x0 0000
EA=0,所有中断请求被屏蔽 EA=1,CPU开放中断,但各个中断源的中断请求是否允许,还要由
IE中的各个中断请求允许控制位决定 ET0:定时器/计数器T0的溢出中断允许位
0:禁止T0溢出中断;1:允许T0溢出中断 EX0:外部中断0中断允许位
0:禁止外部中断0中断;1:允许外部中断0中断
3. 中断优先的控制 中断优先级寄存器 IP
地址 B7
B6
B5 B4 B3 B2 B1 B0 复位值
IP B8H PPCA PLVD PADC PS PT1 PX1 PT0 PX0 0000 0000
些急需处理的异常情况和特殊请求,CPU暂时中止现行 程序,转去对随机发生的更紧迫事件进行处理,处理完 毕后,CPU自动返回原来的程序继续执行。
福建师范大学福清分校
一、中断系统的几个概念
中断入 口地址
一、中断系统的几个概念
中断服务 程序
中断入口地址
中断服务程序

04.1 第四章 - 单片机中断系统(TCON、IE、IP)

04.1 第四章 - 单片机中断系统(TCON、IE、IP)
❖计算机的中断应用现象
正在执行显示程序
处理键盘扫描
有人按键
单击鼠标左键
继续执行显示程序
继续处理键盘扫描
处理单击左键指令 完成鼠标操作
23:52
单片机技术
10
4.1.2 单片机中断系统
❖中断作用:
▪解决CPU与外设之间速度匹配的问题, 提高了计算机处理故障与 应变的能力。
❖相关寄存器
▪TCON、SCON、IE、IP
❖问答:
▪T0中断的入口地址? ▪5个中断源优先级从低到高的入口地址顺序是多少? ▪T1和/INT0中断的请求标志位分别是?
SETB PX1
不能
AJMP $ INT_0:CPL P1.0
因外中断源只有两个:/INT0和/INT1
RETI END
23:52
单片机技术
7
4.1.2 单片机中断系统
❖中断概念
• 指计算机在执行某一程序的过程中, 由于计算机系统内、 外的某 种原因, 而必须中止原来程序的执行, 转去执行相应的处理程序, 待处理结束之后, 再回来继续执行被中止的原程序的过程。
TFi RI 、TI
清除的方法
边沿触发时,硬件自动清除 电平触发时,软硬件清除(CLR IEi)
查询编程,软件清除(CLR TFi) 中断编程,硬件自动清除
软件清除(CLR RI 或 CLR TI)
23:52
单片机技术
17
思考与问答
❖思考:
▪51系列单片机共有几个中断源?分别是什么?如何区别? ▪中断源之间有什么关联?若两个以上中断源有效,CPU应 怎样处理谁先处理呢?
23:52
单片机技术
2
4.1.1 中断控制LED亮灭

单片机第4章

单片机第4章

中断响应及处理过程 保护断点 寻找中断源 中断处理 中断返回 保护断点和寻找中断源都是由硬件自动完成的,用户不用考虑。
4.2 MCS 51中断系统
MCS-51提供了5个中断源,2个中断优先级控制,可实现2个中断 服务嵌套。可通过程序设置中断的允许或屏蔽,设置中断的优先级。 CPU在每个机器周期的S5P2期间,会自动查询各个中断申请标志位, 若查到某标志位被置位,将启动中断机制。 MCS-51的中断源 5个中断源: 外部中断源(中断标志为IE0和IE1 ) 由P3.2端口线引入,低电平或下降沿引起。
4 MCS® 51单片机中断系统
4.1 中断系统概念
4.2 MCS 51中断系统 4.3 MCS 51中断响应过程 4.4 MCS 51中断系统编程 4.5 MCS 51外部中断扩展
4.1 中断系统概念
中断是指CPU执行正常程序时,系统中出现特殊请求,CPU暂时中 止当前的程序,转去处理更紧急的事件(执行中断服务程序),处理完 毕(中断服务完成)后,CPU自动返回原程序的过程。 作用:采用中断技术可以提高CPU效率、解决速度矛盾、实现并行 工作、分时操作、实时处理、故障处理、应付突发事件,可使多项任务 共享一个资源(CPU)。 中断与子程序的最主要区别:子程序是预先安排好的,中断是随机 发生的。 中断涉及的几个环节:中断源、中断申请、开放中断、保护现场、 中断服务、恢复现场、中断返回。
EX0/EX1/ET1/ET0/ES :分别是INT0/INT1、T0/T1、串行口的中断允 许控制位。 =0 :禁止中断; =1 :允许中断。 EA:总的中断允许控制位(总开关): =0 :禁止全部中断; =1 :允许中断。
中断优先级控制寄存器IP(0B8H)
PX0/PX1:INT0/INT1优先级控制位: =0 :属低优先级; =1 :属高优先级。 PT0/PT1:T0/T1中断优先级控制位: =0 :属低优先级; =1 :属高优先级。 PS1:串行口中断优先级控制位: =0 :属低优先级; =1 :属高优先级。

第4章 定时计数器

第4章 定时计数器

流程图
主程序:
开始 设置堆栈地址
设置TMOD方式
中断程序:
中断入口地址
重装初值
N
送定时初值
开T0中断 启动T0 计数单元赋值(20H,21H) 等待 N
(20H)-1=0? Y 20H单元赋值20 (21H)-1=0? Y 21H单元赋值60 P1.0取反 中断返回
主 程 序
程序清单 ORG 4000H LJMP MAIN ORG 401BH LJMP SER MAIN:MOV SP,#50H MOV TMOD,#10H MOV TH1,#3CH MOV TL1,#0B0H SETB EA SETB ET1 SETB TR1 MOV 20H,#20 MOV 21H,#60 HERE:SJMP $
4)工作方式3
如果定时/计数器0工作于工作方式3,那么定时/计数器1的 工作方式就因为自己的一些控制位已被定时/计数器0借用, 只能工作在方式0、方式1或方式2下,等效电路参见下图:
怎样编制计数程序?
首先必须对定时计数器进行初始化,然后再开启定时或 计数。简单的总结一下,定时计数器的初始化包括以下内 容。 (1)确定工作方式——对TMOD赋值; 如:任务中的MOV TMOD,#06H指令,设定T0为计数 器工 作方式。 (2)预置定时计数器中计数的初值—直接写入TH和TL; 如:任务中的MOV TH0,#00H 两条指令,设定计数初 值。
T1由TH1、TL1 构成,字节地址 为8DH、8BH
T0由TH0、TL0 构成,字节地址 为8CH、8AH
TCON则用于控制定时计 特殊功能寄 数器T0和T1的启动和停止 存器TMOD 计数,同时管理定时器T0 控制定时计 和T1的溢出标志等。 数器的工作 MCS-51单片机定时器/计数器逻辑结构图 方式

51单片机中断系统

51单片机中断系统

51单片机中断系统在单片机的世界里,中断系统就像是一位高效的调度员,能够让单片机在处理复杂任务时有条不紊,实现高效、实时的响应。

今天,咱们就来好好聊聊 51 单片机中断系统这个重要的概念。

咱们先来理解一下啥是中断。

想象一下,单片机正在专心致志地执行一个任务,比如说计算一组数据的平均值。

这时候,突然有个更紧急、更重要的事情发生了,比如外部设备传来了一个急需处理的数据。

这时候,单片机就得暂时放下手头正在做的事情,先去处理这个紧急任务,处理完之后再回来继续之前的工作。

这个过程,就是中断。

51 单片机的中断系统呢,有 5 个中断源。

这 5 个中断源就像是 5 个不同的紧急信号通道,分别是外部中断 0、外部中断 1、定时器/计数器0 溢出中断、定时器/计数器 1 溢出中断和串行口中断。

外部中断 0 和外部中断 1 通常是由外部的信号触发的。

比如说,你可以通过连接一个按钮到单片机的引脚,当你按下按钮时,就会产生一个外部中断信号,让单片机暂停当前的工作,去执行与这个按钮相关的处理程序。

定时器/计数器 0 溢出中断和定时器/计数器 1 溢出中断则是跟单片机内部的定时器/计数器有关。

你可以设定定时器/计数器的值,当它计数到满或者定时时间到了,就会产生中断。

这在很多需要定时操作的场景中非常有用,比如定时发送数据、定时控制电机转动等。

串行口中断则是在单片机进行串行通信时发挥作用。

当串行口接收到数据或者发送完数据时,就会产生中断,通知单片机进行相应的处理。

那单片机是怎么知道有中断发生的呢?这就得提到中断标志位了。

每个中断源都有一个对应的中断标志位,当中断发生时,这个标志位就会被置位。

单片机会定期检查这些标志位,一旦发现有标志位被置位了,就知道有相应的中断发生了。

但是,单片机也不能一有中断就马上跑去处理呀,万一首先正在执行的任务很重要不能中断呢?所以,51 单片机还有中断允许控制寄存器和中断优先级控制寄存器。

中断允许控制寄存器就像是一个总开关,你可以通过设置它来决定是否允许某个中断源产生中断。

51单片机定时器、串口、中断

51单片机定时器、串口、中断

51单⽚机定时器、串⼝、中断⽂章⽬录MCS-51功能单元⼀、定时器&计数器1. 数量:两个可编程的16位的定时器/计数器T0和T1;都是16位加法计数结构;分为⾼8位和低8位;TH0、TL0,TH1、TL1;定时器/计数器T0、T1是80C51的中断源之⼀,当数据寄存器溢出,则向CPU申请中断。

数据寄存器的复位状态为0。

为使计数值或定时值满⾜⾃⼰的要求,需预先将数据寄存器赋值,称为初值设定,中断中也要重新设定初值。

2. 定时器和计数器本质:都是计数器,对下降沿进⾏计数,计数达到溢出后置为标志位或者进⼊中断;3. 两者的区别:定时器是对内部的机械周期脉冲进⾏计数,每个脉冲都是⼀个机械周期;定时时间=机器周期*(2^L-初值) (L=13,16,8)计数器则是通过外部IO⼝进⾏脉冲计数,⼀个脉冲加⼀个数;对应IO⼝:T0-P3.4,T1-P3.5;计数长度:计数长度=(2^L-初值) (L=13,16,8)两者的模式切换通过TMOD控制4. TMOD结构图:5. TMOD详解GATE:门控位GATE =1,由中断引脚INT0(P3.2)、INT1(P3.3)和TCON中的位TR0、TR1共同控制来启动定时器/计数器GATE =0,由TR0和TR1置位来启动定时器/计数器**(⼀般为0)**C/!T:模式选择位:1时,计数器模式;0时,定时器模式;M0 & M1共同控制⼯作⽅式:项⽬开发⼀般⽤01,考试⼤概率考00;6. 启动停⽌与中断控制寄存器TCONTFx:定时器或者计数器溢出时置位1,请求中断,中断程序进⼊后⾃动清零;TRx:定时器启动控制位,当其等于1时定时器/计数器启动;7. 中断允许控制寄存器:IEETx:定时器/计数器的中断允许位EA:CPU总中断的允许位8. 定时器/计数器使⽤:(重点)⼯作⽅式的设置://设置定时器0⼯作在16位模式//C语⾔TMOD=0x01; //定时器//汇编MOV TMOD, #01H;计数初值的计算+装载:伪代码://机械周期1us,设置500us中断⼀次为FE0C//C语⾔TH0=0xFE;TL0=0x0C;//汇编MOV TH0, #0FEH ;MOV TL0, #0cH ;中断允许位的设置:伪代码://CEA=1;ET0=1;//assemblySETB EA ;turn on all interruptSETB ET0 ;turn on 0 interrupt开启定时器:伪代码://cTR0=1;//assemblySETB TR0 ;turn onCLR TR0 ;turn off !9. 使⽤实例:定时器使⽤⽅式(中断⽅式):ORG 0000H;AJMP MAIN;ORG 001BH;AJMP IRQ1;MAIN:MOV TMOD, #00H ;⼯作模式0,⾼8+低5MOV TH1, #0FCHMOV TL1, #03HSETB TR1;SETB ET1;SETB EA;AJMP $;IRQ1:MOV TMOD, #00HMOV TH1, #0FCHCPL P1.0RETI ;中断返回⼀定要加!计数器使⽤⽅式(中断⽅式):ORG 0000H;AJMP MAIN;ORG 001BH;AJMP IRQ1;MAIN:MOV TMOD, #04H ;计数器模式MOV TH1, #0FCH ;⼀千个下降沿中断⼀次 MOV TL1, #03HSETB TR1;SETB ET1;SETB EA;AJMP $;MOV TMOD, #00HMOV TH1, #0FCHCPL P1.0RETI ;中断返回⼀定要加!查询⽅式则是判断TF溢出标志,变⾼后进⼊⾃定义韩式处理数据,清空标志;⼆、并⾏⼝&串⾏⼝并⾏⼝:并⾏传输数据(不常⽤)占据资源⼤,错误率⾼,但快串⾏⼝:(重要)稳定,占据IO⼝⼩,准确,稍微慢1. 串⾏⼝控制寄存器SCON:SM0和SM1:串⾏⼝⽅式选择位;00-移位寄存器⽅式01-8位UART,波特率可变10-9位UART,波特率为fosc/64或fosc/32(PCON决定)11-9位UART,波特率可变⽅式1为常⽤通信⽅式;⽅式2、3为多机通信,⽅式0为移位寄存器,不常⽤;重要标志位:TI:发送完成标志RI:接收完成标志2. 串⼝波特率与定时器1关联,公式如下:波特率=2^SMOD * fosc / [32 * 12(2^K-初值)];(fosc系统主频)波特率翻倍寄存器:PCON只有最⾼位(SMOD)有效:为1时波特率翻倍,为0时不翻倍⽅式1串⼝通信接收代码:ORG 0000HLJMP MAINORG 0023HLJMP RX_TIMAIN:MOV SCON, #50HMOV PCON, #00HMOV TMOD, #02HMOV TH1, #0FDHMOV TL1, #0FDHSETB TR1SETB EASETB ESRX_TI:PUSH ACCMOV TH1, #0FDHMOV TL1, #0FDHMOV A, SBUF;处理POP ACCRETI发送套⽤代码:MOV SBUF, AJNB TI, $CLR TIRET三、中断系统所有中断控制位:TCON:TF1、TF0:定时器溢出标志、请求中断:IE1、IE0:外部中断溢出请求:IT1、IT0:外部中断触发⽅式选择-1下降沿触发、0低电平触发SCON:内部TI、RI触发接收发送中断。

第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

第四章中断系统

第四章中断系统
中断源 中断标志 中断允许 中断优先级 MCS-51中断系统结构 中断寄存器
一、中断源和中断请求标志
8051单片机有5个中断请求源:
▪ 外部输入中断源INT0(P3.2) 或
▪ 外部输入中断源INT1(P3.3)

▪ 片内定时器T0的溢出
▪ 片内定时器T1的溢出 ▪ 片内串行口发送或接收中断源
(2)中断服务程序入口地址(也称为中断向量)由硬件 决定,与CPU类型有关,不能更改。而子程序入口地 址由用户安排。
(3) 子程序中可以任意调用另一子程序,但中断有优先 级,同级或低级中断不能打断正在执行的同级或更高优 先级中断服务程序。
(4) 尽管子程序返回指令RET和中断返回指令RETI均会 将栈顶两个字节信息装入PC,恢复断点,但RETI还清 除相应中断优先级触发器,因此中断返回指令不可用子 程序返回指令RET代替。
INT0 INT1
单片机 T0 T1
串行口
MCS-51的中断系统——中断标 志
中断源
中断标志位
CPU
INT0
IE0
T0
TF0

INT1
IE1
程 序பைடு நூலகம்
T1
TF1
串口
TI
RI
▪ 每一个中断源都有相应的中断标志位;
▪ 某一个中断源申请中断,相应中断标志位置1。
MCS-51的中断系统——中断允许
中断源
中断标志位 中断允许
• IE0:外部中断0中断标志。其操作功能与IE1 相同。
• IT0:外中断0触发方式控制位。其操作功能与 IT1相同。
SCON寄存器——串行口控制寄存 器
SCON
76 5 4
3

单片机原理及应用第4章 AT89S51的中断系统

单片机原理及应用第4章 AT89S51的中断系统
由特殊功能寄存器TCON和SCON的相应位锁存。
1、TCON:定时器/计数器的控制寄存器
T1
T0
INT1 INT 0
T1的溢出中 断请求标志 位TF1, T1溢出时置 位,向CPU 申请中断
外部中断请 求标志位 若INT0引 脚上有中断 来,置IE1, 否则清0
外部中断 触发方式
当89S51复位 后,TCON=0
中断源
外部中断0 T0溢出中断 外部中断1 T1溢出中断 串行口中断
中断级别 最高
最低
例 设置IP寄存器的初始值,使2个外中断请求为 高优先级,其它中断请求为低优先级。
(1)用位操作指令 SETB PX0 SETB PX1 CLR PS CLR PT0 CLR PT1
(2)用字节操作指令 MOV IP,#05H
第 4章 AT89S51的中断系统
4.1 中断的概念 中断:用于实时测控
-对应-软件查询方式
4.2 AT89S51中断系统的结构
5个中断源,两级优先级。
中断系统结构示意图如下图所示。
中断标志 寄存器
中断允许 寄存器
中断优先级 寄存器
从图可见:AT89S51有
5个中断源: INT 0 , T0, INT1, T1, (TX,RX)
主程序 初始化 部分
(1)设置IE。 (2)设置IP。 (3)若是外部中断源,设置IT0,TT1触发
方式。
(4)编写中断服务程序。
例 假设允许外部中断0中断,并设定它为高级中断,其它 中断源为低级中断,采用跳沿触发方式。编写初始化程 序段:
解:
SETB EA SETB EX0 SETB PX0 SETB IT0
“1”高优先级 “0”低优先级
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二、串行口的结构
1.串口的总体结构
通过设置特殊功能寄存 器SCON、PCON来控 制串行口的工作方式与 波特率。
2.串口控制寄存器SCON
数据格式如下:
9FH 98H SM0 9EH SM1 9DH SM2 9CH REN
串行接收允许位。 由软件设置1允许接 收,设为0禁止接收
9BH TB8
9AH RB8
第4章 中断系统、定时器/计数器和串行口 4.1 中断系统 பைடு நூலகம்.2 定时器/计数 4.3 串行口
4.1 中断系统
一、输入/输出方式及中断的概念
1.输入/输出方式
CPU与外设的信息交换称为输入/输出。输入/输出方式有三 种。 无条件传送方式
数据的传送取决于程序执行 输入/输出指令,而与外设的状 态无关。它适合于与CPU同步的 快速设备或状态已知外设,软、 硬件系统简单。如:驱动继电 器、驱动数码显示器等。
6.中断请求的撤除
CPU响应某中断后,在返回之前必须撤除上一次中断请求, 否则会错误地引起另一次中断的发生。
四、外部中断源的扩展
89S51单片机只有两个外部中断源,在实际应用中可能 会遇到CPU对多个外设进行服务的情况,此时系统需要扩展外 部中断源。 外部中断源的扩展有两种方式: 1.利用查询方式扩展外部中断源。 2. 2.利用定时器扩展外部中断源。
2.方式1
T0、T1定时器/计数器的方式1相同,为16位计数器结构。方 式1的原理图如下图所示。
方式1与方式0的唯一区别在于计数位数不同,其它工作过程 相同。
方式1的定时时间计算公式如下: t=(计数最大值―x初值)×机器周期 =(216―x初值)×12/fosc 若fosc=12MHz,则方式1的最大定时时间 T=(216 ―0)×12/fosc=65.536(ms)
二、89S51中断系统结构
89S51中断系统有5个中断源,2级中断优先级。结构框图 如图所示。
中断请求标志寄存器是由定时器控制寄存器(TCON)和串 行口控制寄存器(SCON)的若干位构成,如图所示。
中断允许控制寄存器IE:控制着中断的允许与禁止。
中断优先级控制寄存器IP :89S51有2级中断优先级,每一个 中断源都可以软件设置为高级中断或低级中断,由中断优先级 控制寄存器IP控制。相应位置“1”时,此中断为高级中断,清 “0”时设置为低级中断。
例1 若设置定时器T1工作在方式0、定时功能,定时时间 t=5ms,启动由TR1控制。写出初始化程序。 解:方式0:设置M1、M0=00; 定时功能:设置C/ T =0; TR1启动:设置GATE=0; 定时时间t=5ms:由上述公式计算x初=3192=110001111000B,将 x初值的低5位(11000B)送给TL1的低5位,TL1的高3位补0, 将x初值的其余高位(1100011B)送给TH1,即设置TH1=63H, TL1=18H。 初始化程序如下: START:MOV TMOD,#00H ;设置T1方式0,定时功能 MOV TH1,#63H ;送时间常数 MOV TL1,#18H SETB TR1 ;启动T1工作
中断源 外部中断0 定时器T0中断 外部中断1 定时器T1中断 串行口中断
中断服务程序入口 地址 0003H
000BH
0013H
001BH
0023H
4.执行中断服务程序
中断服务程序的设计不仅要考虑完成相应的服务任务,而且 还要考虑现场保护与现场恢复,以便保护主程序中不应破坏的 数据。
5.中断返回
中断返回指令RETI的作用如下: (1) 清除响应时设置的优先级状态触发器; (2) 恢复主程序断点地址,即把堆栈的内容送给PC。
4.方式3 T1设置为方式3时,停止工作;T0设置为方式3时,分成两个 独立的8位定时器/计数器。T0方式3原理图如图所示。
任务演示
任务T5 —生产线零件打包机控制。 见动画十三——生产线零件打包机控制
课堂实践
利用T0定时功能,在P1.0引脚上产生周期为100ms的方波信 号,设fosc=12MHz。 见动画十四——方波发生器
三、中断的处理过程
89S51中断的处理过程:
1.中断查询
CPU在每个机器周期结束时查询中断源是否有中断申请,若没有,则继续当 前任务;若有,则自动设置相应中断请求标志位。
中断源 外部中断0 定时器T0中断 有效的申请信号 IT0位=0时, 引脚为低电平申请中断; IT0位=1时, INT0 引脚有1到0的负跳变信号 申请中断 INT0 当T0计满溢出时申请中断 IT1位=0时, 引脚为低电平申请中断; INT1引脚有1到0的负跳变信号 IT1位=1时, 申请中断 定时器T1中断
例2 若设置定时器T0工作在方式1、计数功能,计数数目为 10000次,启动由INT0 引脚控制。写出初始化程序。 解:方式1:设置M1、M0=01;计数功能:设置C/T =1; INT0 控制启动:设置GATE=1; 计数10000次:x初值=216―10000=55536=0D8F0H,将 x初值的低8位送给TL0,将x初值的其余高位送给TH0,即设置 TH0=0D8H TL0=0F0H TH0=0D8H,TL0=0F0H。 初始化程序如下: START:MOV TMOD,#0DH ;设置T0方式1,计数功能 MOV TH0,#0D8H ;送计数初值 MOV TL0,#0F0H SETB TR0 ;置TR0=1,T0启动由引脚控制
2.定时器方式寄存器TMOD
特殊功能寄存器TMOD用于控制定时器/计数器的启动方 式、计数脉冲源的选择、工作方式的选择。其各位含义如图 所示。
3.定时器控制寄存器TCON
各位含义如图所示。
二、定时器/计数器T0、T1的工作方式
定时器/计数器的基本工作过程如图所示。
1.方式0
T0、T1定时器/计数器的方式0相同,为13位计数器结构,方 式0的原理图如图所示。
注:上述只要有一个条件不满足,就不会立即响应中断。 上述只要有一个条件不满足,就不会立即响应中断。
3.响应中断
首先设置相应的优先级状态触 发器,以便屏蔽后面的同级或低级 中断请求。 保护现行程序断点地址,即把 当前PC的内容送入堆栈(硬件执行 LCALL LCALL指令)。 进入指定的中断服务程序入口 地址。 89S51规定各中断源有相应的 服务程序入口地址:
INT1
设置的标志 位 IE0=1 TF0=1
外部中断1
IE1=1
当T1计满溢出时申请中断 当发送完一帧数据时申请中断
TF1=1 TI=1 RI=1
串行口中断 当接收完一帧数据时申请中断
2.中断的响应条件
中断请求标志为1; CPU中断开放,即EA=1且相应中断允许位=1 无同级或更高优先级中断正在被服务; 为保证指令执行得正确,必须现行指令执行完,若现行指 令为中断返回RETI或访问IE、IP寄存器指令,必须执行完 该指令和紧接着的下一条指令后才能响应中断。
3.方式2
T0、T1定时器/计数器的方式2相同,为可重栽时间常数的8 位计数器结构。方式2的原理图如图所示。
TH0作为重载时间常数寄存器, 当TL0计满溢出后,设置TF0=1 申请中断,同时将TH0中的数据 自动装载到TL0中重新工作。
定时时间计算公式如下: t=(计数最大值―x初值)×机器周期 =(28 ―x初值)×12/fosc 若fosc=12MHz,则方式2的最大定时时间 28 T=( ―0)×12/fosc=0.256(ms)
任务演示
任务T4——单片机与打印机的数据传送。 见动画十二——单片机与打印机数据传送
4.2 定时器 计数器 定时器/计数器
89S51单片机内部集成有两个16位定时器/计数器T0、T1。
一、定时器/计数器T0、T1的结构
1.定时器的总体结构
定时器/计数器T0、T1的结构如图所示。
特殊功能寄存器 TH0,TLO.TH1,TL1
在9位异步通信方式 下,由于缓冲器只有 8位,故用TB8作为发 送的第9位,RB8作 为接收的第9位。 99H 98H TI RI
SM0、SM1:串行口工作方式选择位。可以设置4种工作方 发送中断 标志与接 式。 收中断标
SM0SM1 00 01 10 11 工作方 式 方式0 方式1 方式2 方式3 功能说明 8位移位寄存器方式 8位异步通信方式 9位异步通信方式 9位异步通信方式 波特率 fosc/12 T1溢出率的16或32分频 fosc的32或64分频 T1溢出率的16或32分频 志。
方式1 SM2=0 SM2=1 方式2、3 SM2=0
3.电源控制寄存器PCON
用来控制串行口的波特率倍增,以及在CHMOS系列单片机 中实现电源控制,其格式如下:
87H SMOD PD IDL
2.中断的概念
(1) 中断: CPU正在执行程序的过程中,由于CPU之外的某种原因,有 必要暂停该程序的执行,转而去执行相应的处理程序,待处理程序结 束之后,再返回原程序断点处继续运行的过程。 (2) 中断系统: 实现中断过程的软、硬件系统。 (3) 中断源: 提出中断申请的来源。中断源一般有外设、定时时钟、 故障源等。 (4) 主程序与中断服务程序: CPU执行的当前程序称为主程序。CPU转 去对突发事件的处理程序,称为中断服务程序。 (5) 中断优先级: 当多个中断源同时申请中断时,为了使CPU能够按照 用户的规定先处理最紧急的,然后再处理其他事件,中断系统设置有 中断优先权排队电路,通过用户的设置,排在前面的中断源称为高级 中断,排在后面的称为低级中断。 (6) 中断嵌套: 当CPU响应某一中断源请求而进入中断处理时,若更高 级别的中断源发出申请,则CPU暂停现行的中断服务程序,去响应优 先级更高的中断,待更高级别的中断处理完毕后,再返回低级中断服 务程序,继续原先的处理,这个过程称为中断嵌套。
SM2:允许方式2、3多机通信控制位。
相关文档
最新文档