第5章定时计数器及串行通信应用精选PPT.ppt
《第5章定时计数器及串行通信应用精选PPT.ppt》由会员分享,可在线阅读,更多相关《第5章定时计数器及串行通信应用精选PPT.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 定时计数器及串行通信应用第1页,本讲稿共77页问题的提出:问题的提出:1 1、在微机应用系统中,普遍用到定时、在微机应用系统中,普遍用到定时/计数的功能,如计数的功能,如对工业过程量信号的定时采样、对流水生产工艺中某一产品对工业过程量信号的定时采样、对流水生产工艺中某一产品的计数(或计件),因此,定时的计数(或计件),因此,定时/计数具有广泛的应用背景。计数具有广泛的应用背景。2 2、在前面的程序设计一章,大家已学习了软件延时(即通过、在前面的程序设计一章,大家已学习了软件延时(即通过执行一个循环程序进行时间的延迟)实现定时功能,但这种定时执行一个循环程序进行时间的延迟)实现定时功能,
2、但这种定时具有明显的缺点:一是循环程序执行占用具有明显的缺点:一是循环程序执行占用CPUCPU时间,降低时间,降低CPUCPU的利的利用率;二是定时时间不精确或计算比较麻烦;用率;二是定时时间不精确或计算比较麻烦;因此,针对应用广泛的定时因此,针对应用广泛的定时/计数功能,必须在计数功能,必须在CPUCPU中用硬件来实中用硬件来实现定时现定时/计数功能。计数功能。第2页,本讲稿共77页问题的解决:问题的解决:由于定时由于定时/计数功能的普遍性应用,特别是在长时间定时或定时计数功能的普遍性应用,特别是在长时间定时或定时精度要求较高的场合,通常选用硬件实现定时,采用硬件实现定时,精度要求较高的场合
3、,通常选用硬件实现定时,采用硬件实现定时,我们希望:我们希望:1 1、定时、定时/计数的功能及工作方式是可编程的。即可选它作定时器,计数的功能及工作方式是可编程的。即可选它作定时器,也可作计数器,同时,可选择几种工作方式。也可作计数器,同时,可选择几种工作方式。2 2、定时、定时/计数值在规定的范围内是可编程的。即根据需计数值在规定的范围内是可编程的。即根据需要,通过软件来设定定时值或计数值。要,通过软件来设定定时值或计数值。3 3、当达到定时、当达到定时/计数的设定值时,应向计数的设定值时,应向CPUCPU申请中断,以便实申请中断,以便实现定时现定时/计数控制。计数控制。第3页,本讲稿共77
4、页80C51的定时的定时/计数器计数器 实现定时功能,实现定时功能,比较方便的办法是利用单片机内比较方便的办法是利用单片机内部的定时部的定时/计数器计数器。也可以采用下面三种方法:。也可以采用下面三种方法:软件定时:软件定时不占用硬件资源,但占用了软件定时:软件定时不占用硬件资源,但占用了CPU时间,降低了时间,降低了CPU的利用率。的利用率。采用时基电路定时:例如采用采用时基电路定时:例如采用555电路,外接必电路,外接必要的元器件(电阻和电容),即可构成硬件定时要的元器件(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围电路。但在硬件连接好以后,定时值与定时范围不能
5、由软件进行控制和修改,即不可编程。不能由软件进行控制和修改,即不可编程。采用可编程芯片定时:这种定时芯片的定时值及定时采用可编程芯片定时:这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时功能范围很容易用软件来确定和修改,此种芯片定时功能强,使用灵活。在单片机的定时强,使用灵活。在单片机的定时/计数器不够用时,可计数器不够用时,可以考虑进行扩展。以考虑进行扩展。第4页,本讲稿共77页5.1定时定时/计数器计数器q51系列单片机内部提供系列单片机内部提供2个定时个定时/计数器计数器T0和和T1(89S系列有系列有3个)个),既可用作定,既可用作定时器,也可用作计数器,还可作为串
6、行时器,也可用作计数器,还可作为串行口的波特率发生器。定时口的波特率发生器。定时/计数器实现计数器实现软、硬件结合,给应用系统的设计带来软、硬件结合,给应用系统的设计带来很多方便之处。很多方便之处。q主要作用:主要作用:对外部脉冲计数、产生精确对外部脉冲计数、产生精确定时时间、作串行口的波特率发生器。定时时间、作串行口的波特率发生器。第5页,本讲稿共77页烘箱温度控制系统要定时对温度进行采样,与温度给定值比较后,通过一个隔离输出控制电热丝的通断来控制烘箱内温度。定时的任务由单片机片内的定时器/计数器完成。烘烘箱箱温温度度控控制制系系统统第6页,本讲稿共77页定时定时/计数器的工作原理计数器的工
7、作原理加加1计数器输入的计数脉冲有两个来源计数器输入的计数脉冲有两个来源,一个是由系统的时钟振一个是由系统的时钟振荡器输出脉冲经荡器输出脉冲经12分频后送来;一个是分频后送来;一个是T0或或T1引脚输入的外部脉引脚输入的外部脉冲源。每来一个脉冲计数器加冲源。每来一个脉冲计数器加1,当加到计数器为全,当加到计数器为全1时,再输入一时,再输入一个脉冲就使计数器回零,且计数器的溢出使个脉冲就使计数器回零,且计数器的溢出使TCON中中TF0或或TF1置置1,向,向CPU发出中断请求(定时发出中断请求(定时/计数器中断允许时)。如果定时计数器中断允许时)。如果定时/计计数器工作于定时模式,则表示定时时间
8、已到;如果工作于计数模式,数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。则表示计数值已满。可见,由溢出时计数器的值减去计数初值才是加可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。计数器的计数值。第7页,本讲稿共77页5.1.15.1.1定时定时/计数器的定时和计数功能计数器的定时和计数功能 TH1TL17 07 0T1TH0TL07 07 0T0TCONTMOD微处理器内部总线P用于确定T1和T0的功能和工作方式用于控制T1和T0的启动、停止及中断请求1、定时器、定时器/计数器计数器T0、T1的结构的结构第8页,本讲稿共77页定定时时:指指采采用用
9、具具有有精精确确的的固固定定周周期期的的脉脉冲冲信信号号进进行行计计数数,一一般般是是利利用用内内部部振振荡荡脉脉冲冲,即即机机器器周周期期:fosc/12(=1/T)作为计数脉冲;作为计数脉冲;计数:指对外部输入脉冲进行计数;计数:指对外部输入脉冲进行计数;计数:脉冲不等间隔。计数:脉冲不等间隔。波形等间隔,次数已定,时波形等间隔,次数已定,时间确定即对机器周期间确定即对机器周期T进行进行计数。计数。左图定时时间为左图定时时间为N*T每个下降沿计数一次每个下降沿计数一次确认一次负跳变需两个机器周期,确认一次负跳变需两个机器周期,所以,计数频率最高为所以,计数频率最高为fosc/24。2 2、
10、定时与计数的概念、定时与计数的概念N个方波T第9页,本讲稿共77页定时器定时器0 0方式字段方式字段定时器定时器1 1方式字段方式字段M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D71.工作方式控制寄存器工作方式控制寄存器TMODq定时方式时,每个机器周期使计数定时方式时,每个机器周期使计数器加器加1(T=12/fosc)q计数方式时计数方式时T0(P3.4)、T1(P3.5)的负跳的负跳变使计数器加变使计数器加1。q最大计数速率是最大计数速率是fosc/24,即高低电平,即高低电平分别能保持一个机器周期。分别能保持一个机器周期。u用于控制定时器用于控制定时器/计数
11、器的功能和工作方式计数器的功能和工作方式uTMOD格式格式:(字节地址字节地址89H)操作模式控制位GATE:门控制:门控制GATE=1时,如时,如INTx=1,外部中断,外部中断引脚也为高电平且引脚也为高电平且TRx=1,则启动定,则启动定时器;时器;GATE=0,只要,只要TRx=1定时器就开定时器就开始工作。始工作。qC/T=0定时方式;qC/T=1计数方式;5.1.2定时定时/计数器的控制计数器的控制C/T:选择定时或计数方式:选择定时或计数方式M1M0方式计 数 器 配 置0 00TLx低5位与THx的8位构成13位计数器0 11TLx与THx构成16位计数器1 02自动重装初值(T
12、Hx)的8位(TLx溢出时)计数器1 13仅用于T0,分成两个8位计数器,T1停止计数第10页,本讲稿共77页D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0TF1:定时器定时器T1溢出中断标志。溢出中断标志。当定时器当定时器1溢出时,由硬件置溢出时,由硬件置1;当响应中断转向中断服务程序时由硬件清当响应中断转向中断服务程序时由硬件清0。TR1:定时器定时器T1运行控制位。运行控制位。由软件置位由软件置位/复位,控制定时器是否运行。复位,控制定时器是否运行。TF0:功能与功能与TF1类似。类似。TR0:功能与功能与TR1类似。类似。定时器定时器0控制位控制位定时
13、器定时器1控制位控制位2、状态控制寄存器、状态控制寄存器TCONTCON格式:格式:(字节地址(字节地址88H)第11页,本讲稿共77页1、方式、方式0T0的等效逻辑结构的等效逻辑结构5.1.3定时定时/计数器的工作方式计数器的工作方式在计数工作方式下,计数器的计数值范围是:在计数工作方式下,计数器的计数值范围是:18192(2的的13次方)次方)当为定时工作方式时,定时时间的计算公式为:当为定时工作方式时,定时时间的计算公式为:(8192-计数初值)计数初值)晶振周期晶振周期12方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出
14、时,置位TCON中的TF0标志,向CPU发出中断请求。第12页,本讲稿共77页定时器模式时有定时器模式时有:Nt/Tcy计数初值计算的公式为:计数初值计算的公式为:X=213-N定时器的初值还可以采用计数个数直接取补法获得。定时器的初值还可以采用计数个数直接取补法获得。计数模式时,计数脉冲是计数模式时,计数脉冲是T0引脚上的外部脉冲。引脚上的外部脉冲。门控位门控位GATE具有特殊的作用。当具有特殊的作用。当GATE=0时,经反相后使时,经反相后使或门输出为或门输出为1,此时仅由,此时仅由TR0控制与门的开启,与门输出控制与门的开启,与门输出1时,控制开关接通,计数开始;当时,控制开关接通,计数
15、开始;当GATE=1时,由外中断引脚信时,由外中断引脚信号控制或门的输出,此时控制与门的开启由外中断引脚信号和号控制或门的输出,此时控制与门的开启由外中断引脚信号和TR0共同控制。当共同控制。当TR0=1时,外中断引脚信号引脚的高电平启动时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚的低电平停止计数。这种方式常用来计数,外中断引脚信号引脚的低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽度。测量外中断引脚上正脉冲的宽度。第13页,本讲稿共77页定时定时/计数器应用举例计数器应用举例初始化程序应完成如下工作:初始化程序应完成如下工作:对对TMOD赋值,以确定赋值,以确定T0和
16、和T1的工作方式。的工作方式。计算初值计算初值,并将其写入并将其写入TH0、TL0或或TH1、TL1。中断方式时,则对中断方式时,则对IE赋值,开放中断。赋值,开放中断。使使TR0或或TR1置位,启动定时置位,启动定时/计数器定时或计计数器定时或计数。数。第14页,本讲稿共77页编程思路:编程思路:P1.0输出周期为输出周期为10ms宽的方波,只要每隔宽的方波,只要每隔5ms到反一次即到反一次即可得到可得到10ms的方波。由此可选用的方波。由此可选用T0定时定时5ms.例例1:选用选用T0操作模式操作模式0,用于定时,由,用于定时,由P1.0输出周期为输出周期为10ms的方波。设晶振的方波。设
17、晶振fosc=6MHz。高高8位送入位送入TH0,TH0=10110001B=0B1HX=213tfosc/12=8192651000/12=5692=163CH163CH=0001011000111100其中低其中低5位位11100前添加前添加3位位000送入送入TL0,TL0=00011100B=1CHORG0100HMOVTMOD,#00HSETBTR0LP1:MOVTL0,#1CHMOVTH0,#0B1HLP2:JBCTF0,LP3AJMPLP2LP3:CPLP1.0SJMPLP1初值为:初值为:方式0启动T0等待T0定时到重置初值输出方波例:例:51仿真仿真例:例:51演示演示第15
18、页,本讲稿共77页2、工作方式1T0的等效逻辑结构在工作方式在工作方式1下,计数器的计数值范围是:下,计数器的计数值范围是:165536(2的的16次方)次方)当为定时工作方式当为定时工作方式1时,定时时间的计算公式为:时,定时时间的计算公式为:(65536计数初值)计数初值)晶振周期晶振周期12方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器。第16页,本讲稿共77页编程思路:编程思路:方波周期方波周期T=1/50=0.02s=20ms,用,用T1定时定时10ms。例例2:用定时器用定时器T1产生一个产生一个50Hz的方波,由的方波,由P1.1输出,仍用
19、程序输出,仍用程序查询方式,查询方式,fosc=12MHz。X=2161010312/12=6553610000=55536=D8F0HORG0100HMOVTMOD,#10HSETBTR1LOOP:MOVTH1,#0D8HMOVTL1,#0F0HJNBTF1,$CLRTF1CPLP1.1SJMPLOOPT1方式0启动T1等待T1定时到重置初值输出方波例:例:52仿真仿真例:例:52演示演示第17页,本讲稿共77页3、工作方式、工作方式2T0的等效逻辑结构的等效逻辑结构方式方式2为能自动重置计数器初值的工作方式,为能自动重置计数器初值的工作方式,TL0为为8位计数器,位计数器,TH0为计数器初
20、值暂存器。为计数器初值暂存器。定时时间定时时间T=(256-计数初值计数初值)晶振周期晶振周期12第18页,本讲稿共77页编程思路:编程思路:T1工作于计数方式,外部计数脉冲由工作于计数方式,外部计数脉冲由T1(P3.0)引)引脚引入,每来一个由脚引入,每来一个由1至至0的跳变计数器加的跳变计数器加1,由程序查询,由程序查询TF1的状的状态。态。例例3:用定时器用定时器1,模式,模式2计数,要求每计满计数,要求每计满3次,将次,将P1.0端取反。端取反。TH1=TL1=253ORG0100HMOVTMOD,#60HMOVTH1,#253MOVTL1,#253SETBTR1LOOP:JBCTF1
21、,REPSJMPLOOPREP:CPLP1.0SJMPLOOPT1方式2计数送初值启动T1等待T1计数到取反计数初值:X=3=253例:例:53仿真仿真例:例:53演示演示第19页,本讲稿共77页方式方式2与方式与方式0、1的区别:的区别:方式方式0方式方式1:计数溢出后,计数器为全计数溢出后,计数器为全0,因而循环定时或循,因而循环定时或循环计数应用时就存在反复设置初值的问题,这给程序设计带来环计数应用时就存在反复设置初值的问题,这给程序设计带来许多不便,同时也会影响计时精度。许多不便,同时也会影响计时精度。方式方式2:具有自动重装载功能,即自动加载计数初值。具有自动重装载功能,即自动加载计
22、数初值。16位位计数器分为两部分,计数器分为两部分,TL0为计数器,为计数器,TH0作为预置寄存器。作为预置寄存器。当计数溢出时,由预置寄存器当计数溢出时,由预置寄存器TH0以硬件方法自动给计数器以硬件方法自动给计数器TL0重新加载。重新加载。方式方式2在串口通讯时,常用作波特率发生器。在串口通讯时,常用作波特率发生器。第20页,本讲稿共77页只有只有T0能工作于方式能工作于方式3,此时,此时T1的的一些控制位已被的的一些控制位已被T0借用,只能工作借用,只能工作在方式在方式0、方式、方式1或方式或方式2下,等效电路参见下图:下,等效电路参见下图:4、工作方式、工作方式3第21页,本讲稿共77
23、页5、定时、定时/计数器的初始化和初值确定计数器的初始化和初值确定为使定时为使定时/计数器正常工作,首先必须对定时计数器正常工作,首先必须对定时/计计数器进行初始化,然后再开启定时或计数。定时计数器进行初始化,然后再开启定时或计数。定时计数器的初始化包括以下内容。数器的初始化包括以下内容。(4)启动定时器)启动定时器/计数器;计数器;如:如:SETBTR0(1)确定工作方式)确定工作方式对对TMOD赋值;赋值;如:如:MOV TMOD,#06H;设定设定T0为计数器工作方式。为计数器工作方式。(2)预置定时计数器中计数的初值)预置定时计数器中计数的初值直接写入直接写入TH和和TL;如:如:MO
24、VTH0,#00H;设定计数初值。;设定计数初值。MOVTL0,#00H(3)根据需要开放定时)根据需要开放定时/计数器的中断计数器的中断对对IE位赋值;位赋值;第22页,本讲稿共77页初值的计算方法:初值的计算方法:X=M计数值计数值M是定时器的最大计数值。视工作方式不同而不同。是定时器的最大计数值。视工作方式不同而不同。工作方式工作方式工作方式工作方式0 0:13位定时位定时/计数方式,因此,最多可以计到计数方式,因此,最多可以计到2的的13次方,也就是次方,也就是8192次。次。工作方式工作方式工作方式工作方式1 1:16位定时位定时/计数方式,因此,最多可以计到计数方式,因此,最多可以
25、计到2的的16次方,也就是次方,也就是65536次。次。工作方式工作方式工作方式工作方式2 2和和工作方式工作方式工作方式工作方式3 3:都是都是8位的定时位的定时/计数方式,因此,计数方式,因此,最多可以计到最多可以计到2的的8次方,也说是次方,也说是256次。次。第23页,本讲稿共77页预置值计算:预置值计算:用最大计数量减去需要的计数次数即用最大计数量减去需要的计数次数即可。可。通过上面的任务,我们掌握了计数程序的编制方法,通过上面的任务,我们掌握了计数程序的编制方法,下面我们再看看定时程序怎样编制。下面我们再看看定时程序怎样编制。首先我们看一下下面的程序段。首先我们看一下下面的程序段。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 定时计数器及串行通信应用精选PPT 定时 计数器 串行 通信 应用 精选 PPT
限制150内