MCS-51单片机的中断系统与定时计数器-精品

合集下载

51单片机的内部资源

51单片机的内部资源
01
T1
RX TX
EX0 1 EA 1 IE0
ET0 1 TF0
EX1 1 IE1
ET1 1 TF1
RI TI ≥1
SCON
ES 1
IP
PX0 1 0
PT0 1 0
PX1 1 0
PT1 1 0
PS 1 0
硬件查询




1


级 中断入口
中断源


0




级 中断入口
中断源
三、中断请求源
51单片机的五个中断请求源 : (1)INT0—外部中断请求0,由引脚INT0 (P3.2)输入,中断
中断请求
执行主 程序
断点
继续执行 主程序
中断响应
执行 中断 处理 程序
中断返回
主程序:CPU正常情况下运行的程序称为主程序。
中断源:把向CPU提出中断申请的设备称为中断源。
中断请求:由中断源向CPU所发出的请求中断的信号称中断 请求。
中断响应:CPU在满足条件情况下接受中断申请,终止现行 程序执行转而为申请中断的对象服务称中断响应。
IE0=0,无中断请求。
IE0=1,外部中断0有中断请求。当CPU响应该中断,转向中 断服务程序时,由硬件清“0”IE0。
(3)IT1—外部中断请求1为跳沿触发方式还是电平触发方式, 意义与IT0类似。
(4)IE1—外部中断请求1的中断请求标志位,意义与IE0类似。
(5)TF0—T0溢出中断请求标志位。 T0计数后,溢出时,由硬件置“1”TF0,向CPU申请中断,
串行中断是为串行数据传送的需要而设置的。每当串行 口发送或接收一组串行数据时,就产生一个中断请求。

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能够检测到电平的跳变。

MCS-51单片机的中断系统

MCS-51单片机的中断系统

MCS-51单⽚机的中断系统单⽚机中断技术概述在任何⼀款事件驱动型的CPU⾥⾯都应该会有中断系统,因为中断就是为响应某种事件⽽存在的。

中断的灵活应⽤不仅能够实现想要的功能,⽽且合理的中断安排可以提⾼事件执⾏的效率,因此中断在单⽚机应⽤中的地位是⾮常重要的。

单⽚机中断(Interrupt)是硬件驱动事件,它使得CPU暂停当前的主程序,转⽽去执⾏⼀个中断服务⼦程序。

为了更形象地理解中断,下⾯以学⽣上⾃习时接电话为例阐述⼀下中断的概念。

单⽚机的中断系统有5个中断源、2个中断优先级,可实现两级中断服务程序嵌套。

如果单⽚机没有中断系统,单⽚机的⼤量时间可能会浪费在查询是否有服务请求发⽣的定时査询操作上。

采⽤中断技术完全消除了单⽚机在査询⽅式中的等待现象,⼤⼤地提⾼了单⽚机的⼯作效率和实时性。

单⽚机中断系统结构及中断控制中断系统结构图如图5-2所⽰。

由图5-2可见,MCS-51中断系统共有5个中断请求源:INT0——外部中断请求0,中断请求信号由INT0引脚输⼊。

定时/计数器T0计数溢出发出的中断请求。

INT1——外部中断请求1,中断请求信号由INT1引脚输⼊。

定时/计数器T1计数溢出发出的中断请求。

串⾏⼝中断请求。

中断优先级从⾼到底排列。

单⽚机如何知道有中断请求信号?是否能够响应该中断?若5个中断源请求信号同时到来,单⽚机如何响应?这些问题都可以由中断寄存器来解决。

单⽚机中断寄存器有中断标志寄存器TCON和SCON、中断使能寄存器IE和中断优先级寄存器IP,这些寄存器均为8位。

中断标志寄存器5个中断请求源的中断请求标志分别由TCON和SCON的相应位锁存,单⽚机通过这些中断标志位的状态便能知道具体是哪个中断源正在申请中断。

TCON寄存器TCON寄存器为定时/计数器的控制寄存器,字节地址为88H,可位寻址。

特殊功能寄存器TCON的格式如图5-3所⽰。

TCON各标志位功能如下。

