中断与定时计数复习_第1页
中断与定时计数复习_第2页
中断与定时计数复习_第3页
中断与定时计数复习_第4页
中断与定时计数复习_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 单片机的中断系统单片机的中断系统 单片机的可编程定时单片机的可编程定时/计数器计数器 计算机在执行程序的过程中,由于CPU以外的原因, CPU中止当前程序的执行,转去执行相应的处理程序,待处理结束后,再回来继续执行被中止的原程序,这种情况称为中断。第一部分第一部分 中中 断断 系系 统统返回中断申请主程序中断中断服务服务程序程序中断的发生是由CPU外部因素决定的,无法在程序中事先安排,调用中断服务子程序的过程是由硬件自动完成的。中断系统的功能中断系统的功能计算机系统中,用于实现中断功能的硬件和软件的集合,称为。学习中要思考中断系统是如何解决如下问题学习中要思考中断系统是如何解决如下问题:中断

2、请求信号的产生;CPU如何响应?中断优先权问题;中断的具体服务;1. 中断服务完毕,如何返回原程序?二.MCS-51单片机的中断系统8031/8051/8751有5个中断源;2个中断优先级;与中断有关的特殊功能寄存器: TF01IE0 1010INT1IE1 1011INT1IT0ITTF10T1T 1RI/TI1010101010中断源中断源中断源中断源高级中断高级中断请求请求低级中断低级中断请求请求中断入口中断入口中断入口中断入口0EX1EX1ET0ETESEA0PX1PX1PT0PTPS中断源中断源中断标志中断标志中断源允许中断源允许全局全局中断允许中断允许中断优先级中断优先级寄存器寄存

3、器查询电路查询电路中断允许寄存器中断允许寄存器TIRI 由/INT0 (P3.2) 端口线引入。 有两种触发方式,由TCON的IT0位确定:IT0=0 ,为电平触发,/INT0脚出现低电平向CPU 提中断;IT0=1 ,为跳变触发,/INT0脚出现负跳变使IE0置 1,向CPU提中断;CPU响应中断后硬件 自动清IE0。To:中断结构图由/INT1 (P3.3) 端口线引入。 有两种触发方式,由TCON的IT1位确定:IT1=0 ,为电平触发,/INT1脚出现低电平向CPU提 中断;IT1=1 ,为跳变触发,/INT1脚出现负跳变使IE1置1, 向CPU提中断;CPU响应中断后硬件自动 清IE

4、1。To:中断结构图定时定时/计数器计数器0中断中断定时定时/计数器计数器1中断中断定时/计数器0计数溢出(回零)时,硬件置 TF0=1,提中断;CPU响应中断后,硬件自动清TF0定时/计数器1计数溢出(回零)时,硬件置 TF1=1,提中断;CPU响应中断后,硬件自动清TF1中断结构图51单片机有两个中断优先级,每个中断源可以通 过编程确定为高优先级或低优先级;IP用来锁存各中断源优先级的控制位;IP在特殊功能寄存器中,字节地址为B8H,位地 址分别是B8HBFH。To:中断结构图 PS PT1 PX1 PT0 PX0 中断 0:低优先级优先级控制 1:高优先级 中断 0:低优先级优先级控制

5、1:高优先级 中断 0:低优先级优先级控制 1:高优先级 中断 0:低优先级优先级控制 1:高优先级串行口中断 0:低优先级优先级控制 1:高优先级 0INT0T1INT1TIP各中断源的优先权级别由IP确定;同一个优先级中的中断源,如同时申请中断,其自然优先级由硬件形成,各中断源的级别由高到低的顺序是: 外中断0-T0-外中断1-T1-串行口各中断源优先级各中断源优先级顺序是怎样确定的?顺序是怎样确定的?#8051复位后,复位后,IP低低5位全部清位全部清0,将所有中断源设置为低优先,将所有中断源设置为低优先级中断。级中断。2. 2.中断优先权三原则中断优先权三原则:1. 正在进行的中断不能

6、被新的同级或低优先级的中断请求中断;正在进行的低优先级中断服务程序能被高优先级的中断请求中断(中断嵌套);2. CPU同时收到几个中断请求时,首先响应优先权最高的请求中断。EA ES ET1 EX1 ET0 EX00:关关 中断中断1:开开 中断中断0:关关 中断中断1:开开 中断中断0:关关 中断中断1:开开 中断中断0:关关 中断中断1:开开 中断中断0:关串行口中断关串行口中断1:开串行口中断开串行口中断0:关所有中断关所有中断1:开所有中断开所有中断 0INT0T0T1INT1T1T0INT1INTIETo:中断结构图1)中断源有请求2)单片机开放中断(EA=1)3)中断源对应的中断屏

