收藏 分享(赏)

51单片机定时器计数器详解.pdf

上传人:weiwoduzun 文档编号:5704188 上传时间:2019-03-13 格式:PDF 页数:56 大小:347.36KB
下载 相关 举报
51单片机定时器计数器详解.pdf_第1页
第1页 / 共56页
51单片机定时器计数器详解.pdf_第2页
第2页 / 共56页
51单片机定时器计数器详解.pdf_第3页
第3页 / 共56页
51单片机定时器计数器详解.pdf_第4页
第4页 / 共56页
51单片机定时器计数器详解.pdf_第5页
第5页 / 共56页
点击查看更多>>
资源描述

1、6.1 定时器的结构及工作原理6.2 定时器的控制6.3 定时器的工作模式及其应用第六章定时器/计数器PDF 文件使用 “pdfFactory Pro“ 试用版本创建 第六章定时器/计数器实现定时一般有多种方法:1. 利用软件实现(延时程序)优点:简单,控制方便;缺点:CPU效率低。2. 外部硬件实现:单稳态定时器、计数定时器优点:CPU效率高;缺点:修改参数麻烦。3. 利用计数器实现计数器 溢出预置数1us8位 256us输入脉冲PDF 文件使用 “pdfFactory Pro“ 试用版本创建 定时器计数器作用主要包括产生各种时标间隔、记录外部事件的数量等,是单片机中最常用、最基本的部件之一

2、。机器周期定时器/计数器单片机T0外来脉冲定时功能计数功能定时器/计数器功能示意图PDF 文件使用 “pdfFactory Pro“ 试用版本创建 6.1 定时器/计数器的结构及工作原理6.1.1 定时器/计数器的基本结构MCS-51单片机有二个定时器/计数器,每个定时器/计数器由几个专用寄存器组成。TMOD(89H)高四位TMOD(89H)低四位方式寄存器TCON(88H)TCON(88H)控制寄存器*8DH 8BH8CH 8AHTH1 TL1TH0 TL0数据寄存器(16位)定时器T1定时器T0定时器/计数器的结构如下图所示。PDF 文件使用 “pdfFactory Pro“ 试用版本创建

3、 定时器/计数器的基本结构框图TH1 TL1 TH0 TL0TCON(88H)* TMOD(89H)CPUT0溢出模式模式启动T0T1溢出 启动T1中断申请P3.5or内部P3.4or内部8DH 8BH 8CH 8AHPDF 文件使用 “pdfFactory Pro“ 试用版本创建 6.1.2 定时器/计数器的工作原理定时器/计数器结构原理图振荡器 12Tx引脚P3.Z=1=0TFxTRxGATE高电平有效中断请求INTxTC/TC/P3.Y8位8位THxTLxTRx:启动位GATE:门控制位:定时/计数控制位TC/x=0,1Y=2,3Z=4,5PDF 文件使用 “pdfFactory Pro

4、“ 试用版本创建 一. 对外部输入信号的计数功能当T0或T1设置为计数工作方式时,计数器对来自输入引脚P3.4(T0)和P3.5(T1)的外部信号计数。若前一个机器周期采样值为1,后一个机器周期采样值为0,则计数器加1。所以计数器计数的频率最高为fosc的1/24。ABCD EF GHPDF 文件使用 “pdfFactory Pro“ 试用版本创建 TH1个机器周期TL1个机器周期P1 P2S1P2振荡周期状态周期机器周期机器周期指令周期XTAL2(OSC)S2 S3 S4 S5 S6 S1 S2 S4 S5S3 S6P1 P1 P1 P1 P1 P1 P1 P1 P1 P1 P1P2 P2

5、P2 P2 P2 P2 P2 P2 P2 P2TLTHPDF 文件使用 “pdfFactory Pro“ 试用版本创建 二. 定时功能:定时器/计数器的定时功能也是通过计数实现的,它的计数脉冲是由单片机的片内振荡器输出经12分频后产生的信号,即为对机器周期计数。振荡器 12Tx引脚P3.Z=1=0TFxTRxGATE高电平有效中断请求INTxTC/TC/P3.Y8位8位THxTLx例如:晶振频率=12MHz机器周期=1us,计数1次=1us,计数频为=1MHz。PDF 文件使用 “pdfFactory Pro“ 试用版本创建 f=机器周期fmax=fosc/24计数频率f内部信号(片内振荡器)