TF1——定时/计数器T1的溢出中断请求标志位。

单片机功能部件

单片机功能部件
串行口中断:串行口的接收中断标志RI(SCON.0)和发送中断标志TI(SCON.1)逻辑或以后作为内部的一个中断源。当串行口发送完一个字符由内部硬件置位发送中断标志TI,接收到一个字符后也由内部硬件置位接收中断标志RI。应该注意,CPU响应串行口的中断时,并不清‘0’ TI和RI中断标志,TI和RI必须由软件清0(中断服务程序中必须有清 TI、RI的指令)。
所谓中断是指,单片机内部有一个中断管理系统,它对内部的定时器事件、串行通信的发送和接收事件及外部事件(如键盘按键动作)等进行自动的检测判断,当有某个事件产生时,中断管理系统会置位相应标志通知CPU,请求CPU迅速去处理。CPU检测到某个标志时,会停止当前正在处理的程序流程,转去处理所发生的事件(针对发生的事件,调用某一特定的函数,称为该事件的中断服务函数),处理完以后,再回到原来被中断的地方,继续执行原来的程序。这个过程称为中断。(CPU对中断标志的检测是在程序指令执行的周期中顺带进行的,不影响指令的连续执行。 )
ES: 串行口中断允许位。
ES = 1,允许串行口中断;
ES = 0禁止串行口中断。 Nhomakorabea(2)中断优先级控制 MCS-51有两个中断优先级,每一中断请求源可编程为高优先级中断或低优先级中断,实现二级中断嵌套。一个正在被执行的低优先级中断服务程序能被高优先级中断所中断,但不能被另一个同级的或低优先级中断源所中断。若CPU正在执行高优先级的中断服务程序,则不能被任何中断源所中断,一直执行到结束,遇到返回指令RETI,返回主程序后再执行一条指令才能响应新的中断源申请。 *为了实现上述功能,MCS-51的中断系统有两个不可寻址的优先级状态触发器,一个指出CPU是否正在执行高优先级中断服务程序,另一个指出CPU是否正在执行低级中断服务程序。这两个触发器的‘1’状态分别屏蔽所有的中断申请和同一优先级的其他中断源申请。 另外,MCS-51的片内有一个中断优先级寄存器IP(IP为特殊功能寄存器,它的字节地址为B8H,可位寻址),其格式如下:

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

MCS-51单片机的定时器计数器

MCS-51单片机的定时器计数器

1. 定时器T0/T1 中断申请过程
(1)在已经开放T0/T1中断允许且已被启动的前提下, T0/T1加1计满溢出时 TF0/TF1标志位自动置“1” ;
(2)CPU 检测到TCON中TF0/TF1变“1”后,将产生指 令:LCALL 000BH/LCALL 001BH 执行中断服务程序;
(3)TF0/TF1标志位由硬件自动清“0”,以备下次中断申
郑州大学
docin/sundae_meng
(3)工作方式寄存器TMOD
T1
T2
GATE C / T M1 M0 GATE C / T M1 M0
M1,M0:工作方式选择位 。
=00:13位定时器/计数器; =01:16位定时器/计数器(常用); =10:可自动重装的8位定时器/计数器(常用); =11:T0 分为2个8位定时器/计数器;仅适用于T0。 C/T :定时方式/计数方式选择位。 = 1:选择计数器工作方式,对T0/T1引脚输入的外部事件 的负脉冲计数; = 0 :选择定时器工作方式,对机器周期脉冲计数定时。 如下页图所示。
CPL P1.0 MOV TH0,#15H MOV TL0,#0A0H
START:MOV SP,#60H MOV P1,#0FFH
SETB TR0 POP PSW
MOV TMOD,#01H MOV TH0,#15H MOV TL0,#0A0H
POP ACC RETI END
SETB EA
Байду номын сангаас
SETB ET0
定时器/计数器0采用工作方式1,其初值为:
21650ms/1s=6553650000=15536=3CB0H
电路图如下:
郑州大学
docin/sundae_meng

第五章 MCS-51的中断系统

第五章 MCS-51的中断系统