7、蔽寄存器IE相应位 置1,即没有被屏蔽注意:#8051复位后, IE中各中断源允许位均清0,即禁止所有中断。1)CPU正在执行一个同级或高一级的中断服 务程序;2)当前正在执行的那条指令还未执行完;3)当前正在执行的指令是RETI或对IE,IP寄 存器进行读/写指令,执行这些指令后至少 再执行一条指令才会响应中断。:自动清除相应中断标志(IE0/IE1/TF0/TF1);保留断点(将PC内容压入堆栈);根据中断源优先级的高低,使相应优先级 状态触发器置1;将对应的中断矢量装入PC,使程序转向中 断矢量地址单元 中去执行相应的中断服务 程序。1)清相应中断优先级状态触发器;2)返回断点(弹出栈顶

8、的两个字节到PC) 中断服务程序的最后一条指令为什么不中断服务程序的最后一条指令为什么不能是能是RET指令?指令?中断服务程序的最后一条指令中断服务程序的最后一条指令必须为必须为RETI。思考0023H串行口中断串行口中断001BH定时器定时器T1中断中断0013H外部中断外部中断1000BH定时器定时器T0中断中断0003H外部中断外部中断0入口地址入口地址 中断源中断源To:中断结构图 n1.给堆栈指针SP赋值n2.如为外部中断,定义触发方式n3.定义中断优先级(给IP赋值)n4.给IE赋值,开放中断n5.安排好等待中断过程中主程序应做的操作n 1. 在中断入口地址单元设置跳转指令,使程序

9、转移到中断服务程序的实际入口n 2. 保护现场。n 3. 若为电平触发的外部中断,应有中断信号 撤除操作n 4. 中断服务操作n 5. 恢复现场n 6. 中断返回例例 5.1 INT0INT1INT1INT0INT1INT0例例 5.3第二部分 定时/计数器概述概述单片机内有两个可编程定时/计数器T0和T1每个T均可编程为定时器或计数器使用每个T均有4种工作方式定时/计数器的作用 用作实时时钟 实现定时检测 定时控制 用于外部事件的计数定时/计数器的应用检测、控制及智能仪器等 结构如下图所示,它由加法计数器、TMOD寄存器、TCON寄存器组成。12345678ABCD87654321DCBAT

10、itleNumberRevisionSizeA2Date:4-May-2004 Sheet of File:H:MyDesign1.ddbDrawn By:TH1TL1TH0TL0TCON(88H)TMOD(89H)(8DH)(8BH)(8CH)(8AH)定时器T1定时器T070077070T1(P3.5)T0(P3.4)中断INT1P(3.3)INT0P(3.2)内 部 总 线溢 出工 作 方 式工作方式溢出启动CPU加法计数器 加法计数器为16位,用TH表示高8位,TL表示低8位 作计数器用,加法计数器对芯片T0、T1脚上输入脉冲计数,每输入一个脉冲,加法计数器加1 作定时器用,加法计数器

11、通过机器周期Tcy计数间接实现定时,每经过一个Tcy,加法计数器自动加1 加法计数器初值可由程序设定,初值不同,计数或定时值不同 加法计数器工作过程中,内容可用程序读回CPU 方式选择寄存器TMOD 功能选择定时/计数器0、1的工作方式 格式定时/计数器1定时/计数器0C/T功能选择位,C/T1计数,C/T0定时 M1、M0工作方式选择位,见下表 M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7GATE 门控制位 GATE=1,定时/计数器0工作受引脚INT0控制 ,定时/计数器1受引脚INT1控制 GATE=0, 定时/计数器工作与INT0、INT1无关 一般情况

12、下GATE=0控制寄存器TCON 功能高4位控制定时/计数器0、1的运行 低4位控制外部中断。格式TR1 运行控制位 TR1=1,启动定时/计数器1工作TR1=0, 停止定时/计数器1工作TF1 溢出中断标志位 定时/计数器1溢出时,TF11,在中断允许条件下,向CPU发出中断请求,CPU响应后,TF10,在中断屏蔽条件下,TF1可作查询方式,TF1可由程序置位或清零 TR0 与TR1功能相似,TF0与TF1功能相似。1)方式0定时/计数器1工作方式0结构图如下图所示(定时/计数器0工作方式0结构图一样)。 振荡器12&11TL15位TH18位TF1中断“1”闭合INT1引脚GATET

13、R1T1引脚TcyS1S2定时器/计数器1工作方式0结构图C/T=0C/T=11.构成13位定时/计数器2.计数值N=8192-X,X为初值,范围为18192 3.计数时,外部计数脉冲频率应小于fosc/24 4.定时时间T=(8192-X)Tcy特点:特点:5.定时/计数器1的启动或停止由TR1控制 GATE=0 GATE=1 软件置TR1=1,S2闭合,启动 软件置TR1=0,S2打开,停止 软件置TR1=1, 外部INT1为高电平,启动 外部INT1为低电平,停止 这种门控方式可用来测INT1引脚上的正脉冲宽度2)方式1工作方式1与工作方式0区别如下:(其他一样) u构成构成16位定时位

