第6章定时器(new)

上传人:鲁** 文档编号:592600980 上传时间:2024-09-21 格式:PPT 页数:17 大小:143.50KB
返回 下载 相关 举报
第6章定时器(new)_第1页
第1页 / 共17页
第6章定时器(new)_第2页
第2页 / 共17页
第6章定时器(new)_第3页
第3页 / 共17页
第6章定时器(new)_第4页
第4页 / 共17页
第6章定时器(new)_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《第6章定时器(new)》由会员分享,可在线阅读,更多相关《第6章定时器(new)(17页珍藏版)》请在金锄头文库上搜索。

1、第6章 定时/计数器61 定时/计数的结构及工作原理一、定时/计数器的结构和原理1定时/计数器的结构TMOD、TCON与T0、T1的结构框图2定时/计数器的原理定时/计数器的结构框图1)定时:每定时:每1个机器周期计数器加个机器周期计数器加1,最高计数频率,最高计数频率=时钟频率时钟频率/122)计数:计数:T0(1)端每)端每1个脉冲计数器加个脉冲计数器加1,最高计数频率,最高计数频率=时钟频率时钟频率/246。2定时/计数器控制方法方式寄存器TMODTMOD格式如下:定时器定时器0TMOD(89H)D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0定时器定时器1D

2、0D3:定时器定时器0;D4D7:定时器定时器1GATE:门控位:门控位GATE=1,定时器受外部信号控制,定时器受外部信号控制GATE=0,定时器不受外部信号控制,定时器不受外部信号控制C/T:计数:计数/定时选择定时选择C/T=1 ,计数计数C/T=0,定时,定时M1M0:工作方式设置:工作方式设置M1M0工作方工作方式式功功能能说说明明00方式方式013位计数器位计数器01方式方式116位计数器位计数器10方式方式2自动再装入自动再装入8位计数器位计数器11方式方式3定时器定时器0:分成两个:分成两个8位计数器位计数器定时器定时器1:停止计数:停止计数定时控制寄存器TCON定时器控制字T

3、CON的格式如下:TCON(88H)8FH8EH8DH8CH8BH8AH89H88HTF1TR1TF0TR0IE1IT1IE0IT0TF1:T1溢出标志,溢出标志, =1,计数器满,申请中断,计数器满,申请中断TR1: T1运行控制,运行控制,=1,启动,启动T1IE1、IT1、IE0、IT0:中断控制用:中断控制用定时定时/计数器的初始化与启动计数器的初始化与启动(1)设置工作方式)设置工作方式(2)预置定时)预置定时/计数初值计数初值TH0、TL0(TH1、TL1)(3)开放中断(根据需要)开放中断(根据需要)(4)启动定时)启动定时/计数器,计数器,SETB TR1计数器初值的计算计数器

4、初值的计算计数器初值的计算计数器初值的计算把计数器计满为零所需要的计数值设定为把计数器计满为零所需要的计数值设定为C,计计数初值设定为数初值设定为X,由此可得到公式:由此可得到公式:X=M-C式中,式中,M为最大计数值,为最大计数值,方式方式0:M=213 =8192方式方式1:M=216 =65536方式方式2和方式和方式3时:时:M=28=256。定时器初值的计算定时器初值的计算在定时器模式下,计数器由单片机主脉冲经在定时器模式下,计数器由单片机主脉冲经12分分频后计数。因此,定时器定时时间频后计数。因此,定时器定时时间T的公式:的公式:T=(M-X)TM 上式也可写成:上式也可写成:X=

5、M-T/ TM式中,式中,M:最大计数值,:最大计数值,TM:机器周期(振荡周期:机器周期(振荡周期X12););X:定时器的定时初值。:定时器的定时初值。例例 :f=6MHz,TM=2 s ,要,要产1ms(1000 s)的定)的定时时,须对须对2 s 计数计数500次,则初值:次,则初值:X=65536-1000/2=65036=FE0CH6 62 2 定时定时/ /计数器的工作方式计数器的工作方式一、方式0当M1M0两位为00时,定时/计数器被选为工作方式0,其逻辑结构如图53所示。T0(或T1)方式0结构二、方式1T0(或T1)方式1结构三、方式2T0(或T1)方式2结构四、方式3T0

