单片机课件5章中断与定时

上传人:E**** 文档编号:92782238 上传时间:2019-07-12 格式:PPT 页数:39 大小:685.50KB
返回 下载 相关 举报
单片机课件5章中断与定时_第1页
第1页 / 共39页
单片机课件5章中断与定时_第2页
第2页 / 共39页
单片机课件5章中断与定时_第3页
第3页 / 共39页
单片机课件5章中断与定时_第4页
第4页 / 共39页
单片机课件5章中断与定时_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《单片机课件5章中断与定时》由会员分享,可在线阅读,更多相关《单片机课件5章中断与定时(39页珍藏版)》请在金锄头文库上搜索。

1、第五章 单片机的中断与 定时系统,单片机在某一时刻只能处理一个任务,当多个任务同时要求单片机处理时,这一要求应该怎么实现呢?通过中断可以实现多个任务的资源共享。 所谓的中断就是,当CPU正在处理某项事务的时候,如果外界或者内部发生了紧急事件,要求CPU暂停正在处理工作而去处理这个紧急事件,待处理完后,再回到原来中断的地方,继续执行原来被中断的程序,这个过程称作中断。 从中断的定义我们可以看到中断应具备中断源、中断响应、中断返回这样三个要素。中断源发出中断请求,单片机对中断请求进行响应,当中断响应完成后应进行中断返回,返回被中断的地方继续执行原来被中断的程序。,5.2.1 MCS-51单片机的中

2、断源 1. 外部中断源,外部中断0(,):来自,引脚,采集到低电平或者下降,沿时,产生中断请求。,外部中断1(,):来自,引脚,采集到低电平或者下降,沿时,产生中断请求。,2. 内部中断源,定时器计数器0(,):定 时功能时,计数 脉冲来自片内;,计数功能时,计数脉冲来自片外,引脚。发生溢出时,产生中,定时器计数器1(,):定时功能 时,计数 脉 冲来自片内;,计数功能时,计数脉冲来自片外,引脚。发生溢出时,产生中,串行口:为完成串行数据传送而设置。单片机完成接受或发 送 一组数据时,产生中断请求。,断请求。,断请求,5.2.2 中断控制的专用寄存器 1. 定时器控制寄存器(TCON) 该寄存

3、器用于保存外部中断请求以及定时器的计数溢出。进行字节操作时,寄存器地址为88H。按位操作时,各位的地址为88H8FH。寄存器的内容及位地址表示如下:,IT0 和IT1外部中断请求触发方式控制位 IT0 (IT1)1 脉冲触发方式,下降沿有效 IT0 (IT1)0 电平触发方式,低电平有效,IE0和IE1外中断请求标志位,当CPU采样到,(或,)端出现有效中断请求时,IE0,(IE1)位由硬件置“1”。当中断响应完成转向中断服务程序,时,由硬件把IE0(或IE1)清零。,TR0 和TR1定时器运行控制位,TR0 (TR1 )0 定时器/计数器不工作,TR0 (TR1 )1 定时器/计数器开始工作

4、,TF0和TF1计数溢出标志位,当计数器产生计数溢出时,相应的溢出标志位由硬件置“1”。,当转向中断服务时,再由硬件自动清“0”。计数溢出标志位,的使用有两种情况:采用中断方式时,作中断请求标志位,来使用;采用查询方式时,作查询状态位来使用。,2. 串行口控制寄存器(SCON),进行字节操作时,寄存器地址为98H。按位操作时,各位的地 址为98H9FH。寄存器的内容及位地址表示如下:,其中与中断有关的控制位共2位:,TI串行口发送中断请求标志位 当发送完一帧串行数据后,由硬件置“1”;在转向中断服务 程序 后,用软件清“0”。,RI串行口接收中断请求标志位 当接收完一帧串行数据后,由硬件置“1

5、”;在转向中断服务 程序后,用软件清“0”。串行中断请求由TI和RI的逻辑或得 到。,3. 中断允许控制寄存器(IE),进行字节操作时,寄存器地址为0A8H。按位操作时,各位的地,址为0A8H0AFH。寄存器的内容及位地址表示如下:,其中与中断有关的控制位共6位:,EA中断允许总控制位,EA0 中断总禁止,禁止所有中断 EA1 中断总允许,总允许后中断的禁止或允许由各中断 源的中断允许控制位进行设置。,EX0和EX1外部中断允许控制位,EX0(EX1)0 禁止外部中断 EX0(EX1)1 允许外部中断,ET0和ET1定时器/计数器中断允许控制位,ET0(ET1)0 禁止定时器/计数器中断 ET