6、外部信号下降沿T0对应P3.4T1对应P3.5计数脉冲定时器计数器定时器/计数器的比较PDF 文件使用 “pdfFactory Pro“ 试用版本创建 定时器/计数器的控制主要是通过以下几个寄存器实现的:TCON - 定时器/计数器控制寄存器TMOD - 定时器/计数器工作方式控制寄存器IE - 中断允许控制寄存器6.2 定时器的控制PDF 文件使用 “pdfFactory Pro“ 试用版本创建 6.2.1 定时器/计数器的工作方式寄存器TMOD定时器/计数器是一种可编程部件,在工作之前必须通过软件设定它的工作方式,即对工作方式寄存器TMOD中每位进行设定。T1 T0TMOD 字节地址89H

7、M0M1 C/ GATEM0 M1C/ GATE T TTMOD不能位寻址。上电复位时,TMOD所有位均为零。PDF 文件使用 “pdfFactory Pro“ 试用版本创建 一、M1和M0工作方式控制位M0和M1为工作方式控制位,确定4种工作方式,如表7-1所示。T0分成两个独立的8位计数器, T1在方式3时停止工作31 1自动重装入初值的8位计数器21 016位定时器/计数器10 113位定时器/计数器(TH的8位和TL的低5位) 00 0说 明方式M1 M0 PDF 文件使用 “pdfFactory Pro“ 试用版本创建 二、定时器/计数器方式选择位1. =0 选择定时方式。在定时方式

8、中,以振荡输出时钟脉冲的12分频信号作为定时的计数信号,也就是每一个机器周期定时器加“1”,若晶振为12MHz,则定时器的计数频率为1MHz。2. =1 选择计数功能。在计数方式中,采用外部引脚T0(P3.4)、T1(P3.5)的输入脉冲作为计数脉冲, 当外部输入脉冲发生1到0的负跳变时,计数器加1,最高计数频率为时钟频率的1/24。TC/TC/TC/M0M1 C/ GATEM0 M1C/ GATE T1 T0PDF 文件使用 “pdfFactory Pro“ 试用版本创建 C/ =0 定时; C/ =1 对外计数。定时:fosc/12 =1/(12/fosc)=1/T (机器周期)N个方波T

9、计数:脉冲不等间隔波形等间隔,次数已定,时间确定, 即对机器周期进行计数。左图定时时间为N*T每个下降沿计数一次确认一次负跳变需两个机器周期,所以,计数频率最高为fosc/ 24。T TPDF 文件使用 “pdfFactory Pro“ 试用版本创建 三、GATE启动门控位1. GATE=0 时只要用软件使TR0(或TR1)置1就能启动定时器T0(或T1);2. GATE=1 时只有在INT0(或INT1)引脚为高电平的情况下,且由软件使TR0(或TR1)置1时,才能启动定时器T0(或T1)工作。M0M1 C/ GATEM0 M1C/ GATE T1 T0PDF 文件使用 “pdfFactor

10、y Pro“ 试用版本创建 振荡器 12Tx引脚P3.Z=1=0TFxTRxGATE高电平有效中断请求INTxTC/TC/P3.Y8位8位THxTLxx=0,1Y=2,3Z=4,5对TMOD进行设置:MOVTMOD,0CHMOVTMOD,60HMOVTMOD,#6CHPDF 文件使用 “pdfFactory Pro“ 试用版本创建 定时器/计数器工作方式寄存器TMOD的作用:1、设定定时器/计数器的工作方式;2、选定定时器/计数器是由片内信号作定时器计数或外部信号作计数器计数;3、设置定时器/计数器的启动方式。PDF 文件使用 “pdfFactory Pro“ 试用版本创建 6.2.2 定时器

11、/计数器的控制寄存器TCON控制寄存器TCON的作用:1、通过设置TCON中的某些位来实现启动或停止定时器/计数器的运行(计数);2、当定时器/计数器计满溢出,或有外部中断请求时,TCON能标明溢出和中断情况。控制寄存器TCON(88H)IT0IE0IT1IE1TR0TF0TR1TF18FH 8EH 8DH 8CH 8BH 8AH 89H 88HPDF 文件使用 “pdfFactory Pro“ 试用版本创建 TF1:定时器T1溢出标志位当定时器T1溢出时,由硬件自动使TF1置1,并向CPU申请中断。CPU响应中断后,由硬件自动对TF1清零。TF1也可以用软件清零。TR1:定时器T1运行控制位

