《片机定时器》PPT课件.ppt
《《片机定时器》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《片机定时器》PPT课件.ppt(78页珍藏版)》请在三一办公上搜索。
1、单片机原理与应用,第六章 定时器及应用,教学目标介绍定时/计数器的结构和原理介绍定时/计数器的四种工作方式的应用 学习要求熟悉定时/计数器的工作原理 掌握定时/计数器的初始化及应用程序设计,单片机原理与应用,第六章 定时器及应用,6-1 概述6-2 定时/计数器的控制6-3 定时/计数器的四种模式及应用,单片机原理与应用,6-1 概述,8051定时器的结构有两个16位的定时器/计数器,即定时器0(T0)和定时器1(T1)。它们实际上都是16位加1计数器。T0由两个8位特殊功能寄存器TH0和TL0构成;T1由TH1和TL1构成。,单片机原理与应用,一、定时/计数器的结构,核心是一个可预置初值的计
2、数器,其计数脉冲有两个来源:一是系统的时钟振荡器;另一个是外部脉冲。当输入脉冲为系统振荡器时脉冲时间间隔相等,每个脉冲唯一时间基准,脉冲数乘以时间基准就是定时时间,这是定时器;当输入脉冲为外部脉冲时,其间隔不一定相等,这是就是计数器,单片机原理与应用,每输入一个脉冲,计数器加一,当计数器计满时(全1),再来一个脉冲,计数器回0,同时从最高位溢出一个脉冲使SRF的TCON的某一位TF0或TF1置1,作为定时/计数器溢出中断,定时器状态表示定时时间到;计数器状态保表示计满回0,单片机原理与应用,二、定时/计数器的工作原理,定时/计数器的核心是一个加1计数器结构图中有两个开关K1、K2,K1决定工作
3、状态:接内部振荡器为定时,接外部脉冲源为计数。K2受控制信号控制,决定脉冲能否加到计数器上,实际上决定计数器的开启与停止。这两个开关是由SRF的TCON和TMOD两个寄存器相应位控制的。通过对这两个寄存器写入控制字,即可选择工作状态和控制启动时间,可见MCS-51的定时/计数器是可程控的。,单片机原理与应用,加1计数器由两个8位特殊功能寄存器TH X和TL X(X=0或1)组成,它们可以被程控形成定时/计数器的四种工作方式。加1计数器计数工作的启动和停止由相应的电路控制,方式寄存器TMOD的GATE、寄存器TCON的TR X(X=0或1),单片机原理与应用,通过方式寄存器TMOD的C/T位来选
4、择加1计数器计数脉冲的来源:作为计数器用时,外部输入脉冲加在定时/计数器的外部输入端T0(P3.4)或T1(P3.5),每出现一次从1到0的跳变,加1计数器便加1。,单片机原理与应用,1定时器 用于实时控制,定时采样、定时启动等。当定时时间与设定值相等,执行规定操作。K1接内部时钟时,脉冲源是振荡频率的12分之一,即对机器周期计数,为定时方式,所以定时时间为:T=计数值*机器周期,单片机原理与应用,2计数器生产线上产品计数。每个产品通过得到一个脉冲信号,计数器记录脉冲个数,当计数值与设定值相等,启动包装机器。检测转速。电机转动一圈发出一个脉冲,计数器记录一秒时间内脉冲个数,显示转速。,单片机原
5、理与应用,K1接外部脉冲时,工作在计数状态,当T0或T1有一个1到0的跳变时,计数器加一。计数操作中,每个机器周期的S5P2期间采样外部输入信号,当一个机器周期采样值为高电平,另一个机器周期采样值为低电平时,计数器加一。所以识别一个跳变要占两个机器周期。因此外部计数脉冲高低电平宽度每个至少要保持一个机器周期。,单片机原理与应用,两个16位可编程定时/计数器:定时 计数 波特率发生器四种工作模式:13位定时/计数器 16位定时/计数器 8位定时/计数器(自动装入常数)8位定时/计数器(两个独立8位,仅定时/计数器0有),单片机原理与应用,第六章 定时器及应用,6-1 概述6-2 定时/计数器的控
6、制6-3 定时/计数器的四种模式及应用,单片机原理与应用,6-2 定时/计数器的控制,MCS-51的定时/计数器主要由几个专用寄存器组成:TL0:定时/计数器0低八位计数值TH0:定时/计数器0高八位计数值TL1:定时/计数器1低八位计数值TH1:定时/计数器1高八位计数值TMOD:控制寄存器,控制定时/计数器方式 的工作方式TCON:控制寄存器,控制定时/计数器的起停 指示溢出中断标志,单片机原理与应用,一、定时器方式寄存器TMOD(89H),TMOD的地址为89H,不可按位寻址,只能用字节指令设置定时器工作方式。低半字节定义定时器T0,高半字节定义定时器T1。复位时,TMOD所有位均为零。
7、,单片机原理与应用,1)功能选择位 C/T:=0,定时功能,计数内部机器周期脉冲;=1,计数功能,计数引脚T0(T1)输入的负脉冲。2)方式选择位M1、M0:4种工作方式:,单片机原理与应用,3)门控方式选择位GATE:=0,非门控方式(内部启动):TRx=1,启动定时器工作;TRx=0,停止定时器工作。=1,门控方式(外部启动):TRx=1且引脚INTx=1才启动。,单片机原理与应用,确定定时器工作方式指令:MOV TMOD,#方式字例:设T0用方式2非门控定时,T1用方式1门控计数。MOVTMOD,#0D2HTMOD各位定义及具体意义,单片机原理与应用,TCON的位地址位88H,可按位寻址
8、。复位时,TCON所有位均为零。1)启动控制位TR0、TR1=0,停止定时器工作=1,启动定时器工作例:启动T0:SETBTR0,二、定时器控制/状态寄存器TCON(88H),单片机原理与应用,2)溢出中断标志位TF0、TF1定时器溢出使TFx=1,引起中断请求,CPU响应Tx中断后,自动清0 TFx。可用软件检测TFx,必须软件清0。WAIT:JBC TF0,NEXT;检测T0是否溢出 SJMPWAIT;未溢出,继续检测NEXT:;溢出,TF0清0,处理溢出TCON各位定义及具体的意义,单片机原理与应用,三、可预置初值的16位加1计数器TH0、TL0、TH1、TL1预置T0初值指令:MOVT
9、H0,#XHMOVTL0,#XL,单片机原理与应用,第六章 定时器及应用,6-1 概述6-2 定时/计数器的控制6-3 定时/计数器的四种模式及应用,单片机原理与应用,由方式选择位M1、M0设定一、方式0 13位定时/计数器。THx 8位和TLx低5位组成13位加1 计数器,此种方式与MCS48系列兼容,如果不是为了兼容的目的,一般不用方式0.方式0的全部功能,方式1都可以代替。,单片机原理与应用,1、方式0介绍当M1M0两位为00时,为工作方式0(13位)C/T=0时,作为定时器方式工作,T0对机器周期计数,其定时时间为:(213-T0初值)时钟周期12,单片机原理与应用,非门控方式:当GA
10、TE0,控制权由 TRx 决定 TRx1 计数开始 TRx 0 计数停止,门控方式:当GATE1、TRx1 控制权由 INTx 决定 INTx1 计数开始 INTx 0 计数停止,最大计数脉冲个数:18192(213),最长定时时间(晶振12MHz T=1s):1s8192T=8.192 ms,启动计数方式:,定时器0模式0结构,单片机原理与应用,2、应用举例使用定时/计数器进行定时或计数之前,首先要通过软件对它进行初始化。初始化包括下述步骤:1.确定工作方式:对TMOD寄存器赋值;2.置定时/计数器初值:对TH0、TL0或TH1、TL1寄存器赋值;初值X的计算方法如下:计数方式时:X=N-M
11、 定时方式时:X=N-t/T,单片机原理与应用,在上两式中,M为计数模值,即从计数器启动到溢出时所需计数值;t为定时值;T为机器周期。3.根据需要,开放定时器中断:对IE寄存器赋值;4.启动定时/计数器:使TCON寄存器的TR0或TR1置位,或由加到引脚INTX上的外部信号电平启动。,单片机原理与应用,例:利用T0方式0产生宽度为2s,周期为2ms的定时负脉冲,由P1.7送出,系统采用12MHz的晶振。解 由于晶振为12MHz,机器周期为1s,这样利用T0方式0产生周期为2ms定时的初值X为:X=N-t/T=213-210-3/(110-6)=8192-2000=6192=1830H=1100
12、000110000B 则TH0=11000001B=0C1H,TL0=00010000B=10H,单片机原理与应用,由于CLR bit和NOP指令的执行时间为1个机器周期,当晶振为12MHz时,这两条指令的执行时间都为1s。这样,每当定时时间到时,利用T0产生中断,在中断服务程序中,先执行CLR P1.7和NOP两条指令,然后执行SETB P1.7,最后重装TH0和TL0的初值,就可以产生题目所要求的定时脉冲。置T0为定时方式0,GATE=0,C/T=0,M1M0=00H,T1不用,可任意,一般取0,故TMOD=00H,并由TR0启停T0。,单片机原理与应用,初始化程序:MOV TMOD,#0
13、0H MOV TH0,#0C1H MOV TL0,#10H;初始化T0 MOV IE,#82H;开T0中断 SETB TR0;启动T0 T0溢出中断服务程序:T0INT:CLRP1.7 NOP SETBP1.7 MOVTH0,#0C1H;T0重置初值 MOVTL0,#10H RETI,单片机原理与应用,例6-3:利用T0的工作模式0产生1ms定时,在P1.0引脚输出周期为2ms的方波。设单片机晶振频率fosc=12MHz。编程实现其功能。解:要在P1.0引脚输出周期为2ms的方波,只要使P1.0每隔1ms取反一次即可。(1)选择工作模式 T0的模式字为TMOD=00H,即 M1M0=00,C/
14、T=0,GATE=0,其余位为0,单片机原理与应用,(2)计算1ms定时时T0的初值(213X)1/12 10-612=110-3 s X=7193D=11100000 11000B T0的低5位:11000B=18H即(TL0)=18H T0的高8位:11100000B=E0H即(TH0)=E0H,单片机原理与应用,(3)采用查询方式的程序程序清单:MOV TMOD,#00H;设置T0为模式0 MOV TL0,#18H;送初值 MOV TH0,#0E0H SETB TR0;启动定时 LOOP:JBC TF0,NEXT;查询定时时间到否 SJMP LOOP NEXT:MOV TL0,#18H;
15、重装计数初值 MOV TH0,#0E0H CPL P1.0;取反 SJMP LOOP;重复循环,单片机原理与应用,(4)采用定时器溢出中断方式的程序程序清单:主程序 ORG 0000H RESET:AJMP MAIN;跳过中断服务程序区 ORG 0030H MAIN:MOV TMOD,#00H;设置T0为模式0 MOV TL0,#18H;送初值 MOV TH0,#0E0H SETB EA;CPU开中断 SETB ET0;T0中断允许 SETB TR0;启动定时 HERE:SJMP HERE;等待中断,虚拟主程序,单片机原理与应用,中断服务程序 ORG 000BH AJMP CTC0 ORG 0
16、120H CTC0:MOV TL0,#18H;重新装如初值 MOV TH0,#0E0H CPL P1.0;P1.0取反 RETI,单片机原理与应用,1、方式1介绍 当M1M0两位为01时,为工作方式1。其定时时间为:(216-T0初值)时钟周期12作为计数器方式工作时,T0对外部事件计数。计数长度最大为:216=65536(个外部脉冲),二、方式1,单片机原理与应用,最大计数脉冲个数:165536(216),最长定时时间(晶振12MHz T=1s):1s 65536T=65.54ms,启动计数方式:,非门控方式:当GATE0,控制权由 TRx 决定 TRx1 计数开始 TRx 0 计数停止,门
17、控方式:当GATE1、TRx1 控制权由 INTx 决定 INTx1 计数开始 INTx 0 计数停止,定时器0模式1结构,单片机原理与应用,2、应用举例 例:利用T0方式1产生一个50Hz的方波,由P1.7送出。系统采用12MHz的晶振,并假定CPU不作其它工作。解 由于周期为1/50Hz=20ms,则这种方波的正负脉冲宽度都为10ms。由于晶振为12MHz,机器周期为1s,这样利用T0方式1产生10ms定时的初值X为:X=N-t/T=216-1010-3/(110-6)=65536-10000=55536=D8F0H=1101100011110000B 则TH0=11011000B=0D8
18、H,TL0=11110000B=0F0H,单片机原理与应用,置T0为定时方式1,GATE=0,C/T=0,M1M0=01H,T1不用,可任意,一般取0,故TMOD=01H,并由TR0启停T0。由于 CPU不作其它工作,则可采用查询方式进行控制。程序清单:MOVTMOD,#01H MOVTH0,#0D8H MOVTL0,#0F0H;初始化T0SETBTR0;启动T0 LOOP:JBC TF0,AGN;查询定时时间到否?AJMP LOOP;定时时间未到,则继续查询等待AGN:MOVTH0,#0D8H;定时时间到,T0重置初值MOVTL0,#0F0H CPLP1.7;输出取反NOPAJMP LOOP
19、;重复循环,单片机原理与应用,1、方式2介绍当M1M0两位为10时,为工作方式2 TL0作为8位计数器,TH0用作保存计数初值。特别适合用作较精确的脉冲信号发生器,脉冲信号的周期计算如下:(28-TH0初值)时钟周期12,三、方式2,单片机原理与应用,用于需要重复定时和计数的场合。最大计数值:256(28)最大定时时间(晶振12MHz时 T=1s):256s 自动恢复初值8位定时/计数器。TLx为8位加1计数器,THx为8位初值暂存器。,定时器0模式2结构,单片机原理与应用,2、应用举例 方式2可省去用户软件重装初值的操作,可获得相当精确的定时时间,常用作串行口波特率发生器。例:采用11.05
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 片机定时器 定时器 PPT 课件
链接地址:https://www.31ppt.com/p-5550192.html