6、0(ET1)0 允许定时器/计数器中断,ES串行中断允许控制位,ES=0 禁止串行中断 ES=1 允许串行中断,4. 中断优先级控制寄存器(IP),IP寄存器地址0B8H,位地址为0BFH0B8H。寄存器的内容,及位地址表示如下:,其中:,PX0外部中断0优先级设定位;,PT0定时中断0优先级设定位;,PX1外部中断1优先级设定位;,PT1定时中断1优先级设定位;,PS串行中断优先级设定位。,以上各位设置为“0”时,则相应的中断源为低优先级;设置为,“1”时,则相应的中断源为高优先级。,优先级的控制原则是:,低优先级中断请求不能打断高优先级的中断服务;但 高优先级,中断请求可以打断低优先级的中

7、断服务,从而实现中断嵌套。,如果一个中断请求已被响应,则同级的其它中断服务将被禁止。,即同级不能嵌套。,如果同级的多个中断同时出现,则按CPU查询次序确定哪个中,断请求被响应。其查询次序为:外部中断0定时中断0外部中,断1定时中断1串行中断。,上述四个专用寄存器的用途可以用图6.1说明。,图5.1 MCS-51中断系统,TF0,TF1,5.2.3 中断初始化与中断控制寄存器状态设置,比如,使用外部中断0(,)和外部中断1(,),,为高优先级,电平触发方式,,为低优先级,下降沿触发方式。,则初始化程序如下:,MOV IP, #01H MOV TCON, #04H SETB EA SETB EX0

8、 SETB EX1,5.2.4 中断响应过程,1. 中断采样, 电平触发方式的外中断请求(IT0/IT10)采样到高电平时,表 明没有中断请求,IE0或IE1继续为“0”。采样到低电平时,IE0/IE1 由硬件自动置“1”,表明有外中断请求发生。, 脉冲触发式的外中断请求(IT0/IT11)在相邻的机器周期采样 到的电平由高电平变为低电平时,则IE0/IE1由硬件自动置“1”, 否则为“0”。,2. 中断查询,由CPU测试TCON和SCON中的各个中断标志位的状态,确 定有那个中断源发生请求,查询时按 优先级 顺序进行查询,即 先询高优先级查询低优先级。,如果查询到有标志位为“1”,表明有中断

9、请求发生,接着 就 从相邻的下一机器周期开始进行中断响应。,3. 中断响应,当CPU查询到中断请求时,由硬件自动产生一条LCALL指令, LCALL指令执行时,首先将PC内容压入堆栈进行断点保护,再把 中断入口地址装入PC,使程序转向相应的中断区入口地址。LCALL 指令的形式如下:,LCALL addr16 ;addr16:中断入口地址,入口地址已由系统设定,如下:,编写中断服务程序的格式一般如下: ORG 0000H SJMP MAIN ORG 0003H AJMP 1NJERRVP MAIN: HERE: SJMP HERE 1NJERRVP: ;中断响应程序 RETI 并不是所有的请求

10、都被响应,当遇到下列情况之一时不响应 这些中断请求: (1)CPU正在处理一个同级或者高级的中断服务 (2)当前指令还没有执行完毕 (3)当前指令是RET、RETI或者是访问IP、IE的指令,执行完 这些指令后,还必须再执行一条指令,才响应中断请求。,5.2.5 中断请求的撤销 1. 定时中断请求的撤销 硬件自动把TF0(TF1)清0,不需要用户参与。 2. 串行中断请求的撤销 需要软件清零。 3. 外部中断请求的撤销 (1)脉冲触发方式的外中断请求撤销 中断标志位的清零是自动的,脉冲信号过后就不存在了,因此其 撤销是自动的。 (2)电平触发方式的外中断请求撤销,中断标志位的清零是自动的,但是

