单片机时钟、复位、中断教案.

上传人:我** 文档编号:117156820 上传时间:2019-11-18 格式:PPT 页数:63 大小:1.03MB
返回 下载 相关 举报
单片机时钟、复位、中断教案._第1页
第1页 / 共63页
单片机时钟、复位、中断教案._第2页
第2页 / 共63页
单片机时钟、复位、中断教案._第3页
第3页 / 共63页
单片机时钟、复位、中断教案._第4页
第4页 / 共63页
单片机时钟、复位、中断教案._第5页
第5页 / 共63页
点击查看更多>>
资源描述

《单片机时钟、复位、中断教案.》由会员分享,可在线阅读,更多相关《单片机时钟、复位、中断教案.(63页珍藏版)》请在金锄头文库上搜索。

1、1 图2-13 内部时钟方式电路 2 2.6.2 机器周期、指令周期 各种指令的时序与振荡周期相关。 1振荡周期 时钟控制信号的基本时间单位。若晶振频率为 fosc,则 振荡周期 Tosc=1/fosc。如 fosc=12MHz,Tosc=1/12s。 2机器周期 CPU完成一个基本操作所需时间为机器周期。执行一条 指令分为几个机器周期。每个机器周期完成一个基本操作, 如取指令、读或写数据等。每12个振荡周期为1个机器周期 。 2 3 1个机器周期包括12个振荡周期,分6个状态:S1S6 。每个状态又分两拍(相):P1和P2。因此,一个机器 周期中的12个振荡周期表示为S1P1、S1P2、S2

2、P1、 S2P2、S6P2,如图2-16所示。 3 图图2-16 AT89S51的机器周期 4 3指令周期 执行一条指令所需的时间。简单的单字节指令,取出指 令立即执行,只需一个机器周期的时间。而有些复杂的指 令,如转移、乘、除指令则需两个或多个机器周期。 从指令执行时间看: 单字节和双字节指令一般为单机器周期和双机器周期; 三字节指令都是双机器周期; 乘、除指令占用4个机器周期。 4 5 2.7 复位操作和复位电路 单片机的初始化操作,给复位脚RST加上大于2个机器周期(即 24个振荡周期)的高电平就可使AT89S51复位。 2.7.1 复位操作 复位时,PC初始化为0000H,程序从000

3、0H单元开始执行。 除系统的正常初始化外,当程序出错(如程序跑飞)或操作错 误使系统处于死机状态时,需按复位键使RST脚为高电平, 使AT89S51摆脱“跑飞”或“死机”状态而重新启动程序。 6 复位操作还对SFR寄存器产生影响,这些寄存器复位时 的状态见表2-7。 由表2-7可看出,复位时,SP=07H ,而P0P3引脚均 为高电平。 在某些控制应用中,要注意考虑P0P3引脚的高电平 对接在这些引脚上的外部电路的影响。 例如,当P1口某个引脚外接一个继电器绕组,当复位 时,该引脚为高电平,继电器绕组就会有电流通过,就会 吸合继电器开关,使开关接通,可能会引起意想不到的后 果。 6 7 8 2

4、.7.2 复位电路设计 8 图图2-18 上电电复位电电路 R=8.2k C=10F =R*C=82ms 9 9 图图2-19 手动动复位电电路 10 第5章 AT89S51单片机的 中断系统 10 1111 第5章 目录 5.1 AT89S51中断技术概述 5.2 AT89S51中断系统结构 5.2.1 中断请求源 5.2.2 中断请求标志寄存器 5.3 中断允许与中断优先级的控制 5.3.1 中断允许寄存器IE 5.3.2 中断优先级寄存器IP 5.4 响应中断请求的条件 5.5 外部中断的响应时间 12 5.6 外部中断的触发方式选择 5.6.1 电平触发方式 5.6.2 边沿触发方式

5、5.7 中断请求的撤销 5.8 中断服务子程序的设计 5.9 多外部中断源系统设计 13 内容概要 n介绍片内功能部件中断系统的硬件结构和工作原理。 n掌握与中断系统有关的特殊功能寄存器以及中断系统的 应用特性。 n应能熟练地进行中断系统的初始化编程以及中断服务子 程序的设计。 14 5.1 AT89S51中断技术概述 中断技术主要用于实时监测与控制,要求单片机能及 时地响应中断请求源提出的服务请求,并作出快速响应、 及时处理。这是由片内的中断系统来实现的。 当中断请求源发出中断请求时,如果中断请求被允许 ,单片机就会暂时中止正在执行的主程序,转到中断服务 子程序去处理中断服务请求。 中断服务

