定时计数器 (2)

上传人:n**** 文档编号:93220326 上传时间:2019-07-18 格式:PPT 页数:31 大小:1.43MB
返回 下载 相关 举报
定时计数器 (2)_第1页
第1页 / 共31页
定时计数器 (2)_第2页
第2页 / 共31页
定时计数器 (2)_第3页
第3页 / 共31页
定时计数器 (2)_第4页
第4页 / 共31页
定时计数器 (2)_第5页
第5页 / 共31页
点击查看更多>>
资源描述

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

1、第一节 概述,一、结构及原理,低128B RAM,高128B RAM,P3.03.7(3932脚):双功能输入输出口。,1.结构,2.原理,定时功能,定时器实质是一个加1计数器,其控制电路受软件控制 和切换。,计数脉冲由单片机振荡器的12分频信号提供。,若振荡频率为12MHz,则每加一个1需多少时间,若该计数器为16位计数器,则计满需多长时间,计数功能,计数脉冲由外界通过引脚T0、T1提供,且下降沿触发计数 即:若一个机器周期采样值为1,下一个机器周期为0,则计 数器加1。,若振荡频率为12MHz,则最高计数频率为多少,工作特点,定时器是单片机中效率最高而且灵活的部件,当它开始工作后就不再占用

2、CPU的操作时间,除非定时计数器计满溢出,才可能中断CPU当前操作。,综述,定时/计数器是一种可编程部件,所以开始工作前,CPU必须将一些命令(控制字)写入部件。即:初始化,二、方式寄存器TMOD,:功能选择位。等于0时,为定时方式 等于1时,为计数方式,:门控位。其功能如下所示。,方式寄存器TMOD不能进行位寻址,M0和M1:方式选择位,例:设定时器1为定时工作方式,要求由软件启动定时器1,按方式2工作。定时器0为计数方式,要求由软件启动定时器0,按方式1工作。则TMOD 中控制字为?,25H,三、控制寄存器TCON,MOV TMOD , #25H,MOV TMOD , #25H SETB

3、TR1 SETB TR0,TCON可以位寻址,四、定时器/计数器得初始化,1.确定工作方式对TMOD赋值,2.预置定时或计数得初值可直接将初值写入TH0、TL0等,例:,若80C51主频为6MHz,要求产生1ms的定时,试计算初值。,在6MHz主频情况下,计数器每进行一次“加1”所需时间为2us,如果要产生产生1ms的定时时间,需要“加1”500次,那么500即为计数值。在方式1情况下,初值X应为:,3.根据需要开放定时器/计数器的中断直接对IE位赋值。,4.启动定时器/计数器,第二节 工作方式,一、方式0,方式0是一个13位的定时器/计数器。具体如下图所示,当TL0的低五位溢出时向TH0进位

4、,,而当TH0溢出时向中断标志位,TF0进位(硬件将TF0置为1),并申请中断,定时时间:,二、方式1,定时时间:,三、方式2,207返回,四、方式3,方式3只适用于定时器T0,定时器T0在方式3下被拆成两 个独立的8位计数器TL0和TH0,计数,定时,定时器初始化练习,1.单片机主频为6MHz,要求定时器0用于定时、软件启动、工作 方式为方式0、定时时间为10ms,试完成初始化工作。,2.单片机主频为6MHz,要求定时器1用于定时、软件启动、工作 方式为方式1、定时时间为10ms,试完成初始化工作。,3.单片机主频为6MHz,要求定时器1用于计数、软件启动、工作 方式为方式2、计数长度为10

5、0,试完成初始化工作。,1.单片机主频为6MHz,要求定时器0用于定时、软件启动、工作 方式为方式0、定时时间为10ms,试完成初始化工作。,00H,控制字,(1)方式选择,(2)时间常数计算,X=C78H=1100 0111 1000,X=C78H=1100 0111 1000,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,0,X=0110 0011 0001 1000=6318H,程序,ORG 0000H MOV TMOD , #00H MOV TH0 , #63H MOV TL0 , #18H,2.单片机主频为6MHz,要求定时器1用于定时、软件启动、工作 方式为方式1、定

