资源预览内容
第1页 / 共47页
第2页 / 共47页
第3页 / 共47页
第4页 / 共47页
第5页 / 共47页
第6页 / 共47页
第7页 / 共47页
第8页 / 共47页
第9页 / 共47页
第10页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
中断系统3.1 80C51的中断系统统 3.1.1 80C51的中断系统结统结 构一、中断的概念CPU在处处理某一事件A时时,发发生了另一事 件B请请求CPU迅速去处处理(中断发发生);CPU暂时暂时 中断当前的工作,转转去处处理事件 B(中断响应应和中断服务务);待CPU将事件B处处理完毕毕后,再回到原来事 件A被中断的地方继续处继续处 理事件A(中断返回 ),这这一过过程称为为中断 。MCS-51单片机的中断系统结构执行主 程序主程序继续执行 主程序断点中断请求中断响应执行 中断 处理 程序中断返回引起CPU中断的根源,称为中断源。中断源向CPU提出的 中断请求。CPU暂时中断原来的事务A,转去处理事件B。对 事件B处理完毕后,再回到原来被中断的地方(即断点),称 为中断返回。实现上述中断功能的部件称为中断系统(中断 机构)。随着计算机技术的应用,人们发现中断技 术不仅解决了快速主机与慢速I/O设备的数据 传送问题,而且还具有如下优点: 分时操作。CPU可以分时为多个I/O设备 服务,提高了计算机的利用率;实时响应。CPU能够及时处理应用系统的 随机事件,系统的实时性大大增强;可靠性高。CPU具有处理设备故障及掉电 等突发性事件能力,从而使系统可靠性提高 。80C51中断系统的结构80C51的中断系统有5个中断源(8052有 6个) ,2个优先级,可实现二级中断嵌套 。1、(P3.2)可由IT0(TCON.0)选择选择 其为为低电电平 有效还还是下降沿有效。当CPU检测检测 到P3.2引脚上 出现现有效的中断信号时时,中断标标志IE0(TCON.1) 置1,向CPU申请请中断。2、(P3.3)可由IT1(TCON.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,向CPU申请请中断。 二、中断请求标志 1、TCON的中断标志IT0(TCON.0),外部中断0触发方式控制位。 当IT0=0时,为电平触发方式。 当IT0=1时,为边沿触发方式(下降沿有效)。 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将一个发送数据写入串行口发送缓冲器时, 就启动了发送过程。每发送完一个串行帧,由硬 件置位TI。CPU响应中断时,不能自动清除TI, TI必须由软件清除。 一、中断允许控制CPU对中断系统所有中断以及某个中断源的开放和屏 蔽是由中断允许寄存器IE控制的。3.1.3 80C51中断的控制 EX0(IE.0),外部中断0允许位; ET0(IE.1),定时/计数器T0中断允许位; EX1(IE.2),外部中断0允许位; ET1(IE.3),定时/计数器T1中断允许位; ES(IE.4),串行口中断允许位; EA (IE.7), CPU中断允许(总允许)位。二、中断优先级控制80C51单片机有两个中断优先级,即可实现二级 中断服务嵌套。每个中断源的中断优先级都是由中断 优先级寄存器IP中的相应位的状态来规定的 。PX0(IP.0),外部中断0优先级设定位; PT0(IP.1),定时/计数器T0优先级设定位; PX1(IP.2),外部中断0优先级设定位; PT1(IP.3),定时/计数器T1优先级设定位; PS (IP.4),串行口优先级设定位; PT2 (IP.5) ,定时/计数器T2优先级设定位。PX0(IPH.0),外部中断0优先级设定位; PT0(IPH.1),定时/计数器T0优先级设定位; PX1(IPH.2),外部中断0优先级设定位; PT1(IPH.3),定时/计数器T1优先级设定位; PS (IPH.4),串行口优先级设定位; PT2 (IPH.5) ,定时/计数器T2优先级设定位。而80C52单片机有四个中断优先级,即可实现四级 中断服务嵌套。每个中断源的中断优先级由中断优 先级寄存器IP和IPH中的相应位的状态来规定的 。同一优先级中的中断申请不止一个时,则有中 断优先权排队问题。同一优先级的中断优先权排队 ,由中断系统硬件确定的自然优先级形成,其排列 如所示: 设置52单片机的4个中断源,使他们的优顺序 为T1,INT1,INT0,T0.IPH = 0X08;PT1 = 1;IP = 0X40;PX1 = 1;80C51单片机的中断优先级有三条原则:CPU同时接收到几个中断时,首先响应优先级别最 高的中断请求。 正在进行的中断过程不能被新的同级或低优先级的 中断请求所中断。 正在进行的低优先级中断服务,能被高优先级中断 请求所中断。为了实现上述后两条原则,中断系统内部设有两 个用户不能寻址的优先级状态触发器。其中一个置1 ,表示正在响应高优先级的中断,它将阻断后来所 有的中断请求;另一个置1,表示正在响应低优先级 中断,它将阻断后来所有的低优先级中断请求。3.2 80C51单片机中断处理过程 中断响应条件 中断源有中断请求; 此中断源的中断允许位为1; CPU开中断(即EA=1)。 以上三条同时满足时,CPU才有可能响应 中断。3.2.1 中断响应应条件和时间时间 3.3 80C51的定时/计数器 实现定时功能,比较方便的办法是利用单 片机内部的定时/计数器。也可以采用下面三 种方法:软件定时:软件定时不占用硬件资源,但占用了 CPU时间,降低了CPU的利用率。 采用时基电路定时:例如采用555电路,外接必要 的元器件(电阻和电容),即可构成硬件定时电路 。但在硬件连接好以后,定时值与定时范围不能由 软件进行控制和修改,即不可编程。 采用可编程芯片定时:这种定时芯片的定时值及定 时范围很容易用软件来确定和修改,此种芯片定时 功能强,使用灵活。在单片机的定时/计数器不够用 时,可以考虑进行扩展。3.3.1 定时时/计计数器的结结构和工作原理 一、定时/计数器的结构 定时/计数器的实质是加1计数器(16位),由高8位和低8 位两个寄存器组成。TMOD是定时/计数器的工作方式寄存 器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 二、定时/计数器的工作原理加1计数器输入的计数脉冲有两个来源,一个是由 系统的时钟振荡器输出脉冲经12分频后送来;一个 是T0或T1引脚输入的外部脉冲源。每来一个脉冲计 数器加1,当加到计数器为全1时,再输入一个脉冲 就使计数器回零,且计数器的溢出使TCON中TF0 或TF1置1,向CPU发出中断请求(定时/计数器中 断允许时)。如果定时/计数器工作于定时模式,则 表示定时时间已到;如果工作于计数模式,则表示 计数值已满。可见,由溢出时计数器的值减去计数初值才是加 1计数器的计数值。设置为定时器模式时,加1计数器是对内部机器周期 计数(1个机器周期等于12个振荡周期,即计数频率 为晶振频率的1/12)。计数值N乘以机器周期Tcy就 是定时时间t 。设置为计数器模式时,外部事件计数脉冲由T0或T1 引脚输入到计数器。在每个机器周期的S5P2期间采 样T0、T1引脚电平。当某周期采样到一高电平输入, 而下一周期又采样到一低电平时,则计数器加1,更 新的计数值在下一个机器周期的S3P1期间装入计数 器。由于检测一个从1到0的下降沿需要2个机器周期 ,因此要求被采样的电平至少要维持一个机器周期。 当晶振频率为12MHz时,最高计数频率不超过 1/2MHz,即计数脉冲的周期要大于2 s。 3.3.2 定时/计数器的控制80C51单片机定时/计数器的工作由两个特殊功 能寄存器控制。TMOD用于设置其工作方式; TCON用于控制其启动和中断申请。 一、工作方式寄存器TMOD工作方式寄存器TMOD用于设置定时/计数器的 工作方式,低四位用于T0,高四位用于T1。其格式 如下:GATE:门控位。GATE0时,只要用软件使TCON中的 TR0或TR1为1,就可以启动定时/计数器工作;GATA1时 ,要用软件使TR0或TR1为1,同时外部中断引脚或也为高 电平时,才能启动定时/计数器工作。即此时定时器的启动 多了一条件。:定时/计数模式选择位。 0为定时模式; =1 为计数模式。 M1M0:工作方式设置位。定时/计数器有四种工作方式,由 M1M0进行设置。二、控制寄存器TCONTCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控 制定时/计数器的启动和中断申请。其格式如下:TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自 动置TF1为1。CPU响应中断后TF1由硬件自动清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 定时/计数器的工作方式 一、方式0方式0为13位计数,由TL0的低5位(高3位未用)和TH0 的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时, 置位TCON中的TF0标志,向CPU发出中断请求。定时器模式时有:Nt/ Tcy 计数初值计算的公式为: 定时器的初值还可以采用计数个数直接取补法获得。 计数模式时,计数脉冲是T0引脚上的外部脉冲。门控位GATE具有特殊的作用。当GATE=0时,经反相后使 或门输出为1,此时仅由TR0控制与门的开启,与门输出1 时,控制开关接通,计数开始;当GATE=1时,由外中断引 脚信号控制或门的输出,此时控制与门的开启由外中断引脚 信号和TR0共同控制。当TR0=1时,外中断引脚信号引脚的 高电平启动计数,外中断引脚信号引脚的低电平停止计数。 这种方式常用来测量外中断引脚上正脉冲的宽度。 二、方式1 方式1的计数位数是16位,由TL0作为低8位、TH0 作为高8位,组成了16位加1计数器 。计数个数与计数初值的关系为: 三、方式2 方式2为自动重装初值的8位计数方式。 工作方式2特别适合于用作较精确的脉冲信号发生器。 计数个数与计数初值的关系为: 四、方式3 方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数。 工作方式3将T0分成为两个独立的8位计数器TL0和TH0 。 3.3.4 定时/计数器应用举例 初始化程序应完成如下工作: 对TMOD赋值,以确定T0和T1的工作方式。 计算初值,并将其写入T
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号