第4章定时计数器及中断系统介绍.ppt_第1页
第4章定时计数器及中断系统介绍.ppt_第2页
第4章定时计数器及中断系统介绍.ppt_第3页
第4章定时计数器及中断系统介绍.ppt_第4页
第4章定时计数器及中断系统介绍.ppt_第5页
免费预览已结束,剩余41页可下载查看

下载本文档

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

文档简介

,4.1定时器/计数器,MCS-51单片机内部共有两个16位可编程的定时器/计数器,即定时器T0和定时器T1它们既有定时功能又有计数功能。,4.4.1结构,定时器/计数器的基本结构如图4.1所示。基本部件是两个8位计数器(其中TH1和TL1是T1的计数器,TH0和TL0是T0的计数器)。,图4.1定时器/计数器结构,在作定时器使用时,输入的时钟脉冲是由晶体振荡器的输出经12分频后得到的。当它用作对外部事件计数时,接相应的外部输入引脚T0(P3.4)或T1(P3.5)。,4.1.2控制寄存器,1.定时器控制寄存器(TCON),各位定义:,TF0/TF1:查询方式:禁止中断,软件查询TF0的值,软件清“0”中断方式:硬件查询TF0的值,硬件自动清“0”,2.工作方式寄存器(TMOD),功能:确定定时器的工作方式及功能选择。,不能位寻址,TMOD各位的定义:,GATE:门控位0:定时器/计数器仅受TR的控制,1:只有,为高电平,且TR=1时,定时器/计数器才工作,:功能选择位0:定时功能1:计数功能,:工作方式选择位,00方式001方式110方式211方式3,3.中断允许控制寄存器(1E),每一位的内容在前面已作详细介绍,在此不作赘述。查询方式时:关闭中断,使用软件查询TF0/TF1中断方式时:开放中断,使用硬件自动查询TF0/TF1,4.1.3工方式,MCS-51的定时器/计数器共有四种工作方式。工作在方式0、方式1和方式2时,定时器/计数器0和定时器/计数器1的工作原理完全一样,现以定时器/计数器0为例介绍前三种工作方式。,1.方式0(M1M0=00)(1)电路逻辑结构方式0是13位计数结构的工作方式,其计数器由TH0全部8位和TL0的低5位构成。TL0高三位弃之不用。图4.2是定时器/计数器0工作在方式0的逻辑结构。,图4.2定时器/计数器方式0逻辑结构,当,时,多路转换开关接通振荡脉冲的12分频输出,,13位计数器以此作为计数脉冲,这时实现定时功能当,时,,多路换开关接通计数引脚(T0),计数脉冲由外部引入,当计数脉冲发生负跳变时,计数器加1,这时实现计数功能。不管哪种功能,当13位计数发生溢出时,硬件自动把13位清零,同时硬件置位溢出标志位TF0。,在这里需要说明门控位(GATE)的用途,当GATE=0时,或,输出的高电平与,无关,此时与门的输出只受运行控制位TR0控,制。如果TR0=0,则与门输出为低电平,则模拟开关断开,定时器/计数器不工作。如果TR01,则与门输出为高电平,则模拟开关闭合,定时器/计数器工作。,当GATE=1时,只有TR0和,同时为高电平,定时器/计数器,才工作,否则,定时器/计数器不工作。,(2)定时和计数的应用计数范围:1213计数计算公式:计数值213计数初值定时范围:1机器周期213机器周期定时计算公式:定时时间(213定时初值)机器周期如果晶振频率为6MHz,则最大定时时间为:2131/6MHz12214(),2.方式1(M1M0=01)方式1是16位计数结构的工作方式,其计数器由TH0全部8位和TL0的全部8位构成。其逻辑电路和工作情况与方式0完全相同,所不同的只是计数器的位数。MCS-51单片机之所以设置几乎完全一样的方式0和方式1,是出于与MCS-48单片机兼容的要求。因为,MCS48单片机的定时器/计数器是13位的计数结构。,定时和计数的应用计数范围:1216计数计算公式:计数值216计数初值定时范围:1机器周期216机器周期定时计算公式:定时时间(216定时初值)机器周期如果晶振频率为6MHz,则最大定时时间为:2161/6MHz12217(),【例4-1】设单片机晶振频率为6MHZ,使用T1以工作方式1,产生周期为500,的等宽正方波,并由,输出,以中断方式编程。,分析:题目的要求可用下图来表示。,由上图可以看出只要使,的电位每隔250,取一次反即可。所,。,以定时时间应取250,。,1)计算计数初值设计数初值为x,由定时计算公式知:,2)专用寄存器的初始化,所以,TMOD应设置为:10H开放定时器/计数器1中断,所以IE应设置为:88H,3)编写程序,3.方式2(M1M0=10)(1)电路逻辑结构电路逻辑结构如图6.5所示,由图可以总结出方式2具有以下特点:,图4.3定时器/计数器方式0逻辑结构,8位计数器TL0作计数器,TH0作预置寄存器使用,计数溢出时,TH0中的计数初值自动装入TL0,即TL0是一个自动恢复初值的8位计数器。在使用时,要把计数初值同时装入TL0和TH0中。优点是提高定时精度,减少了程序的复杂程度。,(2)定时和计数的应用计数范围:128计数计算公式:计数值28计数初值定时范围:1机器周期28机器周期定时计算公式:定时时间(28定时初值)机器周期,【例6-2】用定时器1以工作方式2实现计数,每计数100,累加器进行加1操作,以查询方式编写程序。,解:1)计算计数初值,2)专用寄存器初始化,01100000,所以,TMOD60H使用查询方式,所以关闭中断,即IE=00H,3)程序设计,4.方式3(M1M0=11)前面介绍的三种工作方式对两个定时器/计数器而言,工作原理是完全一样的。但在工作方式3下,两个定时器工作原理却完全不同,因此要分开介绍。(1)工作方式3下的定时器/计数器0在方式3下,定时器/计数器0被拆为两个独立的8位的计数器TL0和TH0。其中TL0既可以作为计数功能使用,又可以作定时功能使用,享用定时器/计数器0的运行控制位TR0和溢出标志位TF0。对于TH0,只能作定时器使用,由于定时器/计数器0的运行控制位TR0和溢出标志位TF0已被TL0占用,因此TH0占用了定时器/计数器1的运行控制位TR1和溢出标志位TF1。即定时的启动和停止受TR1的状态控制,而计数溢出时则置位TF1。,(2)工作方式3下的定时器/计数器1当定时器/计数器0工作在方式3时,定时器/计数器1只能工作在方式0、方式1和方式2。在这种情况下定时器/计数器1只能作波特率发生器使用,以确定串行通信的速率。作波特率发生器使用时,只要设置好工作方式,便可自动运行。如果要停止工作,只需要把定时器/计数器1设置在工作方式3就可以了。因为定时器/计数器1不能工作在方式3下,如果硬把它设置在方式3,它就会停止工作。,例4.3,用T0作50ms内部定时,每50ms在T1引角产生一脉冲供T1计数器作记数脉冲,若T1计数器为20,便可得到定时1秒的定时程序:MOVTMOD,#61H;T0为16位定时,T1为8位自动重载MOVDPTR,#15536;设定定时或记数初值MOVTL0,DPL;T0为50ms内定时,MOVTH0,DPHMOVTL1,#236;T1计数初值MOVTH1,#236SETBTR0SETBTR1LOOP:JNBTF0,$CLRTF0MOVDPTR,#15536MOVTL0,DPL,MOVTH0,DPHCLRP3.5SETBP3.5JNBTF1,LOOPCLRTF1,5定时器举例【例6-4】,通过定时器1来产生中断,控制P1.0线上的脉冲输出,并经,三极管驱动扬声器,发出音调信号。,1)电路设计,2)程序设计,DB33H,33H,3DH,33H,26HDB26H,26H,26H,2DH,2DHDB26H,2DH,33H,33H,33HDB33H,33H,33H,4DH,45HDB45H,45H45H,45H,45HDB45H,45H,33H,33H,3DHDB33H,26H,26H,26H,28HDB2DH,2DH,26H,26H,33HDB33H,33H,33H,45H,3DH,4.2中断系统单片机在某一时刻只能处理一个任务,当多个任务同时要求单片机处理时,这一要求应该怎么实现呢?通过中断可以实现多个任务的资源共享。所谓的中断就是,当CPU正在处理某项事务的时候,如果外界或者内部发生了紧急事件,要求CPU暂停正在处理工作而去处理这个紧急事件,待处理完后,再回到原来中断的地方,继续执行原来被中断的程序,这个过程称作中断。从中断的定义我们可以看到中断应具备中断源、中断响应、中断返回这样三个要素。中断源发出中断请求,单片机对中断请求进行响应,当中断响应完成后应进行中断返回,返回被中断的地方继续执行原来被中断的程序。,4.2.1中断源与入口地址1.外部中断源,外部中断0(,):来自,引脚,采集到低电平或者下降,沿时,产生中断请求。,外部中断1(,):来自,引脚,采集到低电平或者下降,沿时,产生中断请求。,2.内部中断源,定时器计数器0(,):定时功能时,计数脉冲来自片内;,计数功能时,计数脉冲来自片外,引脚。发生溢出时,产生中,定时器计数器1(,):定时功能时,计数脉冲来自片内;,计数功能时,计数脉冲来自片外,引脚。发生溢出时,产生中,串行口:为完成串行数据传送而设置。单片机完成接受或发送一组数据时,产生中断请求。,断请求。,断请求,IE0和IE1外中断请求标志位,当CPU采样到,(或,)端出现有效中断请求时,IE0,(IE1)位由硬件置“1”。当中断响应完成转向中断服务程序,时,由硬件把IE0(或IE1)清零。,TF0和TF1计数溢出标志位,当计数器产生计数溢出时,相应的溢出标志位由硬件置“1”。,当转向中断服务时,再由硬件自动清“0”。计数溢出标志位,的使用有两种情况:采用中断方式时,作中断请求标志位,来使用;采用查询方式时,作查询状态位来使用。,3中断请求标志位,TI串行口发送中断请求标志位当发送完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”。,RI串行口接收中断请求标志位当接收完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”。串行中断请求由TI和RI的逻辑或得到。,4中断入口地址,当CPU查询到中断请求时,由硬件自动产生一条LCALL指令,LCALL指令执行时,首先将PC内容压入堆栈进行断点保护,再把中断入口地址装入PC,使程序转向相应的中断区入口地址。LCALL指令的形式如下:,LCALLaddr16;addr16:中断入口地址,入口地址已由系统设定,如下:,4.2.2中断允许控制寄存器(IE)中断优先级寄存器(IP),进行字节操作时,寄存器地址为0A8H。按位操作时,各位的地,址为0A8H0AFH。寄存器的内容及位地址表示如下:,1中断允许控制寄存器(IE),其中与中断有关的控制位共6位:,EA中断允许总控制位,EA0中断总禁止,禁止所有中断EA1中断总允许,总允许后中断的禁止或允许由各中断源的中断允许控制位进行设置。,EX0和EX1外部中断允许控制位,EX0(EX1)0禁止外部中断EX0(EX1)1允许外部中断,ET0和ET1定时器/计数器中断允许控制位,ET0(ET1)0禁止定时器/计数器中断ET0(ET1)0允许定时器/计数器中断,ES串行中断允许控制位,ES=0禁止串行中断ES=1允许串行中断,2.中断优先级控制寄存器(IP),IP寄存器地址0B8H,位地址为0BFH0B8H。寄存器的内容,及位地址表示如下:,其中:,PX0外部中断0优先级设定位;,PT0定时中断0优先级设定位;,PX1外部中断1优先级设定位;,PT1定时中断1优先级设定位;,PS串行中断优先级设定位。,以上各位设置为“0”时,则相应的中断源为低优先级;设置为,“1”时,则相应的中断源为高优先级。,优先级的控制原则是:,低优先级中断请求不能打断高优先级的中断服务;但高优先级,中断请求可以打断低优先级的中断服务,从而实现中断嵌套。,如果一个中断请求已被响应,则同级的其它中断服务将被禁止。,即同级不能嵌套。,如果同级的多个中断同时出现,则按CPU查询次序确定哪个中,断请求被响应。其查询次序为:外部中断0定时中断外部中,断定时中断串行中断。,上述四个专用寄存器的用途可以用图6.1说明。,图4.2.2MCS-51中断系统,4.2.3中断响应过程,1.中断采样,电平触发方式的外中断请求(IT0/IT10)采样到高电平时,表明没有中断请求,IE0或IE1继续为“0”。采样到低电平时,IE0/IE1由硬件自动置“1”,表明有外中断请求发生。,脉冲触发式的外中断请求(IT0/IT11)在相邻的机器周期采样到的电平由高电平变为低电平时,则IE0/IE1由硬件自动置“1”,否则为“0”。,2.中断查询,由CPU测试TCON和SCON中的各个中断标志位的状态,确定有那个中断源发生请求,查询时按优先级顺序进行查询,即先询高优先级查询低优先级。,如果查询到有标志位为“1”,表明有中断请求发生,接着就从相邻的下一机器周期开始进行中断响应。,3.中断响应,当CPU查询到中断请求时,由硬件自动产生一条LCALL指令,LCALL指令执行时,首先将PC内容压入堆栈进行断点保护,再把中断入口地址装入PC,使程序转向相应的中断区入口地址。LCALL指令的形式如下:,LCALLaddr16;addr16:中断入口地址,入口地址已由系统设定,如下:,编写中断服务程序的格式一般如下:ORG0000HSJMPMAINORG0003HAJMP1NJERRVPMAIN:HERE:SJMPHERE1NJERRVP:;中断响应程序RETI并不是所有的请求都被响应,当遇到下列情况之一时不响应这些中断请求:(1)CPU正在处理一个同级或者高级的中断服务(2)当前指令还没有执行完毕(3)当前指令是RET、RETI或者是访问IP、IE的指令,执行完这些指令后,还必须再执行一条指令,才响应中断请求。,4中断请求的撤销1.定时中断请求的撤销硬件自动把TF0(TF1)清0,不需要用户参与。2.串行中断请求的撤销需要软件清零。3.外部中断请求的撤销(1)脉冲触发方式的外中断请求撤销中断标志位的清零是自动的,脉冲信号过后就不存在了,因此其撤销是自动的。(2)电平触发方式的外中

温馨提示

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

最新文档

评论

0/150

提交评论