EM78P372N
8位
OTP微控制器
产品规格书
版本 1.4
义隆电子股份有限公司
2016.03
商标告知:
IBM 为一个注册商标,PS/2 是 IBM 的商标之一。
Windows 是微软公司的商标。
ELAN 和 ELAN 标志
是义隆电子股份有限公司的商标。
版权所有 © 2016 义隆电子股份有限公司
所有权利保留
台湾印制
本使用说明文件内容如有变动恕不另作通知。关于该规格书的准确性、适当性或者完整性,义隆电子股份
有限公司不承担任何责任。 义隆电子股份有限公司不承诺对本使用说明文件之内容及信息有更新及校正
之义务。 本规格书的内容及信息将为符合确认之指示而变更。
在任何情况下,义隆电子股份有限公司对本使用说明文件中的信息或内容的错误、遗漏,或者其它不准确
性不承担任何责任。由于使用本使用说明文件中的信息或内容而导致的直接,间接,特别附随的或结果的
损害, 义隆电子股份有限公司没有义务负责。
本规格书中提到的软件(如果有),都是依据授权或保密合约所合法提供的,并且只能在这些合约的许可
条件下使用或者复制。
义隆电子股份有限公司的产品不是专门设计来应用于生命维持的用具,装置或者系统。 义隆电子股份有
限公司的产品不支持而且禁止在这些方面的应用。
未经义隆电子股份有限公司书面同意,任何个人或公司不得以任何形式或方式对本使用说明文件的内容之
任一部分进行复制或传输。
义隆电子股份有限公司
总公司:
地址:台湾新竹科学园区
创新一路 12 号
电话:+886 3 563-9977
传真:+886 3 563-9966
webmaster@emc.com.tw
http://www.emc.com.tw
香港分公司:
USA:
义隆电子(香港)有限公司
九龙观塘巧明街 95 号世达中心 19
楼A室
电话:+852 2723-3376
传真:+852 2723-7780
elanhk@emc.com.hk
Elan Information
Technology Group (USA)
深圳分公司:
上海分公司:
义隆电子(深圳)有限公司
深圳市南山区高新技术产业园南
区高新南六道迈科龙大厦 8A
邮编:518057
电话:+86 755 2601-0565
传真:+86 755 2601-0500
义隆电子(上海)有限公司
地址:上海市浦东新区张江高
科碧波路 5 号科苑大楼 6 楼
邮编:201203
电话:+86 21 5080-3866
传真:+86 21 5080-0273
elan-sz@elanic.com.cn
elan-sh@elanic.com.cn
P.O. Box 601
Cupertino, CA 95015
USA
Tel: +1 408 366-8225
Fax:+1 408 366-8225
目录
目录
1 综述 ........................................................................................................................ 1
2 产品特性 ................................................................................................................. 1
3 引脚分配 ................................................................................................................. 2
4 引脚描述 ................................................................................................................. 3
5 结构方框图 ............................................................................................................. 5
6 功能描述 ................................................................................................................. 6
6.1 操作寄存器 ............................................................................................................. 6
6.1.1
R0 (间接寻址寄存器) ....................................................................................................................... 6
6.1.2
R1 (定时时钟/计数器) ....................................................................................................................... 6
6.1.3
R2 (程序计数器) 和堆栈 ................................................................................................................... 6
6.1.4
R3 (状态寄存器) .......................................................................................................... 9
6.1.5
R4 (RAM 选择寄存器) ................................................................................................. 9
6.1.6
Bank 0 R5 ~ R7 (端口 5 ~ 端口 7) .............................................................................. 9
6.1.7
Bank 0 R8 (AISR: ADC 输入选择寄存器).................................................................... 9
6.1.8
Bank 0 R9 (ADCON: ADC 控制寄存器) ..................................................................... 9
6.1.9
Bank 0 RA (ADOC: ADC 补偿校准寄存器) ............................................................... 12
6.1.10 Bank 0 RB (ADDATA: ADC 转换结果)....................................................................... 14
6.1.11 Bank 0 RC (ADDATA1H: ADC 转换结果) .................................................................. 14
6.1.12 Bank 0 RD (ADDATA1L: ADC 转换结果) .................................................................. 14
6.1.13 Bank 0 RE (中断状态 2 和唤醒控制寄存器) .............................................................. 14
6.1.14 Bank 0 RF (中断状态 2 寄存器) ................................................................................ 15
6.1.15 Bank 1 R5 (TBHP: TBRD 指令的表指向寄存器) ....................................................... 16
6.1.16 Bank 1 R6 (TBLP: TBRD 指令的表指向寄存器)........................................................ 16
6.1.17 Bank 1 R7 (PWMCON: PWM 控制寄存器) ............................................................... 16
6.1.18 Bank 1 R8 (TMRCON: 定时器控制寄存器) ............................................................... 16
6.1.19 Bank 1 R9 (PRD1: PWM1 时间周期) ........................................................................ 17
6.1.20 Bank 1 RA (PRD2: PWM2 时间周期) ........................................................................ 17
6.1.21 Bank 1 RB (DT1: PWM1 占空比周期)....................................................................... 17
6.1.22 Bank 1 RC (DT2:PWM2 占空比周期) ....................................................................... 17
6.1.23 Bank 1 RE (LVD 中断和唤醒寄存器) ......................................................................... 17
6.1.24 Bank 1 RF (系统控制寄存器) .................................................................................... 18
6.1.25 R10 ~ R3F ................................................................................................................. 22
产品规格书 (V1.4) 03.15.2016
iii
目录
6.2 特殊功能寄存器 .................................................................................................... 22
6.2.1
A (累加器) .................................................................................................................. 22
6.2.2
CONT (控制寄存器) .................................................................................................. 22
6.2.3
IOC50 ~ IOC70 (I/O 端口控制寄存器) ...................................................................... 23
6.2.4
IOC80 (比较器控制寄存器) ....................................................................................... 23
6.2.5
IOC90 (TMR1: PWM1 定时器) .................................................................................. 24
6.2.6
IOCA0 (TMR2: PWM2 定时器) ................................................................................. 24
6.2.7
IOCB0 (下拉控制寄存器)........................................................................................... 24
6.2.8
IOCC0 (漏极开路控制寄存器) ................................................................................... 24
6.2.9
IOCD0 (上拉控制寄存器) .......................................................................................... 24
6.2.10 IOCE0 (WDT 控制寄存器和中断屏蔽寄存器 2 )........................................................ 25
6.2.11 IOCF0 (中断屏蔽寄存器) ........................................................................................... 26
6.2.12 IOC51 (高灌电流控制寄存器 1) ................................................................................. 27
6.2.13 IOC61 (高灌电流控制寄存器 2) ................................................................................. 27
6.2.14 IOC71 (高驱动电流控制寄存器 1) ............................................................................. 27
6.2.15 IOC81 (高驱动电流控制寄存器 2) ............................................................................. 28
6.2.16 IOCF1 (上拉控制寄存器) ........................................................................................... 28
6.3 TCC/WDT & 预分频器 .......................................................................................... 29
6.4 I/O 端口 ................................................................................................................ 30
6.4.1
使用 Port5 输入状态改变唤醒/中断功能 .................................................................... 33
6.5 复位和唤醒 ........................................................................................................... 33
6.5.1
复位和唤醒操作 ......................................................................................................... 33
6.5.2
状态寄存器的 T 和 P 状态 ......................................................................................... 43
6.6 中断 ...................................................................................................................... 44
6.7 模数转换器 (ADC) ................................................................................................ 46
6.7.1
ADC 控制寄存器 (AISR/R8, ADCON/R9, ADOC/RA) ............................................... 46
6.7.2
ADC 数据寄存器 (ADDATA/RB, ADDATA1H/RC, ADDATA1L/RD) .......................... 50
6.7.3
ADC 采样时间 ........................................................................................................... 50
6.7.4
AD 转换时间 .............................................................................................................. 50
6.7.5
休眠期间的 A/D 转换 ................................................................................................. 50
6.7.6
编程步骤/考虑的事项................................................................................................. 51
6.8 一对 PWM (脉宽调制器) ....................................................................................... 54
iv
6.8.1
概述 ........................................................................................................................... 54
6.8.2
递增定时计数器 (TMRX: TMR1 or TMR2) ................................................................ 55
6.8.3
PWM 周期 (TMRX: TMR1 或 TMR2) ........................................................................ 55
产品规格书(V1.4) 03.15.2016
目录
6.8.4
PWM 占空比 (DTX: DT1 or DT2; DLX: DL1 or DL2) ................................................ 55
6.8.5
比较器 X .................................................................................................................... 56
6.8.6
PWM 编程步骤 .......................................................................................................... 56
6.9 定时器/计数器 ....................................................................................................... 56
6.9.1
概述 ........................................................................................................................... 56
6.9.2
功能描述 .................................................................................................................... 57
6.9.3
相关寄存器设置 ......................................................................................................... 57
6.9.4
定时器编程步骤 ......................................................................................................... 58
6.9.5
PWM 级联模式 .......................................................................................................... 58
6.10 比较器 ................................................................................................................ 59
6.10.1 外部参考信号 ............................................................................................................ 59
6.10.2 比较器输出 ................................................................................................................ 59
6.10.3 比较器作为运算放大器使用 ....................................................................................... 60
6.10.4 比较器中断 ................................................................................................................ 60
6.10.5 由休眠模式唤醒 ......................................................................................................... 61
6.11 振荡器................................................................................................................. 61
6.11.1 振荡器模式 ................................................................................................................ 61
6.11.2 晶体振荡器/陶瓷谐振器 (晶振) .................................................................................. 62
6.11.3 外部 RC 振荡器模式 .................................................................................................. 65
6.11.4 内部 RC 振荡模式 ..................................................................................................... 65
6.12 上电探讨 ............................................................................................................. 66
6.12.1 可编程 WDT 溢出周期 ............................................................................................... 66
6.12.2 外部上电复位电路 ..................................................................................................... 66
6.12.3 残留电压保护 ............................................................................................................ 67
6.13 代码选项 ............................................................................................................. 68
6.13.1 代码选项寄存器 (Word 0) .......................................................................................... 68
6.13.2 代码选项寄存器 (Word 1) .......................................................................................... 69
6.13.3 客户 ID 寄存器 (Word 2) ............................................................................................ 70
6.14 低电压侦测/低电压复位 ....................................................................................... 71
6.14.1 低电压复位 ................................................................................................................ 71
6.14.2 低电压侦测 ................................................................................................................ 71
6.14.3 编程过程 .................................................................................................................... 73
6.15 指令集 ................................................................................................................ 74
产品规格书(V1.4) 03.15.2016
v
目录
7 绝对最大值 ........................................................................................................... 76
8 DC 电器特性 ......................................................................................................... 76
8.1 AD 转换特性 ......................................................................................................... 78
8.2 比较器特性 ........................................................................................................... 79
8.3 OP 特性 ................................................................................................................ 80
8.4 VREF 2V/3V/4V 特性............................................................................................ 80
8.5 设备特性 ................................................................................................................ 80
8.5.1
P5/P6/P7 Vih/Vil vs. VDD 曲线图.............................................................................. 81
8.5.2
P5/P6/P7 Ioh1 vs. Voh 曲线图 .................................................................................. 83
8.5.3
P51~P54, P56/P57/P60~P67 Ioh2 vs. Voh 曲线图 ................................................... 84
8.5.4
P5/P6/P7 Iol1 vs. Vol 曲线图 .................................................................................... 85
8.5.5
P51~P54, P56/P57/P60~P63 Iol2 vs. Vol 曲线图 ..................................................... 86
8.5.6
P5/P6 IPH vs. 温度 at VDD=3V&5V 曲线图 .............................................................. 87
8.5.7
P5 IPL vs. 温度 at VDD=3V&5V 曲线图 .................................................................... 88
8.5.8
ICC1 & ICC2 典型值 vs. 温度曲线图 ......................................................................... 88
8.5.9
ICC3 & ICC4 典型值 vs. 温度曲线图 ......................................................................... 89
8.5.10 从睡眠模式至正常模式唤醒时间 vs. VDD 曲线图 ..................................................... 90
8.5.11 从空闲模式至正常模式唤醒时间 vs. VDD 曲线图...................................................... 91
8.5.12 在正常模式下 WDT 溢出时间 vs. VDD 曲线图 .......................................................... 92
8.5.13 在正常模式下上电复位时间 vs. VDD 曲线图 ............................................................. 93
8.5.14 ICO 典型值 vs. 温度曲线图 ....................................................................................... 94
8.5.15 IAI1 和 IAI2 典型值 vs. 温度曲线图 ........................................................................... 95
8.5.16 LVR Level vs. 温度曲线图 ......................................................................................... 95
8.5.17 比较器补偿电压 vs. 温度曲线图 ................................................................................ 96
9 AC 电气特性 ........................................................................................................ 97
10 时序图 ................................................................................................................ 98
vi
产品规格书(V1.4) 03.15.2016
目录
附录
A 编码及制造信息.................................................................................................... 99
B 封装类型 ............................................................................................................ 101
C 封装结构 ............................................................................................................ 102
C.1 EM78P372ND14 ................................................................................................ 102
C.2 EM78P372NSO14 .............................................................................................. 103
C.3 EM78P372NSO16A ........................................................................................... 104
C.4 EM78P372ND18 ................................................................................................ 105
C.5 EM78P372NSO18 ............................................................................................. 106
C.6 EM78P372ND20 ................................................................................................ 107
C.7 EM78P372NSO20 ............................................................................................. 108
C.8 EM78P372NSS20 .............................................................................................. 109
C.9 EM78P372NMS10 ..............................................................................................110
C.10 EM78P372NQN16 ............................................................................................ 111
D 品质保证和可靠性 .............................................................................................. 112
D.1 地址缺陷检测 ...................................................................................................................... 112
产品规格书(V1.4) 03.15.2016
vii
目录
规格修订历史
版本
修订描述
日期
0.9
最初版本
2010/06/21
0.91
最初版本
2010/07/19
修改了 IOCC0 控制寄存器
0.92
修改了 Bank 1-RF[3:0] 控制寄存器
2010/08/06
修改了 Bank 0-RA[2:0] 控制寄存器
1.0
首发行版本
2010/12/10
修改了工作频率范围 (DC ~ 16 MHz)
1.1
1.修改了电气特性章节的部分内容
2011/05/24
2.修改了品质保证和可靠性章节的部分内容
1. 增加了 EM78P372NQN16S 封装类型
2. 删除了 EM78P372NSS10J/S 封装类型 .
3. 在特性部分补充了一些 I/O 端口描述.
1.2
4 .增加了分类及产品信息.
2012/02/10
5. 修改了指令表
6. 修改了章节编号
7.在特性部分修改了关于 POR 和 LVR 的描述
1.3
在第 6.1.9 节和第 6.7.1.3.节中添加了新的注释项目。
2013/10/02
修改了第 8.5 节中图片
1.修改第 2 章的封装类型
2.增加用户应用注意事项
1.4
3.修改附件 A 编码与制造信息
2016/03/15
4. 修改 6.7.4 节 ADC 转换时间
5. 修改 6.8.2 节递增定时计数器
viii
产品规格书(V1.4) 03.15.2016
目录
用户应用注意事项
(使用此芯片前,请仔细阅读下面的注意事项,其包含重要信息)
1. 如果占空比周期为 “0”,PWM输出将不被置位。
2. 当休眠模式时,内部TCC将停止运行。然而,在AD转换期间,当TCC设置为“SLEP”指令,如果RE
寄存器的ADWE位为使能,TCC将保持继续运行。
3. ADC转换期间,为确保其准确,所有的引脚将不执行输出指令。为了获取准确的结果,AD转换期间,
有必要避免所有I/O引脚的数据转换。
4. 当使用运算放大器时:
(1) CMPIE (IOCE0.4), CMPWE (RE.2), CMPIF (RE.4)位元为无效
(2) 比较器中断为无效
(3) 比较器唤醒为无效
5. 在LXT2和休眠模式,噪声抑制功能关闭。
产品规格书(V1.4) 03.15.2016
ix
目录
x
产品规格书(V1.4) 03.15.2016
EM78P372N
8位微控制器
综述
1
EM78P372N是采用低功耗高速CMOS工艺设计开发的8位微控制器。该控制器有片内2KX13位一次性编程
ROM(OTP-ROM)。它提供一个保护位用以保护用户在OTP存储器内的程序不被读取,三个代码选项以满足
用户的需要。
基于增强的OTP-ROM特性,EM78P372N可方便地开发和校验用户代码,另外,使用开发与编程工具,使此
OTP代码更新更加简单和有效,用户可利用义隆烧录器很容易地烧录其开发代码。
产品特性
2
CPU 配置
2K13 位片内 ROM
808位片内寄存器 (SRAM)
8级堆栈用于子程序嵌套
5V/4 MHz 工作条件下耗电流低于 1.5 mA
3V/32kHz 工作条件下耗电流典型值为 15 A
休眠模式下耗电流典型值为 2 A
3 组双向I/O端口: P5, P6, P7
18 I/O 引脚
唤醒端口: P5
8 个可编程下拉I/O引脚(P50 ~ P57)
16 个可编程上拉I/O引脚(P50 ~ P57) (P60 ~ P67)
8 个可编程漏极开路I/O引脚(P60 ~ P67)
14 个可编程高灌I/O引脚(P51 ~ P54, P56 ~ P57)
(P60 ~ P67)
外部中断: P60
工作电压范围:
2.3V~5.5V at -40C~85C (工规)
工作频率范围(基于2个时钟周期):
IRC 模式
振荡模式: 16 MHz, 4 MHz, 1 MHz, 8 MHz
温度
电压
(-40°C~85°C) (2.1V~5.5V)
制程
Total
±2%
±5%
±5%
±2%
16 MHz
±2%
±1%
*(4.5~5.5V)
±2%
±2%
±1%
*(3.0~5.5V)
±2%
±1%
*(2.1~5.5V)
±2%
±2%
封装类型:
:
:
14-pin SOP 150mil
:
16-pin SOP 150mil
:
18-pin DIP 300mil
:
18-pin SOP 300mil
:
20-pin DIP 300mil
:
20-pin SOP 300mil
:
20-pin SSOP 209mil
:
16-pin QFN 330.8mm :
14-pin DIP 300mil
4 MHz
1 MHz
可编程的自由运行看门狗定时器 (4.5 ms : 18 ms)
休眠省电模式
上电电压侦测器
高抗EFT特性 (4MHz及以下抗EFT性能更好)
10-pin MSOP 118mil
偏移率
±1%
*(2.1~5.5V)
8 MHz
TCC 溢出中断
输入端口状态改变中断(可唤醒休眠模式)
外部中断
ADC 转换完成中断
比较器状态改变中断
低电压检测(LVD) 中断
PWM1~2 周期匹配中断
PWM1~2 占空比匹配中断
特性:
晶振模式: DC ~ 16 MHz, 4.5V;
DC ~ 8 MHz, 3V; DC ~ 4 MHz, 2.1V
ERC模式: DC ~ 2 MHz, 2.1V;
内部 RC
频率
10个可用中断
2.1V~5.5V at 0C~70C (商规)
外设配置
8位实时时钟/计数器 (TCC),其时钟源、边沿触发和溢
出中断可选
4级可编程电压检测(LVD) : 4.5V, 4.0V, 3.3V, 2.2V
上电复位和可编程电压复位 POR:1.8V(默认),
(LVR) : 4.0V, 3.5V, 2.7V
8通道解析度为12位的模数转换器
一对比较器或OP(偏移电压: 小于10mV)
两个脉宽调制器 (PWM),8位分辨率
I/O 端口配置
快速启动时间,在XT模式(VDD: 5V, 晶振: 4 MHz, C1/C2:
15pF)下只需0.8ms, 在IRC模式(VDD: 5V, IRC: 4 MHz)下
只需10s。
5%
EM78P372NMS10
EM78P372ND14
EM78P372NSO14
EM78P372NSO16A
EM78P372ND18
EM78P372NSO18
EM78P372ND20
EM78P372NSO20
EM78P372NSS20
EM78P372NQN16
注: 绿色产品不含有害物质。
±5%
* 工作电压范围
以上四个主频都可通过编程设置ICE300N仿真器的六个
校正位来校正,OTP可由义隆烧录器自动校正。
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
1
EM78P372N
8位微控制器
3
引脚分配
2
P54/TCC/VREF
3
P71//RESET
4
Vss
5
P60//INT
P61
14
6
7
13
P51/ADC1/PMW2
P52/ADC2
1
P50/ADC0
P53/ADC3
2
12
P55/ADC6/OSCO/ERCin
P54/TCC/VREF
3
11
P70/ADC5/OSCI/RCOUT
P71//RESET
4
10
VDD
9
P67/ADC4/PWM1
Vss
5
P60//INT
6
P61
7
P64/CO
8
P66/CIN-
8
图 3-1 EM78P372ND14/SO14
P52/ADC2
1
P54/TCC/VREF
3
P71//RESET
4
Vss
5
P60//INT
6
P61
7
P62
8
P63
9
17
P50/ADC0
16
P55/ADC6/OSCO/ERCin
15
P70/ADC5/OSCI/RCOUT
14
VDD
13
P67/ADC4/PWM1
12
16
P51/ADC1/PWM2
15
P50/ADC0
14
P55/ADC6/OSCO/ERCin
13
P70/ADC5/OSCI/RCOUT
12
VDD
11
P67/ADC4/PWM1
10
P66/CIN-
9
P65/CIN+
图 3-2 EM78P372NSO16A
P56
1
20
P57/ADC7
P52/ADC2
2
19
P51/ADC1/PWM2
18
P50/ADC0
P53/ADC3
3
P54/TCC/VREF
4
P71//RESET
5
Vss
6
P60//INT
7
P66/CIN-
P61
8
11
P65/CIN+
P62
10
P64/CO
P63
EM78P372N-20in
2
EM78P372N-18Pin
P53/ADC3
P51/ADC1/PWM2
18
EM78P372N-16Pin
1
EM78P372N-14Pin
P52/ADC2
P53/ADC3
17
P55/ADC6/OSCO/ERCin
16
P70/ADC5/OSCI/RCOUT
15
VDD
14
P67/ADC4/PWM1
13
P66/CIN-
9
12
P65/CIN+
10
11
P64/CO
图 3-4 EM78P372ND20/SO20/SS20
3
P71//RESET
4
Vss
5
P50/ADC0
9
P55/ADC6/OSCO/ERCin
8
P70/ADC5/OSCI/RCOUT
7
VDD
6
P67/ADC4/PWM1
16
P53/ADC3
1
P54/TCC/VREF
2
P55/ADC6/OSCO/ERCin
P53/ADC3
10
P50/ADC0
2
P52/ADC2
1
P52/ADC2
EM78P372N-10Pin
P51/ADC1/PWM2
P51/ADC1/PWM2
图 3-3 EM78P372ND18/SO18
15
14
13
12
P70/ADC5/OSCI/RCOUT
11
VDD
10
P67
9
P66/CIN-
EM78P372N-QFN16S
4
6
7
8
P65/CIN+
5
P64/CO
VSS
3
P61
P71//RESET
P60//INT
图 3-5 EM78P372NMS10
图 3-6 EM78P372NQN16S
2
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
4
引脚描述
符号
输入类
型
输出类
型
描述
P50
ST
CMOS
双向 I/O 引脚,可编程内部下拉、内部上拉和
引脚状态改变唤醒
ADC0
AN
P51
ST
CMOS
ADC1
AN
PWM2
CMOS
PWM2 输出
P52
ST
CMOS
双向 I/O 引脚,可编程内部下拉、内部上拉、
高驱动、高灌和引脚状态改变唤醒
ADC2
AN
P53
ST
CMOS
ADC3
AN
P54
ST
CMOS
TCC
ST
实时时钟/计数器的时钟输入
VREF
AN
ADC 外部参考电压
P55
ST
CMOS
ADC6
AN
OSCO
ERCin
AN
P56
ST
CMOS
双向 I/O 引脚,可编程内部下拉、内部上拉、
高驱动、高灌和引脚状态改变唤醒
P57
ST
CMOS
双向 I/O 引脚,可编程内部下拉、内部上拉、
高驱动、高灌和引脚状态改变唤醒
ADC7
ST
P60
ST
CMOS
/INT
ST
功能
P50
P51
P52
P53
P54
P55
P56
XTAL
P57
P60//INT
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
ADC 输入通道 0
双向 I/O 引脚,可编程内部下拉、内部上拉、
高驱动、高灌和引脚状态改变唤醒
ADC 输入通道 1
ADC 输入通道 2
双向 I/O 引脚,可编程内部下拉、内部上拉、
高驱动、高灌和引脚状态改变唤醒
ADC 输入通道 3
双向 I/O 引脚,可编程内部下拉、内部上拉、
高驱动、高灌和引脚状态改变唤醒
双向 I/O 引脚,可编程内部下拉、内部上拉和
引脚状态改变唤醒
ADC 输入通道 6
晶体振荡器/陶瓷谐振器的时钟输出引脚
外部 RC 振荡器输入引脚
ADC 输入通道 7
双向 I/O 引脚,可编程漏极开路、内部上拉、
高驱动和高灌
外部中断引脚
3
EM78P372N
8位微控制器
符号
P61~P63
功能
输入类
型
输出类
型
P61~P63
ST
CMOS
双向 I/O 引脚,可编程漏极开路、内部上拉、
高驱动和高灌
P64
CMOS
双向 I/O 引脚,可编程漏极开路、内部上拉、
高驱动和高灌
CO
ST
P65
ST
CMOS
CIN+
ST
P66
ST
CMOS
CIN-
ST
P67
ST
CMOS
ADC4
AN
PWM1
CMOS
PWM1 输出
P70
P70
双向 I/O 引脚
ADC5
AN
ADC 输入通道 5
OSCI
XTAL
晶体振荡器/陶瓷谐振器的时钟输入引脚
P64/CO
P65/CIN+
P66/CIN-
P67/ADC4/PWM1
P70/ADC5/OSCI/
RCOUT
比较器输出
双向 I/O 引脚,可编程漏极开路、内部上拉、
高驱动和高灌
比较器同向端
双向 I/O 引脚,可编程漏极开路、内部上拉、
高驱动和高灌
比较器反向端
双向 I/O 引脚,可编程漏极开路、内部上拉、
高驱动和高灌
ADC 输入通道 4
内部 RC 振荡器的时钟输出引脚
CMOS
P71
ST
CMOS
/RESET
ST
系统复位引脚(需要外部上拉)
ROCUT
P71
外部 RC 振荡器的时钟输出引脚(漏极开路)
双向 I/O 引脚(漏极开路)
VDD
VDD
Power
电源
VSS
VSS
Power
地
注:
ST: 施密特触发输入引脚
CMOS: CMOS输出
4
描述
AN: 模拟引脚
XTAL: 晶体振荡器/陶瓷谐振器的振荡引脚
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
结构方框图
5
P70
P71
ROM
PC
Instruction
Register
8-level stack
(13 bit)
Ext.
OSC.
Int.
RC
Ext.
RC
Oscillation
Generation
Start-up
timer
WDT
Reset
Instruction
Decoder
PWM2
PWM1
P6
P60
P61
P62
P63
P64
P65
P66
P67
TCC
Mux
PWM2
PWM1
TCC
ALU
R4
LVD
RAM
P5
ACC
P50
P51
P52
P53
P54
P55
P56
P57
R3 (Status
Reg.)
Interrupt
control
register
LVR
Interrupt
circuit
ADC
Comparator
(CO) or OP
Ext INT
Ain0~7
Cin+ Cin- CO
图 5-1 EM78P372N 功能结构框图
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
5
EM78P372N
8位微控制器
6
功能描述
6.1 操作寄存器
6.1.1 R0 (间接寻址寄存器)
R0并非物理实现的寄存器。它用作一个间接寻址指针,任何使用R0作为存取数据指针
的指令,实际上存取的是RAM选择寄存器(R4)所指向的RAM地址。
6.1.2 R1 (定时时钟/计数器)
对来自TCC引脚的外部信号沿(边沿由CONT寄存器的第5位(TE)设置)或对内部指令
周期时钟进行加1计数
与其它寄存器一样可读写
TCC 预分频计数器分配给TCC使用
下列任何一种情况发生,CONT寄存器内容被清零
给TCC寄存器赋值
给TCC预分频位赋值(CONT寄存器的第3, 2, 1, 0位)
上电复位,/RESET复位,或WDT溢出复位
6.1.3 R2 (程序计数器) 和堆栈
PC
A10
A9
A8
A7
~
A0
Reset vector
0000h
External interrupt
0003h
Port 5 pin change
0006h
TCC overflow interrupt
0009h
AD conversion complete interrupt
000Ch
Comparator interrupt
000Fh
PWM1 Period Match interrupt
0012h
PWM2 Period Match interrupt
0015h
PWM1 Duty Match interrupt
0018h
PWM2 Duty Match interrupt
001Bh
001Eh
Low Voltage Detector interrupt
0021h
User Memory Space
CALL
LCALL
RET
RETL
Store ACC, R3, R4
RETI
Stack Level 1
Stack Level 2
Stack Level 3
Stack Level 4
Stack Level 5
Stack Level 6
Stack Level 7
Stack Level 8
On-chip Program Memory
07FFh
图 6-1 程序存储器结构
6
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
R2 和硬件堆栈是 11位宽,它的结构于6.1.3.1节的数据存储配置表中有描述。
产生2K13位片内OTP ROM 地址以寻址相应的程序指令码。一个程序页是1024字
长。
复位时R2的所有位都被置为”0”。
"JMP" 指令可直接加载程序计数器的低10位。因此,"JMP"指令允许PC跳转到一个
程序页的任一位置。
"CALL"指令首先加载PC的低10位,然后将PC+1推入堆栈。因此,子程序入口地址
可位于一个程序页的任一位置。
"LJMP" 指令直接加载程序计数器的低11位(A0~A10),因此,"LJMP"指令允许PC跳
11
转到2K(2 )空间内的任一位置。
"LCALL" 指令首先加载PC的低11位(A0~A10),然后将PC+1推入堆栈,因此,子程
11
序入口地址可位于2K(2 )空间内的任一位置。
"RET" ("RETL k", "RETI") 指令将栈顶值加载到当前PC。
"ADD R2, A" 可将一个相对地址与当前PC相加,PC的第九位及以上各位逐次递增。
"MOV R2, A" 可从"A"寄存器加载一个地址到PC的低8位,PC的第九位及以上各位
保持不变。
任何(除“ADD R2,A”指令外)向R2写入值的指令(例如. "MOV R2, A", "BC R2, 6")都会
使PC的第九位与第十位(A8~A9)保持不变。
除了"LCALL"与"LJMP"外,其它任何指令都是单指令周期(fclk/2),"LCALL"与"LJMP"
指令需要两个指令周期。
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
7
EM78P372N
8位微控制器
6.1.3.1
数据存储器配置
Register
Bank 0
Register
Bank 1
IOC
Page 0
IOC
Page 1
Address
8
00
R0 (Indirect Addressing
Register)
01
R1 (Timer Clock Counter)
02
R2 (Program Counter)
03
R3 (Status Register)
04
R4 (RSR, Bank select)
05
R5 (Port 5 I/O data)
R5 (TBHP: Table Point
Register)
IOC50 (Port 5 I/O control)
IOC51 (HSCR1: High Sink
Control Register 1)
06
R6 (Port 6 I/O data)
R6 (TBLP: Table Point
Register)
IOC60 (Port 6 I/O control)
IOC61 (HSCR2: High Sink
Control Register 2)
07
R7 (Port 7 I/O data)
R7 (PWMCON: PWM
Control Register)
IOC70 (Port 7 I/O control)
IOC71 (HDCR1: High Driver
Control Register 1)
08
R8 (ADC Input Select
Register)
R8 (TMRCON: Timer Control
Register)
IOC80 (Comparator Control
Register)
IOC81 (HDCR2: High Driver
Control Register 2)
09
R9 (ADC Control
Register)
R9 (PRD1: PWM1 Time
Period)
IOC90 (TMR1: PWM1 Timer)
IOC91 (Reserved)
0A
RA (ADC Offset
Calibration Register)
RA (PRD2: PWM2 Time
Period)
IOCA0 ((TMR2: PWM2 Timer)) IOCA1 (Reserved)
0B
RB (Converted value
AD11~AD4 of ADC)
RB (DT1: PMW1 Duty Cycle)
IOCB0 (Pull-down Control
Register)
IOCB1 (Reserved))
0C
RC (Converted value
AD11~AD8 of ADC)
RC (DT2: PMW2 Duty Cycle)
IOCC0 (Open-drain Control
Register)
IOCC1 (Reserved))
0D
RD (Converted value
AD7~AD0 of ADC)
RD (Reserved)
IOCD0 (Pull-high Control
Register)
IOCD1 (Reserved)
0E
RE (Interrupt Status 2 and
Wake-up Control Register 1)
RE (LVD Control and
Wake-up Control Register 2)
IOCE0 (WDT Control
Register and Interrupt Mask
Register 2)
IOCE1 (Reserved)
0F
RF (Interrupt Status
Register 1)
RF (Mode Select and IRC
Switch Register)
IOCF0 (Interrupt Mask
Register 1)
IOCF1 (Pull-high Control
Register)
10
:
1F
16-Byte Common Register
20
:
3F
Bank 0
32x8
Bank 1
32x8
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
6.1.4 R3 (状态寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RST
IOCS
T
P
Z
DC
C
Bit 7 (RST): 复位类型位
若休眠模式由引脚状态改变、比较器状态改变或AD转换完成等唤醒,其
值为“1”。其它复位类型唤醒,其值为“0”。
Bit 6 (IOCS): IO控制寄存器段选择位
0: 选择段0 (IOC50 ~ IOCF0)
1: 选择段1 (IOC51 ~ IOCC1)
Bit 5:
未使用,一致设为“0”
Bit 4 (T):
溢出位。 执行“SLEP”和“WDTC”指令或上电后置1,WDT溢出时清0(详
见6.5.2节,状态寄存器的T和P状态)。
Bit 3 (P):
掉电位。 当上电或执行"WDTC"指令后置1,执行"SLEP"指令后该位清“0”
(详见6.5.2节,状态寄存器的T和P状态)。
Bit 2 (Z):
零标志位,如果逻辑或算术运算的结果为零时置”1”
Bit 1 (DC):
辅助进位标志位
Bit 0 (C):
进位标志位
6.1.5 R4 (RAM 选择寄存器)
Bit 7 (SBANK):特殊功能寄存器 0x05~0x0F bank 选择位
Bit 6 (BANK): 用于选择寄存器的Bank 0和Bank 1
Bits 5 ~ 0:
用于间接寻址模式下的寄存器选择(地址: 00~0F, 10~3F)
请参考上面章节6.1.3.1的数据存储器配置
6.1.6 Bank 0 R5 ~ R7 (端口 5 ~ 端口 7)
R5 和 R6, P70 和 P71 是 I/O 寄存器
6.1.7 Bank 0 R8 (AISR: ADC 输入选择寄存器)
AISR寄存器分别单独定义I/O端口作为模拟输入或数字I/O口。
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADE7
ADE6
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
9
EM78P372N
8位微控制器
Bit 7 (ADE7): P57引脚的AD转换使能位
0: 禁止ADC7,P57作为普通I/O口
1: 使能ADC7作为模拟输入引脚
Bit 6 (ADE6): P55引脚的AD转换使能位
0: 禁止ADC6,P55作为普通I/O口
1: 使能ADC6作为模拟输入引脚
Bit 5 (ADE5): P70引脚的AD转换使能位
0: 禁止ADC5,P70作为普通I/O口
1: 使能ADC5作为模拟输入引脚
Bit 4 (ADE4): P67引脚的AD转换使能位
0: 禁止ADC4,P67作为普通I/O口
1: 使能ADC4作为模拟输入引脚
Bit 3 (ADE3): P53引脚的AD转换使能位
0: 禁止ADC3,P53作为普通I/O口
1: 使能ADC3作为模拟输入引脚
Bit 2 (ADE2): P52引脚的AD转换使能位
0: 禁止ADC2,P52作为普通I/O口
1: 使能ADC2作为模拟输入引脚
Bit 1 (ADE1): P51引脚的AD转换使能位
0: 禁止ADC1,P51作为普通I/O口
1: 使能ADC1作为模拟输入引脚
Bit 0 (ADE0): P50引脚的AD转换使能位
0: 禁止ADC0,P50作为普通I/O口
1: 使能ADC0作为模拟输入引脚
10
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
注意
P55/ADC6/OSCO/ERCin引脚不能同时用作OSCO与ADC6,如果
55/ADC6/OSCO/ERCin作为OSCO振荡器输入引脚, 此时,R8的ADE6位须为”0”且
ADIS2~0不能选择 “110”。P55/ADC6/OSCO/ERCin 引脚的优先级如下:
:
P55/ADC6/OSCO/ERCin 引脚优先级
高
中
低
OSCO/ERCin
ADC6
P55
P70/ADC5/OSCI/RCOUT引脚不能同时用作OSCI与ADC5,如果
P70/ADC5/OSCI/RCOUT作为OSCI振荡器输入引脚, 此时,R8的ADE5位须为”0”且
ADIS2~0不能选择 “101”。 P70/ADC5/OSCI/RCOUT引脚的优先级如下:
P70/ADC5/OSCI/ROCUT 引脚优先级
高
中
低
OSCI/RCOUT
ADC5
P70
P67/ADC4/PWM1引脚不能同时用作PWM1与ADC4,如果P67/ADC4/PWM1作为ADC4
模拟输入引脚,此时,P67/ADC4/PWM1引脚的优先级如下:
P67/ADC4/PWM1 引脚优先级
高
中
高
ADC4
PWM1
P67
P51/ADC1/PWM2引脚不能同时用作PWM2与ADC1,如果P51/ADC1/PWM2作为ADC1
模拟输入引脚,此时,P51/ADC1/PWM2引脚的优先级如下:
P51/ADC1/PWM2 引脚优先级
高
中
低
ADC1
PWM2
P51
P50/ADC0引脚不能同时用作ADC0,如果P50/ADC0作为ADC0模拟输入引脚,此时,
P50/ADC0引脚的优先级如下:
P50/ADC0 引脚优先级
高
低
ADC0
P50
6.1.8 Bank 0 R9 (ADCON: ADC 控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
VREFS
CKR1
CKR0
ADRUN
ADPD
ADIS2
ADIS1
ADIS0
Bit 7 (VREFS): ADC参考电压的输入源
0: 以工作电压VDD作为ADC的参考电压(默认值),VREF/TCC/P54引脚
执行P54功能(默认)
1: 引脚VREF/TCC/P54上的电压作为ADC的参考电压。
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
11
EM78P372N
8位微控制器
注意
P54/TCC/VREF 引脚不能同时作为 TCC和 VREF,如果P54/TCC/VREF 用作VREF
模拟输入引脚,此时,CONT寄存器”TS”位(-5)须设为“0”。
VREF/TCC/P54引脚的优先级如下:
P53/TCC/VREF 引脚优先级
高
中
低
VREF
TCC
P54
Bit 6 & Bit 5 (CKR1 & CKR0): ADC的时钟预分频选择位
00 = 1 : 16 (默认值)
01 = 1 : 4
10 = 1 : 64
11 = 1 : 1
Bit 4 (ADRUN): ADC开始启动
0: 当转换完成时由硬件复位,该位不能由软件复位(默认)
1: AD转换开始,该位可由软件置位
Bit 3 (ADPD): ADC 功耗
0: ADC低功耗模式(默认)。
1: ADC 正常运行
Bit 2 ~ Bit 0 (ADIS2 ~ ADIS0): 模拟输入选择
ADICS
ADIS2
ADIS1
ADIS0
模拟输入选择
0
0
0
0
ADIN0/P50
0
0
0
1
ADIN1/P51
0
0
1
0
ADIN2/P52
0
0
1
1
ADIN3/P53
0
1
0
0
ADIN4/P67
0
1
0
1
ADIN5/P70
0
1
1
0
ADIN6/P55
0
1
1
1
ADIN7/P57
1
0
X
X
OPOUT
1
1
X
X
内部 1/4 VDD
AD 通道仅在ADIF位和ADRUN位均为低时才可改变。请参见6.1.13章节RE寄存器(中断
状态 2 和唤醒控制寄存器)。
6.1.9 Bank 0 RA (ADOC: ADC 补偿校准寄存器)
12
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
CALI
SIGN
VOF[2]
VOF[1]
VOF[0]
VREF1
VREF0
ADICS
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
Bit 7 (CALI): ADC补偿校准使能位
0: 禁止校准 (默认)
1: 使能校准
Bit 6 (SIGN): 补偿电压极性选择位
0: 负电压(默认)
1: 正电压
Bit 5 ~ Bit 3 (VOF[2] ~ VOF[0]): 补偿电压位
VOF[2]
VOF[1]
VOF[0]
EM78P372N
0
0
0
0LSB
0
0
1
2LSB
0
1
0
4LSB
0
1
1
6LSB
1
0
0
8LSB
1
0
1
10LSB
1
1
0
12LSB
1
1
1
14LSB
Bit 2 ~ Bit 1: ADC 内部参考电压源
VREF1
VREF0
ADC 内部参考电压
0
0
VDD (默认)
0
1
4.0V ± 1%
1
0
3.0V ± 1%
1
1
2.0V ± 1%
注意
如果VREF [1:0]=00, 内部参考电压没有启动,如果VREF[1:0]≠ 00则将自动启动,
而且,内部参考电压的电源与ADC无关。
当使用内部参考电压时,首次转换,用户必须等待最少50us以使能并稳定参考电
压,参考电压不稳定会造成转换结果不准确,首次转换之后,每当打开参考电压
时,用户必须等待最少6us
如果ADC用内部VREF2V作为模拟输入量,转换数据结果将会出错。因此必须注
意AD特性关联电压的最小模拟输入量不能小于2.5V。
Bit 0 (ADICS): ADC 内部通道选择位(选择ADC内部1/4 VDD或OP输出引脚接至ADC输
入脚)
0: 禁止(默认)
1: 使能
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
13
EM78P372N
8位微控制器
6.1.10 Bank 0 RB (ADDATA: ADC转换结果)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
AD11
AD10
AD9
AD8
AD7
AD6
AD5
AD4
当AD转换完成时,结果存入ADDATA, ADRUN位清“0”,ADIF置“1”,见6.1.13部分,
Bank 0 RE(中断状态 2 和唤醒控制寄存器)。
RB 为只读寄存器
6.1.11 Bank 0 RC (ADDATA1H: ADC转换结果)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
“0”
“0”
“0”
“0”
AD11
AD10
AD9
AD8
当AD转换完成时,结果存入ADDATA1H, ADRUN位清“0”,ADIF置“1”,见6.1.13部分,
Bank 0 RE(中断状态 2 和唤醒控制寄存器)
。
RC 为只读寄存器
6.1.12 Bank 0 RD (ADDATA1L: ADC转换结果)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
当AD转换完成时,结果存入ADDATA1L, ADRUN位清“0”,ADIF置“1”,见6.1.13部分,
Bank 0 RE(中断状态 2 和唤醒控制寄存器)
。
RD 为只读寄存器
6.1.13
注:
Bank 0 RE (中断状态 2 和唤醒控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/LVD
LVDIF
ADIF
CMPIF
ADWE
CMPWE
ICWE
LVDWE
1. RE 可由指令清零,但不能置位。
2. IOCE0 是中断屏蔽寄存器。
3. 读RE的值是RE与IOCE0“逻辑与”的结果。
Bit 7 (/LVD): 低电压侦测器状态位,该位为只读位。当VDD引脚电压小于LVD中断电平
(通过LVD1和LVD0位来选择)时,该位被清零。
0: 检测到低电压
1: 未检测到低电压或LVD功能禁止(默认)
Bit 6 (LVDIF):低电压侦测器中断标志位
LVDIF由软件复位为“0”
Bit 5 (ADIF): 模数转换中断标志位,当AD转换完成时置位,由软件复位。
0: 没有中断发生(默认)
1: 中断请求
14
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
Bit 4 (CMPIF): 比较器中断标志,当比较器输出发生改变时置位,软件清零。
0: 没有中断发生(默认)
1: 中断请求
Bit 3 (ADWE): ADC 唤醒使能位
0: 禁止ADC 唤醒(默认)
1: 使能ADC 唤醒
当 AD 转换进入休眠/空闲模式时,该位必须设为“使能”。
Bit 2 (CMPWE):比较器唤醒使能位
0: 禁止比较器唤醒(默认)
1: 使能比较器唤醒
当比较器进入休眠/空闲模式时,该位必须设为“使能”。
Bit 1 (ICWE): 端口5输入状态改变唤醒使能位
0: 禁止端口5输入状态改变唤醒(默认)
1: 使能端口5输入状态改变唤醒
当 Port5 状态改变用于唤醒休眠/空闲模式时,该位必须设为“使能”。
Bit 0 (LVDWE):低电压侦测唤醒使能位
0: 禁止低电压侦测唤醒(默认)
1: 使能低电压侦测唤醒
在低电压侦测运行情况下,当其用于进入中断或将IC由休眠/空闲模式唤
醒时,LVDWE位必须设为“使能”。
6.1.14 Bank 0 RF (中断状态 2 寄存器)
注:
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
DT2IF
DT1IF
PWM2IF
PWM1IF
EXIF
ICIF
TCIF
1. “ 1 ”表示有中断请求,“ 0 ” 表示没有中断产生
2. RF 可由指令清“0”,但不能置1。
3. IOCF0是中断屏蔽寄存器。
4. 读RF的值是RF与IOCF0“逻辑与”的结果。
Bit 7: 不用,一直设为“0”。
Bit 6 (DT2IF): PWM2 占空比中断标志,当PWM2占空比匹配时置位,由软件清零。
Bit 5 (DT1IF): PWM1 占空比中断标志,当PWM1占空比匹配时置位,由软件清零。
Bit 4 (PWM2IF): PWM2 周期中断标志,当PWM2周期匹配时置位,由软件清零。
Bit 3 (PWM1IF): PWM1 周期中断标志,当PWM1周期匹配时置位,由软件清零。
Bit 2 (EXIF): 外部中断标志位,在/INT引脚下降沿时置位,由软件清零。
Bit 1 (ICIF): 端口5输入状态改变中断标志,当端口5输入状态改变时置位,由软件清零。
Bit 0 (TCIF): TCC溢出中断标志,当TCC溢出时置位,由软件清零。
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
15
EM78P372N
8位微控制器
6.1.15
Bank 1 R5 (TBHP: TBRD指令的表指向寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
MLB
-
-
-
-
RBit10
RBit9
RBit8
Bit 7 (MLB): 选择机械码的MSB或LSB值移到寄存器
机械码由TBLP与TBHP寄存器指向。
Bit 6 ~ Bit 3: 未用,一直设为“0”。
Bit 2 ~ Bit 0: 程序码的最高3个有效位地址。
6.1.16 Bank 1 R6 (TBLP: TBRD指令的表指向寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RBit7
RBit6
RBit5
RBit4
RBit3
RBit2
RBit1
RBit0
Bit 7 ~ Bit 0: 程序码的最低8个有效位地址。
6.1.17 Bank 1 R7 (PWMCON: PWM 控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
”0”
“0”
“0”
“0”
“0”
PWMCAS
PWM2E
PWM1E
未用,一直设为“0”
Bit 7~ Bit 3:
Bit 2 (PWMCAS): PWM 级联模式
0: 两个独立的 8 位 PWM 功能(默认)
1: 16 位 PWM 模式(由两个 8 位 PWM 级联而来)
Bit 1 (PWM2E): PWM2 使能位
0: PWM2 关闭(默认),其相关的引脚用作 P51 功能
1: PWM2 开启,其相关引脚自动设为输出
Bit 0 (PWM1E): PWM1 使能位
0: PWM1 关闭(默认),其相关的引脚用作 P67 功能
1: PWM1 开启,其相关引脚自动设为输出
6.1.18 Bank 1 R8 (TMRCON: 定时器控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
T2EN
T1EN
T2P2
T2P1
T2P0
T1P2
T1P1
T1P0
Bit 7 (T2EN):
TMR2 使能位
0: TMR2 关闭(默认)
1: TMR2 开启
16
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
Bit 6 (T1EN):
TMR1 使能位
0: TMR1 关闭(默认)
1: TMR1 开启
Bit 5 ~ Bit 3 (T2P2 ~ T2P0): TMR2 时钟分频器选项位
T2P2
T2P1
T2P0
分频比
0
0
0
1:1 (默认)
0
0
1
1:2
0
1
0
1:4
0
1
1
1:8
1
0
0
1:16
1
0
1
1:64
1
1
0
1:128
1
1
1
1:256
Bit 2 ~ Bit 0 (T1P2 ~ T1P0): TMR1 时钟分频器选项位
T1P2
T1P1
T1P0
分频比
0
0
0
1:1 (默认)
0
0
1
1:2
0
1
0
1:4
0
1
1
1:8
1
0
0
1:16
1
0
1
1:64
1
1
0
1:128
1
1
1
1:256
6.1.19 Bank 1 R9 (PRD1: PWM1 时间周期)
Bank 1-R9 内容是 PWM1 的时间周期(时基),PWM1 的频率是其周期的倒数。
6.1.20 Bank 1 RA (PRD2: PWM2 时间周期)
Bank 1-RA 内容是 PWM2 的时间周期(时基),PWM2 的频率是其周期的倒数。
6.1.21 Bank 1 RB (DT1: PWM1 占空比周期)
使 PWM1 的输出一直保持高电平直到其值与 TMR1 内容相匹配的一个特定值。
6.1.22 Bank 1 RC (DT2:PWM2 占空比周期)
使 PWM2 的输出一直保持高电平直到其值与 TMR2 内容相匹配的一个特定值。
6.1.23 Bank 1 RE (LVD 中断和唤醒寄存器)
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
17
EM78P372N
8位微控制器
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
LVDIE
LVDEN
LVD1
LVD0
-
-
-
EXWE
Bit 7 (LVDIE): 低电压侦测器中断使能位
0: 禁止低电压侦测器中断(默认)
1: 使能低电压侦测器中断
注意
当低电压侦测用于进入中断向量或进入下一条指令时,LVDIE位必须设为“使能”。
Bit 6 (LVDEN):低电压侦测器使能位
0: 禁止低电压侦测器功能(默认)
1: 使能低电压侦测器功能
Bit 5 ~ Bit 4: 低电压侦测器电平选择位
LVDEN
LVD1, LVD0
1
LVD 中断电平 l
/LVD
Vdd 2.2V
0
Vdd > 2.2V
1
Vdd 3.3V
0
Vdd > 3.3V
1
11
1
10
1
01
1
00
0
Vdd 4.0V
0
Vdd > 4.0V
1
Vdd 4.5V
0
Vdd > 4.5V
1
N/A
1
注意
当Vdd变化时,如果Vdd达到LVD中断电平时,LVD中断产生。
Bit 3 ~ Bit 1: 未用,一直设为“0”
Bit 0 (EXWE): 外部/INT引脚唤醒使能位
0: 禁止外部/INT引脚唤醒(默认)
1: 使能外部/INT引脚唤醒
6.1.24 Bank 1 RF (系统控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
TIMERSC
CPUS
IDLE
SHS1
SHS0
RCM1
RCM0
Bit 7:
未用,一直设为“0”
Bit 6 (TIMERSC): TCC, PWM1, PWM2 时钟源选择位
0: Fs 用做Fc
1: Fm 用做Fc(默认)
18
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
CPU 振荡源选择位
Bit 5 (CPUS):
0: Fs : 副频(WDT内部RC时基16kHz)
1: Fm : 主频(Fm)(默认)
当CPUS=0,CPU振荡器选择副振荡器,主振荡器停止。
Bit 4 (IDLE):
空闲模式使能位
该位将决定执行SLEP指令后CPU将进入哪个工作模式
0: IDLE = ‘0’ + SLEP 指令 休眠模式(默认)
1: IDLE = ‘1’ + SLEP 指令 空闲模式
RESET
Normal Mode
fm:oscillation
fs: oscillation
Wake up
wake up
CPU: using fm
CPUS="1"
IDLE="0"
+SLEP
Sleep Mode
Wake up
fm:stop
fs: stop
CPU: stop
Green Mode
CPUS="0"
IDLE="1"
+SLEP
IDLE="1
"+SLEP
fm:stop
fs: oscillation
IDLE="0"
+ SLEP
CPU: using fs
Idle Mode
fm:stop
fs: oscillation
wake up
CPU: stop
图 6-3 CPU 工作模式框图
振荡器
(普通模式振荡源)
CPU 模式状态
振荡器稳定时间
1
(S)
休眠/空闲 → 普通
晶体
1M ~ 16 MHz
低速 → 普通
休眠/空闲 → 低速
普通/低速模式下计数
2
(CLK)
510 CLK
0.5 ms ~ 2 ms
510 CLK
< 100 µs
8 CLK
休眠/空闲 → 普通
ERC
2 MHz
低速 → 普通
休眠/空闲 → 低速
< 5 µs
8 CLK
< 100 µs
休眠/空闲 → 普通
IRC
1M, 4M, 8M, 16 MHz
低速 → 普通
休眠/空闲 → 低速
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
< 2 µs
8 CLK
< 100 µs
19
EM78P372N
8位微控制器
注意
1
■ 振荡器的稳定时间取决于振荡器的特性。
2
■ 振荡器稳定后,CPU在普通/低速模式下将计数510/8 CLK,然后继续工作在普通/低
速模式。
例 1 : 4MHz IRC条件下从休眠模式唤醒至普通模式,总的唤醒时间是 2 µs + 8 CLK @
4 MHz.
例 2 : 4MHz IRC条件下从休眠模式唤醒至低速模式,总的唤醒时间是 100 µs + 8 CLK
@ 16kHz.
Bit 3 ~ Bit 2 (SHS1 ~ SHS0): 选择 AD 采样和保持时间
(推荐至少 4μs,TAD: ADC 工作时钟周期)
SHS1
SHS0
ADC 采样和保持时间 (TAD)
0
0
2 x TAD
0
1
4 x TAD
1
0
8 x TAD
1
1
12 x TAD (默认)
Bits 1 ~ 0 (RCM1 ~ RCM0): IRC 模式选择位
RCM 1
RCM 0
频率 (MHz)
1
1
4
1
0
16
0
1
8
0
0
1
Bank 1 RF 将被使能
烧录器校正 IRC
Bank 1 RF
频率
工作电压范围
稳定时间
1
4 MHz ± 2%
2.1V ~ 5.5V
< 5 µs
1
0
16 MHz ± 10%
4.5V ~ 5.5V
< 1.5 µs
0
1
8 MHz ± 10%
3.0V ~ 5.5V
< 3 µs
0
0
1MHz ± 10%
2.1V ~ 5.5V
< 24 µs
1
1
4 MHz ± 10%
2.1V ~ 5.5V
< 6 µs
1
0
16 MHz ± 2%
4.5V ~ 5.5V
< 1.25 µs
0
1
8 MHz ± 10%
3.0V ~ 5.5V
< 3 µs
0
0
1MHz ± 10%
2.1V ~ 5.5V
< 24 µs
1
1
4 MHz ± 10%
2.1V ~ 5.5V
< 6 µs
1
0
16 MHz ± 10%
4.5V ~ 5.5V
< 1.5 µs
0
1
8 MHz ± 2%
3.0V ~ 5.5V
< 2.5 µs
0
0
1MHz ± 10%
2.1V ~ 5.5V
< 24 µs
RCM1
RCM0
1
4 MHz
16 MHz
8 MHz
20
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
(續
烧录器校正 IRC
1 MHz
Bank 1 RF
频率
工作电压范围
稳定时间
1
4 MHz ± 10%
2.1V ~ 5.5V
< 6 µs
1
0
16 MHz ± 10%
4.5V ~ 5.5V
< 1.5 µs
0
1
8 MHz ± 10%
3.0V ~ 5.5V
< 3 µs
0
0
1MHz ± 2%
2.1V ~ 5.5V
< 20 µs
RCM1
RCM0
1
注意
■ Bank1 RF初始值将保持与Word 1的值一致。
■ 如果用户改变IRC频率由A-频率到B-频率,MCU须等待一段时间后才工作,等待时间
与B-频率有关。
例如:
st
1 步骤 当用户在烧录时选择的频率为4MHz,Bank 1 RF的初始值为“11”,与Word
1的值(“11”)一致。
如果MCU全速运行,它将工作在4 MHz ± 2%,参考下表。
烧录器校准 IRC
Bank 1 RF
频率
工作电压范围
稳定时间
1
4 MHz ± 2%
2.1V ~ 5.5V
< 5 µs
1
0
16 MHz ± 10%
4.5V ~ 5.5V
< 1.5 µs
0
1
8 MHz ± 10%
3.0V ~ 5.5V
< 3 µs
0
0
1MHz ± 10%
2.1V ~ 5.5V
< 24 µs
RCM1
RCM0
1
4 MHz
nd
2 步骤 当MCU工作在4 MHz ± 2%下,若希望设置RF = “10”,MCU须保持1.5µs ,
然后在16 MHz ± 10%下继续工作。
烧录器校准 IRC
Bank 1 RF
频率
工作电压范围
稳定时间
1
4 MHz ± 2%
2.1V ~ 5.5V
< 5 µs
1
0
16 MHz ± 10%
4.5V ~ 5.5V
< 1.5 µs
0
1
8 MHz ± 10%
3.0V ~ 5.5V
< 3 µs
0
0
1MHz ± 10%
2.1V ~ 5.5V
< 24 µs
RCM1
RCM0
1
4 MHz
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
21
EM78P372N
8位微控制器
rd
3 步骤 当MCU工作在16 MHz ± 10%下,若希望设置RF = “00”,MCU须保持
24µs ,然后在1 MHz ± 10%下继续工作。
烧录器校准 IRC
Bank 1 RF
频率
工作电压范围
稳定时间
1
4 MHz ± 2%
2.1V ~ 5.5V
< 5 µs
1
0
16 MHz ± 10%
4.5V ~ 5.5V
< 1.5 µs
0
1
8 MHz ± 10%
3.0V ~ 5.5V
< 3 µs
0
0
1MHz ± 10%
2.1V ~ 5.5V
< 24 µs
RCM1
RCM0
1
4 MHz
th
4 步骤 当MCU工作在1 MHz ± 10%下,若希望设置RF = “11”,MCU须保持5µs ,
然后在4 MHz ± 2%下继续工作。
烧录器校准 IRC
Bank 1 RF
频率
工作电压范围
稳定时间
1
4 MHz ± 2%
2.1V ~ 5.5V
< 5 µs
1
0
16 MHz ± 10%
4.5V ~ 5.5V
< 1.5 µs
0
1
8 MHz ± 10%
3.0V ~ 5.5V
< 3 µs
0
0
1MHz ± 10%
2.1V ~ 5.5V
< 24 µs
RCM1
RCM0
1
4 MHz
6.1.25 R10 ~ R3F
这些寄存器都是 8位通用寄存器
6.2 特殊功能寄存器
6.2.1 A (累加器)
用于内部数据传输或指令操作数通常暂存在A中,A不是一个可寻址的寄存器。
6.2.2 CONT (控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
INTE
INT
TS
TE
PSTE
PST2
PST1
PST0
注:
CONT寄存器可读写。
Bit 6 为只读位
Bit 7 (INTE): INT 信号边沿
0: 中断发生在INT引脚信号上升沿
1: 中断发生在INT引脚信号下降沿
Bit 6 (INT):
中断使能标志位
0: 由DISI指令或硬件中断屏蔽
1: 由ENI或RETI指令使能
该位为只读位
22
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
TCC 信号源
Bit 5 (TS):
0: 内部指令周期时钟,若P54作为双向I/O口
1: 由 TCC 引脚传输信号
TCC 信号边沿
Bit 4 (TE):
0: TCC引脚上的传输信号由低到高变化时,TCC加1
1: TCC引脚上的传输信号由高到低变化时,TCC加1
Bit 3 (PSTE): TCC预分频使能位
0: 预分频比禁止,TCC 分频比为1:1
1: 预分频比使能,TCC分频比由Bit 2 ~ Bit 0设置
Bit 2 ~ Bit 0 (PST2 ~ PST0): TCC预分频位
PST2
0
0
0
0
1
1
1
PST1
0
0
1
1
0
0
1
PST0
0
1
0
1
0
1
0
TCC 分频比
1:2
1:4
1:8
1:16
1:32
1:64
1:128
1
1
1
1:256
注: Tcc 溢出时间 [1/FT x 预分频比 x (256 Tcc cnt) x 1
FT = Fm 或 Fs, 由 Bank 1 RF TIMERSC 位定义。
6.2.3 IOC50 ~ IOC70 (I/O 端口控制寄存器)
"0" 定义相关I/O引脚为输出口
"1" 定义相关I/O引脚为高阻态输入
6.2.4 IOC80 (比较器控制寄存器)
注:
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
–
–
CMPOUT
COS1
COS0
–
–
–
IOC80寄存器的第4~0位可读写。
IOC80寄存器的第5位为只读位。
Bit 7 and Bit 6:
未用,一直设置为“0”.
Bit 5 (CMPOUT): 比较器输出结果,该位为只读位。
Bit 4 and Bit 3 (COS1 and COS0): 比较器/OP选择位
功能描述
COS1
COS0
0
0
0
1
比较器和 OP 不用,P64, P65 和 P66 作为普通 I/O 引脚
P65 和 P66 作为比较器输入引脚,P64 作为普通 I/O 引脚
1
0
P65 和 P66 作为比较器输入引脚,P64 作为比较器输出引脚(CO)
1
1
作为 OP,P64 作为 OP 输出引脚(CO)
Bits 2 ~ 0:
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
未用,一直设置为“0”
23
EM78P372N
8位微控制器
6.2.5 IOC90 (TMR1: PWM1 定时器)
6.2.6 IOCA0 (TMR2: PWM2 定时器)
6.2.7 IOCB0 (下拉控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/PD57
/PD56
/PD55
/PD54
/PD53
/PD52
/PD51
/PD50
IOCB0寄存器可读写
Bit 7 (/PD57): 控制位用于使能P57引脚内部下拉功能
0: 使能内部下拉
1: 禁止内部下拉(默认)
Bit 6 (/PD56): 控制位用于使能P56引脚内部下拉功能
Bit 5 (/PD55): 控制位用于使能P55引脚内部下拉功能
Bit 4 (/PD54): 控制位用于使能P54引脚内部下拉功能
Bit 3 (/PD53): 控制位用于使能P53引脚内部下拉功能
Bit 2 (/PD52): 控制位用于使能P52引脚内部下拉功能
Bit 1 (/PD51): 控制位用于使能P51引脚内部下拉功能
Bit 0 (/PD50): 控制位用于使能P50引脚内部下拉功能
6.2.8 IOCC0 (漏极开路控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
OD67
OD66
OD65
OD64
OD63
OD62
OD61
OD60
IOCC0寄存器可读写
Bit 7 (OD67): 控制位用于使能P67引脚漏极开路功能
0: 禁止漏极开路输出
1: 使能漏极开路输出
Bit 6 (OD66): 控制位用于使能P66引脚漏极开路功能
Bit 5 (OD65): 控制位用于使能P65引脚漏极开路功能
Bit 4 (OD64): 控制位用于使能P64引脚漏极开路功能
Bit 3 (OD63): 控制位用于使能P63引脚漏极开路功能
Bit 2 (OD62): 控制位用于使能P62引脚漏极开路功能
Bit 1 (OD61): 控制位用于使能P61引脚漏极开路功能
Bit 0 (OD60): 控制位用于使能P60引脚漏极开路功能
6.2.9 IOCD0 (上拉控制寄存器)
24
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/PH57
/PH56
/PH55
/PH54
/PH53
/PH52
/PH51
/PH50
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
IOCD0 寄存器可读写
Bit 7 (/PH57): 控制位用于使能P57引脚内部上拉功能
0: 使能内部上拉
1: 禁止内部上拉
Bit 6 (/PH56): 控制位用于使能P56引脚内部上拉功能
Bit 5 (/PH55): 控制位用于使能P55引脚内部上拉功能
Bit 4 (/PH54): 控制位用于使能P54引脚内部上拉功能
Bit 3 (/PH53): 控制位用于使能P53引脚内部上拉功能
Bit 2 (/PH52): 控制位用于使能P52引脚内部上拉功能
Bit 1 (/PH51): 控制位用于使能P51引脚内部上拉功能
Bit 0 (/PH50): 控制位用于使能P50引脚内部上拉功能
6.2.10 IOCE0 (WDT 控制寄存器和中断屏蔽寄存器 2 )
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
WDTE
EIS
ADIE
CMPIE
PSWE
PSW2
PSW1
PSW0
Bit 7 (WDTE): 控制位用于使能看门狗定时器
0: 禁止 WDT (默认)
1: 使能 WDT
WDTE 位可读写
Bit 6 (EIS):
控制位用于定义P60 (/INT)引脚的功能
0: P60,双向I/O引脚
1: /INT, 外部中断引脚,这种情况下,P60 的I/O控制位(IOC60的位 0 )
必须设置为“1”。
注意
■ 当EIS为“0”时,/INT通道被屏蔽。当EIS为“1”时,/INT引脚状态也可由读取Port6(R6)
读取到。参考图6-5(6.4部分(I/O端口)的I/O端口和I/O控制寄存器电路)
■ EIS位可读写
Bit 5 (ADIE): ADIF 中断使能位
0: 禁止ADIF中断
1: 使能ADIF中断
Bit 4 (CMPIE):CMPIF 中断使能位
0: 禁止CMPIF中断
1: 使能CMPIF中断
Bit 3 (PSWE): WDT预分频使能位
0: 预分频禁止,WDT分频比为1:1
1: 预分频使能,WDT分频比由位0~位2位设置
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
25
EM78P372N
8位微控制器
Bit 2 ~ Bit 0 (PSW2 ~ PSW0): WDT 预分频比位
WDT 分频比
PSW2
PSW1
PSW0
0
0
0
1:2
0
0
1
1:4
0
1
0
1:8
0
1
1
1:16
1
0
0
1:32
1
0
1
1:64
1
1
0
1:128
1
1
1
1:256
6.2.11 IOCF0 (中断屏蔽寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
DT2IE
DT1IE
PWM2IE
PWM1IE
EXIE
ICIE
TCIE
注:
IOCF0寄存器是可读写的
通过设定IOCF0和IOCE0的位4,5相关位为“1”来使能单个中断。
全局中断由ENI 指令使能,由DISI指令禁止。参考以下第6部分(中断)的图6-7(中断输
入电路)
。
Bit 7:
未使用,一直设置为“0”
Bit 6 (DT2IE):
DT2IE 中断使能位
0: 禁止 DT2IF 中断
1: 使能 DT2IF 中断
Bit 5 (DT1IE):
DT1IE 中断使能位
0: 禁止DT1IF 中断
1: 使能DT1IF 中断
Bit 4 (PWM2IE): PWM2IE 中断使能位
0: 禁止PWM2IF中断
1: 使能PWM2IF中断
Bit 3 (PWM1IE): PWM1IE 中断使能位
0: 禁止PWM1IF中断
1: 使能PWM1IF中断
Bit 2 (EXIE):
EXIF 中断使能位
0: 禁止EXIF中断
1: 使能EXIF中断
Bit 1 (ICIE):
ICIF 中断使能位
0: 禁止ICIF中断
1: 使能ICIF中断
Bit 0 (TCIE):
TCIF 中断使能位
0: 禁止TCIF中断
1: 使能TCIF中断
26
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
6.2.12 IOC51 (高灌电流控制寄存器 1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
HS57
HS56
-
HS54
HS53
HS52
HS51
-
Bit 7 (HS57): P57输出高灌电流的选择位
Bit 6 (HS56): P56输出高灌电流的选择位
Bit 5:
未用
Bit 4 (HS54): P54输出高灌电流的选择位
Bit 3 (HS53): P53输出高灌电流的选择位
Bit 2 (HS52): P52输出高灌电流的选择位
Bit 1 (HS51): P51输出高灌电流的选择位
Bit 0:
未用
HSxx
VDD = 5V, 灌电流
0
10 mA (in 0.1VDD)
1
25 mA (in 0.1VDD)
6.2.13 IOC61 (高灌电流控制寄存器 2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
HS67
HS66
HS65
HS64
HS63
HS62
HS61
HS60
Bit 7 (HS67): P67输出高灌电流的选择位
Bit 6 (HS66): P66输出高灌电流的选择位
Bit 5 (HS65): P65输出高灌电流的选择位
Bit 4 (HS64): P64输出高灌电流的选择位
Bit 3 (HS63): P63输出高灌电流的选择位
Bit 2 (HS62): P62输出高灌电流的选择位
Bit 1 (HS61): P61输出高灌电流的选择位
Bit 0 (HS60): P60输出高灌电流的选择位
HSxx
VDD = 5V, 灌电流
0
10 mA (in 0.1VDD)
1
25 mA (in 0.1VDD)
6.2.14 IOC71 (高驱动电流控制寄存器 1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
HD57
HD56
-
HD54
HD53
HD52
HD51
-
Bit 7 (HD57): P57输出高驱动电流的选择位
Bit 6 (HD56): P56输出高驱动电流的选择位
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
27
EM78P372N
8位微控制器
Bit 5:
未用
Bit 4 (HD54): P54输出高驱动电流的选择位
Bit 3 (HD53): P53输出高驱动电流的选择位
Bit 2 (HD52): P52输出高驱动电流的选择位
Bit 1 (HD51): P51输出高驱动电流的选择位
Bit 0:
未用
HDxx
VDD = 5V, 驱动电流
0
3.7 mA (in 0.9VDD)
1
10 mA (in 0.9VDD)
6.2.15 IOC81 (高驱动电流控制寄存器 2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
HD67
HD66
HD65
HD64
HD63
HD62
HD61
HD60
Bit 7 (HD67): P67输出高驱动电流的选择位
Bit 6 (HD66): P66输出高驱动电流的选择位
Bit 5 (HD65): P65输出高驱动电流的选择位
Bit 4 (HD64): P64输出高驱动电流的选择位
Bit 3 (HD63): P63输出高驱动电流的选择位
Bit 2 (HD62): P62输出高驱动电流的选择位
Bit 1 (HD61): P61输出高驱动电流的选择位
Bit 0 (HD60): P60输出高驱动电流的选择位
HDxx
VDD = 5V, 驱动电流
0
3.7 mA (in 0.9VDD)
1
10 mA (in 0.9VDD)
6.2.16 IOCF1 (上拉控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/PH67
/PH66
/PH65
/PH64
/PH63
/PH62
/PH61
/PH60
注: IOCD0 寄存器是可读写的
Bit 7 (/PH67): 控制位用于使能P67引脚的内部上拉功能
0: 使能内部上拉
1: 禁止内部上拉
Bit 6 (/PH66): 控制位用于使能P66引脚的内部上拉功能
Bit 5 (/PH65): 控制位用于使能P65引脚的内部上拉功能
Bit 4 (/PH64): 控制位用于使能P64引脚的内部上拉功能
28
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
Bit 3 (/PH63): 控制位用于使能P63引脚的内部上拉功能
Bit 2 (/PH62): 控制位用于使能P62引脚的内部上拉功能
Bit 1 (/PH61): 控制位用于使能P61引脚的内部上拉功能
Bit 0 (/PH60): 控制位用于使能P60引脚的内部上拉功能
6.3 TCC/WDT & 预分频器
有两个8位计数器分别作为TCC和WDT的分频器。CONT寄存器的PST2~PST0位决定
TCC的分频系数。IOCE0寄存器的PSW0~PSW2位决定WDT的分频系数。每次给TCC
赋值都将TCC预分频计数器清零。执行 “WDTC”和“SLEP” 指令可将WDT和预分频比清
0。TCC/WDT的电路结构图如图6-3所示。
TCC(R1)是一个8位定时/计数器,TCC时钟源可以选择内部时钟(Fm/Fs)或外部信号
输入(从TCC引脚输入的时钟边沿可选择)
。如果TCC信号源来自内部时钟,TCC将在
每个指令周期(没有分频比)加1。如果TCC信号源来自外部时钟,TCC将在TCC引脚
输入每个下降沿或上升沿时加1, TCC引脚输入脉冲宽度(保持高或低电平)必须大于
Fm时钟或Fs时钟,由BANK 1 RF CPUS位决定。
注意
在休眠模式下,内部TCC将停止运行,然而,在AD转换期间,即使执行”SLEP”指令,
如果RE寄存器的ADWE位使能,TCC仍继续运行。
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
29
EM78P372N
8位微控制器
看门狗定时器是一个自由运行的片内RC振荡器。甚至当振荡器关闭后(如在休眠模式),
WDT仍在继续运行。无论是普通模式还是休眠模式,WDT溢出(若使能)将使MCU复
位。在普通模式下,可通过软件编程随时使能或禁止WDT。参考IOCE0寄存器的WDTE
位(6.2.10节的IOCE0(WDT控制&中断屏蔽寄存器2)。在没有设置WDT的分频比下,
1
2
WDT溢出的时间约为18ms 或 4.5ms 。
Fs
Fm
MUX
0
TCC Pin
1
8-Bit Counter
Data Bus
MUX
8 to 1 MUX
TE (CONT)
TCC (R1)
Prescaler
TS (CONT)
WDT
8-Bit counter
8 to 1 MUX
TCC overflow
interrupt
PST2~0
(CONT)
Prescaler
WDTE
(IOCE0)
WDT Time out
PSW2~0
(IOCE0)
图 6-3 TCC 和 WDT 结构框图
6.4 I/O 端口
I/O寄存器(Port 5, Port 6,和 Port 7)是双向三态I/O端口。Port5可由软件设置内部
上拉或下拉。同样,P6可由软件设置漏极开路功能。Port5具有输入状态改变中断(或唤
醒)的功能,每个I/O引脚可通过设置I/O控制寄存器(IOC50 ~ IOC70)设置为输入或输出
引脚。I/O寄存器和I/O控制寄存器都是可读写的。Port 5, Port 6, 和 Port7的I/O接口电路
描述见图 6-4, 6-5, 6-6, & 6-7。
30
1
VDD=5V, WDT 溢出周期 = 16.5ms ± 30% 在 25°C
VDD=3V, WDT 溢出周期 = 18ms ± 30%在 25°C
2
VDD=5V, WDT 溢出周期 = 4.2ms ± 30% 在 25°C
VDD=3V, WDT 溢出周期 = 4.5ms ± 30%在 25°C
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
PCRD
Q
PORT
P
R
D
_
CLK
Q
C
L
Q
P
R
PCWR
IOD
D
_
CLK
Q
C
L
PDWR
PDRD
0
1
M
U
X
注: 上拉和漏极开路没有在图中显示
图 6-4 Port6和Port7的 I/O端口和 I/O控制寄存器电路
PCRD
P
Q R D
_ CLK
Q C
L
Q P
R D
_ CLK
Q C
L
PORT
Bit 6 of IOCE0
P
R Q
CLK _
C Q
L
D
PCWR
IOD
PDWR
0
1
M
U
X
PDRD
INT
注:上拉和漏极开路没有在图中显示
图 6-5 P60 (/INT)的I/O端口和I/O控制寄存器电路
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
31
EM78P372N
8位微控制器
PCRD
Q
P
R
D
_
CLK
Q
C
L
PCWR
P50 ~ P57
Q
PORT
0
P
R
IOD
D
_
CLK
Q
C
L
PDWR
M
U
X
1
PDRD
TI n
D
P
R
CLK
C
L
Q
_
Q
注: 上拉(下拉)和漏极开路没有在图中显示
图 6-6 Port5的 I/O端口和I/O控制寄存器电路
IOCF.1
RF.1
TI 0
TI 1
….
TI 8
图 6-7 Port5输入状态改变中断/唤醒功能块图
32
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
使用Port5输入状态改变唤醒/中断功能
6.4.1
(1) 唤醒
(2) 唤醒和中断
(a) 休眠前
(a) 休眠前
1. 禁止 WDT
1. 禁止 WDT
2. 读 Port5 的 I/O 状态 (MOV R5,R5)
2. 读 Port5 的 I/O 状态 (MOV R5,R5)
3. 执行 "ENI" 或 "DISI"
3. 执行 "ENI" 或 "DISI"
4. 使能唤醒位(设置 RE ICWE =1)
4. 使能唤醒位(设置 RE ICWE =1)
5. 执行 "SLEP" 指令
5. 使能中断 (设置 IOCF ICIE =1)
(b) 唤醒后
6. 执行 "SLEP" 指令
下一条指令
(b) 唤醒后
1. 如果 "ENI" 中断向量(006H)
2. 如果 "DISI" 下一条指令
(3) 中断
(a) Port5 引脚输入状态改变前
1. 读 Port5 的 I/O 状态 (MOV R5,R5)
2. 执行 "ENI" 或 "DISI"
3. 使能中断 (设置 IOCF ICIE =1)
(b) Port5 引脚输入状态改变后 (中断)
1. 如果"ENI" 中断向量 (006H)
2. 如果"DISI" 下一条指令
6.5 复位和唤醒
6.5.1
复位和唤醒操作
复位由下列情况之一引起:
1. 上电复位
2. /RESET引脚输入低电平
3. WDT溢出(若使能)
3
检测到复位之后,控制器将保持复位状态约18ms (除在LXT模式下),在LXT2模式下,
3
4
复位时间是 500ms。两种选择(18ms 或 4.5ms )都是WDT溢出周期。一旦复位发生,
将会执行以下功能(初始地址是000h):
振荡器继续运行或开始运行(如果在休眠模式下)
程序计数器 (R2) 设置为全 "0"
3
VDD=5V, 启动时间周期 = 16.5 ms ± 30%.
VDD=3V, 启动时间周期 = 18 ms ± 30%.
4
VDD=5V, 启动时间周期 = 4.2 ms ± 30%.
VDD=3V, 启动时间周期 = 4.5 ms ± 30%.
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
33
EM78P372N
8位微控制器
所有的I/O端口引脚设置为输入模式(高阻态)
看门狗定时器和分频器清零
上电时,R3的高三位被清零
IOCB0寄存器的所有位被置“1”
IOCC0寄存器的所有位被置“0”
IOCD0 寄存器的所有位被置“1”
IOCE0 寄存器的位 7, 位5, 和 位4 清零
RE寄存器的位5和位4 清零
RF 和 IOCF0 寄存器清零
执行“SLEP”指令可进入休眠(低功耗)模式(当IDLE=”0”)。进入休眠模式时,振荡器、TCC、
TMR1和TMR2都停止工作。WDT(若使能)被清除但仍继续运行。
在A/D转换期间,执行“SLEP”指令,振荡器、TCC、TMR1和TMR2将继续运行,WDT
(若使能)被清除但仍继续运行。
控制器可由以下几种情况唤醒
情况 1
/RESET引脚上有外部复位信号输入
情况 2
WDT溢出(若使能)
情况 3
Port5引脚输入状态改变(若ICWE使能)
情况 4
比较器输出状态改变(若CMPWE使能)
情况 5
A/D转换完成(若ADWE使能)
情况 6
低电压侦测器(如果LVDWE使能)
前两种情况(1 和 2)将引起EM78P372N复位。R3的T和P标志位可用于确定复位(唤醒)
源。第3、4、5和6种情况下,唤醒后将继续执行程序,由全局中断(执行ENI或者DISI)
决定唤醒后是否进入中断向量。如果在SLEP之前执行了ENI指令,唤醒后程序将从地址
0X06(情况3)、0X0F(情况4)、0X0C(情况5)和0X21(情况6)开始执行。如果在SLEP
之前执行了DISI指令,唤醒后程序将紧接着SLEP的下一条指令开始执行。
在进入休眠模式之前,在情况2到情况6之中只有一种可以被使能。即:
情况 [a] 如果执行SLEP之前WDT使能,RE所有位禁止,此时,EM78P372N仅可由情
况1或情况2唤醒,详细说明请参考中断部分(6.6节)
。
情况 [b] 执行SLEP之前,如果Port5输入状态改变用于唤醒EM78P372N且RE寄存器的
ICWE位为使能,WDT必须禁止,因此,EM78P372N仅可由情况3唤醒,唤醒
时间取决于振荡器的模式。在RC模式下,唤醒时间是10s(对于性能稳定的振
荡器);在XT(4MHz)模式下,唤醒时间是800s(对于性能稳定的振荡器)
;在
LXT2模式下,唤醒时间是2s~3s。
情况 [c]
执行SLEP之前,如果比较器输出状态改变用于唤醒EM78P372N且RE寄存器
的CMPWE位为使能,则WDT必须由软件禁止。因此,EM78P372N仅可由情
况4唤醒,唤醒时间取决于振荡器模式。在RC模式下,唤醒时间是10s(对于
性能稳定的振荡器);在XT(4MHz)模式下,唤醒时间是800s(对于性能稳定的
振荡器)
;在LXT2模式下,唤醒时间是2s~3s。
34
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
情况 [d] 执行SLEP之前,如果AD转换完成用于唤醒EM78P372N且RE寄存器的ADWE
位为使能, WDT必须由软件禁止。因此,EM78P372N仅可由情况5唤醒。唤
醒时间是16TAD(ADC时钟周期)。
情况[e] 在执行SLEP之前,如果低电压侦测器用于唤醒EM78P372N且Bank 0-RE寄存
器的LVDWE位为使能,WDT必须由软件禁止。因此,EM78P372N仅可由情
况6唤醒,唤醒时间取决于振荡器模式。
如果Port5输入状态改变产生中断用于唤醒EM78P372N(如上述的情况[b],在SLEP指
令前必须执行以下指令:
BC
R3, 6
MOV
A, @00xx1110b
IOW
IOCE0
WDTC
MOV
R5, R5
ENI (or DISI)
MOV
A, @xxxxxx1xb
MOV
RE
MOV
A, @xxxxxx1xb
IOW
IOCF0
SLEP
; 选择控制寄存器段0
; 选择WDT预分频比和关闭WDT
;
;
;
;
清WDT和预分频比
读端口 5
使能(或禁止) 全局中断
使能端口 5输入状态改变唤醒位
; 使能端口 5输入状态改变中断
; 休眠
同样地,如果比较器输出状态改变中断用于唤醒EM78P372N(如上述的情况[c]),在执
行指令SLEP前必须执行以下指令:
BC
MOV
IOW
MOV
R3, 6
A, @xxx10XXXb
IOC80
A, @00x11110b
IOW
IOCE0
WDTC
ENI (or DISI)
MOV
A, @xxx0x1xxb
MOV
RE
SLEP
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
; 选择控制寄存器段 0
; 选择比较器且 P64 作为 CO 引脚
; 选择WDT预分频比和关WDT并使能比较器输
; 出状态改变中断
; 清 WDT 和分频比
; 使能(或 禁止) 全局中断
; 使能比较器输出状态改变唤醒位
; 休眠
35
EM78P372N
8位微控制器
6.5.1.1
唤醒和中断模式操作概述
微控制器可由休眠模式和空闲模式唤醒,唤醒信号如下表所列:
唤醒信号
信号条件
休眠模式
DISI
外部 INT
唤醒无效
EXWE = 0
EXIE = 1
唤醒无效
唤醒无效
唤醒
+
下一条指令
唤醒
唤醒
+
+
下一条指令 中断向量
唤醒
+
下一条指令
唤醒
唤醒
+
+
下一条指令 中断向量
ICWE = 0
ICIE = 0
唤醒无效
唤醒无效
ICWE = 0
ICIE = 1
唤醒无效
唤醒无效
唤醒
+
下一条指令
唤醒
唤醒
+
+
下一条指令 中断向量
唤醒
+
下一条指令
唤醒
唤醒
+
+
下一条指令 中断向量
EXWE = 1,
EXIE = 0
ICWE = 1
ICIE = 0
唤醒无效
TCIE = 0
TCC 溢出
唤醒无效
TCIE = 1
唤醒
+
下一条指令
唤醒
+
中断向量
ADWE = 0
ADIE = 0
唤醒无效
唤醒无效
ADWE = 0
ADIE = 1
唤醒无效
唤醒无效
唤醒
+
下一条指令
唤醒
唤醒
+
+
下一条指令 中断向量
唤醒
+
下一条指令
唤醒
唤醒
+
+
下一条指令 中断向量
ADWE = 1
ADIE = 0
ADWE = 1,
ADIE = 1
36
ENI
唤醒无效
ICWE = 1
ICIE = 1
AD 转换完成
DISI
EXWE = 0
EXIE = 0
EXWE = 1
EXIE = 1
Port 5
引脚状态改变
ENI
空闲模式
低速模式
DISI
ENI
中断无效
下一条指令
中断
+
中断向量
中断无效
下一条指令
中断
+
中断向量
中断无效
下一条指令
中断
+
中断向量
中断无效
下一条指令
中断
+
中断向量
中断无效
下一条指令
中断
+
中断向量
中断无效
下一条指令
中断
+
中断向量
中断无效
下一条指令
中断
+
中断向量
普通模式
DISI
ENI
中断无效
下一条指
令
中断
+
中断向量
中断无效
下一条指
令
中断
+
中断向量
中断无效
下一条指
令
中断
+
中断向量
中断无效
下一条指
令
中断
+
中断向量
中断无效
下一条指
令
中断
+
中断向量
中断无效
下一条指
令
中断
+
中断向量
中断无效
下一条指
令
中断
+
中断向量
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
唤醒信号
比较器中断
PWM1 周期匹
配中断
信号条件
休眠模式
DISI
ENI
唤醒无效
CMPWE = 0
CMPIE = 1
唤醒无效
唤醒无效
唤醒
+
下一条指令
唤醒
唤醒
CMPWE = 1
+
+
CMPIE = 1
下一条指令 中断向量
PWM1IE = 0
CMPWE = 1
CMPIE = 0
唤醒无效
PWM1IE = 1
唤醒无效
PWM2IE = 1
唤醒无效
DT1IE = 1
DT2IE = 0
PWM2 占空比
匹配中断
低电压侦测器
唤醒无效
DT2IE = 1
唤醒
+
下一条指令
唤醒
唤醒
+
+
下一条指令 中断向量
唤醒无效
唤醒
唤醒
+
+
下一条指令 中断向量
唤醒无效
唤醒
唤醒
+
+
下一条指令 中断向量
唤醒无效
唤醒
唤醒
+
+
下一条指令 中断向量
唤醒无效
唤醒
唤醒
+
+
下一条指令 中断向量
LVDWE = 0
LVDIE = 0
唤醒无效
唤醒无效
LVDWE = 0
LVDIE = 1
唤醒无效
唤醒无效
唤醒
+
下一条指令
唤醒
唤醒
+
+
下一条指令 中断向量
唤醒+ 复位
唤醒+ 复位
唤醒
+
下一条指令
唤醒
唤醒
+
+
下一条指令 中断向量
唤醒+ 复位
唤醒+ 复位
LVWE = 1
LVDIE = 0
LVDWE = 1
LVDIE = 1
WDT 溢出
低电压复位
ENI
唤醒无效
DT1IE = 0
PWM1 占空比
匹配中断
DISI
CMPWE = 0
CMPIE = 0
PWM2IE = 0
PWM2 周期匹
配中断
空闲模式
WDTE = 1
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
低速模式
DISI
ENI
中断无效
下一条指令
中断
+
中断向量
中断无效
中断
+
中断向量
中断无效
中断
下一条指令
+
中断向量
中断无效
中断
下一条指令
+
中断向量
中断无效
中断
下一条指令
+
中断向量
中断无效
中断
下一条指令
+
中断向量
下一条指令
中断无效
下一条指令
中断
+
中断向量
中断无效
中断
+
中断向量
复位
复位
下一条指令
普通模式
DISI
ENI
中断无效
下一条指
令
中断
+
中断向量
中断无效
中断
+
中断向量
中断无效
中断
下一条指
+
令
中断向量
中断无效
中断
下一条指
+
令
中断向量
中断无效
中断
下一条指
+
令
中断向量
中断无效
中断
下一条指
+
令
中断向量
下一条指
令
中断无效
下一条指
令
中断
+
中断向量
中断无效
中断
+
中断向量
复位
复位
下一条指
令
37
EM78P372N
8位微控制器
6.5.1.2
复位后寄存器的初始值
寄存器初始值归纳如下表:
地址
N/A
名称
IOC50
复位类型
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
位名
C57
C56
C55
C54
C53
C52
C51
C50
类型
–
–
–
–
–
–
–
–
上电
1
1
1
1
1
1
1
1
/RESET 引脚复位和
WDT 复位
1
1
1
1
1
1
1
1
引脚状态改变唤醒
N/A
N/A
N/A
IOC60
IOC70
IOC80
P
P
P
P
P
P
P
P
位名
C67
C66
C65
C64
C63
C62
C61
C60
类型
–
–
–
–
–
–
–
–
上电
1
1
1
1
1
1
1
1
/RESET 引脚复位和
WDT 复位
1
1
1
1
1
1
1
1
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
C71
C70
上电
0
0
0
0
0
0
1
1
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
0
1
1
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
CMPOUT
COS1
COS0
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
0
0
0
引脚状态改变唤醒
N/A
N/A
N/A
N/A
38
IOCB0
(PDCR)
IOCC0
(ODCR)
IOCD0
(PHCR1)
IOCE0
P
P
P
P
P
P
P
P
位名
/PD57
/PD56
/PD55
/PD54
/PD53
/PD52
/PD51
/PD50
上电
1
1
1
1
1
1
1
1
/RESET 引脚复位和
WDT 复位
1
1
1
1
1
1
1
1
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
OD67
OD66
OD65
OD64
OD63
OD62
OD61
OD60
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
0
0
0
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
/PH57
/PH56
/PH55
/PH54
/PH53
/PH52
/PH51
/PH50
上电
1
1
1
1
1
1
1
1
/RESET 引脚复位和
WDT 复位
1
1
1
1
1
1
1
1
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
WDTC
EIS
ADIE
CMPIE
PSWE
PSW2
PSW1
PSW0
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
0
0
0
引脚状态改变唤醒
P
P
P
P
P
P
P
P
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
地址
N/A
名称
IOCF0
复位类型
Bit 7
Bit 6
Bit 5
位名
DT2IE
DT1IE
上电
0
0
0
0
0
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
引脚状态改变唤醒
N/A
IOC51
(HSCR1)
IOC61
(HSCR2)
IOC71
(HDCR1)
IOC81
(HDCR2)
IOCF1
(PHCR2)
000
001
CONT
R0 (IAR)
R1 (TCC)
EXIE
ICIE
TCIE
0
0
0
0
0
0
P
P
P
P
P
P
P
HS54
HS53
HS52
HS51
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
位名
HS67
HS66
HS65
HS64
HS63
HS62
HS61
HS60
上电
0
0
0
0
0
0
0
1
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
0
0
1
P
P
P
P
P
P
P
P
位名
HD57
HD56
HD54
HD53
HD52
HD51
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
位名
HD67
HD66
HD65
HD64
HD63
HD62
HD61
HD60
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
位名
/PH67
/PH66
/PH65
/PH64
/PH63
/PH62
/PH61
/PH60
上电
1
1
1
1
1
1
1
1
/RESET 引脚复位和
WDT 复位
1
1
1
1
1
1
1
1
引脚状态改变唤醒
N/A
Bit 0
HS56
引脚状态改变唤醒
N/A
Bit 1
P
引脚状态改变唤醒
N/A
PWM2IE PWM1IE
Bit 2
HS57
引脚状态改变唤醒
N/A
Bit 3
位名
引脚状态改变唤醒
N/A
Bit 4
P
P
P
P
P
P
P
P
位名
INTE
INT
TS
TE
PSTE
PST2
PST1
PST0
上电
1
0
1
1
0
0
0
0
/RESET 引脚复位和
WDT 复位
1
0
1
1
0
0
0
0
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
–
–
–
–
–
–
–
–
上电
U
U
U
U
U
U
U
U
/RESET 引脚复位和
WDT 复位
P
P
P
P
P
P
P
P
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
–
–
–
–
–
–
–
–
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
0
0
0
引脚状态改变唤醒
P
P
P
P
P
P
P
P
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
39
EM78P372N
8位微控制器
地址
002
名称
R2 (PC)
复位类型
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
位名
–
–
–
–
–
–
–
–
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
0
0
0
位名
RST
IOCS
-
T
P
Z
DC
C
上电
0
0
0
1
1
U
U
U
/RESET 引脚复位和
WDT 复位
0
0
0
t
t
P
P
P
引脚状态改变唤醒
1
P
P
t
t
P
P
P
位名
SBANK
BS0
–
–
–
–
–
–
上电
0
0
U
U
U
U
U
U
/RESET 引脚复位和
WDT 复位
0
0
P
P
P
P
P
P
引脚状态改变唤醒
003
004
R3 (SR)
R4 (RSR)
引脚状态改变唤醒
005
Bank 0
R5
0
P
P
P
P
P
P
P
位名
P57
P56
P55
P54
P53
P52
P51
P50
上电
1
1
1
1
1
1
1
1
/RESET 引脚复位和
WDT 复位
1
1
1
1
1
1
1
1
引脚状态改变唤醒
006
007
Bank 0
R6
Bank 0
R7
P
P
P
P
P
P
P
P
位名
P67
P66
P65
P64
P63
P62
P61
P60
上电
1
1
1
1
1
1
1
1
/RESET 引脚复位和
WDT 复位
1
1
1
1
1
1
1
1
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
–
–
–
–
–
–
P71
P70
上电
0
0
0
0
0
0
1
1
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
0
1
1
引脚状态改变唤醒
008
009
Bank 0
R8
(AISR)
Bank 0
R9
(ADCON)
P
P
P
P
P
P
P
P
位名
ADE7
ADE6
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
0
0
0
引脚状态改变唤醒
0
0
0
0
P
P
P
P
位名
VREFS
CKR1
CKR0
ADRUN
ADPD
ADIS2
ADIS1
ADIS0
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
0
0
0
引脚状态改变唤醒
00A
40
Bank 0
RA
(ADOC)
跳至地址 0x06 或 继续执行下一条指令
P
P
P
P
P
0
P
P
位名
CALI
SIGN
VOF[2]
VOF[1]
VOF[0]
VREF1
VREF0
ADICS
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位和
WDT 复位
0
0
0
0
0
0
0
0
引脚状态改变唤醒
P
P
P
P
P
P
P
P
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
地址
名称
00B
Bank 0
RB
(ADDATA)
00C
00D
00E
00F
复位类型
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
位名
AD11
AD10
AD9
AD8
AD7
AD6
AD5
AD4
上电
U
U
U
U
U
U
U
U
/RESET 引脚复位
和 WDT 复位
U
U
U
U
U
U
U
U
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
AD11
AD10
AD9
AD8
Bank 0
上电
RC
/RESET 引脚复位
(ADDATA1H) 和 WDT 复位
0
0
0
0
U
U
U
U
0
0
0
0
U
U
U
U
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
上电
U
U
U
U
U
U
U
U
/RESET 引脚复位
和 WDT 复位
U
U
U
U
U
U
U
U
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
/LVD
LVDIF
ADIF
CMPIF
ADWE
CMPWE
ICWE
LVDWE
上电
1
0
0
0
0
0
0
0
/RESET 引脚复位
和 WDT 复位
1
0
0
0
0
0
0
0
引脚状态改变唤醒
P
P
P
P
P
位名
DT2IF
DT1IF
上电
0
0
0
0
/RESET 引脚复位
和 WDT 复位
0
0
0
Bank 0
RD
(ADDATA1L)
Bank 0
RE
(ISR2 &
WUCR)
Bank 0
RF
(ISR2)
引脚状态改变唤醒
005
006
007
Bank 1
R5
(TBHP)
P
P
ICIF
TCIF
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
位名
MLB
RBit10
RBit9
RBit8
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位
和 WDT 复位
0
0
0
0
0
0
0
0
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
RBit7
RBit6
RBit5
RBit4
RBit3
RBit2
RBit1
RBit0
Bank 1
上电
0
0
0
0
0
0
0
0
R6
(TBLP)
/RESET 引脚复位
和 WDT 复位
0
0
0
0
0
0
0
0
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bank 1
上电
R7
/RESET 引脚复位
(PWMCON)
和 WDT 复位
引脚状态改变唤醒
008
P
EXIF
PWM2IF PWM1IF
Bank 1
R8
(TMRCON)
PWMCA
PWM2E PWM1E
S
P
P
P
P
P
P
P
P
位名
T2EN
T1EN
T2P2
T2P1
T2P0
T1P2
T1P1
T1P0
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位
和 WDT 复位
0
0
0
0
0
0
0
0
引脚状态改变唤醒
P
P
P
P
P
P
P
P
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
41
EM78P372N
8位微控制器
地址
名称
复位类型
位名
009
Bank 1
R9
(PRD1)
Bank 1
RA
(PRD2)
00C
00E
0x10~0x3F
Bit 3
Bit 2
PWM1[7] PWM1[6] PWM1[5] PWM1[4] PWM1[3] PWM1[2]
Bit 1
Bit 0
PWM1[1 PWM1[0
]
]
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
引脚状态改变唤醒
P
P
P
P
P
P
P
P
PWM2[7] PWM2[6] PWM2[5] PWM2[4] PWM2[3] PWM2[2]
PWM2[1 PWM2[0
]
]
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位
和 WDT 复位
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
DT1[7]
DT1[6]
DT1[5]
DT1[4]
DT1[3]
DT1[2]
DT1[1]
DT1[0]
Bank 1
上电
0
0
0
0
0
0
0
0
RB
(DT1)
/RESET 引脚复位
和 WDT 复位
0
0
0
0
0
0
0
0
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
DT2[7]
DT2[6]
DT2[5]
DT2[4]
DT2[3]
DT2[2]
DT2[1]
DT2[0]
上电
0
0
0
0
0
0
0
0
/RESET 引脚复位
和 WDT 复位
0
0
0
0
0
0
0
0
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
LVDIE
LVDEN
LVD1
LVD0
EXWE
上电
0
0
1
1
0
0
0
0
/RESET 引脚复位
和 WDT 复位
0
0
1
1
0
0
0
0
引脚状态改变唤醒
P
P
P
P
P
P
P
P
位名
-
TIMERS
C
CPUS
IDLE
SHS1
SHS0
RCM1
RCM0
上电
0
1
1
0
1
1
WORD1
/RESET 引脚复位
和 WDT 复位
0
1
1
0
1
1
WORD1
引脚状态改变唤醒
P
P
P
P
P
P
Bank 1
RC
(DT2)
Bank 1
RE
(LVDCR &
WUCR)
RF
(SCR)
R10~R3F
P
P
位名
–
–
–
–
–
–
–
–
上电
U
U
U
U
U
U
U
U
/RESET 引脚复位
和 WDT 复位
P
P
P
P
P
P
P
P
引脚状态改变唤醒
P
P
P
P
P
P
P
P
符号说明: “” = 未用
“u” = 未知或无需理会
42
Bit 4
位名
Bank 1
00F
Bit 5
/RESET 引脚复位
和 WDT 复位
引脚状态改变唤醒
00B
Bit 6
上电
位名
00A
Bit 7
“P” = 复位前的值
“t” = 对照6.5.2节的”复位类型表
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
6.5.1.3
复位控制器结构图
VDD
D
Oscillator
Q
CLK
CLK
CLR
Power-on Reset
Voltage
Detector
ENWDTB
WDT Timeout
Reset
Setup time
WDT
/RESET
图 6-8 复位控制器结构图
6.5.2
状态寄存器的 T和 P 状态
复位由以下事件产生:
1. 上电复位
2. /RESET 引脚输入低电平
3. WDT 溢出(如果使能)
T 和 P的值如下表所示,用于检测控制器是如何唤醒的 :
复位类型
RST
T
P
上电
0
1
1
在正常模式下/RESET 引脚复位
0
*P
*P
在休眠模式下/RESET 引脚唤醒复位
0
1
0
在正常模式下 LVR
0
*P
*P
在休眠模式下 LVR 唤醒
0
1
0
在正常模式下 WDT 溢出复位
0
0
1
在休眠模式下 WDT 唤醒
0
0
0
在休眠模式下引脚状态改变唤醒
1
1
0
*P: 复位前的状态
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
43
EM78P372N
8位微控制器
下表列出了可能影响T和P状态的事件
事件
RST
0
T
1
P
1
*P
1
1
WDT 溢出
0
0
*P
SLEP 指令
休眠模式下引脚状态改变唤醒
*P
1
1
1
0
0
上电
WDTC 指令
*P: 复位前的值
6.6 中断
EM78P372N 有以下10个中断源:
1. PWM1~2 周期匹配和占空比时间匹配溢出中断
2. Port 5 输入状态改变中断
3. 外部中断[(P60, /INT) 引脚]
4. 模数转换完成
5. 比较器输出状态改变
6. 低电压侦测中断
在Port5输入状态改变中断使能前,读Port5(例如:"MOV R5,R5")是必要的。Port5
每个引脚均具有这个功能。在执行SLEP指令进入休眠模式前,如果Port5输入状态改变
中断被使能,Port5输入状态改变会将EM78P372N从休眠模式唤醒。如果总的中断被禁
止,唤醒后控制器将继续向下逐行地执行程序。如果总的中断使能,程序将分支到中断
向量地址006H。
外部中断装备有数字噪声抑制电路(输入脉冲低于系统时钟周期被当作噪声而滤除)。然
而,在低频晶体振荡器(LXT2)模式下的噪声抑制电路将被禁止。由CONT寄存器的INTE
位选择触发边沿。当由外部产生中断时(若使能),下一条指令将从向量地址003H获取。
数字噪声抑制的定义请参考6.14.2节的代码选项寄存器Word 1的位8、位9。
RF 和 RE 是中断状态寄存器,它的相关标志位记录了中断请求状态。IOCF0 和 IOCE0
是中断屏蔽寄存器。全局中断由执行指令 ENI 使能,由执行 DISI 指令禁止。在中断服
务程序里,通过轮询 RF 的标志位来确定中断源。在离开中断服务程序前,必须用指令
清除中断标志,以免发生重复中断。
若中断屏蔽位为”使能”,中断状态寄存器(RF)标志位的置位,与是否执行了 ENI 指令
无关。需注意地是 RF 的结果是 RF 和 IOCF0 逻辑与的结果(参见下图)
,RETI 指令结
束中断子程序并使能全局中断(自动执行 ENI 指令)
。
当一个中断由定时器时钟/计数器产生(若使能)
,下一条指令将从地址 009,012, 015,018,
和 01BH(PWM1~2 周期和占空比分别匹配)获取。
当一个中断由 A/D 转换完成后产生(若使能)
,下一条指令将从地址 00CH 中获取。
当一个中断由比较器状态改变产生(若使能)
,下一条指令将从地址 00FH 获取(比较器
中断)。
44
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
当一个中断由低电压侦测产生(若使能),下一条指令将从地址 021H 获取(低电压侦测
器中断)
。
在执行中断服务子程序前,ACC,R3 和 R4 值将会由硬件自动保存,如果有另外一个中
断产生,ACC,R3 和 R4 寄存器将由新中断时的值取代。中断服务子程序结束后,ACC,
R3 和 R4 内容将被还原。
VDD
D
Oscillator
Q
CLK
CLK
CLR
Power-On Reset
Low Voltage Reset
Setup time
WDTE
WDT
WDT Timeout
Reset
/RESET
Interrupt sources
ACC
Interrupt
occurs
Stack ACC
ENI/DISI
R3
RETI
R4
Stack R3
Stack R4
图 6-9 中断备份框图
EM78P372N的每个中断源都有各自的中断向量,详见下表:
中断向量
中断状态
优先级*
003H
外部中断
2
006H
Port 5 引脚状态改变
3
009H
TCC 溢出中断
4
00CH
AD 转换完成中断
5
00FH
比较器中断
6
012H
PWM1 周期匹配中断
7
015H
PWM2 周期匹配中断
8
018H
PWM1 占空比匹配中断
9
01BH
PWM2 占空比匹配中断
10
021H
低电压侦测器中断
1
注: *优先级: 1 = 最高; 10 = 最低优先级
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
45
EM78P372N
8位微控制器
6.7 模数转换器 (ADC)
模数转换电路包括一个8位模拟多路转换器,三个控制寄存器(AISR/R8, ADCON/R9,
ADOC/RA),三个数据寄存器((ADDATA/RB, ADDATA1H/RC和ADDATA1L/RD)和一个
12位精度的AD转换器,其功能方框图如下。模拟参考电压(Vref)和模拟地由不同引脚接
入。接外部参考电压(VREF)比接内部VDD其转换结果更精确。
ADC模块采用逐次逼近式把未知的模拟信号转换为数字值,其结果存入ADDATA,
ADDATA1H 和 ADDATA1L中。通过ADCON寄存器的ADIS2, ADIS1和ADIS0位的设置
来选择输入通道。
图 6-10 模数转换器功能方框图
这是一个 12 位逐次逼近寄存器模数转换器(SAR ADC),SAR ADC 有两个参考电压。参
考电压可以通过设置 ADCR2 寄存器的 VREFP 和 VPIS[1:0]位选择内部 AVDD、内部电
压源或外部输入引脚。接外部参考电压比使用内部 AVDD 更准确。
6.7.1 ADC 控制寄存器 (AISR/R8, ADCON/R9, ADOC/RA)
6.7.1.1
BANK 0 R8 (AISR: ADC 输入选择寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADE7
ADE6
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
AISR寄存器分别单独定义P5, P6和P7引脚作为模拟输入或数字I/O口。
Bit 7 (ADE7): P57引脚的AD转换使能位
0: 禁止ADC7,P57作为普通I/O口
1: 使能ADC7作为模拟输入引脚
Bit 6 (ADE6): P55引脚的AD转换使能位
0: 禁止ADC6,P55作为普通I/O口
1: 使能ADC6作为模拟输入引脚
46
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
Bit 5 (ADE5): P70引脚的AD转换使能位
0: 禁止ADC5,P70作为普通I/O口
1: 使能ADC5作为模拟输入引脚
Bit 4 (ADE4): P67引脚的AD转换使能位
0: 禁止ADC4,P67作为普通I/O口
1: 使能ADC4作为模拟输入引脚
Bit 3 (ADE3): P53引脚的AD转换使能位
0: 禁止ADC3,P53作为普通I/O口
1: 使能ADC3作为模拟输入引脚
Bit 2 (ADE2): P52引脚的AD转换使能位
0: 禁止ADC2,P52作为普通I/O口
1: 使能ADC2作为模拟输入引脚
Bit 1 (ADE1): P51引脚的AD转换使能位
0: 禁止ADC1,P51作为普通I/O口
1: 使能ADC1作为模拟输入引脚
Bit 0 (ADE0): P50引脚的AD转换使能位
0: 禁止ADC0,P50作为普通I/O口
1: 使能ADC0作为模拟输入引脚
6.7.1.2
BANK 0 R9 (ADCON: ADC 控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
VREFS
CKR1
CKR0
ADRUN
ADPD
ADIS2
ADIS1
ADIS0
ADCON寄存器控制AD转换器的运行以及确定哪个引脚当前有效。
Bit 7 (VREFS):ADC参考电压的输入源
0: 以工作电压VDD作为ADC的参考电压(默认值),VREF/TCC/P54引脚
执行P54功能(默认)
1: 引脚VREF/TCC/P54上的电压作为ADC的参考电压。
注意
P54/TCC/VREF 引脚不能同时作为 TCC和 VREF,如果P54/TCC/VREF 用作VREF
模拟输入引脚,此时,CONT寄存器”TS”位(-5)须设为“0”。
VREF/TCC/P54引脚的优先级如下:
P53/TCC/VREF 引脚优先级
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
高
中
低
VREF
TCC
P54
47
EM78P372N
8位微控制器
Bit 6 & Bit 5 (CKR1 & CKR0): ADC的振荡器时钟预分频
00 = 1 : 16 (默认值)
01 = 1 : 4
10 = 1 : 64
11 = 1 : 8
系统模式
CKR[1:0]
00(默认)
普通模式
省电模式
ADC运行时钟(FAD
= 1 / TAD)
FOSC/16
最大FMain
(VDD = 2.5V ~ 3V)
4 MHz
最大FMain
(VDD = 3V ~ 5.5V)
16 MHz
01
FOSC/4
1 MHz
4 MHz
10
FOSC/64
16 MHz
11
FOSC/1
16K/128kHz
1 MHz
16K/128kHz
Bit 4 (ADRUN): ADC开始启动
0: 当转换完成时复位,该位不能由软件复位(默认)
1: AD转换开始,该位可由软件置位
Bit 3 (ADPD): ADC 低功耗模式
0: 关闭ADC参考电阻使其进入低功耗状态,尽管此时CPU可能仍在工作
1: ADC 正在运行
Bit 2 ~ Bit 0 (ADIS2 ~ ADIS0): 模拟输入选择
ADICS
ADIS2
ADIS1
ADIS0
模拟输入选择
0
0
0
0
ADIN0/P50
0
0
0
1
ADIN1/P51
0
0
1
0
ADIN2/P52
0
0
1
1
ADIN3/P53
0
1
0
0
ADIN4/P67
0
1
0
1
ADIN5/P70
0
1
1
0
ADIN6/P55
0
1
1
1
ADIN7/P57
1
0
X
X
OPOUT
1
1
x
x
内部, 1/4 VDD
这些位仅在ADIF位和ADRUN位均为低时才可改变。
6.7.1.3
RA (ADOC: AD 补偿校准寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
CALI
SIGN
VOF[2]
VOF[1]
VOF[0]
VREF1
VREF0
ADICS
Bit 7 (CALI):
ADC补偿校准使能位
0: 禁止校准
1: 使能校准
Bit 6 (SIGN): 补偿电压极性选择位
0: 负电压
1: 正电压
48
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
Bit 5 ~ Bit 3 (VOF[2] ~ VOF[0]): 补偿电压位
VOF[2]
0
VOF[1]
0
VOF[0]
0
EM78P372N
0LSB
0
0
1
2LSB
0
1
0
4LSB
0
1
1
0
1
0
6LSB
8LSB
1
0
1
10LSB
1
1
0
12LSB
1
1
1
14LSB
Bit 2 ~ Bit 1:
ADC 内部参考电压源
VREF1
VREF0
ADC 内部参考电压
0
0
VDD
0
1
4.0V ± 1%
1
0
3.0V ± 1%
1
1
2.0V ± 1%
Bit 0 (ADICS): ADC内部通道选择位(选择ADC内部的1/4 VDD或者OP输出引脚连接到
ADC输入引脚)
0: 禁止
1: 使能
注意
1. 如果VREF [1:0]=00, 内部参考电压没有启动,如果VREF[1:0]≠ 00则将自动启动,
而且,内部参考电压的电源与ADC无关.
2. 当使用内部参考电压时,首次转换,用户必须等待最少50us以使能并稳定参考电压,
参考电压不稳定会造成转换结果不准确,首次转换之后,每当打开参考电压时,用
户必须等待最少6us
3.如果ADC用内部VREF2V作为模拟输入量,转换数据结果将会出错。因此必须注意
AD特性关联电压的最小模拟输入量不能小于2.5V。
Bank 1 RF (IRC 切换寄存器)
6.7.1.4
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
TIMERSC
CPUS
IDLE
SHS1
SHS0
RCM1
RCM0
Bits 3 ~ 2 (SHS1 ~ SHS0): AD 采用和保持时间选择(建议至少 4us,TAD:ADC 运行时
钟周期)
SHS1
SHS0
ADC 采样和保持时间 (TAD)
0
0
2 x TAD
0
1
4 x TAD
1
0
8 x TAD
1
1
12 x TAD (默认)
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
49
EM78P372N
8位微控制器
6.7.2 ADC 数据寄存器 (ADDATA/RB, ADDATA1H/RC,
ADDATA1L/RD)
当A/D转换完成时,其结果载入ADDATA1H 和ADDATA1L寄存器。如果ADIE位使能,
则ADIF位置位。
6.7.3 ADC 采样时间
逐次逼近式AD转换的精确性、线性和速度由ADC特性决定。源电阻和内部采样电阻直
接影响采样和保持电容充电所需时间。应用过程控制采样时间长短以满足特定精度的需
要。Vdd=5V时,建议源电阻的最大阻抗为10K。模拟输入通道选定后,在转换开始前
需等待的时间应先满足。
6.7.4 AD 转换时间
CKR[2:0]用来选择转换时间(TAD)。在不影响A/D转换精度的条件下,它允许MCU以最高
频率运行。下列表列出了TAD和最大工作频率的关系。TAD = 1µs 在 3V~5.5V 和 TAD =
4µs 在 2.5V~3V.
VDD = 3V ~ 5.5V (TAD = 1 µs)
系统模式
普通模式
省电模式
单字节转换时间
最大FMain
(VDD = 3V ~ 5.5V) (SHS[1:0] = 10*)
CKR[1:0]
ADC运行时钟
(FAD = 1 / TAD)
00
FMain / 16
16 MHz
20 s
01
FMain / 4
4 MHz
20 s
10
FMain / 64
-
-
11
xx
FMain / 1
FSub
1 MHz
128kHz
20 s
157 s
* 转换时间 = 采样和保持时间 (SHS [1:0]=10, 8 TAD) + 12 位转换时间
(12 TAD) + ADSTART 位置位和开始第一个 TAD 之间的延时
VDD = 2.5V ~ 3V (TAD = 4 µs)
系统模式
普通模式
省电模式
单字节转换时间
最大FMain
(VDD = 2.5V ~ 3V) (SHS[1:0] = 10*)
CKR[1:0]
ADC运行时钟
(FAD = 1 / TAD)
00
FMain / 16
4 MHz
82 µs
01
FMain / 4
1 MHz
82 µs
10
FMain / 64
-
-
11
xx
FMain / 1
-
128 kHz
157 µs
* 转换时间 = 采样和保持时间 (SHS [1:0]=10, 8 TAD) + 12 位转换时间
(12 TAD) + ADSTART 位置位和开始第一个 TAD(0.5 TAD)之间的延时
注意
没有被用作模拟输入脚的引脚可用作通用输入或输出脚。
转换期间,不要执行输出指令以维持所有引脚的精度。
6.7.5 休眠期间的A/D转换
为了获得更精确的ADC值和減少功耗,A/D转换可以在休眠模式下进行。当执行SLEP
指令,除了振荡器、TCC、PWM1、PWM2和A/D转换外,所有的MCU操作都会停止。
50
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
通过以下情况判断AD转换已经完成:
1. R9寄存器的ADRUN位被清“0”。
2. BANK 0 RE寄存器的ADIF位置“1” 。
3. 从ADC转换唤醒(在休眠模式期间它保持运行状态),BANK0 RE寄存器的ADWE 位
置“1”。
4. 如果IOCE0的ADIE位使能,并执行DISI指令,唤醒休眠后执行下一条指令。
5. 如果IOCE0的ADIE位使能,并执行ENI指令,唤醒并进入中断向量(地址0x00C)。
6. 如果IOCE0的ADIE位使能,并执行ENI指令,进入中断向量(地址0x00C)。
当转换结束后,转换的结果载入ADDATA, ADDATA1H 和ADDATA1L寄存器中。如果
ADIE使能,单片机将被唤醒。否则,无论ADPD位的状态如何,AD转换器都被关闭。
6.7.6 编程步骤/考虑的事项
6.7.6.1
编程步骤
按以下步骤来获得ADC值:
1. 设置R8(AISR)寄存器的8个位(ADE7:ADE0)来定义R5寄存器的特性(数字I/O引脚,
模拟信道, 以及参考电压引脚)
。
2. 设置R9/ADCON寄存器来设定AD模块:
a) 选择ADC输入通道( ADIS2:ADIS0 )
b) 定义AD转换时钟比( CKR1:CKR0 )
c) 选择ADC参考电压的输入源
d) 置ADPD位为“1”, 开始采样
3. 若使用唤醒功能,置ADWE位为“1”。
4. 若使用中断功能,置ADIE位为“1”。
5. 若使用中断功能,下"ENI"指令
6. 置ADRUN位为“1”。
7. 下"SLEP"指令或循环检测
8. 等待唤醒或ADRUN位清除(值为零)
,中断标志(ADIF)置“1”或ADC中断发生
9. 读转换数据寄存器的ADDATA 或ADDATA1H和ADDATA1L的值。如果此时ADC输入
通道变化,ADDATA, ADDATA1H, 和 ADDATA1L值可被清“0”
10. 清除中断标志位(ADIF)
11. 根据需要,进行下一个转换程序,跳到步骤1或步骤2。下一次采样之前,至少等待2
个Tct。
注意
为了获得准确的值,必须避免AD转换期间I/O引脚有任何数据传输。
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
51
EM78P372N
8位微控制器
6.7.6.2
范例
R_0 == 0
PSW == 3
PORT5 == 5
PORT6 == 6
RE== 0XE
; 间接寻址寄存器
; 状态寄存器
; 中断状态寄存器
B. 定义控制寄存器
IOC50 == 0X5
IOC60 == 0X6
IOCE0== 0XE
C_INT== 0XF
;
;
;
;
Port 5控制寄存器
Port 6控制寄存器
中断屏蔽寄存器2
中断屏蔽寄存器
C. ADC Control Register
ADDATA == 0xB
ADDATA1H == 0xC
ADDATA1L == 0xD
AISR == 0x08
ADCON == 0x9
;
;
;
;
;
;
其内容是ADC[11:4]的结果
其内容是ADC[11:8]的结果
其内容是ADC[7:0]的结果
ADC输入选择寄存器
7
6
5
4
3
2
1
0
VREFS CKR1 CKR0 ADRUN ADPD ADIS2 ADIS1 ADIS0
D. 定义ADCON寄存器中的位
ADRUN == 0x4
ADPD == 0x3
; 该位置位后,ADC开始执行
; ADC电源模式
E. 程序开始
ORG 0
JMP INITIAL
; 初始地址
;
ORG 0x0C
; 中断向量
JMP CLRRE
;
;(用户程序部分)
;
CLRRE:
MOV A,RE
AND A, @0BXX0XXXXX ; 清除ADIF位, “X” 根据应用而定;
MOV RE,A
BS ADCON, ADRUN
; 如需要,开始执行下一个AD转换;
;
RETI
INITIAL:
MOV A,@0B00000001
; 选择P50为模拟输入;
MOV AISR,A
MOV A,@0B00001000
; 选择P50为模拟输入通道,并且AD上电;
MOV ADCON,A
; 定义P50为输入脚,时钟比设置为fosc/16;
En_ADC:
MOV A, @0BXXXXXXX1 ; 定义P50为输入脚,其它位根据需要设置;
;
IOW PORT5
52
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
MOV A, @0BXXXX1XXX ; 使能ADC唤醒功能(ADWE)
,“X”根据需要设置
;
MOV RE,A
MOV A, @0BXX1XXXXX ; 使能ADC中断功能(ADIE)
,“X”根据需要设置;
IOW IOCE0
ENI
; 使能全局中断
BS ADCON, ADRUN
; 启动运行ADC
; 若使用中断功能,以下三行可忽略;
;若进入休眠模式:
SLEP
;
;(用户程序部分)
;
;或
;若循环查询:
POLLING:
JBC ADCON, ADRUN
JMP POLLING
; 连续检测ADRUN 位;
; AD转换结束后,ADRUN位清0;
; is completed
;
;(用户程序部分)
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
53
EM78P372N
8位微控制器
6.8 一对PWM (脉宽调制器)
6.8.1 概述
在PWM模式下,PWM1和PWM2 引脚产生8位精度的PWM输出(见下面的功能结构图).
PWM输出由周期时间和占空比(保持输出高电平)组成,PWM的波特率是周期时间的
倒数。图6-13(PWM输出时序)描述了周期时间和占空比的关系。
latch
DL1
Fosc
PWM1IF
DT1
1:1
1:2
1:4
1:8
1:16
1:64
1:128
1:256
Duty Cycle
Match
Comparator
MUX
PWM1
R
TMR1
reset
Q
S
BANK1 R7[0]
Comparator
T1P2 T1P1 T1P0 T1EN
Period
Match
PRD1
Data Bus
Data Bus
DL2
latch
PWM2IF
DT2
T2P2 T2P1 T2P0 T2EN
Comparator
Duty Cycle
Match
PWM2
Fosc
1:1
1:2
1:4
1:8
1:16
1:64
1:128
1:256
TMR2
R
Q
reset
S
MUX
BANK1 R7 [1]
Comparator
PRD2
Period
Match
图 6-12 PWM 系统结构图
Period
Duty Cycle
PRD1 = TMR1
DT1 = TMR1
图 6-13 PWM 输出时序
54
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
6.8.2 递增定时计数器 (TMRX: TMR1 or TMR2)
TMRX 为8-位带可编程预分频的时钟计数器。它们设计用来作为PWM模块的波特率时钟
发生器。若采用,它们可通过设置T1EN位[Bank 1-R8] 或 T2EN 位 [Bank 1-R8] 为
"0"而关闭以节省功耗。
TMR1 和 TMR2 是内部设计的,只读。
6.8.3 PWM 周期 (TMRX: TMR1 或 TMR2)
PWM 周期(PRDX: PRD1 或 PRD2),PWM周期通过写值到PRDX寄存器而定义。当
TMRX与PRDX相等,在下一个递增周期发生如下事件:
1) TMR 清零
2) PWMX 引脚置 “1”
3) PWMX 占空比由DT1/DT2 锁存到 DL1/DL2。
注意
PWM 输出不会置位,如果占空比为“0”.
4) PWMXIF 引脚置为 “1”
以下公式描述了如何计算PWM周期:
1
Period PRDX 1
TMRX prescale value
FOSC
范例:
PRDX=49; Fosc=4 MHz; TMRX (0, 0, 0) = 1:1,
那么
1
Period 49 1
1 12.5
4M
µS
6.8.4 PWM 占空比 (DTX: DT1 or DT2; DLX: DL1 or DL2)
PWM占空比通过写值到DTX寄存器而定义,当TMRX清除时其值由DTX锁存到DLX。当
DLX与TRMX相等时,PWMX引脚清除。DTX可在任何时候被加载。然而,DTX不可被
锁存到DLX直到DLX的当前值与TMRX相等。
如下公式描述了如何计算 PWM 占空比:
1
TMRX prescale value
Duty Cycle DTX
FOSC
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
55
EM78P372N
8位微控制器
范例:
DTX=10; Fosc=4 MHz; TMRX (0, 0, 0) = 1:1,
那么
1
Duty Cycle 10
1 2.5
4M
µS
6.8.5 比较器 X
当匹配发生时改变输出状态将同时置位PWMXIF(TMRXIF)标志。
6.8.6 PWM 编程步骤
1. 加载PWM周期PRDX
2. 加载PWM占空比DTX
3. 若需要,写IOCF寄存器以使能中断功能
4. 写预设值到BANK1-R7,设置PWMX引脚为输出
5. 加载TMRX分频比值的预设值到Bank 1-R7 或 Bank 1-R8,使能PWMx和TMRx。
6.9 定时器/计数器
6.9.1 概述
定时器1(TMR1)和定时器2(TMR2)(TMRX)是一个带可编程预分频的时钟计数器。它们设
计用来作为PWM模块的波特率时钟发生器。TMRX寄存器只读。在AD转换器不运行情
况下进入休眠模式时,定时器 1和定时器 2将停止运行。然而,在AD转换器运行情况下
进入休眠模式时,定时器 1和定时器 2将继续保持运行。
56
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
6.9.2 功能描述
Fosc
1:1
1:2
1:4
1:8
1:16
1:64
1:128
1:256
To TMR1IF(PWM1IF)
MUX
reset
TMR1
Period
Match
Comparator
T1P2 T1P1 T1P0 T1EN
PRD1
Data Bus
Data Bus
PRD2
T2P2 T2P1 T2P0 T2EN
Comparator
TMR2
Fosc 1:1
1:2
1:4
1:8
1:16
1:64
1:128
1:256
Period
Match
reset
MUX
To TMR2IF(PWM2IF)
图 6 -14 定时器结构图
说明如下:
Fosc: 时钟输入
预分频器 (T1P2, T1P1 和 T1P0 / T2P2, T2P1 和 T2P0): 定义TMRX分频比选项 1:1,
1:2, 1:4, 1:8, 1:16, 1:64, 1:128, 和 1:256。任何复位发生时这些位被清零。
TMR1 和 TMR2: 定时器 X寄存器,TMRX一直递增直到与PRDX匹配,此时TMRX复位
为"0"(默认值)。
PRDX (PRD1, PRD2): PWM 周期寄存器
比较器 X (比较器 1 和 比较器 2): 当匹配发生复位TMRX,同时置TMRXIF (PWMXIF)
标志。
6.9.3 相关寄存器设置
定义TMRX时,相关寄存器的操作参考下表。需注意地是如果TMRX被使用了,其相关
PWMX位须禁止,这样,PWMCON寄存器的位7 ~ 位3必须设为“0”。
TMR1 和 TMR2 的相关控制寄存器
地址
名称
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
0x07
PWMCON/R7
”0”
“0”
“0”
“0”
“0”
0x08
TMRCON/R8
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
T2EN T1EN T2P2 T2P1 T2P0
Bit 2
Bit 1
Bit 0
PWMCAS PWM2E PWM1E
T1P2
T1P1
T1P0
57
EM78P372N
8位微控制器
定时器编程步骤
6.9.4
1. 加载定时器定时时长至PRDX
2. 若需要,写IOCF0以使能中断功能
载入一个预设值至 TMRX 分频器,使能 TMRX,禁止 PWM。
3.
6.9.5 PWM 级联模式
PWM 级联模式使两个8位PWM功能合成一个16位PWM,在这个模式里,必要的参数重
新定义如下表所示:
参数
DT (占空比)
PRD (周期)
TMR (定时器)
MSB (15~8)
DT2
PRD2
TMR2
LSB (7~0)
DT1
PRD1
TMR1
16 位 PWM
16位PWM的分频比使用TMR1的分频比,当LSB产生进位时,TMR的MSB加1并且
PWM1IF 位/PWM1 引脚重新定义为PWMIF 位/PWM 引脚。
DL
Fosc
latch
To PWMIF
(PWM1IF)
DT
1:1
1:2
1:4
1:8
1:16
1:64
1:128
1:256
Duty Cycle
Match
16-bit Comparator
MUX
PWM
(PWM1)
R
Q
TMR
reset
S
IOC51,2
T1P2 T1P1 T1P0
16-bit Comparator
T1E
N
Period
Match
PRD
Data Bus
Data Bus
图 6-14 16位PWM功能模块图 (由两个8位合成)
58
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
6.10 比较器
EM78P372N 有一个带有两个模
Cin -
拟输入和一个输出的比较器 。比
较器可将单片机从休眠状态下唤
-
Cin+
醒。右图为比较器的电路图。
CO
CMP
+
Cin Cin+
? ?
10mV
图 6-15 比较器运行模式
6.10.1 外部参考信号
当前的Cin+和Cin-的模拟信号相比较,数字输出(CO)信号相应变化,其输出变化考虑下
列情况:
注意
参考信号必须介于Vss和Vdd之间
参考电压可加在比较器的任意一个输入脚上
极值检测应用可为同一个参考
对于相同或不同参考源,比较器均可工作
6.10.2 比较器输出
比较结果存储在IOC80的CMPOUT位。
通过编程设置IOC80 寄存器的位4和位3为,比较结果可输出到
CO(P64)引脚。参见6.2.4章节的表格,比较器/OP选择位功能描述的IOC80寄存器(比
较器控制寄存器)。
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
59
EM78P372N
8位微控制器
下图是比较器输出结构图:
To C0
From OP I/O
CMRD
EN
Q
EN
Q
D
D
To CMPOUT
RESET
To CPIF
CMRD
From other
comparator
图 6-16 比较器输出结构
6.10.3 比较器作为运算放大器使用
如果在输入与输出之间外接一个反馈电阻则比较器可做运算放大器使用。在这种情况
下,为了降低功耗可通过设置IOC80寄存器的位4,位3为来禁止施
密特触发。参见6.2.4章节的表格,比较器/OP选择位的功能描述的IOC80寄存器(比较器
控制寄存器) 。
注意
运算放大器下:
■CMPIE (IOCE0.4), CMPWE (BANK 0 RE.2), 和CMPIF (BANK 0 RE.4) 这些位均无效。
■ 比较器中断功能无效。
■ 比较器唤醒功能无效。
6.10.4
60
比较器中断
CMPIE (IOCE0.4) 必须使能,以使“ENI”指令有效;
任何时候比较器输出引脚状态变化均将触发中断;
引脚的具体变化可通过读IOC80的CMPOUT位决定;
CMPIF (BANK 0 RE.4),比较器中断标志位,只可由软件清零。
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
6.10.5
由休眠模式唤醒
如果BANK 0 RE寄存器的CMPWE位设置为“1”,即使在休眠模式,比较器仍保持
运行,中断功能仍有效
如果发生不匹配,该状态改变将会使单片机从睡眠模式唤醒;
为节省能源,需考虑到功耗因素。
如果休眠模式期间不使用此功能,在进入休眠模式前需关闭比较器。
通过以下情况判断比较器比较完成:
1. 设置IOC80寄存器的COS1 和 COS0 位来选择比较器;
2. BANK 0 RE 寄存器的CMPIF位设置为”1”;
3. BANK 0 RE 寄存器的CMPWE位设置为”1”,比较器唤醒(在休眠/空闲模式期间,比
较器保持运行);
4. 如果IOCE0的CMPIE位使能并且执行了“DISI”指令,唤醒并接着执行下一条指令;
5. 如果使能IOCE0的CMPIE位并执行了“ENI”指令,唤醒并进入中断向量(地址 0x00F);
6. 如果使能IOCE0的CMPIE位并执行了“ENI”指令,进入中断向量(地址 0x00F)。
6.11 振荡器
6.11.1 振荡器模式
EM78P372N可工作于6种不同的振荡模式, 如:晶体振荡器模式(XT)
,高频晶体振荡
器模式1(HXT1)
,高频晶体振荡器模式2(HXT2)
,低频晶体振荡器模式1(LXT1)
,
低频晶体振荡器模式2(LXT2)
,外部RC振荡器模式(ERC)
,和内部RC振荡器模式
(IRC)
。用户可通过编程代码选项寄存器的OSC3、OSC2、OCS1、和OSC0位选择六
种振荡模式的其中一种振荡模式。
振荡模式由OSC3、OSC2、OSC1 和 OSC0位定义,如下表所述:
振荡模式
OSC3
OSC2
OSC1
OSC0
ERC1 (外部 RC 振荡器模式);
P55/ERCin 作为 ERCin
P70/RCOUT 作为 P70
0
0
0
0
ERC1 (外部 RC 振荡器模式);
P55/ERCin 作为 ERCin
P70/RCOUT 作为 RCOUT
0
0
0
1
IRC2 (内部 RC 振荡器模式);
P55/ERCin 作为 P55
P70/RCOUT 作为 P70
(默认)
0
0
1
0
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
61
EM78P372N
8位微控制器
振荡模式
OSC3 OSC2 OSC1 OSC0
IRC2 (内部 RC 振荡器模式);
P55/ERCin 作为 P55
P70//RCOUT 作为 RCOUT
0
0
1
1
LXT13 (XT 模式频率范围为 100kHz ~ 1 MHz)
0
1
0
0
HXT13 (XT 模式频率范围为 12 MHz ~ 16 MHz)
0
1
0
1
LXT23 (XT 模式频率范围为 32.768kHz)
0
1
1
0
HXT23 (XT 模式频率范围为 6 MHz ~ 12 MHz)
0
1
1
1
XT3 (XT 模式频率范围为 1 MHz ~ 6 MHz)
1
1
1
1
1
在ERC模式,ERCin用做振荡器引脚, RCOUT/P70由代码选项字1(Word1)的位4~位1定义。
2
在IRC模式,P55为普通I/O引脚,RCOUT/P70由代码选项字1(Word1)的位4~位1定义。
3
在LXT1, LXT2, HXT1, HXT2和XT模式,OSCI 和OSCO 用做振荡器引脚,这些引脚不能也不许定义成I/O引
脚。
以下是不同电压下晶振/陶振的最大工作频率限度:
条件
两个时钟
VDD
最大频率(MHz)
2.1V
4
3.0V
8
4.5V
16
6.11.2 晶体振荡器/陶瓷谐振器 (晶振)
EM78P372N可通过OSCI引脚,由外部时钟信号来驱动,如下图所示:
OSCI
OSCO
图 6-17 外部时钟输入电路
大多数应用中,引脚OSCI和OSCO可接晶体或陶瓷谐振器以产生振荡。下图6-18描述了
此类电路,同样也可应用于HXT1模式,HXT2模式,LXT1模式,LXT2和XT模式。
C1
OSCI
Crystal
OSCO
RS
C2
图 6-18 晶体/谐振器电路
62
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
下表为C1和C2的推荐值,由于每个谐振器都有其自身的特性,用户应参照其规格选择
C1、C2的合适值。对于AT 切片晶振或低频模式,有必要接入串联电阻RS。图6-21为晶
体电路PCB布线建议。当系统工作在晶体模式(16MHz),OSCI与OSCO之间接一个10
K电阻。
晶体振荡器或陶瓷谐振器电容的选择参考如下:
振荡器类型
频率模式
频率
LXT1
(100 K ~ 1 MHz)
陶瓷谐振器
XT
(1 M ~ 6 MHz)
LXT2 (32.768kHz)
LXT1
(100 K ~ 1 MHz)
XT
(1~6 MHz)
晶体振荡器
HXT2
(6~12 MHz)
HXT1
(12~20 MHz)
C1 (pF)
C2 (pF)
100kHz
200kHz
60 pF
60 pF
60 pF
60 pF
455kHz
1 MHz
40 pF
30 pF
40 pF
30 pF
1.0 MHz
2.0 MHz
30 pF
30 pF
30 pF
30 pF
4.0 MHz
20 pF
20 pF
32.768kHz
40 pF
40 pF
100kHz
200kHz
60 pF
60 pF
60 pF
60 pF
455kHz
1 MHz
40 pF
30 pF
40 pF
30 pF
1.0 MHz
2.0 MHz
30 pF
30 pF
30 pF
30 pF
4.0 MHz
6.0 MHz
20 pF
30 pF
20 pF
30 pF
6.0 MHz
8.0 MHz
30 pF
20 pF
30 pF
20 pF
12.0 MHz
12.0 MHz
30 pF
30 pF
30 pF
30 pF
16.0 MHz
20 pF
20 pF
串联和并联模式晶振/谐振器的电路图:
330
330
C
OSCI
7404
7404
7404
Crystal
图 6-19 串联模式晶振/谐振器的电路图
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
63
EM78P372N
8位微控制器
4.7K
7404
10K
Vdd
OSCI
10K
7404
Crystal
C1
10K
C2
图 6-20 并联模式晶振/谐振器的电路图
图 6-21 并联模式晶振/谐振器的电路图
64
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
6.11.3 外部RC振荡器模式
在一些不需要精确计时的应用中,使用
RC振荡器(图 6-22)可以节省费用。但
是,需注意地是,RC振荡器的频率会受
到工作电压、电阻值(Rext)、电容(Cext)
甚至工作温度的影响。此外,由于制造
工艺的不同,不同芯片的频率也会有微
小的差异。
Vcc
Rext
ERCin
Cext
图 6-22 外部RC振荡器模式电路
为了获得稳定的系统频率,建议Cext电容值不要小于20pF,Rext电阻值不要大于1MΩ。
如果不能保证在该范围之内,频率就很容易受噪声、湿度及漏电流的影响。
RC振荡器的电阻值Rext越小,频率越高。另一方面,对于很小的电阻值,如1 K,由
于NMOS不能准确地通过电容放电,振荡器会变得不稳定。
基于上述原因,必须牢记电源电压、工作环境温度、RC振荡器器件、封装类型及PCB
布线均会影响系统频率。
RC振荡器频率:
Cext
20 pF
100 pF
300 pF
注:
Rext
平均 Fosc 5V, 25C
平均 Fosc 3V, 25C
3.3k
2.064 MHz
1.901 MHz
5.1k
1.403 MHz
1.316 MHz
10k
750.0 kHz
719.0kHz
100k
81.45 kHz
81.33kHz
3.3k
647.0 kHz
615.0kHz
5.1k
430.8 kHz
414.3kHz
10k
225.8 kHz
219.8kHz
100k
23.88 kHz
23.96kHz
3.3k
256.6 kHz
245.3kHz
5.1k
169.5 kHz
163.0kHz
10k
88.53 kHz
86.14kHz
100k
9.283 kHz
9.255kHz
1
: 在DIP封装下测量的
: 这些值仅供设计参考
3
: 频率漂移为±30%
2
6.11.4
内部RC振荡模式
EM78P372N 提供一个通用的内部RC模式,其默认频率为4MHz。它还可通过代码选项
(WORD0)的RCM1和RCM0位设置其它频率(1MHz, 8MHz和455KHz)。下表描述了
EM78P372N内部RC 漂移受电压、温度和制程工艺的影响。
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
65
EM78P372N
8位微控制器
内部 RC 偏移率 (Ta=25°C, VDD=5V±5%, VSS=0V)
内部
RC 频率
偏移率
温度
(-40°C+85°C)
4 MHz
±2%
16 MHz
±2%
8 MHz
±2%
1 MHz
±2%
电压 (2.1V~5.5V)
±1%
*(2.1~5.5V)
±1%
*(4.0~5.5V)
±1%
*(3.0~5.5V)
±1%
*(2.1~5.5V)
制程
总计
±2%
±5%
±2%
±5%
±2%
±5%
±2%
±5%
* 工作电压范围
注: 理论值仅供参考,实际值可能依据实际制程变化。
6.12 上电探讨
在供电电压未达到稳定状态前,任何微控制器都不能保证正常工作。EM78P372N的POR
电压范围是1.8V ~ 1.9V。在用户应用中,当电源关闭时,Vdd必须降到1.8 V以下,在重
新上电之前需保持关闭状态10s。这样,EM78P372N被可靠复位,并正常工作。的电
压检测器(POVD)。在Vdd上升足够快(50 ms 或更短)的条件下,它将很好的工作。如
果Vdd上升的足够快(50 ms或更少),外部复位电路会可靠工作。然而,在很多要求
严格的应用中,仍然需要附加的外部电路来帮助解决上电问题。
6.12.1 可编程WDT溢出周期
5
6
选项字节 (WDTPS)用于定义WDT溢出周期(18ms 或 4.5ms ),理论上的范围是4.5ms
或18ms。对大多数晶振和陶瓷振荡器来说,工作频率越低,启动时间越长。
6.12.2 外部上电复位电路
下图电路描述了使用外部
RC 产生复位脉冲。脉冲的宽
度(时间常数)应保持足够
长时间,以使电源 Vdd 达到
VDD
/RESET
R
D
最低工作电压。该电路应用
在电源电压上升比较慢的情
Rin
况下,因为/RESET 引脚的漏
C
电大约为5A,所以建议 R
要小于 40 KΩ,这样,引脚
/RESET 的电压保持在 0.2V
以下。二极管(D)在掉电时作
66
图 6-23 外部上电复位电路
5
VDD=5V, WDT 溢出周期 = 16.5ms ± 30% 在 25°C.
VDD=3V, WDT 溢出周期 = 18ms ± 30%在 25°C.
6
VDD=5V, WDT 溢出周期 = 4.2ms ± 30%在 25°C.
VDD=3V, WDT 溢出周期 = 4.5ms ± 30%在 25°C.
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
为短路回路。电容 C 将快速充分放电。限流电阻 Rin 用来避免过大的电流或 ESD(静
电放电)流入/RESET 引脚。
6.12.3 残留电压保护
更换电池时,单片机的电源(Vdd)被断开,但残余电压仍存在。残余电压可能低于Vdd
的最小工作电压,但不为零。这种情况可能引起上电复位不良。图6-24及图6-25显示如
何建立一个残留电压的保护电路。
图 6-24 残留电压保护电路1
图 6-25 残留电压保护电路2
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
67
EM78P372N
8位微控制器
6.13 代码选项
EM78P372N有两个代码选项字和一个用户ID 字,它们不属于一般程序内存的一部分。
Word 0
Word 1
Word 2
Bit 12 ~ Bit 0
Bit 12 ~ Bit 0
Bit12 ~ Bit 0
6.13.1 代码选项寄存器 (Word 0)
Word 0
Bit
Bit 12
Bit 11
Bit 10
助记
TYPE1 TYPE0 WK_CLK
符
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
CLKS
LVR1
LVR0 RESETEN ENWDT NRHL
Bit 3
Bit 2 ~ Bit 0
NRE
Protect
1
高
高
8 clock
高
高
高
禁止
禁止
32/fc
使能
禁止
0
低
低
32 clock
低
低
低
使能
使能
8/fc
禁止
使能
Bits 12 ~ 11 (TYPE1 ~ TYPE0): EM78P372N 封装类型选择位 (适用于UWTR)
TYPE 1, TYPE 0
引脚未用
MCU Type
00
EM78P372N-10Pin
端口 60 ~ 66 / 54 / 56 / 57 输出低
01
EM78P372N-14Pin
端口 62 / 63 / 64 / 65 / 56 / 57 输出低
10
EM78P372N-18Pin
端口 56 / 57 输出低
11
EM78P372N-20Pin (默认)
X
Bit 10 (WK_CLK): 选择 8 或 32 个时钟由休眠和空闲模式唤醒 (仅对于IRC模式)
0: IRC 稳定时间+ 32 个时钟
1: IRC 稳定时间+ 8 个时钟(默认)
Bit 9 (CLKS):
指令周期选项位
0: 两个振荡器周期
1: 四个振荡器周期 (默认)
Bits 8~7 (LVR1 ~ LVR0): 低电压复位使能位
LVR1, LVR0
VDD Reset 电平
11
VDD Release 电平
NA (上电复位) (默认)
10
2.7V
2.9V
01
3.5V
3.7V
00
4.0V
4.2V
Bit 6 (RESETEN):RESET/P71 引脚选择位
0: P71 设为/RESET引脚
1: P71 为通用输入引脚或开漏输出端口(默认)
Bit 5 (ENWDT): 看门狗定时器使能位
0: 使能
1: 禁止 (默认)
68
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
Bit 4 (NRHL): 噪声抑制高/低脉冲定义位,INT引脚下降沿或上升沿触发器
0: 等于8/fc [s]脉冲被当作是信号
1: 等于32/fc [s]脉冲被当作是信号 (默认)
注意
在LXT2和休眠模式下,噪声抑制功能被关闭。
Bit 3 (NRE):
噪声抑制使能位
0: 禁止噪声抑制
1: 使能噪声抑制(默认),但在低频晶体振荡器(LXT)模式下,噪声抑制电
路始终是禁止的。
Bits 2 ~ 0 (保护): 保护位
保护位
保护
0
使能
1
禁止(默认)
6.13.2 代码选项寄存器 (Word 1)
Word 1
Bit
Bit 12 Bit 11 Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
助记符
C5
C4
C3
C2
C1
C0
1
高
高
高
高
高
高
高
高
高
高
高
高
System_clk
0
低
低
低
低
低
低
低
低
低
低
低
低
Open_
drain
RCM1 RCM0 OSC3 OSC2 OSC1 OSC0
RCOUT
Bits 12 ~ 7 (C5 ~ C0): 内部 RC 模式校准选择位,C5 ~ C0 必须置“1”(自动校对)
Bit 6 ~ 5 (RCM1 ~ RCM0): RC 模式选择位
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
RCM 1
RCM 0
频率(MHz)
1
1
4 (默认)
1
0
16
0
1
8
0
0
1
69
EM78P372N
8位微控制器
Bits 4 ~ 1 (OSC3 ~ OSC0): 振荡器模式选择位
振荡器模式
OSC3
OSC2
ERC1 (外部 RC 振荡器模式);
P55/ERCin 作为 ERCin
P70/RCOUT 作为 P70
0
0
0
0
ERC1 (外部 RC 振荡器模式);
P55/ERCin 作为 ERCin
P70/RCOUT 作为 RCOUT
0
0
0
1
IRC2 (内部 RC 振荡器模式);
P55/ERCin 作为 P55
P70/RCOUT 作为 P70 (默认)
0
0
1
0
IRC2 (内部 RC 振荡器模式);
P55/ERCin 作为 P55
P70/RCOUT 作为 RCOUT
0
0
1
1
3
0
1
0
0
3
0
1
0
1
3
0
1
1
0
3
0
1
1
1
1
1
1
1
LXT1 (XT 模式频率范围为 100kHz ~ 1 MHz)
HXT1 (XT 模式频率范围为 12 MHz ~ 16 MHz)
LXT2 (XT 模式频率范围为 32.768kHz)
HXT2 (XT 模式频率范围为 6MHz ~ 12 MHz)
3
XT (XT 模式频率范围为 1 MHz ~ 6 MHz)
OSC1 OSC0
1
在ERC模式,ERCin用做振荡器引脚, RCOUT/P70由代码选项字1(Word1)的位4~位1定义。
2
在IRC模式,P55为普通I/O引脚,RCOUT/P70由代码选项字1(Word1)的位4~位1定义。
3
在LXT1, LXT2, HXT1, HXT2和XT模式,OSCI 和OSCO 用做振荡器引脚,这些引脚不能也不许定义成I/O
引脚。
Bit 0 (RCOUT): 在IRC或ERC模式下,指令时钟输出使能位
0: RCOUT引脚漏极开路
1: RCOUT引脚输出指令时钟(默认)
6.13.3 客户ID寄存器 (Word 2)
Word 2
Bit
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
助记符
–
–
–
SFS
–
–
–
HLP
–
WDTPS
ID2
ID1
ID0
1
–
–
–
16KHz
–
–
–
高
–
18ms
高
高
高
0
–
–
–
128KHz
–
–
–
低
–
4.5ms
低
低
低
Bit 12: 不用(保留). 该位一直设置为 “1”
Bit 11: 不用(保留). 该位一直设置为 “0”
Bit 10: 不用(保留). 该位一直设置为 “1”
Bit 9 (SFS): GREEN 模式和 TCC, PWM1, PWM2 时钟源(不含 WDT 溢出和自由运行启
动时间)的副振荡器选择位。
0: 128kHz.
1: 16kHz (默认)
Bit 8: 不用(保留). 该位一直设置为 “0”
70
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
Bit 7:
不用(保留). 该位一直设置为 “1”
Bit 6:
不用(保留). 该位一直设置为 “0”
Bit 5 (HLP): 电源损耗选择位
0:电源低损耗模式,适用于工作频率为400kHz或低于400kHz下
1: 电源高损耗模式, 适用于工作频率大于400kHz下 (默认)
(在晶体模式下用户选择LXT1或LXT2,HLP功能自动选择低损耗。)
不用(保留). 该位一直设置为 “1”
Bit 4:
Bit 3 (WDTPS): WDT 溢出周期
WDTPS
看门狗定时器*
1
18 ms (默认)
0
4.5 ms
*理论值,仅供参考。
Bits 2 ~ 0:
客户ID码
6.14 低电压侦测/低电压复位
低电压复位(LVR)和低电压侦测(LVD)是为电源不稳的情况而设计的,例如外部电源的噪
音干扰或在EMS测试条件下。
当LVR使能,系统供电压(Vdd)降到低于Vdd复位电平(VRESET)并持续10s时,系统产生
复位并保持复位状态。系统一直保持复位状态直到Vdd电压上升到高于Vdd的release电
平,参考图6-26 LVD/LVR波形。
当LVD使能,如果Vdd降到低于低电压侦测电平,/LVD (RE的位7)被清零以作为低电压
信号,该信号可用于低电压的侦测。
6.14.1 低电压复位
LVR属性可由代码选项字(Word0)的位8和7设置,详细操作如下:
Word 0
Bit 12
Bit 11 Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4 Bit 3 Bit 2~Bit 0
TYPE1 TYPE0 WK_CLK CLKS
LVR1
LVR0 RESETEN ENWDT NRHL
NRE
Protect
Bits 8~7 (LVR1 ~ LVR0): 低电压复位使能位
LVR1, LVR0
VDD Reset 电平
VDD Release 电平
11
10
01
NA (上电复位)
2.7V
3.5V
2.9V
3.7V
00
4.0V
4.2V
6.14.2 低电压侦测
LVD 属性设置和详细操作如下:
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
71
EM78P372N
8位微控制器
6.14.2.1
Bank 1 RE (LVD 中断和唤醒寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
LVDIE
LVDEN
LVD1
LVD0
-
-
-
EXWE
注意
■ Bank 1 RE< 6 > 寄存器可读写。
■ 单个中断可通过设置相关控制位(Bank 1 RE< 7 >)为 "1"来使能。
■ 全局中断可通过ENI指令使能,DISI指令禁止。请参考6.6章节(中断)的图6-8(中断输
入电路) 。
Bit 7 (LVDIE): 低电压侦测中断使能位
0: 禁止低电压侦测中断
1: 使能低电压侦测中断
当侦测低电平电压状态用于进入中断向量或下一条指令,LVDIE位须设置
为”使能”。
Bit 6 (LVDEN): 低电压侦测使能位
0: 禁止低电压侦测
1: 使能低电压侦测
Bits 5 ~ 4 (LVD1 ~ LVD0): 低电压侦测电平选择位
LVDEN
LVD1, LVD0
1
11
1
10
1
01
1
00
0
××
LVD voltage Interrupt Level
Vdd ≤ 2.2V
Vdd > 2.2V
Vdd ≤ 3.3V
Vdd > 3.3V
Vdd ≤ 4.0V
Vdd > 4.0V
Vdd ≤ 4.5V
Vdd > 4.5V
NA
/LVD
0
1
0
1
0
1
0
1
0
6.14.2.2 BANK 0 RE (中断状态 2 和唤醒控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/LVD
LVDIF
ADIF
CMPIF
ADWE
CMPWE
ICWE
LVDWE
注意
■BANK0 RE 可由指令清零,但不能置位。
■ BANK1 RE 和IOCE0 是中断屏蔽寄存器。
■ 读RE的值是RE与IOCE0“逻辑与”的结果。
Bit 7 (/LVD): 低电压侦测状态位,该位为只读位。当VDD引脚电压小于LVD中断电平(通
过LVD1和LVD0位来选择)时,该位被清零。
0: 检测到低电压
1: 未检测到低电压或LVD功能禁止(默认)
72
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
Bit 6 (LVDIF): 低电压侦测中断标志位
LVDIF由软件或硬件复位为“0”
Bit 0 (LVDWE): 低电压侦测唤醒使能位
0: 禁止低电压侦测唤醒
1: 使能低电压侦测唤醒
在低电压侦测运行情况下,当其用于进入中断向量或将IC由休眠/空闲模
式唤醒时,LVDWE位必须设为“使能”。
6.14.3 编程过程
按以下步骤可获得LVD数据:
1. 写LVDCR寄存器的两个位(LVD1: LVD0)以定义LVD电平。
2. 如果唤醒功能被采用,置LVDWE位。
3. 如果中断功能被采用,置LVDIE位。
4. 如果中断功能被采用,写 “ENI” 指令。
5. 置LVDEN位为1
6. 写 “SLEP” 指令或查询/LVD 位
7. 低电压侦测中断标志位(LVDIF)清零 ,当低电压侦测中断产生。
LVD模块使用的是内部电路,当LVDEN (BANK1-RE的位6)置为“1”,LVD模块被使能。
当LVDWE (RE 的位0) 置为“1”,在休眠/空闲模式下LVD模块将继续进行。如果Vdd慢慢
往下降至侦测点(VLVD)时,LVDIF (RE的位6)将被置”1”, /LVD (RE的位7)将被清”0”,系
统将由休眠/空闲模式唤醒。当系统复位发生,LVDIF将被清零。
当Vdd保持在高于VLVD 时,LVDIF保持为”0”,/LVD保持为”1”。当Vdd下降至低于VLVD 时,
LVDIF置”1”,下一条指令将从中断向量021H处开始执行,LVDIF由软件清”0”。请参考下
图6-26。
LVDIF is cleared by
software
Vdd
VLVD
VRESET
LVDIF
Internal
Reset
18ms
LVR Voltage drop
Vdd < Vreset not longer than 10us, the system still keeps on operating
System occur reset
图 6-26 LVD/LVR波形
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
73
EM78P372N
8位微控制器
6.15 指令集
指令集的每条指令是13位字宽,由一个操作码和一个或多个操作数组成成。正常情况下,
所有指令花费一个指令周期(一个指令周期由两个振荡周期组成)
,但改变程序计数器
R2的指令如"MOV R2,A", "ADD R2,A",或对R2进行算术或逻辑运算的指令(如"SUB
R2,A", "BS(C) R2,6","CLR R2"等)除外。
另外,指令集有以下特性:
1. 任何寄存器的每一位均可置1,清零或直接测试。
2. I/O 寄存器可视为通用的寄存器。即相同的指令可用于操作I/O 寄存器。
以下符号用在指令集表中:
惯例:
R = 寄存器指示符,指定寄存器(包括操作寄存器和通用寄存器)中的哪个寄存器被使用。
R4的位 6 和 7 定义用于选择寄存器bank。
b = 位域指示符,指定寄存器”R”中的哪个位被选择,影响操作指令。
k = 8或10位常数或立即数。
助记符
NOP
DAA
CONTW
SLEP
WDTC
IOW R
ENI
DISI
RET
RETI
CONTR
IOR R
MOV R,A
CLRA
CLR R
SUB A,R
SUB R,A
DECA R
DEC R
OR A,R
OR R,A
74
操作
无操作
A 进行十进制调整
A CONT
0 WDT, 振荡器停止
0 WDT
A IOCR
使能中断
禁止中断
[栈顶] PC
[栈顶] PC, 使能中断
CONT A
IOCR A
AR
0A
0R
R-A A
R-A R
R-1 A
R-1 R
A VR A
A VR R
受影响的状态标志
无
C
无
T, P
T, P
1
无
无
无
无
无
无
1
无
无
Z
Z
Z, C, DC
Z, C, DC
Z
Z
Z
Z
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
助记符
操作
A&RA
A&RR
ARA
ARR
A+RA
A+RR
RA
RR
/R A
/R R
R+1 A
R+1 R
R-1 A, 为零跳转
R-1 R, 为零跳转
R(n) A(n-1), R(0) C, C A(7)
R(n) R(n-1), R(0) C,
RRC R
C R(7)
R(n) A(n+1), R(7) C,
RLCA R
C A(0)
R(n) R(n+1), R(7) C,
RLC R
C R(0)
R(0-3) A(4-7),
SWAPA R
R(4-7) A(0-3)
SWAP R R(0-3) R(4-7)
JZA R
R+1 A, 为零跳转
JZ R
R+1 R, 为零跳转
BC R,b
0 R(b)
BS R,b
1 R(b)
JBC R,b
若 R(b)=0, 跳转
JBS R,b
若 R(b)=1, 跳转
CALL k
PC+1 [SP], (Page, k) PC
JMP k
(Page, k) PC
MOV A,k k A
OR A,k
AkA
AND A,k
A&kA
XOR A,k A k A
RETL k
k A, [栈顶] PC
SUB A,k
k-A A
BANK k
k R4(6)
AND A,R
AND R,A
XOR A,R
XOR R,A
ADD A,R
ADD R,A
MOV A,R
MOV R,R
COMA R
COM R
INCA R
INC R
DJZA R
DJZ R
RRCA R
受影响的状态标志
Z
Z
Z
Z
Z, C, DC
Z, C, DC
Z
Z
Z
Z
Z
Z
无
无
C
C
C
C
无
无
无
无
2
无
3
无
无
无
无
无
无
Z
Z
Z
无
Z, C, DC
无
LCALL k
PC+1[SP], kPC
无
LJMP k
kPC
无
如果 Bank1 R5.7=0, 机械码(7~0) R
TBRD R
否则 Bank1 R5.7=1, 机械码(12~8) R(4~0),
无
R(7~5)=(0,0,0)
注:
1 这条指令仅适用于IOC50 ~ IOCF0, IOC51 ~ IOCF1寄存器
2 这条指令不建议用于RF操作。
3 这条指令不能在RF上操作。
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
75
EM78P372N
8位微控制器
7
绝对最大值
项目
8
范围
温度范围
-40C
到
85C
存储温度
-65C
到
150C
输入电压
Vss-0.3V
到
Vdd+0.5V
输出电压
Vss-0.3V
到
Vdd+0.5V
工作电压
2.1V
到
5.5V
工作频率
DC
到
16 MHz
DC 电器特性
Ta= 25C, VDD= 5.0V, VSS= 0V
符号
条件
最小值
典型值
最大值
单位
32.768k
4
16
MHz
760
950
1140
kHz
Ports 5, 6, 7
0.7VDD
VDD+0.3
V
Ports 5, 6, 7
-0.3V
0.3VDD
V
/RESET
1.8
V
/RESET
1.1
V
TCC,INT
0.7VDD
VDD+0.3
V
TCC,INT
-0.3V
0.3VDD
V
-3.7
FXT
晶振: VDD to 5V
指令周期为 2 个时钟周期
ERC
ERC: VDD 至 5V
R: 5.1K, C: 100 pF
VIH1
VIL1
VIHT1
VILT1
VIHT2
VILT2
76
参数
输入高电压
(施密特触发)
输入低电压
(施密特触发)
输入高临界电压(施密特触
发)
输入低临界电压(施密特触
发)
输入高临界电压(施密特触
发)
输入低临界电压(施密特触
发)
IOH1
输出高电压
(Ports 5, 6, 7)
IOH2
输出高电压
(Ports 51~54,
56~57,60~67)
IOL1
输出低电压
(Ports 5, 6, 7)
IOL2
输出低电压
(Ports 51~54,
56~57,60~67)
VOH = 0.9VDD
mA
-10
10
VOL = 0.1VDD
mA
25
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
符号
参数
条件
最小值
典型
值
最大值
单位
Ta= 25℃
2.41
2.7
2.9
V
Ta= -40~85℃
2.14
2.7
3.25
V
Ta= 25℃
3.1
3.5
3.92
V
Ta= -40~85℃
2.73
3.5
4.25
V
Ta= 25℃
3.56
4.0
4.43
V
Ta= -40~85℃
3.16
4.0
4.81
V
激活上拉,输入引脚接 VSS
70
A
下拉电流
激活下拉, 输入引脚接 Vdd
40
A
ISB1
掉电电流
所有输入引脚和 I/O 引脚接 VDD,
输出悬空引脚, WDT 禁止
1.0
2.0
A
ISB2
掉电电流
所有输入引脚和 I/O 引脚接 VDD,
输出悬空引脚, WDT 使能
10
A
ICC1
/RESET= '高', Fosc=32.768kHz
2 个时钟周期的工作供电电
(晶振类型, CLKS="0"),
流 (VDD = 3V)
输出悬空引脚, WDT 禁止
15
20
A
ICC2
/RESET= '高', Fosc=32.768kHz (晶
2 个时钟周期的工作供电电
振类型,CLKS="0"), 输出悬空引脚,
流 (VDD = 3V)
WDT 使能
15
25
A
ICC3
/RESET= '高', Fosc=4 MHz (晶振类
2 个时钟周期的工作供电电
型, CLKS="0"), 输出悬空引脚,
流
WDT 使能
1.5
1.7
mA
ICC4
/RESET= '高', Fosc=10 MHz (晶振
2 个时钟周期的工作供电电
类型, CLKS="0"),
流
输出悬空引脚, WDT 使能
2.8
3.0
mA
LVR1
低电压复位电平
LVR2
低电压复位电平
LVR3
低电压复位电平
IPH
上拉电流
IPL
注: 1. 这些参数为理想值(未经测试),仅供设计参考。
2. 最小值,典型值和最大值栏下的数据是基于25C 时的理想值,仅供设计参考。
内部 RC 电气特性 (Ta=25C, VDD=5 V, VSS=0V)
内部 RC
漂移率
温度
电压
最小值
典型值
最大值
4 MHz
25C
5V
3.92 MHz
4 MHz
4.08 MHz
16 MHz
25C
5V
15.68 MHz
16 MHz
16.32 MHz
1 MHz
25C
5V
0.98 MHz
1 MHz
1.02 MHz
8 MHz
25C
5V
7.84 MHz
8 MHz
8.16 MHz
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
77
EM78P372N
8位微控制器
内部 RC 电气特性 (Ta=-40 ~ 85C, VDD=2.1 ~ 5.5 V, VSS=0V)
漂移率
内部 RC
温度
电压
最小值
典型值
最大值
4 MHz
-40C ~85C
2.1V~5.5V
3.80 MHz
4 MHz
4.20 MHz
16 MHz
-40C ~85C
2.1V~5.5V
15.2 MHz
16 MHz
16.8 MHz
1 MHz
-40C ~85C
2.1V~5.5V
0.95 MHz
1 MHz
1.05 MHz
8MHz
-40C ~85C
2.1V~5.5V
7.60 MHz
8 MHz
8.40MHz
8.1 AD 转换特性
Vdd= 5V, Vss=0V, Ta= 25°C
符号
VAREF
参数
模拟参考电压
条件
VAREF - VASS 2.5V
VASS
VAI
Ivdd
模拟供电电流
IAI1
典型
值
2.5
Vdd
V
Vss
Vss
V
VASS
VAREF
V
1000 1400
µA
VAREF=VDD= 5.0V,
*1
VASS = 0.0V FS =100kHz
*1
最大
单位
值
Ivref
FIN = 1kHz
(VREF 来至内部 Vdd)
10
µA
Ivdd
VDD=VAREF=5.0V,
*1
VASS = 0.0V FS =100kHz
900
µA
FIN = 1kHz
(VREF 来至外部 VREF 引脚)
500
µA
模拟供电电流
IAI2
IVref
78
模拟输入电压
最小值
*1
RN
分辨率
-
12
-
Bits
INL
线性误差
VAREF=VDD=5.0V
*1
VASS=0.0V, FS =100kHz,
*1
FIN =1kHz
±4
LSB
DNL
差分非线性误差
VAREF=VDD=5.0V
*1
VASS=0.0V, FS =100kHz,
*1
FIN =1kHz
±1
LSB
FSE
全局误差
VAREF=VDD=5.0V
*1
VASS=0.0V, FS =100kHz
±8
LSB
OE
偏移误差
VAREF= Vdd=5.0V
*1
VASS=0.0V, FS =100kHz
±4
LSB
ZAI
ADC 输入通道外部阻
值
10
KΩ
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
(續
符号
参数
TAD
ADC 时钟周期
Tsh
采样和保持时间
条件
最小值
典型
值
1
µs
4
-
-
µs
16
-
-
µs
14
24
TAD
0.5
-
-
TAD
2
LSB
±3
%
VDD=VAREF=5.0V,
VASS = 0.0V
VDD=3~5.5V,
VASS = 0.0V, Ta=25°C
VDD=2.5~3V,
VASS = 0.0V, Ta=25°C
VDD=2.5~5.5V,
VASS = 0.0V
A/D 转换时间
(包含 S/H 时间)
AD “ADRUN”位置位和
开始第一个 TAD 之间 VDD=2.5~5.5V, VASS=0.0V
的延时
TCN
TADD1
VAREF= 2.5V,
VAREF=2.5V, VASS=0V,
供电电源抑制比
PSRR
*1
最大
单位
值
*1
VIN =0V~2.5V, FS =25kHz
1/4 VDD 精度
V1/4VDD
注:
1.FS是采样率,也叫转换率。FIN是输入测试正弦波频率
2. 这些参数为理想值,未经测试,仅供设计参考。
3. ADC关闭,只消耗很小的漏电流。
4. A/D转换结果不会因为输入电压升高而减小,不会导致丢失码。
5. 这些参数未来若有变动恕不另行通知。
8.2 比较器特性
Vdd = 5.0V, Vss=0V, Ta = 25°C
符号
参数
VOS
输入补偿电压
10
mV
Vcm
通用模式输入电压范围
GND
VDD
V
ICO
比较器供电流
Co=0V, Ta= -40~85℃
160
uA
TRS
响应时间
VREF=1.0V, VRL=5V,
1
RL=5.1k, CL=15p (注 )
1
us
TLRS
大信号响应时间
VREF=2.5V, VRL = 5V, RL
2
= 5.1k (注 )
250
ns
12
mA
0.2
0.4
V
IOL
VSAT
注:
输出灌电流
饱和电压
条件
最小值 典型值 最大值
Vi(-) = 1V, Vi(+) = 0V,
3
Vo = GND+0.5V (注 )
Vi(-)=1V, Vi(+)=0V,
3
IOL 50%
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
101
EM78P372N
8位微控制器
C 封装结构
C.1 EM78P372ND14
D
14
E1
8
C
E
eB
1
A
7
θ
Symbal
A
A1
A2
c
D
E
E1
eB
B
B1
L
e
θ
Min
0.381
3.175
0.203
18.796
6.174
7.366
8.409
0.356
1.143
3.048
0
Normal
Max
4.318
3.302
3.429
0.254 0.356
19.050 19.304
6.401
6.628
7.696
8.025
9.017
9.625
0.457 0.559
1.524 1.778
3.302 3.556
2.540(TYP)
15
A1
A2
L
B
e
B1
TITLE:
PDIP-14L 300MIL PACKAGE
OUTLINE DIMENSION
File :
Edtion: A
D14
Unit : mm
Scale: Free
Material:
Sheet:1 of 1
图 C-1 EM78P372N 14-引脚 PDIP 封装类型
102
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
C.2 EM78P372NSO14
E
Symbal
A
A1
b
c
E
H
D
L
e
θ
H
Min
1.350
0.100
0.330
0.190
3.800
5.800
8.550
0.600
Normal
Max
1.750
0.250
0.510
0.250
4.000
6.200
8.750
1.270
1.27(TYP)
0
8
e
b
c
D
A2
A
TITLE:
SOP-14L(150MIL) PACKAGE
OUTLINE DIMENSION
File :
Edtion: A
NSO14
Unit : mm
Scale: Free
Material:
Sheet:1 of 1
图C-2 EM78P372N 14-引脚 SOP 封装类型
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
103
EM78P372N
8位微控制器
C.3 EM78P372NSO16A
Symbal
A
A1
A2
b
c
E
H
D
L
e
θ
b
Min
1.350
0.100
1.300
0.330
0.190
3.800
5.800
9.800
0.600
Normal
Max
1.750
0.250
1.500
0.510
0.250
4.000
6.200
10.000
1.270
1.400
1.27(TYP)
0
8
e
A2
c
TITLE:
SOP-16L(150MIL) PACKAGE OUTLINE
DIMENSION
File :
NSO16
Edtion: A
Unit : mm
Scale: Free
Material:
Sheet:1 of 1
图C-3 EM78P372N 16-引脚 SOP 封装类型
104
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
C.4 EM78P372ND18
eB
Symbal
A
A1
A2
c
D
E1
E
eB
B
B1
L
e
θ
Min
0.381
3.175
0.203
22.610
6.220
7.370
8.510
0.356
1.143
3.048
0
Normal
Max
4.450
3.302
3.429
0.254 0.356
22.860 23.110
6.438
6.655
7.620
7.870
9.020
9.530
0.457 0.559
1.524 1.778
3.302 3.556
2.540(TYP)
15
TITLE:
PDIP-18L 300MIL PACKAGE
OUTLINE DIMENSION
File :
Edtion: A
D18
Unit : mm
Scale: Free
Material:
Sheet:1 of 1
图 C-4 EM78P372N 18-引脚 PDIP 封装类型
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
105
EM78P372N
8位微控制器
C.5 EM78P372NSO18
Symbal
A
A1
b
c
E
H
D
L
e
θ
b
Min
2.350
0.102
Normal
Max
2.650
0.300
0.406(TYP)
0.230
7.400
10.000
11.350
0.406
0
0.838
1.27(TYP)
0.320
7.600
10.650
11.750
1.270
8
e
c
TITLE:
SOP-18L(300MIL) PACKAGE
OUTLINE DIMENSION
File :
Edtion: A
SO18
Unit : mm
Scale: Free
Material:
Sheet:1 of 1
图C-5 EM78P372N 18-引脚 SOP 封装类型
106
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
C.6 EM78P372ND20
Symbal
A
A1
A2
c
D
E1
E
eB
B
B1
L
e
θ
Min
0.381
3.175
0.203
25.883
6.220
7.370
8.510
0.356
1.143
3.048
0
Normal
Max
4.450
3.302
3.429
0.254 0.356
26.060 26.237
6.438
6.655
7.620
7.870
9.020
9.530
0.457 0.559
1.524 1.778
3.302 3.556
2.540(TYP)
15
A1
A2
E
TITLE:
PDIP-20L 300MIL PACKAGE
OUTLINE DIMENSION
File :
D20
Edtion: A
Unit : mm
Scale: Free
Material:
Sheet:1 of 1
图 C-6 EM78P372N 20-引脚 PDIP 封装类型
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
107
EM78P372N
8位微控制器
C.7 EM78P372NSO20
Symbal
A
A1
b
c
E
H
D
L
e
θ
b
Min
2.350
0.102
Normal
Max
2.650
0.300
0.406(TYP)
0.230
7.400
10.000
12.600
0.630
0
0.838
1.27(TYP)
0.320
7.600
10.650
12.900
1.100
8
e
c
TITLE:
SOP-20L(300MIL) PACKAGE
OUTLINE DIMENSION
File :
Edtion: A
SO20
Unit : mm
Scale: Free
Material:
Sheet:1 of 1
图 C-7 EM78P372N 20-引脚 SOP 封装类型
108
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
b
Symbal
A
A1
A2
b
c
E
E1
D
L
L1
e
θ
E
E1
C.8 EM78P372NSS20
e
Min
0.050
1.620
0.220
0.090
7.400
5.000
6.900
0.650
0
Normal
1.750
7.800
5.300
7.200
0.750
1.250(REF )
0.650(TYP)
4
Max
2.130
0.250
1.880
0.380
0.200
8.200
5.600
7.500
0.850
8
A2
c
L1
TITLE:
SSOP-20L(209MIL) OUTLINE
PACKAGE PACKA OUTLINE
DIMENSION
File :
Edtion: A
SSOP20
Unit : mm
Scale: Free
Material:
Sheet:1 of 1
图 C-8 EM78P372N 20-引脚 SSOP 封装类型
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
109
EM78P372N
8位微控制器
C.9 EM78P372NMS10
图 C-9 EM78P372N 10-引脚 MSOP 封装类型
110
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
EM78P372N
8位微控制器
C.10 EM78P372NQN16
图 C-10 EM78P372N 16-引脚 QFN 封装类型
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)
111
EM78P372N
8位微控制器
品质保证和可靠性
D
测试类别
可焊性
测试条件
备注
焊料温度=245 5C, 使用松香在上面停留 5 秒
步骤 1: TCT, 65C (15mins)~150C (15mins), 10 个循环
步骤 2: 在 125C 烤, TD (持久性)=24 hrs
步骤 3: 放置在 30C /60% , TD (持久性)=192 hrs
前提条件
步骤 4: IR 变化 3 次
(Pkg 厚度 2.5mm 或
3
Pkg 体积 350mm ----225 5C)
使用于 SMD 封装的 IC (如
SOP, QFP, SOJ, 等)
(Pkg 厚度 2.5mm 或
3
Pkg 体积 350mm ----240 5C )
温度周期测试
-65 (15 分钟)~150C (15 分钟), 200 次
高压锅测试
TA =121C, RH=100%, 压力=2 atm,
TD (持久性) = 96 hrs
高温 /高湿测试
TA=85C , RH=85% , TD (持久性)=168 , 500 hrs
高温保存期
TA=150C, TD (持久性)=500, 1000 hrs
高温工作寿命
TA=125C, VCC=最大工作电压,
TD (持久性) =168, 500, 1000 hrs
Latch-up
TA=25C, VCC=最大工作电压, 800mA/40V
ESD (HBM)
TA=25°C, ≥ | ± 4KV |
IP_ND,OP_ND,IO_ND
IP_NS,OP_NS,IO_NS
IP_PD,OP_PD,IO_PD,
IP_PS,OP_PS,IO_PS,
ESD (MM)
TA=25°C, ≥ | ± 400V |
VDD-VSS(+),VDD_VSS
(-)模式
D.1 地址缺陷检测
地址缺陷检测是MCU嵌入式自动防止故障危害功能的一种,检测MCU由噪声或类似造
成的功能故障。无论何时MCU试图从ROM区获取一条指令,内部恢复电路将自动开始。
如果检测到噪声引起地址错误,MCU重复执行程序直到噪声消除。 MCU 将继续执行下
一条指令。
112
产品规格书 (V1.4) 03.15.2016
(产品更新后规格书不保证同步更新)