单片机 第5章 定时器计数器_第1页
单片机 第5章 定时器计数器_第2页
单片机 第5章 定时器计数器_第3页
单片机 第5章 定时器计数器_第4页
单片机 第5章 定时器计数器_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、北京交通大学1本章主要内容本章主要内容定时定时/ /计数器的功能计数器的功能与与定时定时/ /计数器有关的寄存器计数器有关的寄存器定时定时/ /计数器四种工作方式计数器四种工作方式定时器的应用定时器的应用北京交通大学2本章要求:熟练掌握计数本章要求:熟练掌握计数/ /定时编程方法定时编程方法软件定时软件定时硬件定时硬件定时可编程定时器定时可编程定时器定时北京交通大学3 TF1 TR1 TF0 TR0TF1 TR1 TF0 TR0 GATE C/T M1 M0 GATE C/T M1 M0GATE C/T M1 M0 GATE C/T M1 M0TCONTMOD TH1 TL1 TH0 TL0

2、CPU图图1定时定时/计数器与计数器与TMOD、TCON的结构框图的结构框图共有两个可编程的定时共有两个可编程的定时/ /计数器计数器T0T0和和T1T1都是都是十六位加法计数器十六位加法计数器结构,分别由结构,分别由TH0TH0、TL0TL0 和和TH1TH1、TL1TL1四个四个8 8位计数器组成位计数器组成每个定时计数器都具有每个定时计数器都具有定时和计数定时和计数两种功能两种功能北京交通大学4图图 2 2 定时定时/ /计数器的结构框计数器的结构框北京交通大学5功能:对外来脉冲进行计数功能:对外来脉冲进行计数外来计数脉冲加在单片机的两个信号引脚外来计数脉冲加在单片机的两个信号引脚T0T