6、方式3下和T1结构一、方式一、方式1的应用的应用P140例例 1二、方式2的应用例:选择例:选择T1方式方式2用于定时,在用于定时,在P1。1输出周期为输出周期为1ms的方波,晶振的方波,晶振fosc=6MHZ。根据题意,只要使根据题意,只要使P1。1每隔每隔500s取反一次即可得到取反一次即可得到1ms方波,因而方波,因而T1的定时时间为的定时时间为500s。将将T1设为定时方式设为定时方式2:T0不用可为任意,不用可为任意,TMOD=20H。机器周期机器周期T=12/fosc=12/6106=2s设初值为设初值为X则:则:(28X)2s=500sX=6则:则:TH1=TL1=6源程序如下:

7、源程序如下:MOVTL1,#06H;给;给TL1置初值置初值MOVTH1,#06H;给;给TH1置初值置初值SETBTR1;启动;启动T1LP1:JBCTF1,LP2;查询计数溢出否;查询计数溢出否AJMPLP1LP2:CPLP1.1;输出取反;输出取反AJMPLP1;重复循环;重复循环MOVTMOD, #20H;T1工作方式工作方式2如如f=12Mhz,需用,需用方式方式1,如何改动程序?,如何改动程序?二、计数方式应用例例用定时器用定时器1方式方式2计数,要求每计满计数,要求每计满100次,将次,将P1。0取反。取反。根根据据题题意意,外外部部计计数数信信号号由由T1(P3.5)引引脚脚输

8、输入入,每每跳跳变变一一次次计计数数器器加加1,由由程程序序查查询询TF1。方方式式2有自动重装初值的功能,初始化后不必再置初值。有自动重装初值的功能,初始化后不必再置初值。初值初值X=28100=156D=9CHTH1=TL1=9CHTMOD=60H源程序如下:源程序如下:MOVTMOD,#60H;设置;设置T1为方式为方式2MOV TL1,#9CH;置初值;置初值MOV TH1,#9CHSETB TR1;启动;启动T1DEL:JBCTF1,REP;查询计数溢出;查询计数溢出AJMPDELREP:CPLP1。0;输出取反;输出取反AJMPDEL三、门控位的应用图 58 外部正脉冲宽度测量例5

9、-3利用T0门控位测试INT0引脚上出现的正脉冲的宽度,并以机器周期数的形式显示在显示器上。根据要求可这样设计程序:将T0设定为方式1,GATE设为1,置TR0为1。一旦INT0(P3。2) 引脚上出现高电平即开始计数,直至出现低电平,停止计数,然后读取T0的计数值并显示。测试过程如下:源程序如下:BEGIN:MOVTMOD,#O9H;T0工作于方式1,GATE置1MOVTL0,#00HMOVTH0;#00HWAIT1:JBP3。2,WAIT1;等待INT0变低SETBTR0;启动T0WAIT2:JNBP3。2,WAIT2;等待正脉冲到WAIT3:JBP3。2,WAIT3;等待INT0变低CLRTR0;停止T0计数MOVR0,#DISBUF;显示缓冲区首地址送R0MOVA,TL0;机器周期的存放格式为低位占低地址,高位占高地址,连续4个显示缓冲单元XCHDA,R0INCR0SWAPAXCHDA,R0INCR0MOVA,TH0XCHDA,R0INCR0SWAPAXCHDA,R0DIS:LCALLDISUP;长调用显示子程序AJMPDIS;重复显示机器周期数由于定时方式1的16位计数长度有限,被测脉冲高电平宽度只能小于65536个机器周期。源程序如下:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号