输入输出中断与定时计数器_第1页
输入输出中断与定时计数器_第2页
输入输出中断与定时计数器_第3页
输入输出中断与定时计数器_第4页
输入输出中断与定时计数器_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

输入输出中断与定时计数器第1页,课件共51页,创作于2023年2月5.1I/O概述CPU和I/O设备的连接都是通过接口电路实现的I/O接口电路的作用

速度协调数据锁存三态缓冲数据转换第2页,课件共51页,创作于2023年2月接口与端口接口:指计算机与外设之间在数据传送方面的联系,其主要功能是通过电路实现的,称接口电路,简称接口。第3页,课件共51页,创作于2023年2月端口:指在接口电路中用以完成某种信息传送,并可由编程人员寻址进行读写操作的寄存器,端口也简称口。一个接口可含有多个端口,数据端口、状态端口、命令端口等。每个端口都有自己的端口地址CPU寻址外设是以端口作为地址单元第4页,课件共51页,创作于2023年2月I/O口的编址方式

独立编址统一编址端口第5页,课件共51页,创作于2023年2月输入/输出传送方式无条件传送方式查询传送方式中断传送方式读入状态信息准备好?数据传送YN查询方式流程图第6页,课件共51页,创作于2023年2月5.3MCS-51单片机的中断系统第7页,课件共51页,创作于2023年2月中断的概念中断技术:中断是指计算机在执行程序的过程中,由于计算机系统内、外的某种原因使其暂时中止原程序的执行而转去为该突发事件服务.在处理完成后再返回原程序继续执行的过程。第8页,课件共51页,创作于2023年2月中断的概念中断执行类似于子程序的调用,区别在于中断的发生是随机的,其对中断服务程序的调用是在检测到中断请求信号后自动完成的;而子程序的调用是由编程人员事先安排好的。

因此,中断又可定义为CPU自动执行中断服务程序并返回原程序执行的过程。第9页,课件共51页,创作于2023年2月中断技术的优点

可以提高CPU的工作效率便于实时处理便于故障的及时发现,提高系统的可靠性中断系统的组成包括:中断源产生、中断判优、中断响应、中断查询、中断处理等实现这样一个全过程的硬件和软件。第10页,课件共51页,创作于2023年2月中断源MCS-51的五个中断源:2个外部中断请求INT0、INT1;2个定时/计数器T0和T1的溢出中断请求TF0、TF1串行口中断请求TI、RI。中断源:引起中断的原因或发出中断请求的来源第11页,课件共51页,创作于2023年2月中断请求标志TCON:定时器控制寄存器,该寄存器字节地址为88H,是可位寻址的特殊功能寄存器。第12页,课件共51页,创作于2023年2月D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0

IE0/IE1:外部中断INT0/INT1请求标志位。当CPU采样到有效中断请求号时,由硬件电路将对应位置1。

IT0/IT1:外部中断请求信号方式控制拉。若其等于1,则对应外部中断为脉冲下降沿触发方式,否则就是电平触发方式。TF0/TFl:T0/T1计数溢出中断请求标志位。若其为1表示对应定时器T0/T1的计数值已由全1变为全0,在向CPU申请中断。TCON格式字第13页,课件共51页,创作于2023年2月SCON:串行口控制寄存器D7D6D5D4D3D2D1D099H98HTIRITI:串行口发送中断请求标志位。RI:串行口接收中断请求标志位。第14页,课件共51页,创作于2023年2月中断优先级IP:中断优先级控制寄存器,寄存器字节地址为B8H,可位寻址。D7D6D5D4D3D2D1D0BCHBBHBAHB9HB8HPSPT1PX1PT0PX0PX0:外部中断0优先级设定控制位。PX0=1高优先级;PX0=0低优先级。PT0:T0中断优先级设定控制值。PT0=1高优先级中断:PT0=0低优先级中断。PX1:外部中断1优先级设定控制位。若PX1=1高优先级中断;PX1=0低优先级中断。PTl:T1中断优先级设定控制值。若PTl=1高优先级中断;PTl=0低优先级中断。PS:串行口中断优先级设定控制位。PS=1,高优先级,PS=0,低优先级。第15页,课件共51页,创作于2023年2月中断优先级控制原则如果多个中断源同时申请中断,则CPU响应顺序为先高后低。低优先级中断请求不能打断高优先级的中断服务,但高优先级中断请求可以打断低优先级的中断服务。同级中断请求不能打断同级中断服务。第16页,课件共51页,创作于2023年2月中断优先级控制原则如果多个同级中断源同时申请中断,则CPU按如下默认顺序响应:

