中断与定时计数复习汇总.ppt_第1页
已阅读1页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机中断系统单片机可编程定时器/计数器,1。中断概念:在计算机程序执行过程中,由于非中央处理器的原因,中央处理器暂停当前程序的执行,转而执行相应的处理程序,处理完成后,返回继续执行暂停的原程序。这种情况称为中断。在第一部分中,中断系统、中断系统的功能以及用于在计算机系统中实现中断功能的一套硬件和软件被称为中断系统。在研究中,我们应该考虑如何解决以下问题:(1)中断请求信号的产生;中央处理器如何响应?中断优先级问题;特定服务中断;服务中断后,如何回到原来的程序?第二,MCS-51单片机的中断系统,8031/8051/8751有五个中断源;两个中断优先级;与中断相关的特殊功能寄存器:中断许可控制

2、寄存器IE;中断优先级控制寄存器;计时器/计数器控制寄存器TCON。图1 MCS-51单片机的中断系统结构,ie0,ie0,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie1,ie2,ie2,ie2,ie2有两种触发方式,由TCON的IT0位决定:IT0=0,为电平触发,/INT0引脚出现低电平,中断中央处理器;IT0=1,由跳转触发,/INT0引脚的负跳转使IE0置1,给中央处理器带来中断;在中央处理器响应中断后,硬件自动清除IE0。To:中断结构图。中断源,外

3、部中断1 (/INT1)由/INT1 (P3.3)端口线引入。有两种触发模式,由TCON的IT1位决定:IT1=0,为电平触发,/INT1引脚出现低电平,中断中央处理器;IT1=1,由跳转触发,/INT1引脚的负跳转使IE1置1,给中央处理器带来中断;在中央处理器响应中断后,硬件自动清除IE1。To:中断结构图,定时器/计数器0中断,定时器/计数器1中断,当定时器/计数器0计数溢出(返回零)时,硬件设置TF0=1以引发中断;在中央处理器响应中断后,硬件自动清除TF0。当定时器/计数器1溢出(返回到零)时,硬件设置TF1=1并引发中断。在中央处理器响应中断后,硬件自动清除TF1,中断结构图,1。

4、中断优先级寄存器IP(B8H) 51单片机有两个中断优先级,每个中断源可以通过编程确定为高优先级或低优先级;IP用于锁存每个中断源优先级的控制位;在特殊功能寄存器中,字节地址是B8H,位地址是B8HBFH。To:中断结构图,4。中断优先级,中断优先级寄存器IP,每个中断源的优先级由IP决定;具有相同优先级的中断源(如同时申请中断)的自然优先级由硬件形成,每个中断源从高到低的顺序为:外部中断0-t0-外部中断1-t1-串行端口。问题:如何确定每个中断源的优先级?解决方案,#8051复位后,IP的所有低5位清0,所有中断源设置为低优先级中断。2。中断优先级的三个原则:1 .正在进行的中断不能被相同

5、级别或低优先级的新中断请求中断;正在进行的低优先级中断服务程序可能被高优先级中断请求(中断嵌套)中断。当中央处理器同时收到几个中断请求时,它首先以最高优先级响应请求中断。To:中断结构图,3。中断响应条件,1)中断源有请求,2)微控制器打开中断,3)对应于中断源的中断屏蔽寄存器设置为1,即不屏蔽。注:在#8051复位后,工业工程中的所有中断源许可位被清零,即所有中断被禁止。如果存在以下任何一种情况,中断应用将被阻止:1)中央处理器正在执行相同级别或更高级别的中断服务程序;2)指令电流4.4点以后。中央处理器响应中断,硬件执行以下功能:自动清除相应的中断标志(IE0/IE1/TF0/TF1);保

