资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,5.1,定时器结构,5.2 定时器工作方式,5.3 定时器应用举例,第5章 MCS-51定时器,计算机系统中经常要用到定时信号,如定时检测、定时扫描和时钟定时等,所谓,定时/计数器就是对脉冲进行计数的部件,定时方法通常有以下三种:,(1)软件定时,(2)不可编程的硬件定时,(3)可编程的硬件定时,MCS-51定时器,功能概述,(1)有2个独立的可预置初值的,二进制加法计数器T0,T1,计数长,度可设置为8,13 16位。,(2)有定时和,计数2种模式。,5.1 定时器结构,:由六个特殊,功能,寄存器及两,个,计数脉冲输入端组成。,TH0和TL0:构成16位T0 定时器。,TH1和TL1:构成16位T1 定时器。,TMOD:定时器方式寄存器,TCON:定时器控制寄存器,T0(P3.4),T1(P3.5):,作计数器使用功能时,计数脉冲输入端,GATE,C/T,M1,M0,GATE,M1,C/T,M0,定时器T1,定时器T0,TMOD,(89H),D7 D6 D5 D4 D3 D2 D1 D0,2.定时/计数器方式寄存器,TMOD,M1和M0:工作模式控制位,;,C/T:=0为定时器方式;,=1为计数器方式。,GATE:,门控位,对定时器/计数器启动提供某种控制,。,3.定时/计数器控制寄存器,TCON,TF1/TF0:T1/T0溢出中断标志,溢出时,由硬件将该位置1,并提出中断请求。,可以作为软件查询位。,TR1/TR0:运行控制位。,1:开启T1/T0。,0:关闭T1/T0。,5.2 定时/计数器工作方式,1.概述:,通过特殊功能寄存器TMOD设置定时器的工作方式:,控制位C/T:选择定时或计数功能;,M1、M0两位:可选择四种工作方式。,3.,工作方式0,1,逻辑结构,1)T0,逻辑结构图,工作方式0,1的区别在于计数长度,2)C/T控制计数脉冲选择端,定时方式:计数脉冲取自片内,即对,机器周期计数;,计数方式:计数脉冲取自T0(P3.4),或T1(P3.5)端的外部输入脉冲。,3)T0脉冲输入控制逻辑,GATE=0,TR0=1开关闭合,启动定时器,T0,GATE=1,,两个条件启动,TR=1且(P3.2)=1,开关闭合启动定时器T0,脉冲输入,逻辑结构,工作方式,3,的计数长度为,8;,计数常数只需写入一次,以后自动装入。,若TH和TL的计数初值为,x,则定时时间,t,为:,N,由工作方式决定,或,计数初值x计算,例51选用T0方式0产生500s定时,在P10输出周期为1ms的方波,晶振fsoc=12MHz。,解:计算定时初值x:,(2,13-,x)110,-6,=50010,-6,求得x=2,13,-500=7692D=,TH0取高8位,故(TH0)=0F0H,TL0取低5位,故(TL0)=0CH,TMOD取00H。,BEGIN:,MOVTL0,#0CH ;设置计数初值,MOVTH0,#0F0H,SETBTR0 ;启动T0,LOOP:JBCTF0,PIFO ;查询TF0,AJMPLOOP,PIFO:MOVTL0,#0CH ;重置初值,MOVTH0,#0F0H,CPLP10 ;输出取反,AJMP LOOP ;重复循环,例52 利用T1方式1定时,在P11端输出50Hz方波。晶振频率为6MHz。,解:方波周期T=1/50秒=20ms,故 T1定时值可选为10ms、TMOD=10H。,设初值为x,则,(2,16,-x)10,-6,=1010,-3,x=2,16,-5000=60536D=EC78H,BEGIN:,MOVTMOD,#10H;设置T1为方式1,MOVTL1,#78H ;赋初值,MOVTH1,#0ECH,SETBTR1 ;启动T1,LOOP:JBCTF1,REP ;查询定时溢出,AJMPLOOP,REP:MOVTL1,#78H ;重赋初值,MOVTH1,#0ECH,CPLP1.1 ;输出取反,AJMPLOOP ;反复循环,在上例 10ms定时基础上实现1秒定时,控制P1.1端口发光二极管亮1秒灭1秒。,BEGIN:,MOVTMOD,#10H;设置T1为方式1,MOVTL1,#78H ;赋初值,MOVTH1,#0ECH,SETBTR1 ;启动T1,MOV30h,#100,LOOP:JBCTF1,REP ;查询定时溢出,AJMPLOOP,REP:MOVTL1,#78H ;重赋初值,MOVTH1,#0ECH,DJNZ 30H,LOOP,MOV 30H,#100,CPLP1.1 ;输出控制发光管,AJMPLOOP ;反复循环,例54用定时器T1方式2计数,要求每计满40次,P10端取反。,设计数器初值为x,则,2,8,-x=40,x=2,8-,40=216D=0D8H,(TH1)=(TL1)=0D8H,例55利,用门控位测量脉冲的宽度,设外部脉冲由INT0(P3.2),输入,T0工作于定时器方式1。,在INT0为低电平时,设置TR0=1;当INT0变为高电平时,就启动计数;INT0再次变低时,停止计数。,计数值即为被测正脉冲的宽度,,开关闭合启动定时器T0,MOVTMOD,#60H,确定工作方式:对TMOD寄存器赋值;,(216-x)10-6=1010-3,GATE=0,TR0=1开关闭合,启动定时器T0,MOVTMOD,#09H ;T0方式1,GATE=1,(216-x)10-6=1010-3,AJMPDEL,JNBINT0,$;等待INT0变高,起动计数,度可设置为8,13 16位。,AJMPDEL,计算机系统中经常要用到定时信号,如定时检测、定时扫描和时钟定时等,所谓定时/计数器就是对脉冲进行计数的部件,定时方法通常有以下三种:,工作方式0,1逻辑结构,GATE:门控位,对定时器/计数器启动提供某种控制。,度可设置为8,13 16位。,MOVTMOD,#09H ;T0方式1,GATE=1,MOV TL0,#0 ;设置计数初值,MOVTH0,#0,MOVR0,#20H ;设置地址指针,JBINT0,$;等待INT0变低,SETBTR0 ;准备起动定时器,JNBINT0,$;等待INT0变高,起动计数,JBINT0,$;等待INT0再次变低,CLRTR0 ;停止计数,MOVR0,TL0 ;读入计数值,INCR0,MOV R0,TH0,本章习题:,5.4,5.5,5.6,习题4.15 编写一段程序,模拟如图4.10逻辑电路的逻辑功能。要求将四输入与非门的逻辑先写成子程序,然后多次调用实现整个电路的功能。设X、Y、Z、W、F均为位变量。,
展开阅读全文