12、可由软件置1(或清零)来启动(或关闭)定时器T1,使定时器T1开始计数。用指令:SETB TR1 或 CLR TR1 (置1或清0)IT0IE0IT1IE1TR0TF0TR1TF1控制寄存器TCON(88H)PDF 文件使用 “pdfFactory Pro“ 试用版本创建 TF0:定时器T0溢出标志位。其功能与TF1相同。TR0:定时器T0运行控制位。其功能与TR1相同。IE1:外部中断1请求标志位。IT1:外部中断1触发方式控制位。IE0:外部中断0请求标志位。IT0:外部中断0触发方式控制位。IE1、IT1、IE0、IT0这4位已在第5章讲述。可以对控制寄存器进行位寻址。IT0IE0IT1

13、IE1TR0TF0TR1TF1PDF 文件使用 “pdfFactory Pro“ 试用版本创建 振荡器 12Tx引脚P3.Z=1=0TFxTRxGATE高电平有效中断请求INTxTC/TC/P3.Y8位8位THxTLx定时器/计数器结构原理图x=0,1Y=2,3Z=4,5PDF 文件使用 “pdfFactory Pro“ 试用版本创建 6.3 定时器的工作模式及其应用6.3.1 工作模式0及应用。M0=0, M1=0一、工作原理1、在方式0下,T0和T1工作在13位的定时/计数器方式,由TH的高8位和TL的低5位组成。2、当T0的13位计数器加到全部为1以后,再加1就产生溢出,这时置TCON的

14、TF0为1,同时把计数器全部变0,然后从0开始继续计数。PDF 文件使用 “pdfFactory Pro“ 试用版本创建 振荡器 12Tx引脚P3.Z=1=0TFxTRxGATE高电平有效中断请求INTxTC/TC/P3.Y8位5位THxTLxTH0=0FFHTL0=1FHTF0=01111111111111+1TH0=00HTL0=00HTF0=1M0=0, M1=0x=0,1Y=2,3Z=4,5PDF 文件使用 “pdfFactory Pro“ 试用版本创建 ORG 0000H LJMPMAINORG 000BHLJMPT0INTMAIN: SETBET0 SETBEASETB TR0 L

15、OOP: LJMP LOOPT0INT: CPLP1.0 MOV TL0,0CHMOV TH0,0F0HRETI对于T0初值非零时PDF 文件使用 “pdfFactory Pro“ 试用版本创建 2、当 = 0 时,工作方式为定时器,定时时间 = (213 -T0初值)x12x时钟周期定时范围:1工作周期 8192工作周期1、当 = 1 时,工作方式为计数器,计数数值 = (213 -T0初值)计数值范围:18192(213 = 8192)TH0=0FFHTL0=01FH二、工作模式0时计数和定时范围TH0=00HTL0=00H加1溢出; 加8192溢出。TC/TC/PDF 文件使用 “pdf

16、Factory Pro“ 试用版本创建 如果单片机的晶振选为6.00MHz,则最长和最小定时时间分别为:最小定时时间((TH0)0FFH,(TL0)0FFH):8192-(8192-1)1/610-612 = 210-6(s) = 2(us)最长定时时间((TH0)00H,(TL0)00H):(8192-0)1/610-612 = 1638410-6(s) = 16384(us)PDF 文件使用 “pdfFactory Pro“ 试用版本创建 例:设定时器T0选择工作模式0,求最长定时时间,如果要实现定时时间为1ms,fosc=3MHz。试确定T0的初值。解:(1) 求最长定时时间当T0处于工

17、作模式0时,加1计数器为13位。T0最大定时时间对应于13位计数器T0的各位全为0,即:(TH0)00H,(TL0)00H。最长定时时间为:Tmax=(2130)x12x(10-6/3)= 32.768msPDF 文件使用 “pdfFactory Pro“ 试用版本创建 (2) 确定T0的初值定时时间=(213 T0初值)x12x晶振周期则:T0初值=213(1ms/4us)=8192250=7942化成二进制用除2取余数法,得到的余数即为二进制数各位的数码,按余数的逆序排列。转化成二进制为:1111100000110B按照低5位,高8位拆开:T0的低5位:TL0 = 00110B = 06HT0的高8位:TH0 = 11111000B = F8HPDF 文件使用 “pdfFactory Pro“ 试用版本创建 例:利用定时器输出周期为2ms的方波, 输出为P1.0引脚。设单片机晶振频率为3MHz。 解:2ms的方波是由间隔1ms的高低电平相间而成,因而只要每隔1ms对P1.0取反一次即可得到所需的方波。 因为:机器周期 = 123MHz = 4us 所以,1ms内T0计数的次数:N=1ms4us=250 由此可知: 使用方式0时的13位计数器即可。1ms1msPDF 文件使用 “pdfFactory Pro“ 试用版本创建

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报