HT49RV9/HT49CV9
A/D+VFD
盛群知识产权政策
盛群知识产权政策
盛群知识产权政策 盛群知识产权政策
专利权
专利权
专利权 专利权
盛群半导体公司在全球各地区已核准和申请中之专利权至少有 160 件以上,享有绝对之合法权益。与盛群
公司 MCU 或其它产品有关的专利权并未被同意授权使用,任何经由不当手段侵害盛群公司专利权之公司、
组织或个人,盛群将采取一切可能的法律行动,遏止侵权者不当的侵权行为,并追讨盛群公司因侵权行为
所受之损失、或侵权者所得之不法利益。
商标权
商标权
商标权 商标权
盛群之名称和标识、Holtek 标识、HT-IDE、HT-ICE、Marvel Speech、 Music Micro、 Adlib Micro、 Magic
Voice 、 Green Dialer 、 PagerPro、 Q-Voice 、 Turbo Voice、 EasyVoice 和 HandyWriter 都是盛群半导体公
司在台湾地区和其它国家的注册商标。
著作权
著作权
著作权 著作权
Copyright 2008 by HOLTEK SEMICONDUCTOR INC.
型八位单片机
型八位单片机
型八位单片机 型八位单片机
规格书中所出现的信息在出版当时相信是正确的,然而盛群对于规格内容的使用不负责任。文中提到的应
用其目的仅仅是用来做说明,盛群不保证或不表示这些应用没有更深入的修改就能适用,也不推荐它的产
品使用在会由于故障或其它原因可能会对人身造成危害的地方。盛群产品不授权使用于救生、维生器件或
系统中做为关键器件。盛群拥有不事先通知而修改产品的权利,对于最新的信息,请参考我们的网址
http://www.holtek.com.tw; http://www.holtek.com.cn
Rev. 1.10 1 2007-03-20
技术相关信息
技术相关信息
技术相关信息 技术相关信息
• 工具信息
• 问答集
• 应用范例
- HA0077S HT49CVX Remote Control Receiver SWIP Design Note
- HA0078S HT49CVX Display SWIP Design Note
特特 特特性性 性性
HT49RV9/HT49CV9
• 工作电压:
f
=4MHz: 2.2V~ 5.5V
SYS
f
=8MHz: 3.3V~ 5.5V
SYS
• 32 个双向输入/ 输出口(PA、 PB、 PC、 PD)
• 2 个外部中断输入
• 2 个 16 位定时 /计数器,具有 PFD(可编程分频
器 )功能
• 1 个 8 位遥控定时 /计数器( RMT)
• 1 通道串行接口
• 12×16 段的 VFD 驱动 (12 段和 16 栅格到 20 段
和 8 栅格)
• 8K× 16× 2 程序存储器
• 192× 8× 4 数据存储器
• 具有 PFD 功能,可用于发声
• 实时时钟(RTC);32768HZ,具有快速启动控制位
概述
概述
概述 概述
• 8 位的实时时钟预分频器
• 看门狗定时器
• 蜂鸣器输出
• 内置晶体、RC 和 32768Hz 晶体振荡电路
• HALT 和唤醒功能可降低功耗
• 16 层硬件堆栈
• 10 位 8 通道 A/D 转换器
• 4 通道 8 位 PWM 输出,与 4 个 I/O 共用引脚
• 低电压复位功能 LVR,可以使能或除能
• 位操作指令
• 查表指令,表格内容字长 16 位
• 系统频率为 8MHz 时,指令周期为 0.5µ s
• 63 条功能强大的指令
• 指令执行时间为 1 或 2 个指令周期
• 100-pin QFP 封装
HT49RV9/HT49CV9 是 8 位高性能精简指令集单片机,其单周期指令和 2 级流水线架构使其可用于高
速应用。内置 VFD 驱动使这款单片机可以应用于 DVD、VCD、迷你组合音响、盒式录音机、调谐器、激
光唱机和其他的家用电器等等。
Rev. 1.20 2 2008-09-17
方框图
方框图
方框图 方框图
P r o g r a m
R O M
I n s t r u c t i o n
R e g i s t e r
P r o g r a m
C o u n t e r
HT49RV9/HT49CV9
f
I n t e r r u p t
C i r c u i t
S t a c k
M
M P
U
X
D a t a
M e m o r y
I N T C
T M R 0 C
T M R 0
P F D 0
T M R 1 C
T M R 1
P F D 1
R T C
W D T
T i m e B a s e
M
U
X
M
U
X
M
U
X
P D 6 / T M R 0
P D 7 / T M R 1
f
S Y S
3 2 7 6 8 H z
f
S Y S
W D T O S C
/ 4
/ 4
R T C O S C
S Y SP r e s c a l e r
O S C 3
O S C 4
I n s t r u c t i o n
D e c o d e r
T i m i n g
G e n e r a t i o n
O S C 2
O S C 4
O S C 1
R E S
V D D
V S S
O S C 3
V E E
G r i d 0 ~
G r i d 7
A L U
S h i f t e r
A C C
M U X
V F D D r i v e r
S E G 0 ~
S E G 1 1
S T A T U S
B P
V F D
M e m o r y
S E G 1 2 / G r i d 1 5 ~
S E G 1 9 / G r i d 8
P W M
P D C
P D
P C C
P C
8 - C h a n n e l
A / D C o n v e r t e r
P B C
P B
P A C
P A
E N / D I S
H A L T
L V R
E N / D I S
H A L T
S e r i a l
I n t e r f a c e
M U X
8 - B i t R e m o t e
C o n t r o l T i m e r
P o r t D
P o r t C
P o r t B
P o r t A
P D 0 / P W M 0 ~ P D 3 / P W M 3
P D 4 / I N T 0
P D 5 / I N T 1
P D 6 / T M R 0
P D 7 / T M R 1
P C 0 ~ P C 7
P B 0 / A N 0 ~ P B 7 / A N 7
P A 0 / B Z
P A 1 / B Z
P A 2
P A 3 / P F D
P A 4 ~ P A 7
S D I
S D O
S C K
S C S
f
/ 4
S Y S
f
R T C O S C
R M T
Rev. 1.20 3 2008-09-17
引脚图
引脚图
引脚图 引脚图
HT49RV9/HT49CV9
P A 3 / P F D
P A 1 / B Z
P A 0 / B Z
O S C 1
O S C 2
O S C 3
P A 4
R E S
P A 2
O S C 4
V D D
S D O
S C K
S C S
S D I
N C
N C
N C
N C
N C
1
P A 5
2
N C
3
N C
4
N C
5
N C
6
N C
7
P A 6
8
P A 7
V S S
V S S
P C 0
P C 1
P C 2
P C 3
9
1 0
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
2 0
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
3 0
3 1
3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 5 0
P C 4
P C 5
N C
H T 4 9 R V 9 / H T 4 9 C V 9
R M T
P C 6
P C 7
N C
1 0 0 Q F P - A
N C
N C
P B 0 . A N 0
P B 1 / A N 1
P B 2 / A N 2
P B 3 / A N 3
P B 4 / A N 4
P B 5 / A N 5
P B 6 / A N 6
P B 7 / A N 7
P D 0 / P W M 0
P D 1 / P W M 1
P D 2 / P W M 2
P D 3 / P W M 3
P D 4 / I N T 0
P D 5 / I N T 1
P D 6 / T M R 0
P D 7 / T M R 1
注: 每个 V DD(VSS)引脚都必须连接到系统的 power(ground)
8 1 8 2 8 3 8 4 8 5 8 6 8 7 8 8 8 9 9 0 9 1 9 2 9 3 9 4 9 5 9 6 9 7 9 8 9 9 1 0 0
N C
8 0
N C
7 9
G R I D 0
7 8
G R I D 1
7 7
G R I D 2
7 6
G R I D 3
7 5
G R I D 4
7 4
G R I D 5
7 3
G R I D 6
7 2
G R I D 7
7 1
V D D
7 0
V E E
6 9
S E G 1 9 / G R I D 8
6 8
S E G 1 8 / G R I D 9
6 7
S E G 1 7 / G R I D 1 0
6 6
S E G 1 6 / G R I D 1 1
6 5
S E G 1 5 / G R I D 1 2
6 4
S E G 1 4 / G R I D 1 3
6 3
S E G 1 3 / G R I D 1 4
6 2
S E G 1 2 / G R I D 1 5
6 1
N C
6 0
N C
5 9
N C
5 8
N C
5 7
N C
5 6
N C
5 5
N C
5 4
N C
5 3
N C
5 2
S E G 1 1
5 1
S E G 8
S E G 0
S E G 1
S E G 2
S E G 3
S E G 4
S E G 5
S E G 6
S E G 1 0
S E G 7
S E G 9
极限参数
极限参数
极限参数 极限参数
电源供应电压………….V SS-0.3V~VSS+6.0V 储存温度………….-50℃~125℃
端口输入电压………….V SS-0.3V~VDD+0.3V 工作温度………..….-40℃~85℃
注:这里只强调额定功率,超过极限参数所规定的范围将对芯片造成损害,无法预期芯片在上述标示范围外的工作状态,而
且若长期在标示范围外的条件下工作,可能影响芯片的可靠性。
Rev. 1.20 4 2008-09-17
引脚说明
引脚说明
引脚说明 引脚说明
引脚名称
引脚名称 输入
引脚名称 引脚名称
PA0/BZ
PA1/BZ
PA2
PA3/PFD
PA4~ PA7
PB0/AN0~
PB7/AN7
PC0~PC7
输入/ 输出
输出 掩膜选项
输入 输入
输出 输出
输入/ 输出
输入/ 输出 上拉电阻
输入/ 输出 上拉电阻
掩膜选项
掩膜选项 掩膜选项
唤醒功能
上拉电阻
蜂鸣器
PFD
HT49RV9/HT49CV9
说明
说明
说明 说明
8 位双向输入/输出口。每一位可由掩膜选项设置为唤醒输
入。可由软件设置为 CMOS 输出、带或不带上拉电阻(由
上拉电阻选项决定:位选择)的斯密特触发输入。BZ、
和 PFD 分别与 PA0、PA1 和 PA3 共用引脚。
8 位双向输入/输出口。可由软件设置为 CMOS 输出,或
是带或不带上拉电阻(由上拉电阻选项决定:位选择)的斯
密特触发输入或者 A/D 输入。一旦 PB 口设置为 A/D 输
入(由软件控制),则该口的输入/输出功能和上拉电阻将
自动无效。
8 位双向输入/输出口。可由软件设置为 CMOS 输出、带
或不带上拉电阻(由上拉电阻选项决定:位选择)的斯密特
触发输入。
PD0/PWM0
PD1/PWM1
PD2/PWM2
PD3/PWM3
PD4/
PD5/
PD6/TMR0
PD7/TMR1
RMT
VSS
VEE
SEG0~SEG11
SEG12/Grid15~
SEG19/Grid8
Grid0~Grid7
SDI
SDO
SCK
SCS
OSC4
OSC3
VDD
OSC1
OSC2
RES
INT0
INT1
输入/ 输出
输入/ 输出 上拉电阻
输入 上拉电阻
— — 负电源,接地。
— — VFD 负电源。
输出 — VFD 驱动的高电压 segment 输出。
输出 —
输出 — VFD 驱动的高电压 grid 输出
输入 — 串行接口的串行数据输入
输出 — 串行接口的串行数据输出
输入/ 输出
输入/ 输出
输出
输入
— — 正电源。
输入
输出
输入 — 斯密特触发复位输入,低电平有效。
上拉电阻
PWM
— 串行接口的串行时钟输入/ 输出(初始为“输入”)。
—
RTC 或系
统时钟
晶体或
RC
4 位双向输入 /输出口。可由软件设置为 CMOS 输出、带
或不带上拉电阻(由上拉电阻选项决定:位选择)的斯密特
触发输入。
4 位双向输入/输出口。可由软件设置为 CMOS 输出、带
或不带上拉电阻(由上拉电阻选项决定:位选择)的斯密特
触发输入。PD4~PD7 分别和
共用引脚(由软件控制)。
RMT 具有唤醒功能(上升沿和下降沿)和带或不带上拉电
阻的斯密特触发输入(由上拉电阻选项决定)。
VFD 驱动的高电压输出。这些引脚可选择为 segment 或
grid 输出。
串行接口的片选引脚,主机模式时作输出,从机模式时作
输入。
实时时钟振荡器。OSC3、OSC4 连接 32768Hz 的晶体振
荡器,用于提供定时或系统时钟(由掩膜选项确定)。没有
内建电容。
OSC1、OSC2 连接 RC 或晶体(由掩膜选项确定)以产生内
部系统时钟。在 RC 振荡方式下,OSC2 是系统时钟四分
频的输出口。系统时钟也可以选择为 RTC 振荡;如果选
择 RTC 振荡作为系统时钟,则这两个引脚可以空接。
INT0、INT1
、 TMR0、TMR1
Rev. 1.20 5 2008-09-17
HT49RV9/HT49CV9
直流电气特性
直流电气特性 Ta=25℃
直流电气特性 直流电气特性
测试条件
测试条件
符号
符号 参数
符号 符号
VDD
VEE
I
DD1
I
DD2
I
DD3
I
DD4
I
STB1
I
STB2
工作电压
VFD 电源电压 —
工作电流(晶体振荡)
工作电流(RC 振荡)
工作电流
(f
=32768Hz)
SYS
工作电流
(晶体振荡 )
静态电流
(*fS=T1)
静态电流
(*fS=32768Hz 振荡 )
参数
参数 参数
V
DD
—
—
3V
5V
3V
5V
3V
5V
3V
5V
3V
5V
3V
5V
测试条件 测试条件
条件
条件
条件 条件
f
=4MHz 2.2
SYS
f
=8MHz 3.3
SYS
—
无负载,ADC 关闭,
VFD 关闭,f
SYS
=4MHz
无负载, ADC 关闭,
VFD 关闭,f
SYS
=4MHz
无负载, ADC 关闭,
VFD 关闭
无负载, ADC 关闭,
VFD 打开,f
SYS
=4MHz
无负载,系统 HALT,
HALT 时 VFD 关闭
无负载,系统 HALT,
HALT 时 VFD 关闭
最小
最小 典型
最小 最小
典型 最大
典型 典型
—
—
0
—
—
—
—
—
—
—
—
—
2 3 mA
5 8 mA
1.8 2.7 mA
4.6 7.5 mA
1.2 2 mA
4 7 mA
4 6 mA
7 15 mA
— —
— —
—
—
4 10 µ A
14 20 µ A
最大 单位
最大 最大
单位
单位 单位
5.5 V
5.5 V
VDD-30
1 µ A
2 µ A
V
IL1
V
IH1
V
IL2
V
IH2
V
LVR
IOL
I
OH1
I
OH2
RPH
VAD
EAD
I
ADC
注:有关“*f S”的具体说明请参阅 WDT 的时钟选择。
输入 / 输出口、TMR 、
的低电平输入电压
INT
输入 / 输出口、TMR 、
的高电平输入电压
INT
低电平输入电压(
高电平输入电压(
低电压复位电压 —
输入/ 输出口灌电流
输入/ 输出口源电流
Segment/Grid 源电流
输入/ 输出口、
和 RMT 上拉电阻
INT1
A/D 输入电压 —
A/D 转换积分非线性误
差
当 A/D 转换器使用时,
电源增加的功耗
INT0
—
—
—
)
—
)
3V
5V
3V
5V
5V VOH=V
3V
、
—
3V
5V
VOL=0.1VDD
VOH=0.9VDD
—
—
—
—
LVR 使能
0
0.8V
0
0.9 V
DD
DD
—
—
—
—
2.7 3.0 3.3 V
6 12
10 25
-2 -4
-5 -8
–2V -15
DD
—
—
—
40 60 80
10 30 50
0
— —
—
— — ±0.5 ±1
—
—
—
1 2 mA
2 4 mA
0.2 V
DD
VDD V
0.4 V
DD
VDD V
—
—
—
—
VDD V
V
V
mA
mA
mA
mA
mA
kΩ
kΩ
LSB
Rev. 1.20 6 2008-09-17
HT49RV9/HT49CV9
交流电气特性
交流电气特性 Ta=25℃
交流电气特性 交流电气特性
测试条件
测试条件
符号
符号 参数
符号 符号
f
SYS1
f
SYS2
系统时钟
系统时钟
(32768Hz 晶体振荡)
参数
参数 参数
V
DD
—
—
—
测试条件 测试条件
条件
条件
条件 条件
最小
最小 典型
最小 最小
2.2V~5.5V 400
3.3V~5.5V 400
2.2V~5.5V
—
典型 最大
典型 典型
—
—
32768
最大 单位
最大 最大
4000 kHz
8000 kHz
—
单位
单位 单位
Hz
f
RTCOSC
f
TIMER
t
WDTOSC
t
RES
t
SST
t
INT
tAD
t
ADC
t
ADCS
注: t
RTC 频率 —
2.2V~5.5V 0
定时器输入频率
(TMR0/TMR1)
看门狗振荡器周期
外部复位低电平脉宽 —
系统启动延迟时间 — 上电或从 HALT 状态唤醒 —
中断脉冲宽度 —
—
3.3V~5.5V 0
—
3V
5V
A/D 时钟周期 —
A/D 转换时间 —
A/D 采样时间 —
=1/f
SYS
SYS
— —
—
—
—
—
—
— —
— —
32768
—
—
—
4000 kHz
8000 kHz
Hz
45 90 180 µ s
32 65 130 µ s
1
1
1
— —
1024
— —
— —
76
32
—
—
—
µ s
t
SYS
µs
µs
tAD
tAD
Rev. 1.20 7 2008-09-17
HT49RV9/HT49CV9
系统功能说明
系统功能说明
系统功能说明 系统功能说明
指令执行时序
指令执行时序
指令执行时序 指令执行时序
单片机的系统时钟由晶体振荡器或 RC 振荡器和 32768Hz 的晶体振荡器产生。该时钟在芯片内部被分
成四个互不重叠的时钟周期。一个指令周期包括四个系统时钟周期。
指令的读取和执行是以流水线方式进行的, 这种方式在一个指令周期进行读取指令操作,而在下一个
指令周期进行解码与执行该指令。因此,这种流水线的结构保证指令能在一个周期内被有效的执行。但如
果渉及到的指令要改变程序计数器的值,如子程序的调用或跳转,在这种情况下就需要花两个指令周期来
完成这一条指令。
S y s t e m C l o c k
O S C 2 ( R C o n l y )
T 1 T 2 T 3 T 4 T 1 T 2 T 3 T 4 T 1 T 2 T 3 T 4
P C
P C P C + 1 P C + 2
F e t c h I N S T ( P C )
E x e c u t e I N S T ( P C - 1 )
F e t c h I N S T ( P C + 1 )
E x e c u t e I N S T ( P C )
F e t c h I N S T ( P C + 2 )
E x e c u t e I N S T ( P C + 1 )
指令执行时序
指令执行时序
指令执行时序 指令执行时序
程序计数器
程序计数器 —— —— PC
程序计数器 程序计数器
13 位的程序计数器(PC) 控制程序存储器 ROM 中指令执行的顺序,它可寻址整个 ROM 范围的 8192 个
地址。
取得指令码以后,程序计数器会自动加一,指向下一个指令码的地址。但如果执行跳转、条件跳跃、
向 PCL( 程序计数器低字节寄存器)赋值、子程序调用、初始化复位、中断或子程序返回等操作时,PC 会载
入与指令相关的地址而非下一条指令地址。
程序计数器
程序计数器
模式
模式
模式 模式
初始化复位
外部中断 0
外部中断 1
定时/计数器 0 溢出
定时/计数器 1 溢出
串行接口中断
多功能中断
*12 *11 *10 *9 *8 *7 *6 *5 *4 *3 *2 *1 *0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 1 0 1 0 0
0 0 0 0 0 0 0 0 1 1 0 0 0
条件跳跃
装载 PCL
跳转,子程序调用
子程序返回
注: *12 ~ *0 :程序计数器位 S12~ S0 :堆栈寄存器位
#12 ~ #0 :指令代码位 @7 ~ @0 :PCL 位
*12 *11 *10 *9 *8 @7 @6 @5 @4 @3 @2 @1 @0
#12 #11 #10 #9 #8 #7 #6 #5 #4 #3 #2 #1 #0
S12 S11 S10 S9 S8 S7 S6 S5 S4 S3 S2 S1 S0
程序计数器
程序计数器
程序计数器 程序计数器
程序计数器 程序计数器
Program Counter+2
当遇到条件跳跃指令且符合条件时,当前指令执行过程中读取的下一条指令会被丢弃,取而代之的是
一个空指令周期,随后才能取得正确的指令。反之,就会顺序执行下一条指令。
程序计数器的低字节(PCL) 是一个可读写的寄存器(06H) 。对 PCL 赋值将产生一个短跳转动作,跳转的
范围为当前页 256 个地址。当遇到控制转移指令时,系统也会插入一个空指令周期。
Rev. 1.20 8 2008-09-17
HT49RV9/HT49CV9
程序存储器
程序存储器
程序存储器 程序存储器
程序存储器用来存放要执行的指令代码,以及一些数据、表格和中断入口。程序存储器有 16384×16 位。
程序计数器为 13 位,所以程序存储器空间可以用程序计数器进行直接寻址而不需要切换程序区(bank)。
ROM bank0 的范围是: 0000H~1FFFH (BP=000XXXXXB), ROM bank1 的范围是: 2000H~3FFFH
(BP=001XXXXXB)。
以下列出的程序存储器地址是系统专为特殊用途而保留的:
· 地址 000H
该地址为程序初始化保留。系统复位后,程序总是从 000H 开始执行。
· 地址 004H
该地址为外部中断 0 服务程序保留。当
会跳转到 004H 地址开始执行。
· 地址 008H
该地址为外部中断 1 服务程序保留。当
发信号输入,如果中断允许且堆栈未满,则程序会跳转到
008H 地址开始执行。
· 地址 00CH
该地址为定时/ 计数器 0 中断服务程序保留。当定时/
计数器 0 溢出,如果中断允许且堆栈未满,则程序会跳转
到 00CH 地址开始执行。
· 地址 010H
该地址为定时/ 计数器 1 中断服务程序保留。当定时/
计数器 1 溢出,如果中断允许且堆栈未满,则程序会跳转
到 010H 地址开始执行。
· 地址 014H
该地址为串行接口中断服务程序保留。当从串行接口
成功接收或发送 8 位数据时,如果中断允许且堆栈未满,
则程序会跳转到 014H 地址开始执行。
· 地址 018H 程序存储器
该地址为多功能中断服务程序保留。如果实时时钟
中断发生,或者 RMT 输入引脚有上升沿或下降沿,或 RMT 溢出,如果相关中断允许且堆栈未满,则程序
会跳转到 018H 地址开始执行。
· 表格区
ROM 空间的任何地址都可做为查表使用。查表指令“TABRDC [m]”(查当前页表格,1 页=256 个字)
和“TABRDL [m]”(查最后页表格),会把表格内容低字节传送给[m],而表格内容高字节传送到 TBLH 寄
存器(08H)。只 有表格 内容的低字节被传送到目标地址中, 而高字节被传送到表格内容高字节寄存器
TBLH(08H),并且 TBLH 的最高位始终为“0”。表格内容高字节寄存器 TBLH是只读寄存器。表格指针(TBLP)
是可读/写寄存器(07H),用来指明表格地址。在查表之前,要先将表格地址写入 TBLP 中。所有与表格有
关的指令都需要两个指令周期的执行时间。这里提到的表格区都可以根据需要做为正常的程序存储器来使
用。
指令
指令
指令 指令
*12 *11 *10 *9 *8 *7 *6 *5 *4 *3 *2 *1 *0
TABRDC[m] P12 P11 P10 P9 P8 @7 @6 @5 @4 @3 @2 @1 @0
TABRDL[m] 1 1 1 1 1 @7 @6 @5 @4 @3 @2 @1 @0
引脚有触发信号输入,如果中断允许且堆栈未满,则程序
INT0
引脚有触
表格区
表格区
表格区 表格区
0 0 0 H
0 0 4 H
0 0 8 H
0 0 C H
0 1 0 H
0 1 4 H
0 1 8 H
n 0 0 H
n F F H
1 F F F H
表格区
表格区
表格区 表格区
D e v i c e i n i t i a l i z a t i o n p r o g r a m
E x t e r n a l i n t e r r u p t 0 s u b r o u t i n e
E x t e r n a l i n t e r r u p t 1 s u b r o u t i n e
T i m e r / e v e n t c o u n t e r 0 i n t e r r u p t s u b r o u t i n e
T i m e r / e v e n t c o u n t e r 1 i n t e r r u p t s u b r o u t i n e
S e r i a l I n t e r f a c e I n t e r r u p t
M u l t i - f u n c t i o n I n t e r r u p t
L o o k - u p t a b l e ( 2 5 6 w o r d s )
L o o k - u p t a b l e ( 2 5 6 w o r d s )
1 6 b i t s
N o t e : n r a n g e s f r o m 0 t o 1 F
程序存储器
程序存储器 程序存储器
P r o g r a m
M e m o r y
注: *12 ~ *0 :表格地址位 P12 ~ P8 :当前程序计数器位 @7 ~ @0 :表格指针位
Rev. 1.20 9 2008-09-17
HT49RV9/HT49CV9
堆栈寄存器
堆栈寄存器 —— —— STACK
堆栈寄存器 堆栈寄存器
堆栈寄存器是特殊的存储器空间,用来保存 Program Counter 的
值。此芯片有 16 层堆栈,堆栈寄存器既不是数据存储器的一部分,
也不是程序存储器的一部分,而且它既不能读出,也不能写入。堆栈
的使用是通过堆栈指针(SP)来实现的,堆栈指针也不能读出或写入。
当发生子程序调用或中断响应时,程序计数器(Program Counter)的值
会被压入堆栈;在子程序调用结束或中断响应结束时(执行指令 RET
或 RETI),堆栈将原先压入堆栈的内容弹出,重新装入程序计数器中。
在系统复位后,堆栈指针会指向堆栈顶部。
如果堆栈已满,并且发生了不可屏蔽的中断,那么只有中断请求
标志会被记录下来,而中断响应会被禁止,直到堆栈指针(执行 RET
或 RETI 指令)发生递减,中断才会被响应。这个功能可以防止堆栈溢
出,使得程序员易于使用这种结构。同样,如果堆栈已满,并且发生
了子程序调用,那么堆栈会发生溢出,首先进入堆栈的内容将会丢失,
只有最后的 16 个返回地址会被保留。
数据存储器
数据存储器 —— —— RAM
数据存储器 数据存储器
数据存储器由 810×8 位组成,分为两个功能区间:特殊功能寄
存器(42×8 位)和通用数据存储器(Bank 0,2~4:每个 Bank 包含 192
×8 bits),数据存储器单元大多数是可读/写的,但有些是只读的。特
殊功能寄存器在每个存储区段都是重叠的。
特殊功能寄存器包括间接寻址寄存器 0(00H) ,间接寻址指针寄
存器 0(MP0 :01H) ,间接寻址寄存器 1(02H) ,间接寻址指针寄存器
1(MP1 :03H) ,存储器段指针(BP : 04H),累加器(ACC : 05H),程序
计数器低字节寄存器(PCL:06H),表格指针寄存器(TBLP :07H),表
格内容高字节寄存器(TBLH :08H),RTC 控制寄存器(RTCC:09H),
状态寄存器(STATUS:0AH),中断控制寄存器 0(INTC0:0BH),定
时/ 计数器 0(TMR0H :0CH ;TMR0L :0DH) ,定时/计数器 0 控制寄
存器(TMR0C :0EH),定时/ 计数器 1(TMR1H :0FH,TMR1L:10H),
定时/ 计数器 1 控制寄存器(TMR1C :11H),中断控制寄存器 1(INTC1 :
1EH),串行总 线控制寄存器 (SBCR : 1FH),串行总线数据寄存器
(SBDR: 20H),遥控定时器控制寄存器 (RMTC: 21H),多功能中断
状态寄存器 3 (MFIS: 29H),PWM 数据寄存器 (PWM0 :1AH,PWM1:
1BH,PWM2:1CH,PWM3:1DH),A/D 转换结果低字节寄存器 (ADRL:
24H), A/D 转换结果高字节寄存器 (ADRH: 25H),A/D 控制寄存器
(ADCR: 26H),A/D 时钟设置寄存器 (ADSR: 27H),VFD 控制寄存器
(VFDC: 28H),输入 /输出寄存器 (PA: 12H, PB: 14H, PC: 16H,
PD:18H),输入/输出控制寄存器(PAC:13H,PBC:15H,PCC:17H,
PDC: 19H)。其余在 40H 之前的空间保留给系统以后扩展使用,读
取这些地址的返回值为“00H”。在每一个存储区段(Bank)的 40H 都 数据存储器
是重叠的。而在通用存储寄存器的地址从 40H 到 FFH(Bank0: BP=0,Bank2::BP=2,Bank3:BP=3 或
Bank4:BP=4),用来存储数据和控制信息。
所有的数据存储器单元都能直接执行算术、逻辑、递增、递减和循环操作。除了一些特殊位外,数据
存储器的每一位都可由“SET[m].i ”置位或由“CLR[m].i ”复位。而且都可以通过间接寻址指针(MP0 :
01H/MP1 :03H) 进行间接寻址。
0 0 H
I n d i r e c t A d d r e s s i n g R e g i s t e r 0
0 1 H
0 2 H
I n d i r e c t A d d r e s s i n g R e g i s t e r 1
0 3 H
0 4 H
0 5 H
0 6 H
0 7 H
0 8 H
0 9 H
0 A H
0 B H
0 C H
0 D H
0 E H
0 F H
1 0 H
1 1 H
1 2 H
1 3 H
1 4 H
1 5 H
1 6 H
1 7 H
1 8 H
1 9 H
1 A H
1 B H
1 C H
1 D H
1 E H
1 F H
2 0 H
2 1 H
2 2 H
2 3 H
2 4 H
2 5 H
2 6 H
2 7 H
2 8 H
2 9 H
3 0 H
3 F H
4 0 H
F F H
G e n e r a l P u r p o s e
D a t a M e m o r y
( 1 9 2 B y t e s
数据存储器
数据存储器 数据存储器
M P 0
M P 1
B P
A C C
P C L
T B L P
T B L H
R T C C
S T A T U S
I N T C 0
T M R 0 H
T M R 0 L
T M R 0 C
T M R 1 H
T M R 1 L
T M R 1 C
P A
P A C
P B
P B C
P C
P C C
P D
P D C
P W M 0
P W M 1
P W M 2
P W M 3
I N T C 1
S B C R
S B D R
R M T C
R M T 0
R M T 1
A D R L
A D R H
A D C R
A C S R
V F D C
M F I S
4 B a n k )
´
S p e c i a l P u r p o s e
D a t a M e m o r y
: U n u s e d
R e a d a s " 0 0 "
Rev. 1.20 10 2008-09-17
HT49RV9/HT49CV9
间接寻址寄存器
间接寻址寄存器
间接寻址寄存器 间接寻址寄存器
地址 00H 和 02H 是间接寻址寄存器,并无实际的物理区存在。任何对[00H] 或[02H] 的读/ 写操作,都
是访问由 MP0(01H)MP1(03H) 或所指向的 RAM 单元。间接读取地址 00H 或 02H 得到的值为 00H ,间接写
入此地址,不会产生任何操作。
间接寻址寄存器之间不支持数据传送功能。间接寻址指针 MP0 和 MP1 是 8 位寄存器。MP0 只能用于
寻址数据存储器,而 MP1 能用于寻址数据存储器和 VFD 显示存储器。
累加器
累加器
累加器 累加器
累加器(ACC) 与算术逻辑单元(ALU)有密切关系。它对应于 RAM 地址 05H ,做为运算的立即数据。存
储器之间的数据传送必须经过累加器。
算术逻辑单元
算术逻辑单元 —— —— ALU
算术逻辑单元 算术逻辑单元
算术逻辑单元(ALU) 是执行 8 位算术、逻辑运算的电路,它提供有以下功能:
· 算术运算(ADD ,ADC ,SUB ,SBC,DAA)
· 逻辑运算(AND ,OR ,XOR ,CPL)
· 移位运算(RL ,RR ,RLC ,RRC)
· 递增和递减(INC ,DEC)
· 分支判断(SZ ,SNZ ,SIZ ,SDZ…)
ALU 不仅可以储存数据运算的结果,还会改变状态寄存器的值。
状态寄存器
状态寄存器 —— —— STATUS
状态寄存器 状态寄存器
8 位的状态寄存器(0AH) ,由零标志位(Z) 、进位标志位 (C) 、辅助进位标志位 (AC) 、溢出标志位 (OV) 、
暂停标志位(PDF) 和看门狗定时器溢出标志位(TO)组成。该寄存器不仅记录状态信息,而且还控制操作顺
序。
位位 位位 符号
0 C
1 AC
2 Z
3 OV
4 PDF
5 TO
6~7
符号 功能
符号 符号
功能
功能 功能
如果在加法运算中结果产生了进位或在减法运算中结果不产生借位
则 C 被置位;反之,C 被清除。它也可被循环移位指令影响。
如果在加法运算中低 4 位产生了进位或减法运算中低 4 位不产生借
位,则 AC 被置位;反之,AC 被清除。
如果算术或逻辑运算的结果为零,则 Z 被置位;反之,Z 被清除。
如果运算结果向最高位进位,但最高位并不产生进位输出,则 OV 被
置位;反之,OV 被清除
系统上电或执行“CLR WDT”指令,PDF 被清除;执行“HALT”指
令,PDF 被置位。
系统上电、执行“CLR WDT”或“HALT”指令,TO 被清除;WDT
定时溢出,TO 被置位。
— 未用,读出为“0”
STATUS (((( 0AH ))))寄存器
寄存器
寄存器 寄存器
除了 PDF 和 TO 标志外,状态寄存器的其它位都可以用指令改变。任何对状态寄存器的写操作都不会
改变 PDF 和 TO 的值。对状态寄存器的操作可能会导致与预期不一样的结果。TO 标志只受系统上电、看
门狗溢出、“CLR WDT”指令或“HALT”指令的影响。PDF 标志只受系统上电、“CLR WDT”指令或“HALT”
指令的影响。标志位 Z、OV、AC 和 C 反映的是最近一次操作的状态。
在进入中断程序或子程序调用时,状态寄存器不会被自动压入堆栈。如果状态寄存器的内容是重要的,
而且子程序会影响状态寄存器的内容,那么程序员必须事先将 STATUS 的值保存好。
Rev. 1.20 11 2008-09-17
HT49RV9/HT49CV9
中断
中断
中断 中断
HT49RV9/HT49CV9 提供两个外部中断、两个内部定时/ 计数器中断、三个遥控定时器中断、一个内部
实时时钟中断和串行接口中断。中断控制寄存器 0(INTC0 :0BH)和中断控制寄存器 1(INTC1:1EH)包含了
中断控制位和中断请求标志,中断控制位用来设置中断允许/ 禁止。
位位 位位 符号
符号
符号 符号
0 EMI
1 EEI0
2 EEI1
3 ET0I
4 EIF0
5 EIF1
6 T0F
7
位位 位位 符号
符号
符号 符号
0 ET1I
1 ESII
2 EMFI
总中断控制位(1=允许;0=禁止)
外部中断 0 控制位(1=允许;0=禁止)
外部中断 1 控制位(1=允许;0=禁止)
定时/计数器 0 中断控制位(1=允许;0=禁止)
外部中断 0 请求标志(1=有;0=无)
外部中断 1 请求标志(1=有;0=无)
定时/计数器 0 中断请求标志(1=有;0=无)
— 未使用,读出为“0”
INTC0 (((( 0BH ))))寄存器
定时/计数器 1 中断控制位(1=允许;0=禁止)
串行接口中断控制位(1=允许;0=禁止)
多功能中断控制位(1=允许;0=禁止)
3,7 — 未用,读出为“0”
4 T1F
5 SIF
6 MFF
定时/计数器 1 中断请求标志(1=有;0=无)
串行总线数据发送或接收中断请求标志
(1=有;0=无)
多功能中断请求标志(1=有;0=无)
INTC1 (((( 1EH ))))寄存器
功功 功功 能能 能能
寄存器
寄存器 寄存器
功功 功功 能能 能能
寄存器
寄存器 寄存器
只要有中断子程序被服务,其余的中断全部都被自动禁止(通过清除 EMI 位),这种做法的目的在于防
止中断嵌套。这时如果有其它中断发生,只有中断请求标志会被记录下来。如果在中断服务程序中有另一
个中断需要响应,程序员可以置位 EMI、INTC0 和 INTC1 所对应的位,以便进行中断嵌套。如果堆栈已
满,则中断并不会被响应,一直到堆栈指针(SP)发生递减后才会响应。如果需要中断立即得到响应,应避
免堆栈饱和。
所有的中断都具有唤醒能力。当有中断被服务,系统会将程序计数器的内容压入堆栈,然后再跳转至
中断服务程序的入口。但这时只有程序计数器的内容被压入堆栈,如果其它寄存器和状态寄存器(STATUS)
的内容会被中断程序改变,从而会破坏主程序的控制流程的话,程序员应该事先将这些数据保存起来。
外部中断是由
INT0
或
引脚电平变化触发的(可由掩膜设置为上升沿触发、下降沿触发或两者皆可
触发),其中断请求标志位(EIF0/EIF1;INTC0 的第 4、5 位)会被置位。如果中断允许,且堆栈未满,将调
用位于地址 04H/08H 的子程序;而中断请求标志 EIF0/EIF1 和总中断控制位 EMI 会被清除,以禁止其它中
断响应。
内部定时/计数器 0 中断是由定时/计数器 0 溢出触发的,其中断请求标志(T0F;INTC0 的第 6 位)会被
置位。如果中断允许,堆栈未满,且 T0F 置位,将调用位于地址 0CH 的子程序;而中断请求标志 T0F 和
总中断控制位 EMI 会被清除,以禁止其它中断响应。内部定时/计数器 1 的运作方式与之相同,相关的中
断请求标志位是 T1F(INTC1 的第 4 位),而它的子程序调用的地址是 10H。
串行接口中断是由从串行接口完整的收到或传送 8 位数据触发的,其中断请求标志(SIF ;INTC1 的第
5 位 )会被置位。如果中断允许,堆栈未满,且 SIF 置位,将调用位于地址 14H 的子程序;而中断请求标志
SIF 和总中断控制位 EMI 会被清除,以禁止其它中断响应。
Rev. 1.20 12 2008-09-17
HT49RV9/HT49CV9
多功能中断是由实时时钟溢出、 RMT 的上升沿、 RMT 下降沿或 RMT 溢出触发的,其中断请求标志
(MFF; INTC1 的第 6 位 )会被置位。如果中断允许,堆栈未满,且 MFF 置位,将调用位于地址 18H 的子
程序;而中断请求标志位 MFF 和总中断控制位 EMI 会被清除,以禁止其它中断响应。
位位 位位 符号
0
1 ERMT0
2 ERMT1
3 ERMTV
4 RME
5 RMCS
6
7
符号 功功 功功 能能 能能
符号 符号
— 未用,读出为“0”
遥控定时器上升沿中断控制位(1=允许;0=禁止)
遥控定时器下降沿中断控制位(1=允许;0=禁止)
遥控定时器溢出中断控制位(1=允许;0=禁止)
遥控定时器控制位(1=允许;0=禁止)
1=使能并开始计数; 0=禁止并清零计数器
RMS0
RMS1
遥控定时器时钟源 f x选择位(1=f
遥控定时器时钟选择位
5
00=fx/2
6
01=fx/2
7
10=fx/2
SYS
11=fx/28
RMTC (((( 21H ))))寄存器
寄存器
寄存器 寄存器
;0= f
SYS
/4)
位位 位位 符号
0 RMTVF
1 RTF
2 RMT0F
3 RMT1F
4 ERTI
5~7
符号 功功 功功 能能 能能
符号 符号
遥控定时器溢出中断请求标志(1=有;0=无)
实时时钟中断请求标志(1=有;0=无)
遥控定时器上升沿中断请求标志(1=有;0=无)
遥控定时器下降沿中断请求标志(1=有;0=无)
实时时钟中断控制位(1=允许;0=禁止)
— 未用,读出为“0”
MFIS (((( 29H ))))寄存器
寄存器
寄存器 寄存器
在执行中断子程序期间,其它的中断请求会被屏蔽,直到执行 RETI 指令或 EMI 和相关中断控制位被
置位(当然,此时堆栈未满)。如果要从中断子程序返回,只要执行 RET 或 RETI 指令即可。其中,RETI
指令会自动置位 EMI,以允许中断服务,而 RET 则不会。
如果中断在两个连续的 T2 脉冲的上升沿之间发生,且中断响应允许,那么在下两个 T2 脉冲之间,
该中断会被服务。如果同时发生中断请求,其优先级如下表示;这些中断都可以通过清除 EMI 位来进行屏
蔽。
中断源
中断源 优先级
中断源 中断源
外部中断 0
外部中断 1
定时/计数器 0 中断
定时/计数器 1 中断
串行接口中断
多功能中断
优先级 中断向量
优先级 优先级
中断向量
中断向量 中断向量
1 04H
2 08H
3 0CH
4 10H
5 14H
6 18H
RMT 溢出中断请求标志 (RMTVF:MFIS 第 0 位 )、实时时钟中断请求标志(RTF:MFIS 第 1 位 )、RMT
上升沿中断请求标志(RMT0F:MFIS 第 2 位)和 RMT 下降沿中断请求标志(RMT1F:MFIS 第 3 位)指示相
关中断已发生。读取这些标志位不会使其自动清零,而需要用户清零。
串行接口中断由中断标志(SIF:INTC1 第 5 位)来指示,它是由 HT49RV9/HT49CV9 和一个外围器件之
间收到或发送一个整 8 位的数据而产生。如果中断使能(ESII 被置位:INTC1 第 1 位),且堆栈未满,将调
用位于地址 14H 的子程序。
Rev. 1.20 13 2008-09-17
HT49RV9/HT49CV9
中断控制寄存器 0(INTC0) 由定时/ 计数器 0 中断请求标志(T0F) 、外部中断 1 请求标志(EIF1) 、外部中
断 0 请求标志(EIF0) 、定时/ 计数器 0 中断允许(ET0I) 、外部中断 1 允许(EEI1) 、外部中断 0 允许(EEI0) 和总
中断允许(EMI) 组成,其对应于数据存储器地址 0BH 。
中断控制寄存器 1(INTC1) 由多功能中断申请标志(MFF) 、串行接口中断申请标志(SIF) 、定时/ 计数器 1
中断请求标志(T1F) 、多功能中断使能(EMFI) 、串行接口中断使能位(ESII) 和定时/计数器 1 中断允许(ET1I)
组成,其对应于数据存储器地址 1EH 。
遥控定时器控制寄存器 RMTC 由遥控定时器上升沿中断允许(ERMT0) 、遥控定时器下降沿中断允许
(ERMT1)、遥控定时器溢出中断允许(ERMTV)、遥控定时器启动计数允许(RME)、遥控定时器时钟源选择
(RMCS)和遥控定时器时钟选择(RMS0、 RMS1) 组成,其对应于数据存储器地址 21H。
EMI、 EEI0、EEI1、 ET0I、ET1I、 ESII、ERTI、 EMFI、ERMT0 和 ERMT1 用来控制中断的允许 /禁止
状态的。这些控制位可以用来屏蔽正在进行中断服务程序时发生的其它中断请求。一旦中断请求标志 (MFF、
SIF、 T0F、 T1F、 EIF0、 EIF1)被置位,会一直保留在 INTC0 和 INTC1 寄存器中,直到中断被响应或用软
件指令清除为止。
建议不要在中断服务程序中使用“CALL ”指令来调用子程序。因为中断通常发生在不可预料的情况
或需要立刻执行的某些应用。如果只剩下一层堆栈,而中断不能被很好地控制,原先的控制序列很可能因
为在中断子程序中执行“CALL”指令而使堆栈溢出,从而发生混乱。
振荡电路
振荡电路
振荡电路 振荡电路
HT49RV9/HT49CV9 有三种振荡方式可以做为系统时钟:外部 RC 振荡、外部晶体振荡和外部 32768Hz
晶体振荡,可以通过掩膜选项设定。HALT 模式会停止系统振荡器(当选择外部 RC 振荡或外部晶体振荡时),
并忽视任何外部信号以降低功耗。但是 32768Hz 的晶体振荡在 HALT 模式下仍会继续作用。如果选择
32768Hz 振荡做为系统振荡,在 HALT 模式下系统振荡不会停止,但是指令会停止运行。32768Hz 的晶体
振荡还可以做为内部计数器的时钟源,即使进入 HALT 模式,这些计数器(RTC、WDT)还会继续作用。
V
D D
O S C 3
O S C 4
3 2 7 6 8 H z C r y s t a l / R T C O s c i l l a t o r
O S C 1
O S C 2
C r y s t a l O s c i l l a t o r R C O s c i l l a t o r
4 7 0 p F
O S C 1
V
D D
/ 4
f
S Y S
O S C 2
系统振荡器
系统振荡器
系统振荡器 系统振荡器
注: *32768 晶振选用条件:作 WDT 时钟源或系统时钟源。
如果选用外部 RC 振荡方式,在 OSC1 与 VSS 之间需要接一个外部电阻,其阻值为 24kΩ 到 1MΩ ;而
OSC2 上若接上拉电阻会输出系统频率的 4 分频信号,可用于同步外部逻辑。 RC 振荡方式是一种低成本的
方案,但是,RC 振荡频率会随着 VDD、温度和芯片自身参数的漂移而产生误差。因此,在需要精确振荡
频率做为计时操作的场合,并不适合使用 RC 振荡方式。
如果选用晶体振荡方式,在 OSC1 和 OSC2 之间需要连接一个晶体,用来提供晶体振荡器所需的反馈
和相移,除此之外,不再需要其它外部元件。另外,在 OSC1 和 OSC2 之间也可使用谐振器来取代晶体振
荡器,但是在 OSC1 和 OSC2 需要多连接两个电容。
另外还有一个专为实时时钟设计的振荡电路。如果使用 RTC 振荡,那么只要在 OSC3 与 OSC4 之间接
一个 32768Hz 的晶体,不需要其它外部器件。
RTC 振荡器可以通过“QOSC”(RTCC 的第 4 位)设置快速起振。建议在系统上电时开启快速振荡,并
在 2 秒钟后关闭。
WDT 振荡是一个独立的内置振荡电路,不需要外接器件。当系统进入省电模式,系统振荡会停止,
但 WDT 振荡会继续作用,在 5V 条件下其振荡周期一般为 65µ s 。WDT 振荡器可以由掩膜选项设置为关闭
来减少功耗。
Rev. 1.20 14 2008-09-17
HT49RV9/HT49CV9
看门狗定时器
看门狗定时器 —— —— WDT
看门狗定时器 看门狗定时器
WDT 的时钟来源可由掩膜选项设置为内部 RC 振荡(WDT 振荡器)、指令时钟(系统时钟 4 分频)或实
时时钟振荡(RTC 振荡)。WDT 主要用来防止程序运行故障和程序跳入一死循环而导致不可预测的结果。
WDT 可由掩膜选项设置为打开或关闭,如果在关闭状态,所有与 WDT 有关的指令操作都是没有作用的。
S y s t e m C l o c k / 4
R T C
3 2 7 6 8 H z
O S C
C o n f i g u r a t i o n
O p t i o n
W D T
O S C
如果 WDT 时钟源为内部 WDT 振荡 (在 5V 条件下, RC 振荡周期一般为 65µ s) ,该频率可再经过
212~215(由掩膜选项设置 )的分频。最小的 WDT 溢出周期大约是 300mS~600mS。但溢出时间会因为温度、
VDD 以及芯片参数的变化而变化。如果再用 WDT 预分频器,则可以得到更长的溢出周期。如果 WDT 的
溢出时间选为 2 15分频,最大的溢出时间可达到 2.1s ~4.3s( 分频系数为 2 15~216)。
如果 WDT 的时钟源为指令时钟,则在 HALT 状态时,WDT 会停止计数而失去保护功能;此时只能
靠外部逻辑复位来重新启动系统。如果系统运用在强干扰的环境中,建议选用内部 WDT 振荡器,因为 HALT
模式会使系统时钟停止,看门狗也就失去了保护的功能。
在正常运行时,WDT 溢出会使系统复位并置位 TO 标志;但在 HALT 模式下,WDT 溢出只产生“热
复位”,只有程序计数器和堆栈指针 SP 被复位。要清除 WDT 的值可以有三种方法:外部复位(低电平输入
到
端)、清除看门狗指令或 HALT 指令。清除看门狗指令有“CLR WDT”和“CLR WDT1”、“CLR WDT2 ”
RES
二组指令。这两组指令中,只能选择其中一组,由掩膜选项决定。如果选择“CLR WDT”,那么只要执行
“CLR WDT” 指令就会清除 WDT。如果选择“CLR WDT1”和“CLR WDT2”,那么二条指令要交替使
用才会清除 WDT,否则,WDT 会由于溢出而使系统复位。
1 2 k H z
f
S
C o n f i g u r a t i o n
O p t i o n
f
W D T
D i v i d e r
看门狗定
看门狗定时器
看门狗定 看门狗定
时器
时器 时器
f
W D T
8
/ 2
W D T
P r e s c a l e r
M a s k O p t i o n
W D T C l e a r
C K TRC K T
R
T i m e - o u t R e s e t
1 5
1 6
/ fS~ 2
/ f
2
1 4
2
1 3
2
1 2
2
/ fS~ 2
/ fS~ 2
/ fS~ 2
S
1 5
/ f
S
1 4
/ f
S
1 3
/ f
S
多功能定时器
多功能定时器
多功能定时器 多功能定时器
f
S
HT49RV9/HT49CV9 为 WDT 和RTC 提供了具有不同溢出周期的多功能
定时器。多功能定时器由一个 8 级分频器和一个 7 位预分频器组成。其时钟
源可以是 RTC OSC 或指令时钟(系统时钟四分频)。多功能定时器还为 VFD
驱动电路提供可选择的频率信号(范围从 fs/2 0~fs/2 7),并为蜂鸣器输出电
路提供可选择的频率信号(范围从 fs/2 1~fs/2 8),频率由掩膜选项决定。,建
D i v i d e r
R O M C o d e O p t i o n
V F D D r i v e r ( fS/ 20~ fS/ 27)
B u z z e r ( f
/ 21~ fS/ 28)
S
P r e s c a l e r
议选择 32kHZ 左右的信号作为 VFD 驱动信号来获得好的显示效果。
实时时钟
实时时钟 —— —— RTC
实时时钟 实时时钟
实时时钟(RTC)用来提供一个有规律的内部中断。它的溢出周期范围为 fs/2 8~fs/2 15,可通过软件编程
实现。写数据到 RT2 、RT1 和 RT0(RTCC 的第 2、1、0 位;09H)将产生各种溢出周期。当 RTC 发生溢
出并且中断允许时,其中断请求标志(RTF;MFIS 第 1 位)会被置位。
f
S
D i v i d e r
R T 2
R T 1
R T 0
实时时钟
实时时钟
实时时钟 实时时钟
P r e s c a l e r
8 t o 1
M u x .
1 5
28/ f
~ 2
/ f
S
S
R T C I n t e r r u p t
Rev. 1.20 15 2008-09-17