输入输出中断与定时计数器PPT课件

上传人:嘀嘀 文档编号:264395949 上传时间:2022-03-11 格式:PPT 页数:50 大小:189.50KB
返回 下载 相关 举报
输入输出中断与定时计数器PPT课件_第1页
第1页 / 共50页
输入输出中断与定时计数器PPT课件_第2页
第2页 / 共50页
输入输出中断与定时计数器PPT课件_第3页
第3页 / 共50页
输入输出中断与定时计数器PPT课件_第4页
第4页 / 共50页
输入输出中断与定时计数器PPT课件_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《输入输出中断与定时计数器PPT课件》由会员分享,可在线阅读,更多相关《输入输出中断与定时计数器PPT课件(50页珍藏版)》请在金锄头文库上搜索。

1、5.1 I/O 概述CPU和IO设备的连接都是通过接口电路实现的IO接口电路的作用 速度协调 数据锁存 三态缓冲 数据转换接口与端口接口:指计算机与外设之间在数据传送方面的联系,其主要功能是通过电路实现的,称接口电路,简称接口。端口:指在接口电路中用以完成某种信息传送,并可由编程人员寻址进行读写操作的寄存器,端口也简称口。 一个接口可含有多个端口,数据端口、状态端口、命令端口等。 每个端口都有自己的端口地址 CPU寻址外设是以端口作为地址单元IO 口的编址方式 独立编址 统一编址端口输入输出传送方式无条件传送方式查询传送方式中断传送方式读入状态信息准备好?数据传送YN查询方式流程图5.3 MC

2、S51单片机的中断系统中断的概念中断技术:中断是指计算机在执行程序的过程中,由于计算机系统内、外的某种原因使其暂时中止原程序的执行而转去为该突发事件服务在处理完成后再返回原程序继续执行的过程。中断的概念 中断执行类似于子程序的调用,区别在于中断的发生是随机的,其对中断服务程序的调用是在检测到中断请求信号后自动完成的; 而子程序的调用是由编程人员事先安排好的。 因此,中断又可定义为CPU自动执行中断服务程序并返回原程序执行的过程。中断技术的优点v 可以提高CPU的工作效率 v 便于实时处理v 便于故障的及时发现,提高系统的可靠性中断系统的组成包括:中断源产生、中断判优、中断响应、中断查询、中断处

3、理等实现这样一个全过程的硬件和软件。中断源MCS-51的五个中断源:2个外部中断请求INT0、INT1;2个定时计数器T0和T1的溢出中断请求TF0、TF1串行口中断请求TI、RI。中断源:引起中断的原因或发出中断请求的来源中断请求标志TCON:定时器控制寄存器,该寄存器字节地址为88H,是可位寻址的特殊功能寄存器。D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0 IE0IE1:外部中断INT0/INT1请求标志位。当CPU采样到有效中断请求号时,由硬件电路将对应位置1。 IT0IT1:外部中断请求信号方式控制拉。若其等于1,则对应外部中断为脉冲下降沿触发方式,

4、否则就是电平触发方式。TF0TFl:T0T1计数溢出中断请求标志位。若其为1表示对应定时器T0T1的计数值已由全1变为全0,在向CPU申请中断。TCON格式字SCON:串行口控制寄存器D7D6D5D4D3D2D1D099H98HTIRITI:串行口发送中断请求标志位。RI:串行口接收中断请求标志位。中断优先级IP:中断优先级控制寄存器,寄存器字节地址为B8H,可位寻址。D7D6D5D4D3D2D1D0BCH BBH BAH B9H B8HPSPT1PX1PT0PX0PX0:外部中断0优先级设定控制位。PX01 高 优先级; PX00低优先级。PT0:T0中断优先级设定控制值。PT01 高优 先

5、级中断: PT00低优先级中断。PX1:外部中断1优先级设定控制位。若PX11 高优先级中断; PX10低优先级中断。PTl:T1中断优先级设定控制值。若PTl1 高优 先级中断; PTl0低优先级中断。PS:串行口中断优先级设定控制位。PS1,高 优先级,PS0,低优先级。中断优先级控制原则如果多个中断源同时申请中断,则CPU响应顺序为先高后低。低优先级中断请求不能打断高优先级的中断服务,但高优先级中断请求可以打断低优先级的中断服务。同级中断请求不能打断同级中断服务。中断优先级控制原则如果多个同级中断源同时申请中断,则CPU按如下默认顺序响应: 外部中断0 - 定时计数器T0外部中断1 -

