HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
盛群知识产权政策
盛群知识产权政策
盛群知识产权政策 盛群知识产权政策
专利权
专利权
专利权 专利权
盛群半导体公司在全球各地区已核准和申请中之专利权至少有 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.30 1 2008-9-5
技术相关信息
技术相关信息
技术相关信息 技术相关信息
· 工具信息
· FAQs
· 应用范例
-HA0016S HT48 MCU读写HT24系列 EEPROM的应用范例
-HA0018S HT48 MCU 对 HT1621 LCD控制器的应用
-HA0041S HT48CA0发射HT6221码的应用范例
-HA0075S MCU重置电路及振荡电路应用
-HA0076S HT48RAx/HT48CAx 软件应用要点
-HA0082S HT48xA0-1、 HT48xA0-2 Power-on Reset 时序
特性
特性
特性 特性
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
· 工作电压:f
工作温度:0℃~+50℃
· 10 个双向输入/ 输出口
· 6 个斯密特触发输入口
(PB7 没有上拉电阻)
· 一个载波输出口(使用 9 位定时器)
· 内置 RC 振荡电路
f
=4MHz±3%
SYS
(VDD=2.0V~3.6V,温度=0℃~+50℃ )
· 看门狗定时器
· 1K × 14 程序存储器
=4MHz(±3%)时,2.0V ~3.6V
SYS
· 32 × 8 数据存储器(RAM)
· HALT 和唤醒功能以降低功耗
· 62 条指令
· 系统频率为 4MHz 时,指令周期为 1µs
· 所有指令在 1 或 2 个指令周期内完成
· 查表指令,表格内容字长 14 位
· 一层堆栈
· 位操作指令
· 低电压复位功能
· 20-pin 的 SSOP 封装
概述
概述
概述 概述
HT48RA0-3/ HT48CA0-3 为八位高性能精简指令集单片机,专为多输入 /输出口的产品而设计的。
HT48RA0-3 是 OTP 版本,和掩膜版本芯片 HT48CA0-3 在引脚和功能上完全相同。
拥有低功耗、I/O 口稳定性高、定时器功能、看门狗定时器、省电和唤醒功能、以及低价位等优势,
使此款多功能芯片可以广泛地适用于各种应用,例如红外遥控器及各种电子系统的控制器。
Rev. 1.30 2 2008-9-5
方框图
方框图
方框图 方框图
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
引脚图
引脚图
引脚图 引脚图
P r o g r a m
I n s t r u c t i o n
R e g i s t e r
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 o r
O S C 1
V D D
V S S
P r o g r a m
C o u n t e r
M P
A L U
S h i f t e r
A C C
M U X
S T A C K
M
U
X
D A T A
M e m o r y
S T A T U S
f
/ 4
S Y S
F r e q u e n c y
D i v i d e r
W D T
C a r r i e r
G e n e r a t o r
9 - b i t T i m e r
P B
P A
P O R T B
P O R T A
R E M
P B 0 ~ P B 1
P B 2 ~ P B 7
P A 0 ~ P A 7
Rev. 1.30 2 2008-9-5
引脚说明
引脚说明
引脚说明 引脚说明
引脚名称
引脚名称 输入
引脚名称 引脚名称
PA0~PA7
PB0,PB1
PB2~PB6
PB7
REM
OSC1
VDD
VSS
极限参数
极限参数
极限参数 极限参数
HT48RA0-3/ HT48CA0-3
输入/ 输出
输出 掩膜选项
输入 输入
输出 输出
输入/ 输出
输入/ 输出 唤醒功能
输入 唤醒功能
输入 唤醒功能
输出 — 载波输出。
输入 — OSC1 连接一个外部电阻产生内部时钟。
— — 正电源。
— — 负电源,接地。
掩膜选项 说说说说 明明明明
掩膜选项 掩膜选项
—
8 位双向输入/ 输出口,带上拉电阻。每一位都能由软件指
令设定为 NMOS 输出或斯密特触发输入。
2 位双向输入/ 输出口,带上拉电阻。每一位都可在掩膜选
项中设置为带唤醒功能的输入口,可由软件指令设定为
NMOS 输出或斯密特触发输入。
5 位斯密特触发输入口,带上拉电阻。每一位都能在掩膜
选项中设置为唤醒输入。
1 位斯密特触发输入口,不带上拉电阻。可在掩膜选项中
设置为唤醒输入。
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
电源供应电压 …… V SS – 0.3V~Vss +4.0V 储存温度 ……………… - 50℃~125℃
端口输入电压 …… V SS – 0.3V~V
端口总灌电流 …………………… 150mA 端口总源电流 ……………… -100mA
总功耗 …………………………… 500mW
注:这里只强调额定功率,超过极限参数所规定的范围将对芯片造成损害,无法预期芯片在上述标示范围外的工作状态,而
且若长期在标示范围外的条件下工作,可能影响芯片的可靠性。
+0.3V 工作温度 ……………… - 40℃~ 85℃
DD
Rev. 1.30 3 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
直流电气特性
直流电气特性 Ta=25℃
直流电气特性 直流电气特性
测试条件
测试条件
符号
符号 参数
符号 符号
VDD
IDD
I
STB
VIL
VIH
V
LVR
IOL
IOH
RPH
V
POR
R
POR
工作电压
工作电流
静态电流
输入/输出口的低电平
输入电压
输入/输出口的高电平
输入电压
低电压复位值
输入/输出口灌电流
REM 输出源电流
上拉电阻
VDD起始电压确保上电
复位
VDD上升速度确保上电
复位
参数
参数 参数
VDD
测试条件 测试条件
条件
条件
条件 条件
最小
最小 典型
最小 最小
典型 最大
典型 典型
最大 单位
最大 最大
— — 2.0 — 3.6 V
3V
3V
3V — 0 — 0.2V
3V
无负载
fsys=4MHZ
无负载
暂停模式
—
— 0.7 1.5 mA
— — 1 µ A
DD
0.8V
DD
—
VDD V
— — 1.8 1.9 2.0 V
3V VOL =0.1VDD 4 8 — mA
3V VOH=0.9V DD -5 -7 -10 mA
3V — 100 150 200 KΩ
— — — — 100 mV
— — 0.035 — — V/ms
单位
单位 单位
V
℃
℃℃
交流电气特性
交流电气特性 Ta=25℃
交流电气特性 交流电气特性
测试条件
测试条件
符号
符号 参数
符号 符号
f
系统时钟
SYS
t
系统启动延时周期 -
SST
t
低电压复位延迟时间 - -
LVR
t
上电复位低脉冲宽度 - -
POR
注: t
=1/f
SYS
SYS
参数
参数 参数
VDD
2.0V~3.6V
3V
测试条件 测试条件
条件
条件
条件 条件
f
=4MHz,
SYS
Temp.=0℃~ +50℃
f
=4MHz,
SYS
Temp.= 25℃
上 电 , 复 位 或 从
HALT 唤醒
最小
最小 典型
最小 最小
典型 最大
典型 典型
最大 单位
最大 最大
3880 4000 4120 KHZ
3920 4000 4080 KHz
-
1024
-
0.25 1 2 ms
1
- -
单位
单位 单位
t
SYS
µ s
℃
℃℃
Rev. 1.30 4 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
系统功能说明
系统功能说明
系统功能说明 系统功能说明
指令执行时序
指令执行时序
指令执行时序 指令执行时序
HT48RA0-3/HT48CA0-3 系统时钟是 RC 型时钟,工作时外接一个电阻。系统内部对此频率进行四分频,
产生四个不重叠的时钟周期。一个指令周期包含了四个系统时钟周期。
指令读取与执行是以流水线方式来进行的。这种方式允许在一个指令周期进行读取指令操作,而在下
一个指令周期里进行解码与执行该指令。这种流水线方式能在一个指令周期里有效地执行一个指令。但是,
如果指令会改变程序计数器的值,就需要花两个指令周期来完成这一条指令。
S y s t e m C l o c k
I n s t r u c t i o n C y c l e
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
程序计 程序计
数器 数器
10 位程序计数器控制存放在程序存储器中的要被执行的指令序列。程序计数器的最大寻址范围为 1024
个地址。
通过访问一个程序存储单元来取出指令代码后,PC 的值便会加 1。然后程序计数器便会指向下一条指
令代码所在的程序存储单元。
当执行一条跳转指令、条件跳转指令、装载 PCL 寄存器、子程序调用、初始复位或从一个子程序返回,
PC 会通过装载每条指令的相应地址来执行程序转移。
通过指令实现条件跳转,一旦条件满足,那么在当前指令执行期间取出的下一条指令会被放弃,而替
代它的是一个空指令周期(dummy cycle)来获取正确的指令,接着就执行这条指令。否则就执行下一条指令。
程序计数器的低位字节(PCL ;06H)是可读写的寄存器。将数据赋值到 PCL 会执行一个短跳转。这
种跳转只能在 256 个地址范围内。
当一个控制转移指令发生时,就需要有一个附加的空指令周期。
模模模模 式式式式
初始化复位
条件跳转
装载 PCL
跳转,子程序调用
从子程序返回
程序计数器
*9 *8 *7 *6 *5 *4 *3 *2 *1 *0
0 0 0 0 0 0 0 0 0 0
PC+2
*9 *8 @7 @6 @5 @4 @3 @2 @1 @0
#9 #8 #7 #6 #5 #4 #3 #2 #1 #0
S9 S8 S7 S6 S5 S4 S3 S2 S1 S0
程序计数器
程序计数器 程序计数器
程序计数器
程序计数器
程序计数器 程序计数器
注意: *9 ~ *0 :程序计数器位 S9 ~ S0 :堆栈寄存器位
#9 ~ #0 :指令代码位 @7 ~ @0 : PCL 位
Rev. 1.30 5 2008-9-5
程序存储器
程序存储器 ———— ROM
程序存储器 程序存储器
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
程序存储器(ROM )被用来存放要执行的指令的代码。还
0 0 0 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
包括数据和表格。一共为 1024 ×14 位。可以由程序计数器或表
格指针来寻址。
在程序存储器中某几个地址被保留作为特殊用途:
· 地址 000H
此地址保留给程序初始化之用。当系统复位时,程序会从
n 0 0 H
L o o k - u p t a b l e ( 2 5 6 w o r d s )
n F F H
000H 地址开始执行。
· 表格区
程序存储器内的任何地址都可被用来作为表格地址使用。查
表指令 TABRDC [m](查当前页,1 页=256 个字)和
TABRDL [m] (查最后一页)将所指地址的低字节传到指
定的存储器中,而高字节传送到 TBLH (08H )。表格中只
3 F F H
L o o k - u p t a b l e ( 2 5 6 w o r d s )
1 4 b i t s
N o t e : n r a n g e s f r o m 0 t o 3
有低位字节被完整传到到目标地址中,而其它位则传送到
TBLH 的低位,剩余的二位被作为 0 读出。表格中的高位字
程序存储器
程序存储器
程序存储器 程序存储器
节 TBLH 为只读寄存器。而表格指针(TBLP ;07H)是可
以读写的寄存器,表格指针指向要读的表格地址。在访问表格以前,通过对 TBLP 寄存器赋值来指明
表格地址。查表指令要花两个指令周期来完成这一条指令的操作。按照用户的需要,表格地址指明的
这些位置也可以作为正常的程序存储器来使用。
表格地址
表格地址
指指指指 令令令令
*9 *8 *7 *6 *5 *4 *3 *2 *1 *0
表格地址 表格地址
TABRDC [m] P9 P8 @7 @6 @5 @4 @3 @2 @1 @0
TABRDL [m] 1 1 @7 @6 @5 @4 @3 @2 @1 @0
P r o g r a m
表格区
表格区
表格区 表格区
注:*9 ~ *0 :表格地址位 P9~P8 :当前程序计数器位 @7 ~ @0 :表格指针位
堆栈寄存器
堆栈寄存器 ———— STACK
堆栈寄存器 堆栈寄存器
堆栈寄存器(STACK)是一个用来保存 PC 值的特殊存储单元。HT48RA0-3/ HT48CA0-3 的堆栈为 1 级。
堆栈寄存器既不是数据存储器的一部分,也不是程序存储器的一部分,而且它既不能读出,也不能写入。
堆栈位置由堆栈指针(SP)来确定。堆栈指针(SP)也不能读/写。一旦发生子程序调用时,程序计数器(PC)
的值会被压入堆栈,在子程序调用结束时, 通过一条返回指令(RET),堆栈将原先压入堆栈的内容弹出,
重新装入程序计数器(PC)中。在系统复位后,堆栈指针会指向堆栈顶部。
如果堆栈满了,接着又执行一个子程序调用(CALL),那么堆栈会产生溢出,而使第一个进入堆栈的
内容将会丢失。(只有最后那个返回地址会被保留着)。
数据存储器
数据存储器 ———— RAM
数据存储器 数据存储器
数据存储器可分成两个功能组:特殊功能寄存器和通用数据存储器(32 × 8 )。这两个功能组的大部分
单元可以读写,而某些单元只能读,不能写。
20H 以前的剩余单元都被保留为将来进一步扩展使用。读取这些被保留单元的值,都将返回 00H 。通
用数据存储器地址 20H-3FH 作为程序数据和控制信息使用。所有的 RAM 区单元都能直接执行算术,逻辑,
递增,递减和移位等运算。除了某些特殊的位以外,RAM 中的每一位都可以由SET [ m].i 和 CLR [m].i
指令来置位和清零。它们都可通过间接寻址指针寄存器(MP;01H)间接寻址来存取。
间接寻址寄存器
间接寻址寄存器
间接寻址寄存器 间接寻址寄存器
Rev. 1.30 6 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
地址 00H 是作为间接寻址寄存器。它没有物理结构。任何对[00H]
的读/写操作,都会访问由 MP(01H)所指向的 RAM 单元。间接地读取
[00H],将会返回 00H,而间接地写入[00H]单元,则不会产生任何结果。
间接寻址指针寄存器 MP 的宽度是 7 位,MP 的第 7 位是没有定义
的。若读它们将返回“1”。而任何对 MP 写的操作只能将低 7 位数据传送
到 MP 。
累加器
累加器
累加器 累加器
累加器(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
状态寄存器 状态寄存器
状态寄存器(0AH )的宽度为8位,由零标志位(Z)、进位标志位
(C)、辅助进位标志位(AC )、溢出标志位(OV )、暂停模式标志位(PDF )、
看门狗定时器溢出标志位(TO )组成。该寄存器所不仅记录状态信息,
而且还可控制运算顺序。
除了 TO 和 PDF 以外,状态寄存器中的位都可用指令来改变,这种
情况与其它寄存器一样。任何写到状态寄存器的数据不会改变 TO 或 PDF 标志位。但是与状态寄存器有关
的运算会导致状态寄存器的变化。系统上电,看门狗定时器溢出,执行 HALT 指令,或清除看门狗定时器
都能改变 TO 和 PDF 标志位。 Z 、OV 、AC 和 C 标志位都反映了当前的运算状态。
0 A H
0 B H
0 C H
0 D H
0 E H
1 A H
1 B H
1 C H
1 D H
1 E H
0 0 H
0 1 H
0 2 H
0 3 H
0 4 H
0 5 H
0 6 H
0 7 H
0 8 H
0 9 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 F H
2 0 H
3 F H
I A R
M P
A C C
P C L
T B L P
T B L H
S T A T U S
P A
P B
T S R 0
T S R 1
C A R L 0
C A R L 1
C A R H 0
C A R H 1
G e n e r a l P u r p o s e
D a t a M e m o r y
( 3 2 B y t e s )
数据存储器
数据存储器
数据存储器 数据存储器
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 "
另外,执行子程序调用时,状态寄存器的内容不会自动压入堆栈。如果状态寄存器的内容是重要的,
而且子程序会改变状态寄存器的内容,那么程序员必须事先将其保存好,以免被破坏。
位位位位 符号
符号
符号 符号
0 C
1 AC
2 Z
3 OV
4 PDF
5 TO
6~7
Rev. 1.30 7 2008-9-5
如果在加法运算中结果产生了进位,或在减法运算中结果不发生借位,那么 C
被置位;反之,C 被清除。它也可被一个带循环进位指令而影响。
在加法运算中低四位产生了向高四位进位,或减法运算中低四位不发生从高四
位借位,AC 被置位;反之,AC 被清除。
算术运算或逻辑运算的结果为零则 Z 被置位;反之,Z 被清除。
如果运算结果向最高位进位,但最高位并不产生进位输出,那么 OV 被置位;
反之,OV 被清除。
系统上电或执行了 CLR WDT 指令,PDF 被清除。执行 HALT 指令 PDF 被置
位。
系统上电或执行了 CLR WDT 指令或执行了 HALT 指令,TO 被清除。WDT 定
时溢出,TO 被置位。
— 未定义,读出为零
Status (((( 0AH ))))寄存器
功功功功 能能能能
寄存器
寄存器 寄存器
振荡电路
振荡电路
振荡电路 振荡电路
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
HT48RA0-3/HT48CA0-3 只有外部 RC 振荡模式。
在 VSS 与 OSC1 之间要接一个外接电阻。在振荡频率为 4MHz 时,其阻值为
1 2 k
W
O S C 1
12KΩ。
RC 振荡器提供±3%的精确度,使用条件为:
VDD=2.0V~3.6V,温度=0℃~+50℃,f
看门狗定时器
看门狗定时器
看门狗定时器 看门狗定时器
=4MHz
SYS
R C O s c i l l a t o r
系统振荡器
系统振荡器
系统振荡器 系统振荡器
看门狗定时器(WDT)的时钟源是由指令时钟(系统时钟 4 分频)来提供的,时钟源通过分频器和预
分频器来设置不同的溢出时间。
WDT 溢出时间 =
时钟源
n
这里 n=8 ~ 11, 由掩膜选项来选择。
看门狗定时器是用来防止程序的不正常运行或是跳到未知或不希望去的地址,而导致不可预见的结果。
看门狗定时器可以被掩膜选项选项禁止。如 WDT 被禁止,所有与 WDT 有关的执行都导致一个空操作,
而 WDT 会失去保护的功能。在这种情况下,只能由外部逻辑来重新启动系统。
在正常运作下,WDT 溢出会使系统复位并置位 TO 位。有两种方法可以清除 WDT 的值:用软件指令
和 HALT 指令两种。有两组软件指令:一组是单条指令 CLR WDT ,另一组是二条指令组成 CLR WDT1 及
CLR WDT2 。这两组指令中,只能选取其中一种。由掩膜选项中的 CLR WDT 次数选项决定。如果“CLR
WDT”被选择(即 CLR WDLT 次数为 1),那么只要执行 CLR WDT 指令就会清除 WDT。在 CLR WDT1 和
CLR WDT2 被选的情况下,(即 CLR WDT 次数为 2),那么要交替执行二条指令才会连续清除 WDT,否
则, WDT 会由于超时溢出而使系统复位。
C l o c k S o u r c e
( S y s t e m C l o c k / 4 )
F r e q u e n c y D i v i d e r
3 - b i t C o u n t e r
C l e a r W D T
P r e s c a l l e r
( 8 - b i t )
C o d e O p t i o n
S e l e c t
C o d e
O p t i o n
W D T
T i m e - o u t
看门狗定时器
看门狗定时器
看门狗定时器 看门狗定时器
C l o c k S o u r c e
n
2
( n = 8 ~ 1 1 )
暂停模式
暂停模式 ———— HALT
暂停模式 暂停模式
暂停模式是由 HALT 指令来实现的,执行后情况如下:
· 系统振荡器关闭和停止 WDT 。
· RAM 及寄存器的内容保持不变。
· WDT 预分频器被清除。
· 所有的输入/ 输出端口都保持其原先状态。
· PDF 标志位被置位,TO 标志位被清除。
通过加到 PB 口的一个外部下降沿信号,可使系统脱离暂停模式。测试 TO 和 PDF 状态后,系统复位
的原因就可以被确定。PDF 标志位是由系统上电复位或执行 CLR WDT 指令被清除,而它的置位是由于
Rev. 1.30 8 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
执行了 HALT 指令。在正常运行时,如果 WDT 产生溢出,会使 TO 标志位置位。
PB 端口的唤醒看作为正常运行的继续。PB 口的每一位都可以通过掩膜选项来单独设定为对系统的唤
醒。如果唤醒是来自于输入/ 输出口的信号变化,程序会重新继续执行下一条命令。
当唤醒事件发生时,要花 1024 个 t
(系统时钟周期)后,系统重新正常运行。这就是说,在唤醒后
sys
将插入了一个等待时间。
为了减小功耗,在进入 HALT 模式之前必须要小心处理输入/输出端口引脚。
复位
复位
复位 复位
有三种方法可以产生复位:
· 上电复位。
· 低电压复位。
· 正常运行时,WDT 溢出复位。
复位发生时,某些寄存器的内容会保持不变,大多数寄存器的值会复位到初始化状态。通过测试 PDF
标志位和 TO 标志位,程序能分辨不同的复位。
为了保证系统振荡器起振并稳定运行,系统复位(包括上电复位、看门狗定时器溢出)或由暂停状态唤
醒时,系统启动定时器(SST)提供了一个额外的延迟时间,共 1024 个系统时钟周期。
系统复位时,SST 会被加在复位延时中。由暂停模式唤醒也会启动 SST 延迟。
TO PDF
0 0
u u
1 u
注释:“u ”表示未变化。
电源上电复位
正常运作时低电压复位
正常运作时发生看门狗定时器超时
复位条件
复位条件
复位条件 复位条件
系统复位时各功能单元的状态如下所示:
程序计数器(PC)
000H
看门狗预分频器 清除
输入/输出端口 输入模式
堆栈指针 SP 指向栈顶
载波输出 低电平
H A L T
W D T
L V R
O S C 1
S S T
1 0 - s t a g e
R i p p l e C o u n t e r
P o w e r - o n D e t e c t i o n
复位
复位电路结构
电路结构
复位 复位
电路结构 电路结构
C o l d R e s e t
P o w e r - o n R e s e t
V D D
S S T T i m e - o u t
I n t e r n a l R e s e t
t
R S T D
复位时序图
复位时序图
复位时序图 复位时序图
Rev. 1.30 9 2008-9-5
有关寄存器的状态如下
有关寄存器的状态如下::::
有关寄存器的状态如下 有关寄存器的状态如下
寄存器
寄存器 上电复位
寄存器 寄存器
上电复位 低电压复位
上电复位 上电复位
低电压复位
低电压复位 低电压复位
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
WDT 超时溢出
超时溢出
超时溢出 超时溢出
((((正常运行时
正常运行时))))
正常运行时 正常运行时
ACC xxxx xxxx uuuu uuuu
注意: “ U”表示不变化。
“ X”表示不确定。
“ -”表示不存在
输入
输入/ 输出端口
输出端口
输入 输入
输出端口 输出端口
HT48RA0-3/HT48CA0-3 提供一个 8 位双向输入/输出端口,一个 6 位输入 2 位输入/输出端口。PA,
PB 分别对应到 RAM 的[12H] 和 [14H]。 PA 的每一位可由掩膜选项确定为 NMOS 输出或施密特触发输入,
带上拉电阻。而 PB 的 PB0 ~ PB1 具有 PA 的相同的结构,而 PB2 ~ PB6 只能用于输入(施密特触发输入,
带上拉电阻),PB7 用于施密特触发输入,但不带上拉电阻。
在 PA 和 PB0~PB1 用于输入时,这些端口不具有锁存功能,输入数据必须在 MOV A,[m] (m=12H 或
14H) 指令的 T2 上升沿准备好。对 PA 和 PB0~PB1 的输出而言,所有的数据被锁存并保持不变,直到执
行下一个写操作。
uuuu uuuu
在 PA 和 PB0~PB1 用于输入时,需要注意,在从引脚读入数据以前,应该先将相关引脚置“1 ”。即,
要先执行“SET [m].i”(PA: i=0~7,PB: i=0~1)指令来禁止相关的 NMOS 输出,然后用“MOV A,[m]”来获得
稳定的数据。
芯片复位后,PA 和 PB 保持高电平输入状态。PA 和 PB0~PB1 的每一位输出锁存都能被 SET [m].i 或
CLR [m].i 指令置位或清除(m=12H 或 14H) 。
某些指令会首先输入数据然后进行输出操作。例如,SET [m].i ,CLR [m].i,CPL [m]和 CPLA [m]指
令,读取输入口的状态到 CPU ,执行这个被定义的操作(位操作),然后将结果写回这个锁存器或累加器。
由掩膜选项来选择,PB 口的每一根线都具有唤醒系统的能力。
Rev. 1.30 10 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
V
D a t a b u s
W r i t e
C h i p R e s e t
R e a d D a t a
S y s t e m W a k e - u p
R e a d D a t a
D a t a b u s
S y s t e m W a k e - u p
Q
D
C K
Q
S
C o d e O p t i o n
P B 0 ~ P B 1 o n l y
PA ,,,, PB0~PB1 输入
输入/输出口
输入 输入
C o d e O p t i o n
PB2~PB6 输入口
输入口
输入口 输入口
输出口
输出口 输出口
D D
W e a k
P u l l - u p
P u l l - u p
P A 0 ~ P A 7
P B 0 ~ P B 1
V
D D
P B 2 ~ P B 6
D a t a B u s
R e a d D a t a
S y s t e m W a k e - u p
C o d e O p t i o n
P B 7
PB7 输入口
输入口
定时器
定时器
定时器 定时器
输入口 输入口
定时器是一个产生遥控传输模式的内部单元。它由一个 9 位递减计数器(t8~t0 ),一个允许一位定时
输出的标记(t9)和一个零检测器组成。
位位位位 符号
0~7 t0~t7
位位位位 符号
0 t8
1 t9
符号 功能
符号 符号
功能
功能 功能
减法计数器
TSR0 (((( 18H ))))寄存器
符号 功能
符号 符号
寄存器
寄存器 寄存器
功能
功能 功能
递减计数器
定时器使能,初始值为“0”
2~6
7 TOEF
Rev. 1.30 11 2008-9-5
— 空位,读做“0”
定时器运行结束标志,初始值为“1 ”
TSR1 (((( 19H ))))
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
定时器模式
定时器模式
定时器模式 定时器模式
当操作指令对递减计数器置为一个非零值时,定时器开始计数。标志定时器开始工作的操作指令如下
所示:
MOV A, XXH ;XX=00H~FFH
MOV TSR0, A
MOV A, XXH ;XX≤01, t8
MOV TSR1, A
SET TSR1.1 ;t9=1 则定时器开始运行
对于 9 位定时器应注意:
对 TSR0 执行写入时仅将数据写入 TSR0 寄存器( t7~t0 ),对 TSR1 ( t8 )执行写入则将指定数据
和 TSR0 寄存器的内容传输到递减计数器。当数据从 TSR1 和 TSR0 传输到减法计数器之后,TOEF
将被清零,直到 TSR1.1 再次置 1 。
将 TSR1.1 置 1 则定时器开始计数。当计数到 0 ,定时器停止计数,此时 TOEF 置为 1 。
若在定时器计数期间 TSR1.1 清零,定时器将停止计数。一旦 TSR1.1 设置 1→ 0→1,计数器将从
t8~t0 取得新数据,计数器重新开始计数。
若 TSR1.1 和 TOEF 都为 1 ,新数据依次写入 TSR0 和 TSR1 ( t0~t8)之后,定时器将重新计数。
注意: 如果递减计数器的值为 000H,对 t9 置位则定时器开始计数,但仅计数一次。
定时器输出时间=64/f
在一个 64/f
的周期,计数器减 1 (-1)。如果计数器值为“0 ”,零检测器将发出一个定时器运行结束
SYS
→ [(0+1)× 64/f
SYS
SYS
=64/f
SYS
]
的信号使定时器停止计数。同时,TOEF 置 1。若计数器值为 0 ,则定时器运行结束的信号将一直发出,定
时器处于停止状态。定时器输出时间和计数器值关系如下所示。
定时器输出时间= ( 计数器初值+1)×64/f
SYS
举例如下:
MOV A, 0FFH
MOV TSR0, A
MOV A, 01H
MOV TSR1, A
SET TSR1.1
如上设置则定时器输出时间如下所示。
(计数器初值+1)× 64/f
=(511+1)× 16µs=8.192ms
SYS
R E M
8 . 1 9 2 m s
通过设置 t9 使能定时器输出“1”,定时器在 REM 引脚输出它的运行状态。在定时器运行中,REM 引脚也
输出载波。
注意:如果在高电平期间模寄存器(CARH )第 9 位清零,则输出载波。
Rev. 1.30 12 2008-9-5
R E M
T i m e r O u t p u t T i m e :
( S e t v a l u e + 1 ) x 6 4 / f
载波无输出时的定时器输出
载波无输出时的定时器输出
载波无输出时的定时器输出 载波无输出时的定时器输出
S Y S
载波
载波输出
输出
载波 载波
输出 输出
R E M
载波输出发生器
载波发生器由一个 9 位计数器和两个独立设置高、低电平周期的模寄存器 CARH 、CARL 组成。
C a r r i e r
S y n c h r o n o u s
C i r c u i t
C a r r i e r S i g n a l
t
S R 1
t 9 t 8 t 7 t 6 t 5 t 4 t 3 t 2 t 1 t 0
D o w n C o u n t e r , ( t 8 ~ t 0 ) + 1
定时器结构
定时器结构
定时器结构 定时器结构
t
S R 0
Z e r o D e t e c t o r
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
f
/ 6 4
C o u n t
C l o c k
T O E F
S Y S
t 9
寄存器
寄存器 7 6 5 4 3 2 1 0
寄存器 寄存器
CARL0
CARL1
CL.7 CL. CL. CL. CL.3 CL.2 CL.1 CL.0
— — — — — — Fix “ 0”
CL.8
CARH0 CH.7 CH.6 CH.5 CH.4 CH.3 CH.2 CH.1 CH.0
CH.9
CARH1
— — — — — —
CH.8
(CARY)
CARL0 (((( 1AH ))))寄存器
注意:1. CARH1.1(CARY)初始值为“1 ”
2. CARL1.2 (CARH1.2 )~CARL1.7 (CARH1.7 )是空位,读做“0 ”。
载波占空比和载波频率是通过使用模寄存器分别设置高、低电平的宽度来决定的。在 f
寄存器,,,,CARL1 ((((1BH ))))寄存器
寄存器 寄存器
寄存器,,,,CARH0 ((((1CH ))))寄存器
寄存器 寄存器
寄存器,,,,CARH1 ((((1DH ))))寄存器
寄存器 寄存器
寄存器
寄存器 寄存器
=4MHz 时,
SYS
高、低电平的宽度范围是 500ns~64µs。 CARH ( CARH1.0 , CARH0.7~CARH0.0 )和 CARL (CARL1.0,
CARL0.7~CARL0.0)使用指令进行读写操作。
范例:
MOV A, XXH ;XXH=00H`FFH
MOV CARL0, A
MOV A, XXH ;XXH≤ 01H, CL.8(CARL1.0)
MOV CARL1, A
MOV A, XXH ;XXH=00H~FFH
MOV CARH0, A
MOV A, XXH ;XXH≥ 02H, CH.8(CARH1.0)
MOV CARH1, A
CLR CARH1.1 ; 通过清零 CARY( CARH1.1)=“ 0”,载波有效
Rev. 1.30 13 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
C A R H
C a r r i e r
S i g n a l
C A R H 1
C H . 8
C H . 9
C A R Y
M a t c h
F / F
C l e a r
C H . 7 C H . 6 C H . 5 C H . 4 C H . 3 C H . 2 C H . 1 C H . 0
M o d u l o r e g i s t e r f o r s e t t i n g t h e h i g h - l e v e l p e r i o d
C A R H 0
( C A R H . 8 ~ C A R H . 0 )
遥控器载波发生器的结构
遥控器载波发生器的结构
遥控器载波发生器的结构 遥控器载波发生器的结构
注意:1. 设置低电平周期(CARL )的模寄存器的第九位置为“0 ”。
2. t9:使能定时器输出的标志(定时器模块,请看定时器结构图)
CARH 和 CARL 值计算如下:
CARL(CARL1.0, CARL0.7~CARL0.0) =( f
CARH(CARH1.0, CARH0.7~CARH0.0)=( f
× (1- D) × T ) -1
SYS
SYS
C A R L 1
C L . 8
C L . 9 ( 0 )
N o t e 1 .
S e l e c t o r
C o m p a r a t o r
9 - b i t C o u n t e r
×D ×T )-1
C A R L
C A R L 0
C L . 7 C L . 6 C L . 5 C L . 4 C L . 3 C L . 2 C L . 1 C L . 0
M o d u l o r e g i s t e r f o r s e t t i n g t h e l o w - l e v e l p e r i o d
( C A R L . 8 ~ C A R L . 0 )
f
S Y S
t 9 ( N o t e 2 )
f
S Y S
D:载波占空比(0<D<1)
f
:输入时钟( MHz)
SYS
T:载波周期(µ s)
确保写入 CARL 和 CARH 的输入值在 001H~1FFH 范围之内。
范例:
f
=4MHz,f C=38.1KHz, T=1/ fC=26.25µs,占空比=1/3
SYS
CARL=( 4M× (1-1/3)× 26.25µs) -1=69=45H
CARH=( 4M×1/3×26.25µs)-1=34=22H
MOV A, 045H
MOV CARL0, A
MOV A, 022H
MOV CARH0, A
CLR CARH1.1 ; 通过清零 CARY(CARH1.1) =“0”,载波有效
Rev. 1.30 14 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
载波输出控制
遥控器载波从 REM 引脚输出,是通过清零第 9 位(CARY,即设置高电平周期(CARH )的摸寄存器)
来实现的。
载 波 输 出 时 , 要 确 保 在 设 置 CARH ( CARH1.0 , CARH0.7~CRH0.0 ) 和 CARL ( CARL1.0 ,
CARL0.7~CARL0.0 )的值后建立定时器的运行。
注意,在载波输出过程中,如果改变 CARH (CARH1.0,CARH0.7~CARH0.0)和 CARL (CARL1.0,
CARL0.7~CARL0.0 )的值,可能会产生故障。
定时器操作指令是从载波输出的低电平开始执行的。
T i m e r O u t p u t T i m e :
T i m e r O u t p u t
C a r r i e r
( S e t v a l u e + 1 ) x 6 4 / f
t
L
t
H
S Y S
S e e N o t e
载波输出时定时器的输出
载波输出时定时器的输出
载波输出时定时器的输出 载波输出时定时器的输出
注意:当载波信号有效,在信号的高电平期间,如果定时器输出将要变为低电平,则在输出低电平之前载波信号要结束
高电平。
REM 引脚输出如下所示。
9 位递减计数器
位递减计数器
CARH1.1
((((CARY) )))
定时器输出使能标志
定时器输出使能标志
定时器输出使能标志 定时器输出使能标志
((((t9 ::::TSR1.1) )))
位递减计数器 位递减计数器
((((TSR0.0~TSR0.7, ,,,
REM 引脚
引脚
引脚 引脚
TSR1.0 ))))
0 0 0
输出低电平
0 0
0 1 0
0 1
1 0
1 1
注: CARH( CARH1.0, CARH0.7~CARH0.0)和 CARL( CARL1.0, CARL0.7~CARL0.0)的输入值范围是 001H~1FFFH。
警告:当 REM 引脚为低电平时( t9=0 或 t0~t8=0),CARH(CARH1.0,CARH0.7~CARH0.0)和 CARL( CARL1.0,
CARL0.7~CARL0.0)必须置位。
非 0
64/f
(带载波输出)
SYS
非 0 载波输出(注)
— 低电平输出
— 高电平输出
Rev. 1.30 15 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
CARH( (((CARH1.0, ,,,
CARH0.7~CARH0.0) )))
01H 01H 0.50 0.50 1.00 1000 1/2
03H 05H 1.00 1.50 2.50 400 2/5
09H 09H 2.50 2.50 5.00 200 1/2
13H 13H 5.00 5.00 10.00 100 1/2
20H 20H 8.25 8.25 16.50 60.61 1/2
21H 41H 8.50 16.50 25.00 40.00 1/3
22H 44H 8.75 17.25 26.00 38.46 1/3
22H 45H 8.75 17.50 26.25 38.10 1/3
22H 46H 8.75 17.75 26.50 37.74 1/3
23H 48H 9.00 18.25 27.25 36.70 1/3
24H 49H 9.25 18.50 27.75 36.04 1/3
34H 6AH 13.25 26.75 40.00 25.00 1/3
CARL( (((CARL1.0, ,,,
CARL0.7~CARL0.0) )))
tH((((µs)))) tL((((µs)))) t( (((µs)))) fC((((KHz))))
占空
占空
占空 占空
比比比比
3BH 3BH 15.00 15.00 30.00 33.33 1/2
63H 63H 25.00 25.00 50.00 20.00 1/2
7FH 7FH 32.00 32.00 64.00 15.63 1/2
载波频率设置
载波频率设置((((f
载波频率设置 载波频率设置
C a r r i e r S i g n a l
t
H
SYS
t
L
t
=4MHz) )))
Rev. 1.30 16 2008-9-5
低电压复位
低电压复位 ———— LVR
低电压复位 低电压复位
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
为了监控器件的工作电压,单片机提供低电压复位功能。如果工作电压在 0.9V ~V
之间,例如电
LVR
池电压的变化,那么 LVR 会自动使器件产生内部复位。
LVR 功能说明如下:
· 低电压 (0.9V~ V
)的状态必须持续 1ms 以上。如果低电压的状态没有持续 1ms 以上,那么 LVR 会
LVR
忽视它而不去执行复位功能。
VDD与 V
之间的关系如下所示:
LVR
V
D D
3 . 6 V
V
L V R
0 . 9 V
0 V
R e s e t S i g n a l
R e s e t
N o r m a l O p e r a t i o n R e s e t
* 1 * 2
低电压复位
低电压复位
低电压复位 低电压复位
L V R D e t e c t V o l t a g e
注: *1: 要保证系统振荡器起振并稳定运行,在系统进入正常运行以前, SST 提供额外的 1024 个系统时钟周期的延迟。
*2:因为低电压状态必须保持 1ms 以上,因此进入复位模式就要有 1ms 的延迟。
掩膜选项
掩膜选项
掩膜选项 掩膜选项
下面的表格列出了 HT48RA0-3/HT48CA0-3 掩膜选项,所有这些选项必须被定义来确保系统正确的功
能。
No.
掩膜选项
掩膜选项
掩膜选项 掩膜选项
看门狗定时器(WDT )溢出时间的选择:
n
1
2
WDT 的溢出周期=
看门狗定时器( WDT):打开 /关闭
2
时钟频率源
,这里 n = 8 ~ 11
清除看门狗定时器(CLR WDT)指令条数, 这个选项定义用指令清除 WDT 的方法。
3
1 条指令,即用CLR WDT指令清除 WDT。2 条指令,即必须要用 CLR WDT1 和 CLR WDT2
两条指令交替使用来清除 WDT。
唤醒(Wake-up)选择:
4
这个选项来定义激活唤醒功能。外部的输入/ 输出引脚(仅 PB 具有)使芯片从 HALT 状
态中唤醒的能力。
5
LVR 功能:打开/关闭
Rev. 1.30 17 2008-9-5
应用电路
应用电路
应用电路 应用电路
图例
图例
图例 图例
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
注意
注意::::“* ”0.1uF 的电容与 100uF 电容并联到地,是为了确保系统的稳定适应 A.C. 特性的容差。
注意 注意
必需配合外部104 电容时精度才能稳定到 3%以内。
Rev. 1.30 18 2008-9-5
振荡电路
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
指令集介绍
指令集介绍
指令集介绍 指令集介绍
指令集
指令集
指令集 指令集
任何单片机成功运作的核心在于它的指令集,此指令集为一组程序指令码,用来指导单片机如何去执行指定的工
作。在盛群单片机中,提供了丰富且易变通的指令,共超过六十条,程序设计师可以事半功倍地实现他们的应用。
为了更加容易了解各式各样的指令码,接下来按功能分组介绍它们。
指令周期
指令周期
指令周期 指令周期
大部分的操作均只需要一个指令周期来执行。分支、调用或查表则需要两个指令周期。一个指令周期相当于四个
系统时钟周期,因此如果在 8MHz 的系统时钟振荡器下,大部分的操作将在 0.5µs 中执行完成,而分支或调用操作则
将在1µ s 中执行完成。虽然需要两个指令周期的指令通常指的是JMP、CALL、RET、RETI 和查表指令,但如果牵涉
到程序计数器低字节寄存器 PCL 也将多花费一个周期去加以执行。即指令改变 PCL 的内容进而导致直接跳转至新地
址时,需要多一个周期去执行。例如“CLR PCL”或“MOV PCL, A”。对于跳转命令必须注意的是,如果比较的结果牵涉
到跳转动作将多花费一个周期,如果没有则需一个周期即可。
数据的传送
数据的传送
数据的传送 数据的传送
单片机程序中数据传送是使用最为频繁的操作之一,使用三种 MOV 的指令,数据不但可以从寄存器转移至累加
器(反之亦然),而且能够直接移动立即数到累加器。数据传送最重要的应用之一是从接收端口接收数据或者传送数据
到输出端口。
算术运算
算术运算
算术运算 算术运算
算术运算和数据处理是大部分单片机应用所需具备的能力,在盛群单片机内部的指令集中,可直接实现加与减的
运算。当加法的结果超出 255 或减法的结果少于 0 时,要注意正确的处理进位和借位的问题。INC、INCA、DEC 和
DECA 指令提供了对一个指定地址的值加一或减一的功能。
逻辑和移位运算
逻辑和移位运算
逻辑和移位运算 逻辑和移位运算
标准逻辑运算例如 AND、OR、XOR 和 CPL 全都包含在盛群单片机内部的指令集中。大多数牵涉到数据运算的
指令,数据的传送必须通过累加器。在所有逻辑数据运算中,如果运算结果为零,则零标志位将被置位,另外逻辑数
据运用形式还有移位指令,例如 RR 、RL、RRC 和 RLC 提供了向左或向右移动一位的方法。移位指令常用于串行端
口的程序应用,数据可从内部寄存器转移至进位标志位,而此位则可被检验,移位运算还可应用在乘法与除法的运算
组成中。
分支和控制的转换
分支和控制的转换
分支和控制的转换 分支和控制的转换
程序分支是采取使用JMP 指令跳转至指定地址或使用CALL 指令调用子程序的形式,两者之不同在于当子程序被
执行完毕后,程序必须马上返回原来的地址。这个动作是由放置在子程序里的返回指令RET 来实现,它可使程序跳回
CALL 指令之后的地址。在JMP 指令中,程序则只是跳到一个指定的地址而已,并不需如CALL 指令般跳回。一个非
常有用的分支指令是条件跳转,跳转条件是由数据存储器或指定位来加以决定。遵循跳转条件,程序将继续执行下一
Rev. 1.30 19 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
条指令或略过且跳转至接下来的指令。这些分支指令是程序走向的关键,跳转条件可能是外部开关输入,或者是内部
数据位的值。
位运算
位运算
位运算 位运算
供数据存储器中单个位的运算指令是盛群单片机的特性之一。这特性对于输出端口位的规划尤其有用,其中个别
的位或端口的引脚可以使用“SET [m].i”或“CLR [m].i”指令来设定其为高位或低位。如果没有这特性,程序设计师必须
先读入输出口的 8 位数据,处理这些数据,然后再输出正确的新数据。这种读入-修改-写出的过程现在则被位运算指
令所取代。
查表运算
查表运算
查表运算 查表运算
数据的储存通常由寄存器完成,然而当处理大量固定的数据时,它的存储量常常造成对个别存储器的不便。为了
改善此问题,盛群单片机允许在程序存储器中设定一块数据可直接存储的区域,只需要一组简易的指令即可对数据进
行查表。
其它运算
其它运算
其它运算 其它运算
除了上述功能指令外,其它指令还包括用于省电的“HALT”指令和使程序在极端电压或电磁环境下仍能正常工作
的看门狗定时器控制指令。这些指令的使用则请查阅相关的章节。
指令集摘要
指令集摘要
指令集摘要 指令集摘要
下列表格是按照指令功能来分类描述的,可作为基本指令的参考,其使用了如下惯例。
表格惯例:
x:立即数
m:数据存储器地址
A:累加器
I:0~7 号位
Addr:程序存储器地址
助记符
助记符 说明
助记符 助记符
算术运算
算术运算
算术运算 算术运算
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]
说明 指令周期
说明 说明
ACC 与数据存储器相加,结果放入 ACC
ACC 与数据存储器相加,结果放入数据存储器
ACC 与立即数相加,结果放入 ACC
ACC 与数据存储器、进位标志相加,结果放入 ACC
ACC 与数据存储器、进位标志相加,结果放入数据存储器
ACC 与立即数相减,结果放入 ACC
ACC 与数据存储器相减,结果放入 ACC
ACC 与数据存储器相减,结果放入数据存储器
ACC 与数据存储器、进位标志相减,结果放入 ACC
ACC 与数据存储器、进位标志相减,结果放入数据存储器
将加法运算中放入 ACC 的值调整为十进制数,并将结果放
入数据存储器
指令周期 影响标志位
指令周期 指令周期
1 Z,C,AC,OV
(1)
1
1 Z,C,AC,OV
1 Z,C,AC,OV
(1)
1
1 Z,C,AC,OV
1 Z,C,AC,OV
(1)
1
1 Z,C,AC,OV
(1)
1
(1)
1
影响标志位
影响标志位 影响标志位
Z,C,AC,OV
Z,C,AC,OV
Z,C,AC,OV
Z,C,AC,OV
C
Rev. 1.30 20 2008-9-5
逻辑运算
逻辑运算
逻辑运算 逻辑运算
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
HT48RA0-3/ HT48CA0-3
ACC 与数据存储器做“与”运算,结果放入 ACC
ACC 与数据存储器做“或”运算,结果放入 ACC
ACC 与数据存储器做“异或”运算,结果放入 ACC
ACC 与数据存储器做“与”运算,结果放入数据存储器
ACC 与数据存储器做“或”运算,结果放入数据存储器
ACC 与数据存储器做“异或”运算,结果放入数据存储器
ACC 与立即数做“与”运算,结果放入 ACC
ACC 与立即数做“或”运算,结果放入 ACC
ACC 与立即数做“异或”运算,结果放入 ACC
对数据存储器取反,结果放入数据存储器
对数据存储器取反,结果放入 ACC
递增数据存储器,结果放入 ACC
递增数据存储器,结果放入数据存储器
递减数据存储器,结果放入 ACC
递减数据存储器,结果放入数据存储器
数据存储器右移一位,结果放入 ACC
数据存储器右移一位,结果放入数据存储器
带进位将数据存储器右移一位,结果放入 ACC
带进位将数据存储器右移一位,结果放入数据存储器
数据存储器左移一位,结果放入 ACC
数据存储器左移一位,结果放入数据存储器
带进位将数据存储器左移一位,结果放入 ACC
带进位将数据存储器左移一位,结果放入数据存储器
将数据存储器送至 ACC
将 ACC 送至数据存储器
将立即数送至 ACC
清除数据存储器的位
置位数据存储器的位
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
1 Z
1 Z
1 Z
(1)
1
Z
(1)
1
Z
(1)
1
Z
1 Z
1 Z
1 Z
(1)
1
Z
1 Z
1 Z
(1)
1
Z
1 Z
(1)
1
Z
1
(1)
1
1 C
(1)
1
C
1
(1)
1
无
无
无
无
1 C
(1)
1
C
1
(1)
1
1
(1)
1
(1)
1
无
无
无
无
无
助记符
助记符 说明
助记符 助记符
转移
转移
转移 转移
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
Rev. 1.30 21 2008-9-5
说明 指令周期
说明 说明
无条件跳转
如果数据存储器为零,则跳过下一条指令
数据存储器送至 ACC,如果内容为零,则跳过下一条指令
如果数据存储器的第 i 位为零,则跳过下一条指令
如果数据存储器的第 i 位不为零,则跳过下一条指令
递增数据存储器,如果结果为零,则跳过下一条指令
递减数据存储器,如果结果为零,则跳过下一条指令
递增数据存储器,将结果放入 ACC,如果结果为零,则跳过
下一条指令
递减数据存储器,将结果放入 ACC,如果结果为零,则跳过
下一条指令
子程序调用
从子程序返回
从子程序返回,并将立即数放入 ACC
指令周期 影响标志位
指令周期 指令周期
2
(2)
1
(2)
1
(2)
1
(2)
1
(3)
1
(3)
1
(2)
1
(2)
1
2
2
2
影响标志位
影响标志位 影响标志位
无
无
无
无
无
无
无
无
无
无
无
无
RETI
查表
查表
查表 查表
TABRDC [m]
TABRDL [m]
其它指令
其它指令
其它指令 其它指令
NOP
CLR [m]
SET [m]
CLR WDT
CLR WDT1
CLR WDT2
SWAP [m]
SWAPA [m]
HALT
注: x:立即数
m:数据存储器地址
A:累加器
i:第 0~7 位
addr:程序存储器地址
√:影响标志位
—:不影响标志位
(1)
:如果数据是加载到 PCL 寄存器,则指令执行周期会被延长一个指令周期 (四个系统时钟 )。
(2)
:如果满足跳跃条件,则指令执行周期会被延长一个指令周期 (四个系统时钟 );否则指令执行周期不会被延长。
(3):(1)和(2)
(4)
:如果执行 CLW WDT1 或 CLR WDT2 指令后,看门狗定时器被清除,则会影响 TO 和 PDF 标志位;否则不会
影响 TO 和 PDF 标志位。
从中断返回
读取当前页的 ROM 内容,并送至数据存储器和 TBLH
读取最后页的 ROM 内容,并送至数据存储器和 TBLH
空指令
清除数据存储器
置位数据存储器
清除看门狗定时器
预清除看门狗定时器
预清除看门狗定时器
交换数据存储器的高低字节,结果放入数据存储器
交换数据存储器的高低字节,结果放入 ACC
进入暂停省电模式
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
2
(1)
2
(1)
2
1
(1)
1
(1)
1
1 TO,PDF
1 TO
1 TO
(1)
1
1
1 TO,PDF
(4)
(4)
无
无
无
无
无
无
,PDF
,PDF
无
无
(4)
(4)
指令描述
指令描述
指令描述 指令描述
ADC A, [m] 累加器与数据存储器、进位标志相加,结果放入累加器
说明: 本指令把累加器、数据存储器值以及进位标志相加,结果存放到累加器。
运算过程: ACCACC+[m]+C
影响标志位 OV,Z,AC,C
ADCM A, [m] 累加器与数据存储器、进位标志相加,结果放入数据存储器
说明: 本指令把累加器、数据存储器值以及进位标志相加,结果存放到存储器。
运算过程: [m]ACC+[m]+C
影响标志位 OV,Z,AC,C
ADD A, [m] 累加器与数据存储器相加,结果放入累加器
说明: 本指令把累加器、数据存储器值相加,结果存放到累加器。
运算过程: ACCACC+[m]
影响标志位 OV,Z,AC,C
Rev. 1.30 22 2008-9-5
HT48RA0-3/ HT48CA0-3
ADD A, x 累加器与立即数相加,结果放入累加器
说明: 本指令把累加器值和立即数相加,结果存放到累加器。
运算过程: ACCACC+x
影响标志位 OV,Z,AC,C
ADDM A, [m] 累加器与数据存储器相加,结果放入数据存储器
说明: 本指令把累加器、数据存储器值相加,结果放到数据存储器。
运算过程: [m]ACC+[m]
影响标志位 OV,Z,AC,C
AND A, [m] 累加器与数据存储器做“与”运算,结果放入累加器
说明: 本指令把累加器值、数据存储器值做逻辑与,结果存放到累加器。
运算过程: ACCACC “AND” [m]
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
影响标志位 Z
AND A, x 累加器与立即数做“与”运算,结果放入累加器
说明: 本指令把累加器值、立即数做逻辑与,结果存放到累加器。
运算过程: ACCACC “AND” x
影响标志位 Z
ANDM A, [m] 累加器与数据存储器做“与”运算,结果放入数据存储器
说明: 本指令把累加器值、数据存储器值做逻辑与,结果放到数据存储器。
运算过程: [m]ACC “AND” [m]
影响标志位 Z
CALL addr 子程序调用
说明: 本指令直接调用地址所在处的子程序,此时程序计数器加一,将此程序计数器值存到堆栈寄存器
中,再将子程序所在处的地址存放到程序计数器中。
运算过程: StackPC+1
PC addr
影响标志位 没有
CLR [m] 清除数据存储器
说明: 本指令将数据存储器内的数值清零。
运算过程: [m] 00H
影响标志位 没有
Rev. 1.30 23 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
CLR [m] . i 将数据存储器的第 i 位清“0”
说明: 本指令将数据存储器内第i 位值清零。
运算过程: [m].i 0
影响标志位 没有
CLR WDT 清除看门狗定时器
说明: 本指令清除WDT 计数器(从0 开始重新计数),暂停标志位(PDF)和看门狗溢出标志位(TO)也被清
零。
运算过程: WDT 00H
PDF&TO 0
影响标志位 TO,PDF
CLR WDT1 预清除看门狗定时器
说明: 必须搭配 CLR WDT2 一起使用,才可清除WDT 计时器(从0 开始重新计数)。当程序只执行过该
指令,没有执行CLR WDT2时,系统只会不会将暂停标志位(PDF)和计数溢出位(TO)清零,PDF
与TO 保留原状态不变。
运算过程: WDT 00H
PDF&TO 0
影响标志位 TO,PDF
CLR WDT2 预清除看门狗定时器
说明: 必须搭配 CLR WDT1 一起使用,才可清除 WDT 计时器(从0 开始重新计数)。当程序只执行过该
指令,没有执行CLR WDT1时,系统只会不会将暂停标志位(PDF)和计数溢出位(TO)清零,PDF
与TO 保留原状态不变。
运算过程: WDT 00H
PDF&TO 0
影响标志位 TO,PDF
CPL [m] 对数据存储器取反,结果放入数据存储器
说明: 本指令是将数据存储器内保存的数值取反。
运算过程: [m] [ m]
影响标志位 Z
CPLA [m] 对数据存储器取反,结果放入累加器
说明: 本指令是将数据存储器内保存的值取反后,结果存放在累加器中。
运算过程: ACC [ m]
影响标志位 Z
Rev. 1.30 24 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
DAA [m] 将加法运算后放入累加器的值调整为十进制数,并将结果放入数据存储器
说明 本指令将累加器高低四位分别调整为 BCD 码。如果低四位的值大于“9”或AC=1,那么BCD 调整
就执行对原值加“6”;否则原值保持不变。如果高四位的值大于“9”或 C=1,那么BCD 调整就执行
对原值加“6”。本质上,就是基于累加器的值和标志位的基础上,通过对 BCD 加 00H,06H,60H
或66H 进行十进制调整。只有进位标志位(C)受该指令的影响,它标志原BCD码之和是否大于100,
它保证了通过十进制数进行乘法计算的精确度。
操作 [m] (ACC+00H )或
[m] (ACC+06H )或
[m] (ACC+60H )或
[m] (ACC+66H )或
影响标志位 C
DEC [m] 数据存储器的内容减 1,结果放入数据存储器
说明: 本指令将数据存储器内的数值减一再放回数据存储器。
运算过程: [m] [m]-1
影响标志位 Z
DECA [m] 数据存储器的内容减 1,结果放入累加器
说明: 本指令将存储器内的数值减一,再放到累加器。
运算过程: ACC [m]-1
影响标志位 Z
HALT 进入暂停模式
说明: 本指令终止程序执行并关掉系统时钟,RAM 和寄存器内的数值保持原状态,WDT 计数器清“0”,
暂停标志位(PDF)被设为 1 , WDT 计数溢出位(TO)被清为 0 。
运算过程: TO 0
PDF 1
影响标志位 TO,PDF
INC [m] 数据存储器的内容加 1,结果放入数据存储器
说明: 本指令将数据存储器内的数值加一,结果放回数据存储器。
运算过程: [m] [m]+1
影响标志位 Z
Rev. 1.30 25 2008-9-5
INCA [m] 数据存储器的内容加 1 ,结果放入累加器
说明: 本指令是将存储器内的数值加一,结果放到累加器。
运算过程: ACC [m]+1
影响标志位 Z
JMP addr 无条件跳转
说明: 本指令是将要跳到的目的地直接放到程序计数器内。
运算过程: PC addr
影响标志位 没有
MOV A, [m] 将数据存储器送至累加器
说明: 本指令是将数据存储器内的数值送到累加器内。
运算过程: ACC [m]
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
影响标志位 没有
MOV A, x 将立即数送至累加器
说明: 本指令是将立即数送到累加器内。
运算过程: ACC x
影响标志位 没有
MOV [m], A 将累加器送至数据存储器
说明: 本指令是将累加器值送到数据存储器内。
运算过程: [m] ACC
影响标志位 没有
NOP 空指令
说明: 本指令不作任何运算,而只将程序计数器加一。
运算过程: PC PC+1
影响标志位 没有
OR A, [m] 累加器与数据存储器做“或”运算,结果放入累加器
说明: 本指令是把累加器、数据存储器值做逻辑或,结果放到累加器。
运算过程: ACCACC “OR” [m]
影响标志位 Z
Rev. 1.30 26 2008-9-5
HT48RA0-3/ HT48CA0-3
OR A, x 累加器与立即数做“或”运算,结果放入累加器
说明: 本指令是把累加器值、立即数做逻辑或,结果放到累加器。
运算过程: ACCACC “OR” x
影响标志位 Z
ORM A, [m] 累加器与数据存储器做“或”运算,结果放入数据存储器
说明: 本指令是把累加器值、存储器值做逻辑或,结果放到数据存储器。
运算过程: [m]ACC “OR” [m]
影响标志位 Z
RET 从子程序返回
说明: 本指令是将堆栈寄存器中的程序计数器值送回程序计数器。
运算过程: PC Stack
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
影响标志位 没有
RET A, x 从子程序返回,并将立即数放入累加器
说明: 本指令是将堆栈寄存器中的程序计数器值送回程序计数器,并将立即数送回累加器。
运算过程: PC Stack
ACC x
影响标志位 没有
RETI 从中断返回
说明: 本指令是将堆栈寄存器中的程序计数器值送回程序计数器,与RET 不同的是它使用在中断程序结
束返回时,它还会将中断控制寄存器 INTC 的0 位(EMI)中断允许位置1 ,允许中断服务。
运算过程: PC Stack
EMI 1
影响标志位 没有
RL [m] 数据存储器左移一位,结果放入数据存储器
说明: 本指令是将数据存储器内的数值左移一位,第 7 位移到第 0 位,结果送回数据存储器。
运算过程: [m].(i+1) [m].i;(i=0~6)
[m].0 [m].7
影响标志位 没有
Rev. 1.30 27 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
RLA [m] 数据存储器左移一位,结果放入累加器
说明: 本指令是将存储器内的数值左移一位,第 7 位移到第 0 位,结果送到累加器,而数据存储器内的
数值不变。
运算过程: ACC.(i+1) [m].i; (i=0~6)
ACC.0 [m].7
影响标志位 没有
RLC [m] 带进位将数据存储器左移一位,结果放入数据存储器
说明: 本指令是将存储器内的数值与进位位左移一位,第 7 位取代进位标志,进位标志移到第 0 位,结
果送回数据存储器。
运算过程: [m].(i+1) [m].i; (i=0~6)
[m].0 C
C [m].7
影响标志位 C
RLCA [m] 带进位将数据存储器左移一位,结果放入累加器
说明: 本指令是将存储器内的数值与进位位左移一位,第七位取代进位标志,进位标志移到第 0 位,结
果送回累加器。
运算过程: ACC.(i+1) [m].i; (i=0~6)
ACC.0 C
C [m].7
影响标志位 C
RR [m] 数据存储器右移一位,结果放入数据存储器
说明: 本指令是将存储器内的数值循环右移,第0 位移到第 7 位,结果送回数据存储器。
运算过程: [m].i [m].(i+1); (i=0~6)
[m].7 [m].0
影响标志位 没有
RRA [m] 数据存储器右移一位,结果放入累加器
说明: 本指令是将数据存储器内的数值循环右移,第0 位移到第7 位,结果送回累加器,而数据存储器
内的数值不变。
运算过程: ACC.i [m].(i+1); (i=0~6)
ACC.7 [m].0
影响标志位 没有
Rev. 1.30 28 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
RRC [m] 带进位将数据存储器右移一位,结果放入数据存储器
说明: 本指令是将存储器内的数值加进位位循环右移,第 0 位取代进位标志,进位标志移到第 7 位,结
果送回存储器。
运算过程: [m].i [m].(i+1); (i=0~6)
[m]. 7 C
C [m].0
影响标志位 C
RRCA [m] 带进位将数据存储器右移一位,结果放入累加器
说明: 本指令是将数据存储器内的数值加进位位循环右移,第0 位取代进位标志,进位标志移到第 7 位,
结果送回累加器,数据存储器内的数值不变。
运算过程: ACC.i [m].(i+1) ; (i=0~6)
ACC.7 C
C [m].0
影响标志位 C
SBC A,[m] 累加器与数据存储器、进位标志相减,结果放入累加器
说明: 本指令是把累加器值减去数据存储器值以及进位标志的取反,结果放到累加器。
运算过程: ACC ACC - [m] - C
影响标志位 OV,Z,AC,C
SBCM A,[m] 累加器与数据存储器、进位标志相减,结果放入数据存储器
说明: 本指令是把累加器值减去数据存储器值以及进位标志取反,结果放到数据存储器。
运算过程: [m]ACC - [m] - C
影响标志位 OV,Z,AC,C
SDZ [m] 数据存储器减1 ,如果结果为 “0”,则跳过下一条指令
说明: 本指令是把数据存储器内的数值减 1 ,判断是否为 0 ,若为 0 则跳过下一条指令,即如果结果为
零,放弃在目前指令执行期间所取得的下一条指令,并插入一个空周期用以取得正确的指令(二个
指令周期)。否则执行下一条指令(一个指令周期)。
运算过程: [m] [m]-1
如果[m]=0,跳过下一条指令执行再下一条。
影响标志位 没有
Rev. 1.30 29 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
SDZA [m] 数据存储器减 1 ,将结果放入累加器,如果结果为 “0”,则跳过下一条指令
说明: 本指令是把数据存储器内的数值减 1 ,判断是否为 0, 为0 则跳过下一行指令并将减完后数据存储
器内的数值送到累加器,而数据存储器内的值不变,即若结果为 0 ,放弃在目前指令执行期间所取
得的下一条指令,并插入一个空周期用以取得正确的指令(二个指令周期)。否则执行下一条指令(一
个指令周期)。
运算过程: ACC [m]-1
如果 ACC =0,跳过下一条指令执行再下一条。
影响标志位 没有
SET [m] 置位数据存储器
说明: 本指令是把存储器内的数值每个位置为1。
运算过程: [m] FFH
影响标志位 没有
SET [m]. i 将数据存储器的第 i 位置 “1”
说明: 本指令是把存储器内的数值的第 i 位置为1。
运算过程: [m].i 1
影响标志位 没有
SIZ [m] 数据存储器加 1 ,如果结果为 “0”,则跳过下一条指令
说明: 本指令是把数据存储器内的数值加 1 ,判断是否为0 。若为0 ,跳过下一条指令,即放弃在目前指
令执行期间所取得的下一条指令,并插入一个空周期用以取得正确的指令(二个指令周期)。否则
执行下一条指令(一个指令周期)。
运算过程: [m] [m]+1
如果 [m]=0,跳过下一行指令
影响标志位 没有
SIZA 数据存储器加1 ,将结果放入累加器,如果结果为“0”,则跳过下一条指令
说明: 本指令是把数据存储器内的数值加 1 ,判断是否为 0, 若为0 跳过下一条指令,即放弃在目前指令
执行期间所取得的下一条指令,并插入一个空周期用以取得正确的指令(二个指令周期),并将加
完后存储器内的数值送到累加器,而数据存储器的值保持不变。否则执行下一条指令(一个指令周
期)。
运算过程: ACC [m]+1
如果ACC =0,跳过下一行指令
影响标志位 没有
Rev. 1.30 30 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
SNZ [m]. i 如果数据存储器的第 i 位不为 “0”,则跳过下一条指令
说明: 本指令是判断数据存储器内的数值的第 i 位, 若不为 0 ,则程序计数器再加 1, 跳过下一行指令,
放弃在目前指令执行期间所取得的下一条指令,并插入一个空周期用以取得正确的指令(二个指令
周期)。否则执行下一条指令(一个指令周期)。
运算过程: 如果 [m].i≠0,跳过下一行指令。
影响标志位 没有
SUB A, [m] 累加器与数据存储器相减,结果放入累加器
说明: 本指令是把累加器值、数据存储器值相减,结果放到累加器。
运算过程: ACCACC - [m]
影响标志位 OV,Z,AC,C
SUB A, x 累加器与立即数相减,结果放入累加器
说明: 本指令是把累加器值、立即数相减,结果放到累加器。
运算过程: ACCACC - x
影响标志位 OV,Z,AC,C
SUBM A, [m] 累加器与数据存储器相减,结果放入数据存储器
说明: 本指令是把累加器值、存储器值相减,结果放到存储器。
运算过程: [m]ACC - [m]
影响标志位 OV,Z,AC,C
SWAP [m] 交换数据存储器的高低字节,结果放入数据存储器
说明: 本指令是将数据存储器的低四位和高四位互换,再将结果送回数据存储器。
运算过程: [m].3~[m].0↔[m].7~[m].4
影响标志位 没有
SWAPA [m] 交换数据存储器的高低字节,结果放入累加器
说明: 本指令是将数据存储器的低四位和高四位互换,再将结果送回累加器。
运算过程: ACC.3~ACC.0 [m].7~[m].4
ACC.7~ACC.4 [m].3~[m].0
影响标志位 没有
Rev. 1.30 31 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
SZ [m] 如果数据存储器为“0”,则跳过下一条指令
说明: 本指令是判断数据存储器内的数值是否为 0 ,为 0 则跳过下一行指令,即放弃在目前指令执行期
间所取得的下一条指令,并插入一个空周期用以得正确的指令(二个指令周期)。否则执行下一条
指令(一个指令周期)。
运算过程: 如果 [m] = 0, 跳过下一行指令。
影响标志位 没有
SZA [m] 数据存储器送至累加器,如果内容为“0”,则跳过下一条指令
说明: 本指令是判断存储器内的数值是否为 0 ,若为 0 则跳过下一行指令,即放弃在目前指令执行期间
所取得的下一条指令,并插入一个空周期用以得正确的指令(二个指令周期)。并把存储器内值送
到累加器,而存储器的值保持不变。否则执行下一条指令(一个指令周期)。
运算过程: 如果[m] = 0,跳过下一行指令,并 ACC [m]。
影响标志位 没有
SZ [m]. i 如果数据存储器的第 i 位为 “0”,则跳过下一条指令
说明: 本指令是判断存储器内第 i 位值是否为0,若为 0 则跳过下一行指令,即放弃在目前指令执行期
间所取得的下一条指令,并插入一个空周期用以得正确的指令(二个指令周期)。否则执行下一条
指令(一个指令周期)。
运算过程: 如果 [m].i = 0,跳过下一行指令。
影响标志位 没有
TABRDC [m] 读取 ROM 当前页的内容,并送至数据存储器和TBLH
说明: 本指令是将表格指针指向程序寄存器当前页,将低位送到存储器,高位直接送到 TBLH 寄存器内。
运算过程: [m] 程序存储器低字节
TBLH程序存储器高字节
影响标志位 没有
TABRDL [m] 读取ROM 最后一页的内容,并送至数据存储器和TBLH
说明: 本指令是将TABLE 指针指向程序寄存器最后页,将低位送到存储器,高位直接送到 TBLH 寄存
器内。
运算过程: [m] 程序存储器低字节
TBLH程序存储器高字节
影响标志位 没有
XOR A, [m] 累加器与立即数做“异或”运算,结果放入累加器
说明: 本指令是把累加器值、 数据存储器值做逻辑异或,结果放到累加器。
运算过程: ACCACC “XOR” [m]
影响标志位 Z
Rev. 1.30 32 2008-9-5
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
XORM A, [m] 累加器与数据存储器做“异或”运算,结果放入数据存储器
说明: 本指令是把累加器值、数据存储器值做逻辑异或,结果放到数据存储器。
运算过程: [m]ACC “XOR” [m]
影响标志位 Z
XOR A, x 累加器与数据存储器做“异或”运算,结果放入累加器
说明: 本指令是把累加器值与立即数做逻辑异或,结果放到累加器。
运算过程: ACCACC “XOR” x
影响标志位 Z
Rev. 1.30 33 2008-9-5
封装信息
封装信息
封装信息 封装信息
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
20-pin SSOP (150mil) 外形尺寸
标号
标号
标号 标号
外形尺寸
外形尺寸 外形尺寸
2 0
A
1
D
A 228
B 150
C 8
C’ 335
D 49
E
F 4
G 15
H 7
ɑ 0 ° — 8 °
1 1
1 0
C
C '
E F
Min Nom Max
—
B
G
H
a
尺寸
尺寸((((mil ))))
尺寸 尺寸
—
—
—
—
—
25
—
—
—
244
158
12
347
65
—
10
50
10
Rev. 1.30 34 2008-9-5
包装带和卷轴规格
包装带和卷轴规格:: ::
包装带和卷轴规格 包装带和卷轴规格
卷轴尺寸
卷轴尺寸::::
卷轴尺寸 卷轴尺寸
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
SSOP 20S (((( 150mil) )))
T 2
A
B
T 1
标号
标号 描述
标号 标号
A
B
C
D
T1
T2
卷轴外圈直径 330±1.0
卷轴内圈直径 62±1.5
轴心直径
缝宽 2.0±0.5
轮缘宽
卷轴宽 22.2±0.2
描述 尺寸
描述 描述
D
C
尺寸(mm)
尺寸 尺寸
13.0+0.5
-0.2
16.8+0.3
-0.2
Rev. 1.30 35 2008-9-5
运输带尺寸
运输带尺寸:: ::
运输带尺寸 运输带尺寸
SSOP 20S (((( 150mil) )))
标号
标号 描述
标号 标号
W
D
D1
P0
P1
A0
B0
K0
C
P
E
F
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
描述 尺寸
描述 描述
运输带宽
空穴间距 8.0±0.1
穿孔位置 1.75±0.1
空穴至穿孔距离(宽度) 7.5±0.1
穿孔直径
空穴中之小孔直径
穿孔间距 4.0±0.1
空穴至穿孔距离(长度) 2.0±0.1
空穴长 6.5±0.1
空穴宽 9.0±0.1
空穴深 2.3±0.1
t
传输带厚度 0.30±0.05
覆盖带宽度
尺寸(mm)
尺寸 尺寸
16.0+0.3
-0.1
1.5+0.1
1.5+0.25
13.3
Rev. 1.30 36 2008-9-5
盛群半导体股份有限公司
盛群半导体股份有限公司((((总公司
盛群半导体股份有限公司 盛群半导体股份有限公司
新竹市科学工业园区研新二路 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)
总公司))))
总公司 总公司
台北业务处))))
台北业务处 台北业务处
HT48RA0-3/ HT48CA0-3
遥控型八位单片机
遥控型八位单片机
遥控型八位单片机 遥控型八位单片机
盛扬半导体有限公司
盛扬半导体有限公司((((上海
盛扬半导体有限公司 盛扬半导体有限公司
上海市宜山路 2016 号合川大厦 1 号楼 3 楼 G 室 200103
电话: 86-21-5422-4590
传真: 86-21-5422-4596
网站: www.holtek.com.cn
盛扬半导体有限
盛扬半导体有限公司
盛扬半导体有限 盛扬半导体有限
深圳市南山区科技园科技中三路与高新中二道交汇处生产力大楼 A 单元五楼 518057
电话: 0755-8616-9908,8616-9308
传真: 0755-8616-9722
盛扬半导体有限
盛扬半导体有限公司
盛扬半导体有限 盛扬半导体有限
北京市西城区宣武门西大街甲 129 号金隅大厦 1721 室 100031
电话: 010-6641-0030, 6641-7751, 6641-7752
传真: 010-6641-0125
盛扬半导体有限公司
盛扬半导体有限公司((((成都
盛扬半导体有限公司 盛扬半导体有限公司
成都市东大街 97 号香槟广场 C 座 709 室 610016
电话: 028-6653-6590
传真: 028-6653-6591
Holtek Semiconductor(USA), Inc. ((((北美业务处
46712 Fremont Blvd., Fremont, CA 94538
电话: 510-252-9880
传真: 510-252-9885
网站: www.holtek.com
Copyright 2008 by HOLTEK SEMICONDUCTOR INC.
使用指南中所出现的信息在出版当时相信是正确的,然而盛群对于说明书的使用不负任何责任。文中提到
的应用目的仅仅是用来做说明,盛群不保证或表示这些没有进一步修改的应用将是适当的,也不推荐它的
产品使用在会由于故障或其它原因可能会对人身造成危害的地方。盛群产品不授权使用于救生、维生器件
或系统中作为关键器件。盛群拥有不事先通知而修改产品的权利,对于最新的信息,请参考我们的网址
http://www.holtek.com.tw
上海业务处
上海 上海
公司((((深圳
深圳业务处
公司 公司
深圳 深圳
公司((((北京
北京业务处
公司 公司
北京 北京
成都业务处
成都 成都
业务处))))
业务处 业务处
业务处))))
业务处 业务处
业务处))))
业务处 业务处
业务处))))
业务处 业务处
北美业务处))))
北美业务处 北美业务处
Rev. 1.30 37 2008-9-5