11、如果低电平持续存在,在 以后的机器周期采样时,又会把中断请求标志位(IE0/IE1)置位。 为此,需要外加电路,把中断请求信号从低电平强制为高电平。 电路如图5.2所示:,图5.2 电平触发方式的外中断请求撤销,5.3 MCS-51单片机的定时器/计数器,MCS-51单片机内部共有两个16位可编程的定时器/计数器,即 定时器T0和定时器T1它们既有定时功能又有计数功能。,5.3.1 结构,定时器/计数器的基本结构如图6.3所示。基本部件是两个8位计 数器(其中TH1和TL1是T1的计数器,TH0和TL0是T0的计数器)。,图5.3 定时器/计数器结构,在作定时器使用时,输入的时钟脉冲是由晶体振

12、荡器的输出 经12分频后得到的。 当它用作对外部事件计数时,接相应的外部输入引脚T0(P3.4) 或T1(P3.5)。,5.3.2 控制寄存器,1. 定时器控制寄存器(TCON),各位定义:,TF0/TF1: 查询方式:禁止中断,软件查询TF0的值,软件清“0” 中断方式:硬件查询TF0的值,硬件自动清“0”,2. 工作方式寄存器(TMOD),功能:确定定时器的工作方式及功能选择。,不能位寻址,TMOD各位的定义:,GATE:门控位 0:定时器/计数器仅受TR的控制,1:只有,为高电平,且TR=1时,定时器/计数器才工作,:功能选择位 0:定时功能 1:计数功能,:工作方式选择位,00 方式0

13、 01 方式1 10 方式2 11 方式3,3. 中断允许控制寄存器(1E),每一位的内容在前面已作详细介绍,在此不作赘述。 查询方式时:关闭中断,使用软件查询TF0/TF1 中断方式时:开放中断,使用硬件自动查询TF0/TF1,5.3.3 工方式,MCS-51的定时器/计数器共有四种工作方式。工作在方式0、方 式1和方式2时,定时器/计数器0和定时器/计数器1的工作原理完全 一样,现以定时器/计数器0为例介绍前三种工作方式。,1. 方式0(M1M0=00) (1)电路逻辑结构 方式0是13位计数结构的工作方式,其计数器由TH0全部8位 和TL0的低5位构成。TL0高三位弃之不用。图6.4 是

14、定时器/计数 器0工作在方式0的逻辑结构。,图5.4 定时器/计数器方式0逻辑结构,当,时,多 路 转换开关接通 振 荡 脉冲的12分频输出,,13位计数器以此作为计数 脉冲,这时实现定时功能当,时,,多路换开关接通计数引脚(T0),计 数 脉冲由外部引入,当计数 脉冲发生负跳变时,计数器加1,这时实现计数功能。不管哪种功 能,当13位计数 发生溢 出时,硬件自动把13位清零,同时硬件置 位溢出标志位TF0。,在这里需要说明门控位(GATE)的用途,当GATE = 0时,或,输出的高电平与,无关,此时与门的输出只受运行控制位T R0控,制。如果TR0=0,则与门输出为低电平,则模 拟开关断开,

15、定时器 /计数 器不工作。如果TR01,则与门输出为高电平,则模 拟开关 闭合,定时器/计数器工作。,当GATE=1时,只有TR0和,同时为高电平,定时器/计数 器,才工作,否则,定时器/计数器不工作。,(2)定时和计数的应用 计数范围:1213 计数计算公式:计数值213计数初值 定时范围:1机器周期213机器周期 定时计算公式:定时时间(213定时初值)机器周期 如果晶振频率为6MHz ,则最大定时时间为: 2131/6MHz12214( ),2. 方式1(M1M0=01) 方式1是16位计数结构的工作方式,其计数器由TH0全部8位 和TL0的全部8位构成。其逻辑电路和工作情况与方式0完全相同, 所不同的只是计数 器的位数。MCS-51单片机之所以设置几乎完 全一 样 的方式0和方式1,是出于与 MCS-48单片机兼容的要求。 因为,MCS48单片机的定时器/计数器是13位的计数结构。,定时和计数的应用 计数范围:1216 计数计算公式:计数值216计数初值 定时范围:1机器周期216机器周期 定时计算公式:定时时间(216定时初值)机器周期 如果晶振频率为6MHz ,则最大定时时间为: 2161/6MHz12217( ),【例5-1】设单片机晶振频率为6MHZ,使用T1以工作方式1,产生周 期为500,的等宽正方波,并由,输出,以中断方

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

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