6、子程序处理完中断服务请求后,再回到原来 被中止的程序之处(断点),继续执行被中断的主程序。 图5-1为整个中断响应和处理过程。 14 1515 图5-1 中断响应和处理过程 16 如果单片机没有中断系统,CPU将会花费大量的时间进行 查询操作。 采用中断技术完全消除了单片机在查询方式中的等待现象 ,大大地提高了单片机的工作效率和实时性。 5.2 AT89S51中断系统结构 中断系统结构图如图5-2所示。 中断系统有5个中断请求源(简称中断源),两个中断优 先级,可实现两级中断服务程序嵌套。 每一中断源可用软件独立控制为允许中断或关中断状态, 中断优先级均可用软件来设置。 16 17 5.2.1

7、 中断请求源 由图5-2可见,AT89S51中断系统共有5个中断请求源: (1) 外部中断请求0,中断请求信号由 引 脚输入,中断请求标志为IE0。 (2) 外部中断请求1,中断请求信号由 引 脚输入,中断请求标志为IE1。 (3)定时器/计数器T0计数溢出发出的中断请求,中断请 求标志为TF0。 (4)定时器/计数器T1计数溢出发出的中断请求,中断请 求标志为TF1。 (5)串行口中断请求,中断请求标志为发送中断TI或接收 中断RI。 17 1818 图图5-2 AT89S51的中断系统结统结 构示意图图 19 5.2.2 中断请求标志寄存器 5个中断请求源的中断请求标志分别由TCON和SC

8、ON 的相应位锁存。 1. TCON寄存器 为定时器/计数器的控制寄存器,字节地址为88H,可位 寻址。特殊功能寄存器TCON的格式如图5-3所示。 19 图图5-3 特殊功能寄存器TCON的格式 20 TCON各标志位功能如下: (1)TF1定时器/计数器T1的溢出中断请求标志位。 当T1计数产生溢出时,由硬件使TF1置“1”,向CPU申请中断 。CPU响应TF1中断时,TF1标志由硬件自动清“0”,TF1也 可由软件清“0”。 (2)TF0定时器/计数器T0的溢出中断请求标志位,功能 与TF1类似。 (3)IE1外部中断请求1的中断请求标志位。 (4)IE0外部中断请求0中断请求标志位,功

9、能与IE1类似 。 (5)IT1选择外部中断请求1为边沿触发还是电平触发。 20 21 IT1=0,电平触发方式,引脚 上低电平有效,并把IE1 置“1”。转向中断服务程序时,由硬件自动把IE1清“0”。 IT1=1,边沿触发方式,加到引脚 上的外部中断请求 为从高到低的负跳变,并把IE1置“1”。转向中断服务程序 时,由硬件自动把IE1清“0”。 (6)IT0选择外部中断请求0为边沿触发方式还是电平 触发方式,其意义与IT1类似。 AT89S51复位后,TCON被清“0”,5个中断源的中断 请求标志均为0。 TR1(D6位)、TR0(D4位)这2位与中断系统无关 ,将在第6章定时器/计数器中

10、介绍。 21 22 2. SCON寄存器 串行口控制寄存器,字节地址为98H,可位寻址。 低二位锁存串行口的发送中断和接收中断的中断请求标 志TI和RI,格式如图5-4所示。 图5-4 SCON中的中断请求标志位 各标志位的功能: (1)TI串行口的发送中断请求标志位。每发送完一 帧串行数据后,TI自动置“1”。TI标志必须由软件清“0”。 22 23 (2)RI串行口接收中断请求标志位。串行口接收完一个 串行数据帧,硬件自动使RI中断请求标志置“1”。必须在中断 服务程序中用指令对RI清“0”。 5.3 中断允许与中断优先级的控制 中断允许控制由中断允许寄存器IE控制。 中断优先级控制由中断

11、优先级寄存器IP控制。 5.3.1 中断允许寄存器IE AT89S51的对各中断源的开放或屏蔽,是由中断允许寄存 器IE控制的。 IE字节地址为A8H,可位寻址,格式如图5-5所示。 23 24 图5-5 中断允许寄存器IE的格式 IE对中断的开放和关闭实现两级控制。 有一个总的中断控制位EA(IE.7位), EA=0时,所有的中断请求被屏蔽; EA=1时,开放中断,但5个中断源的中断请求是否允许 ,还要由IE中的低5位所对应的5个中断请求允许控制位的 状态来决定(图5-5)。 24 25 IE中各位功能如下: (1)EA中断允许总开关控制位。 EA=0,所有的中断请求被屏蔽。 EA=1,所有