6、定时计数器T1 - 串行中断。中断响应的条件D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0EA:中断允许总控位。如果EA0,则所有中断请求均被禁止;若EA1,则是否允许中断由各个中断控制位决定。EX0EX1:外部中断0外部中断1中断允许位。ET0ETl:T0T1中断允许控制位。ES:串行口中断允许控制位IE-中断允许控制寄存器中断响应的条件EA1,且对应的中断允许控制位等于1。这样CPU就在每个机器周期对该中断源进行检测。如果它提出中断申请,则只要满足下列条件就可立即响应。1)无同级或高级中断正在服务。2)检测到有中断请求到来的机器周期是当前正在执行指令的最后1个机器周期且已

7、结束,这样可保证当前指令的完整执行。中断响应的条件3) 检测到有中断请求到来的指令是访问IE、IP寄存器的指令或RETI指令时,该指令己执行完毕并且又执行完了一条指令。中断响应过程 中断响应的主要操作就是执行由硬件电中断响应的主要操作就是执行由硬件电路自动生成的一条路自动生成的一条LCALLLCALL指令。其中,指令。其中,addrl6addrl6就是中断源的中断入口地址。首先将断点地址就是中断源的中断入口地址。首先将断点地址入栈保护,然后把入栈保护,然后把addrl6addrl6送人送人PCPC中,使程序自中,使程序自动转到相应的中断人口处执行中断服务程序。动转到相应的中断人口处执行中断服务

8、程序。中断服务程序的入口地址(中断矢量)外部中断INT0定时器T0中断外部中断INT1定时器T1中断串行口中断0003H000BH0013H001BH0023H中断响应时间 从检测到中断到转去执行中断服务程序所需的时间称为中断响应时间。理想情况是检测到中断到来的机器周期是当前正在执行指令的最后一个机器周期,接着用2个机器周期的时间执行自动生成的LCALL指令,共需要3个机器周期。其他情况下中断的响应时间一般在38个机器周期。中断系统的总体结构中断请求的撤除(1)定时器计数器的中断请求标志TF0TFl是在响应中断后由硬件自动清除的。(2)对于串行口中断请求标志TIRI则应在中断服务程序中由软件清

9、除(3) 对于外部中断请求标志IE0IE1也是在响应中断后由硬件自动清除的。(4)如果外部中断是以电平触发方式申请中断,当本次中断请求已被响应后若INT0管脚的低电平没有及时撤除,则有可能再次引起中断。中断请求的撤除为了解决这个问题可以采用下图所示方法,并在中断服务程序中增加如下两条指令: ANL P1,0FEH ;P1.0=0 ORL P1, 01H ; P1.0=1如果外部中断工作在脉冲下降沿触发方式下,则IE0IE1被清零后就可以了,不存在信号撤除问题。中断程序举例中断系统初始化:(IE,IP,TCON,SP)(1)开中断和允许中断源中断SETB EASETB EX0 (EX1,ET0,

10、ET1,ES)(2)确定各中断源的优先级 SETB PX0 (PX1,PT0,PT1,PS) CLR PX0 (PX1,PT0,PT1,PS)中断系统初始化(3)对外部中断,则应规定是电平触发或边沿触发。SETB IT0 (IT1)CLR IT0 (IT1)中断程序举例例:规定外部中断0为电平触发方式,高优先级,写出初始化程序。SETB EASETB EX0SETB PX0CLR IT05.4 定时计数器定时计数器T0、T116位计数器,既可用于定时也可用于计数都是加1计数器。其工作方式的设定是通过一些控制寄存器实现的。计数时对T0或T1引脚输入的脉冲个数进行计数;定时时对内部脉冲计数与定时/

11、计数器有关的SFR16位加1计数器 T0、T1(TH0,TL0和TH1,TL1)定时器控制寄存器TCON工作方式寄存器TMOD计数器 T0T0(TH0TH0,TL0TL0)-字节地址字节地址8CH8CH,8AH8AH T1 T1(TH1TH1,TL1TL1)-字节地址字节地址8DH8DH,8BH8BH基本功能:基本功能:(1 1)计数)计数(2 2)溢出后自动置位中断标志位)溢出后自动置位中断标志位(3 3)对计数器)对计数器T0T0和和T1T1都可以进行都可以进行读写读写操作操作(4 4)复位后都为)复位后都为00H00H定时器控制寄存器(TCON)D7D6D5D4D3D2D1D0TF1TR

