中断和定时器的使用方法

上传人:ldj****22 文档编号:37851849 上传时间:2018-04-23 格式:PDF 页数:23 大小:407.86KB
返回 下载 相关 举报
中断和定时器的使用方法_第1页
第1页 / 共23页
中断和定时器的使用方法_第2页
第2页 / 共23页
中断和定时器的使用方法_第3页
第3页 / 共23页
中断和定时器的使用方法_第4页
第4页 / 共23页
中断和定时器的使用方法_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《中断和定时器的使用方法》由会员分享,可在线阅读,更多相关《中断和定时器的使用方法(23页珍藏版)》请在金锄头文库上搜索。

1、中断的使用中断概念:CPU 在处理某一事件 A 时, 发生了另一事件 B 请求 CPU 迅速去处理(中断发生) ;CPU 暂时中断当前的工作,转去处理事件 B(中断响应和中断服务) ;待 CPU 将事件 B 处理完毕后,再回到原来事件 A 被中断的地方继续处理事件 A(中断返回) ,这一过程称为中断引起 CPU 中断的根源, 称为中断源。 中断源向 CPU 提出的中断请求。CPU 暂时中断原来的事务 A,转去处理事件 B。对事件 B 处理完毕后,再回到原来被中断的地方(即断点) ,称为中断返回。实现上述中断功能的部件称为中断系统(中断机构) 。中断操作的优点:分时操作。 CPU 可以分时为多个

2、 I/O 设备服务,提高了计算机的利用率;实时响应。CPU 能够及时处理应用系统的随机事件,系统的实时性大大增强;可靠性高。CPU 具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高主程序A响 应 返 回断 点RETI中断服务程序B80C51 中断系统的结构80C51 的中断系统有 5 个中断源(8052 有 6 个) ,2 个优先级,可实现二级中断嵌套1、 (P3.2)可由 IT0(TCON.0)选择其为低电平有效还是下降沿有效。当 CPU 检测到 P3.2 引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置 1,向 CPU 申请中断。2、(P3.3)可由 IT1(TCO

3、N.2)选择其为低电平有效还是下降沿有效。当 CPU 检测到 P3.3 引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置 1,向 CPU 申请中断。3、TF0(TCON.5) ,片内定时/计数器 T0 溢出中断请求标志。当定时/计数器 T0 发生溢出时,置位 TF0,并向 CPU 申请中断。4、TF1(TCON.7) ,片内定时/计数器 T1 溢出中断请求标志。当定时/计数器 T1 发生溢出时,置位 TF1,并向 CPU 申请中断。5、RI(SCON.0)或 TI(SCON.1) ,串行口中断请求标志。当串行口接收完一帧串行数据时置位 RI 或当串行口发送完一帧串行数据时置位 TI

4、,向 CPU 申请中断。E X 0E AP X 001E T 0P T 001E X 1P X 101E T 1P T 101E SP S01 1R IT ISCONTCONI E 0T F 0I E 1T F 110101I T 0I T 1INT0INT1T 0T 1R XT XI EI P111111110硬 件 查 询自 然 优 先 级自 然 优 先 级中 断 入 口中 断 入 口高 级低 级中 断 源中 断 源二、中断请求标志1、TCON 的中断标志T0(TCON.0) ,外部中断 0 触发方式控制位。 当 IT0=0 时,为电平触发方式。 当 IT0=1 时,为边沿触发方式(下降沿

5、有效) 。 IE0(TCON.1) ,外部中断 0 中断请求标志位。 IT1(TCON.2) ,外部中断 1 触发方式控制位。 IE1(TCON.3) ,外部中断 1 中断请求标志位。 TF0(TCON.5) ,定时/计数器 T0 溢出中断请求标志位。 TF1(TCON.7) ,定时/计数器 T1 溢出中断请求标志位2、SCON 的中断标志RI(SCON.0) ,串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧, 由硬件置位 RI。注意,RI 必须由软件清除。TI(SCON.1) ,串行口发送中断标志位。当 CPU 将一个发送数据写入串行口发送缓冲器时, 就启动了发送过程。每发

6、送完一个串行帧,由硬件置位 TI。CPU 响应中断时,不能自动清 除 TI,TI 必须由软件清除。一、中断允许控制CPU 对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器 IE 控制的。EX0(IE.0),外部中断 0 允许位;ET0(IE.1),定时/计数器 T0 中断允许位; EX1(IE.2),外部中断 0 允许位; ET1(IE.3),定时/计数器 T1 中断允许位;ES(IE.4),串行口中断允许位; EA(IE.7), CPU 中断允许(总允许)位二、中断优先级控制80C51 单片机有两个中断优先级, 即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄

7、存器IP 中的相应位的状态来规定的 。PX0(IP.0) ,外部中断 0 优先级设定位;PT0(IP.1) ,定时/计数器 T0 优先级设定位;PX1(IP.2) ,外部中断 0 优先级设定位;PT1(IP.3) ,定时/计数器 T1 优先级设定位;PS(IP.4) ,串行口优先级设定位;PT2 (IP.5),定时/计数器 T2 优先级设定位。注意80C52 单片机有四个中断优先级,即可实现四级中断服务嵌套。每个中断源的中 断优先级由中断优先级寄存器 IP 和 IPH 中的相应位的状态来规定的 。PX0(IPH.0) ,外部中断 0 优先级设定位;PT0(IPH.1) ,定时/计数器 T0 优

8、先级设定位;PX1(IPH.2) ,外部中断 0 优先级设定位;PT1(IPH.3) ,定时/计数器 T1 优先级设定位;PS(IPH.4) ,串行口优先级设定位;PT2(IPH.5),定时/计数器 T2 优先级设定位。同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的 中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:80C51 单片机的中断优先级有三条原则:CPU 同时接收到几个中断时,首先响应优先级别最高的中断请求。正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。正在进行的低优先级中断服务,能被高优先级中断请求所中断。为了实现上述后两条原则

