HT46R47, HT46R22,
HT46R23, HT46R24
A/D 型单片机
使用手册
本使用手册版权为盛群半导体股份有限公司所有,非经盛群半导体股份有限公司书面授权同意,不得通过任
何形式复制、储存或传输。
目录
目录
第一部份 单片机概论 .................................................................. 1
第一章 硬件结构........................................................................................ 3
简介..............................................................................................................3
特性..............................................................................................................4
技术特性.............................................................................................. 4
内核特性.............................................................................................. 4
周边特性.............................................................................................. 5
选择表..........................................................................................................5
系统框线图..................................................................................................6
引脚分配......................................................................................................7
引脚说明......................................................................................................8
极限参数....................................................................................................12
直流电气特性............................................................................................13
交流电气特性............................................................................................14
系统结构....................................................................................................15
时序和流水线结构(Pipelining) .........................................................15
程序计数器........................................................................................ 17
堆栈.................................................................................................... 19
算术及逻辑单元 – ALU ...................................................................20
程序存储器................................................................................................21
结构.................................................................................................... 21
特殊向量............................................................................................ 22
查表.................................................................................................... 23
查表程序范例.................................................................................... 23
数据存储器................................................................................................25
结构.................................................................................................... 25
通用数据存储器................................................................................ 26
专用数据存储器................................................................................ 27
i
A/D 型单片机使用手册
特殊功能寄存器........................................................................................28
间接寻址寄存器 – IAR, IAR0, IAR1...............................................28
间接寻址指针 – MP, MP0, MP1 ......................................................28
储存区指针 − BP..............................................................................29
累加器 – ACC ...................................................................................29
程序计数器低字节寄存器 – PCL ....................................................30
表格寄存器 – TBLP, TBLH.............................................................. 30
状态寄存器 – STATUS.....................................................................30
中断控制寄存器 – INTC, INTC0, INTC1 .......................................31
定时/ 计数寄存器 ...............................................................................31
输入/ 输出端口和控制寄存器 ........................................................... 32
脉冲宽度调制寄存器 − PWM, PWM0, PWM1, PWM2, PWM3....32
2
C 总线寄存器 − HADR, HCR, HSR, HDR...................................32
I
A/D 转换寄存器 − ADRL, ADRH, ADCR, ADSR ..........................32
输入/ 输出端口...........................................................................................33
上拉电阻............................................................................................ 33
PA 口的唤醒 ......................................................................................33
输入/ 输出端口控制寄存器 ...............................................................34
引脚共用功能.................................................................................... 34
编程注意事项.................................................................................... 38
定时/ 计数器 ..............................................................................................39
配置定时/ 计数器输入时钟源 ...........................................................40
定时/ 计数寄存器 – TMR,TMRL/TMRH,
TMR0L/TMR0H, TMR1L/TMR1H...................................................41
定时/ 计数控制寄存器 – TMRC, TMR0C, TMR1C.........................42
定时器模式........................................................................................ 44
事件计数器模式................................................................................ 44
脉冲宽度测量模式............................................................................ 45
可编程分频器(PFD).......................................................................... 46
预分频器(Prescaler)........................................................................... 46
输入/ 输出接口 ...................................................................................47
编程注意事项.................................................................................... 47
脉冲宽度调制器........................................................................................48
6+2 PWM 模式 ..................................................................................50
7+1 PWM 模式 ..................................................................................51
PWM 输出控制 ..................................................................................52
模数转换器 ................................................................................................53
A/D 转换器数据寄存器 – ADRL/ADRH ........................................ 53
A/D 转换器控制寄存器 – ADCR.....................................................54
A/D 转换器时钟源寄存器 – ACSR ................................................. 56
A/D 输入引脚 .................................................................................... 57
A/D 转换的步骤 ................................................................................ 57
A/D 转换功能 .................................................................................... 61
ii
目录
I2C 总线串行接口 .....................................................................................63
2
I
C 总线从地址寄存器 – HADR......................................................64
2
C 总线输入 /输出数据寄存器 – HDR ...........................................64
I
2
C 总线控制寄存器 – HCR.............................................................64
I
2
C 总线状态寄存器 – HSR ............................................................. 65
I
2
C 总线通讯 ...................................................................................... 66
I
中断............................................................................................................70
外部中断............................................................................................ 73
定时/ 计数器中断 ...............................................................................73
A/D 中断 ............................................................................................ 73
2
C 中断 .............................................................................................. 74
I
中断优先权........................................................................................ 74
编程注意事项.................................................................................... 75
复位和初始化............................................................................................76
复位.................................................................................................... 76
振荡器........................................................................................................83
系统时钟配置.................................................................................... 83
系统晶体/ 陶瓷振荡器 .......................................................................83
系统电阻电容振荡器........................................................................ 84
看门狗定时振荡器............................................................................ 84
暂停模式下的暂停和唤醒........................................................................85
看门狗定时器............................................................................................86
掩膜选项....................................................................................................88
应用电路....................................................................................................89
第二部份 程序语言 .................................................................... 93
第二章 指令集介绍.................................................................................. 95
指令集........................................................................................................95
指令周期............................................................................................ 95
数据的传送........................................................................................ 96
算术运算............................................................................................ 96
逻辑和移位运算................................................................................ 96
分支和控制的转换............................................................................ 96
位运算................................................................................................ 96
查表运算............................................................................................ 97
其它运算............................................................................................ 97
指令设定一览表........................................................................................97
惯例.................................................................................................... 97
iii
A/D 型单片机使用手册
第三章 指令定义.................................................................................... 101
第四章 汇编语言和编译器.....................................................................115
常用符号..................................................................................................115
语句语法..................................................................................................116
名称.................................................................................................. 116
操作项.............................................................................................. 116
操作数项.......................................................................................... 116
注解.................................................................................................. 116
编译伪指令..............................................................................................117
条件编译伪指令.............................................................................. 117
文件控制伪指令.............................................................................. 118
程序伪指令...................................................................................... 120
数据定义伪指令.............................................................................. 124
宏伪指令.......................................................................................... 126
汇编语言指令..........................................................................................130
名称.................................................................................................. 130
助记符.............................................................................................. 130
操作数、运算子和表达式.............................................................. 130
其它..........................................................................................................133
前置引用.......................................................................................... 133
局部标号.......................................................................................... 133
汇编语言保留字.............................................................................. 134
编译器选项..............................................................................................135
编译列表文件格式..................................................................................135
源程序列表...................................................................................... 135
编译总结.......................................................................................... 136
其它.................................................................................................. 136
第三部份 开发工具 .................................................................. 139
第五章 单片机开发工具........................................................................ 141
HT-IDE 集成开发环境............................................................................141
盛群单片机仿真器(HT-ICE) ..................................................................143
HT-ICE 接口卡 ................................................................................143
OTP 烧录器 ......................................................................................143
OTP 适配卡 ......................................................................................143
系统配置 ..................................................................................................144
HT-ICE 接口卡设定 ........................................................................145
安装..........................................................................................................146
系统需求.......................................................................................... 146
硬件安装.......................................................................................... 146
软件安装.......................................................................................... 147
iv
目录
第六章 快速开始.................................................................................... 151
步骤一:建立一个新项目.............................................................. 151
步骤二:将源程序文件加到项目中 ..............................................151
步骤三:建立项目.......................................................................... 151
步骤四:烧录 OTP 单片机.............................................................152
步骤五:传送程序与掩膜选项单至 Holtek ..................................152
附录 ..............................................................................................153
附录A 特性曲线图.................................................................................. 155
附录B 封装信息...................................................................................... 165
v
A/D 型单片机使用手册
vi
前言
前言
自从盛群半导体公司成立以来,即致力于单片机产品的设计与开发。虽然盛群
半导体提供给客户各式各样的半导体器件,但其中单片机仍是盛群的主要关键
产品,未来盛群半导体仍将继续扩展单片机产品系列完整性与功能性。通过长
期累积的单片机研发经验与技术,盛群半导体能为各式各样的应用范围开发出
高性能且低价位的单片机芯片。许多连接到外部感应器的重要应用需要处理模
拟信号,所有的这些应用,在它们可以被单片机处理之前需要通过一个 A/D 转
换器做模数信号的转换。为了满足这些需求,盛群开发出 A/D 系列的单片机,
除了拥有 I/O 系列的所有特性和功能外,还含有集成的多通道 A/D 转换器,它
2
的解析度和通道个数可调。而 PWM 功能和 I
列单片机的功能和应用的可行性。
C 接口,则进一步增加了 A/D 系
为了使用者阅读方便,本手册分成三部份。关于一般的单片机的规格信息可在
第一部份中找到。与单片机程序相关的信息,如指令集、指令定义和汇编语言
编译伪指令,可在第二部份找到。第三部份则是关于盛群半导体的开发工具有
关如何安装和使用的相关信息。
希望客户通过这本 A/D 型单片机使用手册,能以一种简单、有效、且完整的方
法,实现他们在单片机上的各种应用。由于盛群半导体将单片机规格、程序规
划和开发工具等信息结合在一本使用手册上,相信客户可充分利用盛群半导体
各种单片机的特性,获取最大的产品优势。盛群半导体也欢迎客户提供宝贵的
意见和建议,以作为我们未来的改进参考。
vii
A/D 型单片机使用手册
viii
第一部份
单片机概论
第一部份 单片机概论
1
A/D 型单片机使用手册
2
第一章 硬件结构
第一章
硬件结构
本章主要为 A/D 型单片机的规格信息,并且包含了所有参数和相关的硬件信
息,这些信息提供设计者此类单片机的主要硬件特性细节,结合程序部份的信
息将能够让使用者快速且成功地实现各种单片机的应用。参考本章中的相关部
份,也保证使用者可以充分利用 A/D 型单片机。
1
简介
HT46R47/HT46C47、 HT46R22/HT46C22、 HT46R23/HT46C23 和 HT46R24/
HT46C24 是 8 位高性能、高效益的 RISC 结构单片机,用于直接处理模拟信号,
例如直接连接传感器。该系列单片机包含一个集成的多通道模数转换器,以及
一个或多个脉冲宽度调制输出。同时也增强了单片机的其它内部特性,如暂停、
唤醒功能、振荡器选择和可编程分频器等,增加了单片机的使用灵活度,而这
些特性也同时保证实际应用时只需要最少的外部器件,进而降低了整个产品的
成本。有了集成的 A/D 和 PWM 功能的优势,再加上低功耗、高性能、灵活控
制的输入/ 输出和低成本等特性,此系列单片机广泛被应用在传感器信号处理、
马达驱动、工业控制、消费性产品和子系统控制器等场合。该系列所有的单片
机都具有相同的特性,主要的不同在于 I/O 引脚数目,RAM 和 ROM 的容量,
定时器数目和大小,A/D 通道和 PWM 输出等方面。
HT46R47、 HT46R22、HT46R23 和 HT46R24 都是属于一次可编程 (One-Time
Programmable, OTP)单片机,当配合使用盛群半导体的程序开发工具时,可简
单有效的更新程序,这提供了设计者快速有效的开发途径。而对于那些已经设
计成熟的应用,Mask 版的 HT46C47 、HT46C22 、HT46C23 和 HT46C24 则可
满足大量生产和低成本的需求。由于和 OTP 版的功能完全兼容,Mask 版对于
已经设计完成而想要降低成本的产品,提供了一个理想的解决方案。
3
特性
A/D 型单片机使用手册
技术特性
• 高性能 RISC 结构
• 低功率完全静态 CMOS 设计
• 工作电压:
在 4MHz 下,由 2.2V 到 5.5V
在 8MHz 下,由 3.3V 到 5.5V
• 功率损耗:
在 5V/4MHz 下,典型值为 2mA (针对 ADC 除能时的晶体振荡器)
不使用看门狗定时器时,3V 下静态(standby) 电流小于 1µ A
• 温度范围:
工作温度−40 °C 到 85° C( 工业级规格)
储存温度−50 °C 到 125° C
内核特性
• 程序存储器
2K×14 OTP/Mask ROM (HT46R47/HT46C47 , HT46R22/HT46C22)
4K×15 OTP/Mask ROM (HT46R23/HT46C23)
8K×16 OTP/Mask ROM (HT46R24/HT46C24)
• 数据存储器
64×8 SRAM (HT46R47/HT46C47 , HT46R22/HT46C22)
192×8 SRAM (HT46R23/HT46C23)
384×8 SRAM (HT46R24/HT46C24)
• 表格读取功能
• 多层硬件堆栈
6-level (HT46R47/HT46C47, HT46R22/HT46C22)
8-level (HT46R23/HT46C23)
16-level (HT46R24/HT46C24)
• 直接和间接数据寻址模式
• 位操作指令
• 63 条强大的指令
• 大多数指令执行时间只需要一个指令周期
4
第一章 硬件结构
周边特性
• 从 13 个到 40 个具有上拉功能的双向输入输出口
• 9 或 10 位多通道 A/D 转换器
• 脉冲宽度调制输出
• PA 端口具有唤醒功能
• 外部中断输入
• 事件计数输入
• 具有预分频器(Prescaler) 及中断功能的定时器
• 看门狗定时器(WDT)
• 暂停与唤醒特性可以节省功耗
• PFD 输出
2
• I
C 接口(除 HT46R47/HT46C47 外)
• 芯片内置晶体及电阻电容振荡器
• 具有低电压复位(LV R )特性
• 具有烧录电路接口及程序代码保护功能
• 掩膜版单片机适用于大量生产
• 提供高效的软硬支持工具
选择表
这系列的 A/D 型单片机拥有广泛的功能特性,其中有些是普通的,有些则是独
有的。大部份的特性对该系列所有的单片机来说是共通的,主要的区别在于程
序存储器和数据存储器的容量,I/O 数目和定时器功能,A/D 通道和 PWM 输
出。为了帮助使用者在应用时能选择适当的单片机,以下表格提供了各个单片
机主要的特性概述。
型号 电源
HT46R47
HT46C47
HT46R22
HT46C22
HT46R23
HT46C23
HT46R24
HT46C24
2.2V~5.5V 2K×14 64×81 38 - b i t×1 3 9-bit×48-bit×1 — 6
2.2V~5.5V 2K×14 64×81 98 - b i t×1 4 9-bit×88-bit×1 √ 6
2.2V~5.5V 4K×15 192×8
2.2V~5.5V 8K×16 384×8
注意: 型号部份包含“C ”的为 Mask 版本,而“R ”则是 OTP 版。
程序
存储器数据存储器
I/O 定时器 中断 A/D PWM I2C 堆栈 封装种类
19 8-bit× 1
16-bit× 1 4 10-bit×8
23
23 8-bit× 2
16-bit× 2 5 10-bit×8
40
8-bit× 2
8-bit× 4
√ 8
√ 16
18DIP,
18SOP
24SKDIP,
24SOP
24SKDIP,
24SOP
28SKDIP,
28SOP
28SKDIP,
28SOP
48SSOP
5
系统框线图
以下的系统框线图为 A/D 型单片机系列的主要功能模块。
A/D 型单片机使用手册
P r o g r a m
M e m o r y
L o o k - u p
R e g i s t e r
C o n f i g .
R e g i s t e r
T a b l e
A d d r e s s D e c o d e r
I n t e r r u p t
C i r c u i t
L o o k - u p
T a b l e
P o i n t e r
C o n f i g .
R e g i s t e r
P r o g r a m
C o u n t e r
S t a c k
S t a c k P o i n t e r
I / O
P o r t s
T o P r o g r a m
M e m o r y
P r o g r a m m i n g
C o n f i g u r a t i o n
O p t i o n
D e v i c e
C i r c u i t r y
S y s t e m R C /
X ' t a l O s c i l l a t o r
A / D
C o n v e r t e r
W D T
O s c i l l a t o r
R e s e t &
L V R
T i m i n g
G e n e r a t o r
D a t a
M e m o r y
C o n f i g .
I2C
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
A d d r e s s D e c o d e r
M
U
X
B a n k
P o i n t e r
C o n f i g .
P W M
R e g i s t e r
M e m o r y
P o i n t e r
W a t c h d o g
T i m e r
I n s t r u c t i o n
R e g i s t e r
M U X
S h i f t e r
C o n f i g .
R e g i s t e r
A L U
A C C
T i m e r ( s ) /
C o u n t e r
P F D
注意: 本系统框线图为 OTP 单片机,至于 Mask 型单片机则没有 Device Programming Circuitry。
HT46R47/HT46C47 不包含 I 2C 接口。只有 HT46R24/HT46C24 才有储存区指针。
6
引脚分配
第一章 硬件结构
P A 3 / P F D
P B 3 / A N 3
P B 2 / A N 2
P B 1 / A N 1
P B 0 / A N 0
1
P A 2
2
P A 1
3
4
P A 0
5
6
7
8
9
V S S
H T 4 6 R 4 7 / H T 4 6 C 4 7
1 8 D I P - A / S O P - A
P B 5 / A N 5
P B 4 / A N 4
P A 3 / P F D
P B 3 / A N 3
P B 2 / A N 2
P B 1 / A N 1
P B 0 / A N 0
1
2
3
P A 2
4
P A 1
5
P A 0
6
7
8
9
1 0
V S S
1 1
P C 0
1 2
P C 1
1 3
P C 2
1 4
H T 4 6 R 2 3 / H T 4 6 C 2 3
2 8 S K D I P - A / S O P - A
1 8
1 7
1 6
1 5
1 4
1 3
1 2
1 1
1 0
2 8
2 7
2 6
2 5
2 4
2 3
2 2
2 1
2 0
1 9
1 8
1 7
1 6
1 5
P A 4 / T M R
P A 5 / I N T
P A 6
P A 7
O S C 2
O S C 1
V D D
R E S
P D 0 / P W M
P B 6 / A N 6
P B 7 / A N 7
P A 4 / T M R
P A 5 / I N T
P A 6 / S D A
P A 7 / S C L
O S C 2
O S C 1
V D D
R E S
P D 1 / P W M 1
P D 0 / P W M 0
P C 4
P C 3
P B 5 / A N 5
P B 4 / A N 4
P A 3 / P F D
P B 3 / A N 3
P B 2 / A N 2
P B 1 / A N 1
P B 0 / A N 0
1
2
3
P A 2
4
P A 1
5
P A 0
6
7
8
9
1 0
V S S
1 1
P C 0
1 2
H T 4 6 R 2 2 / H T 4 6 C 2 2
2 4 S K D I P - A / S O P - A
P B 5 / A N 5
P B 4 / A N 4
P A 3 / P F D
P B 3 / A N 3
P B 2 / A N 2
P B 1 / A N 1
P B 0 / A N 0
1
2
3
P A 2
4
P A 1
5
P A 0
6
7
8
9
1 0
V S S
1 1
P C 0
1 2
P C 1
1 3
P C 2
1 4
H T 4 6 R 2 4 / H T 4 6 C 2 4
2 8 S K D I P - A / S O P - A
P B 6 / A N 6
2 4
P B 7 / A N 7
2 3
P A 4 / T M R
2 2
P A 5 / I N T
2 1
P A 6 / S D A
2 0
P A 7 / S C L
1 9
O S C 2
1 8
O S C 1
1 7
V D D
1 6
R E S
1 5
P D 0 / P W M
1 4
P C 1
1 3
P B 6 / A N 6
2 8
P B 7 / A N 7
2 7
P A 4
2 6
P A 5 / I N T
2 5
P A 6 / S D A
2 4
P A 7 / S C L
2 3
O S C 2
2 2
O S C 1
2 1
V D D
2 0
R E S
1 9
P D 1 / P W M 1 / T M R 1
1 8
P D 0 / P W M 0
1 7
P C 4
1 6
P C 3
1 5
P B 5 / A N 5
P B 4 / A N 4
P A 3 / P F D
P B 3 / A N 3
P B 2 / A N 2
P B 1 / A N 1
P B 0 / A N 0
1
2
3
P A 2
4
P A 1
5
P A 0
6
7
8
9
1 0
V S S
1 1
P C 0
1 2
H T 4 6 R 2 3 / H T 4 6 C 2 3
2 4 S K D I P - A / S O P - A
P B 5 / A N 5
P B 4 / A N 4
P A 3 / P F D
P B 3 / A N 3
P B 2 / A N 2
P B 1 / A N 1
P B 0 / A N 0
V S S
T M R 0
1
2
3
P A 2
4
P A 1
5
P A 0
6
7
8
9
1 0
N C
1 1
P F 3
1 2
P F 2
1 3
P F 1
1 4
P D 7
1 5
P D 6
1 6
P D 5
1 7
P D 4
1 8
1 9
P F 0
2 0
2 1
P C 0
2 2
P C 1
2 3
P C 2
2 4
H T 4 6 R 2 4 / H T 4 6 C 2 4
4 8 S S O P - A
2 4
2 3
2 2
2 1
2 0
1 9
1 8
1 7
1 6
1 5
1 4
1 3
4 8
4 7
4 6
4 5
4 4
4 3
4 2
4 1
4 0
3 9
3 8
3 7
3 6
3 5
3 4
3 3
3 2
3 1
3 0
2 9
2 8
2 7
2 6
2 5
P B 6 / A N 6
P B 7 / A N 7
P A 4 / T M R
P A 5 / I N T
P A 6 / S D A
P A 7 / S C L
O S C 2
O S C 1
V D D
R E S
P D 0 / P W M 0
P C 1
P B 6 / A N 6
P B 7 / A N 7
P A 4
P A 5 / I N T
P A 6 / S D A
P A 7 / S C L
P F 4
P F 5
P F 6
P F 7
O S C 2
O S C 1
V D D
R E S
T M R 1
P D 3 / P W M 3
P D 2 / P W M 2
P D 1 / P W M 1
P D 0 / P W M 0
P C 7
P C 6
P C 5
P C 4
P C 3
注意: SKDIP/SOP 封装的单片机的引脚具有兼容特性,使其在硬件应用时以最小的
改变去提供设备直接升级到更高的功能。
7
引脚说明
A/D 型单片机使用手册
HT46R47/HT46C47
引脚名称 I/O 掩膜选项 说明
PA0 ~ PA2
PA3 / PF D
PA4 / TM R
PA5 /
INT
PA6 ~ PA7
PB0/AN0
PB1/AN1
PB2/AN2
PB3/AN3
PD0/PWM I/O
OSC1
OSC2
I 斯密特触发器复位输入。低电平有效。
RES
VDD 正电源供应。
VSS 负电源供应,接地。
I/O
I/O Pull-high
I
O
Pull-high
Wake-up
PA3 or PFD
Pull-high
I/O or PWM
Crystal or RC
8 位双向输入 /输出口,每个位可由掩膜选项设置成唤醒输入。
软件指令决定引脚是 CMOS 输出或斯密特触发器输入。掩膜
选项决定端口上哪个位带上拉电阻。PA3 、PA4 和 PA5 分别
与 PFD 、TMR 和
4 位双向输入/ 输出口。软件指令决定引脚是 CMOS 输出或斯
密特触发器输入。掩膜选项决定端口上哪个位带上拉电阻。
PB 和 A/D 输入引脚共用。A/D 输入通过软件指令选择,一
但被选择作为 A/D 输入,I/O 功能和上拉电阻功能将自动无
效。
1 位双向输入/ 输出口。软件指令决定引脚是 CMOS 输出或斯
密特触发器输入。掩膜选项决定此引脚是否带上拉电阻。通
过掩膜选项选择 PWM 输出,PWM 输出与 PD0 引脚共用。
OSC1、OSC2 连接外部 RC 电路或晶体振荡器(由掩膜选项决
定) 作为内部系统时钟。在 RC 模式下,OSC2 的输出端信号
是系统时钟四分频。
引脚共用。
INT
注意: 1. PA 上的每个引脚可通过掩膜选项被设定成具有唤醒功能。
2. 每个端口上的引脚可单独的配置带上拉电阻。
8
第一章 硬件结构
HT46R22/HT46C22
引脚名称 I/O 掩膜选项 说明
PA0 ~ PA2
PA3 / PF D
PA4 / TM R
PA5 /
INT
PA6 / SD A
PA7 / SC L
PB0/AN0
PB1/AN1
PB2/AN2
PB3/AN3
PB4/AN4
PB5/AN5
PB6/AN6
PB7/AN7
PC0~PC1 I/O Pull-high
PD0/PWM I/O
OSC1
OSC2
I
RES
VDD 正电源供应。
VSS 负电源供应,接地。
I/O
I/O Pull-high
I
O
Pull-high
Wake-up
PA3 or PFD
PA6 /PA7 or
SDA/SCL
Pull-high
I/O or PWM
Crystal or RC
斯密特触发器复位输入。低电平有效。
位双向输入/ 输出口,每个位可由掩膜选项设置成唤醒输入。
8
软件指令决定引脚是
选项决定端口上哪个位带上拉电阻。
与
PFD、 TMR 和
SCL 引脚共用,实现 I2C 总线功能。
位双向输入/ 输出口。软件指令决定引脚是 CMOS 输出或斯
8
密特触发器输入。掩膜选项决定所有引脚是否带上拉电阻。
PB 和 A/D 输入引脚共用。 A/D 输入通过软件指令选择,一
但被选择作为
效。
位双向输入/ 输出口。软件指令决定引脚是 CMOS 输出或斯
2
密特触发器输入。掩膜选项决定在端口上的引脚是否有上拉
电阻。
位双向输入/ 输出口。软件指令决定引脚是 CMOS 输出或斯
1
密特触发器输入。掩膜选项决定此引脚是否带上拉电阻。通
过掩膜选项选择
、OSC2 连接 RC 电路或外部晶体振荡器(由掩膜选项决
OSC1
定
)作为内部系统时钟。在 RC 模式下, OSC2 的输出端信号
是系统时钟四分频。
CMOS 输出或斯密特触发器输入。掩膜
引脚共用。PA6 和 PA 7 分别与 SDA 和
INT
A/D 输入, I/O 功能和上拉电阻功能将自动无
PWM 输出, PWM 输出与 PD0 引脚共用。
PA3 、 PA 4 和 PA 5 分别
注意: 1. PA 上的每个引脚可通过掩膜选项被设定成具有唤醒功能。
2. PA 上的引脚可单独的选择带上拉电阻,而 PB 和 PC 上的引脚不可以单独选择。如果选
择了上拉配置,则该这些端口所有的输入引脚都将被连接到上拉电阻。
9
A/D 型单片机使用手册
HT46R23/HT46C23
引脚名称 I/O 掩膜选项 说明
PA0 ~ PA2
PA3 / PF D
PA4 / TM R
PA5 /
INT
PA6 / SD A
PA7 / SC L
PB0/AN0
PB1/AN1
PB2/AN2
PB3/AN3
PB4/AN4
PB5/AN5
PB6/AN6
PB7/AN7
PC0~PC4 I/O Pull-high
PD0/PWM0
PD1/PWM1
OSC1
OSC2
I
RES
VDD 正电源供应。
VSS 负电源供应,接地。
I/O
I/O Pull-high
I/O
I
O
Pull-high
Wake-up
PA3 or PFD
PA6 /PA7 or
SDA/SCL
Pull-high
I/O or PWM
Crystal or RC
斯密特触发器复位输入。低电平有效。
8 位双向输入 /输出口,每个位可由掩膜选项设置成唤醒输入。
软件指令决定引脚是
选项决定端口上哪个位带上拉电阻。
与
PFD、 TMR 和
SCL 引脚共用,实现 I2C 总线功能
位双向输入/ 输出口。软件指令决定引脚是 CMOS 输出或斯
8
密特触发器输入。掩膜选项决定所有引脚是否带上拉电阻。
PB 与 A/D 输入引脚共用。 A/D 输入通过软件指令选择,一
但被选择作为
效。
位双向输入/ 输出口。软件指令决定引脚是 CMOS 输出或斯
5
密特触发器输入。掩膜选项决定端口上的所有引脚是否带上
拉电阻。
2
密特触发器输入。掩膜选项决定端口上的引脚是否带上拉电
阻。通过掩膜选项选择
共用,
OSC1
定
是系统时钟四分频。
位双向输入/ 输出口。软件指令决定引脚是 CMOS 输出或斯
PWM1 输出与 PD1 引脚共用。
、OSC2 连接外部 RC 电路或晶体振荡器(由掩膜选项决
)作为内部系统时钟。在 RC 模式下, OSC2 的输出端信号
CMOS 输出或斯密特触发器输入。掩膜
引脚共用。PA6 和 PA 7 分别与 SDA 和
INT
A/D 输入, I/O 功能和上拉电阻功能将自动无
PWM 输出,PWM0 输出与 PD0 引脚
PA3 、 PA 4 和 PA 5 分别
注意: 1. PA 上的每个引脚可通过掩膜选项被设定成具有唤醒功能。
2. PA 上的引脚可单独的选择带上拉电阻,而 PB、PC 和 PD 上的引脚不可以单独选 择。
如果选择了上拉配置,则该这些端口所有的输入引脚都将被连接到上拉电阻。
3. 此引脚说明表格基于 28-pin 的封装。由于封装的限制,在 24-pin 的封装中可能有些引脚
不存在。
10
第一章 硬件结构
HT46R24/HT46C24
引脚名称 I/O 掩膜选项 说明
PA0 ~ PA2
PA3 / PF D
PA4
PA5 /
INT
PA6 / SD A
PA7 / SC L
PB0/AN0
PB1/AN1
PB2/AN2
PB3/AN3
PB4/AN4
PB5/AN5
PB6/AN6
PB7/AN7
PC0~PC7 I/O Pull-high
PD0/PWM0
PD1/PWM1
PD2/PWM2
PD3/PWM3
PD4~PD7
PF0~PF7 I/O Pull-high
TMR0 I 定时/计数器 0 斯密特触发器输入。没有连接上拉电阻。
TMR1 I 定时/计数器 1 斯密特触发器输入。没有连接上拉电阻。
OSC1
OSC2
I
RES
VDD 正电源供应。
VSS 负电源供应,接地。
I/O
I/O Pull-high
I/O
I
O
Pull-high
Wake-up
PA3 or PFD
PA6 /PA7 or
SDA/SCL
Pull-high
I/O or PWM
Crystal or RC
斯密特触发器复位输入。低电平有效。
8 位双向输入 /输出口,每个位可由掩膜选项设置成唤醒输入。
软件指令决定引脚是
选项决定端口上哪个位带上拉电阻。
和
引脚共用。PA 6 和 PA7 分别与 SDA 和 SCL 引脚共用,
INT
实现
I2C 总线功能。
位双向输入/ 输出口。软件指令决定引脚是 CMOS 输出或斯
8
密特触发器输入。掩膜选项决定在端口上哪个位带上拉电
阻。
PB 与 A/D 输入引脚共用。A/D 输入通过软件指令选择,
一但被选择作为
无效。
位双向输入/ 输出口。软件指令决定引脚是 CMOS 输出或斯
8
密特触发器输入。掩膜选项决定端口上所有引脚是否带上拉
电阻。
位双向输入/ 输出口。软件指令决定引脚是 CMOS 输出或斯
8
密特触发器输入。掩膜选项决定端口上所有引脚是否带上拉
电阻。通过掩膜选项选择
出,它们分别与
位双向输入/ 输出口。软件指令决定引脚是 CMOS 输出或斯
8
密特触发器输入。掩膜选项决定端口上所有引脚是否带上拉
电阻。
、OSC2 连接外部 RC 电路或晶体振荡器(由掩膜选项决
OSC1
定
)作为内部系统时钟。在 RC 模式下, OSC2 的输出端信号
是系统时钟四分频。
CMOS 输出或斯密特触发器输入。掩膜
A/D 输入, I/O 功能和上拉电阻功能将自动
PWM0/PWM1/PWM2 和 PWM3 输
PD0/PD1/PD2 和 PD3 引脚共用。
PA3 和 PA5 分别与 PFD
注意: 1. PA 上的每个引脚可通过掩膜选项被设定成具有唤醒功能。
2. PA 和 PB 上的引脚可单独的选择带上拉电阻,而 PC、PD 和 PF 上的引脚不可以单独选
择。如果选择了上拉配置,则该这些端口所有的输入引脚都将被连接到上拉电阻。
3. 此引脚说明表格基于 48-pin 封装。由于封装的限制,在 28-pin 的封装中可能有些引脚不
存在。在 28-pin 封装中没有外部引脚 TMR0, TMR1 与 PD1/PWM1/TMR1 引脚共用。
11
极限参数
A/D 型单片机使用手册
供应电压.................................................................................V SS−0.3V to V SS+6.0V
输入电压................................................................................ V
储存温度...............................................................................................− 50° C~125° C
工作温度.................................................................................................− 40° C~85° C
这里只强调额定功率,超过极限参数功率的范围将对芯片造成损害,芯片在所
标示范围外的表现并不能预期,而长期工作在标示范围外条件下也可能影响芯
片的可靠性。
–0.3V to VDD+0.3V
SS
12
第一章 硬件结构
直流电气特性 Ta= 25 °C
符号 参数
V
I
DD1
I
DD2
I
DD3
I
STB1
I
STB2
Operating Voltage
DD
Operating Current
(Crystal OSC)
Operating Current
(RC OSC)
Operating Current 5V
Standby Current
(WDT Enabled)
Standby Current
(WDT and A/D Disabled)
测试条件
V
DD
f
f
3V 0.6 1.5 mA
5V
3V 0.8 1.5 mA
5V
条件
=4MHz 2.2 5.5 V
SYS
=8MHz 3.3 5.5 V
SYS
No load, f
SYS
=4MHz
ADC off
No load, f
SYS
=4MHz
ADC off
No load, f
SYS
=8MHz
ADC off
3V 5 µA
No load,
system HALT
5V
No load,
3V 1 µA
system HALT
5V
最小 典型 最大 单位
2 4 mA
2.5 4 mA
3 5 mA
10 µA
2 µA
Input Low Voltage for I/O
V
Ports,TMR,TMR0,TMR1,
IL1
INT
0 0.3V
V
DD
Input High Voltage for I/O
V
Ports,TMR,TMR0,TMR1,
IH1
INT
V
Input Low Voltage ( RES ) 0 0.4V
IL2
V
Input High Voltage ( RES ) 0.9V
IH2
V
Low Voltage Reset 2.7 3 3.3 V
LV R
IOL I/O Port Sink Current
IOH I/O Port Source Current
RPH Pull-high Resistance
0.7V
3V VOL=0.1V
5V V
DD
=0.1VDD 10 20 mA
OL
VDD V
DD
V
DD
4 8 mA
3V VOH=0.9VDD − 2 − 4 mA
5V V
=0.9VDD − 5 − 10 mA
OH
3V 40 60 80 kΩ
5V
10 30 50 kΩ
DD
V
DD
V
VAD A/D Input Voltage 0 V DD V
EAD
I
ADC
A/D Conversion Integral
Non-Linearity Error
Additional power consumption
If A/D Converter is used
±0.5 ±1 LSB
3V 0.5 1 mA
5V
1.5 3 mA
13
A/D 型单片机使用手册
交流电气特性 Ta= 25 °C
符号 参数
V
f
System Clock
SYS
f
Timer I/P Frequency (TMR)
TIMER
t
Watchdog Oscillator Period
WDTOSC
t
t
t
t
RES
SST
LV R
INT
External Reset Low Pulse
Width
System Start-up Timer Period Wake-up from HALT 1024 *t
Low Voltage Width to Reset 1 ms
Interrupt Pulse Width 1 µs
DD
测试条件
条件
最小 典型 最大 单位
2.2V ~ 5.5V 400 4000 kHz
3.3V ~ 5.5V 400 8000 kHz
2.2V ~ 5.5V 0 4000 kHz
3.3V ~ 5.5V 0 8000 kHz
3V 45 90 180 µs
5V
1
32 65 130 µs
tAD A/D Clock Period 1 µs
t
A/D Conversion Time 76 t
ADC
t
A/D Sampling Time 32 t
ADCS
t
I
IIC
*t
=1/f
SYS
2
C Bus Clock Period
SYS
Connect to external
pull-high resistor 2k
64 *t
Ω
µs
SYS
AD
AD
SYS
14
系统结构
第一章 硬件结构
内部系统结构是盛群半导体公司 A/D 型单片机具有良好运行性能的主要因素。
由于采用 RISC 结构,此系列单片机具有高运算速度和高性能的特性。通过流
水线的方式,指令的取得和执行同时进行,此举使得除了分支、调用和查表指
令外,其它指令都能在一个指令周期内完成。8 位的 ALU 参与指令集中所有
的运算,它可完成算术运算、逻辑运算、移位、加、减和分支等功能,而内部
的数据路径则以通过累加器或 ALU 的方式加以简化。有些寄存器在数据存储
器中被实现,且可以直接或间接寻址。简单的寄存器寻址方式和结构特性,确
保了在提供最大可靠度和灵活性的 I/O 和 A/D 控制系统时,仅需要少数的外部
器件。这使得这些单片机适合用在低成本高产量的控制应用上,可以提供 2K
至 8K 字的程序存储器和 64 至 384 字节数据储存。
时序和流水线结构(Pipelining )
系统时钟由晶体/ 陶瓷振荡器,或是由 RC 振荡器提供,细分为 T1~T4 四个内
部产生的非重叠时序。程序计数器在 T1 时自动加一并抓取一条新的指令。剩
下的 T2~T4 时钟完成解码和执行功能,因此一个 T1~T4 时钟形成一个指令周
期。虽然指令的取得和执行发生在连续的指令周期,但单片机流水线的结构会
保证指令在一个指令周期内被有效的执行,特殊的情况发生在程序计数器的内
容被改变的时候,如子程序的调用或跳转,在这情况下指令将需要多一个指令
周期的时间去执行。
注意: 当使用 RC 振荡器时,OSC2 可以如同一个 T1 相时钟同步引脚一样地被使用,这个 T1 相时
钟有 f
15
/4 的频率,拥有 1:3 高/低的占空比。
SYS
A/D 型单片机使用手册
O s c i l l a t o r C l o c k
( S y s t e m C l o c k )
P h a s e C l o c k T 1
P h a s e C l o c k T 2
P h a s e C l o c k T 3
P h a s e C l o c k T 4
P r o g r a m C o u n t e r
P i p e l i n i n g
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 )
系统时序和流水线
如果指令牵涉到分支,例如跳转或调用等指令,则需要两个指令周期才能完成
指令执行。需要一个额外周期的原因是程序先用一个周期取出实际要跳转或调
用的地址,再用另一个周期去实际执行分支动作,因此程序设计师必须特别考
虑额外周期的问题,尤其是在执行时间要求比较严格的时候。
1
2
3
4
5
6
D E L A Y :
M O V A , [ 1 2 H ]
C A L L D E L A Y
C P L [ 1 2 H ]
:
:
N O P
F e t c h I n s t . 1 E x e c u t e I n s t . 1
F e t c h I n s t . 2
E x e c u t e I n s t . 2
F e t c h I n s t . 3
F l u s h P i p e l i n e
F e t c h I n s t . 6 E x e c u t e I n s t . 6
F e t c h I n s t . 7
16
第一章 硬件结构
程序计数器
程序执行期间,程序计数器用来指向下一条要执行的指令地址。除了 JMP 或
CALL 这些要求跳转到一个非连续的程序存储器地址之外,它会在每条指令执
行完后自动增加一。对于 A/D 系列的单片机,根据所选择的单片机型号不同,
程序计数器宽度会因程序存储器容量的不同而不同。然而必须要注意只有低 8
位,即程序计数器低字节寄存器 PCL,是可以让使用者直接读写的。
当执行的指令要求跳转到非连续的地址时,如跳转指令、子程序调用、中断或
复位等,单片机通过载入所需的地址到程序计数器来控制程序。对于条件跳转
指令,一旦条件符合,下一条在现在指令执行时所取得的指令即会被摒弃,而
由一个空指令周期来加以取代。
程序计数器低字节,即程序计数器低字节寄存器 PCL ,可以通过程序控制取得,
且它是可以读取和写入的寄存器。通过直接传送数据到这寄存器,一个程序短
跳转可以直接被执行,然而因为只有低字节的运用是有效的,因此跳转被限制
在同页存储器,即 256 个存储器地址的范围内,当这样一个程序跳转要执行时,
需注意会插入一个空指令周期。
注意: 程序计数器低字节在程序控制下是完全可用的。PCL 的使用可能导致程序分支,所以额外
的周期需要预先取得。有关 PCL 寄存器更多的信息可在特殊功能寄存器部份中找到。
17
A/D 型单片机使用手册
模式
复位 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 0 1 0 0 0
定时/ 计数器 1 中断
(
只对 HT46R24/HT46C24)
A/D 转换器中断
(
除了 HT46R24/HT46C24)
A/D 转换器中断
(
只对 HT46R24/HT46C24)
I2C 总线中断
(
除了 HT46R24/HT46C24)
I2C 总线中断
(
只对 HT46R24/HT46C24)
条件跳转 Program Counter + 2
写入 PCL 寄存器 PC12 PC11 PC10 PC9 PC8 @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
b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
0 0 0 0 0 0 0 0 0 1 1 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 0 0 0
0 0 0 0 0 0 0 0 1 0 1 0 0
程序计数器
注意:1. P C12~PC8 :目前程序计数器位
2. @7~@0:PCL 位
3. #12~#0:指令码位
4. S12~S0:堆栈寄存器位
5. 对于 HT46R24/HT46C24,程序计数器有 13 个位,即从 b12~b0。
6. 对于 HT46R23/HT46C23,由于程序计数器只有 12 个位,表格中的列 b12 是无效的。
7. 对于 HT46R47/HT46C47,HT46R22/HT46C22,由于程序计数器只有 11 个位,表格中的
列 b11 和 b12 是无效的。
8. 定时/计数器 1 溢出行,只有 HT46R24/HT46C24 可用。
9. 对于 HT46R47/HT46C47, HT46R22/HT46C22 和 HT46R23/HT46C23,定时/计数器 0 即
TMR。
18
第一章 硬件结构
堆栈
堆栈是存储器中一个特殊的部分,它只用来储存程序计数器中的内容。根据选
择的单片机,堆栈可介于 6 、8 或 16 层之间,它们既不是数据部份也不是程序
空间部份,且既不是可读取也不是可写入的。当前层由堆栈指针(Stack Pointer,
SP )加以指示,同样也是不可读写的。在子程序调用或中断响应服务时,程序
计数器的内容被压入堆栈。当子程序或中断服务程序结束时,返回指令(RET
或 RETI )使程序计数器从堆栈中重新得到它之前的值。当芯片复位之后,SP
将指向堆栈的顶部。
如果堆栈已满,且有非屏蔽的中断发生,中断请求标志位会被置位,但是中断
响应将被禁止。当堆栈指针减少(执行 RET 或 RETI ),中断将被响应。这个
特性提供程序设计者简单的方法来预防堆栈溢出。然而即使堆栈已满,CALL
指令仍然可以被执行,而造成堆栈溢出。使用时应避免堆栈溢出的情况发生,
因为这可能会造成不可预期的程序分支指令执行错误。
P r o g r a m C o u n t e r
T o p o f S T A C K
S t a c k
P o i n t e r
B o t t o m o f S T A C K
注意: 1. 对于 HT46R47/HT46C47 和 HT46R22/HT46C22 而言, N=6 ,即有 6 层堆栈可使用。
2. 对于 HT46R23/HT46C23 而言, N=8,即有 8 层堆栈可使用。
3. 对于 HT46R24/HT46C24 而言, N=16,即有 16 层堆栈可使用。
S t a c k L e v e l 1
S t a c k L e v e l 2
S t a c k L e v e l 3
S t a c k L e v e l N
P r o g r a m
M e m o r y
19
A/D 型单片机使用手册
算术及逻辑单元 – ALU
算术逻辑单元是单片机中很重要的部份,执行指令集中的算术和逻辑运算。
ALU 连接到单片机的数据总线,在接收相关的指令码后执行需要的算术与逻
辑运算,并将结果储存在指定的寄存器,当 ALU 计算或操作时,可能导致进
位、借位或其它状态的改变,而相关的状态寄存器会因此更新内容以显示这些
改变,ALU 所提供的功能如下:
• 算术运算:ADD 、ADDM 、ADC 、ADCM 、SUB 、SUBM 、SBC 、SBCM 、DAA
• 逻辑运算:AND 、OR 、XOR 、ANDM 、ORM 、XORM 、CPL 、CPLA
• 移位运算:RRA 、RR 、RRCA 、RRC 、RLA 、RL 、RLCA、RLC
• 增一和减一:INCA 、INC 、DECA 、DEC
• 分支判断:JMP 、SZ 、SZA 、SNZ 、SIZ 、SDZ 、SIZA 、SDZA 、CALL 、RET、RETI
20