第5章MCS-51单片机的中断系统【例5-1】设允许外部中断0和串行口中断,禁止其它中断源的中断申请。

试根据假设条件设置IE的相应值。

解:⑴用位操作指令来编写如下程序段:SETB EX0 ;允许外部中断0中断SETB ES ;允许串行口中断CLR EX1 ;禁止外部中断1中断CLR ET0 ;禁止定时器/计数器T0中断CLR ET1 ;禁止定时器/计数器T1中断SETB EA ;CPU开中断⑵用字节操作指令来编写:MOV IE, #91H【例5-2】设置中断优先级控制寄存器IP的初始值,使得8031的2个外中断请求为高优先级,其它中断请求为低优先级。

解:⑴用位操作指令SETB PX0;2个外中断为高优先级SETB PX1CLR PS ;串行口、2个定时器为低优先级中断CLR PT0CLR PT1⑵用字节操作指令MOV IP,#05H【例5-3】假设允许外部中断0中断,并设定它为高级中断,其它中断源为低级中断,采用跳沿触发方式。

在主程序中可编写如下程序段:SETB E A ;EA位置“1”,CPU开中断SETB E X0 ;EX0位置“1”,允许外部中断0产生中断SETB P X0 ;PX0位置“1”,外部中断0为高级中断SETB I T0 ;IT0位置“1”,外部中断0为跳沿触发方式【例5-4】根据图5-9的中断服务程序流程,编写出中断服务程序。

假设现场保护只需要将PSW寄存器和累加器A的内容压人堆栈中保护起来。

解一个典型的中断服务程序如下:INT: CLR E A ;CPU关中断PUSH PSW ;现场保护PUSH ASETB E A ;CPU开中断中断处理程序段CLR E A ;CPU关中断POP A ;现场恢复POP PSWSETB E A ; CPU开中断RETI ;中断返回,恢复断点上述程序有几点需要说明的是:⑴本例的现场保护假设仅仅涉及到PSW和A的内容,如果还有其它的需要保护的内容,只需要在相应的位置再加几条PUSH和POP指令即可。

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