12、的中断请求被开放。 (2)ES串行口中断允许位。 ES=0,禁止串行口中断。 ES=1,允许串行口中断。 (3)ET1定时器/计数器T1的溢出中断允许位。 ET1=0,禁止T1溢出中断。 ET1=1,允许T1溢出中断。 (4)EX1外部中断1中断允许位。 25 26 EX1=0,禁止外部中断1中断。 EX1=1,允许外部中断1中断。 (5)ET0定时器/计数器T0的溢出中断允许位。 ET0=0,禁止T0溢出中断。 ET0=1,允许T0溢出中断。 (6)EX0外部中断0中断允许位。 EX0=0,禁止外部中断0中断。 EX0=1,允许外部中断0中断。 27 AT89S51复位以后,IE被清“0”,

13、所有中断请求被禁止。 IE中与各个中断源相应的位可用指令置“1”或清“0”。 若使某一个中断源被允许中断,除了IE相应的位被置“1” 外,还必须使EA位置“1”。 改变IE的内容,可由位操作指令来实现(即SETB bit; CLR bit),也可用字节操作指令实现。 27 28 【例5-1】 若允许片内2个定时器/计数器中断,并禁止 其他中断源的中断请求,请编写设置IE的相应程序段。 (1)用位操作指令 CLRES;禁止串行口中断 CLREX0;禁止外部中断0中断 CLREX1;禁止外部中断1中断 SETBET0;允许定时器/计数器T0中断 SETBET1;允许定时器/计数器T1中断 SETB

14、EA ;总中断开关位开放 (2)用字节操作指令 MOV IE,#8AH 上述两段程序对IE的设置是相同的。 28 29 5.3.2 中断优先级寄存器IP AT89S51的中断请求源有两个中断优先级,由软件分别设 置为高优先级中断或低优先级中断,可实现: 两级中断嵌套 AT89S51正在执行低优先级中断的服务程序时,可被高优 先级中断请求所中断,待高优先级中断处理完毕后,再返回低 优先级中断服务程序。两级中断嵌套的过程如图5-6所示。 29 3030 图5-6 两级中断嵌套的过程 31 各中断源的中断优先级关系,可归纳为两条基本规则: (1)低优先级可被高优先级中断,但高优先级不能被 低优先级中

15、断。如果某一中断源被设置为高优先级中断, 则不能被任何其他的中断源的中断请求所中断。 (2)任何一种中断一旦得到响应,不会再被它的同级 中断源所中断。 中断优先级寄存器IP,其字节地址为B8H,可位寻址。 只要用程序改变其内容,可进行各中断源中断优先级的设 置,IP寄存器的格式如图5-7所示。 31 32 图5-7 IP寄存器的格式 中断优先级寄存器IP各位的含义如下: (1)PS串行口中断优先级控制位 1:高优先级 0:低优先级 (2)PT1定时器T1中断优先级控制位 1:高优先级 0:低优先级 32 33 (3)PX1外部中断1中断优先级控制位 1:高优先级 0:低优先级 (4)PT0定时

16、器T0中断优先级控制位 1:高优先级 0:低优先级 (5)PX0外部中断0中断优先级控制位 1:高优先级 0:低优先级 中断优先级控制寄存器IP用位操作指令或字节操作指令 可更新IP的内容,以改变中断优先级。 AT89S51复位以后,IP的内容为0,各个中断源均为低 优先级中断。 33 34 AT89S51的中断系统有两个不可寻址的“优先级激活” 触发器。 一个指示某高优先级的中断正在执行,所有后来的中断 均被阻止;另一个触发器指示某低优先级的中断正在执行 ,所有同级的中断都被阻止,但不阻断高优先级的中断请 求。 在同时收到几个同优先级的中断请求时,哪一个中断请 求能优先得到响应,取决于内部的查询顺序。这相当于在 同一个优先级内,还同时存在另一个辅助优先级结构,其 查询顺序见表5-1。 34 35 表5-1 同级中断的查询次序 由此可见,各中断源在同一个优先级的条件下,外部中 断0的中断优先权最高,串行口中断优先权最低。 35 36 【例5-

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号