外部中断0-定时/计数器T0-外部中断1-定时/计数器T1-串行中断。第17页,课件共51页,创作于2023年2月中断响应的条件D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0EA:中断允许总控位。如果EA=0,则所有中断请求均被禁止;若EA=1,则是否允许中断由各个中断控制位决定。EX0/EX1:外部中断0/外部中断1中断允许位。ET0/ETl:T0/T1中断允许控制位。ES:串行口中断允许控制位IE--中断允许控制寄存器第18页,课件共51页,创作于2023年2月中断响应的条件EA=1,且对应的中断允许控制位等于1。这样CPU就在每个机器周期对该中断源进行检测。如果它提出中断申请,则只要满足下列条件就可立即响应。1)无同级或高级中断正在服务。2)检测到有中断请求到来的机器周期是当前正在执行指令的最后1个机器周期且已结束,这样可保证当前指令的完整执行。第19页,课件共51页,创作于2023年2月中断响应的条件3)检测到有中断请求到来的指令是访问IE、IP寄存器的指令或RETI指令时,该指令己执行完毕并且又执行完了一条指令。第20页,课件共51页,创作于2023年2月中断响应过程

中断响应的主要操作就是执行由硬件电路自动生成的一条LCALL指令。其中,addrl6就是中断源的中断入口地址。首先将断点地址入栈保护,然后把addrl6送人PC中,使程序自动转到相应的中断人口处执行中断服务程序。第21页,课件共51页,创作于2023年2月中断服务程序的入口地址(中断矢量)外部中断INT0定时器T0中断外部中断INT1定时器T1中断串行口中断0003H000BH0013H001BH0023H第22页,课件共51页,创作于2023年2月中断响应时间

从检测到中断到转去执行中断服务程序所需的时间称为中断响应时间。理想情况是检测到中断到来的机器周期是当前正在执行指令的最后一个机器周期,接着用2个机器周期的时间执行自动生成的LCALL指令,共需要3个机器周期。其他情况下中断的响应时间一般在3-8个机器周期。第23页,课件共51页,创作于2023年2月中断系统的总体结构第24页,课件共51页,创作于2023年2月中断请求的撤除(1)定时器/计数器的中断请求标志TF0/TFl是在响应中断后由硬件自动清除的。(2)对于串行口中断请求标志TI/RI则应在中断服务程序中由软件清除(3)对于外部中断请求标志IE0/IE1也是在响应中断后由硬件自动清除的。(4)如果外部中断是以电平触发方式申请中断,当本次中断请求已被响应后若INT0管脚的低电平没有及时撤除,则有可能再次引起中断。第25页,课件共51页,创作于2023年2月中断请求的撤除为了解决这个问题.可以采用下图所示方法,并在中断服务程序中增加如下两条指令:ANLP1,#0FEH;P1.0=0ORLP1,#01H;P1.0=1如果外部中断工作在脉冲下降沿触发方式下,则IE0/IE1被清零后就可以了,不存在信号撤除问题。第26页,课件共51页,创作于2023年2月第27页,课件共51页,创作于2023年2月中断程序举例中断系统初始化:(IE,IP,TCON,SP)(1)开中断和允许中断源中断 SETBEA SETBEX0(EX1,ET0,ET1,ES)(2)确定各中断源的优先级SETBPX0(PX1,PT0,PT1,PS)CLRPX0(PX1,PT0,PT1,PS)第28页,课件共51页,创作于2023年2月中断系统初始化(3)对外部中断,则应规定是电平触发或边沿触发。

