
HT47R20
½字节内部缓冲器的内容写入定时器
A /定时器B( 16
½)之中 改变定时
A /定时器B
的内容 只可被写入
TMRAH / TMRBH
之动½改变 ½若写入
TMRAL / TMRBL
则可维持定时
A /定时器B
的内容不受改变
若读取
TMRAH / TMRBH
则可将
TMRAL / TMRBL
传送至½字节内部缓冲器之中 以避免发生计时错
误 然而 若读取
TMRAL / TMRBL
则只读回½字节内部缓冲器的内容 换言之 定时器
A /定时器B
的
½字节数据并不½直接读取 若欲读取该½字节的数据 必须先读取
TMRAH / TMRBH
以便将定时/计数
器的½字节数据传送至内部½字节缓冲器之中
寄存器
ADCR
的
4~7
½用来决定选取哪一组电阻 电容来组成
TMRBH
和
TMRBL
的振荡输入
寄存器
TMRC
的
TN0 TN1 TN2
用来决定定时器
A
的时钟来源 定时器
A
的时钟来源可以是系统
时钟指令时钟或实时时钟(实
时间时钟)分频器时钟
½
吨
½(TMRC 的第
4
½)½为
1
时 定时器
A
和定时器
B
就开始计数 直到定时器
A
或定时
器
B
发生溢出 此时 定时/计数器便½½中断请求标志(TF
INTC1
的第
4
½) 同时计数器
A
和计数器
B
停止计数并
吨
½被清为
0
½
吨
½(TMRC 的第
4
½)½为
1
时 那么
TMRBL TMRBH TMRAL
和
TMRAH
不½进行读
写操½ 只有在定时/计数器关闭并且½用
MOV
指令时 才½对这四个寄存器进行读写操½
下例是
RC
型
AD
½换模式(定时器
A
溢出)
CLR
TMRC
CLR
adcr.1
;
设½定时器模式
CLR
intc1.4
;
清除定时/计时器中断请求标志½
MOV
一,低( 65536-1000 )
;
½TIMERA初值
MOV
TMRAL ,一
;
计数1000后溢出
MOV
一,高( 65536-1000 )
MOV
TMRAH ,一
MOV
一, 00010010b
; RS0 CS0 ;
设½RC型ADC模式; 设½TIMERA溢出
MOV
ADCR ,一
MOV
A, 00H
;
½TIMERB初值
MOV
TMRBL ,一
MOV
A, 00H
MOV
TMRBH ,一
MOV
一, 00110000b
; TimerA的的时钟来源为T1并且允许计数
MOV
TMRC ,一
p10:
CLR
WDT
新西兰统计局
intcl.4
;
判断定时/计数器中断请求标志½
JMP
p10
CLR
intcl.4
;
清除定时/计数器中断请求标志½
;
程序继续
下例是
RC
型
AD
½换模式(定时器
B
溢出)
CLR
TMRC
CLR
adcr.1
;
设½定时器模式
CLR
intc1.4
;
清除定时/计数器中断请求标志½
MOV
A, 00H
;
½TIMERA初值
MOV
TMRBL ,一
MOV
A, 00H
MOV
TMRBH ,一
MOV
一, 00010011b
; RS0 CS0 ;
设½RC型ADC模式; 设½TIMERB溢出
MOV
ADCR ,一
MOV
一,低( 65536-1000 )
;
½TIMERB初值
MOV
TMRBL ,一
;
计数1000后溢出
MOV
一,高( 65536-1000 )
MOV
TMRBH ,一
MOV
一, 00110000b
; TimerA的的时钟来源为T1并且允许计数
MOV
TMRC ,一
p10:
CLR
WDT
修订版1.10
18
2002-07-25