第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,否则会再 一次引起中断响应。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
T
位序
D7
位定义 GATE
定位器
D6 D5 D4 D3 CT/ M1 M0 GATE
T1
D2 D1 D0 M1 M0
T0
22
4.6 定时/计数器的控制方法
M1 M0
工作方式
0 0 方式0,13位定时器/计数器。
0 1 方式1,16位定时器/计数器。
1 0 方式2,8位常数自动重新装载
1 1 方式3,仅适用于T0,T0分成两个8位计数器,T1 停止计数。
了解单片机中断系统和定时器/计算器基本知识。 掌握中断系统和定时器相关寄存器设置。 能够掌握I/O的控制方式 掌握中断系统和定时器的程序设计。 能够利用Keil进行单片机的中断系统和定时器程序调试。 掌握基于PROTEUS的中断系统和定时器电路的仿真调试 了解计数器初值计算
2
4.1 概述
4.6.2 定时/计数器的初始化 4.6.3 定时/计数器初值的确定方法
25
4.7 定时/计数器T0、T1的工作方式
4.7.1 方式0 13位方式
26
4.7 定时/计数器T0、T1的工作方式
4.7.1 方式1 16位方式 4.7.3 方式2 8位自动装入时间常数方式
4.7.4 方式3 双8位方式。
18
4.4 中断程序的设计与应用
19
4.5 定时/计数器T0、T1概述
4.5.1 定时/计数器T0、T1的结构
20
4.5 定时/计数器T0、T1概述
4.5.2 定时/计数器的原理
21
4.6 定时/计数器的控制方法
4.6.1 定时/计数器寄存器
1. 定时/计数器工作模式控制寄存器TMOD
27
4.8 定时器T0、T1应用举例
4.8.1 定时器应用举例 例4.7 现利用T0方式1产生一个50 Hz的方波,
由P1.0输出。
28
4.8 定时器T0、T1应用举例
例4.8 有一个周期为10ms的脉冲信号,加在 引脚T0/P3.4上。现要求该引脚每发生一次 负跳变,P1.0端就输出1个2ms脉宽的同步 负脉冲,如图所示。假设单片机晶振频率 为6MHz。
15
4.4 中断程序的设计与应用
例4.1触发中断0,在触发5次后,点亮LED0, 再触发5次LED0处于闪烁状态.再触发5次 LED0熄灭,然后循环
16
4.4 中断程序的设计与应用
例4.2 89C51的P1口接一个数码管,利用开 关产生外部中断0请求信号,用数码管显示 中断的次数。
17
4.4 中断程序的设计与应用
(2)中断入口
中断源
入口地址
外部中断0
0003H
定时器T0中断 000BH
外部中断1
0013H
定时器T1中断 001BH
串行口中断 0023H
8
4.2 MCS-51单片机的中断系统
4.2.3 中断控制
(1)中断允许控制奇存器IE
IE
D7 D6 D5 D4 D3 D2 D1 D0
位符号 EA — ET2 ES ET1 EX1 ET0 EX0 位地址 AFH AEH ADH ACH ABH AAH A9H A8H
自然优先级
最高级 最低级
12
4.3 中断处理过程
13
4.3 中断处理过程
4.3.1 中断响应 4.3.2 中断处理 4.3.3 中断返回 4.3.4 中断请求的撤除 4.3.5 中断响应时间 4.3.6 扩充外中断源
14
4.4 中断程序的设计与应用
4.4.1 中断程序的一般设计方法 4.4.2 中断程序应用举例
29
4.8 定时器T0、T1应用举例
4.8.2 计数器应用举例 例4.10 有一产品生产线的传送带上不断地有
中断源的扩展举例: 例4.3 利用单片机扩展5个外部中断源,中断的优
先次序为X0~X4,其中X0接到外部中断上, X1~X4接到外部中断上;单片机的P1.4~P1.7接 4个发光二极管用来作输出指示;
(1) 当有X1~X4其中一个外部中断发生时,相应的发光 二极管D1~D4点亮;
(2) 当X0外部中断发生时,4个发光二极管全亮。
实现中断及返回 能实现优先权排队 能实现中断嵌套
6
4.2 MCS-51单片机的中断系统
4.2.1 中断系统的结构
1. 中断系统的结构
7
4.2 MCS-51单片机的中断系统
4.2.2 中断源及中断入口
(1)中断源
①外部中断类(2个) ② 定时中断类(2个) ③ 串行口中断类(1个)
9
4.2 MCS-51单片机的中断系统
(2)中断请求标志寄存器
①定时器控制寄存器TCON
位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
位定义 TF1
TF0
IE1 IT1 IE0 IT0
②串行口控制寄存器SCON
位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
23
4.6 定时/计数器的控制方法
2. 定时/计数器控制寄存器TCON
TCON D7 D6 D5 D4 D3 D2 D1 D0 位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
24
4.6 定时/计数器的控制方法
3
4.1 概述
4.1.1 中断的概念
4-1
4
4.1 概述
4.1.2 引进中断技术的优点
(1)分时操作 (2)实时处理 (3)故障处理
4.1.3 中断源
(1)外部设备中断源 (2)故障源 (3)控制对象中断源 (4)定时/技术脉冲中断源
5
4.1 概述
4.1.4 中断系统的功能
MCS-51单片机的中断系统 与定时/计数器
1
【项目目标】
知识目标:
中断系统的结构。 响应中断请求的条件。 中断服务程序设计思想。 中断系统的结构。 工作方式寄存器TMOD和定时器/计数器控制寄存器TCON。 定时器/计数器的工作方式1~3方式。 定时器/计数器编程的初始化设置。
技能目标:
位定义
TI RI
10
Hale Waihona Puke 4.2 MCS-51单片机的中断系统
(3)中断优先级寄存器IP
位地址 BFH BEH BDH BCH BBH BAH B9H B8H
位定义
PS PT1 PX1 PT0 PX0
11
4.2 MCS-51单片机的中断系统
表4-2各中断源及其自然优先级
序号 1 2 3 4 5
中断源 外部中断0 定时器T0中断 外部中断1 定时器T1中断 串行口中断
相关文档
最新文档