9、, 中断系统内部设有两个用户不能寻址的优先级状态触发器。其中一个置 1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置 1,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。3.280C51 单片机中断处理过程3.2.1中断响应条件和时间;中断响应条件中断源有中断请求;此中断源的中断允许位为 1;CPU 开中断(即 EA=1) 。以上三条同时满足时,CPU 才有可能响应中断。3.380C51 的定时/计数器实现定时功能,比较方便的办法是利用单片机内部的定时/计数器。也可以采用下面三种方法:软件定时:软件定时不占用硬件资源,但占用了 CPU 时间,降低了CPU 的利

10、用率。采用时基电路定时:例如采用 555 电路,外接必要的元器件(电阻和电容) ,即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程。采用可编程芯片定时: 这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时功能强,使用灵活。在单片机的定时/计数器不够用时,可以考虑进行扩展。3.3.1 定时/计数器的结构和工作原理一、定时/计数器的结构定时/计数器的实质是加 1 计数器(16 位) ,由高 8 位和低 8 位两个寄存器组成。 TMOD 是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON 是控制 寄存器,控制 T0、T1 的启

11、动和停止及设置溢出标志。GATEC/TM1M0GATEC/TM1M0T H 1T L 1T H 0T L 0T1方 式T0方 式T1引 脚T0引 脚机 器 周 期 脉 冲内 部 总 线TMODTCON外部中断相关位TF1TR1TF0TR0二、定时/计数器的工作原理加 1 计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经 12 分频后送来; 一个是 T0 或 T1 引脚输入的外部脉冲源。每来一个脉冲计数器加 1,当加到计数器为全 1 时,再输入一个脉冲就使计数器回零,且计数器的溢出使 TCON 中 TF0 或 TF1 置 1,向CPU 发出中断请求(定时/计数器中断允许时) 。

12、如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。可见, 由溢出时计数器的值减去计数初值才是加 1 计数器的计数值。设置为定时器模式时,加 1 计数器是对内部机器周期计数(1 个机器周期等于 12 个振荡周期,即计数频率为晶振频率的 1/12) 。计数值 N乘以机器周期 Tcy 就是定时时间 t 。设置为计数器模式时,外部事件计数脉冲由 T0 或 T1 引脚输入到计数器。在每个机器周期的 S5P2 期间采样 T0、T1 引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加 1,更新的计数值在下一个机器周期的 S3P1 期间装入计

13、数器。由于检测一个从 1 到 0 的下降沿需要 2 个机器周期, 因此要求被采样的电平至少要维持一个机器周期。当晶振频率为 12MHz 时,最高计数频率不超过 1/2MHz,即计数脉冲的周期要大于 2 m s。3.3.2定时/计数器的控制80C51 单片机定时/计数器的工作由两个特殊功能寄存器控制。 TMOD用于设置其工作方式;TCON 用于控制其启动和中断申请。一、工作方式寄存器 TMOD工作方式寄存器 TMOD 用于设置定时/计数器的工作方式,低四位用于 T0,高四位用于 T1。其格式如下:GATE:门控位。GATE0 时,只要用软件使 TCON 中的 TR0 或 TR1 为 1,就 可以

14、启动定时/计数器工作;GATA1 时,要用软件使 TR0 或 TR1 为 1,同时外 部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动 多了一条件。 :定时/计数模式选择位。CT0 为定时模式;CT=1 为计 数模式。 M1M0:工作方式设置位。定时/计数器有四种工作方式,由 M1M0 进行设置。二、控制寄存器 TCONTCON 的低 4 位用于控制外部中断,已在前面介绍。 TCON 的高 4 位用于控制定时/计数器 的启动和中断申请。其格式如下:TF1(TCON.7) :T1 溢出中断请求标志位。T1 计数溢出时由硬件自动置 TF1 为 1。CPU 响应中断后 TF1

15、由硬件自动清 0。T1 工作时,CPU 可随时查询 TF1 的 状态。所以,TF1 可用作查询测试的标志。TF1 也可以用软件置 1 或清 0,同硬 件置 1 或清 0 的效果一样。 TR1(TCON.6) :T1 运行控制位。TR1 置 1 时,T1 开始工作;TR1 置 0 时,T1 停止工作。TR1 由软件置 1 或清 0。所以,用软件可控制定时/计数器的启动与停 止。 TF0(TCON.5) :T0 溢出中断请求标志位,其功能与 TF1 类同。 TR0(TCON.4) :T0 运行控制位,其功能与 TR1 类同。3.3.3定时/计数器的工作方式虽然定时器方式有四种但是主要用第一种和第二

16、种; 一、方式 1 方式 1 的计数位数是 16 位,由 TL0 作为低 8 位、TH0 作为高 8 位,组成了 16 位加 1 计数器 。计数个数与计数初值的关系为:二、方式 2方式 2 为自动重装初值的 8 位计数方式。T F 1T R 1T F 0T R 0G A T EC /TM 1M 0G A T EC / TM 1M 01& 110T 0 引 脚I N T 0 引 脚10机 器 周 期T H 0T L 08 位8 位溢 出T C O NT M O DD 0D 7D 7D 0申 请 中 断16X=2 -NT F 1T R 1T F 0T R 0GATEC /TM 1M 0GATEC / TM 1M 01& 110T 0 引 脚INT0引 脚10机 器 周 期T H 0T L 08 位溢出TCONTMODD 0D 7D 7D 0申请 中断Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.计数个数与计数初值的关系为:工作方式 2 特

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

当前位置:首页 > 行业资料 > 其它行业文档

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