单片机应用技术 5.2.3自主学习 项目五 方波发生器的设计(四).pptVIP

  • 0
  • 0
  • 约1.69千字
  • 约 12页
  • 2021-02-23 发布于北京
  • 举报

单片机应用技术 5.2.3自主学习 项目五 方波发生器的设计(四).ppt

(2) TMOD寄存器初始化。为把T1设定为方式0,则M1M0=00;为实现定时功能,应使C/T=0,为实现T1的运行控制,则GATE=0。T0不用,有关位设定为0。因此TMOD寄存器的初始化为00H (3) 由定时器控制寄存器TCON中的TR1位控制定时的启动和停止,TR1=1启动,TR1=0停止 (4) 程序设计 MOV TMOD, #00H MOV TH1, #0FCH MOV TL1,#03H SETB TR1 LOOP: JBC TF1, LOOP1 SJMP LOOP LOOP1:MOV TH1,#0FCH MOV TL1,#03H CPL P1.0 SJMP LOOP 机械制造系 * 单片机原理与应用 济南职业学院 机械制造系 项目五 方波发生器的设计(四) 主讲: 邹 倩 职称: 讲 师 定时计数器 CPU TH1(8位) TL1 (8位) T1 T1(P 3.5) (8DH) (8BH) 7 0 7 0 TH0(8位) TL0 (8位) T0 T0(P 3.4) (8CH) (8AH) 7 0 7 0 TCON(88H) TMOD(89H) 启动 启动 溢出 溢出 工作方式 工作方式 图5-1 定时/计数器逻辑结构 上页 下页 回目录 “+1`” “+1`” 上页 下页 回目录 一、定时/计数器的初始化 初始化一般有以下几个步骤: ⑴ 确定工作方式,对方式寄存器TMOD赋值 ⑵ 预置定时或计数初值,直接将其写入T0、T1中 ⑶ 根据需要对中断允许寄存器有关位赋值,以开放 或禁止定时/计数器中断 ⑷ 启动定时/计数器,将TRi 赋值为“1” 上页 下页 回目录 计数初值的设定: 最大计数值M:不同的工作方式M值不同 方式0: M = 213 = 8192 方式1: M = 216 = 65536 方式2、3:M = 28 = 256 计数初值X的计算方法: 计数方式: X = M-计数值(X即为计数值的补码数) 上页 下页 回目录 定时方式: (M - X)×T = 定时值 ∴ X = M-定时值 / T 其中T为机器周期,时钟的12分频, 若晶振为6MHz,则T = 2μs, 若晶振为12MHz,则T = 1μs 例1 若单片机晶振为12MHz, 要求产生500μs定时,试计算X的初值。 解:由于T = 1μs,产生500μs定时, 需要“+1” 500次,定时器方能产生溢出。 采用方式0:( 13位计数器 ) X= 213-(500×10-6 /10-6 ) = 8192 -500 = 7692 = 1E0CH = F00CH 采用方式1:( 16位计数器 ) X= 216 -(500×10-6 /10-6)= 65036 = FE0CH ? 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 THi TLi D7D6D5 0 0 0 不用 F00CH = ? 暂时写成 例2 设单片机的晶振频率为6MHz,利用定时器T1方式0,产生周期为500ms的方波信号,并在P1.0输出 解:(1)计算计数初值。 欲产生500ms的方波,只需在P1.0端以250ms为周期交替输出高低电平即可,因此定时时间为250ms。 使用6MHz晶振,机器周期=6/fosc=2μs 设待求的计数初值为X,则 X=213-(250÷2)=8067 化为二进制数,表示00011,十六进制表示,高8位为0FCH,放入TH1,低5位为03H,放入TL1 TH1=0FCH,TL1=03H 机械制造系

文档评论(0)

1亿VIP精品文档

相关文档