12、1TF0TR0IE1IT1IE0IT0TR0TRl:定时计数器运行控制位。若其0,则停止定时器计数器工作。如果该位为1,则允许启动定时器计数器可以位寻址,复位后为00H工作方式控制寄存器(TMOD)D7 D6D5D4D3D2D1D0GATE CTM1M0GATECTM1M0T0控制位T1控制位 GATE:门控位 GATE=0时 P3.2(INT0)引脚不参与启动或停止T0 GATE=1时 P3.2 (INT0)引脚参与启动或停止T0M1M0;工作方式选择位。 M1M000方式0,13位定时/计数器 M1M001,方式1,16位定时/计数器 M1M010,方式2,可自动装入初值的8 位定时/计数

13、器 M1M011,方式3,两个8位定时/计数器CT:定时方式计数方式选择控制位。定时器计数器的工作方式T0与T1除了工作方式3不同外,其余3种工作方式基本相同(1)工作方式0:是13位的计数器结构,其13位计数器由TH0和TL0的低5位构成 T0在工作方式0下的逻辑电路结构如图所示。定时时间为:T(213T0的初值)机器周期计数脉冲个数为 S213 T0的初值(2)工作方式1 与工作方式0基本相同,只是其可以实现16位定时计数,即在这种方式下使用TH0与TL0的全部16位。定时时间为:定时时间为:T T(2(21616T0T0的初值)的初值) 机器周期机器周期计数脉冲个数为计数脉冲个数为 S

14、S2 21616 T0 T0的初值的初值 (3)工作方式2 工作方式2具有自动加载初始值的功能,可以解决方式0与方式1的缺点。T0方式2的电路结构框图如图所示。定时时间为:T(28T0的初值)机器周期计数脉冲个数为 S28 T0的初值(3)方式3 只有T0才有方式3,此时T0被拆成两个独立的部分。 其中TL0仍然使用T0的各控制位、引脚和中断溢出标志、而TH0要占用T1的TR1和TF1。此时T1仍可工作在方式0,方式1,方式2但不能使用中断,设置好工作参数后可自行运动,设置成方式3停止工作。T0的方式3定时计数器应用举例1、初始化(1)确定工作方式,对TMOD赋值。(2)确定计数初值,并写入T

15、H0,TL0或TH1,TL1(3)开中断(4)启动T0或T12、计数初值的计算定时方式下初值: X X2 2n nT TT TP P计数方式下初值: X X2 2n nN N例:已知某单片机控制系统的晶振频率为6MHZ,要求T0产生100ms定时,确定计数初值及TMOD寄存器的内容。T=100msT=100msTp=2sTp=2sT T (2(2n n X )*TX )*TP PX=3CB0HX=3CB0H使用指令:使用指令:MOV TH0 ,#3CHMOV TH0 ,#3CHMOV TL0,#0B0HMOV TL0,#0B0HD7 D6D5D4D3D2D1D0GATE CTM1M0GATEC

16、TM1M000000001TMOD=01HTMOD=01H使用指令:使用指令:MOV TMOD ,#01HMOV TMOD ,#01H或:或:ANL TMOD, #F0HANL TMOD, #F0H ORL TMOD,#01H ORL TMOD,#01H例:已知某单片机控制系统的晶振频率为12MHZ现需要在P1.0脚输出周期为2ms的方波请为该系统设计相关程序。解题思路:定时器和中断结合主:初始化,启动定时器及其中断中:CPL P1.0(1)计算初值(2)确定工作方式(3)程序设计 ORG 0000H LJMP MAIN ORG 000BH LJMP INT ORG 2000HMAIN:MOV TMOD,#00H MOV TH0,#0E0H MOV TL0,#18H SETB EA SETB ET0 SETB TR0HALT:SJMP HALTINT:CPL P1.0 MOV TH0,#0E0H MOV TL0,#18H RETI采用查询的方法编程MAIN:MOV TMOD,#00H MOV TH0,#E0H MOV TL0,#18H MOV IE,#00H SETB TR0LOOP:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号