6、留断点(将电脑内容推送到堆栈上);根据中断源的优先级,将相应的优先级状态触发器设置为1;将相应的中断向量装入PC机,并使程序转到中断向量地址单元,执行相应的中断服务程序。执行RETI指令:1)清除相应的中断优先级状态触发器;2)返回断点(将堆栈的前两个字节弹出至电脑)。为什么中断服务程序的最后一条指令不能是RET指令?中断服务程序的最后一条指令必须是RETI。思维,To:中断结构图,4。中断系统应用中断系统应用需要解决的问题包括电路连接和应用程序设计。程序设计1)主程序部分1。为堆栈指针SP 2赋值。如果是外部中断,定义触发模式3。定义中断优先级(为IP分配值)4。给工业工程赋值,打开中断5。

7、安排主程序在等待中断过程中应该做的操作,2)中断服务程序1。在中断入口地址单元中设置跳转指令,将程序转移到中断服务程序2的实际入口。保护现场。3.如果是电平触发的外部中断,中断信号应被移除。4.服务操作应被中断。5.场景将被恢复。6.应返回中断。如果外部中断0被指定为具有高优先级的电平触发模式,请尝试编写相关的初始化程序。解决方案:SETB艺电;打开中断SETB EX0;允许外部中断0中断SETB PX0;外部中断0被设置为高优先级CLR IT0电平触发,例如5.1,如果外部中断1被指定为具有低优先级的边沿触发模式,在中断服务程序中,寄存器B的内容将左移一位,并且B的初始值将被设置为01H。尝

8、试编写主程序和中断服务程序。例5.2,ORG 0000H;主程序LJMP MAIN主程序转移到主程序的ORG 0013H中断服务程序LJMP INT将中断服务程序转移到主:SETB国际机场;打开中断SETB EX1;允许外部中断1中断CLR PX1设置为低优先级SETB IT1;边缘触发MOV B,# 01H让b的初始值停止:sjmphalt暂停并等待中断:MOV甲,乙;美国律师协会;左环移动一个MOV B,a;RETI回来了;中断返回、参考程序、在8031单片机应用系统中设置,允许外部中断源和中断产生,并要求高优先级中断和低优先级中断。请写出申请的基本结构。分析:有必要将设置为高优先级中断,

9、并将其设置为低优先级中断,即在IP寄存器中PX1=1,PX0=0。为了实现中断嵌套,中断服务程序应注意保护相关寄存器,如5.3,ORG 0000H AJMP MAIN转移到主程序org0003h ljmpexit0转到INT0中断服务程序org0013h ljmpexit1转到INT1中断服务程序主:movsp,# 60H设置堆栈指针MOV TCON,# 05H将INT0和INT1设置为边沿触发模式SETB PX1;通电复位时,将INT1设为高优先级,将INT0设为低优先级SETB EX0;允许INT0中断SETB EX1;允许INT1中断SETB事件;打开中央处理器的中断;主程序,参考程序(

10、结构),外壁0: pushpsw。保护现场,推进,加速,DPL,推进,DPH;DPH持久性有机污染物中断处理;恢复现场持久性有机污染物DPL持久性有机污染物Acc持久性有机污染物RETI,INT0中断服务程序,外壁1:推送持久性有机污染物;保护现场,推进,加速,DPL,推进,DPH;DPH持久性有机污染物中断处理;恢复现场POP DPL POP Acc POP PSW RETI,INT1中断服务程序,定时器/计数器的第二部分,概述单片机中有两个可编程定时器/计数器T0和T1,每个T可编程为定时器或计数器,每个T有四种工作模式,定时器/计数器的功能,用作实时时钟实现定时检测和定时控制,用于计数外

11、部事件,定时/计数器的应用,检测,控制和智能仪表等。1.定时/计数器的结构和工作原理如下图所示,由加法计数器、TMOD寄存器和TCON寄存器组成。up计数器有16位,th代表高8位,TL代表低8位,用作计数器。向上计数器对芯片T0和T1引脚上的输入脉冲进行计数,当输入一个脉冲时,它用作定时器。上行计数器通过计算机器周期Tcy间接实现计时,并在每个Tcy后自动增加1。向上计数器的初始值可以由程序设置,这是不同的。当计数值或计时值不同时,在计数器运行期间,程序可以将内容读回中央处理器。选择模式选择寄存器TMOD、功能、计时/计数器0和1的工作模式。2.计时/计数器模式和控制寄存器、格式、计时/计数

