EM78P458/459 产品规格书

EM78P458/459
8位
OTP微控制器
产品规格书
版本1.6
义隆电子股份有限公司
2010.12
本文内容是由英文规格书翻译而
来,目的是为了您的阅读更加方
便。它无法跟随原稿的更新,文
中可能存在翻译上的错误,请您
参考英文规格书以获得更准确的
信息。
商标告知:
IBM 为一个注册商标,PS/2 是 IBM 的商标之ㄧ.。
Windows 是微软公司的商标。
ELAN 和 ELAN 标志
是义隆电子股份有限公司的商标。
版权所有 © 2009~2010 义隆电子股份有限公司
所有权利保留
台湾印制
本规格书内容如有变动恕不另作通知。关于该规格书的准确性、适当性或者完整性,义隆电子股份有限
公司不承担任何责任。 义隆电子股份有限公司不承诺对本规格书之内容及信息有更新及校正之义务。 本
规格书的内容及信息将为符合确认之指示而变更。
在任何情况下,义隆电子股份有限公司对本规格书中的信息或内容的错误、遗漏,或者其它不准确性不
承担任何责任。由于使用本规格书中的信息或内容而导致的直接,间接,特别附随的或结果的损害, 义
隆电子股份有限公司没有义务负责。
本规格书中提到的软件(如果有),都是依据授权或保密合约所合法提供的,并且只能在这些合约的许
可条件下使用或者复制。
义隆电子股份有限公司的产品不是专门设计来应用于生命维持的用具,装置或者系统。 义隆电子股份有
限公司的产品不支持而且禁止在这些方面的应用。
未经义隆电子股份有限公司书面同意,任何个人或公司不得以任何形式或方式对本规格书的内容之任一部
分进行复制或传输。
义隆电子股份有限公司
总公司:
地址:台湾新竹科学园区
创新一路 12 号
电话:+886 3 563-9977
传真:+886 3 563-9966
[email protected]
http://www.emc.com.tw
香港分公司:
USA:
义隆电子(香港)有限公司
九龙观塘巧明街 95 号世达中心
19 楼 A 室
电话:+852 2723-3376
传真:+852 2723-7780
Elan Information
Technology Group (USA)
Korea:
深圳分公司:
上海分公司:
Elan Korea Electronics
Company, Ltd.
义隆电子(深圳)有限公司
义隆电子(上海)有限公司
301 Dong-A Building
632 Kojan-Dong,
Namdong-ku
Incheon City, KOREA
Tel: +82 32 814-7730
Fax:+82 32 813-7730
P.O. Box 601
Cupertino, CA 95015
USA
Tel: +1 408 366-8225
Fax:+1 408 366-8225
地址:深圳市高新技术产业园南区 地址:上海市浦東新區張江高科畢
高新南一道国微大厦 3F
升路 289 弄 3 號 101 室
邮编:518057
电话:+86 755 2601-0565
传真:+86 755 2601-0500
[email protected]
邮编:201203
电话:+86 21 5080-3866
传真:+86 21 5080-0273
[email protected]
Contents
目录
1
综述
...................................................................................................................... 1
2
特性
...................................................................................................................... 1
3
引脚配置.................................................................................................................... 2
4
功能描述.................................................................................................................... 5
4.1
操作寄存器 ....................................................................................................... 5
4.1.1
R0 (间接寻址寄存器) .......................................................................................... 5
4.1.2
R1 (时钟 /计数器)................................................................................................ 5
4.1.3
R2 (程序计数器) & 堆栈 ...................................................................................... 5
4.1.4
R3 (状态寄存器).................................................................................................. 7
4.1.5
R4 (RAM 选择寄存器)......................................................................................... 8
4.1.6
4.1.7
4.1.8
R5 ~ R6 (Port 5 ~ Port 6).................................................................................... 8
R7 ~ R8............................................................................................................... 8
R9 (ADCON:模数转换控制寄存器) ..................................................................... 8
4.1.9
RA (ADDATA: ADC 转换值) ................................................................................ 9
4.1.10
4.1.11
4.1.12
4.1.13
4.1.14
RB ....................................................................................................................... 9
RC....................................................................................................................... 9
RD....................................................................................................................... 9
RE ....................................................................................................................... 9
RF (中断状态寄存器) .......................................................................................... 9
4.1.15 R10 ~ R3F ....................................................................................................... 10
4.2
特殊功能寄存器 .............................................................................................. 10
4.2.1
A (累加器) ......................................................................................................... 10
4.2.2
CONT (控制寄存器) ......................................................................................... 10
4.2.3
IOC50 ~ IOC60 (I/O 端口控制寄存器) ...............................................................11
4.2.4
IOC90 (GCON: ADC I/O 配置&控制寄存器) ......................................................11
4.2.5
4.2.6
IOCA0 ( AD-CMPCON ): .................................................................................. 12
IOCB0 (下拉控制寄存器) .................................................................................. 13
4.2.7
IOCC0 (漏极开路控制寄存器)........................................................................... 13
4.2.8
IOCD0 (下拉控制寄存器 ) ................................................................................. 14
4.2.9
IOCE0 (WDT 控制寄存器) ................................................................................ 14
4.2.10 IOCF0 (中断屏蔽寄存器) .................................................................................. 14
4.2.11 IOC51 ( PWMCON ): ........................................................................................ 15
4.2.12 IOC61 ( DT1L: PWM1 的占空周期低位字节( Bit 7 ~ Bit 0) )............................. 16
4.2.13 IOC71 ( DT1H: PWM1 的占空周期高两位( Bit 1 ~ Bit 0 ) )............................... 16
4.2.14 IOC81 ( PRD1: Period of PWM1 ): ................................................................... 17
4.2.15 IOC91 ( DT2L: PWM2 的占空周期低位字节( Bit 7 ~ Bit 0) )............................. 17
4.2.16 IOCA1 ( DT2H: PWM2 的占空周期高两位( Bit 1 ~ Bit 0 ) ) .............................. 17
4.2.17 IOCB1 ( PRD2: PWM2 周期 )........................................................................... 17
版本号(V1.6) 12.01.2010
• iii
Contents
4.2.18 IOCC1(DL1L: PWM1 占空周期锁存值的低位字节(Bit 7~Bit 0))........................ 17
4.2.19 IOCD1(DL1H: PWM1 占空周期锁存值的高两位(Bit 1~Bit 0)) .......................... 17
4.2.20 IOCE1(DL2L: PWM2 占空周期锁存值的低位字节(Bit 7~Bit 0))........................ 17
4.2.21 IOCF1(DL2H: PWM2 占空周期锁存值的高两位(Bit 1~Bit 0))........................... 17
4.3
TCC/WDT & 预分频器 .................................................................................... 18
4.4
I/O 端口 .......................................................................................................... 19
4.5
复位和唤醒 ..................................................................................................... 21
4.5.1
复位和唤醒功能................................................................................................. 21
4.5.2
状态寄存器的 T 和 P 状态 ................................................................................. 23
4.6
中断 ................................................................................................................ 24
4.7
模数转换器(ADC)............................................................................................ 25
4.8
4.7.1
ADC 控制寄存器(ADCON/R9, AD-CMP-CON/IOCA0, GCON/IOC90) ............ 26
4.7.2
4.7.1.1 ADCON/R9 ........................................................................................ 26
4.7.1.2 AD-CMP-CON/IOCA0 ....................................................................... 27
4.7.1.3 GCON/IOC90..................................................................................... 27
ADC 数据寄存器(ADDATA/RA)......................................................................... 28
4.7.3
A/D 采样时间 .................................................................................................... 28
4.7.4
A/D 转换时间 .................................................................................................... 28
4.7.5
A/D 运行在休眠模式.......................................................................................... 28
4.7.6
编程步骤 /考量 .................................................................................................. 28
4.7.6.1
编程步骤 ............................................................................................ 28
4.7.6.2
示例代码 ............................................................................................ 29
两路 PWM (脉宽调制) ..................................................................................... 31
4.8.1
综述................................................................................................................... 31
4.8.2
加定时计数器( TMRX: TMR1H/TWR1L 或 TMR2H/TWR2L ).......................... 33
4.8.3
PWM 周期( PRDX : PRD1 或 PRD2 ) .............................................................. 33
4.8.4 PWM 占空周期( DTX: DT1H/ DT1L 和 DT2H/ DT2L; DTL: DL1H/DL1L 和
DL2H/DL2L ) ................................................................................................................. 33
4.8.5 比较器 X............................................................................................................ 33
4.8.6
4.9
PWM 编程步骤.................................................................................................. 33
定时器............................................................................................................. 34
4.9.1
综述................................................................................................................... 34
4.9.2
功能描述 ........................................................................................................... 34
4.9.3
编程相关寄存器................................................................................................. 35
4.9.4
定时器编程步骤................................................................................................. 35
4.10 比较器............................................................................................................. 35
4.10.1 外部参考信号 .................................................................................................... 35
4.10.2 比较器输出........................................................................................................ 35
4.10.3 用作运算放大器................................................................................................. 36
4.10.4 中断................................................................................................................... 36
4.10.5 从休眠模式唤醒................................................................................................. 36
iv •
版本号 (V1.6) 12.01.2010
Contents
4.11 复位后的初始值 .............................................................................................. 37
4.12 振荡器............................................................................................................. 39
4.12.1 振荡模式 ........................................................................................................... 39
4.12.2 晶振 / 陶瓷谐振器 (XTAL) ................................................................................. 40
4.12.3 外部 RC 振荡模式 ............................................................................................. 41
4.12.4 带内部电容的 RC 振荡模式............................................................................... 42
4.13 上电考量 ......................................................................................................... 42
4.13.1 外置上电复位电路 ............................................................................................. 42
4.13.2 残留电压保护 .................................................................................................... 43
4.14 代码选项 ......................................................................................................... 44
4.14.1 代码选项寄存器(Word 0)................................................................................... 44
4.15 指令集............................................................................................................. 45
4.16 时序图............................................................................................................. 47
5
最大绝对值 .............................................................................................................. 48
6
电气特性................................................................................................................. 48
6.1
直流电气特性 (Ta=0°C ~ 70 °C, VDD=5.0V±5%, VSS=0V) ............................. 48
6.2
AC 电气特性(Ta=0°C ~ 70 °C, VDD=5V±5%, VSS=0V) .................................. 49
6.3
A/D 转换器特性(Vdd=3.0V 至 5.5V,Vss=0V,Ta=0 至 70℃).............................. 49
6.4
比较器 (OP) 特性(Vdd = 5.0V,Vss=0V,Ta=0 至 70℃) ...................................... 50
6.5
器件特性 ......................................................................................................... 51
附录
A
封装类型.................................................................................................................. 62
B
封装信息.................................................................................................................. 62
版本号(V1.6)12.01.2010
•v
Contents
规格修订历史
文件版本
vi •
修订描述
日期
1.0
初版
1.1
修正 ERC 频率
2003/03/06
1.2
增加 AD & OP 规格
2003/05/07
1.3
修改上电复位内容
2003/07/01
1.4
在 6.5 节增加器件特性
2004/06/25
1.5
更新封装类型
2005/04/01
1.6
修改了引脚描述的内容
2010/12/01
版本号 (V1.6) 12.01.2010
EM78P458/459
8位OTP微控制器
1
综述
EM78P458 和 EM78P459 是采用低功耗、高速CMOS技术设计和开发的8位微处理器。它配备有
一个4K*13-位一次性可编程只读存储器(OTP-ROM)。
利用其OTP-ROM特性,可以很方便的开发和验证用户程序。另外,用户可使用EMC 烧录器很容
易地烧写其开发代码。
2
特性
„
CPU 配置
„
• 8-bit 实时时钟/计数器,具有可选择信号源,触
发沿和溢出中断功能
• 8-bit 多通道模数转换,具有 8-bit 分辨率
• 双脉宽调制器,具有10-bit 分辨率
• 一对比较器
• 掉电模式
• 4K×13 bits 片上可读存储器
• 84×8 bits 片上静态随机存储器
• 8级堆栈用于嵌套
„
低功耗
•在 5V/4MHz低于 1.5 mA
•在3V/32kHz典型值 15 µA
„
•在睡眠模式典型值为1 µA
„
•2 组双向IO口
•8个可编程下拉引脚
•7 个可编程上拉引脚
„
工作电压范围: 2.3V~5.5V
„
工作温度范围: 0~70°C
„
工作频率范围(基于2个时钟):
•晶振模式:
DC~20MHz/2clks @ 5V
DC~8MHz/2clks @ 3V
•RC 模式:
六个中断:
•
•
•
•
•
•
I/O 口配置
•8 个可编程开漏引脚
•单指令周期为两个时钟
外围配置
„
TCC溢出中断
输入口状态改变中断 (从睡眠模式唤醒)
外部中断
ADC结束产生中断
PWM 周期匹配中断
比较器中断
特性
• 可编程自由运行看门狗定时器
封装类型:
„
•
•
•
•
•
18-引脚 DIP 300mil
18-引脚 SOP 300mil
20-引脚 DIP 300mil
20-引脚 SOP 300mil
24-引脚 SDIP 300mil
:
:
:
:
:
EM78P458BP
EM78P458BM
EM78P458AP
EM78P458AM
EM78P459AK
DC~4 MHz/2clks @ 5V
DC~4 MHz/2clks @ 3V
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
•1
EM78P458/459
8位OTP微控制器
3
引脚配置
P56/CIN+
1
24
P55/CIN-
P57/CO
2
23
P54/TCC
P60/ADC1
3
22
OSCI
P61/ADC2
4
21
OSCO
ENTCC
5
20
RESET
Vss
6
19
VDD
Vss
7
18
VDD
P62/ADC3
8
17
P53/VREF
20
P55/CIN-
P57/CO
2
19
P54/TCC
P60/ADC1
3
18
OSCI
P61/ADC2
4
17
OSCO
Vss
5
16
VDD
P62/ADC3
6
15
P53/VREF
P63/ADC4
7
14
P52/PWM2
P63/ADC4
9
16
P52/PWM2
P64/ADC5
8
13
P51/PWM1
P64/ADC5
10
15
P51/PWM1
P65/ADC6
9
12
P50/INT
P65/ADC6
11
14
P50/INT
P66/ADC7
10
11
P67/ADC8
P66/ADC7
12
13
P67/ADC8
1
18
P54/TCC
P60/ADC1
2
17
OSCI
P61/ADC2
3
16
OSCO
Vss
4
15
VDD
14
P53/VREF
13
P52/PWM2
EM78P458B
P57
P62/ADC3
5
P63/ADC4
6
P64/ADC5
7
12
P51/PWM1
P65/ADC6
8
11
P50/INT
P66/ADC7
9
10
P67/ADC8
EM78P459
1
EM78P458A
P56/CIN+
图 1 引脚配置
2•
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
表 3-1 EM78P458 引脚描述
DIP 18
引脚名称
引脚序号 引脚类型
功能
VDD
15
-
电源
OSCI
17
I
晶体 类型: 晶振输入引脚或外部时钟输入引脚
RC 类型: RC振荡器输入引脚.
16
O
晶体类型: 晶振输出引脚或外部时钟输入引脚
RC 类型: 输出以单指令周期时间为周期的时钟,其预分频比由CONT寄存
器定义。
外部时钟信号输入
P60 ~ P67
2,3
5 ~ 10
I/O
通用I/O引脚。
上电复位时为默认值。
P51 ~ P57
1,
12~14,
16~18
I/O
通用I/O引脚。
上电复位时为默认值。
P50
11
I
通用I/O引脚。
上电复位时为默认值。
INT
11
I
由下降沿触发的外部中断引脚
ADC1~ADC8
2, 3,
5 ~ 10
I
模数转换器。
由 AD-CMPCON (IOCA0)<2:4>定义
PWM1,
PWM2
13, 14
O
脉宽调制输出。
由 PWMCON (IOC51)<6, 7>定义
VREF
14
I
ADC 外部参考电压
由 AD-CMPCON (IOCA0)<7>定义.
TCC
18
I
带施密特输入引脚的实时时钟/计数器;不用时,必须连接到VDD或VSS.
VSS
4
-
地
OSCO
DIP 20
引脚名称
引脚序号 引脚类型
功能
VDD
16
-
电源
OSCI
18
I
晶体 类型: 晶振输入引脚或外部时钟输入引脚
RC 类型: RC振荡器输入引脚.
17
O
晶体类型: 晶振输出引脚或外部时钟输入引脚。
RC 类型: 输出以单指令周期时间为周期的时钟,其预分频比由CONT
寄存器定义。
外部时钟信号输入。
P60 ~ P67
3, 4,
6~11
I/O
通用I/O引脚。
上电复位时为默认值。
P51 ~ P57
13~15
19 ~ 20,
1, 2
I/O
通用I/O引脚。
上电复位时为默认值。
P50
12
I
仅作为通用输入引脚。
上电复位时为默认值。
INT
12
I
由下降沿触发的外部中断引脚
ADC1~ADC8
3 ~ 4,
6 ~ 11
I
模数转换器。
由 AD-CMPCON (IOCA0)<2:4>定义
PWM1, PWM2
13, 14
O
脉宽调制输出。
OSCO
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
•3
EM78P458/459
8位OTP微控制器
由 PWMCON (IOC51)<6, 7>定义
15
I
ADC 外部参考电压
由 AD-CMPCON (IOCA0)<7>定义.
20, 1,2
I
O
“-“ -> 比较器输入引脚 Vin-.
“+”->比较器输入引脚 Vin+
比较器输出引脚CO
由AD-CMPCON (IOCA0) <5, 6>定义
VREF
CIN-, CIN+, CO
TCC
19
I
带施密特输入引脚的实时时钟/计数器;不用时,必须连接到VDD或
VSS.
VSS
5
-
地
表 3-2 EM78P459 引脚描述
引脚名称
功能
19, 18
-
电源
OSCI
22
I
晶体 类型: 晶振输入引脚或外部时钟输入引脚
RC 类型: RC振荡器输入引脚.
21
O
晶体类型: 晶振输出引脚或外部时钟输入引脚
RC 类型: 输出以单指令周期时间为周期的时钟,其预分频比由CONT寄存
器定义。
外部时钟信号输入
P50 ~ P57
14~17
23~24
1~2
I/O
通用I/O引脚。
上电复位时为默认值。
P60 ~ P67
3, 4,
8~13
I/O
通用I/O引脚。
上电复位时为默认值。
OSCO
P70 ~ P74
INT
3, 2, 1
24, 23
I/O
通用I/O引脚。
上电复位时为默认值。
14
I
由下降沿触发的外部中断引脚
ADC1~ADC8
3, 4,
8~13
I
模数转换器。
由 AD-CMPCON (IOCA0)<2:4>定义
PWM1,
PWM2
15, 16
O
脉宽调制输出。
由 PWMCON (IOC51)<6, 7>定义
17
I
ADC 外部参考电压
由 AD-CMPCON (IOCA0)<7>定义.
I
“-“ -> 比较器输入引脚 Vin-.
“+”->比较器输入引脚 Vin+
比较器输出引脚CO
由AD-CMPCON (IOCA0) <5, 6>定义
VREF
CIN-, CIN+,
CO
4•
引脚序号 引脚类型
VDD
24, 1, 2
/RESET
20
I
如果保持为逻辑低,器件将产生复位。
当引脚状态改变时由休眠模式唤醒。.
在普通模式下,/RESET/Vpp引脚电压必须低于Vdd
如果定义/RESET,上拉功能被开启。
TCC
23
I
带施密特输入引脚的实时时钟/计数器;不用时,必须连接到VDD或VSS.
ENTCC
VSS
5
6, 7
I
-
1: 使能 TCC; 0: 禁止 TCC.
地
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
4
功能描述
图 2 EM78P458/459功能结构图
4.1 操作寄存器
4.1.1 R0 (间接寻址寄存器)
R0 并非实际存在的寄存器。它的主要功能是作为间接寻址指针。任何以R0为指针的指
令实际上是对RAM选择寄存器R4所指的数据进行操作。
4.1.2 R1 (时钟 /计数器)
„
由TCC引脚的外部信号边沿或指令周期时钟触发加1.
„
触发计数器加计数的信号由CONT寄存器的位 4和位5 决定。
„
同其它寄存器一样可读/写。
4.1.3 R2 (程序计数器) & 堆栈
„
R2 和硬件堆栈为12 位宽。图4为其结构图。
„
产生4K×13 位片内ROM地址以寻址程序。一个程序页为1024字长。
„
复位条件下,R2的所有位都置为“0”。
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
•5
EM78P458/459
8位OTP微控制器
„
"JMP" 指令允许直接加载程序计数器的低10位。因此,"JMP" 允许PC跳转到一个程
序页内的任一位址。
„
"CALL" 指令首先加载PC的低10位,然后将PC+1推入堆栈。因此,子程序入口地址
可位于一个程序页内的任一位址。
„
"RET" ("RETL k", "RETI")指令加载栈顶内容到程序计数器。
„
"ADD R2, A"可将一个相对地址加到当前PC,PC的第九,第十位被清除。
„
"MOV R2, A" 可从"A"寄存器加载一个相对地址到PC的低8位,PC的第九和第十位
被清除。
„
任何向R2写值的指令(例如:"ADD R2, A"、"MOV R2, A", "BC R2, 6",⋅⋅⋅⋅⋅)将导致PC
的第九和第十位(A8~A9)被清除。因此,经计算的跳转限制在一个程序页的前256个
位址。
„
对于EM78P458/459,执行"JMP", "CALL"指令后,程序计数器的高两位(A11 和 A10)
将加载状态寄存器(R3)的PS1 和 PS0值。
„
处理向R2写值的指令需要两个指令周期外,所有指令都是单周期指令(fclk/2 or
fclk/4)
图 3 程序计数器组织
6•
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
PAGE 寄存器
地址
IOC PAGE 寄存器
IOC PAGE 寄存器
00
R0 (IAR)
保留
保留
01
R1 (TCC)
保留
保留
02
R2 (PC)
保留
保留
03
R3 (Status)
保留
保留
04
R4 RSR)
保留
保留
05
R5 (Port5)
IOC50 (I/O 端口控制寄存器)
IOC51 (PWMCON)
06
R6 (Port6)
IOC60 (I/O 端口控制寄存器)
IOC61 (DT1L)
07
R7
通用寄存器
保留
IOC71 (DT1H)
IOC81 (PRD1)
08
R8
通用寄存器
保留
09
R9
(ADCON)
IOC90 (GCON)
IOC91 (DT2L)
0A
RA
(ADDATA)
IOCA0 (AD-CMPCON)
IOCA1 (DT2H)
0B
RB 通用寄存器
IOCB0 (下拉控制寄存器)
IOCB1 (PRD2)
0C
RC 通用寄存器
(仅两位有效)
IOCC0 (漏极开路控制寄存器)
IOCC1 (DL1L)
0D
RD 通用寄存器
IOCD0 (上拉控制寄存器)
IOCD1 (DL1H)
0E
RE 通用寄存器
(仅两位有效)
IOCE0 (WDT控制寄存器)
IOCE1 (DL2L)
0F
10
︰
1F
20
RF (中断状态寄存器)
IOCF0 (中断屏蔽寄存器)
IOCF1 (DL2H)
︰
Bank 0
通用寄存器
Bank 1
3F
图 4 数据存储器配置
4.1.4 R3 (状态寄存器)
Bit 7
CMPOUT
Bit 6
Bit 5
PS1
PS0
Bit 4
T
Bit 3
P
Bit 2
Z
Bit 1
DC
Bit 0
C
Bit 7 (CMPOUT): 比较器输出结果
Bit 6 (PS1) ~ 5 (PS0): 页选择位。PS0~PS1用于选择程序存储器页。当执行"JMP",
"CALL"指令或会使程序计数器发生改变的指令(例如:MOV R2, A),
PS0~PS1将被加载到程序计数器的第11和第12位用于选择一个有效的程
序存储器页。必须注意的是,RET(RETL, RETI)指令不会改变PS0~PS1
位,也就是,返回的地址总是子程序被调用的位址,而不论PS0~PS1的
当前值是什么。
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
•7
EM78P458/459
8位OTP微控制器
PS1
PS0
0
0
页 0 [000-3FF]
0
1
页 1 [400-7FF]
1
0
页 2 [800-BFF]
1
1
页 3 [C00-FFF]
程序存储器页[地址]
Bit 4 (T): 溢出位。执行”SLEP”和”WDTC”指令或上电时置1。 WDT溢出时复位为0.
Bit 3 (P): 掉电位。上电时或执行”WDTC”指令置 1,执行”SLEP”指令复位为0.
Bit 2 (Z): 零标志位。如果算术或逻辑运算的结果为0时置为”1”
Bit 1 (DC): 辅助进位标志位
Bit 0 (C): 进位标志位
4.1.5 R4 (RAM 选择寄存器)
Bit 7: 为通用读/写位.
Bit 6: 用于选择bank 0 或 bank 1.
Bits 0~5: 在间接寻址模式中用于选择寄存器(地址: 00~3F)
4.1.6 R5 ~ R6 (Port 5 ~ Port 6)
R5 和 R6 为I/O寄存器
4.1.7 R7 ~ R8
所有这些寄存器为8位通用寄存器
4.1.8 R9 (ADCON:模数转换控制寄存器)
Bit 7
-
Bit 6
-
Bit 5
IOCS
Bit 4
ADRUN
Bit 3
Bit 2
Bit 1
Bit 0
ADPD
ADIS2
ADIS1
ADIS0
Bit 7Bit 6: 未使用,读为’0’,
Bit 5(IOCS): 选择I/O控制寄存器段
1: 选择段1 ( IOC51~IOCF1 );
0: 选择段 0 ( IOC50~IOCF0 );
Bit 4 (ADRUN): ADC 开始运行.
1: 一次A/D转换开始。此位可由软件置位。
0: 转换完成后复位。此位不能由软件复位。
Bit 3 (ADPD): ADC 电源开关.
1: 开启;
0: 关闭。
8•
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
Bit2:Bit0 (ADIS2:ADIS0): 模拟输入通道选择
000 = AN0;
001 = AN1;
010 = AN2;
011 = AN3;
100 = AN4;
101 = AN5;
110 = AN6;
111 = AN7;
仅当ADIF位和ADRUN位均为低时才可改变其值。
4.1.9 RA (ADDATA: ADC转换值)
当A/D转换完成,转换结果加载到ADDATA。START//END清除,ADIF置位。
4.1.10 RB
一个8位通用寄存器
4.1.11 RC
一个2位(Bit 0 和Bit 1有效)通用寄存器。
4.1.12 RD
一个8位通用寄存器
4.1.13 RE
一个2位(Bit 0 和Bit 1有效)通用寄存器。
4.1.14 RF (中断状态寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
CMPIF
PWM2IF
PWM1IF
ADIF
EXIF
ICIF
TCIF
“1” 表示有中断请求, “0” 表示没有中断产生
Bit 7: 未使用,读为’0’
Bit 6 (CMPIF): 高-比较中断标志。当比较器输出发生改变时置位,由软件复位。
Bit 5 (PWM2IF): PWM2(脉宽调制)中断标志。当与选定周期匹配时置位,由软件复
位。
Bit 4 (PWM1IF): PWM1 (脉宽调制) 中断标志。当与选定周期匹配时置位,由软件复位。
Bit 3 (ADIF): 模数转换中断标志位。当AD转换完成时置位,由软件复位。
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
•9
EM78P458/459
8位OTP微控制器
Bit 2 (EXIF): 外部中断标志。由/INT引脚的下降沿触发置位,由软件复位。
Bit 1 (ICIF): Port 6 输入状态改变中断标志。当Port 6输入状态改变时置位,由软件复位。
Bit 0 (TCIF): TCC 溢出中断标志。TCC溢出时置位,由软件复位。
RF 可由指令清除但不可由指令置位。
IOCF0 为中断屏蔽寄存器
注意:读取RF所得到的值是RF和IOCF0逻辑相与的结果。
4.1.15
R10 ~ R3F
所有这些寄存器均是8位通用寄存器。
4.2 特殊功能寄存器
4.2.1 A (累加器)
用于内部数据传送或指令操作数保持
它不可被寻址。
4.2.2
CONT (控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
INTE
INT
TS
TE
PAB
PSR2
PSR1
PSR0
Bit 7 (INTE): INT 信号边沿
0: 在INT引脚的上升沿产生中断
1: 在INT引脚的下降沿产生中断
Bit 6 (INT): 中断使能标志位。
0: 由DISI指令或硬件中断屏蔽
1: 由ENI/RETI指令使能。
Bit 5 (TS): TCC 信号源选择位
0: 内部指令周期时钟。如果P54用作I/O引脚,TS必须为0.
1:TCC引脚上的信号跳变。
Bit 4 (TE): TCC 信号边沿选择位
0: TCC引脚信号发生由低到高跳变时增1.
1: TCC引脚信号发生由高到低跳变时增1.
Bit 3 (PAB): 预分频器分配位。
0: TCC;
1: WDT.
10 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
Bit 2 (PSR2) ~ Bit 0 (PSR0): TCC/WDT预分频位.
PSR2
PSR1
PSR0
TCC 分频比
WDT分频比
0
0
0
1:2
1:1
0
0
1
1:4
1:2
0
1
0
1:8
1:4
0
1
1
1:16
1:8
1
0
0
1:32
1:16
1
0
1
1:64
1:32
1
1
0
1:128
1:64
1
1
1
1:256
1:128
CONT 寄存器可读/写。
4.2.3 IOC50 ~ IOC60 (I/O端口控制寄存器)
"1" 设置相应I/O引脚为高阻态,而"0"定义相应I/O引脚为输出。
IOC50 和 IOC60 寄存器可读/写。
4.2.4 IOC90 (GCON: ADC I/O 配置&控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
OP2E
OP1E
G22
G21
G20
G12
G11
G10
Bit 7( OP2E ): 使能增益放大器。此放大器输入端连接到P64,输出端连接到8选1模拟
开关。
0: OP2 关闭(默认), 旁路输入信号到ADC;
1: OP2 开启.
Bit 6 ( OP1E ): 使能增益放大器。此放大器输入端连接到P60,输出端连接到8选1模拟
开关。
0: OP1 关闭(默认), 旁路输入信号到ADC;
1: OP1 开启.
Bit 5:Bit 3 (G22 和 G20): OP2 增益选择位。
000 = IS x 1 (默认值);
001 = IS x 2;
010 = IS x 4;
011 = IS x 8;
100 = IS x 16;
101 = IS x 32;
约定: IS = 输入信号
Bit 2:Bit 0 (G12 和 G10 ): OP1 增益选择位
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 11
EM78P458/459
8位OTP微控制器
000 = IS x 1 (默认值);
001 = IS x 2;
010 = IS x 4;
011 = IS x 8;
100 = IS x 16;
101 = IS x 32;
约定: IS = 输入信号
4.2.5 IOCA0 ( AD-CMPCON ):
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
VREFS
CE
COE
IMS2
IMS1
IMS0
CKR1
CKR0
Bit 7: ADC 参考电压 输入选择位
0: ADC Vref 连接到Vdd(默认值),并且P53/VREF引脚用作P53;
1: ADC Vref 连接到P53/VREF
Bit 6 (CE): 比较器使能位
0: 比较器关闭(默认)
1: 比较器开启
Bit 5 ( COE ): 设置P57为比较器输出
0: 如果CE=1,比较器作为OP.
1: 如果CE=1,用作比较器
Bit4:Bit2 (IMS2:IMS0): 输入模式选择。ADC配置定义位。以下表格描述了如何定义R6
每个引脚的特性。
表 3 AD配置控制位描述
IMS2:IMS0
P60
P61
P62
P63
P64
P65
P66
P67
000
A
D
D
D
D
D
D
D
001
A
A
D
D
D
D
D
D
010
A
A
A
D
D
D
D
D
011
A
A
A
A
D
D
D
D
100
A
A
A
A
A
D
D
D
101
A
A
A
A
A
A
D
D
110
A
A
A
A
A
A
A
D
111
A
A
A
A
A
A
A
A
Bit 1: Bit 0 (CKR1: CKR0): ADC转换时间选择
00 = 1: 4 (默认值);
01 = 1: 16;
10 = 1: 64;
12 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
11 = ADC 振荡时钟源取自WDT振荡器频率。
(频率=256/18ms≒14.2Khz)
4.2.6 IOCB0 (下拉控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/PD7
/PD6
/PD5
/PD4
/PD3
/PD2
/PD1
/PD0
Bit 7 (/PD7): P67引脚下拉控制使能位。
0: 使能内部下拉
1: 禁止内部下拉
Bit 6 (/PD6): P66引脚下拉控制使能位.
Bit 5 (/PD5): P65引脚下拉控制使能位
Bit 4 (/PD4): P64引脚下拉控制使能位
Bit 3 (/PD3): P63引脚下拉控制使能位
Bit 2 (/PD2): P62引脚下拉控制使能位
Bit 1 (/PD1): P61引脚下拉控制使能位
Bit 0 (/PD0): P60引脚下拉控制使能位
IOCB0 寄存器可读/写。
4.2.7 IOCC0 (漏极开路控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/OD7
/OD6
/OD5
/OD4
/OD3
/OD2
/OD1
/OD0
Bit 7 (OD7): P57引脚漏极开路控制使能位
0: 使能漏极开路输出
1: 禁止漏极开路输出
Bit 6 (OD6): P54引脚漏极开路控制使能位
Bit 5 (OD5): P52引脚漏极开路控制使能位
Bit 4 (OD4): P51引脚漏极开路控制使能位
Bit 3 (OD3): P67引脚漏极开路控制使能位
Bit 2 (OD2): P66引脚漏极开路控制使能位
Bit 1 (OD1): P65引脚漏极开路控制使能位
Bit 0 (OD0): P64引脚漏极开路控制使能位
IOCC0 寄存器可读/写
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 13
EM78P458/459
8位OTP微控制器
4.2.8 IOCD0 (下拉控制寄存器 )
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
/PH7
/PH6
/PH5
-
/PH3
/PH2
/PH1
/PH0
Bit 7 (/PH7): P56引脚上拉控制使能位
0: 使能内部上拉
1: 禁止内部上拉.
Bit 6 (/PH6): P55引脚上拉控制使能位
Bit 5 (/PH5): P53引脚上拉控制使能位
Bit 4: 未使用.
Bit 3 (/PH3): P63引脚上拉控制使能位
Bit 2 (/PH2): P62引脚上拉控制使能位
Bit 1 (/PH1): P61引脚上拉控制使能位
Bit 0 (/PH0): P60引脚上拉控制使能位
IOCD0 寄存器可读/写。
4.2.9 IOCE0 (WDT控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
WDTE
EIS
-
-
-
-
-
-
Bit 7 (WDTE): 看门狗定时器控制使能位
0: 禁止WDT;
1: 使能WDT.
WDTE 位可读/写
Bit 6 (EIS): P50 (/INT)引脚功能控制使能位
0: P50, 仅作为输入引脚
1: /INT, 外部中断引脚。在此条件下,P50的I/O控制位(IOC50-bit 0)必须
设置为”1”.
当EIS为”0”, /INT通道被屏蔽。当EIS为”1”, /INT引脚状态也可通过读取
Port 5 (R5) 的方式读取,参考图 7.
EIS位可读/写
Bits 5~0: 未使用
4.2.10 IOCF0 (中断屏蔽寄存器)
14 •
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
CMPIE
PWM2IE
PWM1IE
ADIE
EXIE
ICIE
TCIE
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
Bit 7: 未实现,读为‘0’.
各个中断可通过设置IOCF0中的相应控制位为"1"使能。.
全局中断由ENI指令使能,由DISI指令禁止。参考图 11.
Bit 6 (CMPIE): CMPIF 中断使能位
0: 禁止CMPIF中断
1: 使能CMPIF中断
Bit 5 (PWM2IE): PWM2IF 中断使能位
0: 禁止PWM2 中断
1: 使能PWM2中断
Bit 4 (PWM1IE): PWM1IF 中断使能位
0: 禁止PWM1中断
1: 使能PWM1中断
Bit 3 (ADIE): ADIF 中断使能位
0: 禁止ADIF中断
1: 使能ADIF中断
Bit 2 (EXIE): EXIF 中断使能位
0: 禁止EXIF中断
1: 使能EXIF中断
Bit 1 (ICIE): ICIF 中断使能位
0: 禁止ICIF中断
1: 使能ICIF中断
Bit 0 (TCIE): TCIF 中断使能位
0: 禁止TCIF中断
1: 使能TCIF中断
IOCF0 寄存器可读/写
4.2.11 IOC51 ( PWMCON ):
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
PWM2E
PWM1E
T2EN
T1EN
T2P1
T2P0
T1P1
T1P0
Bit 7 (PWM2E): PWM2 使能位
0: PWM2 关闭(默认值), 其相关引脚用作P52
1: PWM2 开启,其相关引脚将自动设置为输出
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 15
EM78P458/459
8位OTP微控制器
Bit 6 (PWM1E): PWM1 使能位
0: PWM1 关闭(默认值), 其相关引脚用作P51
1: PWM1 开启,其相关引脚将自动设置为输出
Bit 5 (T2EN): TMR2 使能位
0: TMR2 关闭(默认)
1: TMR2 开启
Bit 4 (T1EN): TMR1 使能位
0: TMR1 关闭(默认值)
1: TMR1 开启
Bit 3: Bit 2 ( T2P1:T2P0 ): TMR2 时钟分频比选择位
T2P1
T2P0
分频比
0
0
1:2(默认)
0
1
1:8
1
0
1:32
1
1
1:64
Bit 1 : Bit 0 ( T1P1:T1P0 ): TMR1 时钟分频比选择位
T1P1
T1P0
分频比
0
0
1:2(默认)
0
1
1:8
1
0
1:32
1
1
1:64
4.2.12 IOC61 ( DT1L: PWM1的占空周期低位字节( Bit 7 ~ Bit 0) )
存储一个特定值,在TMR1与此特定值发生匹配之前,PWM1的输出一直保持为高
4.2.13 IOC71 ( DT1H: PWM1的占空周期高两位( Bit 1 ~ Bit 0 ) )
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
CALI1
SIGN1
VOF1[2]
VOF1[1]
VOF1[0]
-
PWM1[9]
PWM1[8]
Bit 7 (CALI1): 校准使能位
0: 校准禁止
1: 校准使能
Bit 6 (SIGN1): 补偿电压极性选择位
0: 负电压;
1: 正电压.
Bit 5:Bit 3 (VOF1[2]:VOF1[0]): 补偿电压位.
Bit 1:Bit 0 (PWM1[9]:PWM1[8]): PWM1 占空周期的高位字节
16 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
存储一个特定值,在TMR1与此特定值发生匹配之前,PWM1的输出一直保持为高
4.2.14 IOC81 ( PRD1: Period of PWM1 ):
IOC81存储PWM1的周期(时基)。PWM1的频率为周期倒数。
4.2.15 IOC91 ( DT2L: PWM2的占空周期低位字节( Bit 7 ~ Bit 0) )
存储一个特定值,在TMR2与此特定值发生匹配之前,PWM2的输出一直保持为高
4.2.16 IOCA1 ( DT2H: PWM2的占空周期高两位( Bit 1 ~ Bit 0 ) )
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
CALI2
SIGN2
VOF2[2]
VOF2[1]
VOF2[0]
-
PWM2[9]
PWM2[8]
Bit 7 (CALI2): 校准使能位
0: 禁止校准;
1: 使能校准.
Bit 6 (SIGN2): 补偿电压极性选择位
0: 负电压;
1: 正电压.
Bit 5:Bit 3 (VOF2[2]:VOF2[0]): 补偿电压位
Bit 1:Bit 0 (PWM2[9]:PWM2[8]): PWM1占空周期高两位。
存储一个特定值,在TMR2与此特定值发生匹配之前,PWM2的输出一直保持为高
4.2.17 IOCB1 ( PRD2: PWM2 周期 )
IOCB1存储PWM2的周期(时基)。PWM2的频率为周期倒数。
4.2.18 IOCC1(DL1L: PWM1占空周期锁存值的低位字节(Bit 7~Bit 0))
IOCC1寄存器仅可读
4.2.19 IOCD1(DL1H: PWM1 占空周期锁存值的高两位(Bit 1~Bit 0))
IOCD1寄存器仅可读
4.2.20 IOCE1(DL2L: PWM2占空周期锁存值的低位字节(Bit 7~Bit 0))
IOCE1寄存器仅可读
4.2.21 IOCF1(DL2H: PWM2 占空周期锁存值的高两位(Bit 1~Bit 0))
IOCF1寄存器仅可读
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 17
EM78P458/459
8位OTP微控制器
4.3 TCC/WDT & 预分频器
一个8位计数器可用作TCC或WDT预分频计数器。在某一特定时刻,预分频器仅对TCC
或WDT有效,CONT寄存器的PAB位用于定义预分频器的分配。PSR0~PSR1位定义预
分频比。在TCC模式下,预分频器在每次执行向TCC写值的指令后清除。当预分频器分
配给WDT,WDT和预分频器在执行WDTC或SLEP指令后清除。图5描绘了TCC/WDT
电路图。
„
R1(TCC) 为一个8位定时/计数器。TCC时钟源可取自内部时钟或外部时钟输入(可
选择触发边沿)
。如果TCC信号源取自内部时钟,TCC将在每个指令周期(未预分频)
后增1.参考图5, CLK=Fosc/2 或 CLK=Fosc/4CLK取决于代码选项位CLKS. 如果
CLKS位为"0",CLK= Fosc/2; 如果CLKS位为"1",CLK= Fosc/4
„
如果TCC信号源取自外部时钟输入,TCC将在TCC引脚信号的下降或上升沿增1.
„
看门狗定时器的时钟源是一个自由运行的片内RC振荡器。WDT将一直保持运行即
使在振荡器驱动关闭的条件下(也即休眠模式)。在普通模式或休眠模式下,WDT
溢出(若使能) 将使器件产生复位。在普通模式,WDT可通过编程在任何时间使能或
1
禁止。参考IOCE0寄存器的WDTE位。不带预分频时,WDT溢出周期大约为18 ms .
图 5 TCC和WDT结构图
1
18 •
VDD=5V,启动周期 = 18ms ± 30%.
VDD=3V,启动周期 = 22ms ± 30%.
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
4.4 I/O 端口
Port 5, Port 6 和I/O寄存器为双向三态I/O端口。上拉、下拉和漏极开路功能可分别通过
设置IOCB0、IOCC0和IOCD0使能或禁止。Port 6 具有输入状态改变中断(或唤醒)功
能。每个I/O引脚都可通过设置相应I/O控制寄存器(IOC50 ~ IOC60)定义为“输入”
或“输出”引脚。I/O寄存器和I/O控制寄存器均可读/写。Port 5 和 Port 6 I/O接口电路
分别见图 6,图 7 ,图 8。
PCRD
Q
D
_
PORT
PCWR
CLK
Q
C
L
Q
P
R
_
CLK
Q
IOD
D
PDWR
C
L
PDRD
0
1
M
U
X
注: 下拉电路没有在图中显示.
图 6 Port 5 I/O端口和 I/O控制寄存器电路
PCRD
Q
_
P
R
D
CLK
Q
PCWR
C
L
P50, /INT
Q
PORT
_
P
R
D
CLK
Q
IOD
PDWR
C
L
Bit 6 of IOCE0
D
P
R
CLK
C
L
0
Q
1
_
M
U
X
Q
PDRD
TI 0
D
P
R
CLK
C
L
Q
_
Q
INT
注: 上拉(下拉)和 漏极开路电路没有在图中显示
图 7 P50(/INT) I/O端口和I/O控制寄存器电路
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 19
EM78P458/459
8位OTP微控制器
PCRD
Q
_
Q
P
R
D
CLK
PCWR
C
L
P60 ~ P67
PORT
Q
P
R
_
CLK
Q
0
IOD
D
PDWR
C
L
M
U
X
1
PDRD
TI n
D
P
R
CLK
C
L
Q
_
Q
注: 上拉(下拉)和 漏极开路电路没有在图中显示
图 8 P60~P67 I/O端口和I/O控制寄存器电路
图 8 Port 6输入状态改变中断/唤醒功能结构图
20 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
表 4 Port 6输入状态改变唤醒/中断功能应用
Port 6 输入状态改变唤醒/中断功能应用
(I) 由Port 6输入状态改变唤醒
(a) 休眠前
1. 禁止 WDT
2. 读I/O Port 6 (MOV R6,R6)
3. 执行 "ENI" 或 "DISI"
4. 使能中断(设置IOCF0.1)
(II) Port 6 输入状态改变中断
1. 读I/O Port 6 (MOV R6,R6)
2. 执行"ENI"
3. 使能中断(设置IOCF0.1)
4. 如果Port 6 状态改变(中断)
→ 中断向量(008H)
5. 执行 "SLEP"指令
(b) 唤醒后
1. 如果"ENI" → 中断向量(008H)
2. 如果"DISI" → 下一条指令
4.5 复位和唤醒
4.5.1 复位和唤醒功能
一次复位可由如下事件之一触发:
(1) 上电复位
(2) /RESET 引脚输入“低”
(3) WDT 溢出(若WDT使能).
在检测到一次复位后,器件将保持在复位状态大约18ms(一次振荡器启动时间周期)。
一旦产生复位,以下功能将被执行:
„
振荡器保持运行或开始起振
„
程序计数器(R2)所有位置“0”
„
所有I/O端口引脚被配置为输入模式(高组态模式)
„
看门狗定时器和预分频器被清除
„
当电源开启,R3寄存器的高3位清零
„
除了Bit 6(INT 标志)以外,CONT寄存器的所有位置“1”
„
IOCB0寄存器的所有位置“1”
„
IOCC0寄存器清零
„
IOCD0寄存器的所有位置“1”
„
IOCE0寄存器的Bit 7置“1”,Bit 6 清零
„
RF寄存器的Bits 0~6 和IOCF0寄存器的Bits 0~6清零
执行“SLEP”将使器件进入休眠模式。当进入休眠模式,WDT(若使能)清零但始终
保持运行。控制器可由以下事件唤醒:
(1) /RESET引脚的外部复位输入
(2) WDT 溢出(若使能)
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 21
EM78P458/459
8位OTP微控制器
(3) Port 6输入状态改变(若使能)
(4) 比较器高
(5) ADC 转换完成
前两个事件将使EM78P458/459产生复位。R3寄存器的T 和 P 标志可用于判断复位(唤
醒)源。事件3将综合考虑后续程序的执行和全局中断(“ENI”或“DISI”指令是否被
执行)决定控制器在唤醒后是否进入中断向量。如果在SLEP指令前执行了ENI指令,唤
醒后将从地址0X8开始执行指令;如果在SLEP指令前执行了DISI指令,唤醒后将从SLEP
指令的下一条指令开始执行。
在进入休眠模式之前,仅有事件2至4可被使能。也即:
[a] 如果Port 6输入状态改变中断在执行SLEP指令前被使能,WDT必须由软件禁止。然
而,代码选项寄存器的WDT位仍保持使能。因此,EM78P458/459仅可由事件1 或 3
唤醒。
[b] 如果WDT在执行SLEP指令之前使能,Port 6输入状态改变中断必须被禁止。因此,
EM78P458/459仅可由事件 1或 2唤醒。详细请参考中断章节
[c] 如果比较器高中断在执行SLEP指令之前使能,WDT必须被禁止。然而,代码选项
寄存器的WDT位仍保持使能。因此,EM78P458/459仅可由事件1 或 4唤醒。
如果Port 6输入状态改变中断用于唤醒EM78P458/459(如上述事件[a]), 在SLEP指
令前必须执行如下指令。
MOV A, @0Bxx000110
; TCC 选择内部时钟
CONTW
CLR R1
; 清除 TCC 和预分频器
MOV A, @0Bxxxx1110
; 选择 WDT 预分频
CONTW
WDTC
; 清除 WDT 和预分频器
MOV A, @0B0xxxxxxx
; 禁止 WDT
IOW RE
MOV R6, R6
; 读取 Port 6
MOV A, @0B00000x1x
; 使能 Port 6 输入状态改变中断
IOW RF
ENI (或 DISI)
; 使能(或禁止)全局中断
SLEP
; 休眠
NOP
22 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
同样,如果比较器高中断用于唤醒EM78P458/459(如上述事件[c]),在SLEP指令前
必须执行如下指令。
MOV A, @0Bxx000110
; TCC 选择内部时钟
CONTW
CLR R1
; 清除 TCC 和预分频器
MOV A, @0Bxxxx1110
; 选择 WDT 预分频
CONTW
WDTC
; 清除 WDT 和预分频器
MOV A, @0B0xxxxxxx
; 禁止 WDT
IOW RE
MOV A, @0B01xxxxxx
; 使能比较器高中断
IOW RF
ENI (或 DISI)
; 使能(或禁止)全局中断
SLEP
; 休眠
NOP
用户必须注意到的一个问题是,器件从休眠模式唤醒后,WDT功能将被自动使能。WDT
操作(使能或禁止)应该由软件进行适当的处理。
4.5.2 状态寄存器的 T和 P状态
一次复位可由以下事件之一触发:
(1) 上电,
(2) /RESET引脚上的一次高-低-高脉冲,或
(3) 看门狗定时器溢出
T和P的值列于下面表5中,可用其判断处理器是如何唤醒的。表6列出了可能会影响T和
P状态的事件
表 5 复位后RST,T和P值
复位类型
T
P
1
1
普通模式下的/RESET引脚复位
*P
*P
休眠模式下的/RESET引脚复位
1
0
普通模式下的WDT溢出
0
*P
休眠模式下的WDT溢出唤醒
0
0
休眠模式下的Port 6输入状态改变唤醒
1
0
上电
*P: 复位前的状态
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 23
EM78P458/459
8位OTP微控制器
表 6 事件发生后RST,T和P状态。
T
P
上电
1
1
WDTC 指令
1
1
WDT 溢出
0
*P
SLEP 指令
1
0
休眠模式下的Port 6输入状态改变唤醒
1
0
事件
*P: 复位前的值
W
图 9 控制器复位结构图
4.6 中断
EM78P458/459 有如下所列6个中断
(1) TCC 溢出中断
(2) Port 6 输入状态改变中断
(3) 外部中断[(P50, /INT)引脚].
(4) 模数转换完成
(5) PWM模式下TMR1/TMR2 分别与PRD1/PRD2匹配.
(6) 比较器输出改变
在使能Port 6输入状态改变前,读取Port 6 (例如. "MOV R6,R6")是必要的。每个Port 6
引脚在其状态改变时都具有此特性。如果引脚被配置为输出引脚(P50引脚被配置为
/INT),则不再具有此功能。如果在执行SLEP进入休眠模式之前,Port 6输入状态改变
中断被使能,则它将会使EM78P458/459从休眠模式唤醒。控制器唤醒后,如果禁止全
局中断,则将接着顺序执行程序;如果全局中断被使能,将跳转到中断向量008H处开始
执行。
24 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
中断状态寄存器RF的相关标志位记录相应的中断请求。IOCF0是中断屏蔽寄存器。全局
中断可通过执行ENI指令使能,通过执行DISI指令禁止。当某个中断(若使能)产生,
下一条指令将跳转到008H地址。一旦进入中断服务子程序,可通过轮询RF标志位的方
式判断中断源。在离开中断服务子程序前,必须通过指令清除中断标志位以避免中断嵌
套。
当有中断产生,中断状态寄存器(RF)的标志位(ICIF位除外)将被置位,不论其相应
屏蔽位是否使能或是否执行了ENI指令。必须注意的是,读取RF所得到的值是RF和
IOCF0(参考图 11)逻辑相与的结果。RETI指令终止中断服务子程序并使能全局中断(执
行ENI).
如果中断是由INT指令(若使能)产生,下一条指令将跳转到地址001H.
图 10 中断输入电路
4.7 模数转换器(ADC)
模数转换电路由一个8位模拟复用器,三个控制寄存器(ADCON/R9,
AD-CMP-CON/IOCA0, GCON/IOC90),一个数据寄存器(ADDATA/RA),和一个8位分
辨率的ADC组成。ADC的功能结构图如图12所示。模拟参考电压(Vref)和模拟地通过
分离输入引脚相连。
ADC模块利用逐次逼近式方式转换未知模拟信号为一个数字信号。转换结果存入
ADDATA。输入通道可通过设置ADCON寄存器的Bits ADIS0, ADIS1和ADIS2选择模拟
输入复用器进行选择。
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 25
EM78P458/459
8位OTP微控制器
ADC8
Vref
ADC7
8-1
ADC6
-
ADC
( 逐次逼近式 )
模拟开关
+
ADC5
OP
2
ADC4
掉电
开始转换
ADC3
Fsco
ADC2
4-1
MUX
+
ADC1
OP
- 1
内部
RC
4
3
2
5
4
3
2
1
0
2
1
AD-CMPCON
0
1
ADCON AD-CMPCON
0
3
7
RF
6
5
4
3
2
1
0
4
ADDATA
3
ADCON
GCON
数据总数
图 11 模数转换功能结构图
4.7.1 ADC 控制寄存器(ADCON/R9, AD-CMP-CON/IOCA0,
GCON/IOC90)
4.7.1.1 ADCON/R9
ADCON寄存器控制A/D转换操作并且定义哪个引脚当前使能。
BIT
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
SYMBOL
-
-
IOCS
ADRUN
ADPD
ADIS2
ADIS1
ADIS0
*初始值
0
0
0
0
0
0
0
0
*初始值: 上电复位时的初始值
ADRUN (bit 4): ADC 开始运行
1: 一次A/D转换开始,此位可由软件置1
0: 转换完成后复位。此位可由软件清零。
ADPD (bit 3): ADC电源开关
1: 开启
0: 关闭。
ADIS2~ADIS0 (bit 2~0): 模拟输入通道选择位.
000 = AN0;
001 = AN1;
010 = AN2;
011 = AN3;
100 = AN4;
101 = AN5;
110 = AN6;
111 = AN7;
仅当ADIF位和ADRUN位均为低时才可改变。
26 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
4.7.1.2 AD-CMP-CON/IOCA0
AD-CMP-CON 寄存器分别定义Port 6的各引脚是作为模拟输入引脚还是数字I/O引脚。
BIT
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
SYMBOL
VREFS
CE
COE
IMS2
IMS1
IMS0
CKR1
CKR0
*初始值
0
0
0
0
0
0
0
0
*初始值: 上电复位时的初始值
VREFS (Bit 7): ADC 参考电压的输入源
0: ADC Vref 连接到Vdd(默认值),P53/VREF引脚用作P53
1: ADC Vref 连接到P53/VREF
CE (Bit 6): 比较器使能控制位
0: 禁止比较器
1: 使能比较器
COE (Bit 5): 设置 P57 作为比较器输出
0: 如果CE=1,比较器用作OP
1: 如果CE=1,用作比较器
IMS2~IMS0 (Bit 4 ~ Bit 2): ADC 配置定义位
CKR1 和 CKR0 (Bit 1 和 Bit 0): 转换时间选择位。
00 = Fosc/4;
01 = Fosc/16;
10 = Fsco/64;
11 = ADC振荡时钟源取自WDT振荡器频率
(频率=256/18ms≒14.2Khz)
4.7.1.3 GCON/IOC90
如图12所示,增益放大器OP1和OP2位于模拟输入引脚(ADC1 和 ADC5)与8选1模拟开
关之间。GCON寄存器控制增益。
表 7 列出了ADC的增益和工作电压范围。
BIT
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
SYMBOL
OP2E
OP1E
G22
G21
G20
G12
G11
G10
*初始值
0
0
0
0
0
0
0
0
表 8 ADC的增益和工作电压范围
G10:G12/G20:G22
增益
工作电压范围
000
001
010
011
100
101
1
2
4
8
16
32
0 ~ Vref
0 ~ (1/2)Vref
0 ~ (1/4)Vref
0 ~ (1/8)Vref
0 ~ (1/16)Vref
0 ~ (1/32)Vref
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 27
EM78P458/459
8位OTP微控制器
注意
Vref 不可低于3V
4.7.2 ADC 数据寄存器(ADDATA/RA)
当A/D转换完成,转换结果存入ADDATA。START/END清零,ADIF位置1.
4.7.3 A/D 采样时间
精度、数性和逐次逼近式A/D转换器的速率取决于ADC和比较器的特性。源阻抗和内部
采样阻抗直接影响释放采样保持电容上电荷所需要的时间。应用程序控制采样时间的长
度以符合特定精度需求。一般而言,对于每KΩ源阻抗,程序应该等待大约1 μs,对于
低阻抗源而言,至少应该等待1 μs。模拟输入通道选定后,在开始转换之前采样时间必
须确定下来。
4.7.4 A/D 转换时间
CKR0 和 CKR1依据指令周期选择转换时间(Tct),这样允许MCU可在不牺牲A/D转换精
度的条件下以最高频率运行。对于EM78P458/459,每bit转换时间大约为4μs.表8显示
Tct和最高工作频率之间的关系。
表 9 Tct vs. 最高工作频率
CKR0:CKR1
工作模式
最高工作频率
00
01
10
11
Fsco/4
Fsco/16
Fsco/64
内部 RC
1 MHz
4 MHz
16MHz
-
4.7.5 A/D 运行在休眠模式
为减少功耗,A/D在休眠模式下仍保持运行,而且应该采用内部RC时钟源模式。当执行
了SLEP指令后,除了A/D转换外,MCU所有操作都将停止。转换完成后,RUN位清零,
转换结果填入ADDATA。如果ADIE使能,器件将被唤醒。否则,无论ADPD位状态,A/D
转换都将被关闭。
4.7.6 编程步骤 /考量
4.7.6.1 编程步骤
遵循如下步骤获取ADC转换结果:
(1) 改变AD-CMP-CON1寄存器的三位(IMS2:IMS0)以定义R6引脚特性:用作数字I/O,
模拟通道和电压参考引脚;
(2) 改变ADCON寄存器以配置AD模块:
(a) 选择A/D输入通道( ADAS2:ADAS0 )
(b) 改变GCON寄存器选择适当的增益(此步可选)
28 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
(c) 定义A/D转换时间( CKR1:CKR0 )
(d) 设置ADPD位为“1”,打开AD电源
(3) 如果要用到中断功能,执行“ENI”指令
(4) 设置ADRUN位为“1”
(5) 等待中断标志位置位或ADC中断产生
(6) 读取转换数据寄存器ADDATA
(7) 清零中断标志位 (ADIF).
(8) 对于下次转换,按需求跳转到步骤1或步骤2。不过在下次采集之前至少应该等待2 Tct
注意
为获取精确值,在转换过程中应该避免在I/O引脚上传输数据
4.7.6.2
示例代码
; 定义通用寄存器
R_0 == 0
; 间接寻址寄存器
PSW == 3
; 状态寄存器
PORT5 == 5
PORT6 == 6
R_F== 0XF
; 中断状态寄存器
;定义控制寄存器
IOC50 == 0X5
; Port 5 控制寄存器
IOC60 == 0X6
; Port 6 控制寄存器
C_INT== 0XF
; 中断控制寄存器
;ADC控制寄存器
ADDATA == 0xA
; ADC转换值
ADCON R== 0x9
; 7
1
6
5
4
3
2
0
; -
-
IOCS
ADRUN ADPD
ADIS2 ADIS1 ADIS0
ADCONC== 0xA
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
; 7
6
5
4
3
2
• 29
EM78P458/459
8位OTP微控制器
1
0
; VREFS
X
X
IMS2
IMS1
IMS0 CKR1 CKR0
GCON == 0x9
1
; 7
6
5
4
3
2
0
; OPE2
G12
G11
OPE1 G22
G21
G20
G10
;定义位
;在ADCONR
ADRUN == 0x4
; 此位置位后,ADC开始转换
ADPD == 0x3
; ADC 电源模式
ORG 0
; 起始地址
JMP INITIAL
;
ORG 0x08
; 中断向量
(用户代码)
CLR R_F
; 清除ADCIF位
BS ADCONR, ADRUN
;如有必要,开始下一次AD转换
RETI
INITIAL:
MOV A, @0BXXXX1XXX
;使能ADC中断
IOW C_INT
MOV A, @0xXX
;禁止中断:<6>
CONTW
MOV A, @0B00000000
; 采用vdd作为参考电压,定义P60用
作模拟输入并且设置转换速率为
fosc/4
IOW ADCONC
;
En_ADC:
30 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
MOV A, @0BXXXXXXX1
; 定义P60为输入引脚
IOW PORT6
MOV A, @0B01000101
; 使能OP1并且设置增益为32
IOW GCON
BS ADCONR, ADPD
; 打开AD电源
ENI
; 使能中断功能
BS ADCONR, ADRUN
; 开始运行ADC
; 如果要采用中断功能,以下三行可以省略
轮询:
JBC ADCONR, ADRUN
; 持续检查ADRUN位
JMP POLLING
; ADRUN在转换完成后将复位。
(用户代码):
4.8 两路PWM (脉宽调制)
4.8.1 综述
在PWM模式,PWM1和PWM2引脚均可产生10位分辨率的PWM输出(见图13.功能结构
图)。 一个PWM输出由一个周期和一个占空周期比构成,占空周期内输出保持为高。
PWM波特率是周期的相反数。图14描绘了周期和占空周期之间的关系
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 31
EM78P458/459
8位OTP微控制器
图 12 两路PWM功能结构图
图 13 PWM输出时序
32 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
4.8.2 加定时计数器( TMRX: TMR1H/TWR1L 或 TMR2H/TWR2L )
TMRX是带可编程预分频的10位时钟计数器。它们被设计用来用作PWM模块的波特率时
钟发生器。TMRX可读/写并在任何复位条件下清零。如果被采用,它们可通过设置T1EN
位[PWMCON<4>] 或 T2EN bit [PWMCON<5>]为0而关闭以节省功耗。
4.8.3 PWM 周期( PRDX : PRD1 或 PRD2 )
写值到PRDX寄存器定义PWM周期。当TMRX等于PRDX,下一个指令周期时将发生以
下事件:
„
TMRX 清零
„
PWMX引脚置1
„
PWM占空周期从DT1/DT2锁存到DTL1/DTL2
注意
如果占空周期为0,PWM输出将不会被拉高
„
PWMXIF 引脚置1.
以下公式描述如何计算PWM周期:
周期 = (PRDX + 1) * 4 * (1/Fosc) * (TMRX 分频值)
4.8.4 PWM 占空周期( DTX: DT1H/ DT1L 和 DT2H/ DT2L; DTL:
DL1H/DL1L 和 DL2H/DL2L )
写值到DTX寄存器定义PWM占空周期,当TMRX清零后从DTX锁存到DLX。当DLX等于
TMRX,PWMX引脚清除。DTX可在任何时间被加载。然而,在当前DLX值与TRMX前
相等前,它不可被锁存到DTL.
以下公式描述如何计算PWM占空周期:
占空周期 = (DTX) * (1/Fosc) * (TMRX 分频值)
4.8.5 比较器 X
当发生匹配改变输出状态的同时,TMRXIF标志将被置位。
4.8.6 PWM 编程步骤
(1) 加载PWM周期到PRDX寄存器
(2) 加载PWM占空周期到DTX寄存器
(3) 若需要,写值IOCF0使能中断功能
(4) 写适当值到IOC51设置PWMX引脚为输出引脚
(5) 加载一个适当值到IOC51配置TRMX分频比并使能PWMX和TMRX
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 33
EM78P458/459
8位OTP微控制器
4.9 定时器
4.9.1 综述
定时器1 (TMR1)和定时器 2 (TMR2) (TMRX) 是带可编程预分频比的10位时钟计数器。
它们被设计用作PWM模块提供波特率发生器。TMRX可读/写,并可在任何复位条件下
清除。
4.9.2 功能描述
图. 15 显示TMRX结构框图。每个信号和结构描述如下:
图 14 TMRX 功能结构图
Fosc: 输入时钟
预分频( T1P0 和 T1P1/T2P1 和 T2P0 ): 1:2, 1:8, 1:32 和 1:64 由TMRX定义。它在任何
复位条件下清零。
TMR1X 和 TMR2X (TMR1H/TWR1L 和 TMR2H/TMR2L ):定时器 X寄存器; TMRX 在与
PRDX匹配之前加1计数,发生匹配后复位为0.TMRX不可读
PRDX ( PRD1 和 PRD2 ): PWM 周期寄存器
比较器X (比较器1 和比较器 2 ): 匹配发生时复位TMRX的同时,TMRXIF标志置位。
34 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
4.9.3 编程相关寄存器
当定义TMRX,参考表9相关操作寄存器。必须注意的是,当其相应的TMRXs被应用时
PWMX位必须禁止。也即,PWMCON寄存器的bit 7 和 bit 6必须置‘0’
表 10 TMR1 和 TMR2相关控制寄存器
地址
名称
IOC51
PWMCON/IOC51
Bit 7
Bit 6
PWM2E PWM1E
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
T2EN
T1EN
T2P1
T2P0
T1P1
T1P0
4.9.4 定时器编程步骤
(1) 加载定时器周期到PRDX
(2) 如果需要,写值到IOCF0使能中断功能
(3) 加载一个适当值到PWMCON寄存器配置TMRX预分频值并且使能TMRX,禁止
PWMX
4.10 比较器
EM78P458/459 有一个比较器,它有两个模拟输入和一个输出端口。比较器可用于将器
件从休眠模式唤醒。图16描绘了比较器电路。
Cin-
-
Cin+
CMP
+
CO
图 15 比较器工作模式
4.10.1 外部参考信号
Cin-端的模拟信号与Cin+端的信号相比较,比较器的数字输出端(CO)作相应调整。
„
参考电压必须间于Vss和Vdd
„
参考电压可加载到比较器的任一输入端。
„
极值检测应用可用于相同参考电压
„
比较器可取自相同或不同参考源。
4.10.2 比较器输出
„
比较结果存储在R3寄存器的CMPOUT位
„
通过设置AD-CMPCON寄存器的bit5<COE>为1可使比较器输出到P57
„
P57 如果用于比较器输出,必须设置为输出
„
图 17 显示了比较器输出结构图
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 35
EM78P458/459
8位OTP微控制器
图 16 比较器输出配置
4.10.3 用作运算放大器
如果在输入和输出端外接一个反馈电阻,比较器可被用于一个运算放大器。在此情况
下,施密特触发器可通过设置CE 为1 并且 COE 为 0禁止以节省功耗。
4.10.4 中断
„
CMPIE (IOCF0.6) 必须使能
„
比较器输出引脚信号的上升沿触发产生中断
„
引脚的实际变化可通过读取R3<7> Bit CMPOUT来判定。
„
CMPIF (RF.6),比较器中断标志位,仅可由软件清零。
4.10.5 从休眠模式唤醒
36 •
„
若使能,即使是在休眠模式下,比较器仍在运行并且中断功能仍然有效。
„
当产生非匹配,中断将器件从休眠模式唤醒。
„
为节省能源,必须考虑到功耗问题。
„
如果在休眠模式下未用到此功能,在进入休眠模式前关闭比较器。
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
4.11 复位后的初始值
表 11 寄存器初始值汇总
地址
名称
N/A
IOC50
N/A
IOC60
N/A
IOCB0
N/A
IOCC0
N/A
IOCD0
N/A
IOCE0
复位类型
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
N/A
IOCF0
N/A
IOC90
(GCON)
N/A
IOCA0
(AD-CMP
CON)
N/A
IOC51
(PWMCON)
N/A
IOC61
(DT1L)
N/A
IOC71
(DT1H)
N/A
IOC81
(PRD1)
N/A
IOC91
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
Bit 7
Bit 6
Bit 5
C57
1
1
P
C67
1
1
P
/PD7
1
1
P
OD7
1
1
P
/PH7
1
1
P
WDTE
1
1
P
C56
1
1
P
C66
1
1
P
/PD6
1
1
P
OD6
1
1
P
/PH6
1
1
P
EIS
0
0
P
X
CMPIE
C55
1
1
P
C65
1
1
P
*/PD5
1
1
P
OD5
1
1
P
/PH5
1
1
P
X
1
1
1
PMW2I
E
0
0
P
G22
0
0
P
COE
0
0
P
T2EN
0
0
P
Bit5
0
0
P
VOF1[2]
1
1
P
0
0
P
Bit5
0
0
0
0
0
P
OP2E OP1E
0
0
0
0
P
P
VREFS
CE
0
0
0
0
P
P
PWM2E PWM2E
0
0
0
0
P
P
Bit7
Bit6
0
0
0
0
P
P
CALI1 SIGN1
0
1
0
1
P
P
0
0
0
0
P
P
Bit7
Bit6
Bit 4
Bit 3
C54
C53
1
1
1
1
P
P
C64
C63
1
1
1
1
P
P
*/PD4
/PD3
1
1
1
1
P
P
OD4
OD3
1
1
1
1
P
P
/PH4
/PH3
1
1
1
1
P
P
X
X
1
1
1
1
1
1
PWM1I
ADIE
E
0
0
0
0
P
P
G21
G20
0
0
0
0
P
P
IMS2
IMS1
0
0
0
0
P
P
T1EN
T2P1
0
0
0
0
P
P
Bit3
Bit4
0
0
0
0
P
P
VOF1[1] VOF1[0]
0
0
0
0
P
P
0
0
0
0
P
P
Bit3
Bit4
Bit 2
Bit 1
Bit 0
C52
1
1
P
C62
1
1
P
/PD2
1
1
P
OD2
1
1
P
/PH2
1
1
P
X
1
1
1
C51
1
1
P
C61
1
1
P
/PD1
1
1
P
OD1
1
1
P
/PH1
1
1
P
X
1
1
1
C50
1
1
P
C60
1
1
P
/PD0
1
1
P
OD0
1
1
P
/PH0
1
1
P
X
1
1
1
EXIE
ICIE
TCIE
0
0
P
G12
0
0
P
IMS0
0
0
P
T2P0
0
0
P
Bit2
0
0
P
X
0
0
0
0
0
P
Bit2
0
0
P
G11
0
0
P
CKR1
0
0
P
T1P1
0
0
P
Bit1
0
0
P
Bit1
0
0
P
0
0
P
Bit1
0
0
P
G10
0
0
P
CKR0
0
0
P
T1P0
0
0
P
Bit0
0
0
P
Bit0
0
0
P
0
0
P
Bit0
• 37
EM78P458/459
8位OTP微控制器
地址
名称
(DT2L)
N/A
IOCA1
(DT2H)
N/A
IOCB1
(PRD2)
N/A
IOCC1
(DL1L)
N/A
IOCD1
(DL1H)
N/A
IOCE1
(DL2L)
N/A
IOCF1
(DL2H)
N/A
CONT
0x00
R0(IAR)
0x01
R1(TCC)
0x02
R2(PC)
0x03
R3(SR)
0x04
R4(RSR)
0x05
P5
0x06
P6
38 •
复位类型
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 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
X
Bit1
Bit0
CALI2 SIGN2 VOF2[2] VOF2[1] VOF2[0]
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
P
P
P
P
P
0
P
P
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
Bit3
Bit2
Bit1
Bit0
Bit7
Bit6
Bit5
Bit4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
X
X
Bit1
Bit0
X
X
X
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
Bit3
Bit2
Bit1
Bit0
Bit7
Bit6
Bit5
Bit4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
X
X
Bit1
Bit0
X
X
X
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
INT
TS
TE
PAB
PSR2 PSR1 PSR0
INTE
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
P
P
P
P
P
P
P
P
U
U
U
U
U
U
U
U
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
0
0
0
0
0
0
0
0
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
Jump to address 0x08 or continue to execute next instruction
GP2
PS1
PS0
T
P
Z
DC
C
0
0
0
1
1
U
U
U
0
0
0
t
t
P
P
P
P
P
P
t
t
P
P
P
BS7
BS6
0
0
U
U
U
U
U
U
0
0
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P57
P56
P55
P54
P53
P52
P51
P50
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
P
P
P
P
P
P
P
P
P67
P66
P65
P64
P63
P62
P61
P60
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
地址
名称
0x7~0x8
R7~R8
0x9
R9
(ADCON)
0xA
RA
(ADDDATA)
0xB
RB
(TMR1L)
0xC
RC
(TMR1H)
0xD
RD
(TMR2L)
0xE
RE
(TMR2H)
0xF
RF
(ISR)
0x10~0x3
F
R10~R3F
复位类型
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
Bit 7
Bit 6
P
U
P
P
X
0
0
P
0
0
P
Bit7
0
0
P
X
0
0
0
Bit7
0
0
P
X
0
0
0
P
U
P
P
X
0
0
P
0
0
P
Bit6
0
0
P
X
0
0
0
Bit6
0
0
P
X
0
0
0
位名
X
上电
/RESET 和 WDT
引脚状态改变唤醒
位名
上电
/RESET 和 WDT
引脚状态改变唤醒
0
0
0
U
P
P
Bit 5
Bit 4
Bit 3
P
P
P
U
U
U
P
P
P
P
P
P
IOCS ADRUN ADPD
0
0
0
0
0
0
P
P
P
0
0
0
0
0
0
P
P
P
Bit3
Bit5
Bit4
0
0
0
0
0
0
P
P
P
X
X
X
0
0
0
0
0
0
0
0
0
Bit3
Bit5
Bit4
0
0
0
0
0
0
P
P
P
X
X
X
0
0
0
0
0
0
0
0
0
PWM2I PWM1I
ADIF
CMPIF
F
F
0
0
0
0
0
0
0
0
P
P
P
P
U
U
U
U
P
P
P
P
P
P
P
P
Bit 2
Bit 1
Bit 0
P
P
P
U
U
U
P
P
P
P
P
P
ADAS2 ADAS1 ADAS0
0
0
0
0
0
0
P
P
P
0
0
0
0
0
0
P
P
P
Bit2
Bit1
Bit0
0
0
0
0
0
0
P
P
P
X
Bit1
Bit0
0
0
0
0
0
0
0
P
P
Bit2
Bit1
Bit0
0
0
0
0
0
0
P
P
P
X
Bit1
Bit0
0
0
0
0
0
0
0
P
P
EXIF
ICIF
TCIF
0
0
P
U
P
P
0
0
P
U
P
P
0
0
P
U
P
P
X: 未使用. U: 未知或不必关心. P: 复位前的值
t: 参考表 5
4.12 振荡器
4.12.1 振荡模式
EM78P458 和 EM78P459 可工作在四个不同的振荡模式,也即:高频晶振模式(HXT),
低频晶振模式(LXT),外部RC振荡模式(ERC),内部电容的RC振荡模式,用户可通过编
程设置MASK代码选项选择某一振荡模式。晶振/谐振器在不同VDDs条件下的最高工作
频率列与表11.
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 39
EM78P458/459
8位OTP微控制器
表 12 最高工作频率汇总
条件
VDD
最大频率.(MHz)
基于两个时钟周期
2.3
3.0
5.0
4
8
20
4.12.2 晶振 / 陶瓷谐振器 (XTAL)
EM78P458/459 可由如图18所示的通过OSCI引脚的外部时钟信号驱动
图 17 外部时钟输入电路
在大多数应用中,OSCI和OSCO引脚可连接晶振或陶瓷谐振器以产生振荡。图19描绘
了这样的电路。此电路同样适用于HXT模式和LXT模式。表12列出了C1和C2的建议值。
因为每个谐振器都有它自己的特性,用户应该参考其规格以选择合适的C1和C2值。对
于AT切片晶体或低频模式,可能需要一个串接电阻RS。
C1
OSCI
EM78P458
EM78P459
晶体
OSCO
RS
C2
图 18 晶振/陶瓷谐振器电路
表 13 晶振或陶瓷谐振器电容选择指南
振荡类型
频率模式
陶瓷谐振器
HXT
LXT
晶振
HXT
40 •
频率
C1(pF)
C2(pF)
455 kHz
2.0 MHz
4.0 MHz
32.768kHz
100KHz
200KHz
455KHz
1.0MHz
2.0MHz
4.0MHz
100~150
20~40
10~30
25
25
25
20~40
15~30
15
15
100~150
20~40
10~30
15
25
25
20~150
15~30
15
15
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
4.12.3 外部RC振荡模式
对于一些不需要精确计时的应用,RC振荡器(图20)提供了一种有效节省成本的方案。然
而,应该注意到,RC振荡器的频率会受供电电压、电阻(Rext)、电容(Cext)甚至工作温
度的影响。另外,因为制程差异,一个器件的频率与另外一个器件的频率也会存在细微
的差别
为了维持在一个稳定的系统频率下,Cext值应该大于20 pF,Rext值不高于1 M ohm。
如果它们不在此范围内,系统频率很容易受噪声、湿度和漏电流的影响。
在RC振荡模式中,Rext值越小,其振荡频率越快。相反,对一个非常小的Rext值,例
如1 KΩ,振荡器将变得不稳定。因为NMOS不能及时的释放电容电荷。
基于以上原因,必须时刻牢记,供电电压、工作温度、RC振荡器的元件特性、封装类型、
PCB 制版等因素都会对系统频率产生影响
Vcc
Rext
OSCI
Cext
EM78P458
EM78P459
图 20 外部RC振荡模式电路
表 14 RC 振荡频率
Cext
20 pF
100 pF
300 pF
Rext
平均Fosc 5V,25°C
平均Fosc 3V,25°C
3.3k
5.1k
10k
100k
3.3k
5.1k
10k
100k
3.3k
5.1k
10k
100k
3.57 MHz
2.63MHz
1.30 MHz
150 KHz
1.43 MHz
980 KHz
520 KHz
57 KHz
510 KHz
340 KHz
175 KHz
19 KHz
2.94 MHz
1.92 MHz
1.22 MHz
153 KHz
1.35 MHz
877 KHz
465 KHz
54 KHz
470 KHz
320 KHz
170 KHz
19 KHz
注意
1. 以DIP封装类型IC测量
2. 仅供设计参考
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 41
EM78P458/459
8位OTP微控制器
4.12.4 带内部电容的RC振荡模式
如果既要考虑精度又要考虑成本,EM78P458/459提供了一个特殊的振荡模式。它配备
有一个内部电容和一个外部电阻(连接到Vcc)。内部电容用作温度补偿。为获得更精
确的频率,建议使用精密电阻。
Vcc
Rext
OSCI
EM78P458
EM78P459
图 21 内部C振荡模式电路
表 15 R 振荡频率
Rext
平均 Fosc 5V,25°C
平均 Fosc 3V,25°C
51k
100k
300k
2.22 MHz
1.15 MHz
375 KHz
2.17 MHz
1.14 MHz
370 KHz
注意
1. 以DIP封装类型IC测量
2. 仅供设计参考
4.13 上电考量
在供电电压达到稳定状态前,任何微控制器都不能确保正常工作。
EM78P458/459的上电复位电压点(POR)范围为1.2V~1.8V。在普通应用条件下,当电源
被关闭,在电源再次开启之前, Vdd必须下降到1.2V并且保持在关闭大约10us。在此条
件下,EM78P458/459将产生复位并正常工作。如果Vdd可快速上升50 ms或更少),然
而,在关键应用电路条件下,必须提供外部器件以辅助解决上电问题
4.13.1 外置上电复位电路
图22提供了一个利用外部RC产生复位脉冲的电路。脉冲宽度(时间常数)应该足够长以使
Vdd达到最低工作电压。此电路用在供电电压上升很慢的情况。因为/RESET引脚的漏电
流大约为±5µA,因此建议R值不要大于40 KΩ。此时,/RESET引脚电压保持在0.2V以
下。二极管(D)在掉电时作为短路回路。电容C将快速充分放电。限流电阻Rin可防止高
电流或ESD(静电释放)灌入/RESET引脚。
42 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
VDD
/RESET
R
EM78P458
EM78P459
Rin
D
C
图 22 外置上电复位电路
4.13.2 残留电压保护
更换电池时,器件电源(Vdd)关断,但仍会存在残留电压。残留电压可能会掉到低于最
小工作电压,但不为零。此条件可能触发一个不良上电复位。图23和24显示了怎样建立
残留电压保护电路
VDD
VDD
EM78P458
EM78P459
33K
Q1
10K
/RESET
100K
1N4684
图 23 残留电压保护电路1
VDD
VDD
EM78P458
EM78P459
R1
Q1
/RESET
R3
R2
图 24 残留电压保护电路2
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 43
EM78P458/459
8位OTP微控制器
4.14 代码选项
EM78P458/459 有一个代码选项字和一个用户ID字,它们不属于普通代码空间的一部
分。
4.14.1 代码选项寄存器(Word 0)
Bit12
Bit11
Bit10
Bit9
Bit8
Bit7
Bit6
Bit5~Bit0
MS
/ENWDT
CLKS
/PTB
HLF
RCT
HLP
ID
Bit 12 (MS): 振荡类型选择
0: RC 类型
1: XTAL 类型
Bit 11 (/ENWTD): 看门狗定时器使能位.
0: 使能
1: 禁止
Bit 10 (CLKS): 单个指令周期保护的时钟周期数.
0:两个时钟
1: 四个时钟
参考指令集一节
Bit 9 (/PTB): 保护位
0: 使能
1: 禁止
Bit 8 (HLF): 晶振频率选择
0: 低频
1: 高频
Bit 7 (RCT): 电阻电容
0: 内部C, 外部R
1: 外部 RC
Bit 6 (HLP): 功耗选择.
0: 低功耗.
1: 高功耗.
Bit 5 ~ Bit 0 (ID[5]~ID[0]): 客户ID.
44 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
4.15 指令集
指令集中的每条指令均是13位。指令分为一个OP操作码和一个或多个操作数。一般情
况下,除了会改变了程序计数器的值("MOV R2,A", "ADD R2,A")的指令或者对R2的算术
或逻辑操作 (例如. "SUB R2,A", "BS (C) R2,6", "CLR R2", ⋅⋅⋅⋅).需要两个指令周期外,所
有的指令都只占用单个指令周期(一个指令周期包含2 个振荡周期)。
另外,指令集具有如下特性:
(1) 任何寄存器的每个位可被置位,清0或直接测试
(2) I/O寄存器可被当作通用寄存器。也就是说,相同的指令也可用来操作I/O寄存器
符号“R”表示一个寄存器指示符,用来指定指令操作哪个寄存器(包括操作寄存器和
通用寄存器)。符号“b”表示一个位指示符,指定位于R寄存器中会影响操作的位。符
号“K”代表一个8位或10位常数或立即数。
表 16 EM78P458/459 指令集列表
二进制指令
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0001
0001
0001
0001
0010
0010
0010
0010
0011
0011
0011
0011
0100
0100
0100
0100
0101
0101
0101
0000
0000
0000
0000
0000
0000
0001
0001
0001
0001
0001
0001
01rr
1000
11rr
00rr
01rr
10rr
11rr
00rr
01rr
10rr
11rr
00rr
01rr
10rr
11rr
00rr
01rr
10rr
11rr
00rr
01rr
10rr
0000
0001
0010
0011
0100
rrrr
0000
0001
0010
0011
0100
rrrr
rrrr
0000
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
HEX
助记符
0000
0001
0002
0003
0004
000r
0010
0011
0012
0013
0014
001r
00rr
0080
00rr
01rr
01rr
01rr
01rr
02rr
02rr
02rr
02rr
03rr
03rr
03rr
03rr
04rr
04rr
04rr
04rr
05rr
05rr
05rr
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
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
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
操作
空操作
A累加器十进制调整
A → CONT
0 → WDT, 振荡器停振
0 → WDT
A → IOCR
使能全局中断
禁止全局中断
[栈顶] → PC
[栈顶] → PC, 使能中断
CONT → A
IOCR → A
A→R
0→A
0→R
R-A → A
R-A → R
R-1 → A
R-1 → R
A ∨ VR → A
A ∨ VR → R
A&R→A
A&R→R
A⊕R→A
A⊕R→R
A+R→A
A+R→R
R→A
R→R
/R → A
/R → R
R+1 → A
R+1 → R
R-1 → A, 若为0,则跳过
受影响标志位
无
C
无
T,P
T,P
无 <注1>
无
无
无
无
无
无 <注1>
无
Z
Z
Z,C,DC
Z,C,DC
Z
Z
Z
Z
Z
Z
Z
Z
Z,C,DC
Z,C,DC
Z
Z
Z
Z
Z
Z
无
• 45
EM78P458/459
8位OTP微控制器
HEX
二进制指令
助记符
0 0101 11rr rrrr
05rr
DJZ R
0 0110 00rr rrrr
06rr
RRCA R
0 0110 01rr rrrr
06rr
RRC R
0 0110 10rr rrrr
06rr
RLCA R
0 0110 11rr rrrr
06rr
RLC R
0 0111 00rr rrrr
07rr
SWAPA R
0
0
0
0
0
0
0
07rr
07rr
07rr
0xxx
0xxx
0xxx
0xxx
SWAP R
JZA R
JZ R
BC R,b
BS R,b
JBC R,b
JBS R,b
1 00kk kkkk kkkk
1kkk
CALL k
1
1
1
1
1
kkkk
kkkk
kkkk
kkkk
kkkk
1kkk
18kk
19kk
1Akk
1Bkk
JMP k
MOV A,k
OR A,k
AND A,k
XOR A,k
1 1100 kkkk kkkk
1Ckk
RETL k
1 1101 kkkk kkkk
1Dkk
SUB A,k
1 1110 0000 0001
1E01
INT
1 1111 kkkk kkkk
1Fkk
ADD A,k
0 0000 0010 0000
0020
TBL
0111
0111
0111
100b
101b
110b
111b
01kk
1000
1001
1010
1011
01rr
10rr
11rr
bbrr
bbrr
bbrr
bbrr
kkkk
kkkk
kkkk
kkkk
kkkk
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
操作
受影响标志位
R-1 → R, 若为0,则跳过
R(n) → A(n-1),
R(0) → C, C → A(7)
R(n) → R(n-1),
R(0) → C, C → R(7)
R(n) → A(n+1),
R(7) → C, C → A(0)
R(n) → R(n+1),
R(7) → C, C → R(0)
R(0-3) → A(4-7),
R(4-7) → A(0-3)
R(0-3) ↔ R(4-7)
R+1 → A, 若为0,则跳过
R+1 → R, 若为0,则跳过
0 → R(b)
1 → R(b)
若R(b)=0, 跳过
若 R(b)=1, 跳过
PC+1 → [SP],
(Page, k) → PC
(Page, k) → PC
k→A
A∨k→A
A&k→A
A⊕k→A
k → A,
[栈顶] → PC
k-A → A
PC+1 → [SP],
001H → PC
k+A → A
R2+A → R2
R2 Bits 8~9 不变
无
C
C
C
C
无
无
无
无
无 <注2>
无 <注3>
无
无
无
无
无
Z
Z
Z
无
无
无
无
Z,C,DC
注意
1. 此指令仅适用于IOC50~IOC60, IOC90~IOCF0, IOC51~IOCF1
2. 此指令不建议用于操作RF
3. 此指令不可用于操作
46 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
4.16 时序图
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 47
EM78P458/459
8位OTP微控制器
5
最大绝对值
项目
范围
0°C
-65°C
-0.3V
-0.3V
温度范围
存储温度
输入电压
输出电压
6
70°C
150°C
+6.0V
+6.0V
至
至
至
至
电气特性
6.1 直流电气特性 (Ta=0°C ~ 70 °C, VDD=5.0V±5%,
VSS=0V)
符号
参数
VOL2
XTAL: VDD = 3V
XTAL: VDD = 5V
RC: VDD = 5V
输入引脚输入漏电流
输入高电压,VDD=5V
输入低电压,VDD=5V
输入高临界电压,VDD=5V
输入低临界电压,VDD=5V
时钟输入高电压,VDD=5V
时钟输入低电压,VDD=5V
输入高电压,VDD=3V
输入低电压,VDD=3V
输入高临界电压,VDD=3V
输入低临界电压,VDD=3V
时钟输入高电压,VDD=3V
时钟输入低电压,VDD=3V
输出高电压(Ports 5, 6)
输出低电压(P51~P57, P60~P63,
P66~P67)
输出低电压(P64,P65)
IPH
上拉电流
IPD
下拉电流
ISB
掉电电流
ISB
掉电电流
ICC1
两个时钟周期下的工作供电电流
(VDD=3V)
ICC2
两个时钟周期下的工作供电电流
(VDD=3V)
ICC3
两个时钟周期下的工作供电电流
Fxt
IIL
VIH1
VIL1
VIHT1
VILT1
VIHX1
VILX1
VIH2
VIL2
VIHT2
VILT2
VIHX2
VILX2
VOH1
VOL1
48 •
条件
一条指令为两个时钟周期
R: 5.1KΩ, C: 100pF
VIN = VDD, VSS
Ports 5, 6
Ports 5, 6
/RESET, TCC
/RESET, TCC
OSCI
OSCI
Ports 5, 6
Ports 5, 6
/RESET, TCC
/RESET, TCC
OSCI
OSCI
IOH = -12.0 mA
最小值 典型值 最大值
单位
DC
DC
F±30%
MHz
MHz
KHz
µA
V
V
V
V
V
V
V
V
V
V
V
V
V
760
8
20
F±30%
±1
2.0
0.8
2.0
0.8
2.5
1.0
1.5
0.4
1.5
0.4
1.5
0.6
2.4
IOL = 12.0 mA
0.4
V
IOL = 16.0 mA
使能上拉,输入引脚接到
VSS
使能下拉,输入引脚接到
VDD
所有输入和I/O引脚接到
VDD,输出引脚悬空,WDT
使能
所有输入和I/O引脚接到
VDD,输出引脚悬空,WDT
禁止
/RESET='高',Fosc=32KHz
(晶振类型,两个时钟周期),
输出引脚悬空, WDT 禁止
/RESET=‘高',Fosc=32KHz
(晶振类型,两个时钟周期),
输出引脚悬空, WDT 使能
/RESET='高', Fosc=2MHz
0.4
V
-50
-100
-240
µA
25
50
120
µA
10
µA
1
µA
15
30
µA
19
35
µA
2
mA
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
符号
参数
条件
(VDD=5.0V)
ICC4
最小值 典型值 最大值
(晶振类型,两个时钟周期),
输出引脚悬空
/RESET='高', Fosc=4MHz
(晶振类型,两个时钟周期),
输出引脚悬空
两个时钟周期下的工作供电电流
(VDD=5.0V)
4.0
单位
mA
6.2 AC 电气特性(Ta=0°C ~ 70 °C, VDD=5V±5%, VSS=0V)
符号
Dclk
Tins
Ttcc
Tdrh
Trst
Twdt
Tset
Thold
Tdelay
参数
输入CLK 占空周期
指令周期时间
(CLKS="0")
TCC 输入周期
器件复位保持时间
/RESET 脉冲宽度
看门狗定时器周期
输入引脚启动时间
输入引脚保持时间
输出引脚延迟时间
条件
最小值
典型值
最大值
单位
45
100
500
50
晶振类型
RC 类型
55
DC
DC
%
ns
ns
Ta = 25°C
Ta = 25°C
Ta = 25°C
(Tins+20)/N*
9
2000
9
Cload=20pF
ns
18
30
18
0
20
50
30
ms
ns
ms
ms
ms
ms
*N= 所选分频比
6.3 A/D 转换器特性(Vdd=3.0V 至 5.5V,Vss=0V,Ta=0 至 70
℃)
符号
VAREF
参数
模拟参考电压
VASS
VAI
IAI
RN
LN
DNL
FSE
OE
ZAI
TAD
TCN
ADIV
模拟输入电压
模拟供电电流
分辨率
线性误差
差分非线性误差
满标度误差
补偿误差
推荐模拟电压源阻抗
A/D 时钟持续时间
A/D 转换时间
A/D OP 输入电压幅度
ADOV
A/D OP 输出电压幅度
ADSR
PSR
A/D OP 转换率
电源抑制比
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
条件
VAREF - VASS≧2.5V
Vdd=VAREF=5.0V, VASS =0.0V
Vdd=VAREF=5.0V, VASS =0.0V
Vdd = 2.5 to 5.5V Ta=25℃
Vdd = 2.5 to 5.5V Ta=25℃
Vdd=VAREF=5.0V, VASS =0.0V
Vdd=VAREF=5.0V, VASS =0.0V
Vdd=VAREF=5.0V, VASS =0.0V
Vdd=VAREF=5.0V, VASS =0.0V
Vdd=VAREF=5.0V, VASS =0.0V
Vdd=VAREF=5.0V, VASS
=0.0V,RL=10KΩ
Vdd=VAREF=5.0V, VASS =0.0V
Vdd=5.0V±0.5V
最小值
典型值
3.0
VASS
500
6
0
0
±0
±0
0
3
10
0
0
4.7
0.1
±0
700
7
±2
±0.5
±2
±1
8
3.5
0.2
4.8
0.3
最大值
单位
Vdd
Vss
VAREF
1000
8
±4
±0.9
±4
±2
10
4
10
5
0.3
5
V
V
V
uA
Bits
LSB
LSB
LSB
LSB
KΩ
us
TAD
V
±2
V
V/us
LSB
• 49
EM78P458/459
8位OTP微控制器
注意
1.这些参数仅为特性值,未经测试。
2.这些参数仅用于设计参考,未经测试
3.当A/D关闭,除了很小的漏电流之外不会消耗其它任何电流
4.A/D转换不会因输入电压增加而减小,并且不会丢码。
5.规格所做修改,不另行通知
6.4 比较器 (OP) 特性(Vdd = 5.0V,Vss=0V,Ta=0 至 70℃)
符号
SR
IVR
OVS
Iop
PSRR
Vos
Vs
参数
回转率
输入电压范围
条件
Vdd =5.0V, VSS =0.0V
输出电压摆动
Vd =5.0V, VSS =0.0V,RL=10KΩ
OP供电电流
OP供电电源抑制比
偏置电压
工作电压范围
Vdd= 5.0V, VSS =0.0V
Vdd= 5.0V, VSS =0.0V
最小值
典型值
0.1
0
0
4.7
250
50
0.2
2.5
0.2
4.8
350
60
±10
最大值
5
0.3
5
500
70
±20
5.5
单位
V/us
V
V
uA
dB
mV
V
注意
1. 这些参数仅为特性值,未经测试。
2. 这些参数仅用于设计参考,未经测试
3. 规格所做修改,不另行通知
50 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
6.5 器件特性
以下页面所示的曲数图取自有限数量的样品,在此仅用作设计参考。所以图示器件特性
曲数不保证其准确型。有些图片所示曲数数据可能超出保证工作电压。
Vih/Vil (带施密特反向器的输入引脚)
2.5
Vil 最大值(0℃ 到 70℃ )
Vil典型值 25℃
Vih Vil(Volt)
2
Vil 最小值(0℃到 70℃)
1.5
1
Vil 最大值(0℃ 到 70℃ )
0.5
Vil典型值 25℃
Vil 最小值(0℃到 70℃)
0
2.5
3
3.5
4
4.5
5
5.5
Vdd(Volt)
图 25 P50的Vih, Vil 和VDD
Vih/Vil (带施密特反向器的输入引脚)
2.5
Vil 最大值(0℃ 到 70℃ )
Vil典型值 25℃
Vih Vil(Volt)
2 Vil 最小值(0℃到 70℃)
1.5
1
Vil 最大值(0℃ 到 70℃ )
0.5
Vil典型值 25℃
0
Vil 最小值(0℃到 70℃)
2.5
3
3.5
4
4.5
5
5.5
Vdd(Volt)
图 26 P51,P52,P54的 Vih, Vil 和 VDD
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 51
EM78P458/459
8位OTP微控制器
Vih/Vil (带施密特反向器的输入引脚)
Vil 最大值(0℃ 到 70℃ )
2.5
Vil典型值 25℃
Vil 最小值(0℃到 70℃)
Vih Vil(Volt)
2
1.5
1
Vil 最大值(0℃ 到 70℃ )
0.5
Vil典型值 25℃
Vil 最小值(0℃到 70℃)
0
2.5
3
3.5
4
4.5
5
5.5
Vdd(Volt)
图 27 P53,P55~P57,P60~P67的Vih, Vil 和VDD
Voh/Ioh (VDD=3V)
0
0
-5
-2
-10
-4
-15
最小值 70 ℃
-20
典型值 25 ℃
Ioh(mA)
Ioh(mA)
Voh/Ioh (VDD=5V)
最大值 0 ℃
-10
-30
-12
0
1
2
3
4
5
Voh(Volt)
图 28 Port5, Port6, Voh 和. Ioh, VDD=5V
52 •
典型值 25 ℃
-8
最大值 0 ℃
-25
最小值 70 ℃
-6
0
0.5
1
1.5
2
2.5
3
Voh(Volt)
图 29 Port5, Port6, Voh和. Ioh, VDD=3V
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
Vol/Iol (VDD=5V)
Vol/Iol (VDD=3V)
80
最大值 0 ℃
35
70
典型值 25 ℃
30
最小值 70 ℃
25
60
最大值0 ℃
典型值 25 ℃
最小值 70 ℃
Iol(mA)
Iol(mA)
50
40
20
15
30
20
10
10
5
0
0
0
1
2
3
4
5
0
0.5
1
Vol(Volt)
1.5
2
2.5
3
Vol(Volt)
图 30 Port5, 和 P60~P63,P66,P67 Vol, VDD=5V
图 31 Port5, 和 P60~P63,P66,P67 Vol , VDD=3V
Vol/Iol (5V)
Vo l/Io l (3 V)
50
120
最大值 0 ℃
45
100
最大值 0 ℃
40
典型值 25 ℃
典型值 25 ℃
35
Iol(mA)
最小值 70 ℃
60
Iol(mA)
80
30
最小值70 ℃
25
20
40
15
10
20
5
0
0
0
1
2
3
4
5
Vol(Volt)
图 32 P64,P65 Vol 和 Iol, VDD=5V
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
0
0.5
1
1.5
2
2.5
3
Vol(Volt)
图 33 P64,P65 Vol 和 Iol, VDD=3V
• 53
EM78P458/459
8位OTP微控制器
WDT 溢出
35
30
最大值70 ℃
WDT 周期 (mS)
25
典型值 25 ℃
20
最小值 0 ℃
15
10
5
0
2
3
4
5
6
VDD (Volt)
图 34 WDT 溢出周期vs. VDD, 分频比设置1 : 1
54 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
Cext=100pF, 典型 RC OSC 频率
1.4
R = 3.3 k
1.2
1
频率(M Hz)
R = 5.1 k
0.8
0.6
R = 10 k
0.4
0.2
0
R = 100 k
2.5
3
3.5
4
4.5
5
5.5
VDD(Volt)
图 35 典型RC OSC频率vs VDD(Cext=100pF, 温度在25 ℃)
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 55
EM78P458/459
8位OTP微控制器
工作电流ICC1至ICC4分别对应四个条件。如下所述:
ICC1:VDD=3V, Fosc=32 kHz, 2clock, WDT 禁止.
ICC2:VDD=3V, Fosc=32 kHz, 2clock, WDT 使能.
ICC3:VDD=5V, Fosc=2 MHz, 2clock, WDT 使能.
ICC4:VDD=5V, Fosc=4 MHz, 2clock, WDT 使能
ICC1和ICC2典型值 和 温度
ICC2 典型值
电流 (uA)
21
ICC1 典型值
18
15
12
9
0
10
20
30
40
50
60
70
温度 (℃)
图 36 工作电流典型值(ICC1 温度ICC2)和 温度
ICC1 和 ICC2 最大值 和 温度
30
ICC2 最大值
电流 (uA)
27
24
ICC1 最大值
21
18
15
0
10
20
30
40
50
60
70
温度 (℃)
图 37 工作电流最大值(ICC1 和ICC2)和 温度
56 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
ICC3 和 ICC4 典型值 和 温度
1.9
电流 (mA)
1.7
ICC4 典型值
1.5
1.3
ICC3 典型值
1.1
0.9
0.7
0.5
0
10
20
30
40
50
60
70
温度 (℃)
图 38 工作电流典型值(ICC3 和 ICC4)和 温度
ICC3 和 ICC4 最大值 和 温度
2.2
ICC4 最大值
电流 (mA)
2
1.8
1.6
ICC3 最大值
1.4
1.2
1
0
10
20
30
40
50
60
70
温度 (℃)
图 39 工作电流最大值(ICC3 和 ICC4)和温度
省电电流ISB1和ISB2分别对应两个条件。如下所述:
ISB1:VDD=5V, WDT 禁止
ISB2:VDD=5V, WDT 使能
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 57
EM78P458/459
8位OTP微控制器
ISB1和 ISB2典型值 和 温度
12
电流 (uA)
9
ISB2 典型值
6
3
ISB1 典型值
0
0
10
20
30
40
50
60
70
温度 (℃)
图 40 省电电流典型值(ISB1 和ISB2)和温度
ISB1和 ISB2 最大值和 温度
12
电流 (uA)
9
ISB2 最大值
6
3
ISB1 最大值
0
0
10
20
30
40
50
60
70
温度 (℃)
图 41 省电电流最大值(ISB1和 ISB2)和温度
58 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
工作电压 (0℃~70℃)
25
频率 (M Hz)
20
15
10
5
0
2
2.5
3
3.5
4
4.5
5
5.5
6
5.5
6
VDD(Volt)
图 42 温度范围在0 ℃ 至70 ℃下的工作电压
EM78P458/459 HXT I-V
2.5
2
1.5
最大值
1
最小值
0.5
0
2
2.5
3
3.5
4
4.5
5
图 43 4 MHz 条件下EM78P458/459 I-V 曲数
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 59
EM78P458/459
8位OTP微控制器
EM78P458/459 HXT I-V
2.5
2
1.5
最大值
1
Min 最小值
0.5
0
2
3
4
5
6
图 44 4 MHz 条件下EM78P458_G/459-G I-V 曲数
EM78P458/459 LXT I-V
200
150
100
最大值
最小值
50
0
2
3
4
5
6
图 45 32.768 kHz 条件下EM78P458/459 I-V曲数
60 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
EM78P458/459 LXT I-V
140
120
100
80
60
40
20
0
最大值
最小值
2
3
4
5
6
图 46 32.768 kHz 条件下EM78P458_G/459_G I-V 曲数
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 61
EM78P458/459
8位OTP微控制器
附录
A 封装类型
OTP MCU
封装类型
引脚数
封装尺寸
EM78P458AP
EM78P458AM
EM78P459AK
EM78P459AM
DIP
SOP
小外形 DIP
SOP
20 pin
20 pin
24 pin
24 pin
300mil
300mil
300mil
300mil
B 封装信息
20引脚塑封双列直插封装(PDIP) — 300 mil
62 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
20引脚塑封小外形封装(SOP) — 300 mil
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 63
EM78P458/459
8位OTP微控制器
24引脚塑封双列直插封装(PDIP) — 300 mil
64 •
版本号(V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
EM78P458/459
8位OTP微控制器
24引脚塑封小外形封装(SOP) — 300 mil
版本号 (V1.6) 12.01.2010
(产品更新后规格书不保证同步更新)
• 65