




已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机的中断与定时,第五章,重点及难点: 单片机中断与定时的基本概念、单片机的中断系统、单片机的定时器/计数器、单片机外部中断源的扩展。教学基本要求: 掌握单片机中断与定时的基本概念;掌握单片机的中断源、中断控制、中断响应过程的基本概念及单片机中断系统的功能和使用方法;掌握单片机的定时器/计数器的初值计算、工作方式控制寄存器的初始化、程序的设计方法和步骤;了解单片机外部中断源扩展的常用方法和步骤。,重点与难点,5.1 中断的基本知识5.2 MCS-51单片机的中断系统5.3 MCS-51单片机的定时器/计数器5.4 MCS-51单片机外部中断源的扩展5.5 定时/计数器及中断综合应用举例,教学内容,(一)一般微机的输入/输出方式 1条件传送方式2. 查询传送方式 3直接存储器存取方式4. 中断传送方式,5.1 中断的基本知识,中断的概念,执行主程序,主程序,继续执行主程序,断点,中断请求,中断响应,执行中断处理程序,中断返回,5.1 中断的基本知识,CPU正在处理某一程序时,发生了另一突发事件请求CPU迅速去处理(中断发生);CPU暂时停止当前的工作,转到需要处理的中断源的服务程序的入口(中断响应),一般在入口处执行一跳转指令转去处理中断事件(中断服务);待CPU将中断事件处理完毕后,再回到原来程序被中断的地方继续处理执行程序(中断返回),这一处理过程称为中断,5.1 中断的基本知识,图4.1 中断过程示意图,5.1 中断的基本知识,(二)中断源引起中断的原因,或是能发出中断申请的来源,称为中断源。,中断源引起中断的原因,或能发出中断申请的来源,称为中断源。通常中断源有以下几种:(1) 一般的输入、输出设备,如键盘、打印 机、A/D转换、D/A转换等;(2) 实时时钟,如定时器;(3) 故障源,如电源掉电。,5.1 中断的基本知识,(三)中断的分类(1)屏蔽中断(2)非屏蔽中断。(3)软件中断。(四)中断的开放与关闭中断的开放与关闭,亦称为开中断和关中断。这是指CPU中断系统的状态,只有当CPU处于开中断状态时,才能接受外部的中断申请。反之,当CPU处于关中断状态时,则不能接受外部的中断申请。,5.1 中断的基本知识,(五)中断的优先级,一般计算机系统允许有多个中断源。当几个中断源同时向CPU请求中断,要求服务时,就存在CPU优先响应哪一个中断请求的问题。为此系统根据中断源的轻重缓急进行排队,规定每个中断源都有一个中断优先级别,优先处理最紧急事件的中断请求。,5.1 中断的基本知识,(六)中断处理过程 一个完整的中断处理的基本过程应包括:中断请求、中断响应、中断处理和中断返回。,5.1 中断的基本知识,1.中断请求,中断过程是由中断源向CPU发出中断请求而开始的。有效中断请求信号应该一直保持到CPU作出响应为止。,2.中断响应,CPU检测到中断请求信号后,在满足一定条件的情况下进行响应。其主要条件是:中断标志是否开放,是否高级中断,是否执行完一条指令等。,5.1 中断的基本知识,3.中断处理,中断处理或称为中断服务,就是执行中断源所要求的中断服务程序。在中断服务程序中需要完成的主要工作是:,保护现场根据需要把断点处有关存储器的内容压入堆栈,以保护主程序运行的结果。,开/关中断标志根据CPU响应中断后开/关中断情况,适当处理中断标志,以确保保护/恢复现场的正确进行,确保所需中断嵌套的实现。,中断处理根据中断源的要求,完成相应的任务,这是中断服务的核心。,5.1 中断的基本知识,恢复现场在完成中断服务之后,返回被中断的主程序之前,恢复堆栈中保护的各有关寄存器的内容。,4.中断返回,在中断服务程序后,用一条中断返回指令(RETI),保证返回主程序继续执行被中断的程序。,5.1 中断的基本知识,一、中断源,CPU在每个机器周期的S5P2检测上的信号。,5.2 MCS-51单片机的中断系统,对于电平方式,只要检测到低电平信号即为有效申请;对于脉冲方式,则需要比较两次检测到的信号,才能确定中断请求信号是否有效,并且中断请求信号高低电平的状态都应至少维持一个机器周期,以确保电平变化能被单片机检测到。,思考:,脉冲触发方式下,外部中断脉冲的最高触发频率为系统振荡频率的多少倍?, 内部中断除外部中断源外,内部还有TF0、TF1、TI、RI分别为定时器/计数器中断和发送/接收中断的中断源。,5.2 MCS-51单片机的中断系统,5.2 MCS-51单片机的中断系统,二、中断控制,MCS-51单片机设置了4个专用寄存器用于中断控制 ,用户通过设置其状态来管理中断系统。,1.定时器控制寄存器(TCON),TCON的格式如下:,TCON D7 D6 D5 D4 D3 D2 D1 D0,(88H),如前所述,寄存器中TR1(TR0)用于定时器/计数器的启动控制,其余6位用于中断控制,其作用如下:,5.2 MCS-51单片机的中断系统,IT0为外部中断0请求信号方式控制位。IT0 = 1,脉冲方式(负跳变有效);IT0 = 0,电平方式(低电平有效)。,IT1为外部中断1请求信号方式控制位,其作用同IT0。,IE1为外部中断1请求标志位,其作用同IE0。,TF0(TF1)为定时器/计数器溢出标志位,此标志作用将在定时器/计数器一节说明。,5.2 MCS-51单片机的中断系统,2.串行口控制寄存器(SCON),SCON格式如下:,SCON D7 D6 D5 D4 D3 D2 D1 D0,(98H),串行口控制寄存器格式及各位功能将在串行接口一节介绍,其中高6位用于串行口控制,低2位(RI、TI)用于中断控制,其作用如下:,TI为串行口发送中断请求标志位,发送完一帧串行数据后,由硬件置1,其清零须由软件完成。,5.2 MCS-51单片机的中断系统,RI为串行口接收中断请求标志位,接完一帧串行数据后,由硬件置1,其清零由软件完成。,在MCS-51单片机串行口中,TI和RI的逻辑“或”作为一个内部中断源,二者之一置位都可以产生串行口中断请求,然后在中断服务程序中测试这两个标志位,以决定是发送中断还是接收中断。,3.中断允许控制寄存器(IE),中断允许寄存器格式如下:,IE D7 D6 D5 D4 D3 D2 D1 D0,(A8H),5.2 MCS-51单片机的中断系统,ES为串行口中断允许位,ES=1时,允许串行口中断;ES=0时,禁止串行口中断。,寄存器中用于控制中断的共6位,其作用如下:,EX1为外部中断1允许控制位,EX1=1允许外部中断1中断,EX1=0,禁止外部中断1中断。,ET1为定时器/计数器1(T1)中断允许控制位,ET1=1时,允许T1中断;ET1=0时,禁止T1中断。,ET0为定时器/计数器0(T0)中断允许控制位,其控制功能同ET1。,EX0为外部中断0允许控制位,其控制功能同EX1。,5.2 MCS-51单片机的中断系统,MCS51单片机中断系统的管理是由中断允许总控制位EA和各中断源的中断控制位联合作用实现的,缺一不可。,4.中断优先级控制寄存器(IP),中断优先级控制寄存器的格式如下:,IP D7 D6 D5 D4 D3 D2 D1 D0,(B8H),MCS-51单片机规定了两级中断优先级:高级中断和低级中断,用中断优先级寄存器(IP)的5位状态管理5个中断源的优先级别。相应位是“0”的中断源为低级中断,相应位是“1”的中断源为高级中断。,5.2 MCS-51单片机的中断系统,各状态位的作用如下:,PS为串行口中断优先控制位,PS = 1,串行口为高优先级中断;PS = 0,串行口为低优先级中断。,PT1为定时器/计数器1(T1)中断优先控制位,PT1 = 1,T1为高优先级中断,PT1 = 0,T1为低优先级中断。,PT0为定时器/计数器优先控制位,PT0 = 1,T0为高优先级中断;PT0 = 0,T0为低优先级中断。,PX0为外部中断0中断优先控制位,PX0 = 1,外部中断0为高优先级中断;PX0 = 0,外部中断0为低优先级中断,5.2 MCS-51单片机的中断系统,PX0为外部中断0中断优先控制位,PX0 = 1,外部中断0为高优先级中断;PX0 = 0,外部中断0为低优先级中断。,MCS51单片机优先级的控制原则是:,为了实现中断嵌套,高优先级中断请求可以中断低优先级的中断服务;反之则不允许。,同等优先级中断源之间不能中断对方的中断服务过程。,多个同级中断源同时产生中断请求时,则按查询顺序确定哪个中断请求先被响应。MCS51单片机规定的查询顺序是:外部中断0、定时器/计数器0、外部中断1、定时器/计数器1和串行口中断。,5.2 MCS-51单片机的中断系统,中断初始化与中断控制寄存器状态设置 对中断的使用是在程序初始化时设置的,如果不包括优先级控制,外中断初始化共有3项内容:中断总允许、外中断允许和中断方式设定。而定时中断则只有两项内容,没有中断方式控制。假定要开放外中断0,使用字节操作指令为:MOV IE , # 81H如使用位操作指令则为: SETB EA SETB EX0,5.2 MCS-51单片机的中断系统,三、中断响应过程(一)中断采样(二)中断查询(三)中断响应 中断响应就是对中断源提出的中断请求的接受,是在中断查询之后进行的。当查询到有效的中断请求时,紧接着就进行中断响应。,中断响应是有条件的,并不是查询到的所有中断请求都能被立即响应,当存在下列情况之一时,中断响应被封锁。(1)CPU正处在为一个同级或高级的中断服务中。(2)查询中断请求的机器周期不是当前指令的最后一个机器周期。(3)当前指令是返回指令(RET,RETI)或访问IE、IP的指令。,5.2 MCS-51单片机的中断系统,中断源与其中断服务程序入口地址之间的关系是固定的,见表51。,表51 8051中断服务程序入口地址表,ORG 0003HLJMP 2000H,5.2 MCS-51单片机的中断系统,表51中的5个中断服务程序入口地址之间,各有8个单元的空间,一般情况下难以容纳一个完整的中断服务程序。通常,总是在中断入口处安排一条无条件转移指令,使程序转向实际存放中断服务程序的存储器区域。例如:若INT0中断服务程序始址在2000H单元,则如下指令执行后便可转入2000H处执行中断服务程序:,5.2 MCS-51单片机的中断系统,(四)中断响应时间,在实时控制系统中,为了满足控制速度要求,常要弄清CPU响应中断所需的时间。中断响应时间是指从查询中断请求标志位到转向中断服务程序入口地址所需的机器周期数,一般是3-8个机器周期。,响应中断最短时间是:,CPU查询中断标志的周期正好是执行一条指令的最后一个机器周期(占用一个机器周期),此后,不需等待即可响应中断,硬件自动生成并执行LCALL指令(需要2个机器周期),所以总共需要3个机器周期。,5.2 MCS-51单片机的中断系统,响应中断最长时间是:,CPU查询中断标志时,正好是开始执行RETI或访问IE、IP的指令,此时,需要把当前指令执行完再继续执行一条指令后,才能响应中断。执行前者最长需2个机器周期,而执行后者最长需4个机器周期(如乘、除指令),再加上执行长调用指令LCALL所需2个机器周期,总共需要8个机器周期。,通常,中断响应时间可以不予考虑,但在某些需要精确定时的场合,应作出调整,以保证精确的定时。,5.2 MCS-51单片机的中断系统,(五)中断请求的撤除,在中断请求被响应前,中断源发出的中断请求是由CPU锁存在特殊功能寄存器TCON和SCON的相应中断标志位中的。一旦某个中断请求得到响应,CPU必须把它的相应标志位复位成“0”状态。否则,MCS51就会因中断未能得到及时撤除而重复响应同一中断请求,这是绝对不能允许的。,1定时中断请求的撤销2脉冲方式外部中断请求的撤销3电平方式外部中断请求的撤销4串行中断软件撤销,5.2 MCS-51单片机的中断系统,一、定时器溢出中断请求的撤除,定时器溢出中断源的中断请求是自动撤除的,用户根本不必专门为它们撤除。,二、串行口中断请求的撤除,TI和RI是串行口中断的标志位,中断系统不能自动将它们撤除,这是因为MCS51进入串行口中断服务程序后常需要对它们进行检测,以测定串行口发生了接收中断还是发送中断。为了防止CPU再次响应这类中断,用户应在中断服务程序的适当位置处通过如下指令将它们撤除:,CLR TI ;撤除发送中断 CLR RI ;撤除接收中断,5.2 MCS-51单片机的中断系统,若采用字节指令,则也可采用如下指令:ANL SCON,#0FCH;撤除发送和接收中断,三、外部中断的撤除,外部中断请求有二种触发方式:电平触发和负边沿触发。对于这两种不同的中断触发方式,MCS51撤除它们的中断请求的方法是不相同的。,5.2 MCS-51单片机的中断系统,(六)中断服务流程,中断处理过程分为4个阶段:中断请求中断响应中断服务中断返回。1. 中断响应条件 CPU在每个机器周期的S5P2时刻对各个中断源的中断标志进行采样。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。如果某个中断标志在上一个机器周期的S5P2被置成了“1”,那么它将于现在的查询周期中及时被发现。接着CPU便执行一条由中断系统提供的硬件LCALL指令,转向被称作中断向量的特定入口地址,进入相应的中断服务程序。,5.2 MCS-51单片机的中断系统,2. 中断响应过程(1) 将相应的优先级状态触发器置“1”(以阻断后来的同级或低级的中断请求);(2) 执行一条硬件LCALL指令,把程序计数器(PC)的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入PC; (3) 进入中断服务程序后,CPU自动清除中断请求标志TF0、TF1、IE0、IE1,但不能清除TI和RI。,5.2 MCS-51单片机的中断系统,3. 执行中断服务程序(1)在主程序中事先进行中断初始化, (2)在中断服务程序入口地址单元放一条长转移指令 LJMP,这样中断服务程序能灵活地安排在64KB程 序存储器的任何 地方。(3)在中断服务程序中,首先用软件保护现场,在中断服务之后、中断返回前恢复现场,以防止中断返回后,丢失原寄存器的内容。,5.2 MCS-51单片机的中断系统,4. 中断返回 中断服务程序的最后一条指令必须是中断返回指令RETI。RETI指令能使CPU结束中断服务程序的执行,返回到曾经被中断过的程序处,继续执行主程序。RETI指令的具体功能是:(1) 将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序;(2) 将相应中断优先级状态触发器清“0”,通知中断系统,中断服务程序已执行完毕。,5.2 MCS-51单片机的中断系统,四、MCS-51单片机的单步工作方式,(1)建立单步执行的外部控制电路(2)编写外部中断0的中断服务程序 JNBP2.2 ,$; =0则“原地踏步” ANLP1 ,# FFH;=1则“原地踏步” RETI;返回主程序,5.2 MCS-51单片机的中断系统,5.3.1定时方法概述,可供选择的定时方法有:,一、 软件定时,软件定时靠执行一个循环程序以进行时间延迟。,特点是时间精确,且不需要外加硬件电路。但软件定时要占用CPU开销,因此软件定时的时间不宜太长。,二、硬件定时,特点是(定时功能全部由硬件电路完成)不占CPU时间,但需通过改变电路的元件参数来调节定时时间,在使用上不够灵活方便。,5.3 MCS-51单片机的定时器/计数器,三、可编程定时器定时,这种定时方法是通过对系统时钟脉冲的计数来实现的。计数值通过程序设定,改变计数值,也就改变了定时时间,使用起来既灵活有方便。,MCS-51单片机把定时电路集成在芯片中,称之为定时器/计数器。,5.3.2定时器/计数器的定时和计数功能,MCS51单片机内部有两个可编程的定时器/计数器,分别称为定时器/计数器0和定时器/计数器1。它们都是16位加法计数结构,分别由TH0和TL0及TH1和TL1两个8位计数器组成。,5.3 MCS-51单片机的定时器/计数器,一、计数功能,计数是指对外部事件进行计数。外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。MCS51芯片有T0(P3.4)和T1(P3.5)两个信号引脚,分别是这两个计数器的输入端。外部输入的脉冲为负跳变时有效,进行计数器加1。,单片机在每个机器周期的S5P2拍节对外部计数脉冲进行采样。如果前一个机器周期采样为高电平,后一个机器周期采样为低电平,即为一个有效脉冲。在下一个机器周期的S3P1进行计数。可见采样计数脉冲是在2个机器周期进行的。因此,计数脉冲的频率不能高于震荡脉冲频率的1/24。外部输入脉冲高电平和低电平时间必须在一个机器周期以上。,5.3 MCS-51单片机的定时器/计数器,二、定时功能,定时功能也是通过定时器/计数器的计数来实现的。不过此时的计数脉冲来自单片机内部,即每个机器周期产生一个计数脉冲,也就是每个机器周期计数器加1。,由于一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。这样不但可以根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出计数器的初值。,5.3 MCS-51单片机的定时器/计数器,5.3.3 定时器/计数器的控制寄存器,与定时器/计数器应用有关的控制寄存器有:,一、 定时控制寄存器(TCON),TCON寄存器既参与中断控制又参与定时控制,其中有关定时的控制位共有4位:, TF0和TF1计数溢出标志位,当计数器计数溢出(计满)时,该位置“1”;使用查询方式时,此位作状态位供查询,但应注意查询有效后,须用软件方法及时将该位清“0”;使用中断方式时,此位作中断标志位,在转向中断服务程序时由硬件自动清“0”。,5.3 MCS-51单片机的定时器/计数器, TR0和TR1定时器运行控制位TR0(TR1)=0 停止定时器/计数器工作TR0(TR1)=1 启动定时器/计数器工作该位根据需要以软件方法使其置“1”或清“0”。,二、工作方式控制寄存器(TMOD, 89H),各位定义如下:,5.3 MCS-51单片机的定时器/计数器,M1 M0工作方式选择位M1 M0=00 方式0为13位定时器/计数器;M1 M0=01 方式1为16位定时器/计数器;M1 M0=10 方式2为常数自动装入的8位定时器/计数器;M1 M0=11 方式3(仅适用于T0)为两个8位定时器/计数器,在方式3时T1停止计数。,GATE门控位GATE=0 由运行控制位TR启动定时器;GATE=1 由外中断请求信号(INT0或INT1)启动定时器;C/T定时方式或计数方式选择位 C/T=0 定时工作方式; C/T=1 计数工作方式;,5.3 MCS-51单片机的定时器/计数器,三、中断允许控制寄存器(IE,A8H),与定时器/计数器有关的位重复介绍如下:,EA中断允许总控制位。,ET0和ET1定时/计数中断允许控制位。 ET0(ET1)= 0,禁止定时/计数中断;ET0(ET1)=1,允许定时/计数中断。,5.3.4 定时器/计数器工作方式,MCS51单片机的定时器/计数器共有4种工作模式。,5.3 MCS-51单片机的定时器/计数器,定时器/计数器方式0的计数器结构:,一、方式0,5.3 MCS-51单片机的定时器/计数器,(一)电路逻辑结构方式0是13位计数结构的工作方式,其计数器由TH0全部8位和TL0的低5位构成。TL0的高3位弃之不用。(二)定时和计数应用在方式0下,当为计数工作方式时,计数值范围是: 18192(213)当为定时工作方式时,定时时间的计算公式为: (213计数初值) 晶振周期12或(213计数初值) 机器周期其时间单位与晶振周期或机器周期相同(s)。如晶振频率为6 MHz,则最小定时时间为213(2131) 1/6106l2 = 2106 = 2(s)最大定时时间为(213 0 )1/6106l2 = 16 384106 = 16 384(s),5.3 MCS-51单片机的定时器/计数器,例5-1 设单片机晶振频率为6MHz,使用定时器1以方式0产生周期为500s的等宽正方波连续脉冲,并由P1.0输出,以查询方式完成。1计算计数初值要产生500s的等宽正方波脉冲,只需在P1.0端以250s为周期交替输出高低电平即可实现,为此定时时间应为250s。使用6MHz晶振,则一个机器周期为2s。方式0为13位计数结构。设待求的计数初值为X,则: (213 X )2106 = 256106 求解得:X = 8067,二进制数表示为1111110000011B,十六进制表示,高8位为:0FCH,低5位为03H。其中高8位放入TH1,即TH1 = 0FCH;低5位放入TL1,即TL1= 03H。,5.3 MCS-51单片机的定时器/计数器,TMOD寄存器初始化为把定时器/计数器1设定为方式0,则M1M0 = 00;为实现定时功能,应使C/= 0;为实现定时器/计数器1的运行控制,则GATE = 0。定时器/计数器0不用,有关位设定为0。因此TMOD寄存器应初始化为00H。3由定时器控制寄存器TCON中的TR1位控制定时的启动和停止 TR1 = 1启动,TR1= 0停止。4程序设计,5.3 MCS-51单片机的定时器/计数器,MOV TMOD ,# 00H;设置T1为工作方式0 MOV TH1 ,# 0FCH;设置计数初值 MOV TL1 ,# 03H MOV IE ,# 00H;禁止中断LOOP: SETB TR1;启动定时 JBC TF1 ,LOOPl;查询计数溢出 AJMP LOOP LOOP1: MOV TH1 ,# 0FCH;重新设置计数初值 MOV TL1 ,# 03H CLR TF1;计数溢出标志位清“0” CPL P1.0;输出取反 AJMP LOOP;重复循环,5.3 MCS-51单片机的定时器/计数器,二、定时工作方式1方式1是16位计数结构的工作方式,计数器由TH0全部8位和TL1全部8位构成。当为计数工作方式时,计数值的范围是 165536(216)当为定时工作方式时,定时时间的计算公式为 (216计数初值) 晶振周期12或(216计数初值) 机器周期其时间单位与晶振周期或机器周期相同(s)。,5.3 MCS-51单片机的定时器/计数器,方式1是16位计数结构的工作方式,计数器由TH0全部8位和TL0全部8位构成。,5.3 MCS-51单片机的定时器/计数器,例5-2 题目同例5.1,但以中断方式完成。单片机晶振频率为6MHz,使用定时器1以工作方式1产生周期为500s的等宽正方波连续脉冲,并由P1.0输出。1计算计数初值TH1 = 0FFH TL1 = 83H2TMOD寄存器初始化TMOD = 10H3程序设计,5.3 MCS-51单片机的定时器/计数器,主程序: MOV TMOD ,# 00H;设置T1为工作方式0 MOV TH1 ,# 0FFH;设置计数初值 MOV TL1 ,# 0A1H SETB EA;开中断 SETB ET1;定时器1允许中断LOOP:SETB TR1;定时开始HERE:SJMP$; 等待中断中断服务程序: MOV TH1 ,# 0FFH;设置计数初值 MOV TL1 ,# 0A1H CPL P1.0;输出取反RETI;中断返回,5.3 MCS-51单片机的定时器/计数器,三、方式2,具有自动重装计数初值的功能。在这种工作方式下,把16位计数分为两部分,即以TL作计数器,以TH作预置计数器,初始化时把计数初值分别装入TL和TH中。当计数溢出时,由预置计数器自动给计数器TL重新装初值。,5.3 MCS-51单片机的定时器/计数器,例5-3 使用定时器0以工作方式2产生100s定时,在P1.0输出周期为200s的连续正方波脉冲。已知晶振频率fOSC = 6MHz。 1计算计数初值6MHz晶振下,一个机器周期为2,以TH0作重装载的预置寄存器,TL0作8位计数器,假设计数初值为X,则 (28X )2106 = 100106求解得X = 206D = 11001110B = 0CEH把0CEH分别装入TH0和TL0中:TH0 = 0CEH ,TL0 = 0CEH,5.3 MCS-51单片机的定时器/计数器,2TMOD寄存器初始化 定时器/计数器0为工作方式2,M1M0 =10;定时功能C/= 0;为实现定时器/计数器0的运行GATE = 0;定时器/计数器1不用,有关位设定为0。TMOD寄存器的状态应为02H。3程序设计(查询方式)MOVIE ,# 00H;禁止中断MOVTMOD ,# 02H;设置定时器0为工作方式2MOVTH0 ,# 0CEH;保存计数初值MOVTL0 ,# 0CEH;设置计数初值SETBTR0;启动定时LOOP:JBCTF0 ,LOOPl;查询计数溢出AJMPLOOPLOOP1:CPLP1.0;输出方波AJMPLOOP;重复循环由于方式2具有自动重装载功能,因此计数初值只需设置一次,以后不再需要软件重置。,5.3 MCS-51单片机的定时器/计数器,4程序设计(中断方式) 主程序: MOV TMOD ,# 02H;设置定时器1为工作方式2 MOV TH0 ,# 0CEH;保存计数初值 MOV TL0 ,# 0CEH;设置计数初值 SETB EA;开中断 SETB ET0;定时器0允许中断LOOP:SETB TR0;定时开始HERE:SJMP $;等待中断 CLP TF0;计数溢出标志位清“0” AJMP LOOP 中断服务程序 CPL P1.0;输出方波 RETI ;中断返回,5.3 MCS-51单片机的定时器/计数器,四、定时工作方式3 在工作方式3下,定时器/计数器0被拆成两个独立的8位计数器TL0和TH0。其中TL0既可以计数使用,又可以定时使用,定时器/计数器0的各控制位和引脚信号全归它使用。,1、工作方式3下的定时器/计数器0,在工作方式3下,定时器/计数器0被拆成两个独立的8位计数器TL0和TH0。其中TL0既可以用作计数,又可以用作定时,定时器/计数器0的各控制位和引脚信号全归它使用。其功能和操作与方式0和方式1完全相同,而且逻辑电路结构也极其类似,如图所示。,5.3 MCS-51单片机的定时器/计数器,定时器/计数器0的高8位TH0,则只能作为简单的定时器使用。而且由于定时器/计数器0的控制位已被TL0占用,因此只好借用定时器/计数器1的控制位TR1和TF1。即以计数溢出去置位TF1,而定时的启动和停止则由TR1的状态控制,见图5 13b。,5.3 MCS-51单片机的定时器/计数器,在工作方式3下,定时器/计数器0可以构成两个定时器或一个定时器一个计数器。,2、在定时器/计数器0 设置为工作方式3时的定时器/计数器1,定时器/计数器1不能工作于方式3,只能工作于方式0、方式1或方式2。且在定时器/计数器0已工作于方式3时,定时器/计数器1通常用作串行口的波特率发生器,以确定串行通信的速率。因为已没有计数溢出标志位TF1可供使用,因此只能把计数溢出直接送给串行口,如图5 14所示。,5.3 MCS-51单片机的定时器/计数器,定时器/计数器0在方式3时定时器/计数器1的使用,当作为波特率发生器使用时,只需设置好工作方式,便可自动运行。如要停止工作,只需送入一个把它设置为方式3的方式控制字就可以了。,5.3 MCS-51单片机的定时器/计数器,MCS-51单片机系统仅提供了两个外部中断申请输入端和,而实际应用系统中往往会出现外部中断不够用的情况,因此必须对其外部中断源进行扩展。扩展外部中断源常用方法有: 用定时器/计数器0、定时器/计数器1扩展外部中断源; 用串行口中断扩展外部中断源; 采用中断和查询相结合的方法扩展外部中断源; 用可编程中断控制器扩展中断源。以下介绍两种方法。,5.3 MCS-51单片机的定时器/计数器,一、用自身的定时器/计数器实现外部中断源的扩展具体实现方法为: 置定时器/计数器工作方式2,即自动装载式8位计数器,以便在一次中断响应后,自动为下一次中断申请作好准备; 高低8位计数器(TH和TL)均预置为0FFH; 扩展的外部中断请求信号接计数输入端(T0或T1); 把扩展外部中断服务程序按所用的定时器/计数器中断入口地址存放。,5.4 MCS-51单片机外部中断源的扩展,例如以定时器/计数器0扩展一个外部中断,其初始化程序段为:MOV TMOD ,# 06H;设置计数器0为工作方式2MOV TH0 , # 0FFH;置计数初值MOV TL1 , # 0FFHSETB EA ;开中断SETB ET0 ;计数器0允许中断SETB ET1 ;计数启动,5.4 MCS-51单片机外部中断源的扩展,二、采用中断和查询相结合的方法扩展外部中断源可采用硬件申请与软件查询的方法,把多个中断源通过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 气缸活塞模型课件
- 少儿口才资料课件
- 打地鼠幼儿课件
- 汽车技术面试试题及答案
- 广播电台技术岗位试题及答案
- 辅警法制培训课件
- 湖北省孝感市2025-2026学年高二上学期9月月考考试历史试卷
- 中国银行2025酒泉市秋招笔试英语题专练及答案
- 建设银行2025九江市秋招结构化面试经典题及参考答案
- 工商银行2025嘉峪关市秋招半结构化面试题库及参考答案
- 社工考试真题及答案
- 2025年哈尔滨市呼兰区人民法院公开招聘聘用制书记员、辅警、文员4人考试参考试题及答案解析
- 【2025年】蚌埠市12345政务服务便民热线岗位招聘20名考试笔试试题(含答案)
- 村卫生室标准化建设课件
- 理发店安全知识培训课件
- 2025年初中美术学业水平检测试题(含答案)
- 2024重庆护士三基考试真题卷(附答案)
- 2025-2026学年人教鄂教版(2017)小学科学四年级上册教学计划及进度表
- 《汽车电工与电子技术基础》课件(共七章节)
- 中医家族传承政策解读
- 2025年全面质量管理知识竞赛题库及参考答案
评论
0/150
提交评论