3、0(P3.4P3.4)T1(P3.5T1(P3.5)外部输入的脉冲在负跳变时触发计数外部输入的脉冲在负跳变时触发计数 计数器在每个机器周期的计数器在每个机器周期的S5P2S5P2期间采样外部输入信号。期间采样外部输入信号。 若一个周期采样值为若一个周期采样值为1 1,下一个周期采样值为,下一个周期采样值为0 0,则计数,则计数器加器加1 1。 脉冲的频率最高为振荡频率的脉冲的频率最高为振荡频率的1/241/24外部输入信号的高电平和低电平保持时间大于一个外部输入信号的高电平和低电平保持时间大于一个机器周期机器周期计数器计满回零,发中断申请计数器计满回零,发中断申请 1.1.计数功能计数功能北京

4、交通大学62.2.定时功能定时功能 计数器的计数来实现计数器的计数来实现 计数脉冲:每个机器周期产生一个计数计数脉冲:每个机器周期产生一个计数脉冲。即计数频率为振荡频率的脉冲。即计数频率为振荡频率的1/121/12。 根据计数器的预置值计算出定时时间。根据计数器的预置值计算出定时时间。按定时时间的要求,计算出计数器的预置按定时时间的要求,计算出计数器的预置值。值。北京交通大学7二、二、定时定时/ /计数器的方式和控制寄存器计数器的方式和控制寄存器 1.1.定时器控制定时器控制寄存器(寄存器(TCONTCON) 控制方式:控制方式:外部中断控制与定时控制外部中断控制与定时控制。 定时控制功能:定

5、时控制功能: 定时器在溢出时,设定标志位定时器在溢出时,设定标志位(TFx)(TFx) 控制定时器的运行或停止等控制定时器的运行或停止等(TRx)(TRx)北京交通大学8(88H)TF1 TR1TF0 TR0 IE1 IT1 IE0 IT0 8F 8E 8D 8C 8B 8A 89 88INT0触发方式触发方式0:电平触发电平触发(低低)1:边沿触发边沿触发(下跳沿下跳沿)INT0请求标志请求标志0:无请求:无请求(硬件置位或清除)硬件置位或清除)1:有请求:有请求INT1触发触发请求标志请求标志用于定时用于定时/计数器计数器位地址外部中断外部中断北京交通大学9TF0(TF1):TF0(TF1

6、):为为T0(T1)T0(T1)定时器溢出中断标志位定时器溢出中断标志位当当T0(T1)T0(T1)计数溢出时计数溢出时, ,由硬件置位由硬件置位, ,并在允许中断的并在允许中断的情况下情况下, ,发出中断请求信号。发出中断请求信号。当当CPUCPU响应中断转向中断服务程序(响应中断转向中断服务程序(000BH000BH,001BH001BH)时时, ,由硬件由硬件自动将该位清自动将该位清0 0。TR0(TR1)TR0(TR1):为:为T0(T1)T0(T1)运行控制位运行控制位 当当TR0(TR1)=1TR0(TR1)=1时启动时启动T0(T1);T0(T1); TR0(TR1)=0 TR0

7、(TR1)=0时关闭时关闭T0(T1)T0(T1) 该位由软件进行设置。该位由软件进行设置。 复位时复位时TCONTCON清零清零北京交通大学10 用于控制两个用于控制两个定时定时/ /计数计数器的工作方式器的工作方式 高高4 4位定义位定义T1T1, ,低低4 4位定义位定义T0T0 格式格式:GATE C/T M1 M0 GATE C/T M1 M0T0T1GATEGATE:门控位:门控位GATEGATE0 0,以运行控制位,以运行控制位TRxTRx启动定时器启动定时器GATEGATE1 1,启动信号启动信号=TRxINTx=TRxINTx在没有外中断请求信号在没有外中断请求信号(INTx

8、=1)(INTx=1)才允许定时器启动才允许定时器启动北京交通大学11C/TC/T:定时或计数方式选择位:C/TC/T0 0,定时工作方式,定时工作方式; ; C/TC/T1,1,计数工作方式。计数工作方式。M1M0M1M0:工作方式选择位工作方式选择位: : M1M0 M1M000 00 方式方式0 0:1313位计数(位计数(TL0-4TL0-4、TH0-7)TH0-7) M1M0 M1M00101方式方式1 1:1616位计数位计数 M1M0M1M01010方式方式2 2:8 8位计数位计数 自动装入计数器初值功能自动装入计数器初值功能 M1M0M1M01111方式方式3 3:T0T0分

9、为两个分为两个8 8位计数器位计数器 TL0TL0允许作为定时或计数方式允许作为定时或计数方式 TH0 TH0只能作为定时方式只能作为定时方式 北京交通大学12三、三、定时定时/ /计数器工作方式计数器工作方式 1.1.方式方式0 0 方式方式0 0工作逻辑结构图。工作逻辑结构图。 12分频fosc C/T=0 C/T=1 TL1 TH1(5位)(8位)TF1中断T1控制 GATE INT1+TR11软件启动方式软件启动方式1/24fosc1/12fosc计数输入计数输入中断TF1ET1EA北京交通大学13 方式方式0 0是是1313位结构的工作方式,其计数器由位结构的工作方式,其计数器由TH

10、1TH1的全的全8 8位和位和TL1TL1的低的低5 5位构成。位构成。TL1TL1的高的高3 3位弃之位弃之不用。不用。 计数方式计数方式: :计数值的范围为:计数值的范围为:1-81921-8192(2 21313) 定时方式定时方式: :定时时间定时时间T T的计算公式为:的计算公式为:启动的条件是:启动的条件是: (TRx=1)AND(GATE=1 OR INTx=1)TRx=1)AND(GATE=1 OR INTx=1) T T(2 (21313计数初值计数初值x) x) 晶晶振周期振周期 1212或或 T T(2 (21313计数初值计数初值x) x) 机器机器周期周期北京交通大学

11、14 方式方式0 0应用举例应用举例 设单片机晶振频率设单片机晶振频率fosc=6MHzfosc=6MHz,使用定时器,使用定时器1 1以方式以方式0 0产产生周期为生周期为500us500us的方波的方波,并由,并由P1.0P1.0输出。以输出。以查询查询或或中断中断方式完成。方式完成。解:解:计算定时初值计算定时初值x x 欲产生欲产生500us500us的方波的方波, ,在在P1.0P1.0端以端以250us250us为周期交替输为周期交替输出高低电平即可实现。为此出高低电平即可实现。为此, ,定时时间应为定时时间应为250us250us。晶。晶振为振为6MHz,6MHz,则则1 1个机

12、器周期为个机器周期为(12/6)2us(12/6)2us。 则则: : (2(21313x x)* *2uS2uS250uS250uS x x80678067111111001111110000011B(2000H-7DH)00011B(2000H-7DH) 即即: TH1: TH10FCH0FCH,TL1TL103H03H。北京交通大学15步骤步骤:TMODTMOD初始化初始化, ,工作方式选择工作方式选择计数器初值计算计数器初值计算( (置位置位EAEA使使CPUCPU开中断开中断) )( (置位置位ETxETx允许定时允许定时/ /计数器中断计数器中断) )置位置位TRxTRx启动计数启

13、动计数北京交通大学16 TMODTMOD初始化初始化 定时器定时器1 1,M1M0=00HM1M0=00H(方式(方式0 0) C/T=0C/T=0(定时)(定时) GATEGATE0 0(以软件启动定时器)(以软件启动定时器) 不用的位设定为不用的位设定为0 0 TMOD TMOD为初始化为初始化00H00H。 TCONTCON寄存器的寄存器的TR1TR1位来启动(位来启动(1 1) 或停止(或停止(0 0)定时器)定时器北京交通大学17查询方式查询方式: : MOV TMOD,#00H MOV TMOD,#00H ;T1T1工作在方式工作在方式0 0 SETB TR1SETB TR1 ;启

14、动;启动T1T1工作工作LOOP: MOV TL1,#03HLOOP: MOV TL1,#03H MOV TH1,#0FCH MOV TH1,#0FCH ;置定时初值;置定时初值WAIT: JNB TF1,WAITWAIT: JNB TF1,WAIT ;定时未到,循环等待;定时未到,循环等待 CLR TF1CLR TF1 ;定时到,清;定时到,清TF1TF1 CPL P1.0CPL P1.0 ;由;由P1.0P1.0输出,信号取反输出,信号取反 SJMP LOOP SJMP LOOP ;循环输出方波;循环输出方波北京交通大学18中断方式中断方式: ORG 8000H: ORG 8000H MO

15、V TMOD,#00H ;T1MOV TMOD,#00H ;T1工作在方式工作在方式0 0 MOV TL1,#03HMOV TL1,#03H MOV TH1,#0FCH ; MOV TH1,#0FCH ;置定时初值置定时初值 SETB EA ;SETB EA ;开中断开中断 SETB ET1 ;SETB ET1 ;允许允许T1T1中断中断 LOOP: SETB TR1 ;LOOP: SETB TR1 ;启动启动T1T1工作工作 WAIT: SJMP WAIT ;WAIT: SJMP WAIT ;等待中断等待中断 AJMP LOOPAJMP LOOP ORG 001BH ORG 001BH ;T

16、1 ;T1中断入口中断入口 LJMP SUB1 ;LJMP SUB1 ;跳至中断服务程序跳至中断服务程序SUB1SUB1 ORG 8100HORG 8100H ; ;中断服务程序中断服务程序 SUB1: CPL P1.0 SUB1: CPL P1.0 ; ;输出信号取反输出信号取反 MOV TL1,#03HMOV TL1,#03H MOV TH1,#0FCH ; MOV TH1,#0FCH ;重置定时初值重置定时初值 RETI RETI ; ;中断返回中断返回北京交通大学19 2.2.方式方式1 1 其逻辑电路和工作情况与方式完全相同。所其逻辑电路和工作情况与方式完全相同。所不同的只是组成计数

17、器的位数为不同的只是组成计数器的位数为1616位位。 计数值的范围为:计数值的范围为: 1-655361-65536(2 21616) 定时时间的计算公式与方式定时时间的计算公式与方式0 0类似。即类似。即: :TL1TH1TF1计数输入计数输入7 0 7 0T T(2(21616计数初值计数初值x)x) 晶晶振周期振周期 1212或或 T T(2(21616计数初值计数初值x)x) 机器机器周期周期北京交通大学20 12分频fosc C/T=0 C/T=1 TL0(8位)TF0TR0控控制制GATEINT0+TR0 TH0(8位)重重装装入入中断 3.3.方式方式2 2 工作方式工作方式2

18、2逻辑结构如图逻辑结构如图。北京交通大学21 该方式把该方式把1616位计数器分为两部分位计数器分为两部分 既以既以TL1TL1作计数器作计数器 以以TH1TH1作预置计数器作预置计数器 初始化计数初值分别装入初始化计数初值分别装入TL1TL1和和TH1TH1中中 当计数溢出后,由预置寄存器当计数溢出后,由预置寄存器TH1TH1, 以硬件方法自动给计数器以硬件方法自动给计数器TL1TL1重新加载重新加载 最大计数值只能到最大计数值只能到256256,适用于循环定时或循环计数应,适用于循环定时或循环计数应用用方式方式2 2具有自动重新加载功能,即自动加载计数初值具有自动重新加载功能,即自动加载计

19、数初值北京交通大学22 方式方式2 2应用举例应用举例 设单片机晶振频率设单片机晶振频率fosc=6MHzfosc=6MHz,使用,使用T0T0以方式以方式2 2产产生周期为生周期为200us200us的方波,并由的方波,并由P1.0P1.0输出。输出。 以以查询查询或或中断中断方式完成方式完成解:解: 计算计数初值计算计数初值x x 晶振为晶振为6MHz6MHz,则,则1 1个机器周期为个机器周期为2us2us。则:。则: (2 28 8x x) 2 2100100,x x206206CEHCEH 即即 TH0TH00CEH0CEH,TL0TL00CEH0CEH。TMODTMOD寄存器初始化

20、寄存器初始化 定时器定时器0 0 M1M0=10HM1M0=10H(方式(方式2 2) C/T=0C/T=0(定时)(定时) GATEGATE0 0 (以软件启动定时器)(以软件启动定时器) 不用的位设定为不用的位设定为0 0 最后得最后得TMODTMOD应初始化为应初始化为02H02H。北京交通大学23北京交通大学24 用用TCONTCON寄存器的寄存器的TR0TR0位来启动(位来启动(1 1)或)或停止(停止(0 0)定时器。)定时器。 程序设计程序设计( (查询方式查询方式) ): : MOV TMOD,#02H MOV TMOD,#02H ;T0T0工作在方式工作在方式2 2 MOV

21、TL0,#0CEHMOV TL0,#0CEH MOV TH0,#0CEH MOV TH0,#0CEH ;置定时初值;置定时初值 SETB TR0 SETB TR0 ;启动;启动T0T0工作工作WAIT: JNB TF0,WAIT WAIT: JNB TF0,WAIT ;定时未到;定时未到, , 循环等待循环等待 CLR TF0CLR TF0 ;定时到,清;定时到,清TF0TF0 CPL P1.0 CPL P1.0 ;由;由P1.0P1.0输出,信号取反输出,信号取反 SJMP WAITSJMP WAIT ;循环输出方波;循环输出方波北京交通大学25中断方式中断方式: : MOV TMOD,#0

22、2H MOV TMOD,#02H ;T0T0工作在方式工作在方式2 2 MOV TL0,#0CEHMOV TL0,#0CEH MOV TH0,#0CEH MOV TH0,#0CEH ;置计数初值;置计数初值 SETB EA ; SETB EA ; 开中断开中断 SETB ET0 ; SETB ET0 ; 允许允许T0T0中断中断 LOOP: LOOP: SETB TR0 SETB TR0 ;启动;启动T0T0工作工作 WAIT: WAIT: SJMP $SJMP $ ;等待中断;等待中断 CLR TF0 CLR TF0 ;溢出标志位;溢出标志位TF0TF0清清0 0 AJMP LOOP AJM

23、P LOOP ORG 000BHORG 000BH ; ;中断服务程序中断服务程序 CPL P1.0 CPL P1.0 ; ;由由P1.0P1.0输出,信号取反输出,信号取反 RETI RETI ; ;中断返回中断返回北京交通大学26 TH0(8位)TF1T0控制GATEINT0+TR0C/T=0 C/T=11/12fosc1/12fosc TR1中断 TL0(8位)TF0控制中断4. 4. 方式方式3 3计数/定时定时北京交通大学27工作在方式工作在方式3 3下的下的T0T0 T T被拆成两个独立的被拆成两个独立的8 8位计数器。位计数器。 1.TL01.TL0既可以作计数器使用,又可以作定

24、时既可以作计数器使用,又可以作定时器使用,其功能和操作方式与方式或方器使用,其功能和操作方式与方式或方式式1 1完全相同。完全相同。 2.TH02.TH0只能作只能作8 8位定时器使用,并占用了位定时器使用,并占用了T T的中断资源的中断资源TR1TR1和和TF1TF1。北京交通大学28 工作在方式工作在方式3 3下的下的T1T1 如果如果T T已工作在方式已工作在方式3 3下下: : T1 T1只能工作在方式只能工作在方式0 02 2下,用于任何不需要中断控制的场下,用于任何不需要中断控制的场合合用作串行口的波特率发生器用作串行口的波特率发生器 通常只有当通常只有当T1T1用作串行口的波特率

25、发生器时:用作串行口的波特率发生器时:T0T0才被定义为方式,以增加一个才被定义为方式,以增加一个8 8位计数器。位计数器。T1T1设定工作方式设定工作方式2 2、计数器初值,、计数器初值,T1T1便可自动运行。便可自动运行。北京交通大学29定时器门控位定时器门控位GATEGATE的应用的应用: :当当GATE=1GATE=1时时,定时器的启动受外部,定时器的启动受外部INTxINTx的控制。的控制。 在在TRx=1TRx=1时,若时,若INTx=1INTx=1,则启动计数;,则启动计数; 若若INTx=0INTx=0,则停止计数。,则停止计数。 应用:测试外部脉冲的宽度。应用:测试外部脉冲的

26、宽度。北京交通大学30 12分频fosc C/T=0 C/T=1 TL1 TH1(8位)(8位)TF1中断T1控制 GATE INT1+TR11软件启动方式1/24fosc1/12fosc计数输入中断TF1ET1EA北京交通大学31分析:分析:测试时,测试时,1.1.检测检测INT1INT1端由低变高时,端由低变高时, TR1=1 TR1=1启动计数;启动计数;P3.3(INT1)置置TR1=1TR1=1启动计数启动计数停止计数停止计数 2. INT12. INT1再次变低时,计数停止,此时的计数值即再次变低时,计数停止,此时的计数值即为被测为被测正脉冲的宽度正脉冲的宽度。 3.3.由于由于T

27、1T1工作于方式工作于方式1 1,所以可测最大脉宽为,所以可测最大脉宽为65536uS(fosc=12MHz)65536uS(fosc=12MHz); 4.4.由于外部脉宽的最高频率为由于外部脉宽的最高频率为fosc/24fosc/24,所以,测,所以,测试值的合理范围是试值的合理范围是2-65536x22-65536x2。北京交通大学32 ORG 300HORG 300H START START:MOV TMODMOV TMOD,#90H #90H ;GATE=1 ;GATE=1 ,T1T1方式方式1 1 MOV TL1 MOV TL1,#00H#00H; ;从零开始计数从零开始计数 MOV TH1MOV TH1,#00H#00H MOV R0 MOV R0,#40H#40H ; ;置数据指针置数据指针 DONE DONE:JNB P3.3JNB P3.3,DONEDONE; ;等等INT1INT1变高变高 SETB TR1 SETB TR1 ; ;启动计数启动计数 DONE1 DONE1:JB P3.3JB P3.3,DONE1 DONE1 ; ;等等INT1INT1变低变低 CLR TR1 CLR TR1; ;停止计数停止计数 MOV AMOV A,TH1TH1

温馨提示

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

评论

0/150

提交评论