单片机的定时系统_第1页
单片机的定时系统_第2页
单片机的定时系统_第3页
单片机的定时系统_第4页
单片机的定时系统_第5页
已阅读5页,还剩25页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机的定时系统第1页,共30页,2022年,5月20日,2点55分,星期二 在控制系统中,常常要求有有一些定时控制,如定时输出、定时检测等;也往往要求有计数功能,能对外部事件进行计数。实行定时功能,可用以下方法:1软件定时:让CPU循环执行一段程序。2硬件定时:采用时基电路,外接必要的元器件。3可编程的定时器第2页,共30页,2022年,5月20日,2点55分,星期二定时器/计数器的结构 第3页,共30页,2022年,5月20日,2点55分,星期二 TLO和THO组成16位的定时/计数器T0,TL1和TH1组成16位的定时/计数器T1。 TMOD是T0和T1的工作方式控制寄存器,TCON是T

2、0和T1的运行状态控制寄存器。 TMOD和TCON由所编程序控制。第4页,共30页,2022年,5月20日,2点55分,星期二. 定时器/计数器的控制寄存器 1定时器控制寄存器 TCOND7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0中断请求标志触发方式选择启动定时/计数器0 低电平1 下降沿0 停止1 启动第5页,共30页,2022年,5月20日,2点55分,星期二2工作方式控制寄存器 TMOD T1控制T0控制M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7GATE门控位C/T计数/定时选择M1 M0工作方式选择第6页,共30页,

3、2022年,5月20日,2点55分,星期二 M1、M0:决定定时器的4种工作方式方式0:(M1=0、M0=0):13位定时/计数器方式1:(M1=0、M0=1):16位定时/计数器方式2:(M1=1、M0=0):8位定时/计数器方式3:(M1=1、M0=1):把T0分为两个8位计数器 C/T:定时/计数方式选择位C/T=0为定时工作方式。此方式下,计数脉冲来自单片机内部。 C/T=1为计数工作方式。此方式下,计数脉冲来自外部引脚。 GATE:计数器工作方式控制位 GATE=0时,不受外部控制。 GATE=1时,T0和T1分别受P3.2和P3.3脚上电平控制。第7页,共30页,2022年,5月2

4、0日,2点55分,星期二 定时器/计数器启动工作前,CPU先要为它设定其工作方式,然后再为它装入定时器/计数器初值,并通过指令启动其工作。. 定时器/计数器的工作方式 第8页,共30页,2022年,5月20日,2点55分,星期二1. 方式0 13位方式 TF0T0TR0GATEINT011&C/T=1振荡器1/12C/T=0TL0 TH08位低5位13位计数器定时计数第9页,共30页,2022年,5月20日,2点55分,星期二 方式0下,当为计数工作方式时,计数值的范围是: 18192(213)当为定时工作方式时,定时时间的计算公式为: (213计数初值) 机器周期 其时间单位与机器周期相同(

5、s)第10页,共30页,2022年,5月20日,2点55分,星期二2. 方式1 16位方式 振荡器1/12TL0 TH0TF011&T0TR0GATEINT0C/T=0C/T=18位8位16位计数器第11页,共30页,2022年,5月20日,2点55分,星期二方式1下,当为计数工作方式时,计数值的范围是 165536(216)当为定时工作方式时,定时时间的计算公式为 (216计数初值) 机器周期 其时间单位与机器周期相同(s)第12页,共30页,2022年,5月20日,2点55分,星期二3. 方式2-自动重新加载方式 在方式2下,把16位计数器分为两部分,即以TL作计数器,以TH作预置寄存器。

6、 CPU对它们初始化时必须送相同的定时初值/计数初值。当定时器/计数器启动后,TL按8位加1计数器计数.每当它计满回零时,一方面向CPU发出溢出中断请求,另一方面从TH中重新获得初值并启动计数。定时时间为:t =(28T0初值)机器周期第13页,共30页,2022年,5月20日,2点55分,星期二4. 方式3 2个8位方式 仅T0可以工作在方式3 。 在工作方式3下,定时器/计数器0被拆成两个独立的8位计数器TL0和TH0。其中TL0既可以计数使用,又可以定时使用,定时器/计数器0的各控制位和引脚信号全归它使用。第14页,共30页,2022年,5月20日,2点55分,星期二. 定时器/计数器的

7、应用 初始化: 确定TMOD控制字 编程时将控制字送TMOD; 计算计数器的计数初值 编程时将计数初值送THi、 TLi; 开中断(如果使用中断) 编程实置位EA、ETi ; TRi位置位控制定时器的启动和停止。第15页,共30页,2022年,5月20日,2点55分,星期二1定时时间常数的计算 定时时间t =(MX)Tosc 其中M可取值为213、216、28,Tosc为机器周期。例如:单片机采用12M晶振,定时器工作在方式0,定时时间为5ms,那么TH0及TL0的设置如下:X=81925000/1=3192=C78H=110001111000TL0取低5位,其余位为TH0,则TH0 =63H