14、定时/计数器计数器u计数值为计数值为N=65536-X,范围为范围为165536u定时值为定时值为T=(65536-X)Tcy,范围为,范围为(1 65536)Tcy3)方式2定时/计数器1工作方式2结构图如下图所示:(定时/计数器0工作方式2结构图一样)振荡器12&11TL18位TF1中断INT1引脚GATETR1T1引脚TcyS1S2C/T=0C/T=1定时器/计数器1工作方式2结构图TH18位1.构成一个8位具有自动重装初值功能的定时/计数器2.计数值N=256-X,范围为:12563.定时值为T=(256-X)Tcy,范围为(1256)Tcy 4. TL1为8位加法计数器,TH

15、1为初值寄存器。TL1溢出时,TF1=1且发出重装载信号,三态门打开,将TH1中初值自动送入TL1中。TL1重新计数5.其他与工作方式0相同6.适应于定时控制,波特率发生器3)方式3工作方式3结构图如下图所示(仅对定时/计数器0有效) 振荡器12&11TL08位TF0中断INT0引脚GATETR0T0引脚TcyS1S2C/T=0C/T=1定时器/计数器0工作方式3结构图TcyTH08位TF1中断TcyTR11.构成两个独立的8位定时/计数器 2.计数值为N=256-X,范围为1256 3.定时值为T=(256-X)Tcy, 范围为(1256)Tcy4. TH0、TL0为两个独立加法计数

16、器 TL0使用定时/计数器0的C/T、GATE、TR0及 INT0,工作情况与方式0相似 TH0只能工位于非控方式,借用了定时/ 计数器1的TR1、TF1 5.将定时/计数器1设为工作方式3,相当于 TR00,停止6.定时/计数器0工作方式3时,51子系列有3个 定时/计数器,两个为8位,一个为16位。定 时/计数器1可工作于方式0、1、2,但TR1、 TF1被TH0借用,不能产生中断请求,只用作 波特率发生器。1) 定时器定时器/计数器的初始化编程计数器的初始化编程初始化编程步骤: (1) 确定工作方式和启动定时/计数方式 TMOD赋值。(2) 置定时/计数器初值 写寄存器TH0、TL0或T

17、H1、TL1。(3) 根据需要开放定时器中断 对中断允许寄存器IE置初值。(4) 启动定时/计数器 将控制寄存器TCON 的TR1或TR0 置位 设计数器的最大值为M,若要求计数X个外部脉冲后计数器溢出,计数初值为C,则: X+C=M C=MX=M+(-X)=(X)求补 方法一: C=M-X=65536-10=65526=FFF6H方法二: C=(X)求补=(000AH)求补 =(000AH)求反+1=FFF5H+1=FFF6H 设定时t,则计数脉冲数为X=t/Tcy 初值C=M-X=M-t/T =(t/T)求补 T0运行于定时器状态,时钟频率为12MHz,要求定时100s。 机器周期Tcy=

18、12/时钟频率=12/12=1s 初值C为:方式0: C=M-t/T=8192-100/1=8092=1F9CH方式1: C=M-t/T =65536-100/1=65436=FF9CH方式2、3 : C=M-t/T=256-100/1=156=9CH 工作方式0时的初值装入方法 方式0的计数寄存器是13位,对于T0而言,高8位初值装入TH0,低5位初值装入TL0的低5位(TL0的高3位无效)。2) 应用举例应用举例 假设单片机的时钟频率为6MHz,要求在P1.0引脚上输出一个周期为2ms的方波,方波的周期用定时器T0来确定。分析:要在P1.0输出周期为2ms的方波,只要对P1.0每隔1ms取

19、反一次即可。 确定TMOD内容 根据题意,定时功能,C/T=0,选用工作方式0。定时/计数器1无关,TMOD高4位为随意值“X”若取“X”0,则TMOD=00H. 机器周期Tcy=12/6MHz=2s 定时初值C C=M-t/Tcy=213-1000/2=8192-500=7692=1E0CH =0001 1110 0000 1100B TH0=1111 0000B=0F0H TL0=01100B=0CH。 确定TH0,TL0(用查询(用查询TF0的状态来控制的状态来控制P1.0输出)输出) MOV TMOD,#00H ;置;置T0为方式为方式0,定时,定时 MOV TL0,#0CH ;送定时初值;送定时初值 MOV TH0,#0F0H SETB TR0 ;启动;启动T0L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论