所以,(TH0)=0CEH,(TL0)=0CEH。 ② TMOD 寄存器初始化 定时器T0 为方式2:则M1M0=10;定时功能: T / C =0;为 实现定时器T0 的运行控制,GATE=0。定时器T1 不用,有关 位设定为0。因此TMOD 寄存器应初始化为02H。
ORG START: MOV
6.3.2 工作方式1
【例6-3】设单片机晶振频率为fosc=12MHz,使用定时器T1 以 方式1 产生周期为2ms 的等宽连续方波,并由P1.0 输出(用查 询方式完成)。 解:本例同例6-2,基本定时时间为1ms。 ① 计算计数初值
将x 表示为二进制形式:x= 1111110000011000B,故(TH1)= 0FCH,(TL1)=18H。 ② TMOD 寄存器初始化 定时器T1 为方式1:则M1M0=01;定时功能: T / C =0;为 实现定时器T1 的运行控制,GATE=0。定时器T0 不用,有关 位设定为0。因此TMOD 寄存器应初始化为10H。
ORG AJMP ORG LJMP ORG START: MOV MOV MOV MOV CLR SETB SETB SETB SJMP PITO1: MOV MOV CPL RETI END
0000H START 001BH PITO1 0100H SP, #60H TMOD, #00H TH1, #0E0H TL1, #18H P1.0 EA ET1 TR1 $ TL1, #18H TH1, #0E0H P1.0
【例6-1】设定时器T0 选择工作方式0,定时状态,定时时间 1ms,fosc=6MHz。试确定T0 初值,计算最大定时时间tmax。 解: ① 计算最大定时时间
② 计算计数器的初值
转换为二进制数:x=1111 0000 01100B 取x 的低5 位送TL0 的低5 位,TL0 的高3 位取0,则(TL0) =0000 1100B=0CH。取x 的高8 位送给TH0,则(TH0)=1111 0000B=0F0H。