8、; TL0 =18H。第16页,共30页,2022年,5月20日,2点55分,星期二2TMOD寄存器初始化 例如:为把定时器/计数器0设定为方式0,M1M0=00; 为实现定时功能,则C/T =0; 定时器/计数器1不用. ,有关位设定为0 3由控制寄存器TCON中的TR0/TR1位控制定时的启动和停止,=1启动,=0停止。第17页,共30页,2022年,5月20日,2点55分,星期二【习题1】 单片机时钟频率为12MHz,计算定时5ms所需的定时器初值。 分析:定时器工作在方式2和方式3下时的最大定时时间只有0.256ms,要获得5ms的定时时间,必须在方式0或方式1。(1)方式0第18页,

9、共30页,2022年,5月20日,2点55分,星期二【例1】利用单片机的定时器实现5ms的定时,软件延时1s,使发光二极管实现闪烁。 第19页,共30页,2022年,5月20日,2点55分,星期二 ORG 0000H AJMPMAIN ORG000BH ;中断服务程序入口 AJMPIT0 ORG0030HMAIN: MOVSP,#70H MOVTMOD,#00H;令T0为方式0 MOVIE,#82H;打开T0中断 MOVR2,#0C8H SETBP1.0 MOV TH0,#63H ;装入定时初值 MOV TL0,#18H SETB TR0 MOV R0,#14H LOOP:AJMP LOOP

10、;等待中断第20页,共30页,2022年,5月20日,2点55分,星期二IT0:CLRTR0 DJNZ R2,YAS1 ;若R2-1之后不为0,则转移 CPLP1.0 ;1s到,则翻转电平 MOV R2,#0C8H YAS1:MOV TH0,#63H ;重新启动定时器 MOV TL0,#18H SETB TR0 RETI第21页,共30页,2022年,5月20日,2点55分,星期二【例2】设晶振频率为6MHz,使用定时器1以方式1产生周期为500s的方波脉冲,并由P1.0 输出。试以中断方式实现。8051P1.0500s第22页,共30页,2022年,5月20日,2点55分,星期二1. TMO

11、D确定T1控制T0控制XXXX1000M0M1C/TGATEM0M1C/TGATE控制字10H 要产生500s 的方波脉冲,只需以250s为间隔,交替输出高低电平即可实现。为此,定时间应为250s 。 6z晶振,则一个机器周期为2s. 设待求计数初值为,则:2.计算初值第23页,共30页,2022年,5月20日,2点55分,星期二(216X)210 -6 =25010 -6 X216-125=65536-125=65411=(10000H-7DH) =1111111110000011 0FF83H 因此,TH1=0FFH,TL1=83H3. 采用中断方式:打开全局和局部中断。4.由定时器控制寄

12、存器TCON中的TR1位控制定时器的启动和停止。 TR11,启动; TR10,停止。 第24页,共30页,2022年,5月20日,2点55分,星期二程序: ORG 0000H LJMP MAIN ORG 001BH LJMP INTT1 第25页,共30页,2022年,5月20日,2点55分,星期二INTT1: MOV TH1,#0FFH ;重置初值 MOV TL1,#83H CPL P1.0 ;输出取反 RETI ORG 1000HMAIN:MOV TMOD, #10H ;令T1为方式1 MOV TH1,#0FFH ;置初值 MOV TL1,#83H SETB EA ;允许中断 SETB E

13、T1 SETB TR1 ;启动定时 SJMP $ ;等待主程序中断处理程序第26页,共30页,2022年,5月20日,2点55分,星期二【习题2】 使用定时器0以工作方式2产生周期为200s的方波脉冲,由P1.0输出。 已知晶振频率为 6MHz。8051P1.0200s第27页,共30页,2022年,5月20日,2点55分,星期二 1计算计数初值 6MHz晶振下,一个机器周期为2,以TH0作预置寄存器,TL0作8位计数器,假设计数初值为X,则 (28X )2106 = 100106 求解得 X = 11001110B = 0CEH 把0CEH分别装入TH0和TL0中: TH0 = 0CEH ,TL0 = 0CEH第28页,共30页,2022年,5月20日,2点55分,星期二2TMOD寄存器初始化 定时器/计数器0为方式2,M1M0 =10; 定时功能C/ T= 0; 为实现定时器/计数器0的运行GATE = 0; 定时器/计数器1不用,有关位设定为0。 故,TMOD寄存器的状态应为02H。3程序第29页,共30页,2022年,5月20日,2点5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论