HOLTEK HT46R47, HT46R22, HT46R23, HT46R24 Service Manual

HT46R47HT46R22
HT46R23HT46R24
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/HT46C47HT46R22/HT46C22HT46R23/HT46C23 HT46R24/ HT46C24 8 位高性能、高效益的 RISC 结构单片机,用于直接处理模拟信号,
例如直接连接传感器。该系列单片机包含一个集成的多通道模数转换器,以及 一个或多个脉冲宽度调制输出。同时也增强了单片机的其它内部特性,如暂停、 唤醒功能、振荡器选择和可编程分频器等,增加了单片机的使用灵活度,而这 些特性也同时保证实际应用时只需要最少的外部器件,进而降低了整个产品的 成本。有了集成的 A/D PWM 功能的优势,再加上低功耗、高性能、灵活控 制的输入/输出和低成本等特性,此系列单片机广泛被应用在传感器信号处理、 马达驱动、工业控制、消费性产品和子系统控制器等场合。该系列所有的单片 机都具有相同的特性,主要的不同在于 I/O 引脚数目,RAM ROM 的容量, 定时器数目和大小,A/D 通道和 PWM 输出等方面。
HT46R47HT46R22、HT46R23 和 HT46R24 都是属于一次可编程(One-Time Programmable, OTP)单片机,当配合使用盛群半导体的程序开发工具时,可简
单有效的更新程序,这提供了设计者快速有效的开发途径。而对于那些已经设 计成熟的应用,Mask 版的 HT46C47HT46C22HT46C23 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×8138-bit×1 3 9-bit×48-bit×1 — 6
2.2V~5.5V 2K×14 64×8198-bit×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 不包含 I2C 接口。只有 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 分别 与 PFDTMR
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
软件指令决定引脚是 选项决定端口上哪个位带上拉电阻。 与
PFDTMR
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 位双向输入/输出口,每个位可由掩膜选项设置成唤醒输入。
软件指令决定引脚是 选项决定端口上哪个位带上拉电阻。 与
PFDTMR
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 封装中没有外部引脚 TMR0TMR1 PD1/PWM1/TMR1 引脚共用。
11
极限参数
A/D 型单片机使用手册
供应电压.................................................................................VSS−0.3V to VSS+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  VDD 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 kHz2.2V ~ 5.5V 0  4000 kHz3.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 控制系统时,仅需要少数的外部 器件。这使得这些单片机适合用在低成本高产量的控制应用上,可以提供 2K8K 字的程序存储器和 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/HT46C47HT46R22/HT46C22 HT46R23/HT46C23,定时/计数器 0 即
TMR
18
堆栈
堆栈是存储器中一个特殊的部分,它只用来储存程序计数器中的内容。根据选 择的单片机,堆栈可介于 68 或 16 层之间,它们既不是数据部份也不是程序 空间部份,且既不是可读取也不是可写入的。当前层由堆栈指针(Stack Pointer, SP)加以指示,同样也是不可读写的。在子程序调用或中断响应服务时,程序 计数器的内容被压入堆栈。当子程序或中断服务程序结束时,返回指令(RETRETI)使程序计数器从堆栈中重新得到它之前的值。当芯片复位之后,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 所提供的功能如下:
算术运算:ADDADDMADCADCMSUBSUBMSBCSBCMDAA
逻辑运算:ANDORXORANDMORMXORMCPLCPLA
移位运算:RRARRRRCARRCRLARLRLCARLC
增一和减一:INCAINCDECADEC
分支判断:JMPSZSZASNZSIZSDZSIZASDZACALLRETRETI
20
Loading...
+ 155 hidden pages