12、器1、计时/计数器0、计时/计数器功能选择位、计时/计数器计数、计时/计数器计时等。栅极控制位,栅极=1,定时器/计数器0由引脚INT0控制,定时器/计数器1由引脚INT1控制,栅极=0与INT0和INT1无关,通常栅极=0,控制寄存器TCON,功能,高4位控制定时器/计数器0和1的操作,低4位控制外部中断。格式,TR1操作控制位,TR1=1,启动定时器/计数器1操作TR1=0,停止定时器/计数器1操作,TF1溢出中断标志位,当定时器/计数器1溢出时,TF11在中断允许的情况下向中央处理器发送中断请求,在中央处理器响应后,TF10在中断屏蔽的情况下,TF1可以由程序或III设置。计时器/计数器

13、的工作模式,1)模式0。定时器/计数器1工作模式0的结构图如下图所示(定时器/计数器工作模式0的结构图相同)。1.构成13位定时器/计数器;2.计数值N=8192-X,其中X为初始值,范围为18192;3.计数时,外部计数脉冲的频率应小于fosc/24;4.计时时间t=(8192-x)tcy;5.定时器/计数器1的启动或停止由TR1控制。软件设置TR1=0,S2启动和停止,软件设置TR1=1,外部INT1为高,启动,外部INT1为低,停止,2)模式1,工作模式1和工作模式0的区别如下:(其他条件相同),16位定时器/计数器的计数值为N=65536-X,范围为165536计时范围为(1 6553

14、6)Tcy,3)模式2, 定时器/计数器1工作模式2的结构图如下图所示:(定时器/计数器0工作模式2的结构图相同),1。 要形成具有自动重新加载初始值功能的8位定时器/计数器,请按2。要计算N=256-X,范围是1256,3。当TL1溢出时,TF1=1并发出重载信号,三态门打开,自动将TH1中的初始值发送给TL1。TL1重新计数,5。其他与工作模式0、6相同。适用于定时控制和波特率发生器,3)工作模式3和工作模式3的结构图如下图所示(仅对定时/计数器0有效),1。形成两个独立的8位定时/计数器。计数值为N=256-X,范围为1256,3。TH0和TL0是两个独立的加法计数器,TL0使用定时器/

15、计数器0的C/T、GATE、TR0和INT0,其工作条件类似于模式0 4。TH0只能在不受控制的模式下工作,借用定时器/计数器1的TR1、TF1、5和5。计时器/计数器1设置为工作模式3,相当于TR00,停止,6。定时器/计数器1定时器/计数器1可以在模式0、1和2下工作,但TR1和TF1被TH0借用,不能产生中断请求,只能用作波特率发生器。,四个定时器/计数器应用,1)定时器/计数器的初始化编程,初始化编程步骤:在计数模式下,计数器的最大值被设置为M,如果计数器在计数X个外部脉冲后溢出,并且计数的初始值为C,则X C=M C=MX=M (-X)=(X)补码,T0在计数器状态下运行并在模式1下工作,并且T0引脚是必需的。寻道C:方法1: C=M-X=65536-10=65526=FFF6H方法2: C=(X)补码=(000AH)补码=(000AH)求反1=FFF5H 1=FFF6H,例如,当计时模式设置为t时,计数的脉冲数为X。机器周期Tcy=12/时钟频率=12/12=1。初始值c为:模式0:c=m-t/t=8192-100/1=8092=1f9 ch模式1: c=m-t/t=65536

温馨提示

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

最新文档

评论

0/150

提交评论