单片机及应用_第五章_80C51单片机的中断与定时
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
逻辑实现的,如下图所示。
80C51 中断系统的控制逻辑
5.2.3 中断优先级控制
例1 解 试写出高级中断请求和低级中断请求的逻辑表达式。 高级中断请求= EA&(
IE0 &EX0 &PX0 | TF0&ET0 &PT0
IE1 &EX1 &PX1 | TF1&ET1 &PT1 (TI | RI) &ES &PS ) 低级中断请求= EA&(
5.2.2 中断控制
3. 串行口控制寄存器SCON
TI:串行发送中断请求标志位。最后一位数据位被发送完后,
TI由硬件置位,软件查询时TI可作为状态位使用。
RI:串行接收中断请求标志位,接收数据过程中,当采样到最 后一个数据位有效时,RI由硬件置位,软件查询时RI可作为状 态位使用。必须由软件清0。
int21= IE1 &EX1 &PX1 int31= TF1&ET1 &PT1
int41= (TI | RI) &ES &PS
int00= IE0 &EX0 &/PX0 int10= TF0&ET0 &/PT0
int20= IE1 &EX1 &/PX1
int30= TF1&ET1 &/PT1 int40= (TI | RI) &ES &/PS
MOV IE, #81H
MOV IP, #01H MOV SP, #02FH EXINT0:
5.2.3 中断优先级控制 例3 设80C51中断优先级控制寄存器IP的内
容为11H,试排出中断响应的先后次序。
解
中断响应的先后次序为:外部中断
0、串行中断、定时器0中断、外部中断1、 定时器1中断。
5.2.3 中断优先级控制
3. 中断嵌套
中断优先级的作用不仅体现在中断响应时,而且也体现在
中断服务过程中,即允许把正在进行的中断服务暂停下来, 而转去进行优先级更高的中断服务,这就是中断嵌套。
5.2.2 中断控制
2. 定时器控制寄存器TCON
TF0和TF1: 定时器( T0和T1 )溢出标志位。硬件置1,并自 动产生定时中断请求。也可作为状态位供查询。
IE0和IE1:外部中断请求标志位。中断到来时由硬件置1,请求
中断;进入中断服务后硬件自动清0。
IT0和IT1:外部中断触发方式控制位,通过软件置位或清除, 用来控制触发类型。=1时,下降沿触发;=0时,低电平触发。
例4 设高低两个优先级触发器的输出信号分别为PRI_1和PRI_0, 试结合高低级中断请求信号写出中断信号的逻辑表达式。 解 中断= /PRI_1 && (高级中断请求 ||
/PRI_0 && 低级中断请求)
5.2 80C51单片机的中断系统 5.2.4 中断响应过程
80C51的中断响应过程分为三步:
2. 中断查询
中断查询是查看是否有中断请求发生并确定是哪一个中断源的 中断请求。
中断查询操作是由CPU检测有无高级或低级中断请求信号实现 的。所有中断请求最终都要反映到这两个信号上。
80C51单片机是在每一个机器周期的最后一个状态S6进行中断
查询,查询按优先级顺序进行。如果查询到有一个中断请求信 号为1,则表明有中断请求发生,接着就从相邻的下一个机器 周期的S1状态开始进行中断响应。
IE、IP的指令,而后又接着n条类似指令,中断的响应时 间可能更长。
5.2 80C51单片机的中断系统
5.2.5 中断服务程序
当单片机接收到一个中断请求信号后,就挂起它的当前操作,保存
其工作状态,并将控制权转交给中断服务程序,以便通过执行中断服务
程序(Interrupt Handler)来完成该中断所对应的操作。 1. 主程序中的中断初始化 中断都是在运行主程序时发生的,是主程序的随机事件。是否允 许中断及中断如何产生,都应该在主程序中预先设置,这就是主程序中
5.1 中断概述
中断(Interrupt)是一种被广泛使用的计算机 技术。
中断技术实质上是一种资源共享技术,是解决
资源竞争的有效方法,最终实现多项任务共享一 个资源。在计算机中通常只有一个CPU,任何时 刻它只能进行一项工作,而它所面对的任务却可 能是多个,它就是哪个被竞争共享的资源。
5.1 中断概述
5.2 80C51单片机的中断系统 5.2.3 中断优先级控制
1. 中断优先级定义原则
① 中断事件的轻重缓急程度。紧急要紧的事件,如电源故障有使 整个系统瘫痪的危险,必须及时处理,应安排为高优先级。
② 中断设备的工作速度。快速设备需要及时响应,否则将有丢失 数据的危险,所以应安排为高优先级。 ③ 中断处理的工作量。尽量把处理工作量小的中断安排为高优先 级,因为处理工作量小,占用CPU的时间短。 ④ 中断请求发生的频繁程度。可以考虑将那些很少请求单片机干
5.2.4 中断响应过程
3. 中断响应
中断响应就是对中断源提出中断请求的接受。 在一次中断查询之后,当发现有中断请求时,紧 接着就进行中断响应。
中断响应的主要内容是由硬件自动生成一条长 调用指令(LCALL addr16(中断向量)),接 着执行这条指令。
5.2.4 中断响应过程
3. 中断响应
5.2.3 中断优先级控制
中断向量= {00-0000-0000, EA& ( int41 & /(int01 | int11 | int21 | int31) | /高级中断请求& int40 & /(int00 | int10 | int20 | int30) ), EA& ( (int21 | int31) & /(int01 | int11) | /高级中断请求& (int20 | int30) & /(int00 | int10) ), EA& ( int11 & /int01 | int31 & /(int01 | int11 | int21) ) | /高级中断请求& ( int10 & /int00 | int30 & /(int00 | int10 | int20) ) ), 011}
的中断初始化。
中断初始化的内容包括中断系统总开放、中断允许设置、中断请 求方式设置(只限外部中断)和中断优先级设置等。
5.2 80C51单片机的中断系统 5.2.5 中断服务程序
1.
主程序中的中断初始化
例5 外部中断0的初始化
ORG ORG MAIN: 0000H ;系统复位后转向主程序 ;转向外部中断0服务程序 ;脉冲触发方式 0003H AJMP MAIN AJMP EXINT0 MOV TCON, #01H
中断源:中断请求的来源。80C51有6个中断 源,即2个外部中断、2个定时器中断和2个串行 中断。 中断向量 (Interrup Vector)):中断的服 务程序的入口地址。中断发生后要通过它引导 CPU转向相应的中断服务。正因为它具有指向 性,所以称其为中断向量(或中断矢量)。
5.2.1 中断源与中断向量 80C51的中断向量表 中断源 中断向量 外部中断0 0003H 定时器0中断 000BH 外部中断1 0013H 定时器1中断 001BH 串行中断 0023H
指令,则需把当前指令执行完再继续执行一条指令后,才
能进行中断响应。这些指令中最长执行时间需2个机器周 期。而如果接着再执行的指令恰好是MUL(乘)或DIV(除) 指令,则又需4个机器周期。再加上执行长调用指令 LCALL所需的2个机器周期,从而形成了8个机器周期的响
应时间。如果中断查询刚好是开始执行RET、RETI或访问
计算机中的资源竞争,通常是因计算机在运行程序时 会发生一些可预测或不可预测的随机事件引起的。譬如:
与计算机“并行”工作的输入/输出设备发出的中断请 求;
硬件故障、运算错误及程序出错时产生的中断请求;
当对运行中的计算机进行干预时,通过键盘输入的命 令;
来自被控对象的中断请求。
5.2 80C51单片机的中断系统 5.2.1 中断源与中断向量
中断响应是有条件的,并不是查询到的中断请求都能立即
响应。当存在下列情况之一时,中断响应将被封锁:
① CPU正处在为一个同级或更高级的中断服务中。
② 查询中断请求的机器周期不是当前指令的最后一个机器 周期。 ③ 当前指令是返回指令(RET,RETI)或访问IE、IP的指令。
5.2.4 中断响应过程 4. 中断响应的快慢
|
|
IE0 &EX0 &/PX0 | TF0&ET0 &/PT0 IE1 &EX1 &/PX1 | TF1&ET1 &/PT1 (TI | RI) &ES &/PS )
| |
5.2.3 中断优先级控制
例2 试写出中断向量的逻辑表达式。 解 令 int01= IE0 &EX0 &PX0
int11= TF0&ET0 &PT0
5.2 80C51单片机的中断系统
5.2.2 中断控制
80C51提供给用户使用的中断控制手段 有4项:中断允许控制、中断请求标志、 中断优先级控制和外中断触发控制。这些
控制内容分布在4个控制寄存器中。
5.2.2 中断控制
1. 中断允许控制寄存器IE
EX0和EX1 :外部中断允许控制位。 ET0和ET1:定时器中断允许控制位。 ES:串行中断允许控制位。 EA:中断允许总控制位。
五、要求 实验前必须做好准备:
仔细阅读实验指导书; 编写好程序,画出电路图; 写出实验步骤。
实验
六、实验结果的检查 现场检查 实验报告
实验内容 实验目的 实验设计(包括硬件电路和程序) 实验过程遇到的问题及解决方法 结果和小结
第5 章
80C51单片机的中断与定时
主要内容:
5.1 中断概述 5.2 80C51单片机的中断系统 5.3 80C51单片机的定时器/计数器
中断可以多层嵌套。 80C51只有两个优先级,中断嵌套只能一次,其原则是:
高优先级中断请求可以打断低优先级的中断服务,进行中断嵌套; 同优先级的中断不能嵌套; 低优先级中断请求不能对高优先级的中断进行嵌套。
5.2.3 中断优先级控制 3. 中断嵌套 在80C51中,为了实现中断嵌套,除需使用中断优 先级寄存器(IP)定义高、低两个优先等级外,还需要 两个优先级触发器的配合,以指示当前中断服务情况, 并屏蔽同级和低级中断。
5.2.2 中断控制
4. 中断优先级控制寄存器IP
PX0:外部中断0优先级设定位,=1时为高级。
PT0:定时器0中断优先级设定位,=1时为高级。
PX1:外部中断1优先级设定位,=1时为高级。 PT1:定时器1中断优先级设定位,=1时为高级。 PS:串口中断优先级设定位,=1时为高级。wenku.baidu.com
预的事件产生的中断安排为高优先级。
5.2.3 中断优先级控制 2. 中断优先原则在中断响应时的体现
① 高优先级中断请求优先响应。
② 同级中断请求按CPU查询次序确定哪个中断请求 被响应。其查询次序为: 外部中断0→定时器0中断→外 部中断1→定时器1中断→串行中断。
中断响应时的中断优先原则是通过由中断标志、中断 允许控制及中断优先级控制所构成的中断系统总体控制
实验
一、实验箱:DICE-598K3 多合一单片机微机 实验仪
实验
一、实验箱:DICE-598K3 多合一单片机微机 实验仪
实验
二、实验指导书 三、软件安装
1、KEIL51 2、USB转串口的驱动程序 3、仿真调试:生成 .HEX文件,并下载 4、集成开发环境
实验
四、实验安排
我们总共做5个实验:3个基本实验(两字节十进 制加法、 跑马灯、计时器),2个综合实验(楼 道照明灯、交通灯、秒表,三选二)。实验按课 表安排、下周开始。 每人一个实验台,独立完成。
如果中断查询的机器周期恰好是指令的最后一个机器周期, 则最快只需3个机器周期就可以转向中断服务程序的入口。 其中查询占1个机器周期,在这个机器周期结束后中断即 被响应,生成 LCALL指令。执行这条长调用指令需要2个
机器周期。
5.2.4 中断响应过程 4. 中断响应的快慢
如果中断查询刚好是开始执行RET、RETI或访问IE、IP的
1. 外部中断请求采样
只有外部中断请求才有采样问题,只有通过采样才能知道是否
有外部中断请求。
采样是在每个机器周期的S5P2(第5状态第2拍节)对芯片引脚
INT0(P3.2)和INT1(P3.3)进行的,根据采样结果来设置定时器控
制寄存器TCON外部中断标志位IE0和IE1的状态。
5.2.4 中断响应过程