SETBIT0(IT1) CLRIT0(IT1)第29页,课件共51页,创作于2023年2月中断程序举例例:规定外部中断0为电平触发方式,高优先级,写出初始化程序。SETBEASETBEX0SETBPX0CLRIT0第30页,课件共51页,创作于2023年2月5.4定时/计数器第31页,课件共51页,创作于2023年2月定时/计数器T0、T116位计数器,既可用于定时也可用于计数都是加1计数器。其工作方式的设定是通过一些控制寄存器实现的。计数时对T0或T1引脚输入的脉冲个数进行计数;定时时对内部脉冲计数第32页,课件共51页,创作于2023年2月与定时/计数器有关的SFR16位加1计数器T0、T1(TH0,TL0和TH1,TL1)定时器控制寄存器TCON工作方式寄存器TMOD第33页,课件共51页,创作于2023年2月计数器T0(TH0,TL0)-----字节地址8CH,8AHT1(TH1,TL1)-----字节地址8DH,8BH基本功能:(1)计数(2)溢出后自动置位中断标志位(3)对计数器T0和T1都可以进行读写操作(4)复位后都为00H第34页,课件共51页,创作于2023年2月定时器控制寄存器(TCON)D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0TR0/TRl:定时/计数器运行控制位。若其=0,则停止定时器/计数器工作。如果该位为1,则允许启动定时器/计数器可以位寻址,复位后为00H第35页,课件共51页,创作于2023年2月工作方式控制寄存器(TMOD)D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0T0控制位T1控制位

GATE:门控位GATE=0时P3.2(INT0)引脚不参与启动或停止T0GATE=1时P3.2(INT0)引脚参与启动或停止T0M1M0;工作方式选择位。M1M0=00.方式0,13位定时/计数器M1M0=01,方式1,16位定时/计数器M1M0=10,方式2,可自动装入初值的8位定时/计数器M1M0=11,方式3,两个8位定时/计数器C/T:定时方式/计数方式选择控制位。第36页,课件共51页,创作于2023年2月定时器/计数器的工作方式T0与T1除了工作方式3不同外,其余3种工作方式基本相同(1)工作方式0:是13位的计数器结构,其13位计数器由TH0和TL0的低5位构成T0在工作方式0下的逻辑电路结构如图所示。第37页,课件共51页,创作于2023年2月定时时间为:T=(213—T0的初值)×机器周期计数脉冲个数为S=213—T0的初值第38页,课件共51页,创作于2023年2月(2)工作方式1与工作方式0基本相同,只是其可以实现16位定时/计数,即在这种方式下使用TH0与TL0的全部16位。定时时间为:T=(216—T0的初值)×机器周期计数脉冲个数为S=216—T0的初值第39页,课件共51页,创作于2023年2月

(3)工作方式2工作方式2具有自动加载初始值的功能,可以解决方式0与方式1的缺点。T0方式2的电路结构框图如图所示。第40页,课件共51页,创作于2023年2月定时时间为:T=(28—T0的初值)×机器周期计数脉冲个数为S=28—T0的初值第41页,课件共51页,创作于2023年2月(3)方式3只有T0才有方式3,此时T0被拆成两个独立的部分。其中TL0仍然使用T0的各控制位、引脚和中断溢出标志、而TH0要占用T1的TR1和TF1。此时T1仍可工作在方式0,方式1,方式2但不能使用中断,设置好工作参数后可自行运动,设置成方式3停止工作。第42页,课件共51页,创作于2023年2月T0的方式3第43页,课件共51页,创作于2023年2月定时/计数器应用举例1、初始化(1)确定工作方式,对TMOD赋值。(2)确定计数初值,并写入TH0,TL0或TH1,TL1(3)开中断(4)启动T0或T1第44页,课件共51页,创作于2023年2月2、计数初值的计算定时方式下初值:

X=2n-T/TP计数方式下初值:

X=2n-N第45页,课件共51页,创作于2023年2月例:已知某单片机控制系统的晶振频率为6MHZ,要求T0产生100ms定时,确定计数初值及TMOD寄存器的内容。T=100msTp=2μsT=(2n-X)*TPX=3CB0H使用指令:MOVTH0,#3CHMOVTL0,#0B0H第46页,课件共51页,创作于2023年2月D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M000000001TMOD=01H使用指令:MOVTMOD,#01H或:ANLTMOD,#F0HORLTMOD,#01H第47页,课件共51页,创作于2023年2月例:已知某单片机控制系统的晶振频率为12MHZ现需要在P1.0脚输出周期为2ms的方波请为该系统设计相关程序。解题思路:定时器和中断结合主:初始化,启动定时器及其中断中:CPLP1.0第48页,课件共51页,创作于2023年2月(1)计算初值(2)确定工作方式(3)程序设计第49页

温馨提示

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

评论

0/150

提交评论