HOLTEK HT48C062

HT48R062/HT48C062
经济型输入/输出八位单片机
盛群知识产权政策
专利权
盛群半导体公司在全球各地区已核准和申请中之专利权至少有 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  2006 by HOLTEK SEMICONDUCTOR INC.
规格书中所出现的信息在出版当时相信是正确的,然而盛群对于规格内容的使用不负责任。文中提到
的应用其目的仅仅是用来做说明,盛群不保证或不表示这些应用没有更深入的修改就能适用,也不推
荐它的产品使用在会由于故障或其它原因可能会对人身造成危害的地方。盛群产品不授权使用于救
生、维生器件或系统中做为关键器件。盛群拥有不事先通知而修改产品的权利,对于最新的信息,请
参考我们的网址 http://www.holtek.com.tw; http://www.holtek.com.cn
Rev.1.20
1
2008-4-18
HT48R062/HT48C062
技术相关信息
·
·
·
工具信息
FAQs
应用范例
-HA0003S HT48 & HT46 MCU 与 HT93LC46 的通信
-HA0013S HT48 & HT46 MCU LCM 接口设计
-HA0016S HT48 MCU 读写 HT24 系列 EEPROM 的应用范例
-HA0075S MCU 重置电路及振荡电路应用
-HA0126S HT48R062 在镍氢、镍镉电池充电器中的应用
特性
·
·
·
·
·
·
·
工作电压:
fSYS = 4MHz :2.2V – 5.5V
fSYS = 8MHz :3.3V – 5.5V
11 个双向输入/输出口
内置晶体和 RC 振荡电路
看门狗定时器
1K×14 程序存储器 ROM
32×8 数据存储器 RAM
HALT 和唤醒功能可降低功耗
·
·
·
·
·
·
·
·
63 条强大的指令
在 VDD=5V,系统时钟为 8MHz 时,
指令周期为 0.5 µs
所有指令在 1 或 2 个指令周期内完成
查表指令,表格内容字长 14 位
1 层硬件堆栈
位操作指令
低电压复位功能
16-pin DIP/NSSOP 封装
概述
HT48R062/HT48C062 是一款八位高性能精简指令集单片机,专为经济型多输入输出控制的产品设
计。掩膜版芯片 HT48C062 在引脚和功能方面都与 OTP 版芯片 HT48R062 完全相同。
拥有低功耗、I/O 口稳定性高、振荡选择、省电和唤醒功能、看门狗定时器、以及低价位等优势,
使此款多功能芯片可以广泛地适用于各种应用,例如工业控制、消费类产品、子系统控制器等。
Rev.1.20
2
2008-4-18
HT48R062/HT48C062
方框图
S ta c k
P ro g ra m
C o u n te r
P ro g ra m
In s tr u c tio n
R e g is te r
M
M P
U
D a ta
M e m o ry
X
O S C 2
O S
R E
V D
V S
P A C
S T A T U S
A L U
P A
S h ifte r
P B C
C 1
S
S
P B
D
S y s te m
X
¸ 2
C lo c k /4
W D T O S C
(2 4 k H z )
L V R
M U X
T im in g
G e n e ra to r
U
E N /D IS
H A L T
In s tr u c tio n
D e c o d e r
M
W D T
P o rt A
P o rt B
P A 0 ~ P A 7
P B 0 ~ P B 2
A C C
引脚图
P A 3
1
1 6
P A 4
P A 1
3
1 4
P A 6
P A 2
4
5
O S C 2
1 2
V S S
P B 2
P A 7
1 3
P B 0
P B 1
P A 5
1 5
P A 0
2
6
O S C 1
1 1
7
1 0
8
9
V D D
R E S
H T 4 8 R 0 6 2 /H T 4 8 C 0 6 2
1 6 D IP -A /N S O P -A
引脚说明
引脚名称
输入输出
PA0~PA7
输入/输出
PB0~PB2
输入/输出
掩膜选项
上拉电阻
唤醒功能
VDD
VSS
—
—
上拉电阻
输入/输出
—
—
OSC1
OSC2
输入
输出
晶体振荡
或 RC 振荡
RES
输入
—
说明
双向 8 位输入/输出口。每一位能被掩膜选项设置为唤醒输
入。软件指令确定 CMOS 输出,或带上拉电阻的斯密特触发
输入(由上拉电阻选项确定)。
双向 3 位输入/输出口。软件指令确定 CMOS 输出,或带上
拉电阻的斯密特触发输入(由上拉电阻选项确定)。
正电源。
负电源,接地。
OSC1 和 OSC2 采用 RC 振荡或晶体振荡(由掩膜选项确
定)提供系统时钟。在 RC 方式下 OSC2 是一个系统时钟四
分频的输出口。
斯密特触发复位输入端,低电平有效。
注:所有 PA 口唤醒设置均由掩模选项控制。个别引脚不能被设置为唤醒功能。
极限参数
电源供应电压 ….. VSS -0.3V 至 Vss +6.0V
端口输入电压 .…. Vss -0.3V 至 VDD +0.3V
IOL 总电流…………. ………. ……….150mA
总消耗电流………. ………. …….….500mW
储存温度 ……… -50℃至 125℃
工作温度 ……… -40℃至 85℃
IOH 总电流…………. ……. -100mA
注意:这里只强调额定功率,超过极限参数所规定的范围将对芯片造成损害,无法预期芯片在上述标示范围外的工作状
态,而且若长期在标示范围外的条件下工作,可能影响芯片的可靠性。
Rev.1.20
3
2008-4-18
HT48R062/HT48C062
D.C.特性
特性
Ta=25℃
符号
VDD
IDD1
IDD2
IDD3
ISTB1
ISTB2
VIL1
VIH1
VIL2
VIH2
VLVR
参数
工作电压
工作电流
(晶体振荡)
工作电流
(RC 振荡)
工作电流
(晶体振荡,RC 振荡)
静态电流
(看门狗打开)
静态电流
(看门狗关闭)
输入/输出口低电平输
入电压,
输入/输出口高电平输
入电压,
低 电 平 输 入 电 压
( RES )
高 电 平 输 入 电 压
( RES )
低电压复位
IOL
输入/输出口灌电流
IOH
输入/输出口源电流
RPH
上拉电阻
VDD
—
—
3V
5V
3V
5V
5V
3V
5V
3V
5V
测试条件
条件
fSYS =4MHZ
fSYS =8MHZ
无负载
fSYS =4MHZ
无负载
fSYS =4MHZ
无负载
fSYS =8MHZ
无负载
暂停模式
无负载
暂停模式
最小
典型
最大
单位
2.2
3.3
—
—
—
—
—
—
0.6
2
0.8
2.5
5.5
5.5
1.5
4
1.5
4
V
V
mA
—
4
8
mA
—
—
—
—
—
—
—
—
5
10
1
2
μA
—
0
—
0.3VDD
V
—
—
0.7VDD
—
VDD
V
—
—
0
—
0.4VDD
V
—
—
0.9VDD
—
VDD
V
—
3V
5V
3V
5V
3V
5V
LVR 打开
2.7
4
10
-2
-5
20
10
3
8
20
-4
-10
60
30
3.3
—
—
—
—
100
50
V
VOL=0.1VDD
VOH=0.9VDD
—
参数
系统时钟(晶体振
荡)
系 统 时 钟 ( RC 振
荡)
测试条件
VDD
条件
2.2V~5.5V
3.3V~5.5V
2.2V~5.5V
3.3V~5.5V
tWDTOSC
看门狗振荡器周期
tRES
外部复位低电平脉宽
tSST
系统启动延时周期
-
fSYS2
tLVR
低电压复位周期
备注: tSYS=1/fSYS
Rev.1.20
mA
mA
kΩ
Ta=25℃
—
—
—
—
3V
5V
-
fSYS1
μA
—
A.C.特性
特性
符号
mA
-
—
-
上电或从
HALT 模式唤
醒
-
4
最小
典型
最大
单位
400
400
400
400
22
16
1
—
—
—
—
45
32
-
4000
8000
4000
8000
90
64
-
-
1024
-
tSYS
0.25
1
2
ms
kHZ
kHZ
μs
μs
2008-4-18
HT48R062/HT48C062
系统功能说明
指令系统
系统时钟由晶体/陶瓷振荡器或 RC 振荡器产生。系统内部对此频率进行四分频,产生四个不重叠的
时钟周期。一个指令周期包括四个系统时钟周期。
S y s te m
C lo c k
T 1
T 2
T 3
T 4
T 1
T 2
T 3
T 4
T 1
T 2
T 3
T 4
In s tr u c tio n C y c le
P C
P C
P C + 1
F e tc h IN S T (P C )
E x e c u te IN S T (P C -1 )
F e tc h IN S T (P C + 1 )
E x e c u te IN S T (P C )
P C + 2
F e tc h IN S T (P C + 2 )
E x e c u te IN S T (P C + 1 )
操作流程
指令读取与执行是以流水线方式来进行的。这种方式允许在一个指令周期进行读取指令操作,而在
下一个指令周期里进行解码与执行该指令。这种流水线方式能在一个指令周期里有效地执行一个指令。
但是,如果指令是要改变程序计数器,就需要花两个指令周期来完成这一条指令。
程序计数器(
)
程序计数器(PC)
10bit 的程序计数器控制存放在程序存储器中的要被执行的指令序列。程序计数器可寻址程序存储
器最大 1024 个地址。
通过访问一个程序存储单元来取出指令代码后,PC 的值便会加 1。然后程序计数器便会指向下一
条指令代码所在的程序存储单元。
当执行一条跳转指令,条件跳转指令,装载 PCL 寄存器,子程序调用,初始复位或从一个子程序
返回,PC 会通过装载相应的地址来执行程序转移。
通过指令实现条件跳转,一旦条件满足,那么在当前指令执行期间取出的下一条指令会被放弃,而
替代它的是一条空指令周期(dummy cycle)来获取正确的指令,接着就执行这条指令。否则就执行下一条
指令。程序计数器的低位字节(PCL;06H)是可读写的寄存器。将数据赋值到 PCL 会执行一个短跳
转。这种跳转只能在 256 个地址范围内。当一个控制转移发生时,系统也会插入一个空指令周期。
模
式
初始化复位
条件跳转
装载 PCL
跳转,子程序调用
从子程序返回
*9
0
*8
0
*9
#9
S9
*8
#8
S8
程序计数器
*6
*5
*4
*3
0
0
0
0
Program Counter+2
@7 @6 @5 @4 @3
#7
#6
#5
#4
#3
S7
S6
S5
S4
S3
*7
0
*2
0
*1
0
*0
0
@2
#2
S2
@1
#1
S1
@0
#0
S0
程序计数器
注意:*9 ~ *0 :程序计数器位
#9 ~ #0 :指令代码位
Rev.1.20
S9 ~ S0 :堆栈寄存器位
@7 ~ @0:PCL 位
5
2008-4-18
HT48R062/HT48C062
程序存储器(
)
程序存储器(ROM)
程序存储器被用来存放要执行的指令代码还包括数据。一共为 1024×14 位。可以由程序计数器或
表格指针来寻址。
在程序存储器中某几个地址被保留作为特殊用途:
· 地址 000H
此地址保留给程序初始化之用。当系统复位时,程序会从 000H 地址开始执行。
· 表格区
程序存储器内的任何地址都可被用来作为查表使用。查表指令为 TABRDC [m] 与 TABRDL [m]。
TABRDC [m]是查表当前页的数据 [ 1 页=256 个字 ( word )]。TABRDL [m]是查表最后一页的数据。[m]
为数据被存放的地址。 [m] 为数据存放的地址。在执行 TABRDC [m]指令后,将会传送当前页的一个
字的低位字节到[m],而这个字的高位字节传送到 TBLH(08H)。只有表格中的低位字节被送到目标地
址中,而表格中的高位字节的其它位被传送到 TBLH 的低部位,剩余的二位作为 0 读出。TBLH 为只读
寄存器。而表格指针( TBLP ;07H)是可以读写的寄存器,用来指明表格地址。在访问表格以前,通
过对 TBLP 寄存器赋值来指明表格地址。TBLH 只能读出而不能存储。查表指令要花两个指令周期来
完成这一条指令的操作。按照用户的需要,这些区域可以作为正常的程序存储器来使用。
0 0 0 H
D e v ic e in itia liz a tio n p r o g r a m
n 0 0 H
L o o k - u p ta b le ( 2 5 6 w o r d s )
n F F H
P ro g ra m
L o o k - u p ta b le ( 2 5 6 w o r d s )
3 F F H
1 4 b its
N o te : n ra n g e s fro m
0 to 3
程序存储器
指令
TABRDC [m]
TABRDL [m]
*9
P9
1
*8
P8
1
*7
@7
@7
*6
@6
@6
表格地址
*5
*4
@5 @4
@5 @4
*3
@3
@3
*2
@2
@2
*1
@1
@1
*0
@0
@0
表格区
注意:
Rev.1.20
@7 ~ @0 :表格指针位
*9 ~ *0:表格地址位
P9~P8 :当前程序计数器位
6
2008-4-18
HT48R062/HT48C062
堆栈寄存器(
)
堆栈寄存器(STACK)
堆栈寄存器(STACK)是一个用来保存 PC 值的特殊存储空间。堆栈有一级组成,堆栈寄存器既不
是数据存储器的一部分,也不是程序存储器的一部分,而且它既不能读出,也不能写入。任何一级堆栈
的使用是由堆栈指针(SP)来确定。堆栈指针也不能读出与写入。一旦发生子程序调用时,程序计数器
(PC)的值会被压入堆栈。在子程序调用结束时, 通过执行一条返回指令(RET),堆栈将原先压入堆
栈的内容弹出,重新装入程序计数器中。在系统复位后,堆栈指针会指向堆栈顶部。
如果堆栈满了接着又执行一个子程序调用(CALL),那么堆栈会产生溢出,而使首先进入堆栈的
内容将会丢失(只有最后的返回地址会被保留着)。
数据存储器(
)
数据存储器(RAM)
数据存储器由 44×8 位组成。它可分成两个功能组:特殊功能寄存器和通用数据存储区 32×8。这
两个功能组的大部分单元可以读写,而某些单元只能读出,不能写 0 0 H
In d ir e c t A d d r e s s in g R e g is te r
0 1 H
入。
M P
特殊功能寄存器包括间接寻址寄存器(00H),间接寻址指针 0 2 H
0 3 H
寄存器(MP;01H),累加器(ACC;05H),PC 低位字节寄存 0 4 H
器(PCL;06H),表格指针寄存器(TBLP ;07H),表格高位字 0 5 H
A C C
节寄存器(TBLH;08H),看门狗寄存器(WDTS;09H),状态 0 6 H
P C L
T B L P
寄存器(STATUS;0AH),输入/输出 寄存器(PA;12H,PB; 0 7 H
0 8 H
T B L H
14H )和输入 / 输出控制寄存器( PAC ; 13H , PBC ; 15H )。 20H 0 9 H
W D T S
以前的剩余单元都被保留为将来进一步扩展使用。读取这些被保留 0 A H
S p e c ia l P u r p o
S T A T U S
D a ta M e m o ry
单元的值,都将返回 00H。通用数据存储器地址 20H-3FH 作为程序 0 B H
0 C H
数据和控制信息使用。
0 D H
所有的 RAM 区单元都能直接执行算术,逻辑,递增,递减和 0 E H
移位等运算。除了某些特殊的位以外,RAM 中的每一位都可以由 0 F H
SET[m].i 和 CLR[m].i 指令来置位和复位。它们都可通过存储 1 0 H
1 1 H
器指针寄存器(MP;01H) 间接寻址来存取。
1 2 H
地址 00H 是作为间接寻址寄存器。它没有实际的物理空间。任
何对 [00H] 的读 / 写操作,都会访问由 MP(01H) 所指向的 RAM 单
元。间接地读取[00H],将会返回 00H,而间接地写入 00H 单元,
则不会产生任何结果。
间接寻址指针 MP 的宽度是 7 位,MP 的第 7 位是没有定义
的。若读它,将返回“1”。而任何对 MP 写的操作只能将低 7 位数
据
传送到 MP。
P A
1 3 H
P A C
1 5 H
1 6 H
P B C
1 4 H
间接寻址寄存器
1 F H
2 0 H
3 F H
P B
: U n u s e d ,
re a d a s "0 0 "
G e n e ra l P u rp o s e
D a ta M e m o ry
(3 2 B y te s )
数据存储器
累加器 (ACC)
)
累加器(ACC)与算术逻辑单元(ALU)紧密联系。它对应于 RAM 的地址 05H,并能与立即数进
行操作,在存储器间的数据传送都必须经过累加器。
Rev.1.20
7
s e
2008-4-18
HT48R062/HT48C062
算术逻辑单元 (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)组成。该寄存器不仅记录状态信息,而且还控
制运算顺序。
除了 TO 和 PDF 以外,状态寄存器中的位都可用指令来改变,这种情况与其它寄存器一样。任何
写到状态寄存器的数据不会改变 TO 或 PDF 标志位。但是与状态寄存器有关的运算会导致状态寄存器
的改变。系统上电,看门狗定时器溢出或执行“CLR WDT”或“HALT”指令,能改变看门狗定时器
溢出标志位(TO)。系统上电,或执行“CLR WDT”或“HALT”指令,能改变暂停标志位(PDF)。
Z,OV,AC 和 C 标志位都反映了当前的运算状态。
位
符号
0
C
1
AC
2
Z
3
OV
4
PDF
5
TO
6~7
—
功
能
在加法运算中结果产生了进位或在减法运算中结果不产生借位,那么 C
被置位;反之,C 被清零。它也可被一个循环移位指令而影响。
在加法运算中低四位产生了进位或减法运算中在低四位不产生借位,
AC 被置位;反之,AC 被清零。
算术运算或逻辑运算的结果为零则 Z 被置位;反之,Z 被清零。
如果运算结果向最高位进位,但最高位并不产生进位输出,那么 OV
被置位;反之,OV 被清零。
系统上电或执行了 CLR WDT 指令,PDF 被清零。执行 HALT 指令
PDF 被置位。
系统上电或执行了 CLR WDT 指令或 HALT 指令,TO 被清零。WDT
溢出,TO 被置位。
未定义,读出为零
状态寄存器(
)
状态寄存器(0AH)
另外,在执行子程序调用时,状态寄存器的内容不会自动压入堆栈。如果状态寄存器的内容是重要
的,而且子程序会改变状态寄存器的内容,那么程序员必须事先将其保存好,以免被破坏。
Rev.1.20
8
2008-4-18
HT48R062/HT48C062
振荡器
通过掩膜选项,可以选择外部晶体振荡或外部 RC 振荡。两者都可作为系统时钟。不管用哪种振荡
器,其信号都支持系统时钟。HALT 模式会停止系统振荡器并
V D D
忽略任何外部信号,由此来节省功耗。
4 7 0 p F
C 1
如果采用 RC 振荡方式,那么在 VDD 与 OSC1 之间要接一
O S C 1
O S C 1
个外部电阻。其阻值范围为 24KΩ~1MΩ。在 OSC2 端可获得
R O S C
C 2
系统时钟四分频信号,它可以用于同步系统外部逻辑。 RC 振
O S C 2
O S C 2
fS Y S /4
R 1
荡器是一种低成本的方案,但是振荡频率由于 VDD,温度及芯
N M O S o p e n d r a in
R C O s c
C r y s ta l O s c illa to r
片自身参量的漂移而产生误差。因此,对计时敏感的场合,要
求精确度高的振荡器频率,RC 振荡器是不适用的。
如果选用晶体振荡方式,在 OSC1 与 OSC2 之间连接一个晶体,用来提供晶体振荡器所要的反馈
(Feedback)和相位位移(Phase Shift)。除此以外,不再需要其他外部元件。另外,在 OSC1 与 OSC2
之间接一个谐振器(Resonator) 来取代晶体振荡器用来得到参考频率。
Rev.1.20
9
2008-4-18
illa to r
HT48R062/HT48C062
看门狗定时器 (WDT)
)
WDT 的时钟源是由一个专用的 RC 振荡器(WDT 振荡器)或是由指令周期(系统时钟 4 分频)来
实现的,由掩膜选项来决定的。WDT 是用来防止程序不正常运行或是跳到未知或不希望去的地址,而
导致不可预见的结果。WDT 可以被掩膜选项禁止。如果 WDT 定时器被禁止,所有与 WDT 有关的操作
都是空操作。
如果设置了内部 WDT 振荡器(以 32us/5V 为周期的 RC 振荡器)的话,WDT 的值会先除以 512
(9 级)来产生大约 17ms/5V 的溢出时间,这个溢出时间会因为温度,VDD 以及芯片参数的变化而变
化。如果启动 WDT 的预分频器,则可实现更长的溢出时间。写数据到 WS2,WS1,WS0 (WDTS 的 2、
1、0 位)会产生不同的溢出时间,举例来说,如果 WS2,WS1,WS0 的值都为 1,其分频级数最大,为
1:128,溢出时间最长约 2.1s/5V。如果 WDT 被禁止,那么 WDT 的时钟来源可来自指令时钟,其运作
与 WDT 振荡器一样。但当在 HALT 状态时,来源于指令时钟的 WDT 会在暂停模式时停止计数并失去
保护功能。在这种情况下,只能由外部逻辑来重新启动系统。WDTS 的高四位及其第 3 位保留给用户定
义标志来使用,程序员可以利用这些标志来指示某些特殊的状态。
S y s te m
C lo c k /4
W D T O S C
(2 4 k H z )
¸ 2
8 - b it C o u n te r
O p tio n
S e le c t
W D T P r e s c a le r
7 - b it C o u n te r
8 -to -1 M U X
W S 0 ~ W S 2
W D T T im e - o u t
看门狗定时器
如果单片机工作在干扰很大的环境中,那么强烈建议使用片内 RC 振荡器(WDT OSC),因为
HALT 模式会使系统时钟终止运作。
在正常运作下,WDT 溢出会使系统复位并设置 TO 状态位。但在 HALT 模式下,溢出只产生一个
“热复位”,只能使 PC 程序计数器和堆栈指针 SP 复位到零。要清除 WDT 的值(包括 WDT 预分频
器)可以有三种方法:外部复位(低电平输入到 RES 端),用软件指令和 HALT 指令三种。软件指令
由 CLR WDT 和另一组指令 CLR WDT1 及 CLR WDT2 组成。这两组指令中,只能选取其中一种。选择
的方式由掩膜选项的 CLR WDT 次数选项决定。如果“CLR WDT”被选择(即 CLR WDT 次数为 1),那
么只要执行 CLR WDT 指令就会清除 WDT。在 CLR WDT1 和 CLR WDT2 被选择的情况下(即 CLR
WDT 次数为 2),那么要执行二条指令才会清除 WDT。否则,WDT 会由于溢出而使系统复位。
WS2
0
0
0
0
1
1
1
1
WS1
0
0
1
1
0
0
1
1
WS0
0
1
0
1
0
1
0
1
分频率
1:1
1:2
1:4
1:8
1:16
1:32
1:64
1:128
看门狗定时器预置寄存器(09H)
看门狗定时器预置寄存器
Rev.1.20
10
2008-4-18
HT48R062/HT48C062
暂停模式(
)
暂停模式(HALT)
暂停模式是由 HALT 指令来实现的,产生如下结果:
·
关闭系统振荡器,但 WDT 振荡器继续工作(如果 WDT 时钟来源是 WDT 振荡器)。
·
RAM 及寄存器的内容保持不变。
·
WDT 被被清除并再次重新计数(如果 WDT 时钟来源是 WDT 振荡器)。
·
所有的输入/输出口都保持其原先状态。
·
PDF 标志位被置位,TO 标志位被清零。
由于外部复位、外部输入一个下降沿的信号到 PA 口或 WDT 溢出,可使系统脱离暂停状态。外部
复位能使系统初始化而 WDT 溢出使系统“热复位”。测试 TO 和 PDF 状态后,系统复位的原因就可以
被确定。 PDF 标志位是由系统上电复位和执行 CLR WDT 指令被清除,而它的置位是由于执行了
HALT 指令。如果 WDT 产生溢出,会使 TO 标志位置位,还能产生唤醒使得程序计数的 PC 和堆栈指
针 SP 复位。其他都保持原状态。
PA 口的唤醒被看作为正常运行。PA 口可以通过掩膜选项来设定为对系统的唤醒。个别 PA 口无法
被设置为唤醒脚。从 I/O 唤醒,程序会重新继续执行下一条命令。
一旦唤醒事件发生,要花 1024tsys(系统时钟周期),系统重新正常运行。换句话说,在唤醒后被
插入了一个等待时间。
为了省电,在进入 HALT 模式之前必须要小心处理输入/输出口状态。
Rev.1.20
11
2008-4-18
HT48R062/HT48C062
复位(
)
复位(RESET)
V
有三种方法可以产生复位:
· 在正常运行时期由 RES 脚产生复位。
· 在 HALT 期间 RES 脚产生复位。
· 正常运行时,WDT 溢出复位。
D D
R E S
复位电路
在 HALT 期间 WDT 溢出是不同于其它的复位操作条件,因为它可执行 “热
复位”,结果只能使程序计数器 PC 和堆栈指针 SP 复位,而别的寄存器均保持原来的状态。在其他复位
条件下,某些寄存器保持不变。当复位条件被满足时,极大多数的寄存器被复位到“初始状态”,通过测
试 PDF 标志位和 TO 标志位,程序能分辨不同的系统复位。
TO
0
u
0
1
1
复 位 条 件
电源上电复位
正常运作时由 RES 复位
RES 时唤醒暂停模式
正常运作时发生看门狗定时器超时
由看门狗定时器唤醒暂停模式
PDF
0
u
1
u
1
注释:“u”表示未变化。
为保证系统振荡器起振并稳定运行,那么 SST(系统启动定时器)当系统复位(上电,WDT 定时
溢出或 RES )或从 HALT 状态被唤醒时,提供额外延迟 1024 个系统时钟脉冲。
H A L T
W D T
W D T
T im e - o u t
R e s e t
R e s e t
R E S
V D D
R E S
tS
O S C 1
S T
S S T T im e - o u t
C h ip
S S T
1 0 -s ta g e
R ip p le C o u n te r
P o w e r - o n D e te c tio n
R e s e t
复位时序
复位电路结构
当系统复位时,SST 延迟被加到复位周期中。任何来自 HALT 的唤醒都将允许 SST 延迟。
系统复位时各功能单元的状态如下所示:
程序计数器(PC)
看门狗定时器
输入/输出口
堆栈指针 SP
Rev.1.20
000H
清除,复位后看门狗定时器开始计数
输入模式
指向堆栈顶端
12
2008-4-18
HT48R062/HT48C062
有关寄存器的状态如下:
有关寄存器的状态如下:
寄存器
Program
Counter
MP
ACC
TBLP
TBLH
WDTS
STATUS
PA
PAC
PB
PBC
上电复位
000H
-xxx
xxxx
xxxx
--xx
xxxx
xxxx
xxxx
xxxx
0000
--00
1111
1111
-------
0111
xxxx
1111
1111
-111
-111
正常运行期间
暂停模式
WDT 溢出
RES 端复位
RES 端复位
WDT 溢出*
溢出
000H
000H
000H
000H
-uuu
uuuu
uuuu
--uu
0000
--lu
1111
1111
-------
uuuu
uuuu
uuuu
uuuu
0111
uuuu
1111
1111
-111
-111
-uuu
uuuu
uuuu
--uu
0000
--uu
1111
1111
-------
uuuu
uuuu
uuuu
uuuu
0111
uuuu
1111
1111
-111
-111
-uuu
uuuu
uuuu
--uu
0000
--01
1111
1111
-------
uuuu
uuuu
uuuu
uuuu
0111
uuuu
1111
1111
-111
-111
-uuu
uuuu
uuuu
--uu
uuuu
--11
uuuu
uuuu
-------
uuuu
uuuu
uuuu
uuuu
uuuu
uuuu
uuuu
uuuu
-uuu
-uuu
注意:“*”表示“热复位。
“U”表示不变化。
“×”表示不确定。
输入/输出口
输入 输出口
单片机具有 11 个双向输入输出口,标号为 PA 和 PB,其分别对应的 RAM 的[12H] 和[14H]。所有
的输入/输出口都能被作为输入或输出使用。就
V D D
输入而言这些口不具有锁存功能,即,输入数
C o n tr o l B it P u ll- h ig h
据必须在“MOV A,[m]”(m=12H 或 14H) 指
D a ta B u s
Q
D
令的 T2 上升沿被准备好。对输出而言,所有
Q
C K
的数据被锁存并保持不变,直到输出锁存器重 W r i t e C o n t r o l R e g i s t e r
S
新被改写。
C h ip R e s e t
P A 0
每个输入输出口都有其自己的控制寄存器 R e a d C o n t r o l R e g i s t e r
P B 0
D a ta B it
(PAC,PBC ),用来控制输入/输出模式。使
Q
D
用控制寄存器,可对 CMOS 输出或斯密特触发
W r ite D a ta R e g is te r
Q
C K
输入在软件下动态地进行改变。作为输入时,
S
相应的控制寄存器必须写“ 1 ”。信号源的输
M
U
入也取决于控制寄存器。如果控制寄存器的某
X
R e a d D a ta R e g is te r
位值为“ 1 ”那么输入信号是读取自这个引脚
S y s te m W a k e -u p
W a k e - u p O p tio n
( PAD )的状态,但是如果控制寄存器的某位
( P A o n ly )
值为“ 0 ”,那么锁存器的内容将会被送到内
部总 线。后者,可以在“读改写”指令中发
输入/
输入/输出口
生。
对于输出功能,只能设置为 CMOS 输出。这些控制寄存器是对应于内存的 13H,15H 地址。
芯片复位后,这些输入/输出口都会是高电平或浮空状态(取决于上拉电阻的选项)。每一个输入/
输出锁存位都能被 SET [m].i 或 CLR [m].i 指令置位或清零,(m=12H 或 14H)
某些指令会首先输入数据然后进行输出操作。例如,SET [m].i ,CLR [m].i,CPL [m]和 CPLA [m]
指令,读取输入口的状态到 CPU,执行这个操作(位操作),然后将数据写回锁存器或累加器。
PA 的每一个口都具有唤醒系统的能力。PB 口的高 5 位在物理上是不存在的;读这些位将返回
“0”,而写入则是一个空操作。请看应用注释。
所有的输入/输出口都可以有上拉电阻的选择。一旦选择上拉电阻,所有的输入/输出口都具有上拉
电阻。必须要注意的是:没有上拉电阻的输入/输出口工作在输入模式会产生浮空状态。
为了避免在浮空状态下功耗太大,建议将未用的或没有连结到外部的输入/输出口由软件指令设置
成输出引脚。
Rev.1.20
13
2008-4-18
~ P A 7
~ P B 2
HT48R062/HT48C062
低电压复位 — LVR
为了监控器件的工作电压,单片机提供低电压复位功能。如果工作电压在
0.9V~VLVR 之间,例如电池电压的变化,那么 LVR 会自动使器件产生内部
复位。
LVR 功能说明如下:
· 低电压(0.9V~VLVR)的状态必须持续 1ms 以上。如果低电压的状态没有
持续 1ms 以上,那么 LVR 会忽视它而不去执行复位功能。
· LVR 通过与外部 RES信号的“或”的功能来执行系统复位。
V D D
5 .5 V
V
O P R
5 .5 V
V
3 .0 V
L V R
2 .2 V
0 .9 V
VDD 与 VLVR 之间的关系如下所示:
V
注:V
D D
OPR
时一般芯片正常工作电压的
范围。
5 .5 V
V
为系统时钟 4MHz
L V R
L V R
D e te c t V o lta g e
0 .9 V
0 V
R e s e t S ig n a l
N o r m a l O p e r a tio n
R e s e t
*1
R e s e t
*2
低电压复位
注:
*1:要保证系统振荡器起振并稳定运行,在系统进入正常运行以前,SST 提供额外的 1024 个系统时钟周期的延迟。
*2:因为低电压状态必须保持 1ms 以上,因此进入复位模式就要有 1ms 的延迟。
掩膜选项
以下的表格,列出了这种单片机的各种类型的掩膜选项。所有的掩膜选项必须正确定义。
编号
1
2
3
4
5
6
7
Rev.1.20
选
项
WDT 时钟源:WDT 振荡或 fSYS/4
WDT 打开/关闭
LVR 打开/关闭
清除看门狗指令条数:1 或 2 条清除 WDT
系统振荡选择:外部 RC 振荡/外部晶体振荡
上拉电阻(PA~PB):无上拉电阻或有上拉电阻
PA0~PA7 唤醒功能:有/没有
14
2008-4-18
HT48R062/HT48C062
应用电路
V
D D
0 .0 1 m F *
1 0 0 k W
0 .1 m F
1 0 k W
0 .1 m F *
V D D
P A 0 ~ P A 7
R E S
P B 0 ~ P B 2
V
D D
R
4 7 0 p F
V S S
O S C 1
O S C
fS Y S /4
O S C 2
N M O S o p e n d r a in
C 1
O S C
C ir c u it
S e e R ig h t S id e
O S C 1
O S C 1
C 2
O S C 2
R 1
O S C 2
O S C
H T 4 8 R 0 6 2 /H T 4 8 C 0 6 2
R C S y s te m O s c illa to r
2 4 k W < R O S C < 1 M W
C ry s ta l S y s te m
F o r th e v a lu e s ,
s e e ta b le b e lo w
O s c illa to r
C ir c u it
注:
电阻和电容值选取的原则是使 VDD 保持稳定并在 RES 置为高以前把工作电压保持在允许的范围内。
“*”为了避免噪声干扰,连接 RES 引脚的线请尽可能地短
下表所示为根据不同的晶振值选择 R1、C1、C2
晶体振荡或谐振器
C1,
,C2
R1
25pF
4MHz 晶振
10kΩ
10pF
4MHz 谐振器
12kΩ
25pF
3.58MHz 晶振
10kΩ
25pF
3.58MHz 谐振器
10kΩ
30pF
2MHz 晶振
12kΩ
25pF
2MHz 谐振器
12 kΩ
100pF
1MHz 晶振
10kΩ
300pF
480KHz 谐振器
9.1kΩ
300pF
455KHz 谐振器
10kΩ
300pF
429KHz 谐振器
10kΩ
300pF
400KHz 谐振器
10kΩ
电阻 R1 保证了在低电压状态下,晶振被关闭。这里的低电压,是指低于
MCU 正常工作电压范围。请注意,当启动了 LVR 功能,R1 可以不接。
Rev.1.20
15
2008-4-18
HT48R062/HT48C062
指令集摘要
助记符
算术运算
ADD
A,[m]
ADDM A,[m]
ADD
A,x
ADC
A,[m]
ADCM A,[m]
SUB
A,x
SUB
A,[m]
SUBM A,[m]
SBC
A,[m]
SBCM A,[m]
DAA
[m]
逻辑运算
AND
A,[m]
OR
A,[m]
XOR
A,[m]
ANDM A,[m]
ORM
A,[m]
XORM A,[m]
AND
A,x
OR
A,x
XOR
A,x
CPL
[m]
CPLA
[m]
递增和递减
INCA
[m]
INC
[m]
DECA
[m]
DEC
[m]
移位
RRA
[m]
RR
[m]
RRCA
[m]
RRC
[m]
RLA
[m]
RL
[m]
RLCA
[m]
RLC
[m]
数据传送
MOV
A,[m]
MOV
[m],A
MOV
A,x
位运算
CLR
[m].i
SET
[m].i
Rev.1.20
说明
指令周期
影响标志位
ACC 与数据存储器相加,结果放入 ACC
ACC 与数据存储器相加,结果放入数据存储器
ACC 与立即数相加,结果放入 ACC
ACC 与数据存储器、进位标志相加,结果放入 ACC
ACC 与数据存储器、进位标志相加,结果放入数据存储器
ACC 与立即数相减,结果放入 ACC
ACC 与数据存储器相减,结果放入 ACC
ACC 与数据存储器相减,结果放入数据存储器
ACC 与数据存储器、进位标志相减,结果放入 ACC
ACC 与数据存储器、进位标志相减,结果放入数据存储器
将加法运算中放入 ACC 的值调整为十进制数,并将结果放
入数据存储器
1
1(1)
1
1
1(1)
1
1
1(1)
1
1(1)
Z,C,AC,OV
Z,C,AC,OV
Z,C,AC,OV
Z,C,AC,OV
Z,C,AC,OV
Z,C,AC,OV
Z,C,AC,OV
Z,C,AC,OV
Z,C,AC,OV
Z,C,AC,OV
1(1)
C
ACC 与数据存储器做“与”运算,结果放入 ACC
ACC 与数据存储器做“或”运算,结果放入 ACC
ACC 与数据存储器做“异或”运算,结果放入 ACC
ACC 与数据存储器做“与”运算,结果放入数据存储器
ACC 与数据存储器做“或”运算,结果放入数据存储器
ACC 与数据存储器做“异或”运算,结果放入数据存储器
ACC 与立即数做“与”运算,结果放入 ACC
ACC 与立即数做“或”运算,结果放入 ACC
ACC 与立即数做“异或”运算,结果放入 ACC
对数据存储器取反,结果放入数据存储器
对数据存储器取反,结果放入 ACC
1
1
1
1(1)
1(1)
1(1)
1
1
1
1(1)
1
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
递增数据存储器,结果放入 ACC
递增数据存储器,结果放入数据存储器
递减数据存储器,结果放入 ACC
递减数据存储器,结果放入数据存储器
1
1(1)
1
1(1)
Z
Z
Z
Z
数据存储器右移一位,结果放入 ACC
数据存储器右移一位,结果放入数据存储器
带进位将数据存储器右移一位,结果放入 ACC
带进位将数据存储器右移一位,结果放入数据存储器
数据存储器左移一位,结果放入 ACC
数据存储器左移一位,结果放入数据存储器
带进位将数据存储器左移一位,结果放入 ACC
带进位将数据存储器左移一位,结果放入数据存储器
1
1(1)
1
1(1)
1
1(1)
1
1(1)
无
无
C
C
无
无
C
C
将数据存储器送至 ACC
将 ACC 送至数据存储器
将立即数送至 ACC
1
1(1)
1
无
无
无
清除数据存储器的位
置位数据存储器的位
1(1)
1(1)
无
无
16
2008-4-18
HT48R062/HT48C062
助记符
转移
JMP
addr
SZ
[m]
SZA
[m]
SZ
[m].i
SNZ
[m].i
SIZ
[m]
SDZ
[m]
SIZA
[m]
SDZA
[m]
CALL addr
RET
RET
A,x
RETI
查表
TABRDC [m]
TABRDL [m]
其它指令
NOP
CLR
[m]
SET
[m]
CLR
WDT
CLR
WDT1
CLR
WDT2
SWAP
[m]
SWAPA [m]
HALT
说明
指令周期
影响标志位
无条件跳转
如果数据存储器为零,则跳过下一条指令
数据存储器送至 ACC,如果内容为零,则跳过下一条指令
如果数据存储器的第 i 位为零,则跳过下一条指令
如果数据存储器的第 i 位不为零,则跳过下一条指令
递增数据存储器,如果结果为零,则跳过下一条指令
递减数据存储器,如果结果为零,则跳过下一条指令
递增数据存储器,将结果放入 ACC,如果结果为零,则跳
过下一条指令
递减数据存储器,将结果放入 ACC,如果结果为零,则跳
过下一条指令
子程序调用
从子程序返回
从子程序返回,并将立即数放入 ACC
从中断返回
2
1(2)
1(2)
1(2)
1(2)
1(3)
1(3)
无
无
无
无
无
无
无
1(2)
无
1(2)
无
2
2
2
2
无
无
无
无
读取当前页的 ROM 内容,并送至数据存储器和 TBLH
读取最后页的 ROM 内容,并送至数据存储器和 TBLH
2(1)
2(1)
无
无
空指令
清除数据存储器
置位数据存储器
清除看门狗定时器
预清除看门狗定时器
预清除看门狗定时器
交换数据存储器的高低字节,结果放入数据存储器
交换数据存储器的高低字节,结果放入 ACC
进入暂停模式
1
1(1)
1(1)
1
1
1
1(1)
1
1
无
无
无
TO,PDF
TO(4),PDF(4)
TO(4),PDF(4)
无
无
TO,PDF
注: x:立即数
m:数据存储器地址
A:累加器
i:第 0~7 位
addr:程序存储器地址
√:影响标志位
—:不影响标志位
(1)
:如果数据是加载到 PCL 寄存器,则指令执行周期会被延长一个指令周期(四个系统时钟)。
(2)
:如果满足跳跃条件,则指令执行周期会被延长一个指令周期(四个系统时钟);否则指令执行周期不会被延
长。
(3) (1) (2)
: 和
(4)
:如果执行 CLR WDT1 或 CLR WDT2 指令后,看门狗定时器被清除,则会影响 TO 和 PDF 标志位;否则不
会影响 TO 和 PDF 标志位。
Rev.1.20
17
2008-4-18
HT48R062/HT48C062
指令定义
ADC
A, [m]
说明:
运算过程:
影响标志位
累加器与数据存储器、进位标志相加,结果放入累加器
本指令把累加器、数据存储器值以及进位标志相加,结果存放到累加器。
ACCACC+[m]+C
TO
—
ADCM A, [m]
说明:
运算过程:
影响标志位
PDF
—
OV
√
Z
√
AC
√
C
√
PDF
—
OV
√
Z
√
AC
√
C
√
PDF
—
OV
√
Z
√
AC
√
C
√
PDF
—
OV
√
Z
√
AC
√
C
√
累加器与数据存储器做“与”运算,结果放入累加器
本指令把累加器值、数据存储器值做逻辑与,结果存放到累加器。
ACCACC “AND” [m]
TO
—
Rev.1.20
C
√
累加器与数据存储器相加,结果放入数据存储器
本指令把累加器、数据存储器值相加,结果存放到数据存储器。
[m]ACC+[m]
TO
—
AND
A, [m]
说明:
运算过程:
影响标志位
AC
√
累加器与立即数相加,结果放入累加器
本指令把累加器值和立即数相加,结果存放到累加器。
ACCACC+x
TO
—
ADDM A, [m]
说明:
运算过程:
影响标志位
Z
√
累加器与数据存储器相加,结果放入累加器
本指令把累加器、数据存储器值相加,结果存放到累加器。
ACCACC+[m]
TO
—
ADD
A, x
说明:
运算过程:
影响标志位
OV
√
累加器与数据存储器、进位标志相加,结果放入数据存储器
本指令把累加器、数据存储器值以及进位标志相加,结果存放到存储器。
[m]ACC+[m]+C
TO
—
ADD
A, [m]
说明:
运算过程:
影响标志位
PDF
—
PDF
—
OV
—
Z
√
18
AC
—
C
—
2008-4-18
HT48R062/HT48C062
累加器与立即数做“与”运算,结果放入累加器
本指令把累加器值、立即数做逻辑与,结果存放到累加器。
ACCACC “AND” x
AND
A, x
说明:
运算过程:
影响标志位
TO
—
ANDM A, [m]
说明:
运算过程:
影响标志位
addr
运算过程:
OV
—
Z
√
AC
—
C
—
累加器与数据存储器做“与”运算,结果放入数据存储器
本指令把累加器值、数据存储器值做逻辑与,结果存放到数据存储器。
[m]ACC “AND” [m]
TO
—
CALL
说明:
PDF
—
PDF
—
OV
—
Z
√
AC
—
C
—
子程序调用
本指令直接调用地址所在处的子程序,此时程序计数器加一,将此程序计数器值存到堆栈
寄存器中,再将子程序所在处的地址存放到程序计数器中。
StackPC+1
PC addr
影响标志位
TO
—
CLR [m]
说明:
运算过程:
影响标志位
运算过程:
Z
—
AC
—
C
—
PDF
—
OV
—
Z
—
AC
—
C
—
AC
—
C
—
将数据存储器的第 i 位清“0”
本指令将数据存储器内第 i 位值清零。
[m].i 0
TO
—
CLRWDT
说明:
OV
—
清除数据存储器
本指令将数据存储器内的数值清零。
[m] 00H
TO
—
CLR [m] . i
说明:
运算过程:
影响标志位
PDF
—
PDF
—
OV
—
Z
—
清除看门狗定时器
本指令清除 WDT 计数器(从 0 开始重新计数),暂停标志位(PDF)和看门狗溢出标志位(TO)
也被清零。
WDT 00H
PDF&TO 0
影响标志位
TO
0
Rev.1.20
PDF
0
OV
—
Z
—
19
AC
—
C
—
2008-4-18
HT48R062/HT48C062
CLRWDT1
说明:
运算过程:
预清除看门狗定时器
必须搭配 CLR WDT2 一起使用,才可清除 WDT 计时器(从 0 开始重新计数)。当程序只执
行过该指令,没有执行 CLR WDT2 时,系统只会不会将暂停标志位(PDF)和计数溢出位
(TO)清零,PDF 与 TO 保留原状态不变。
WDT 00H*
PDF&TO 0*
影响标志位
TO
0*
CLRWDT2
说明:
运算过程:
PDF
0*
OV
—
Z
—
AC
—
C
—
预清除看门狗定时器
必须搭配 CLR WDT1 一起使用,才可清除 WDT 计时器(从 0 开始重新计数)。当程序只执
行过该指令,没有执行 CLR WDT1 时,系统只会不会将暂停标志位(PDF)和计数溢出位
(TO)清零,PDF 与 TO 保留原状态不变。
WDT 00H*
PDF&TO 0*
影响标志位
TO
0*
CPL
[m]
说明:
运算过程:
影响标志位
Z
—
AC
—
C
—
PDF
—
OV
—
Z
√
AC
—
C
—
对数据存储器取反,结果放入累加器
本指令是将数据存储器内保存的值取反后,结果存放在累加器中。
ACC [ m ]
TO
—
Rev.1.20
OV
—
对数据存储器取反,结果放入数据存储器
本指令是将数据存储器内保存的数值取反。
[m] [ m ]
TO
—
CPLA
[m]
说明:
运算过程:
影响标志位
PDF
0*
PDF
—
OV
—
Z
√
20
AC
—
C
—
2008-4-18
HT48R062/HT48C062
DAA
说明
[m]
操作
将加法运算后放入累加器的值调整为十进制数,并将结果放入数据存储器
本指令将累加器高低四位分别调整为 BCD 码。如果低四位的值大于“9”或 AC=1,那么
BCD 调整就执行对原值加“6”,并且内部进位标志 AC1= AC ,即 AC 求反;否则原值保
持不变。如果高四位的值大于“9”或 C=1,那么 BCD 调整就执行对原值加“6”再加
AC1,并把 C 置位;否则 BCD 调整就执行对原值加 AC1,C 的值保持不变。结果存放到
数据存储器中,只有进位标志位(C)受影响。
如果 ACC.3~ACC.0 > 9 或 AC=1
那么 [m].3~[m].0 (ACC.3~ACC.0 )+6,AC1= AC
否则 [m].3~[m].0 (ACC.3~ACC.0 ),AC1=0
并且
如果 ACC.7~ACC.4+AC1 > 9 或 C=1
那么 [m].7~[m].4 (ACC.7~ACC.4 )+6+ AC1,C=1
否则 [m].7~[m].4 (ACC.7~ACC.4 )+ AC1,C=C
影响标志位
TO
—
DEC [m]
说明:
运算过程:
影响标志位
运算过程:
Z
—
AC
—
C
√
PDF
—
OV
—
Z
√
AC
—
C
—
数据存储器的内容减 1,结果放入累加器
本指令将存储器内的数值减一,再放到累加器。
ACC [m]-1
TO
—
HALT
说明:
OV
—
数据存储器的内容减 1,结果放入数据存储器
本指令将数据存储器内的数值减一再放回数据存储器。
[m] [m]-1
TO
—
DECA
[m]
说明:
运算过程:
影响标志位
PDF
—
PDF
—
OV
—
Z
√
AC
—
C
—
进入暂停模式
本指令终止程序执行并关掉系统时钟,RAM 和寄存器内的数值保持原状态,WDT 计数器
清“0”,暂停标志位(PDF)被设为 1, WDT 计数溢出位(TO)被清为 0。
PC PC+1
PDF 1
TO 0
影响标志位
TO
0
Rev.1.20
PDF
1
OV
—
Z
—
21
AC
—
C
—
2008-4-18
HT48R062/HT48C062
INC
[m]
说明:
运算过程:
影响标志位
数据存储器的内容加 1,结果放入数据存储器
本指令将数据存储器内的数值加一,结果放回数据存储器。
[m] [m]+1
TO
—
INCA
[m]
说明:
运算过程:
影响标志位
PDF
—
OV
—
Z
√
AC
—
C
—
PDF
—
OV
—
Z
—
AC
—
C
—
PDF
—
OV
—
Z
—
AC
—
C
—
PDF
—
OV
—
Z
—
AC
—
C
—
AC
—
C
—
将累加器送至数据存储器
本指令是将累加器值送到数据存储器内。
[m] ACC
TO
—
Rev.1.20
C
—
将立即数送至累加器
本指令是将立即数送到累加器内。
ACC x
TO
—
MOV
[m], A
说明:
运算过程:
影响标志位
AC
—
将数据存储器送至累加器
本指令是将数据存储器内的数值送到累加器内。
ACC [m]
TO
—
MOV
A, x
说明:
运算过程:
影响标志位
Z
√
无条件跳转
本指令是将要跳到的目的地直接放到程序计数器内。
PC addr
TO
—
MOV
A, [m]
说明:
运算过程:
影响标志位
OV
—
数据存储器的内容加 1,结果放入数据存储器
本指令是将存储器内的数值加一,结果放到累加器。
ACC [m]+1
TO
—
JMP
addr
说明:
运算过程:
影响标志位
PDF
—
PDF
—
OV
—
Z
—
22
2008-4-18
HT48R062/HT48C062
NOP
说明:
运算过程:
影响标志位
空指令
本指令不作任何运算,而只将程序计数器加一。
PC PC+1
TO
—
OR
A, [m]
说明:
运算过程:
影响标志位
C
—
PDF
—
OV
—
Z
√
AC
—
C
—
PDF
—
OV
—
Z
√
AC
—
C
—
PDF
—
OV
—
Z
√
AC
—
C
—
从子程序返回
本指令是将堆栈寄存器中的程序计数器值送回程序计数器。
PC Stack
TO
—
RET
A, x
说明:
运算过程:
AC
—
累加器与数据存储器做“或”运算,结果放入数据存储器
本指令是把累加器值、存储器值做逻辑或,结果放到数据存储器。
[m]ACC “OR” [m]
TO
—
RET
说明:
运算过程:
影响标志位
Z
—
累加器与立即数做“或”运算,结果放入累加器
本指令是把累加器值、立即数做逻辑或,结果放到累加器。
ACCACC “OR” x
TO
—
ORM
A, [m]
说明:
运算过程:
影响标志位
OV
—
累加器与数据存储器做“或”运算,结果放入累加器
本指令是把累加器、数据存储器值做逻辑或,结果放到累加器。
ACCACC “OR” [m]
TO
—
OR
A, x
说明:
运算过程:
影响标志位
PDF
—
PDF
—
OV
—
Z
—
AC
—
C
—
从子程序返回,并将立即数放入累加器
本指令是将堆栈寄存器中的程序计数器值送回程序计数器,并将立即数送回累加器。
PC Stack
ACC x
影响标志位
TO
—
Rev.1.20
PDF
—
OV
—
Z
—
23
AC
—
C
—
2008-4-18
HT48R062/HT48C062
RETI
说明:
运算过程:
从中断返回
本指令是将堆栈寄存器中的程序计数器值送回程序计数器,与 RET 不同的是它使用在中
断程序结束返回时,它还会将中断控制寄存器 INTC 的 0 位(EMI)中断允许位置 1,允许中
断服务。
PC Stack
EMI 1
影响标志位
TO
—
RL
[m]
说明:
运算过程:
影响标志位
运算过程:
影响标志位
运算过程:
Z
—
AC
—
C
—
PDF
—
OV
—
Z
—
AC
—
C
—
数据存储器左移一位,结果放入累加器
本指令是将存储器内的数值左移一位,第 7 位移到第 0 位,结果送到累加器,而数据存储
器内的数值不变。
ACC.0 [m].7, ACC.(i+1) [m].i;
(i=0~6)
TO
—
RLC[m]
说明:
OV
—
数据存储器左移一位,结果放入数据存储器
本指令是将数据存储器内的数值左移一位,第 7 位移到第 0 位,结果送回数据存储器。
[m].0 [m].7, [m].(i+1) [m].i; (i=0~6)
TO
—
RLA[m]
说明:
PDF
—
PDF
—
OV
—
Z
—
AC
—
C
—
带进位将数据存储器左移一位,结果放入数据存储器
本指令是将存储器内的数值与进位标志左移一位,第 7 位取代进位标志,进位标志移到第
0 位,结果送回数据存储器。
[m].(i+1) [m].i; (i=0~6)
[m].0 C
C [m].7
影响标志位
TO
—
RLCA
说明:
[m]
运算过程:
PDF
—
OV
—
Z
—
AC
—
C
√
带进位将数据存储器左移一位,结果放入累加器
本指令是将存储器内的数值与进位标志左移一位,第七位取代进位标志,进位标志移到第
0 位,结果送回累加器。
ACC.(i+1) [m].i;(i=0~6)
ACC.0 C
C [m].7
影响标志位
TO
—
Rev.1.20
PDF
—
OV
—
Z
—
24
AC
—
C
√
2008-4-18
HT48R062/HT48C062
RR
[m]
说明:
运算过程:
影响标志位
数据存储器右移一位,结果放入数据存储器
本指令是将存储器内的数值循环右移,第 0 位移到第 7 位,结果送回数据存储器。
[m].7 [m].0, [m].i [m].(i+1);
(i=0~6)
TO
—
RRA
说明:
[m]
运算过程:
影响标志位
[m]
运算过程:
OV
—
Z
—
AC
—
C
—
数据存储器右移一位,结果放入累加器
本指令是将数据存储器内的数值循环右移,第 0 位移到第 7 位,结果送回累加器,而数据
存储器内的数值不变。
ACC.7 [m].0, ACC.i [m].(i+1);
(i=0~6)
TO
—
RRC
说明:
PDF
—
PDF
—
OV
—
Z
—
AC
—
C
—
带进位将数据存储器右移一位,结果放入数据存储器
本指令是将存储器内的数值加进位标志循环右移,第 0 位取代进位标志,进位标志移到第
7 位,结果送回存储器。
[m].i [m].(i+1); (i=0~6)
[m]. 7 C
C [m].0
影响标志位
TO
—
RRCA
说明:
[m]
运算过程:
PDF
—
OV
—
Z
—
AC
—
C
√
带进位将数据存储器右移一位,结果放入累加器
本指令是将数据存储器内的数值加进位标志循环右移,第 0 位取代进位标志,进位标志移
到第 7 位,结果送回累加器,数据存储器内的数值不变。
ACC.i [m].(i+1);
(i=0~6)
ACC.7 C
C [m].0
影响标志位
TO
—
SBC
A,[m]
说明:
运算过程:
影响标志位
OV
—
Z
—
AC
—
C
√
累加器与数据存储器、进位标志相减,结果放入累加器
本指令是把累加器值减去数据存储器值以及进位标志的取反,结果放到累加器。
ACCACC+[ m ]+ C
TO
—
Rev.1.20
PDF
—
PDF
—
OV
√
Z
√
25
AC
√
C
√
2008-4-18
HT48R062/HT48C062
SBCM A,[m]
说明:
运算过程:
影响标志位
累加器与数据存储器、进位标志相减,结果放入数据存储器
本指令是把累加器值减去数据存储器值以及进位标志取反,结果放到数据存储器。
[m]ACC+[ m ]+C
TO
—
SDZ
说明:
[m]
运算过程:
影响标志位
[m]
运算过程:
OV
√
Z
√
AC
√
C
√
数据存储器减 1,如果结果为“0”,则跳过下一条指令
本指令是把数据存储器内的数值减 1,判断是否为 0,若为 0 则跳过下一条指令,即如果
结果为零,放弃在目前指令执行期间所取得的下一条指令,并插入一个空周期用以取得正
确的指令(二个指令周期)。否则执行下一条指令(一个指令周期)。
如果[m]-1=0,跳过下一条指令执行再下一条。
TO
—
SDZA
说明:
PDF
—
PDF
—
OV
—
Z
—
AC
—
C
—
数据存储器减 1,将结果放入累加器,如果结果为“0”,则跳过下一条指令
本指令是把数据存储器内的数值减 1,判断是否为 0,为 0 则跳过下一行指令并将减完后
数据存储器内的数值送到累加器,而数据存储器内的值不变,即若结果为 0,放弃在目前指
令执行期间所取得的下一条指令,并插入一个空周期用以取得正确的指令(二个指令周
期)。否则执行下一条指令(一个指令周期)。
如果[m]-1=0,跳过下一条指令执行再下一条。
ACC ([m]-1)
影响标志位
TO
—
SET
[m]
说明:
运算过程:
影响标志位
Z
—
AC
—
C
—
PDF
—
OV
—
Z
—
AC
—
C
—
AC
—
C
—
将数据存储器的第 i 位置“1”
本指令是把存储器内的数值的第 i 位置为 1。
[m].i 1
TO
—
Rev.1.20
OV
—
置位数据存储器
本指令是把存储器内的数值每个位置为 1。
[m] FFH
TO
—
SET
[m]. i
说明:
运算过程:
影响标志位
PDF
—
PDF
—
OV
—
Z
—
26
2008-4-18
HT48R062/HT48C062
SIZ
说明:
[m]
运算过程:
影响标志位
数据存储器加 1,如果结果为“0”,则跳过下一条指令
本指令是把数据存储器内的数值加 1,判断是否为 0。若为 0,跳过下一条指令,即放弃在
目前指令执行期间所取得的下一条指令,并插入一个空周期用以取得正确的指令(二个指令
周期)。否则执行下一条指令(一个指令周期)。
如果 ([m]+1=0),跳过下一行指令;[m] [m]+1
TO
—
SIZA
说明:
运算过程:
影响标志位
[m]. i
运算过程:
影响标志位
C
—
PDF
—
OV
—
Z
—
AC
—
C
—
PDF
—
OV
—
Z
—
AC
—
C
—
PDF
—
OV
√
Z
√
AC
√
C
√
累加器与立即数相减,结果放入累加器
本指令是把累加器值、立即数相减,结果放到累加器。
ACCACC+ x +1
TO
—
Rev.1.20
AC
—
累加器与数据存储器相减,结果放入累加器
本指令是把累加器值、数据存储器值相减,结果放到累加器。
ACCACC+[ m ]+1
TO
—
SUB
A, x
说明:
运算过程:
影响标志位
Z
—
如果数据存储器的第 i 位不为“0”,则跳过下一条指令
本指令是判断数据存储器内的数值的第 i 位,若不为 0,则程序计数器再加 1,跳过下一行
指令,放弃在目前指令执行期间所取得的下一条指令,并插入一个空周期用以取得正确的
指令(二个指令周期)。否则执行下一条指令(一个指令周期)。
如果 [m].i≠0,跳过下一行指令。
TO
—
SUB
A, [m]
说明:
运算过程:
影响标志位
OV
—
数据存储器加 1,将结果放入累加器,如果结果为“0”,则跳过下一条指令
本指令是把数据存储器内的数值加 1,判断是否为 0,若为 0 跳过下一条指令,即放弃在
目前指令执行期间所取得的下一条指令,并插入一个空周期用以取得正确的指令(二个指
令周期),并将加完后存储器内的数值送到累加器,而数据存储器的值保持不变。否则执
行下一条指令(一个指令周期)。
如果[m]+1=0,跳过下一行指令;ACC ([m]+1)
TO
—
SNZ
说明:
PDF
—
PDF
—
OV
√
Z
√
27
AC
√
C
√
2008-4-18
HT48R062/HT48C062
SUBM A, [m]
说明:
运算过程:
影响标志位
累加器与数据存储器相减,结果放入数据存储器
本指令是把累加器值、存储器值相减,结果放到存储器。
[m]ACC+[ m ]+1
TO
—
SWAP
[m]
说明:
运算过程:
影响标志位
OV
√
Z
√
AC
√
C
√
交换数据存储器的高低字节,结果放入数据存储器
本指令是将数据存储器的低四位和高四位互换,再将结果送回数据存储器。
[m].7~[m].4 ↔[m].3~[m].0
TO
—
SWAPA [m]
说明:
运算过程:
PDF
—
PDF
—
OV
—
Z
—
AC
—
C
—
交换数据存储器的高低字节,结果放入累加器
本指令是将数据存储器的低四位和高四位互换,再将结果送回累加器。
ACC.3~ACC.0 [m].7~[m].4
ACC.7~ACC.4 [m].3~[m].0
影响标志位
TO
—
SZ
说明:
[m]
运算过程:
影响标志位
[m]
运算过程:
影响标志位
Z
—
AC
—
C
—
PDF
—
OV
—
Z
—
AC
—
C
—
数据存储器送至累加器,如果内容为“0”,则跳过下一条指令
本指令是判断存储器内的数值是否为 0,若为 0 则跳过下一行指令,即放弃在目前指令执
行期间所取得的下一条指令,并插入一个空周期用以得正确的指令(二个指令周期)。并把
存储器内值送到累加器,而存储器的值保持不变。否则执行下一条指令(一个指令周期)。
如果[m] = 0,跳过下一行指令,并 ACC [m]。
TO
—
Rev.1.20
OV
—
如果数据存储器为“0”,则跳过下一条指令
本指令是判断数据存储器内的数值是否为 0,为 0 则跳过下一行指令,即放弃在目前指令
执行期间所取得的下一条指令,并插入一个空周期用以得正确的指令(二个指令周期)。否
则执行下一条指令(一个指令周期)。
如果 [m] = 0, 跳过下一行指令。
TO
—
SZA
说明:
PDF
—
PDF
—
OV
—
Z
—
28
AC
—
C
—
2008-4-18
HT48R062/HT48C062
SZ
说明:
[m]. i
运算过程:
影响标志位
如果数据存储器的第 i 位为“0”,则跳过下一条指令
本指令是判断存储器内第 i 位值是否为 0,若为 0 则跳过下一行指令,即放弃在目前指令
执行期间所取得的下一条指令,并插入一个空周期用以得正确的指令(二个指令周期)。否
则执行下一条指令(一个指令周期)。
如果 [m].i = 0,跳过下一行指令。
TO
—
TABRDC [m]
说明:
运算过程:
PDF
—
OV
—
Z
—
AC
—
C
—
读取 ROM 当前页的内容,并送至数据存储器和 TBLH
本指令是将表格指针指向程序寄存器当前页,将低位送到存储器,高位直接送到 TBLH 寄
存器内。
[m] 程序存储器低四位
TBLH程序存储器高四位
影响标志位
TO
—
TABRDL [m]
说明:
运算过程:
PDF
—
OV
—
Z
—
AC
—
C
—
读取 ROM 最后一页的内容,并送至数据存储器和 TBLH
本指令是将 TABLE 指针指向程序寄存器最后页,将低位送到存储器,高位直接送到
TBLH 寄存器内。
[m] 程序存储器低四位
TBLH程序存储器高四位
影响标志位
TO
—
XOR
A, [m]
说明:
运算过程:
影响标志位
AC
—
C
—
PDF
—
OV
—
Z
√
AC
—
C
—
PDF
—
OV
—
Z
√
AC
—
C
—
累加器与数据存储器做“异或”运算,结果放入累加器
本指令是把累加器值与立即数做逻辑异或,结果放到累加器。
ACCACC “XOR” x
TO
—
Rev.1.20
Z
—
累加器与数据存储器做“异或”运算,结果放入数据存储器
本指令是把累加器值、数据存储器值做逻辑异或,结果放到数据存储器。
[m]ACC “XOR” [m]
TO
—
XOR
A, x
说明:
运算过程:
影响标志位
OV
—
累加器与立即数做“异或”运算,结果放入累加器
本指令是把累加器值、 数据存储器值做逻辑异或,结果放到累加器。
ACCACC “XOR” [m]
TO
—
XORM A, [m]
说明:
运算过程:
影响标志位
PDF
—
PDF
—
OV
—
Z
√
29
AC
—
C
—
2008-4-18
HT48R062/HT48C062
封装信息:
封装信息:
16-pin DIP (300mil)外形尺寸
外形尺寸
A
B
1 6
9
8
1
H
C
D
E
a
G
标号
A
B
C
D
E
F
G
H
I
ɑ
Rev.1.20
I
F
尺寸(
)
尺寸(mil)
Min
Nom
Max
745
240
125
125
16
50
-295
335
0°
------100
----
775
260
135
145
20
70
-315
375
15°
30
2008-4-18
HT48R062/HT48C062
16-pin NSOP (150mil)外形尺寸
外形尺寸
A
1 6
9
B
8
1
C
C '
G
D
a
F
E
标号
A
B
C
C’
D
E
F
G
H
ɑ
Rev.1.20
H
尺寸(
)
尺寸(mil)
Min
Nom
Max
228
149
14
386
53
-4
22
4
0°
-----50
-----
224
157
20
394
69
-10
28
12
10°
31
2008-4-18
HT48R062/HT48C062
包装带和卷轴规格:
包装带和卷轴规格:
卷轴尺寸:
D
T 2
A
C
B
T 1
SOP 16N(150mil)
标号
A
B
C
描述
卷轴外圈直径
卷轴内圈直径
轴心直径
D
T1
缝宽
轮缘宽
T2
卷轴宽
Rev.1.20
尺寸(mm)
尺寸
330±1.0
62±1.5
13.0+0.5
-0.2
2±0.5
16.8+0.3
-0.2
22.2±0.2
32
2008-4-18
HT48R062/HT48C062
运输带尺寸:
运输带尺寸:
P 0
D
P 1
t
E
F
W
D 1
C
P
B 0
K 0
A 0
SOP 16N(150mil)
标号
W
P
E
F
D
D1
P0
P1
A0
B0
K0
t
C
Rev.1.20
描述
运输带宽
空穴间距
穿孔位置
空穴至穿孔距离(宽度)
穿孔直径
空穴中之小孔直径
穿孔间距
空穴至穿孔距离(长度)
空穴长
空穴宽
空穴深
传输带厚度
覆盖带宽度
尺寸(mm)
尺寸
16.0±0.3
8.0±0.1
1.75±0.1
7.5±0.1
1.55±0.1
1.5+0.25
4±0.1
2±0.1
6.5±0.1
10.3±0.1
2.1±0.1
0.3±0.05
13.3
33
2008-4-18
HT48R062/HT48C062
盛群半导体股份有限公司(
盛群半导体股份有限公司 (总公司)
总公司)
新竹市科学工业园区研新二路 3 号
电话: 886-3-563-1999
传真: 886-3-563-1189
网站: www.holtek.com.tw
盛群半导体股份有限公司(
盛群半导体股份有限公司( 台北业务处)
台北业务处 )
台北市南港区园区街 3 之 2 号 4 楼之 2
电话: 886-2-2655-7070
传真: 886-2-2655-7373
传真: 886-2-2655-7383 (International sales hotline)
盛扬半导体有限公司(
盛扬半导体有限公司( 上海业务处
上海 业务处)
业务处 )
上海宜山路 889 号 2 号楼 7 楼 200233
电话: 021-6485-5560
传真: 021-6485-0313
网站: www.holtek.com.cn
盛扬半导体有限公司(
盛扬半导体有限公司( 深圳业务处
深圳 业务处)
业务处 )
深圳市南山区科技园科技中三路与高新中二道交汇处生产力大楼 A 单元五楼 518057
电话: 0755-8616-9908,8616-9308
传真: 0755-8616-9533
ISDN: 0755-8615-6181
盛扬半导体有限公司(
盛扬半导体有限公司( 北京业务处
北京 业务处)
业务处 )
北京市西城区宣武门西大街甲 129 号金隅大厦 1721 室 100031
电话: 010-6641-0030, 6641-7751, 6641-7752
传真: 010-6641-0125
盛扬半导体有限公司(
盛扬半导体有限公司( 成都业务处
成都 业务处)
业务处 )
成都市东大街 97 号香槟广场 C 座 709 室 610016
电话: 028-6653-6590
传真: 028-6653-6591
Holmate Semiconductor, Inc.(
( 北美业务处
北美业 务处)
务处)
46712 Fremont Blvd., Fremont, CA 94538
电话: 510-252-9880
传真: 510-252-9885
网站: www.holmate.com
Copyright  2006 by HOLTEK SEMICONDUCTOR INC.
使用指南中所出现的信息在出版当时相信是正确的,然而盛群对于说明书的使用不负任何责任。文中
提到的应用目的仅仅是用来做说明,盛群不保证或表示这些没有进一步修改的应用将是适当的,也不
推荐它的产品使用在会由于故障或其它原因可能会对人身造成危害的地方。盛群产品不授权使用于救
生、维生器件或系统中做为关键器件。盛群拥有不事先通知而修改产品的权利,对于最新的信息,请
参考我们的网址 http://www.holtek.com.tw
Rev.1.20
34
2008-4-18