文档详情

单片机的定时系统.pptx

发布:2020-02-26约3.13千字共29页下载文档
文本预览下载声明
在控制系统中,常常要求有有一些定时控制,如定时输出、定时检测等;也往往要求有计数功能,能对外部事件进行计数。 实行定时功能,可用以下方法: 1.软件定时:让CPU循环执行一段程序。 2.硬件定时:采用时基电路,外接必要的元器件。 3.可编程的定时器;定时器/计数器的结构 ; TLO和THO组成16位的定时/计数器T0,TL1和TH1组成16位的定时/计数器T1。 TMOD是T0和T1的工作方式控制寄存器,TCON是T0和T1的运行状态控制寄存器。 TMOD和TCON由所编程序控制。;.. 定时器/计数器的控制寄存器 ;2.工作方式控制寄存器 TMOD ; 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脚上电平控制。; 定时器/计数器启动工作前,CPU先要为它设定其工作方式,然后再为它装入定时器/计数器初值,并通过指令启动其工作。;1. 方式0 —13位方式 ; 方式0下, 当为计数工作方式时,计数值的范围是: 1~8192(213) 当为定时工作方式时,定时时间的计算公式为: (213-计数初值)× 机器周期 其时间单位与机器周期相同(μs);2. 方式1 —16位方式 ;方式1下, 当为计数工作方式时,计数值的范围是 1~65536(216) 当为定时工作方式时,定时时间的计算公式为 (216-计数初值)× 机器周期 其时间单位与机器周期相同(μs);3. 方式2--自动重新加载方式 ;4. 方式3 —2个8位方式 ;. 定时器/计数器的应用 ;1.定时时间常数的计算 定时时间t =(M-X)×Tosc 其中M可取值为213、216、28,Tosc为机器周期。 例如:单片机采用12M晶振,定时器工作在方式0,定时时间为5ms,那么TH0及TL0的设置如下: X=8192-5000/1=3192=C78H=110001111000 TL0取低5位,其余??为TH0,则TH0 =63H; TL0 =18H。;2.TMOD寄存器初始化 例如: 为把定时器/计数器0设定为方式0,M1M0=00; 为实现定时功能,则C/T =0; 定时器/计数器1不用. ,有关位设定为0 3.由控制寄存器TCON中的TR0/TR1位控制定时的启动和停止,=1启动,=0停止。;【习题1】 单片机时钟频率为12MHz,计算定时5ms所需的定时器初值。 分析:定时器工作在方式2和方式3下时的最大定时时间只有0.256ms,要获得5ms的定时时间,必须在方式0或方式1。 (1)方式0;【例1】利用单片机的定时器实现5ms的定时,软件延时1s,使发光二极管实现闪烁。 ; ORG 0000H AJMP MAIN ORG 000BH ;中断服务程序入口 AJMP IT0 ORG 0030H MAIN: MOV SP,#70H MOV TMOD,#00H ;令T0为方式0 MOV IE,#82H ;打开T0中断 MOV R2,#0C8H SETB P1.0 MOV TH0,#63H ;装入定时初值 MOV TL0,#18H SETB TR0 MOV R0,#14H LOOP:AJMP LOOP ;等待中断;IT0: CLR TR0 DJNZ R2,YAS1 ;若R2-1之后不为0,则转移 CPL P1.0 ;1s
显示全部
相似文档