单片微机的定时器计数器原理及应用精要.pptVIP

  • 13
  • 0
  • 约9.96千字
  • 约 58页
  • 2016-02-23 发布于湖北
  • 举报

单片微机的定时器计数器原理及应用精要.ppt

单片微机的定时器计数器原理及应用精要.ppt

第六章 单片微机的定时器/计数器 原理及应用 6.1 概述 6.2 定时器/计数器T0、T1 6.3 定时器/计数器T2 6.4 监视定时器(看门狗)T3 6.5 定时器/计数器的应用编程 解:⑴工作方式0: 213–500?S/2?S=8192-250=7942 =1F06H =1111100000110B TL0=00110B=06H TH0=F8H ▲ 查询方式 ORG 0000H AJMP ST ORG 0030H ST: MOV SP,#60H MOV TMOD,#00H ;方式0 L1: MOV TH0,#0F0H ;初值 MOV TL0,#0CH CPL P1.0 SETB TR0 L2: JBC TF0,L1 SJMP L2 END ?6.5.4 运行中读定时器/计数器 实验四 外中断 P1.0~P1.7接8个发光二极管,管脚INT0、INT1接两个按键,分别定义为“+”和“-”。要求:上电全灭,每按一次“+”键,亮的灯多一盏, 每按一次“-”键,亮的灯减一盏, 当全亮时,再按一次“+”键,则全灭 当全灭时,再按一次“-”键,则全亮 采用方式1 定时时间 t=1ms=1000μS 定时常数:TC=216-1000/2=65535-500=65035 =00001011B=FE0BH 用定时器T0:TMOD=01H,TH0=FEH,TL0=0BH 编程与前相同 如果要求产生周期为2S的方波,怎样编程? 【例】欲用80C51产生两个方波,一个方波周期为200μs,另一个方波周期为400μs,该80C51同时使用串行口,用定时器/计数器作为波特率发生器,波特率为2400, fOCS=9.216 MHz 。 分析:这时T0采用方式3工作,其中, TL0产生100μs定时,由 P1.0输出方波1 TH0产生200μs定时,由Pl.1输出方波2 ; T1设置为方式2,作波特率发生器用。 计算: ?TL0初值: ?TH0初值: ?TH1、TL1初值为:F6H 编程: ORG 0000H AJMP MAIN ORG 000BH ;TL0的中断入口 AJMP ITL0 ORG 00lBH ;TH0的中断入口 AJMP ITH0 ORG 0100H MAIN: MOV SP,# 60H ;设栈指针 MOV TMOD,# 23H ;设T0为方式3,TI为2 MOV TL0,#0B3H ;设TL0初值(100μs定时) MOV TH0,#66H ;设TH0初值(200μs定时) MOV TL1,#0F6H ;设TL1初值(波特率为2400) MOV TH1,# 0F6H ;设 TH1初值 SETB TR0 ;启动 TL0 SETB TR1 ;启动TH0 SETB ET0 ;允许TL0中断 SETB ET1 ;允许TH0中断 SETB EA ;CPU中断开放 AJMP $ ORG 0200H ITL0:MOV TL0,# 0B3H ;重装定时常数 CPL P1.0 ;输出方波1(200μs) RETI ITH0:MOV TH0,#66H ;重装定时常数 CPL P1.1 ;输出方波2(400μs) RETI 不用方式3,能否只用T0产生两个时间? 【例】假如一个用户系统已使用了两个外部中断源,即INT0和INT1,用户系统要求从P1.0引脚上输出一个5kHz的方波,并要求采用定时器/计数器作为串行口的波特率发生器,另外还需要再增加一个外部中断源。 6.5.2 计数器的应用 ▲分析:除两个外中断(INT0、INT1)外,还需要两个定时器(5KHZ和波特率发生器)和一个计数器(扩展外中断) 把T0设置为方式3: TL0设置为计数器, TH0只能做8位定时器(产生5KHz方波),T1就作为波特率发生器,设为方式2。 频率5kHz即周期为200μs,则定时时间100μs,若采用12MHz的晶体振荡器,则机器周期为1μs。 计算时间常

文档评论(0)

1亿VIP精品文档

相关文档