6、时时间为10ms,试完成初始化工作。,10H,控制字,(1)方式选择,(2)时间常数计算,X=EC78H=1110 1100 0111 1000,程序,ORG 0000H MOV TMOD , #10H MOV TH0 , #ECH MOV TL0 , #78H,7,8,C,E,3.单片机主频为6MHz,要求定时器1用于计数、软件启动、工作 方式为方式2、计数长度为100,试完成初始化工作。,60H,控制字,(1)方式选择,(2)时间常数计算,X=9CH=1001 1100,程序,ORG 0000H MOV TMOD , #60H MOV TH0 , #9CH MOV TL0 , #9CH,第

7、三节 定时器应用举例,例1:选择T1方式0用于定时,在P1.1输出周期为1ms的方波 主频为6MHz。,方式0,0,0,0,定时到时,先重装初始值,例2:用定时器T1定时,使P1.2端电平每隔1min变反一次 主频为12MHz。,内循环20次,例3:用定时器T1方式2计数,要求每计满100次,将P1.0端取反。,外部计数信号由T1(P3.5)脚引入,每跳变一次计数器加1,由程序查询TF1。方式2具有初始值自动重装功能,初始化后不必再置初始值。,例4:利用T0门控位测试INT0 引脚上出现的正脉冲宽度。已知主频 12MHz,将所测得的值存入片内71H单元,低位存入70H单元。,设外部脉冲由INT

8、0(P3.2)输入,T0工作于定时器方式1,GATE设为1。,程序,MOV TMOD , #09H MOV TL0 , #00H MOV TH0 , #00H MOV R0 , #70H JB P3.2 , $ SETB TR0 JNB P3.2 , $ JB P3.2 , $ CLR TR0 MOV R0 , TL0 INC R0 MOV R0 , TH0 SJMP $,P3.21则原地踏步,否则顺序执行,例5:已知80C51单片机主频为6MHz,请利用定时器T0 和P1.2输出矩形脉冲,其波形如下:,MOV TMOD , #02H MOV TH0 , #E7H MOV TL0 , #E7H

9、 SETB TR0 SETB P1.2 MOV R0 , #7 JBC TF0 , REP AJMP DEL CLR P1.2 DJNZ R0 , DEL AJMP L1,L1:,DEL:,REP:,:在80C51单片机中,主频为12MHz,编程使P1.0 和P1.1分别输出周期为2ms和500us的方波。(作业),硬件实验:编程完成以下动作,ORG 0000H Shou: MOV R3,#10 MOV R2,#8 MOV TH1,#3CH MOV TL1,#0B0H MOV TMOD,#10H MOV A,#0FEH NEXT: SETB TR1 MOV P1,A YUAN: JBC TF1

10、, L2 SJMP YUAN L2: DJNZ R3,YUAN L1: MOV TH1,#3CH MOV TL1,#0B0H RL A MOV R3,#10 DJNZ R2, NEXT CLR TR1 MOV P1 , #0FFH,MOV R3,#10 MOV R2,#8 MOV TH1,#3CH MOV TL1,#0B0H MOV TMOD,#10H MOV A,#7FH SETB TR1 NEXT1: MOV P0,A YUAN1: JBC TF1, L21 SJMP YUAN1 L21: DJNZ R3,YUAN1 L11: MOV TH1,#3CH MOV TL1,#0B0H RR A

11、 MOV R3,#10 DJNZ R2, NEXT1 CLR TR1 MOV P0 ,#0FFH AJMP Shou,P1.0,P0.0,ORG 0000H LJMP 2000H ORG 2000H MOV 50H , #8 MOV A , #0FEH NEXT1: MOV P1 , A PUSH A ACALL YANSHI POP A RL A DJNZ 50H , NEXT1 MOV A , #0FFH MOV P1 , A MOV A , #7FH MOV 50H , #8 NEXT2: MOV P0 , A PUSH A,ACALL YANSHI POP A RR A DJNZ 50H , NEXT2 MOV P0 , #0FFH MOV A , #0FEH MOV 50H , #8 AJMP NEXT1 YANSHI: MOV TH1 , #3CH MOV TL1 , #0B0H MOV TMOD , #10H MOV R1 , #10 SETB TR1 DENG: JBC TF1 , JIXU SJMP DENG JIXU: DJNZ R1 , DENG RET,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

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