欢迎来到天天文库
浏览记录
ID:60740693
大小:75.50 KB
页数:11页
时间:2020-02-02
《第6章_AT89C51中断系统与定时器计数器.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章AT89C51中断系统与定时器/计数器6.1中断系统“中断”是单片机应用中的重要概念,“中断系统”是单片机为实现中断、控制中断的重要功能部件。它使单片机能及时响应并处理运行过程中内部和外部的突发事件。它能及时处理单片机应用系统中随机发生的事件;解决单片机快速CPU与慢速外设间的矛盾,提高单片机工作效率;它还能及时处理单片机应用系统中出现故障等突发事件,提高单片机工作的可靠性。6.1.1中断基本概念1.中断定义单片机执行程序的过程中,为响应内部和外部的随机发生的事件和突发事件,CPU暂时中止执行
2、当前程序,转去处理事件,处理完毕后,再返回继续执行原来中止了的程序。这一过程称为“中断”。2.中断技术在单片机应用系统的硬、软件设计中应用“中断系统”处理随机发生事件和突发事件的技术称为“中断技术”。3.中断系统AT89C51单片机的“中断系统”由中断源、与中断控制有关的特殊功能寄存器、中断入口、顺序查询逻辑电路等组成,包括5个中断请求源、4个与中断控制有关的寄存器(IE、IP、TCON和SCON)、二个中断优先级及顺序查询逻辑电路。6.1.2中断系统结构五个中断源、五个中断入口地址、两个优先级、顺
3、序优先权6.1.3与中断控制有关的寄存器在AT89C51单片机中涉及中断控制的有4个特殊功能寄存器,通过对它们进行置位(置1)或清0操作,可实现中断控制功能。6.1.4中断过程AT89C51中断处理过程大致可分为四步:中断请求、中断响应、中断服务和中断返回。6.2中断应用6.2.1中断初始化和中断服务程序中断系统应用中,编写程序要解决的首要问题是:中断初始化和中断服务程序。1.中断初始化中断初始化应在产生中断请求前完成,一般放在主程序中,与主程序其他初始化内容一起完成。(1)定义中断优先级。将中断优
4、先级控制寄存器IP中相关的控制位置位。(2)若是外中断,则要定义外中断触发方式,控制寄存器TCON中相关的控制位置位。(3)开中断。控制寄存器IE中中断控制位EA和相应的中断允许控制位置位。2.中断服务程序编写中断服务程序一般要求如下:(1)在相应的中断入口地址设置一条跳转指令(SJMP、AJMP或LJMP),将中断服务程序转到合适的ROM空间。若中断服务程序小于等于8个字节,可直接自中断入口地址起放置。(2)根据需要保护现场。为减轻堆栈负担,保护现场的数据存储单元数量力求少。(3)CPU响应中断后
5、不能自动清除中断请求标志位时,应考虑的清除中断请求标志位的其它操作。(4)恢复现场。(5)最后一条指令必须是中断返回指令RETI。6.2.2中断应用举例几乎所有单片机应用系统都要用到中断。这里只列举教学应用中三个演示中断技术的实例并对它们进行PROTEUS仿真。它们有助于对中断、中断优先级、中断优先权、中断过程的理解。1.外中断(/INT0)实验PROTEUS仿真2.中断优先级实验PROTEUS仿真3.中断优先权实验PROTEUS仿真6.3定时器/计数器定时器/计数器是单片机的重要功能部件。可用来实
6、现定时控制、延时、频率测量、脉冲宽度测量、信号发生、信号检测等。定时器/计数器还可作为串行通信中的波特率发生器。AT89C51有两个可编程的定时器/计数器:T0和T1。它们可以工作在定时工作状态,又可以工作在计数工作状态。作定时器时,不能再作计数器,反之也然。6.3.1定时器/计数器概述6.3.2定时器/计数器的控制6.3.3定时器/计数器的工作方式6.3.4定时器/计数器的计数容量及初值6.4定时器/计数器应用6.4.1定时器/计数器应用的基本步骤1.合理选择定时器工作方式根据所要求的定时时间、定
7、时的重复性,合理选择定时器工作方式,确定实现方法。一般定时时间长,宜用方式1;定时时间短(≤255机器周期)且需自动恢复定时初值时,宜用方式2。2.计算定时器的定时初值3.编制应用程序(1)定时器/计数器的初始化,包括定义TMOD,写入定时初值,启动定时器运行,若使用中断,则要设置中断系统等。(2)注意是否需要重装定时初值。若需要连续反复使用原定时时间,且未工作在方式2时,则应重装定时初值。若使用中断,要正确编写定时器/计数器中断服务程序。(3)若将定时器/计数器用于计数方式,则外部事件脉冲必须从P
8、3.4(T0)或P3.5(T1)引脚输入。6.4.2定时器/计数器的应用举例【例6-5】用定时器/计数器1(T1)的工作方式1,采用查询方法设计一个定时1秒的程序段。【例6-6】要求在P1.0引脚输出周期为400μs的方波。设FOSC=12MHz。使用T1,分别在方式0、方式1和方式2下的设计程序。【例6-7】参照图5-5,采用定时器/计数器0及其中断实现LED亮点由低位到高位的循环流动,每个亮点亮1秒,FOSC=12MHz。【例6-8】已知FOSC=6MHz,检测T
此文档下载收益归作者所有