EM78P809N

EM78P809N
8位
OTP微控制器
产品规格书
版本 1.1
义隆电子股份有限公司
2007.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
引脚说明.................................................................................................................... 2
5
功能描述.................................................................................................................... 4
5.1
功能结构图 ....................................................................................................... 4
5.2
工作寄存器 ....................................................................................................... 5
5.3
特殊功能寄存器 .............................................................................................. 19
5.4
CPU 工作模式................................................................................................. 23
5.5
AD 转换器....................................................................................................... 25
5.6
时基定时器和音频发生器 ................................................................................ 26
5.7
UART (通用异步串行接收器/发送器) ............................................................... 28
5.8
5.9
5.7.1
UART 模式 ........................................................................................................ 30
5.7.2
发送................................................................................................................... 30
5.7.3
接收................................................................................................................... 30
5.7.4
波特率发生器 .................................................................................................... 31
SPI (串行外围接口) ......................................................................................... 31
5.8.1
串行时钟 ........................................................................................................... 32
5.8.2
移动方向和采样点 ............................................................................................. 32
5.8.3
传输模式 ........................................................................................................... 32
定时/计数器 2.................................................................................................. 35
5.9.1
定时器模式........................................................................................................ 36
5.9.2
计数器模式........................................................................................................ 36
5.9.3
窗口模式 ........................................................................................................... 36
5.10 定时/计数器 3.................................................................................................. 37
5.10.1 定时器模式........................................................................................................ 38
5.10.2 计数器模式........................................................................................................ 38
5.10.3 捕获模式 ........................................................................................................... 38
版本号 (V1.1) 12.11.2007
• iii
目录
5.11 定时/计数器 4.................................................................................................. 39
5.11.1 定时 器 模式...................................................................................................... 40
5.11.2 计数器模式........................................................................................................ 40
5.11.3 PDO 模式 .......................................................................................................... 40
5.11.4 PWM 模式......................................................................................................... 40
5.12 TCC/WDT 和预分频器 .................................................................................... 41
5.13 I/O Ports ........................................................................................................ 41
5.14 复位和唤醒 ..................................................................................................... 41
5.14.1 复位................................................................................................................... 41
5.14.2 从休眠模式唤醒................................................................................................. 42
5.14.3 从空闲 模式唤醒................................................................................................ 42
5.14.4 状态寄存器的 RST, T 与 P 的状态..................................................................... 47
5.15 中断 ................................................................................................................ 48
5.16 振荡 ................................................................................................................ 49
5.16.1 振荡模式 ........................................................................................................... 49
5.16.2 晶体振荡器/陶瓷谐振器(晶体) ........................................................................... 49
5.16.3 外部 RC 振荡模式 ............................................................................................. 51
5.17 代码选项寄存器 .............................................................................................. 52
5.17.1 代码选项寄存器 (Word 0).................................................................................. 52
5.17.2 用户 ID 寄存器 .................................................................................................. 53
5.18 上电相关事项 .................................................................................................. 53
5.18.1 外部上电复位电路 ............................................................................................. 53
5.18.2 残留电压保护 .................................................................................................... 53
5.19 指令集............................................................................................................. 54
6
最大绝对值范围 ....................................................................................................... 56
7
电气特性.................................................................................................................. 57
iv •
7.1
直流电气特性 .................................................................................................. 57
7.2
AD 转换特性 ................................................................................................... 58
7.3
MCU 特性 ....................................................................................................... 59
7.4
交流电气特性 .................................................................................................. 67
7.5
时序图............................................................................................................. 68
版本号 (V1.1) 12.11.2007
目录
附录
A
封装类型: ................................................................................................................ 69
B
封装形式.................................................................................................................. 70
B.1 28 引脚塑封双列直插封装(PDIP)— 600 mil..................................................... 70
B.2 28 引脚塑封小外形封装 (SOP) — 300 mil ....................................................... 71
B.3 28 引脚塑封缩小外形封装 (SSOP) — 209 mil ................................................. 72
C
品质保证和可靠性................................................................................................... 73
C.1 地址陷阱检测 .................................................................................................. 73
版本号 (V1.1) 12.11.2007
•v
目录
规格版本历史
版本号
修订本描述
日期
0.9
初版
2004/03/04
1.0
首发行版
2005/07/26
1. 改进了特性部分的内容和格式
2. 改进了功能结构图 5-1.
3. 校正了 5-3. PC 的结构图
4. 修改了每个寄存器说明的题目
5. 修改了寄存器 SPIC1, SPIC2, ADOSCR, URC1 和
URC2 的说明
6. 修改了 4.5 节 AD 转换, 4.6 节时基定时器和音频发生器
的时序, 4.9.3 部分的窗口模式和 4.10 部分的定时/计数
器3
1.1
7. 修改了图 5-13. SPI 功能框图,图 5-23 捕获模式的时序间
图,图 5-24.定时/计数器 4 的配置图和表格 9 的中断向
量
2007/12/11
8. 删除 5.2 节的建议工作条件和 6.1 节的直流电气特性
(VDD=3V±5%, VSS= 0V)
9. 修改了 6.2 节的 AD 转换特性
10. 增加了 6.3 节 MCU 特性
11. 修改了 6.5 节的时序图
12. 附录 A 修改了封装类型
13. 附录 B 增加了封装配置
14. 附录 C 增加了质量保证和可靠性
vi •
版本号 (V1.1) 12.11.2007
EM78P809N
8位OTP微控制器
1
综述
EM78P809N 是采用低功耗,高速 CMOS 工艺,强抗杂讯的 8 位单片机。其内部包含 8K*13 位一次性可编程
只读存储器(OTP-ROM)
。它提供多个保护位来防止程序被读出,7 个代码选择字来满足用户需求。
具有增强的 OTP-ROM 特性的 EM78P809N 能够为用户提供开发和校验程序的便利,另外,用户可以使用义
隆烧录器很容易的烧录自己的程序。
2
产品特性
CPU 配置
„
z
8通道的模数转换器,在参考电压选择外部电源模式下精
准度可达 10位
z
时基定时器的定时 (1Hz ~ 16kHz在 8MHz)
z
音频输出 (1kHz ~ 8kHz 在8MHz)
z
8K×13位片内ROM
z
144×8 位片内寄存器 (SRAM)
z
8级堆栈用于子程序嵌套
z
在 5V/8MHz工作条件下耗电流小于3.5 mA
TC3: 计数/定时器/捕获
z
休眠模式下耗电流典型值为 0.8 µA
z
空闲模式下耗电流典型值为1.1 µA
TC4: 计数/定时器/PWM (脉宽调制) / PDO (可编程的分离
器输出)
TCC: 带有溢出中断的 8 位实时定时/计数器
z
I/O 口配置
„
8个带有10位精度AD转换通道
15个中断源
„
z
4组双向 I/O端口: P6、 P7 、P8、 P9
z
22个 I/O 引脚
z
WDT溢出中断
z
10个可编程下拉I/O 引脚
z
TCC溢出中断
z
10个可编程上拉I/O 引脚
z
时基定时器的定时中断 (时钟源的第一个下降沿)
z
外部中断: P60、 P61、 P73、 P80
z
串行 UART发送中断
z
串行 UART接收中断
z
串行 UART接收错误中断
z
四个外部中断
z
AD转换完成中断
z
TC2溢出中断
z
TC3溢出中断
z
TC4溢出中断
z
串行SPI中断
„
工作电压范围:
OTP 版本
z
工作电压范围: 2.5V~5.5V
„
工作温度范围: -40°C ~ 85°C
„
工作频率范围 (时基 2 个时钟):
z
晶振模式:
DC ~ 10MHz @ 5V; DC ~200ns 指令周期@ 5V
DC ~ 4MHz @ 3V; DC ~500ns 指令周期@ 3V
z
ERC 模式:
„
特性:
DC ~ 10MHz, 5V; DC ~200ns 指令周期@ 5V
z
可编程的独立运行看门狗定时器
DC ~ 4MHz, 3V; DC ~ 500ns 指令周期@ 3V
z
每个指令为2个时钟周期
z
上电复位
有串行外围接口 (SPI)
z
高抗干扰性
z
有通用异步串行接收器/发送器(UART)
z
休眠省电模式
z
16位计数/定时器
TC2: 计数/定时器/窗口
z
可选振荡模式
z
8位计数/定时器
„
外设配置
z
TCC: 带有溢出中断的 8 位实时定时/计数器
TC3: 计数/定时器/捕获
TC4: 计数/定时器/PWM (脉宽调制) / PDO (可编程的
分离器输出)
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
„
封装类型:
z
28-引脚DIP 600mil : EM78P809NPS/NPJ
z
28-引脚SOP 300mil : EM78P809NMS/NMJ
z
28-引脚 SSOP 209mil : EM78P809NSS/NSJ
•1
EM78P809N
8位OTP微控制器
3
引脚配置
图 3-1 引脚配置
4
引脚说明
符号
引脚 号
类型
VDD
28
-
OSCI
2
I
OSCO
1
I/O
功能
电源
晶振类型: 晶振输入端
RC 类型: RC 振荡输入端
晶振类型: 晶振输出端
RC 类型: 指令时钟输出
外部时钟信号输入
/RESET
27
I
带施密特触发的输入引脚. 如果电压保持在逻辑低,器件将复位
P60~P67 是双向 I/O 引脚
P60 可用于外部中断 0 (/INT0)
P61 可用于外部中断 1 (INT1)
P60~P67
19~26
I/O
P62 可用于 16 位定时器/计数器 2 (TC2)
P63 可用于可编程的分离器输出 (/Tone)
P64 使能从机模式 (/SS)
P60 ~ P63 可用于上下拉
P70~P77 是双向 I/O 引脚
P70 可用于 SPI 串行时钟输入/输出 (/SCK)
P70~P73
15~18
I/O
P71 可用于 SPI 串行数据输入(SI) 或 UART 接收数据的输入 (RX)
P72 可用于 SPI 串行数据输出(SO) 或 UART 发送数据的输出(TX)
P73 可用于休眠模式的输入释放 (/SLEEP) 或者外部中断输入 5 (/INT5)
P70 ~ P73 可用于上下拉
2•
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
符号
引脚 号
类型
功能
P80~P81 是双向 I/O 引脚
P80~P81
12~13
I/O
P80 可用于 8 位定时器/计数器 3 (TC3)和外部中断 3 (INT3)
P81 可用于 8 位定时器/计数器 4 (TC4) 或者可编程的分离器输出(PDO)
P80 ~ P81 可用于上下拉
P90~P97 是双向 I/O 引脚
P90~P97
4~11
I/O
P90~P97 可用于 8 通道的 10 位精度的 AD 转换
P97 可用于 AD 参考电压的输入 口(VREF)
VSS
14
-
地
NC
3
-
未连接
VPP
27
I
烧录电压输入
ACLK
1
I
OTP 存储器地址增加的时钟
DATAIN
25
I/O
DINCK
26
I
ROM 代码输入时钟
PGMB
24
I
代码写入使能引脚. 低为有效
OEB
23
I
输出使能引脚. 低为有效
OTP 烧录引脚
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
ROM 代码的连续输入和连续输出
•3
EM78P809N
8位OTP微控制器
5
功能描述
5.1 功能结构图
图 5-1 功能结构描述图
4•
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
5.2 工作寄存器
BANK0
BANK1
BANK2
BANK3
00
R0/ IAR
01
R1/ TCC
02
R2/ PC
03
R3/ SR
04
R4/ RSR
05
SCR
TC3CR
URC1
SPIC1
06
Port 6
TC3DA
URC2
SPIC2
IOC6
07
Port 7
TC3DB
URS
SPID
IOC7
08
Port 8
TC2CR/ ADDL
URRD
IOC8
09
Port 9
TC2DH
URTD
IOC9
R3 (7,6)= (0,1)
0A
R3 (7,6)= (1,0)
R3 (7,6)= (1,1)
TC2DL
PHC1
0B
TC4CR
ADCR
PLC1
INTCR
0C
TC4D
ADIC
PHC2
ADOSCR
0D
ISFR0
ADDH
PLC2
0E
ISFR1
TBKTC
0F
ISFR2
10
:
1F
20
:
3F
IMR1
IMR2
16
BANK 0
R4(7,6)=(0,0)
32
BANK 1
R4(7,6)=(0,1)
BANK 2
R4(7,6)=(1,0)
32
32
BANK 3
R4(7,6)=(1,1)
32
图 5-2 工作寄存器
„
R0 (间接寻址寄存器)
R0 为虚拟寄存器。它的主要功能是作为间接寻址指针。任何对R0的操作实际上是对R4
指向的RAM内容操作。
„
R1 (定时/计数器)
R1同其它寄存器一样可以读写。只有给TCC寄存器写入值时,预分频计数器的内容才可
以清0。
„
R2 (程序计数器) 和堆栈
— 依据IC类型, R2和硬件堆栈是10位宽,结构如图5-3描述。
— 当复位产生时计数器内容R2为0。
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
•5
EM78P809N
8位OTP微控制器
— "JMP" 指令允许直接装载程序计数器低10位。因此,JMP可以在同一个页内任
意跳转(1K)。
— "CALL" 指令装载程序计数器的低10位。并将PC+1值入栈。因此子程序入口地
址可以放在同一页的任一位置(1K)。
— "RET" ("RETL k", "RETI")指令将栈顶的数据存放在PC中。
— 所有指令都是单指令周期(fclk/2 或 fclk4),除了能改变R2内容的指令,这样的
指令需要更多的指令周期。
— 当产生一个中断时,程序将会跳到与此中断相对应的中断向量地址, CPU将会
自动存储 ACC、 R3 、 R5的内容, 执行指令RETI将恢复它们的值。
R5
A12
PC
000 :
0 0000~03FF
001 :
1 0400~07FF
010 :
2 0800~0BFF
011 :
3 0C00~0FFF
100 :
4 1000~13FF
101 :
5 1400~17FF
110 :
6 1800~1BFF
111 :
7 1C00~1FFF
A11
A10
A9
A8
A7
~
A0
0000h
CALL
RET
RETL
RETI
ACC R3 R5
1
2
3
WDT
0003h
INT0
0006h
TCC
0009h
INT1
000Fh
4
0012h
5
6
7
8
UART
0015h
UART
0018h
UART
001Bh
TC3
0021h
SPI
0024h
TC4
0027h
INT3
002Ah
AD
0030h
TC2
0033h
INT5
0036h
1FFFh
图 5-3 程序计数器结构图
„
6•
R3 (状态寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RBS1
RBS0
0
T
P
Z
DC
C
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
Bit 7 ~ Bit 6 (RBS1 ~ RBS0): 页选择寄存器
RBS1
RBS0
Bank 寄存器 (地址 05H ~ 0FH)
0
0
Bank 0
0
1
Bank 1
1
0
Bank 2
1
1
Bank 3
Bit 5: 未使用
Bit 4 (T): 时间溢出位. 通过 "SLEP" 和 "WDTC"或上电复位置1,看门狗溢出清零 。
Bit 3 (P): 掉电标志位。"WDTC"指令或上电复位置1,"SLEP"指令清零.
Bit 2 (Z): 零标志位. 如果算术结果或逻辑值为0置为1.
Bit 1 (DC): 辅助进位标志位
Bit 0 (C): 进位标志位
„
R4 (RAM 选择寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
GRBS1
RBS0
RSR5
RSR4
RSR3
RSR2
RSR1
RSR0
Bit 7: 6 ( GRBS1 : GRBS0 ): 选择BANK. 用 Bank 指令(例如.BABK 1) 切换BANK.
GRBS1
GRBS0
通用 Bank 寄存器(地址 20H ~ 3FH)
0
0
Bank 0
0
1
Bank 1
1
0
Bank 2
1
1
Bank 3
Bit 5: 0 ( RSR5 : RSR0 ): 在间接寻址模式用于选择寄存器 (地址: 00h~3Fh) .如果没有
使用间接寻址, RSR为8位通用读写寄存器 .见图5-2寄存器配置.
„
R5 (系统控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
PS2
PS1
PS0
0
1
SIS
REM
Bit 6 (PS2) ~ 4 (PS0): ROM 的页选择位.用户可使用PAGE指令 (例如PAGE 1) 或者通
过设置 PS2~PS0位切换页. 当执行指令"JMP", "CALL", 或者其它可以改
变PC内容的指令 (例如 MOV R2, A), PS2~PS0 将加载到13位~11位宽
的PC中并选择页.注意RET (RETL, RETI)指令不会改变PS2~PS0 位. 即
返回时返回到调用子程序的页,不管 PS2~PS0位的当前值.
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
•7
EM78P809N
8位OTP微控制器
PS2
PS1
PS0
程序存储器的页 [地址]
0
0
0
页 0 [0000~03FF]
0
0
1
页 1 [0400~07FF]
0
1
0
页 2 [0800~0BFF]
0
1
1
页 3 [0C00~0FFF]
1
0
0
页 4 [1000~13FF]
1
0
1
页 5 [1400~17FF]
1
1
0
页 6 [1800~1BFF]
1
1
1
页 7 [1C00~1FFF]
Bit 1 ( SIS ): 选择休眠和空闲模式
SIS = “0”: 空闲模式
SIS = “1”: 休眠模式
Bit 0 ( REM ): 休眠模式的释放方法
REM = “0”: /SLEEP引脚上升沿释放
REM = “1”: /SLEEP引脚输入高电平释放
„
R6 (Port 6 I/O数据寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
P67
P66
P65
P64
P63
P62
P61
P60
Bit 7 ~ Bit 0 ( P67 ~ P60 ): 8位Port 6 I/O数据寄存器
用户可使用IOC6寄存器定义IO口为输入或输出 .
„
R7 (Port 7 I/O 数据寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
0
0
0
P73
P72
P71
P70
Bit 3 ~ Bit 0 ( P73 ~ P70 ): Port 73 ~ Port 70 I/O数据寄存器
用户可使用IOC7寄存器定义IO口为输入或输出
„
R8 (Port 8 I/O 数据寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
0
0
0
0
0
P81
P80
Bit 1 ~ Bit 0 ( P81 ~ P80 ): Port 81 ~ Port 80 I/O 数据寄存器
用户可使用IOC8寄存器定义IO口为输入或输出
„
R9 (Port 9 I/O 数据寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
P97
P96
P95
P94
P93
P92
P91
P90
Bit 7 ~ Bit 0 ( P97 ~ P90 ): 8位Port 97 ~ Port 90 I/O数据寄存器
8•
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
用户可使用IOC9寄存器定义IO口为输入或输出
„
RB (定时/计数器4 控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC4FF1
TC4FF0
TC4S
TC4CK2
TC4CK1
TC4CK0
TC4M1
TC4M0
Bit 7 ~ Bit 6 ( TC4FF1 ~ TC4FF0 ): 定时/计数器4 触发器控制
TC4FF1
TC4FF0
工作模式
0
0
清除
0
1
翻转触发
1
0
置位触发
1
1
保留
Bit 5 ( TC4S ): 定时/计数器4 开始控制.
TC4S = “0”: 停止并清除计数器
TC4S = “1”: 开始
Bit 4 ~ Bit 2 ( TC4CK2 ~ TC4CK 0 ): 定时/计数器4 时钟源选择
TC4CK2
TC4CK1
TC4CK0
0
0
0
0
0
0
1
时钟源
( 正常, 空闲)
解析度
( Fosc=8M )
最大时间
( Fosc=8M )
11
256µS
65mS
Fc/2
7
16µS
4mS
Fc/2
5
4µS
1mS
Fc/2
1
0
0
1
1
Fc/2
3
1µS
255µS
1
0
0
Fc/2
2
500nS
127.5µS
1
0
1
Fc/2
1
250nS
63.8µS
1
1
0
Fc
125nS
31.9µS
1
1
1
外部时钟(TC4 引脚)
--
--
Bit 1 ~ Bit 0 ( TC4M1 ~ TC4M0 ): 定时/计数器4 工作模式选择
„
TC4M1
TC4M0
工作模式
0
0
定时/计数器
0
1
保留
1
0
可编程的分离器输出
1
1
脉宽调制输出
RC (Timer 4 数据缓冲)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC4D7
TC4D6
TC4D5
TC4D4
TC4D3
TC4D2
TC4D1
TC4D0
Bit 7 ~ Bit 0 ( TC4D7 ~ TC4D0 ): 定时/计数器4的8位数据缓冲器
„
RD (中断状态标志寄存器 0和INT3边沿检测标志)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
0
INT3F
INT3R
0
0
WDTIF
EXIF0
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
•9
EM78P809N
8位OTP微控制器
Bit 5 ( INT3F ): 外部中断3下降沿检测标志.
INT3F = “0”: 未检测到下降沿
INT3F = “1”: 检测到下降沿
Bit 4 ( INT3R ): 外部中断3上升沿检测标志.
INT3R = “0”: 未检测到上升沿
INT3R = “1”: 检测到上升沿
Bit 1 ( WDTIF ): WDT溢出中断,由软件清标志.
Bit 0 ( EXIF0 ): 外部中断标志(INT0). 由软件清标志. 如果INT0EN为“0”,标志清0
„
RE (ISFR1中断状态寄存器 1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
EXIF5
TCIF2
ADIF
0
EXIF3
TCIF4
SPIF
TCIF3
Bit 7 ( EXIF5 ): 外部中断标志 (/INT5), 由软件清标志.
Bit 6 ( TCIF2 ): 16位定时/计数器2中断标志, 由软件清标志.
Bit 5 ( ADIF ): AD转换完成标志, 由软件清标志.
Bit 3 ( EXIF3 ): 外部中断标志 (/INT3), 由软件清标志.
Bit 2 ( TCIF4 ): 8位定时/计数器2中断标志, 由软件清标志.
Bit 1 ( SPIF ): SPI 模式中断标志, 由软件清标志.
Bit 0 ( TCIF3 ): 8位定时/计数器3中断标志, 由软件清标志..
0: 没有中断
1: 有中断前请求
— ISFR1 可由指令清0, 但是不可以由指令置1
— IMR1 是中断屏蔽寄存器
— 注意,读ISFR1将得到ISFR1逻辑与 IMR1的结果.
„
RF (ISFR2中断状态寄存器 2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
UERRIF
RBFF
TBEF
TBIF
EXIF1
0
TCIF0
Bit 6 (UERRIF): UART 接收错误中断, 由软件或禁止UART清0
Bit 5 (RBFF): UART接收模式数据缓冲器满中断标志 ,由软件清0
Bit 4 (TBEF): UART发送模式数据缓冲器满中断标志 ,由软件清0
Bit 3 (TBIF): 时基定时器中断标志,由软件清0
Bit 2 (EXIF1): 外部中断标志 (INT1).,由软件清0
Bit 0 (TCIF0): TCC溢出 中断标志,TCC溢出时置位,由软件清0
10 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
"1": 有中断请求, "0": 没有中断
— ISFR2可以由指令清0,但不能由指令置1
— IMR2是中断屏蔽寄存器
— 注意:读 ISFR2会获得ISFR2逻辑与IMR2的结果
„
Bank 1 R5 TC3CR (定时/计数器3控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC3CAP
TC3S
TC3CK1
TC3CK0
TC3M
0
0
0
Bit 7 ( TC3CAP ): 软件捕获控制
TC3CAP = “0”: TC3CAP = “1”: 软件捕获
Bit 6 ( TC3S ): 定时/计数器 3开始控制
TC3S = “0”: 停止并清计数器
TC3S = “1”: 开始
Bit 5 ~ Bit 4 ( TC3CK1 ~ TC3CK0 ): 定时/计数器 3时钟源选择
TC3CK1
TC3CK0
0
0
0
时钟源
( 正常, 空闲)
解析度
( Fosc=8M )
最大时间
( Fosc=8M )
12
512µS
131.1mS
10
128µS
32.6mS
7
Fc/2
1
Fc/2
1
0
Fc/2
16µS
4.1mS
1
1
外部时钟 (TC3 引脚)
-
-
Bit 3 ( TC3M ): 定时/计数器 3模式选择
TC3M = “0”: 定时/计数器 3模式
TC3M = “1”: 捕获模式
„
Bank 1 R6 TC3DA (定时器 3 数据缓冲器 A)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC3DA7
TC3DA6
TC3DA5
TC3DA4
TC3DA3
TC3DA2
TC3DA1
TC3DA0
Bit 7 ~ Bit 0 ( TC3DA7 ~ TC3DA0 ): 8位定时/计数器 3数据缓冲器
复位不影响此寄存器
„
Bank 1 R7 TC3DB (定时器 3 数据缓冲器 B)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC3DB7
TC3DB6
TC3DB5
TC3DB4
TC3DB3
TC3DB2
TC3DB1
TC3DB0
Bit 7 ~ Bit 0 ( TC3DB7 ~ TC3DB0 ): 8位定时/计数器 3数据缓冲器
复位不影响此寄存器
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 11
EM78P809N
8位OTP微控制器
„
Bank 1 R8 TC2CR/ ADDL (定时/计数器2控制寄存器, AD低2位数据缓冲器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADD1
ADD0
0
TC2M
TC2S
TC2CK2
TC2CK1
TC2CK0
Bit 7 ~ Bit 6 ( ADD1 ~ ADD0 ): AD 低2位数据缓冲器
Bit 4 ( TC2M ): 定时/计数器 2模式选择
TC2M = “0”: 定时/计数器 2模式
TC2M = “1”: 窗口模式
Bit 3 ( TC2S ): 定时/计数器2开始控制
TC2S = “0”: 停止并清计数器
TC2S = “1”: 开始
Bit 2 ~ Bit 0 ( TC2CK2 ~ TC2CK0 ): 定时/计数器2时钟源选择
TC2CK2
TC2CK1
TC2CK0
0
0
0
0
0
„
0
1
时钟源
( 正常, 空闲)
解析度
( Fosc=8M )
最大时间
( Fosc=8M )
23
1.05s
19.1h
13
1.02ms
1.1min
8
32µs
2.1s
3
Fc/2
1
Fc/2
0
Fc/2
0
1
1
Fc/2
1µs
65.5ms
1
0
0
Fc
125ns
7.9ms
1
0
1
-
-
-
1
1
0
-
-
-
1
1
1
外部时钟(TC2 引脚)
Bank 1 R9 TC2DH (定时器2数据缓冲高字节)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC2D15
TC2D14
TC2D13
TC2D12
TC2D11
TC2D10
TC2D9
TC2D8
Bit 7 ~ Bit 0 ( TC2D15 ~ TC2D8 ): 16位定时/计数器2数据缓冲高字节.
„
Bank 1 RA TC2DL (定时器2数据缓冲低字节)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC2D7
TC2D6
TC2D5
TC2D4
TC2D3
TC2D2
TC2D1
TC2D0
Bit 7 ~ Bit 0 ( TC2D7 ~ TC2D0 ): 16位定时/计数器2数据缓冲低字节.
„
Bank 1 RB ADCR (AD 控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADREF
ADRUN
ADCK1
ADCK0
ADP
ADIS2
ADIS1
ADIS0
Bit 7 ( ADREF ): AD参考电压输入选择.
ADREF = “0”: 内部VDD, P97 作为IO.
ADREF = “1”: 外部引脚参考, P97作为参考电压输入引脚.
12 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
Bit 6 ( ADRUN ): AD转换开始
ADRUN = “0”: 转换完成后由硬件复位,此位不能由软件复位
ADRUN = “1”: 转换开始
Bit 5~ Bit 4 ( ADCK1 ~ ADCK0 ): AD 转换时间选择
ADCK1
ADCK0
时钟源
( 正常, 空闲)
最大工作频率
( Fc )
0
0
Fc/4
1MHz
0
1
Fc/16
4MHz
1
0
Fc/32
8MHz
1
1
保留
-
Bit 3 ( ADP ): AD电源控制
ADP = “0”:上电
ADP = “1”:掉电
Bit 2 ~ Bit 0 ( ADIS2 ~ ADIS0 ): 模拟输入引脚选择
„
ADIS2
ADIS1
ADIS0
模拟输入引脚
0
0
0
AD0
0
0
1
AD1
0
1
0
AD2
0
1
1
AD3
1
0
0
AD4
1
0
1
AD5
1
1
0
AD6
1
1
1
AD7
Bank 1 RC ADIC (AD输入引脚控制)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADE7
ADE6
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
Bit 7 ~ Bit 0 ( ADE7 ~ ADE0 ): AD输入引脚控制
ADEx = “0”: PORT9.x作为I/O 口.
ADEx = “1”: PORT9.x 作为模拟输入引脚
„
Bank 1 RD ADDH (AD 高8位数据缓冲器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADD9
ADD8
ADD7
ADD6
ADD5
ADD4
ADD3
ADD2
Bit 7 ~ Bit 0 ( ADD9 ~ ADD2 ): AD高8位数据缓冲器
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 13
EM78P809N
8位OTP微控制器
„
Bank 1 RE TBKTC (TBT/音频控制)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TEN
TCK1
TCK0
0
TBTEN
TBTCK2
TBTCK1
TBTCK0
Bit 7 ( TEN ): 音频使能控制
TEN = “0”: 禁止
TEN = “1”:使能
Bit 6 ~ Bit 5 ( TCK1 ~ TCK0 ): 音频输出时钟源选择
TCK1
TCK0
0
时钟源
音频输出频率
(正常,空闲 )
( Fc = 8MHz )
0
0
1.953kHz
11
3.906kHz
10
7.812kHz
Fc/2
0
1
0.976kHz
12
Fc/2
1
1
13
Fc/2
1
Fc/2
Bit 3 ( TBTEN ): 时基定时器使能控制
TBTEN = “0”: 禁止
TBTEN = “1”: 使能
Bit 2 ~ Bit 0 ( TBTCK2 ~ TBTCK0 ): 时基定时器时钟源选择
TBTCK2
TBTCK1
0
0
0
0
0
0
1
1
1
1
3.81Hz
16
122.07Hz
14
488.28Hz
13
976.56Hz
12
1953.12Hz
11
3906.25Hz
9
15625Hz
Fc/2
0
1
0.95Hz
21
Fc/2
1
1
( Fc = 8MHz )
23
Fc/2
0
0
(正常,空闲 )
Fc/2
1
0
中断频率
Fc/2
0
1
时钟源
Fc/2
1
1
0
„
TBTCK0
Fc/2
1
Fc/2
Bank 2 R5 URC1 (UART 控制寄存器 1)
Bit 7
URTD8
Bit 6
Bit 5
UMODE1 UMODE0
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
BRATE2
BRATE1
BRATE0
UTBE
TXE
Bit 7 ( URTD8 ): 发送数据的第8位
14 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
Bit 6 ~ Bit 5 ( UMODE1 ~ UMODE0 ): UART发送模式选择位
UMODE1
UMODE0
UART 模式
0
0
模式 1: 7-bits
0
1
模式 2: 8-bits
1
0
模式 3: 9-bits
1
1
保留
Bit 4 ~ Bit 2 ( BRATE2 ~ BRATE1 ): 发送波特率选择
BRATE2
BRATE1
BRATE0
波特率
例如 Fc=8MHz
0
0
0
Fc/13
38400
0
0
1
Fc/26
19200
0
1
0
Fc/52
9600
0
1
1
Fc/104
4800
1
0
0
Fc/208
2400
1
0
1
Fc/416
1200
1
1
0
TC4
1
1
1
保留
Bit 1 ( UTBE ): UART发送缓冲器为空标志位. 当发送缓冲器为空时置1. 当URTD写入
数据时清0. UTBE 位在使能发送时会由硬件清0. UTBE位是只读的. 因
此, 当我们要移位发送数据时就必须给URTD寄存器写入数据
Bit 0 ( TXE ): 使能发送
TXE = “0”: 禁止
TXE = “1”: 使能
„
Bank 2 R6 URC2 (UART 控制寄存器2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
0
SBIM1
SBIM0
UINVEN
0
0
0
Bit 5 ~ Bit 4 ( SBIM1 ~ SBIM0 ): 串行总线接口工作模式.
SBIM1
SBIM0
工作模式
0
0
I/O 模式
0
1
SPI 模式
1
0
UART 模式
1
1
保留
Bit 3 ( UINVEN ): 使能 UART TXD 和 RXD 口输出
UINVEN = “0”: 禁止UART TXD 和 RXD 口输出.
UINVEN = “1”: 使能UART TXD 和 RXD 口输出.
„
Bank 2 R7 URS (UART 状态寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
URRD8
EVEN
PRE
PRERR
OVERR
FMERR
URBF
RXE
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 15
EM78P809N
8位OTP微控制器
Bit 7 ( URRD8 ): 接收数据的第8位
Bit 6 ( EVEN ): 选择奇偶校验
EVEN = “0”: 奇校验
EVEN = “1”: 偶校验
Bit 5 ( PRE ): 使能校验
PRE = “0”: 禁止
PRE = “1”: 使能
Bit 4 ( PRERR ): 校错标志.
当校错发生时置1,由软件清0.
Bit 3 ( OVERR ): 过速错误.
当过速错误发生时置1,由软件清0. .
Bit 2 ( FMERR ):侦差错标志.
当侦差错发生时置1,由软件清0.
Bit 1 ( URBF ): UART读缓冲区为满标志位.
当接收到一个字符时置1,当从URS寄存器读取时会自动置0. 当接收完成
时URBF由硬件清0. URBF位是只读位. 因此,读取URS寄存器是必要的,
以避免过速错误.
Bit 0 ( RXE ) : 使能接收
RXE = “0”: 禁止
RXE = “1”:使能
„
Bank 2 R8 URRD (UART接收数据缓冲区)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
URRD7
URRD6
URRD5
URRD4
URRD3
URRD2
URRD1
URRD0
Bit 7 ~ Bit 0 ( URRD7 ~ URRD0 ): UART 接收数据缓冲区. 只读.
„
Bank 2 R9 URTD (UART 发送数据缓冲区)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
URTD 7
URTD 6
URTD 5
URTD 4
URTD 3
URTD 2
URTD 1
URTD0
Bit 7 ~ Bit 0 ( URTD 7 ~ URTD 0): UART发送数据缓冲区.只读.
„
Bank 3 R5 SPIC1 (SPI 控制寄存器 1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
SMP
DCOL
BRS2
BRS1
BRS0
EDS
DORD
WBE
Bit 7 ( SMP ): SPI数据输入采样点.
SMP = “0”: 输入数据在数据输出时间的中间采样
16 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
SMP = “1”: 输入数据在数据输出时间的末尾采样
利用外部时钟,数据输入采样固定在数据输出时间的中间
Bit 6 ( DCOL ): SPI 数据冲突.
DCOL = “0”: 未发生数据冲突
DCOL = “1”: 发生数据冲突.由软件清0.
Bit 5 ~ Bit 3 ( BRS0 ~ BRS2 ): SPI 时钟源选择
时钟源
( 正常,空闲 )
BRS2
BRS1
BRS0
0
0
0
Fc/2
0
0
1
Fc/2
0
1
0
Fc/2
最大传输率
( Fc = 8MHz )
13
0.95Kbit/s
11
3.8Kbit/s
10
7.6Kbit/s
8
30.5Kbit/s
6
0
1
1
Fc/2
1
1
0
0
0
1
Fc/2
5
Fc/2
122Kbit/s
244Kbit/s
1
1
1
1
0
1
外部时钟 (/SCK 引脚)
外部时钟 (/SCK 引脚)
使能 /SS 引脚
禁止 /SS 引脚
Bit 2 ( EDS ): 数据移出边沿选择.
EDS = “0”: 上升沿
EDS = “1”:下降沿
Bit 1 ( DORD ): 数据传输规则.
DORD = “0”: 左移(数据高位先移出)
DORD = “1”: 右移 (数据低位先移出)
Bit 0 ( WBE ): 写缓冲区为空标志位 ,只读
WBE = “0”: 写缓冲区为空
WBE = “1”: 不为空,当写入数据时会自动置1
„
Bank 3 R6 SPIC2 (SPI 控制寄存器 2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
SPIS
0
0
0
0
SPIM1
SPIM0
RBF
Bit 7 ( SPIS ): SPI 开始移位,置该位为1和移位寄存器开始移位.当移位完成时由硬件清
0。传输下一个数据时,此位必须重新置1.
SPIS = “0”: 移位完成
SPIS = “1”: 移位开始
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 17
EM78P809N
8位OTP微控制器
Bit 2 ~ Bit 1 ( SPIM1 ~ SPIM0): SPI 发送模式选择
SPIM1
SPIM0
发送模式
0
0
8 位发送/接收模式
0
1
8 位发送 模式
1
0
8 位接收模式
1
1
保留
Bit 0 ( RBF ): 由缓冲区满检测器置1,当读寄存器SPID时自动清0.使能SPI后RBF位由
硬件清. 此位只读.因此,读寄存器SPID是必须的,以避免发生数据冲突
(DCOL).
„
Bank 3 R7 SPID (SPI数据缓冲区)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
SPID7
SPID6
SPID5
SPID4
SPID3
SPID2
SPID1
SPID0
Bit 7 ~ Bit 0 ( SPID7 ~ SPID0 ): SPI数据缓冲区.
„
Bank 3 RA PHC1 (上拉控制寄存器1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
/PHE81
/PHE80
/PHE63
/PHE62
/PHE61
/PHE60
Bit 5 ~ 4 ( /PHE81 ~ /PHE80 ): Port 8的 位1~0 上拉使能位
/PHE8x = “0”: 使能 P8x 上拉
/PHE8x = “1”: 禁止P8x 上拉
Bit 3 ~ 0 ( /PHE63 ~ /PHE60 ): Port 6的 位3~0 上拉使能位
/PHE6x = “0”: 使能 P6x 上拉
/PHE6x = “1”: 禁止 P6x 上拉
„
Bank 3 RB PLC1 (下拉控制寄存器 1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
/PLE81
/PLE80
/PLE63
/PLE62
/PLE61
/PLE60
Bit 5 ~ 4 ( /PLE81 ~ /PLE80 ): Port 8的 位1~0 下拉使能位
/PLE8x = “0”: 使能 P8x 下拉
/PLE8x = “1”: 禁止 P8x 下拉
Bits 3 ~ 0 ( /PLE63 ~ /PLE60 ): Port 6的 位3~0 下拉使能位
/PHE6x = “0”: 使能 P6x 下拉
/PHE6x = “1”: 禁止 P6x下拉
„
18 •
Bank 3 RC PHC2 (上拉控制寄存器 2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
-
-
/PHE73
/PHE72
/PHE71
/PHE70
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
Bit 3 ~ 0 ( /PHE73 ~ /PHE70 ): Port 7的 位3~0 上拉使能位
/PHE7x = “0”: 使能 P7x 上拉
/PHE7x = “1”: 禁止P7x 上拉
„
Bank 3 RD PLC2 (下拉控制寄存器 2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
-
-
/PLE73
/PLE72
/PLE71
/PLE70
Bit 3 ~ 0 ( /PLE73 ~ /PLE70 ): Port 7的 位3~0 下拉使能位
/PHE7x = “0”: 使能 P7x 下拉
/PHE7x = “1”: 禁止 P7x下拉
„
R10~R1F和 R20~R3F (包括 Banks 0~3) 通用寄存器
5.3 特殊功能寄存器
„
A (累加器)
内部数据传输或指令操作数通常暂存,它不可寻址。
„
CONT (控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
WDTO
/INT
WDTP1
WDTP0
WDTE
PSR2
PSR1
PSR0
CONT寄存器是可读写的.
Bit 7 ( WDTO ): WDT 输出选择
WDTO = “0”: 中断请求
WDTO = “1”: 内部复位
Bit 6 ( /INT ): 中断使能标志
/INT = “0”: 由DISI或硬件屏蔽中断
/INT = “1”: 由ENI/RETI指令使能
Bit 5 ~ Bit 4 ( WDTP1 ~ WDTP0 ): WDT 预分频比位
WDTP1
WDTP0
工作模式
0
0
1:4
0
1
1:16
1
0
1:64
1
1
1:256
Bit 3 ( WDTE ): WDT 使能控制.
WDTE = “0”: 使能
WDTE = “1”: 禁止
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 19
EM78P809N
8位OTP微控制器
Bit 2 ~ Bit 0 ( PSR2 ~ PSR0 ): TCC 预分频比位.
„
PSR2
PSR1
PSR0
工作模式
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
IOC6~IOC9 (I/O Port 控制寄存器)
— "1" 定义相应I/O口为高阻输入状态, "0"定义I/O口为输出状态.
— IOC6 和 IOC9寄存器是可读写的.
„
IOCB INTCR (INT 控制器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
INT1NR
INT0EN
0
INT3ES1
INT3ES0
0
INT1ES
TC2ES
Bit 7 ( INT1NR ): INT1 噪声抑制时间选择位
INT1NR = “0”: 脉冲小于 63/fc 被当作噪音消除
INT1NR = “1”: 脉冲小于 15/fc被当作噪音消除
Bit 6 ( INT0EN ): INT0 使能控制
INT0EN = “0”: 通用 I/O
INT0EN = “1”: /INT0 口
Bit 5: 保留
Bit 4 ~ Bit 3 ( INT3ES1 ~ INT3ES0): INT3 边沿选择
INT3ES1
INT3ES0
边沿选择
0
0
上升沿
0
1
下降沿
1
0
两个边沿均可
1
1
保留
Bit 2: 保留
Bit 1 ( INT1ES ): INT1 边沿选择
INT1ES = “0”: 上升沿
INT1ES = “1”: 下降沿
Bit 0 (TC2ES): 定时/计数器2边沿选择.
TC2ES = “0”: 上升沿
20 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
TC2ES = “1”: 下降沿
外部中断
INT 引脚
第二功能引脚
使能条件
边沿
数字抗干扰
/INT0
P60
ENI + INT0EN (IOCB)
下降沿
-
INT1
P61
ENI + EXIE1 (IMR2)
上升沿或下降沿
15/Fc, 63/Fc
INT3
P80, TC3
ENI + EXIE3 (IMR2)
上升沿或下降沿或上
升沿/下降沿
7/Fc
/INT5
P73, /SLEEP
ENI + EXIE5 (IMR2)
-
-
„
IOCC ADOSCR (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]
0
0
0
Bit 7 (CALI): A/D补偿校准使能位
CALI = “0”: 校准禁止
CALI = “1”: 校准使能
Bit 6 ( SIGN ): 补偿电压极性选择位
SIGN = “0”: 负电压
SIGN = “1”: 正电压
Bit 5 ~ Bit 3 ( VOF[2] ~ VOF[0] ): 补偿电压位
„
VOF[2]
VOF[1]
VOF[0]
EM78P809N
0
0
0
0LSB
0
0
1
1LSB
0
1
0
2LSB
0
1
1
3LSB
1
0
0
4LSB
1
0
1
5LSB
1
1
0
6LSB
1
1
1
7LSB
IOCE IMR1 (中断屏蔽寄存器1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
EXIE5
TCIE2
ADIE
0
EXIE3
TCIE4
SPIE
TCIE3
Bit 7 ( EXIE5 ): 外部/INT5 引脚中断使能位.
EXIE5 = “0”: 禁止EXIF5中断
EXIE5 = “1”: 使能EXIF5中断
Bit 6 ( TCIE2 ): 定时器/计数器 2 中断使能位.
TCIE2 = “0”: 禁止TCIF2中断
TCIE2 = “1”: 使能TCIF2中断
Bit 5 ( ADIE ): ADC完成中断使能位.
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 21
EM78P809N
8位OTP微控制器
ADIE = “0”: 禁止ADIF中断
ADIE = “1”: 使能ADIF中断
Bit 3 ( EXIE3 ): 外部 INT3 引脚中断使能位.
EXIE3 = “0”: 禁止 EXIF3 中断
EXIE3 = “1”: 使能 EXIF3 中断
Bit 2 ( TCIE4 ): 定时器/计数器 4 中断使能位.
TCIE4 = “0”: 禁止 TCIF4 中断
TCIE4 = “1”: 使能 TCIF4 中断
Bit 1 ( SPIE ): SPI 中断使能位.
SPIE = “0”: 禁止 SPIF 中断
SPIE = “1”: 使能 SPIF 中断
Bit 0 ( TCIE3 ): 定时器/计数器 3 中断使能位.
TCIE3 = “0”: 禁止 TCIF3 中断
TCIE3 = “1”: 使能 TCIF3 中断
— 通过设定IMR1的相关控制位为“1”来单独使能中断.
— 全局中断由ENI 指令使能,由DISI指令禁止.
— IMR1 寄存器可读写.
„
IOCF IMR2 (中断屏蔽寄存器2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
UERRIE
URIE
UTIE
TBIE
EXIE1
0
TCIE0
Bit 6 ( UERRIE ): UART 接收错误中断使能位.
UERRIE = “0”: 禁止 UERRIF 中断
UERRIE = “1”: 使能 UERRIF 中断
Bit 5 ( URIE ): UART 接收模式中断使能位.
URIE = “0”: 禁止 RBFF 中断
URIE = “1”: 使能 RBFF 中断
Bit 4 ( UTIE ): UART 发送模式中断使能位.
UTIE = “0”: 禁止 TBEF 中断
UTIE = “1”: 使能 TBEF 中断
Bit 3 ( TBIE ): 时间基准定时器中断使能位.
TBIE = “0”: 禁止 TBIF 中断
TBIE = “1”: 使能 TBIF 中断
Bit 2 ( EXIE1 ): 外部 INT 1 中断使能位.
EXIE1 = “0”: 禁止 EXIF1 中断
EXIE1 = “1”: 使能 EXIF1 中断
Bit 0 ( TCIE0 ): TCC 中断使能位.
22 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
TCIE0 = “0”: 禁止 TCIF0 中断
TCIE0 = “1”: 使能 TCIF0 中断
— 通过设定IMR2的相关控制位为“1”来单独使能中断.
— 全局中断由ENI 指令使能,由DISI指令禁止.
— IMR2 寄存器可读写.
5.4 CPU工作模式
CPU工作模式寄存器
R_BANK
地址
名称
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bank 0
0X05
SCR
0
PS2
PS1
PS0
0
1
SIS
REM
-
-
-
-
R/W
R/W
R/W
-
-
R/W
R/W
* R_BANK: Bank寄存器 (R3的6, 7位), R/W: 可读写
图 5-4 工作模式和转换关系
表 2 模式转换控制
模式转换
转换方法
注意
正常Æ休眠
设置 SIS = 1, 执行 SLEP 指令
−
休眠 Æ正常
/SLEEP 引脚唤醒
−
正常Æ空闲
设置 SIS = 0, 执行 SLEP 指令
−
空闲 Æ 正常
中断
−
表 3 工作模式
工作模式
频率
复位
单时钟
正常模式
打开
空闲模式
休眠模式
关闭
CPU 代码
片上外围 配件
复位
复位
Fosc
暂停
Fosc
暂停
在正常模式下, CPU内核及外围配件以晶振频率运行.
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 23
EM78P809N
8位OTP微控制器
在空闲模式下, CPU内核停止运行, 但外围配件与晶振电路仍在运行.空闲模式可被任何
中断源唤醒. 如果执行了ENI指令, 空闲模式唤醒后中断将发生在紧接的下一条指令处,
接着中断结束. 如果没有执行ENI指令, 唤醒后程序将紧接着空闲模式启动指令后的下一
条指令开始执行, 空闲模式也可由复位引脚上的低电平输入及执行一个复位操作来唤醒.
在休眠模式下, 内部振荡器关闭, 系统停止运行. 休眠模式由/SLEEP引脚唤醒(电平响应
或边沿响应可由系统控制寄存器(SCR)第0位(REM)来设置). 一个预热期后, 下一条指令
将从休眠模式启动指令后的下一条指令开始执行. 休眠模式也可由复位引脚上的低电平
输入及执行一个复位操作来唤醒. 在电平响应模式下, 在进入休眠模式前/SLEEP引脚必
须保持低电平, 在边沿响应模式下, 休眠模式开始即便/SLEEP引脚为高电平.
表 4 唤醒方法
唤醒信号
休眠模式
R5 (SIS) = 1+SLEP
指令
1. IMR1, IMR2 中的单个中断源
2. WDT 中断请求
3. /INT0
4. 不执行 ENI 指令
不影响 **
唤醒信号
休眠模式
R5 (SIS) = 1+SLEP
指令
1. IMR1, IMR2 中的单个中断源
2. WDT 中断请求
3. /INT0
空闲模式
R5 (SIS)= 0 + SLEP
指令
1. 唤醒
2. 跳到下一条指令或进
入空闲 模式
空闲模式
R5 (SIS)= 0 + SLEP
指令
正常模式
R5 (SIS)=(*)
不影响**
正常模式
R5 (SIS)=(*)
1. 唤醒
不影响**
4. 执行 ENI 指令
2. 执行 RETI 之后进入中
断向量,然后进入下一条
指令或空闲模式
中断
1. 唤醒
/SLEEP 引脚
2. 跳到下一条指令或
进入休眠 模式
不影响
不影响
/RESET 引脚
复位
复位
复位
WDT 溢出
复位
复位
复位
* : 忽略
** : 中断响应标志将被记录.
24 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
5.5 AD 转换器
AD转换电路相关寄存器
R_BANK
地址
Bank 1
0X0B
名称
Bit 7
Bit 6
0X0C
ADIC
R/W
ADE7 ADE6
R/W
Bank 1
0X0D
ADDH
R/W
0X08
ADDL
R
ADD1 ADD0
R
Bank 0
0x0E
ISFR1
R
0x0C
0x0E
ADE5 ADE4 ADE3
R/W
R/W
R/W
Bit 0
ADIS2 ADIS1 ADIS0
R/W
R/W
R/W
ADE2 ADE1 ADE0
R/W
R/W
R/W
R
0
R
R
R
R
R
TC2M TC2S TC2CK2 TC2CK1 TC2CK0
SPIF
TCIF3
R/W
R/W
R/W
SIGN VOF[2] VOF[1] VOF[0]
0
0
0
R/W
--
--
--
SPIE
TCIE3
R/W
R/W
EXIF5 TCIF2
ADOSCR CALI
IMR1
R/W
Bit 1
R/W
R/W
R/W
SPR
R/W
ADP
Bit 2
R/W
R/W
SPR
R/W
Bit 3
ADD9 ADD8 ADD7 ADD6 ADD5 ADD4 ADD3 ADD2
R
Bank 1
Bit 4
ADCR ADREF ADRUN ADCK1 ADCK0
R/W
Bank 1
Bit 5
EXIE5 TCIE2
R/W
R/W
--
R/W
ADIF
0
R/W
0
R/W
R/W
ADIE
0
R/W
0
R/W
R/W
EXIF3 TCIF4
R/W
R/W
EXIE3 TCIE4
R/W
R/W
* R_BANK : Bank 寄存器(R3的bits 7, 6), R/W: 读 / 写
* SPR : 特殊功能寄存器
图 5-5 AD 转换
10位逐次逼近式AD转换器, 模拟参考电压可通过ADCR的ADREF位的设置选择内部
VDD或P97(VREF)引脚的外部输入.
ADC数据寄存器:
当A/D转换完成, 结果载入ADDH (8 位) 与 ADDL (2 位)中,开始/结束位清零, ADIF位置1.
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 25
EM78P809N
8位OTP微控制器
A/D采样时间:
逐次逼近式AD转换器的精确性、线性、速度由ADC比较器特性决定。外部AD电路的输
入阻抗和内部采样阻抗直接影响采样电路中电容的充电时间。应用程序控制采样时间长
短以满足特定精度需要。一般来说,对于每千欧姆模拟输入阻抗,程序应等待2µs,对
于低阻源应至少等待2µs。建议外部AD电路的输入阻抗的最大为10KΩ, Vdd=5V。模拟
输入通道选定后,在转换可以开始之前这个采样时间应先满足。
A/D 转换时间:
ADCK0和ADCK1依照指令周期来选择转换时间(Tct)。在不影响A/D转换精度的条件下,
这允许MCU以最高频率运行。对于EM78P809N, 每位转换时间约为4µs. 表 5 列出了Tct
与最高工作频率的关系。
表5
ADCK1:0
工作模式
最大频率 (Fc)
每一位的最大转换率
最大转换率
00
Fc/4
1MHz
250kHz (4µs)
52µs (20.8kHz)
01
Fc/16
4MHz
250kHz (4µs)
52µs (20.8kHz)
10
Fc/32
8MHz
250kHz (4µs)
52µs (20.8kHz)
11
保留
−
−
−
5.6 时基定时器和音频发生器
时基定时器/音频控制相关寄存器
R_BANK
地址
名称
Bit 7
Bit 6
Bit 5
Bit 4
Bank 1
0X0E
TBKTC
TEN
TCK1
TCK0
0
R/W
R/W
R/W
--
Bank 0
0x0F
ISFR2
0
0
SPR
0x0F
IMR2
0
0
26 •
UERRIF RBFF TBEF
R/W
Bit 3
Bit 2
Bit 1
Bit 0
TBTEN TBTCK2 TBTCK1 TBTCK0
R/W
R/W
R/W
R/W
TBIF
EXIF1
0
TCIF0
R/W
R/W
R/W
R/W
0
R/W
UERRIE URIE
UTIE
TBIE
EXIE1
0
TCIE0
R/W
R/W
R/W
0
R/W
R/W
R/W
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
图 5-6 /TONE输出引脚结构图
音频发生器可输出占空比为50%的脉冲(时基定时器产生的脉冲)以控制一个压电式蜂
鸣器的发声时间。 使能音频发生器后,设定P63为”1”, P63输出脉冲 ;设置P63为”0”,
P63无脉冲输出。
图 5-7 Tone引脚输出时序图
图 5-8 TBT结构图
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 27
EM78P809N
8位OTP微控制器
时基定时器可以用来产生按键扫描或动态显示处理的基准时间, TBTEN位置”1”后时钟
源的第一个下降沿到来时产生中断.
图 5-9 时基定时器时序图
5.7 UART (通用异步串行接收器/发送器)
UART 电路相关控制寄存器
R_BANK
地址
Bank 2
0X05
Bank 2
Bank 2
Bank 2
0X06
0X07
0X08
Bit 1
Bit 0
URC1 URTD8 UMODE1 UMODE0 BRATE2 BRATE1 BRATE0 UTBE
TXE
名称
URC2
URS
Bit 7
Bank 0
SFR
28 •
0X09
0x0F
0x0F
Bit 5
R/W
R/W
0
0
--
--
R/W
URRD8
EVEN
PRE
R/W
R/W
R/W
R/W
Bit 4
R/W
Bit 3
Bit 2
R/W
SBIM1 SBIM0 UINVEN
R/W
R/W
R/W
R
R/W
0
0
0
--
--
--
PRERR OVERR FMERR URBF
R/W
R/W
R/W
R
RXE
R/W
URRD URRD7 URRD6 URRD5 URRD4 URRD3 URRD2 URRD1 URRD0
R
Bank 2
Bit 6
R
R
R
R
R
R
R
URTD URTD 7 URTD 6 URTD 5 URTD 4 URTD 3 URTD 2 URTD 1 URTD0
ISFR2
IMR2
W
W
W
W
W
W
W
W
0
UERRIF
RBFF
TBEF
TBIF
EXIF1
0
TCIF0
--
R/W
R/W
R/W
R/W
R/W
--
R/W
0
UERRIE
URIE
UTIE
TBIE
EXIE1
0
TCIE0
--
R/W
R/W
R/W
R/W
R/W
--
R/W
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
TC4
选
择
器
系统频率
RXE
波特率
发生器
RX 控制
中断控制
TXE
TX 控制
RX
UINVEN
RX 移位寄存器
校验控制
URRD
错误标志
URRD8
TX
URTD8
URTD
UINVEN
数据总线
图 5-10 功能方框图
在通用异步接收器发送器(UART)模式下, 每一字符发送或接收分别由成帧的一个起始位
和停止位来同步.
全双工数据传输是可能的, 因为UART有独立的发送与接收部件, 这两个部件的缓冲区允
许UART被编程来持续数据的传输.
下图所示为发送或接收一个字符的一般格式, 通讯通道通常会保持在一个特定的状态(高
电平). 发送或接收字符开始于一个间隔状态(低电平)的跳变.
发送或接收的第一位为起始位(低电平), 紧跟其后的是数据位, 这样最低位(LSB)便先形
成了, 紧跟在数据位后的为奇偶位,然后出现停止位或多位(高电平) , 那么可以确定一帧
的结束.
在接收中, UART同步于起始位的下降沿. 在三个采样期间, 当两或三个”0”被侦测到后, 即
认为是普通的起始位, 接收运作启动.
空闲状态
起始位
1 bit
D0
D1
D2
7 或 8 bits
Dn
校验位 停止位
1 bit
(符号)
1 bits
一个字符或一帧
图 5-11 UART的数据格式
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 29
EM78P809N
8位OTP微控制器
5.7.1 UART 模式
有三种UART模式, 模式 1 ( 7位数据 )与模式 2 ( 8位数据 )允许增加一个奇偶校验位, 模
式3 没有奇偶校验位. 下图显示了各个模式的数据格式.
UMODE
模式 1
模式 2
模式 3
1
PRE
2
3
4
5
6
7
8
9
10
11
0
0
0
起始位
7 位数据
停止位
0
0
1
起始位
7 位数据
校验位 停止位
0
1
0
起始位
8 位数据
停止位
0
1
1
起始位
8 位数据
校验位停止位
1
0
X
起始位
9 位数据
停止位
图 5-12 UART模式
5.7.2 发送
在发送串行数据模式下, UART操作如下:
1. 置URC1寄存器TXE位来使能UART发送功能.
2. 写数据到URTD寄存器, URC1寄存器的UTBE位将被硬件置位.
3. 然后开始发送.
4. 串行发送数据通过TX引脚按以下步骤传输.
5. 起始位: 输出一位”0”.
6. 发送数据: 7, 8或, 9位的数据按从低位(LSB)到高位输出.
7. 奇偶校验位: 一个奇偶校验位(奇或偶校验位可选择)输出.
8. 停止位: 输出一位”1”(停止位).
注意: 持续输出”1”直到下一个数据传输起始位的到来.
传输完停止位后, UART产生TBEF中断(如果使能).
5.7.3 接收
在接收模式下, UART操作如下:
1. 置URS寄存器RXE位来使能UART接收功能.
当侦测到起始位后, UART监测RX引脚并内部同步.
2. 接收到的数据按从低位(LSB)到高位(MSB)顺序移入URRD寄存器.
3. 接收奇偶效验位与停止位.
30 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
一个字符接收完毕, UART产生一个RBFF中断(如果使能), URS寄存器的URBF位将
被置1.
4. UART做如下检测:
(a) 奇偶校验: 接收到的数据的数字”1”须与URS寄存器的EVEN位的奇偶校验的设
置相匹配.
(b) 帧校验: 起始位须为 0, 停止位须为 1.
(c) 溢出校验: 在下一接收数据载入URRD寄存器前, URS寄存器的URBF位须清零
( 也就是说需读出URRD寄存器的值).
如果任一校验失败, UERRIF中断将产生(如果使能), 错误标志便指示在PRERR,
OVERR或FMERR位上. 错误标志位需由软件清零, 否则在接收下一字节时将发生
UERRIF中断.
5.
从URRD寄存器中读取接收到的数据, URBF位将被硬件清零.
5.7.4 波特率发生器
波特率发生器由产生时钟脉冲决定UART模式下发送或接收传输速率的电路组成.
URC1寄存器BRATE2~BRATE0位可决定所需的波特率。
5.8 SPI (串行外围接口)
SPI 电路的相关寄存器
R_BANK
地址
名称
Bit 7
Bank 3
0X05
SPIC1
SMP
R/W
Bank 3
0X06
SPIC2
Bit 6
Bit 3
Bit 2
DCOL BRS2 BRS1 BRS0
EDS
R/W
R/W
R/W
0
0
0
0
R/W
--
--
--
--
0X07
SPID
Bank 0
0x0E
ISFR1 EXIF5 TCIF2
SFR
0x0E
IMR1
R/W
Bit 1
DORD WBE
R/W
SPIM1 SPIM0
R/W
Bit 0
R/W
R
RBF
R
SPID7 SPID6 SPID5 SPID4 SPID3 SPID2 SPID1 SPID0
R/W
R/W
R/W
R/W
EXIE5 TCIE2
R/W
(产品更新后规格书不保证同步更新)
R/W
Bit 4
SPIS
Bank 3
版本号 (V1.1) 12.11.2007
Bit 5
R/W
R/W
R/W
ADIF
0
R/W
--
ADIE
0
R/W
--
R/W
R/W
EXIF3 TCIF4
R/W
R/W
EXIE3 TCIE4
R/W
R/W
R/W
R/W
SPIF
TCIF3
R/W
R/W
SPIE
TCIE3
R/W
R/W
• 31
EM78P809N
8位OTP微控制器
图 5-13 SPI结构框图
串行接口经由P70 (/SCK), P71 (SI), P72 (SO) 引脚接到外部设备. 串行接口也可用作I/O
端口. 在发送模式下, P71可以用作普通I/O口; 在接收模式下, P72与P71可用作普通I/O
口.
5.8.1 串行时钟
通过设置BRS0 ~ BRS2位可选择六个内部时钟, 通过/SCK (P70)引脚输出时钟. 外部时
钟也可使用并可连接到/SCK (P70)引脚.
5.8.2 移动方向和采样点
设置SPIC1寄存器的DORD位可确定移位方向. 设置SPIC1寄存器的EDS位可选择上升
沿或下降沿锁存数据. 设置SPIC2寄存器的SMP位可选择采样点是在数据输出时间的中
间时刻还是在结尾时刻.
5.8.3 传输模式
设置SPIM0 ~ SPIM1位可选择发送, 接收, 发送/接收模式.
(a) 8位发送模式
设置SPIM0 ~ SPIM12位至发送模式并写数据到SPID数据缓冲器. 置SPIS位为”1” 启
动发送. 数据同步串行时钟连续的输出到SO引脚. 当数据的最后一位传输完毕, SPI
32 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
中断发生, SPIS位被硬件清零. 为了传送下一数据, SPIS位须重新软件置”1”. 如果下
一数据没有写入数据缓冲器, 当使用内部时钟时数据传输不会启动.
开始移位
开始移位
SPIS
RBF
WBE
移位完成
SO 引脚
a0 a1 a2 a3 a4 a5 a6 a7
b0 b1 b2 b3 b4 b5 b6 b7
SPIF
SPID
a
b
写数据
写数据
图 5-14 发送模式 (8-bit, 1 word)
(b) 8位接收模式
设置SPIM0 ~ SPIM1位至接收模式并置SPIS位为1来启动接收, 数据同步串行时钟
连续的从SI引脚输入. 当数据的最后一位接收完毕, SPI中断发生, SPIS位被硬件清
零, 为了接收下一数据, SPIS位须重新软件置1. 如果当前数据没有从数据缓冲器中
读出, 当使用内部时钟时数据接收不会启动.
移位开始
移位开始
移位完成
RBF
WBE
/SCK 引脚
SI 引脚
a0 a1 a2 a3 a4 a5 a6 a7
b0 b1 b2 b3 b4 b5 b6 b7
SPIF
SPID
a
读数据
b
读数据
图 5-15 接收模式 (8-bit, 1 word)
(c) 8位发送/接收模式
设置SPIM0 ~ SPIM1位至发送/接收模式并写数据到SPID缓冲器. 置SPIS位来启动
传输. 数据同步串行时钟连续的从SO引脚输出和SI引脚输入. 当指定的数据字数目
已经传输完毕, SPI中断发生, SPIS位被硬件清零. 为了接收下一个数据, SPIS须重
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 33
EM78P809N
8位OTP微控制器
新软件置1, 在发送模式下的写数据与在接收模式下的读数据用的是同一个数据缓冲
器, 如果当前的数据没有被读出就写数据到缓冲器, 当使用内部时钟时传输不会执
行, 通常是读完接收的数据后才写数据发送.
移位开始
移位开始
SPIS
RBF
移位完成
WBE
移位完成
/SCK 引脚
SO 引脚
a0 a1 a2 a3 a4 a5 a6 a7
b0 b1 b2 b3 b4 b5 b6 b7
ST 引脚
c0 c1 c2 c3 c4 c5 c6 c7
d0 d1 d2 d3 d4 d5 d6 d7
SPIF
SPID a
c
写数据
读数据
b
d
写数据
读数据
图 5-16 发送/接收模式(8-bit, 1 word)
(d) 多设备连接(/SS)
当选择外部时钟作为数据传输的时钟源时, /SS功能可被使用. 当/SS功能被使能时
该引脚(/SS)即被激活, 否则/SS引脚为普通I/O. 当/SS为高时忽略SDI及SDO引脚上
的数据, 此后SDO不再被驱动.
SDO
SDI
SCK
/SS
主器件
Master
P.67
P67
P66
PP65
65
PP64
64
/SS
SDO
SCK SDI
SDI
从器件 1
/SS
SDO
SCK SDI
SDI
从器件 2
/SS
SDO
SCK SDI
SDI
从器件 3
/SS
SDO
SCK SDI
SDI
从器件 4
图 5-17 单一主器件和多组从器件的SPI范例结构
34 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
5.9 定时/计数器 2
定时/计数器 2 电路相关的寄存器
R_BANK
地址
名称
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bank 1
0X08
TC2CR
ADD1
ADD0
0
TC2M
TC2S
R
R
--
R/W
R/W
Bank 1
0X09
Bank 0
SFR
SFR
0X0A
0x0E
0x0B
0x0E
Bit 1
Bit 0
TC2CK2 TC2CK1 TC2CK0
R/W
R/W
R/W
TC2DH TC2D15 TC2D14 TC2D13 TC2D12 TC2D11 TC2D10 TC2D9 TC2D8
R/W
Bank 1
Bit 2
R/W
R/W
R/W
TC2DL TC2D7 TC2D6 TC2D5 TC2D4
ISFR1
R/W
R/W
R/W
TC2D3 TC2D2 TC2D1 TC2D0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
EXIF5
TCIF2
ADIF
0
EXIF3
TCIF4
SPIF
TCIF3
R/W
R/W
R/W
--
R/W
R/W
R/W
R/W
INTCR INT1NR INT0EN
IMR1
R/W
R/W
R/W
EXIE5
TCIE2
R/W
R/W
0
INT3ES1 INT3ES0
R/W
R/W
ADIE
0
EXIE3
R/W
--
R/W
0
INT1ES TC2ES
R/W
R/W
TCIE4
SPIE
TCIE3
R/W
R/W
R/W
图 5-18 定时/计数器 2结构图
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 35
EM78P809N
8位OTP微控制器
5.9.1 定时器模式
在定时模式, 加计数是以内部时钟实现的, 当加计数器内容与TCR2 (TCR2H+TCR2L)
相匹配时, 那么中断发生, 计数器被清零. 在计数器清零后加计数继续.
内部时钟
加计数器
0
TCR2
1
2
3
4
5
n-3
n-2
n-1
n 0
2
1
3
n
计数器清 0
匹配
TC2 中断
图 5-19 定时器模式时序图
5.9.2 计数器模式
在计数模式, 加计数是以外部时钟输入引脚(TC2 引脚)实现的, 上升沿或下降沿可通过设
置TC2ES位来选择, 当加计数器内容与TCR2 (TCR2H+TCR2L)相匹配时, 那么中断发
生, 计数器被清零. 在计数器清零后加计数继续.
TC2 引脚
加计数器
TCR2
0
1
2
3
4
n-2
n-1
n 0
1
2
3
n
匹配
计数器清 0
TC2 中断
图 5-20计数器模式时序图 (TC2ES = 1)
5.9.3 窗口模式
在窗口模式,内部时钟和TC2引脚的脉冲(窗口脉冲)逻辑与后,在脉冲的上升沿或下降沿
加计数加一, 当加计数器内容与TCR2 (TCR2H+TCR2L)内容相匹配时, 那么中断产生,
定时器清零. 频率(窗口脉冲)须低于所选的内部时钟.
写TCR2L时, 比照被禁止直到TCR2H被写入值.
36 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
TC2 引脚
内部时钟
加计数器
0
TCR2
1
2
n-3
n-1
n-2
n 0
1
2
3
n
计数器
匹配
清0
TC2 中断
图 5-21 窗口模式时序图
5.10 定时/计数器 3
定时/计数器 3 电路的相关寄存器
R_BANK
地址
Bank 1
0X05
名称
Bit 7
0X06
Bank 0
SFR
SFR
0X07
0x0E
0x0B
0x0E
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
Bit 4
Bit 3
R/W
R/W
R/W
R/W
Bit 2
Bit 1
Bit 0
0
0
0
--
--
--
TC3DA TC3DA7 TC3DA6 TC3DA5 TC3DA4 TC3DA3 TC3DA2 TC3DA1 TC3DA0
R/W
Bank 1
Bit 5
TC3CR TC3CAP TC3S TC3CK1 TC3CK0 TC3M
R/W
Bank 1
Bit 6
R/W
R/W
R/W
R/W
R/W
R/W
R/W
TC3DB TC3DB7 TC3DB6 TC3DB5 TC3DB4 TC3DB3 TC3DB2 TC3DB1 TC3DB0
ISFR1
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
EXIF5
TCIF2
ADIF
0
EXIF3
TCIF4
SPIF
TCIF3
R/W
R/W
R/W
--
R/W
R/W
R/W
R/W
INTCR INT1NR INT0EN
0
R/W
R/W
--
R/W
R/W
--
R/W
R/W
EXIE5
TCIE2
ADIE
0
EXIE3
TCIE4
SPIE
TCIE3
R/W
R/W
R/W
--
R/W
R/W
R/W
R/W
IMR1
INT3ES1 INT3ES0
0
INT1ES TC2ES
• 37
EM78P809N
8位OTP微控制器
图 5-22 定时/计数器3结构图
5.10.1 定时器模式
在定时器模式, 加计数是以内部时钟实现的, 当加计数器内容与TCR3DA相匹配时, 那么
中断发生, 计数器被清零. 在计数器清零后加计数继续. 通过置TC3CAP位为”1” 将加计数
器当前的内容载入TCR3DB, 在自动捕获后TC3CAP被清零.
5.10.2 计数器模式
在计数器模式, 加计数是以外部时钟输入引脚(TC3 引脚)完成的, 上升沿或下降沿可通过
INT3ES0位来选择, 但两种时钟沿不能同时被使用. 当加计数器内容与TCR3DA相匹配
时, 那么中断发生, 计数器被清零. 在计数器清零后加计数继续. 通过置TC3CAP位为”1”
将加计数器当前的内容载入TCR3DB, 在自动捕获后TC3CAP位被清零.
5.10.3 捕获模式
在捕获模式, TC3输入引脚的脉宽, 周期, 占空比以这种模式量测, 可用在遥控信号的译码
上. 该计数器以内部时钟运行. 在TC3引脚输入的下降沿(上升沿)时, 计数器的内容被载
入TCR3DA, 之后计数器被清零, 中断发生. 在TC3引脚输入的下降沿(上升沿)到来时, 计
数器内容载入TCR3DB, 计数器仍在计数, 在TC3引脚输入的下一个上升沿到来时, 计数
器的内容载入TCR3DA, 计数器被清零, 又产生中断. 在检测到边沿之前如果有溢出, FFH
被载入TCR3DA并产生溢出中断. 在中断处理期间, 通过检测TCR3DA的值是否为FFH可
确定是否有溢出. 中断(捕获至TCR3DA或溢出检测)产生后, 捕获和溢出检测被停止直到
TCR3DA的值被读出。
38 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
图 5-23 捕获模式时序图
5.11 定时/计数器 4
定时器 4相关寄存器
R_BANK
地址
Bank 0
0X0B
名称
Bit 7
Bank 0
SFR
0X0C
0x0E
0x0E
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC4CR TC4FF1 TC4FF0 TC4S TC4CK2 TC4CK1 TC4CK0 TC4M1 TC4M0
R/W
Bank 0
Bit 6
TC4D
ISFR1
IMR1
R/W
R/W
R/W
TC4D7 TC4D6 TC4D5 TC4D4
R/W
R/W
R/W
R/W
TC4D3 TC4D2 TC4D1 TC4D0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
EXIF5
TCIF2
ADIF
0
EXIF3
TCIF4
SPIF
TCIF3
R/W
R/W
R/W
--
R/W
R/W
R/W
R/W
EXIE5
TCIE2
ADIE
0
EXIE3
TCIE4
SPIE
TCIE3
R/W
R/W
R/W
--
R/W
R/W
R/W
R/W
图 5-24 定时/计数器 4结构图
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 39
EM78P809N
8位OTP微控制器
5.11.1 定时 器 模式
在定时器模式, 加计数是用内部时钟实现的, 当加计数器内容与TC4D相匹配时, 那么中
断发生, 计数器被清零. 在计数器清零后加计数继续.
5.11.2 计数器模式
在计数器模式, 加计数是在外部时钟输入引脚(TC4引脚)的上升沿到来后实现的, 当加计
数器内容与TC4D相匹配时, 那么中断发生, 计数器被清零. 在计数器清零后加计数继续.
5.11.3 PDO模式
在可编程分离器输出 (PDO) 模式, 加计数是利用内部时钟实现的, TC4D的内容与加计
数器的内容做比较, F/F输出被拴牢, 每次匹配被发现时计数器被清零. F/F输出被取反并
输出到/PDO引脚. 该模式可产生50%占空比的脉冲输出. F/F可被程序初始化, 复位时初
始值为”0”, 每次/PDO输出被拴牢时产生TC4中断.
图 5-25 PDO 模式的时序图
5.11.4 PWM 模式
在脉宽调制(PWM)模式, 加计数是以内部时钟实现的, TC4D内容与加计数器的内容作比
较. 当屏蔽被发现时F/F被拴牢, 计数器仍在计数. 当计数器溢出时, F/F又被拴牢, 之后计
数器被清零. F/F输出被反向并输出至/PWM引脚, 每次溢出产生时即产生TC4中断.
TC4D被设置成2级移位寄存器, 输出期间, 不会改变直到一个输出周期完成, 即使TC4D
被重写. 因此, 输出可不断地被改变, 在数据载入TC4D后, 通过置TC4S位为”1”, TC4D也
第一次被移位.
时钟源
加计数器
TC4D
0
1
n-1
n+1 n+2
FE
FF
0
n/n
n-1
n
n+1 n+2
FE
n/m
匹配
F/F
n
溢出
盖写
FF
0
1
m-1
m
m/m
溢出
匹配
移位
/PWM
1个周期
TC4 中断
图 5-26 PWM模式时序图
40 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
5.12 TCC/WDT 和预分频器
有一个8位计数器可作为TCC的预分频器。PSR0~PSR2位决定TCC的分频系数。在TCC
模式下, 每次写数据至TCC则TCC预分频器被清零。
R1(TCC)是一个8位定时/计数器, TCC时钟源为内部时钟。如果TCC时钟源来自内部时
钟,则每个指令周期TCC加1(无预分频)。选择CLK=Fosc/2或CLK=Fosc/4是由代码
选项 CLK位的状态确定的. 如果CLK位为”0”, 则CLK=Fosc/2; 如果CLK位为“1”,则
CLK=Fosc/4.
看门狗定时器的时钟源是一个独立运行的片内RC振荡器。在正常模式下, 通过设置
WDTO位, WDT溢出(如果使能)将引起设备复位或中断. 在正常模式下, 通过软件编程,
WDT可随时被使能或禁止. 在没有预分频情况下, WDT溢出时间大约为18ms(默认),
WDT也可用作一个定时器, 在固定时间间隔里产生一次中断.
5.13 I/O Ports
I/O寄存器(Port 6、Port 7、Port 8 、Port 9)是双向三态I/O端口。每一个I/O引脚可以
通过I/O控制寄存器(IOC6 ~ IOC9)定义为输入或输出, I/O寄存器和I/O控制寄存器都是可
读写的. Port 6、Port 7、Port 8、 Port 9的I/O接口电路如图5- 27所示.
PCRD
Q
PORT
0
1
P
R
D
CLK
Q
C
L
Q
P
R
Q
C CLK
L
M
U
X
PCW R
IOD
D
PDW R
PDRD
图 5-27 I/O端口及I/O控制寄存器电路
5.14 复位和唤醒
5.14.1 复位
复位由下面任一种情况引起:
(1) 上电复位
(2) /RESET引脚电压为低
(3) 看门狗定时器溢出(如果使能)
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 41
EM78P809N
8位OTP微控制器
1
检测到上电复位之后,器件将保持在复位状态约18ms ( 振荡器起振时间). 一旦复位发
生, 器件将执行如下功能.
„
振荡器起振或运行
„
程序计数器(R2)清零.
„
上电时, R3的高两位, R4的高两位及R5的4~6位被清零.
„
所有I/O引脚设置为输入模式(高阻状态).
„
看门狗定时器与预分频器清零.
„
上电时, R3的高2位清零.
„
上电时, R4的高2位清零.
„
上电时, R5的高3位清零.
„
CONT寄存器除第6位(INT 标志)外所有位被置"1”.
„
ISFR0、 ISFR1、 ISFR2 寄存器与IMR1、 IMR2 寄存器清零.
器件有两种省电模式:
(1) 休眠 模式: R5 (SIS) = 1, SLEP 指令.
内部振荡器关闭, 系统运行停止.
(2) 空闲 模式: R5 (SIS)= 0, SLEP 指令
CPU内核停止, 外围设备与振荡电路仍然运行
5.14.2 从休眠模式唤醒
(1) 外部 /SLEEP 引脚
在进入休眠模式后, 器件将被唤醒并执行下一条指令. 所有寄存器保持原来执行”SLEP”
指令前的状态不变.
(2) /RESET 引脚拉低
这将引起器件复位, 程序将从地址0处开始.
(3) WDT溢出
这将引起器件复位, 程序将从地址0处开始运行.
5.14.3 从空闲 模式唤醒
(1) 所有中断
无论使用哪些中断唤醒, 在进入空闲模式前, 用户需一直使能这种中断, 唤醒后, 所有寄
存器仍保持为进入”SLEP”指令前的值, 然后通过设置对应的中断使能位来确定设备是执
行中断子程序还是继续执行下一指令. 中断服务子程序返回后(RETI), 程序将跳
至”SLEP”指令的下一条指令处.
1
VDD = 5V,建立时间= 16.2ms ± 30%
VDD = 3V, 建立时间 = 19.6ms ± 30%
42 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
(2) /RESET 引脚拉低
这将引起器件复位, 程序将从地址0处开始运行.
(3) WDT 溢出
这将引起器件复位, 程序将从地址0处开始运行.
表 6 寄存器初始值总述
地址
名称
0x06
IOC6
0x07
IOC7
0x08
IOC8
0x09
IOC9
0x0B
INTCR
0x0C
ADOSCR
0x0E
IMR1
0x0F
IMR2
N/A
CONT
0x00
R0 上电
(IAR) /RESET 和 WDT 溢出
0x01
0x02
复位类型
位名
上电
/RESET 和 WDT 溢出
从 休眠, 空闲 模式唤醒
位名
上电
/RESET 和 WDT 溢出
从 休眠, 空闲 模式唤醒
位名
上电
/RESET 和 WDT 溢出
从 休眠, 空闲 模式唤醒
位名
上电
/RESET 和 WDT 溢出
从 休眠, 空闲 模式唤醒
位名
上电
/RESET 和 WDT 溢出
从 休眠, 空闲 模式唤醒
位名
上电
/RESET 和 WDT 溢出
从 休眠, 空闲 模式唤醒
位名
上电
/RESET 和 WDT 溢出
从 休眠, 空闲 模式唤醒
位名
上电
/RESET 和 WDT 溢出
从 休眠, 空闲 模式唤醒
位名
上电
/RESET 和 WDT 溢出
从 休眠, 空闲 模式唤醒
位名
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
C66
C65
C64
C63
C62
C61
C60
1
1
1
1
1
1
1
1
1
1
1
1
1
1
P
P
P
P
P
P
P
X
X
X
C73
C72
C71
C70
U
U
U
1
1
1
1
U
U
U
1
1
1
1
U
U
U
P
P
P
P
X
X
X
X
X
C81
C80
U
U
U
U
U
1
1
U
U
U
U
U
1
1
U
U
U
U
U
P
P
C96
C95
C94
C93
C92
C91
C90
1
1
1
1
1
1
1
1
1
1
1
1
1
1
P
P
P
P
P
P
P
INT0EN
X
X
INT1ES TC2ES
INT3ES1 INT3ES0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
X
X
X
SIGN VOF2 VOF1 VOF0
0
0
0
0
U
U
U
P
P
P
P
U
U
U
P
P
P
P
U
U
U
TCIE2 ADIE
X
EXIE3 TCIE4 SPIE TCIE3
0
0
U
0
0
0
0
0
0
U
0
0
0
0
P
P
U
P
P
P
P
UTIE
TBIE EXIE1
X
TCIE0
UERRIE URIE
0
0
0
0
0
U
0
0
0
0
0
0
U
0
P
P
P
P
P
U
P
/INT WDTP1 WDTP0 WDTE PSR2 PSR1 PSR0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
位名
上电
/RESET 和 WDT 溢出
从 休眠, 空闲 模式唤醒
0
0
0
0
0
0
0
0
上电
R1
(TCC) /RESET 和 WDT 溢出
R2
(PC)
Bit 7
C67
1
1
P
X
U
U
U
X
U
U
U
C97
1
1
P
INT1NR
0
0
P
CALI
0
0
0
EXIE5
0
0
P
X
U
U
U
WDT0
0
0
P
-
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
0
0
0
0
0
0
0
0
跳转到中断向量或者执行下一条指令
• 43
EM78P809N
8位OTP微控制器
0x03
0x04
位名
上电
/RESET 和 WDT 溢出
从 休眠, 空闲 模式唤醒
位名
R4 上电
(RSR) /RESET 和 WDT 溢出
从 休眠, 空闲 模式唤醒
R3
(SR)
RBS1 RBS0
X
0
0
0
0
0
0
P
P
P
GRBS1 GRBS0 RSR5
0
0
U
0
0
P
P
P
P
T
1
t
t
RSR4
U
P
P
P
1
t
t
RSR3
U
P
P
Z
U
P
P
RSR2
U
P
P
DC
U
P
P
RSR1
U
P
P
C
U
P
P
RSR0
U
P
P
Bank 0 寄存器
地址
0x05
0x06
0x07
0x08
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
位名
X
PS2
PS1
PS0
X
X
SIS
REM
上电
U
0
0
0
U
U
0
0
/RESET 和 WDT 溢出
U
0
0
0
U
U
0
0
从 休眠, 空闲 模式唤醒
U
P
P
P
U
U
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
位名
X
X
X
X
P73
P72
P71
P70
上电
U
U
U
U
1
1
1
1
/RESET 和 WDT 溢出
U
U
U
U
1
1
1
1
从 休眠, 空闲 模式唤醒
U
U
U
U
P
P
P
P
名称
SCR
Port 6
Port 7
Port 8
复位类型
位名
X
X
X
X
X
X
P81
P80
上电
U
U
U
U
U
U
1
1
/RESET 和 WDT 溢出
U
U
U
U
U
U
1
1
从 休眠, 空闲 模式唤醒
0x09
Port 9
U
U
U
U
U
U
P
P
位名
P97
P96
P95
P94
P93
P92
P91
P90
上电
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
位名
0x0B
TC4CR
0X0D
TC4D
ISFR0
0X0F
44 •
ISFR1
ISFR2
TC4CK2 TC4CK1 TC4CK0 TC4M1
TC4M0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
从 休眠, 空闲 模式唤醒
P
P
P
P
P
P
P
P
上电
0
TC4D7 TC4D6 TC4D5 TC4D4 TC4D3 TC4D2 TC4D1 TC4D0
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
位名
X
X
INT3F
INT3R
X
X
WDTIF
EXIF0
上电
U
U
0
0
U
U
0
0
/RESET 和 WDT 溢出
U
U
0
0
U
U
0
0
从 休眠, 空闲 模式唤醒
0X0E
TC4S
/RESET 和 WDT 溢出
位名
0x0C
TC4FF1 TC4FF0
上电
U
U
P
P
U
U
P
P
位名
EXIF5
TCIF2
ADIF
X
EXIF3
TCIF4
SPIF
TCIF3
上电
0
0
0
U
0
0
0
0
/RESET 和 WDT 溢出
0
0
0
U
0
0
0
0
从 休眠, 空闲 模式唤醒
U
P
P
U
P
P
P
P
位名
X
UERRIF
RBFF
TBEF
TBIF
EXIF1
X
TCIF0
上电
U
0
0
0
0
0
U
0
/RESET 和 WDT 溢出
U
0
0
0
0
0
U
0
从 休眠, 空闲 模式唤醒
U
P
P
P
P
P
U
P
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
Bank 1 寄存器
地址
0x05
Bit 7
Bit 6
位名
TC3CAP
TC3S
上电
0
0
0
0
/RESET 和 WDT 溢出
0
0
0
P
P
P
名称
TC3CR
复位类型
从 休眠, 空闲 模式唤醒
位名
0x06
TC3DA
TC3DB
0x0C
0X0D
0X0E
ADIC
ADDH
TBKTC
U
U
U
0
0
U
U
U
P
P
U
U
U
TC3DA7 TC3DA6 TC3DA5 TC3DA4 TC3DA3 TC3DA2 TC3DA1 TC3DA0
0
0
0
0
0
0
0
0
0
0
从 休眠, 空闲 模式唤醒
P
P
P
P
P
P
P
P
0
TC3DB7 TC3DB6 TC3DB5 TC3DB4 TC3DB3 TC3DB2 TC3DB1 TC3DB0
上电
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
ADD1
ADD0
X
TC2M
TC2S
U
U
U
0
0
0
0
P
P
U
0
0
0
0
0
P
P
U
P
0
P
P
P
0
TC2CK2 TC2CK1 TC2CK0
0
TC2D15 TC2D14 TC2D13 TC2D12 TC2D11 TC2D10 TC2D9 TC2D8
上电
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
TC2D7 TC2D6 TC2D5 TC2D4 TC2D3 TC2D2 TC2D1 TC2D0
上电
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
位名
ADCR
X
0
0
位名
0x0B
Bit 0
0
从 休眠, 空闲 模式唤醒
TC2DL
X
0
位名
0x0A
Bit 1
X
0
TC2CR/ 上电
ADDL /RESET 和 WDT 溢出
TC2DH
Bit 2
0
从 休眠, 空闲 模式唤醒
0x09
Bit 3
/RESET 和 WDT 溢出
位名
0x08
Bit 4
上电
位名
0x07
Bit 5
TC3CK1 TC3CK0 TC3M
ADP
ADIS2
ADIS1
ADIS0
上电
0
0
0
0
1
0
0
0
/RESET 和 WDT 溢出
0
0
0
0
1
0
0
0
从 休眠, 空闲 模式唤醒
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
从 休眠, 空闲 模式唤醒
P
P
P
P
P
P
P
P
位名
ADD9
ADD8
ADD7
ADD6
ADD5
ADD4
ADD3
ADD2
上电
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
位名
TEN
TCK1
TCK0
X
上电
0
0
0
0
0
0
0
0
/RESET 和 WDT 溢出
0
0
0
0
0
0
0
0
从 休眠, 空闲 模式唤醒
0
P
P
P
0
P
P
P
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
ADREF ADRUN ADCK1 ADCK0
0
TBTEN TBTCK2 TBTCK1 TBTCK0
• 45
EM78P809N
8位OTP微控制器
Bank 2 寄存器
地址
名称
复位类型
位名
0x05
0x06
URC1
URC2
URS
URRD
URTD
Bit 5
Bit 4
Bit 3
Bit 2
Bit 0
TXE
0
0
0
0
0
0
0
/RESET 和 WDT 溢出
P
P
P
P
P
P
0
0
从 休眠, 空闲 模式唤醒
P
0
P
P
P
P
P
0
位名
X
X
X
X
X
上电
U
U
0
0
0
U
U
U
/RESET 和 WDT 溢出
U
U
P
P
P
U
U
U
从 休眠, 空闲 模式唤醒
U
U
P
P
P
U
U
U
URRD8 EVEN
SBIM1 SBIM0 UINVEN
PRE
PRERR OVERR FMERR URBF
RXE
上电
U
0
0
0
0
0
0
0
/RESET 和 WDT 溢出
P
P
P
0
0
0
0
0
从 休眠, 空闲 模式唤醒
P
P
P
P
P
P
P
0
URRD7 URRD6 URRD5 URRD4 URRD3 URRD2 URRD1 URRD0
上电
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
位名
0x09
Bit 6
U
位名
0x08
Bit 7
上电
位名
0x07
Bit 1
URTD8 UMODE1 UMODE0 BRATE2 BRATE1 BRATE0 UTBE
URTD 7 URTD 6 URTD 5 URTD 4 URTD 3 URTD 2 URTD 1 URTD0
上电
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
Bank 3 寄存器
地址
名称
0x05
SPIC1
0x06
SPIC2
0x07
SPID1
0x0A
PHC1
0x0B
PLC2
0x0C
PHC2
0x0D
PLC2
46 •
复位类型
位名
上电
/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
SMP
DCOL BRS2 BRS1 BRS0
EDS DORD
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
P
P
P
P
P
P
X
X
X
SPIS
X
SPIM1 SPIM0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
0
P
P
P
P
P
P
SPID17 SPID16 SPID15 SPID14 SPID13 SPID12 SPID11
U
U
U
U
U
U
U
P
P
P
P
P
P
P
P
P
P
P
P
P
P
X
X
/PHE81 /PHE80 /PHE63 /PHE62 /PHE61
U
U
1
1
1
1
1
U
U
1
1
1
1
1
U
U
P
P
P
P
P
X
X
/PLE81 /PLE80 /PLE63 /PLE62 /PLE61
U
U
1
1
1
1
1
U
U
1
1
1
1
1
U
U
P
P
P
P
P
X
X
X
X
/PHE73 /PHE72 /PHE71
U
U
U
U
1
1
1
U
U
U
U
1
1
1
U
U
U
U
P
P
P
X
X
X
X
/PLE73 /PLE72 /PLE71
U
U
U
U
1
1
1
Bit 0
WBE
0
0
P
RBF
0
0
P
SPID10
U
P
P
/PHE60
1
1
P
/PLE60
1
1
P
/PHE70
1
1
P
/PLE70
1
/RESET 和 WDT 溢出
U
U
U
U
1
1
1
1
从 休眠, 空闲 模式唤醒
U
U
U
U
P
P
P
P
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
通用寄存器
地址
0x10
R10
~
~
0x3F
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
位名
-
-
-
-
-
-
-
-
上电
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
名称
复位类型
R3F 从 休眠, 空闲 模式唤醒
注意: X: 未使用.
U: 未知. P: 复位前的值. t: 查表 7
(*) 0: 从休眠唤醒 P: 从空闲模式唤醒
5.14.4 状态寄存器的RST, T与P的状态
T与P的值用于判断器件由什么唤醒, 表 7 列出了可影响T与P状态的事件.
表 7. 复位后RST, T与P的值
T
P
上电
1
1
运行模式下/RESET 引脚复位
*P
*P
休眠模式下/RESET 引脚唤醒
*P
*P
空闲模式下/RESET 引脚唤醒
*P
*P
运行模式下 WDT 溢出
0
*P
休眠模式下 WDT 溢出唤醒
0
*P
空闲模式下 WDT 溢出唤醒
0
*P
T
P
上电
1
1
WDTC 指令
1
1
WDT 溢出
0
*P
SLEP 指令
1
0
休眠模式下唤醒
*P
*P
复位类型
*P:复位前的值
表 8 影响T和P状态的事件
事件
*P: 复位前的值
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 47
EM78P809N
8位OTP微控制器
VDD
D
Q
CLK
CLR
振荡器
CLK
上电
复位
电压
检测
WDTE
WDT
WDT 溢出
RESET
启动时间
/RESET
图 5-28 复位控制框图
5.15 中断
EM78P809N有下表所示15种中断 (9 种外部中断, 6种内部中断):
表 9 中断向量
中断源
使能条件
中断标志
中断向量
优先级
复位
-
-
0000
高0
内部
WDT
ENI + WDTEN
WDTIF
0003
1
外部
INT0
ENI + INT0EN=1
EXIEF0
0006
2
内部
TCC
ENI + TCIE0=1
TCIF0
0009
3
外部
INT1
ENI + EXIE1=1
EXIF1
000F
4
内部
TBT
ENI + TBIE=1
TBIF
0012
5
内部
UART 传送
ENI + UTIE=1
TBEF
0015
6
内部
UART 接收
ENI + URIE=1
RBFF
0018
7
内部
UART 接收错误
ENI+UERRIE=1
UERRIF
001B
8
内部
TC3
ENI + TCIE3=1
TCIF3
0021
9
内部
SPI
ENI + SPIE=1
SPIF
0024
10
内部
TC4
ENI + TCIE4=1
TCIF4
0027
11
外部
INT3
ENI + EXIE3=1
EXIF3
002A
12
内部
AD
ENI + ADIE=1
ADIF
0030
13
内部
TC2
ENI + TCIE2=1
TCIF2
0033
14
外部
INT5
ENI + EXIE5=1
EXIF5
0036
低 15
内部 /
外部
48 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
ISFR0、ISFR1、ISFR2是中断状态寄存器, 其相关标志位记录了中断请求. IMR1与IMR2
为中断屏蔽寄存器. 全局中断的使能和禁止可通过执行ENI指令与DISI指令实现. 当其中
一个中断(使能)发生时, 下一指令将从对应的中断向量地址处开始执行. 在离开中断服务
程序前, 需由指令清除中断标志位, 以免发生重复中断.
中断状态寄存器(ISFR)的标志位(除ICIF位外)的置位与其屏蔽位的状态或ENI的执行无
关. RETI指令结束中断子程序并使能全局中断(自动执行ENI指令).
5.16 振荡
5.16.1 振荡模式
EM78P809N可工作于两种不同的振荡模式, 即晶体振荡器模式和外部RC振荡器模式
(ERC). 用户可通过代码选项寄存器来选择振荡模式. 在不同的VDD下, 晶体/谐振器的最
大工作频率限度如下表所示.
表 10 振荡器模式由SDCS与OSC定义
模式
单时钟
OSC
振荡器
1
高频振荡器
0
ERC
VDD
最大频率. (MHz)
3.0
4.0
5.0
10.0
表 11 最大运行速率
条件
高频振荡器
5.16.2 晶体振荡器/陶瓷谐振器(晶体)
EM78P809N有一时钟发生器, 即Fc(高频), 可被OSCI引脚上的外部时钟信号驱动.
在多数的应用中, OSCI与OSCO引脚可接晶体或陶瓷谐振器来产生振荡, 表 12 列出了
C1和C2的推荐值. 由于每个谐振器都有各自的特性, 用户应参考其规格来选择适当的C1
和C2值. 对于AT 切片晶体需串联一个电阻Rs.
OSCI
外部时钟
OSCO
EM78P809N
图 5-29 晶体/谐振器电路结构图
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 49
EM78P809N
8位OTP微控制器
C1
OSCI
EM78P809N 晶振
OSCO
RS
C2
图. 5-30 晶体/谐振器电路结构图
表12 晶体振荡器/陶瓷谐振器匹配电容的选择
振荡模式
频率模式
陶瓷谐振器
HXT
HXT
晶体振荡器
频率
C1 (pF)
C2 (pF)
2.0 MHz
20~40
20~40
4.0 MHz
10~30
10~30
1.0MHz
15~30
15~30
2.0MHz
15
15
4.0MHz
15
15
33
0
33
0
C
OSCI
740
4
EM78P809N
740
4
740
4
晶振
图 5-31晶体模式/谐振器串联电路结构图
4.7 K
10 K
Vdd
OSCI
740
4
EM78P809N
740
4
10
K
晶振
C1
C2
图 5-32 晶体模式/谐振器并联电路结构图
50 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
5.16.3 外部RC振荡模式
对于一些不需要精确计时的应用,使用RC振荡器可以节省一些费用。但是,需注意的是
RC振荡器的频率会受到工作电压、电阻值(Rext)、电容(Cext) 、甚至环境温度的影响。
此外,由于制造工艺的不同,不同芯片的频率也会有微小的差异。
为了获得稳定的系统频率,电容值需不小于20pF,电阻值需不大于1M欧姆, 否则频率就
很容易受噪声、湿度、漏电流的影响。
RC振荡器的电阻值Rext越小,频率越高。另一方面,对于很小的电阻值,如1 KΩ,由
于NMOS不能及时的释放电容电荷,振荡器将变得不稳定。
因此,须注意的是电源电压、环境温度、RC振荡器器件、封装形式及PCB布线方式均
会影响系统频率。.
Vdd
Rext
OSCI
Cext
EM78P809N
图 5-33 外部RC振动模式电路
表13 RC振荡频率
Cext
20 pF
100 pF
300 pF
Rext
Fosc 平均值 5V, 25°C
Fosc 平均值 3V, 25°C
3.3k
4.32 MHz
3.56 MHz
5.1k
2.83 MHz
2.8 MHz
10k
1.62 MHz
1.57 MHz
100k
184kHz
187kHz
3.3k
1.39 MHz
1.35 MHz
5.1k
950kHz
930kHz
10k
500kHz
490kHz
100k
54kHz
55kHz
3.3k
580kHz
550kHz
5.1k
390kHz
380kHz
10k
200kHz
200kHz
100k
21kHz
21kHz
注意: 1. DIP封装下的测量值.
2. 仅供设计参考
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 51
EM78P809N
8位OTP微控制器
5.17 代码选项寄存器
EM78P809N有一个代码选择字, 它并非是一般程序存储器的一部分. 在一般程序执行期
间, 选项位不能被访问.
代码选项寄存器和用户ID寄存器配置:
Word 0
Word 1
Word 2
Bit 12~Bit 0
Bit 12~Bit 0
Bit 12~Bit 0
5.17.1 代码选项寄存器 (Word 0)
Word 0
Bit 12 ~ 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
CLKS
ENWDTB
CYES
-
OSC
HLP
PR2
PR1
PR0
Bit 12 ~ 9: 未使用
Bit 8 (CLKS): 指令周期选择位.
CLKS = “0”: 两个振荡周期
CLKS = “1”: 四个振荡周期
参考指令集部分.
Bit 7 (ENWDTB): 看门狗定时器使能位.
ENWDTB = “0”: 使能
ENWDTB = “1”: 禁止
Bit 6 (CYES): JMP, CALL指令的周期选择
CYES = “0”: 一个指令周期
CYES = “1”: 两个指令周期
Bit 4 (OSC): 振荡器模式选择
OSC = “0”: RC 模式
OSC = “1”: 晶体模式
Bit 3 (HLP): 功耗选项
HLP = “0”: 低功耗
HLP = “1”: 高功耗
Bit 2~0 (PR2~PR0): 保护位
PR2~PR0 为写保护位, 其设定如下:
PR2
PR1
PR0
其它
1
52 •
1
保护
使能
1
禁止
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
5.17.2 用户ID寄存器
Word 1
Bit 12~Bit 0
XXXXXXXXXXXXX
Word 2
Bit 12~Bit 0
XXXXXXXXXXXXX
Bits 12 ~ 0: 用户ID代码
5.18 上电相关事项
任何微控制器在电源达到稳定之前,都不能保证开始正常运行。EM78P809N有一个检
测2.1V电压的电压检测器(POVD), 如果VDD上升足够快(10ms或更短), 它将可靠工
作。然而,在很多要求严格的应用中,还是需要附加外部电路来帮助解决上电问题.
5.18.1 外部上电复位电路
图5-34中的电路使用外部RC产生复位脉冲。脉冲的宽度(时间常数)应保持足够长时
间以使电源Vdd达到最低工作电压。该电路应用在电源电压上升比较慢的情况下,因为
/RESET引脚的漏电大约为±5µA,所以建议R要小于40 K。这样,引脚/RESET的电压将
控制在0.2V以下。二极管(D)在掉电时作为短路回路, 电容C将快速充放电, 限流电阻Rin
用来避免过大的电流或ESD(静电放电)流入/RESET引脚.
Vdd
R
/RESET
D
EM78P809N
Rin
C
图 5-34 外部上电复位电路
5.18.2 残留电压保护
更换电池时,器件的电源(Vdd)被断开,但残留电压仍存在。残留电压可能低于Vdd
的最低工作电压,但又不为0,这种情况可能引起复位不良。图5-35 与 图5-36指示出如
何建立一个残留电压的保护电路。
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 53
EM78P809N
8位OTP微控制器
Vdd
Vdd
33K
EM78P809N
Q1
10K
/RESET
40K
1N4684
图 5-35 残留电压保护电路1
Vdd
Vdd
R1
EM78P809N
Q1
/RESET
40K
R2
图 5-36 残留电压保护电路 2
5.19 指令集
每条指令有13位字宽,由一个操作码和一个或多个操作数组成。一般情况下,所有指令
的执行只需一个指令周期(一个指令周期由两个振荡周期组成),但改变程序计数器R2
的指令如"MOV R2,A", "ADD R2,A",或对R2进行算术或逻辑运算的指令(如"SUB R2,A",
"BS(C) R2,6","CLR R2"…)除外,这些情况下,执行这些指令需要两个指令周期.
倘若指令周期规格不适合一些应用, 试着做如下修改:
(A) 改一个指令周期由4个振荡周期组成.
(B) 执行以下命令需两个指令周期; "JMP"、 "CALL"、"RET"、 "RETL"、"RETI", 包括条
件跳转("JBS", "JBC"、"JZ"、, "JZA"、 "DJZ"、"DJZA")指令, 另外, 写程序计数器指令的
执行也需两个指令周期.
范例 (A)由代码选项位选择, 命名为CLK. 如果CLK为低, 那么一个指令周期由两个振荡周
期组成; 如果CLK为高则由四个振荡周期组成.
需注意地是, 在范例(A)中, 一旦选择了四个振荡周期组成一个指令周期, TCC的内部时钟
源就为CLK=Fosc/4, 而非 Fosc/2.
此外, 指令系统还有以下特征:
54 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
(1) 任何寄存器的每一位均可直接置1, 清零或测试.
(2) I/O 寄存器可视为一般的寄存器。即相同的指令可用于I/O 寄存器.
用符号"R"表示寄存器(包括工作寄存器和通用寄存器)中的某一个指定的寄存器,符号
"b" 表示当前寄存器R的某一指定位, 符号"k" 表示一个8或10位的常数或立即数。
十六进
制
二进制指令
助记符
0
0000 0000
0000
0000
NOP
0
0000 0000
0001
0001
DAA
0
0
0
0
0
0
0
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0001
0001
0001
0010
0011
0100
rrrr
0000
0001
0010
0002
0003
0004
000r
0010
0011
0012
CONTW
SLEP
WDTC
IOW
R
ENI
DISI
RET
0
0000 0001
0011
0013
RETI
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
0001
0001
0001
0001
0010
0010
0010
0010
0011
0011
0011
0011
0100
0100
0100
0100
0101
0101
0101
0101
0100
rrrr
rrrr
0000
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
0014
001r
00rr
0080
00rr
01rr
01rr
01rr
01rr
02rr
02rr
02rr
02rr
03rr
03rr
03rr
03rr
04rr
04rr
04rr
04rr
05rr
05rr
05rr
05rr
CONTR
IOR
MOV
CLRA
CLR
SUB
SUB
DECA
DEC
OR
OR
AND
AND
XOR
XOR
ADD
ADD
MOV
MOV
COMA
COM
INCA
INC
DJZA
DJZ
0001
0001
01rr
1000
11rr
00rr
01rr
10rr
11rr
00rr
01rr
10rr
11rr
00rr
01rr
10rr
11rr
00rr
01rr
10rr
11rr
00rr
01rr
10rr
11rr
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
操作
R
R, A
R
A,
R,
R
R
A,
R,
A,
R,
A,
R,
A,
R,
A,
R,
R
R
R
R
R
R
R
A
R
A
R
A
R
A
R
A
R
R
无操作
寄存器 A 的数由二进制调整
为 BCD 码
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∨R→A
A∨R→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 跳过
R-1 → R, 如果为 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
无
无
• 55
EM78P809N
8位OTP微控制器
二进制指令
十六进制
助记符
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
0111
0111
0111
100b
101b
110b
111b
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
rrrr
07rr
07rr
07rr
0xxx
0xxx
0xxx
0xxx
SWAP
JZA
JZ
BC
BS
JBC
JBS
R
R
R
R,
R,
R,
R,
1
00kk kkkk
kkkk
1kkk
CALL
k
1
1
1
1
1
1
1
1
1
1
01kk
1000
1001
1010
1011
1100
1101
1111
1110
1110
kkkk
kkkk
kkkk
kkkk
kkkk
kkkk
kkkk
kkkk
kkkk
kkkk
1kkk
18kk
19kk
1Akk
1Bkk
1Ckk
1Dkk
1Fkk
1E8k
1E9k
JMP
MOV
OR
AND
XOR
RETL
SUB
ADD
PAGE
BANK
k
A,
A,
A,
A,
k
A,
A,
k
k
01rr
10rr
11rr
bbrr
bbrr
bbrr
bbrr
kkkk
kkkk
kkkk
kkkk
kkkk
kkkk
kkkk
kkkk
1000
1001
操作
b
b
b
b
k
k
k
k
k
k
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)
if R(b)=0, 跳过
if R(b)=1, 跳过
PC+1 → [SP],
(Page, k) → (PC)
(Page, k) → (PC)
k→A
Avk→A
A&k→A
A⊕k→A
k → A, [栈顶] → PC
k-A → A
k+A → A
K → R5(6:4)
K → R4(7:6)
受影响
的状态
位
C
C
C
C
无
无
无
无
无
无
无
无
无
无
无
Z
Z
Z
无
Z, C, DC
Z, C, DC
无
无
1
注意: 此指令只用于IOC6 ~ IOCA, IMR1, IMR2.
6
最大绝对值范围
项目
工作温度
-40°C
到
85°C
储存温度
-65°C
到
150°C
输入电压
Vss-0.3V
到
Vdd+0.5V
Vss-0.3V
到
Vdd+0.5V
2.5V
到
5.5V
DC
到
10MHz
输出电压
工作电压
工作频率
56 •
范围
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
7
电气特性
7.1 直流电气特性
Ta= 25 °C, VDD= 5.0V ± 5%, VSS= 0V
符号
参数
条件
最小值 典型值
最大值
单位
晶振: VDD= 5V
指令周期为 2 个时钟周期
1
−
10
MHz
外部 RC: VDD= 5V
输入高临界电压(施密特触
发)
漏电流
输入低临界电压 (施密特
触发 )
漏电流
R: 5.1KΩ, C: 100 pF
630
900
1170
kHz
OSCI 在 RC 模式
2.8
4
4.5
V
VI 从低到高 , VI=5V
15.5
22
28.5
mA
OSCI 在 RC 模式
1.3
1.8
2.7
V
VI 从高到低 , VI=2V
12
17
22
mA
输入引脚输入漏电流
VIN = VDD, VSS
-1
0
1
µA
VIH1
输入高电压(施密特触发 )
Ports 6, 7, 8, 9
0.7VDD
−
VDD
+0.3V
V
VIL1
输入低电压(施密特触发 )
Ports 6, 7, 8, 9,
-0.3V
−
0.3 VDD
V
0.7 VDD
−
VDD
+0.3V
V
-0.3V
−
0.3 VDD
V
Fc
ERC
VIHRC
IRC1
VILRC
IRC2
IIL
VIHT1
VILT1
输入高临界电压(施密特触
/RESET, TCC, INT
发)
输入低临界电压(施密特触
/RESET, TCC, INT
发)
VIHX1
时钟输入高电压
OSCI 在晶振模式
0.7VDD
−
VDD+0.3
V
V
VILX1
时钟输入低电压
OSCI 在晶振模式
-0.3V
−
0.3VDD
V
IOH1
输出高电压
(Ports 6, 7, 8, 9)
VOH = VDD-0.4V
-3.5
-5
-6.5
mA
IOL1
输出低电压(Port 9)
VOL = VSS+0.4V
3
5
7
mA
VOL = VSS+0.4V
12
15
20
mA
激活上拉,输入引脚接 VSS
激活下拉,输入引脚接 VDD
WDT 禁
所有输入引脚和
止
I/O 引脚 接 VDD,
WDT
使
输出引脚悬空
能
-50
50
-75
75
-100
100
µA
uA
−
0.8
1.5
µA
−
6
10
µA
VDD=5V, /RESET= '高',
Fc=8MHz, CLKS="0", 输出
引脚悬空,
WDT 使能
−
1.1
1.5
mA
−
3.0
3.5
mA
IOL2
IPH
IPL
ISB1
ISB2
ICC3
ICC4
输出低电压
(Ports 6, Port 7, Port 8)
上拉电流
下拉电流
休眠模式
掉电电流
休眠 模式
掉电电流
空闲模式
2 个时钟周期的工作供电
电流
正常模式
2 个时钟周期的工作供电
电流
注意: 1. 这些参数是理论值(未经测试),仅供参考.
2. 最小值、典型值、最大值是在 25°C的理论值,仅供参考.
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 57
EM78P809N
8位OTP微控制器
7.2 AD转换特性
(Vdd=2.5V 到 5.5V, Vss=0V, Ta=25°C)
符号
参数
VAREF
模拟参考电压
VASS
VAI
IAI1
IAI2
Ivdd
Ivref
Ivdd
Ivref
最小 典型
最大值 单位
值
值
条件
VREF – VASS ≥ 2.5V
2.5
−
VDD
V
Vss
−
Vss
V
模拟输入电压
−
VASS
−
VREF
V
模拟供电电流
VDD =VREF=5.0V, VASS=0.0V
(参考电压= VDD)
750
850
1000
µA
-10
0
+10
µA
模拟供电电流
VDD =VAREF=5.0V, VASS=0.0V 500
(参考电压= VREF)
200
600
820
µA
250
300
µA
−
7
8
Bits
−
9
10
Bits
ADREF=0, 内部 VDD
RN1
解析度
RN2
解析度
LN1
线性误差
VDD = 2.5 到 5.5V Ta=25°C
0
±2
±4
LSB
LN2
线性误差
VDD= 2.5 到 5.5V Ta=25°C
0
±1
±2
LSB
DNL
差分非线性误差
VDD = 2.5 到 5.5V Ta=25°C
0
±0.5
±0.9
LSB
FSE1
满量程误差
VDD=VAREF=5.0V, VASS=0.0V
±0
±2
±4
LSB
FSE2
满量程误差
VDD=VREF=5.0V, VSS = 0.0V
±0
±1
±2
LSB
OE
失调误差
VDD =VAREF=5.0V, VASS=0.0V
±0
±0.5
±1
LSB
ZAI
模拟电压源的建议阻抗
−
0
8
10
KΩ
ADIV
A/D 输入电压范围
VDD =VAREF=5.0V, VASS=0.0V
0
−
VAREF
V
ADOV
A/D 输出电压浮动
VDD =VAREF=5.0V,
VASS=0.0V, RL=10KΩ
0
0.2
0.3
4.7
4.8
5
TAD
A/D 时钟周期
VDD =VAREF=5.0V, VASS=0.0V
4
−
−
µs
TCN
A/D 转换时间
VDD =VAREF=5.0V, VASS=0.0V
13
−
13
TAD
PSR
电源抑制
VDD =5.0V±0.5V
±0
−
±2
LSB
VDD=5.0V, VSS = 0.0V
ADREF=1, 外部 VREF
VDD=VREF=5.0V, VSS = 0.0V
V
注意: 1. 这些参数是理论值 (未经测试),仅供参考.
2. 除了很小的漏电流外,当关闭AD转换时,没有耗电流。
3. 当输入电压增加时AD转换结果不会减少,而没有缺失的代码会导致减少
58 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
7.3 MCU特性
以下所列图所示特性取自有限的样品,并不保证它的准确性,在此仅用作参考。有些图
片所示数据可能超出规格指定的工作范围。
Vih/Vil(施密特翻转引脚)
5
4.5
Vih 最大值 (-40℃ 到 85℃)
4
Vih Vil(Volt)
3.5
Vih 典型值 25℃
3
Vih 最小值 (-40℃ 到 85℃)
2.5
Vil 最大值 (-40℃ 到 85℃)
2
1.5
Vil 典型值 25℃
1
Vil 最小值 (-40℃到 85℃)
0.5
0
2
3
2.5
4
Vdd(Volt)
3.5
5
4.5
5.5
6
图 7-1 P60~P67, P70~P73, P80~P81, P90~P97的 Vih, Vil vs. VDD
Voh/Ioh (VDD=5V)
0
-5
Ioh(mA)
-10
-15
-20
85 ℃
-25
25℃
-30
- 40 ℃
-35
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Voh (Volt)
图 7-2 Port 6, Port 7, Port 8 和Port 9的 Voh vs. Ioh, VDD=5V
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 59
EM78P809N
8位OTP微控制器
Voh /Ioh (VDD=3V)
0
-2
Ioh(mA)
-4
-6
-8
85℃
-10
25℃
- 40℃
-12
0.3
0.6
0.9
1.2
1.5
1.8
2.1
2.4
2.7
3
Voh(Volt)
图 7-3 Port 6, Port 7, Port 8 和Port 9的 Voh vs. Ioh, VDD=3V
Vol/Iol (5V)
70
- 40℃
60
25℃
85℃
50
Iol (mA)
40
30
20
10
0
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
Vol (Volt)
图 7-4 Port 6, Port 7 和 Port 8 的Vol vs. Iol, VDD=5V
60 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
Vol / Iol (3V)
35
30
- 40℃
25
25℃
85℃
Iol(mA)
20
15
10
5
0
0
0.3
0.6
0.9
1.2
1.5
1.8
2.1
2.4
2.7
Vol(Volt)
图 7-5 Port 6, Port 7和Port 8的 Vol vs. Iol, VDD=3V
Vol/Iol (5V)
30
- 40℃
25
25℃
85℃
Iol (mA)
20
15
10
5
0
0
0.5
1
1.5
2 2.5
Vol (Volt)
3
3.5
4
4.5
图 7-6 Port 9 Vol vs. Iol, VDD=5V
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 61
EM78P809N
8位OTP微控制器
Vol / Iol (3V)
12
- 40℃
10
25℃
8
Iol(mA)
85℃
6
4
2
0
0 0.3 0.6 0.9 1.2 1.5 1.8 2.1 2.4 2.7
Vol(Volt)
图 7-7 Port 9 Vol vs. Iol, VDD=3V
WDT 溢出周期
30
25
WDT (mS)
85℃
20
25℃
0℃
15
- 40℃
10
5
0
2.5
3
4
3.5
4.5
VDD (Volt)
5
5.5
图 7-8 WDT 溢出周期 vs. VDD,预分频比为 1:1
62 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
Cext=100pF, 典型 RC OSC 频率
1.4
R=3.3K
频率 (MHz)
1.2
1
R=5.1K
0.8
0.6
R=10K
0.4
0.2
R=100K
0
2.5
3
3.5
4
VDD (Volt)
5
4.5
5.5
图 7-9 典型 RC OSC频率vs. VDD (Cext=100pF, 温度为25°C)
ERC OSC1.10
频率与温度的关系(Cext=100pF, Rext=5.1K)
1.08
1.06
Fosc/Fosc(25 )
1.04
?
1.02
1.00
0.98
0.96
0.94
-40
-30
-20
0.92
0
-10
10
20
温度
30
40
50
60
70
80
(℃)
图 7-10 典型RC OSC频率和温度的关系 (R和 C 为理想原件)
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 63
EM78P809N
8位OTP微控制器
工作电流 ICC3 和ICC4有两个条件. 条件如下:
ICC3: VDD=5V, Fosc=8MHz, 两个时钟周期, WDT使能, 空闲模式
ICC4: VDD=5V, Fosc=8MHz, 两个时钟周期, WDT使能, 正常模式
ICC3 和 ICC4 典型值与温度的关系
电流(mA)
4
ICC4典型值
3
2
1
ICC3典型值
0
-40
-20
0
25
50
70
85
温度 (℃)
图 7-11 典型工作电流 (ICC3和 ICC4)和温度的关系, VDD=5V
ICC3 和 ICC4 的最大值与温度的关系
电流(mA)
4
ICC4最大值
3
2
ICC3最大值
1
0
-40
-20
0
25
50
70
85
温度 (℃)
图 7-12 最大工作电流 (ICC3 和 ICC4) 和温度的关系, VDD=5V
64 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
电流(mA)
ICC3 和 ICC4 的典型值与温度的关系
4
3
2
ICC4典型值
1
ICC3典型值
0
-40
-20
0
25
50
70
85
70
85
温度 (℃)
图 7-13 典型工作电流 (ICC3和 ICC4)和温度的关系, VDD=3V
电流(mA)
ICC3 和 ICC4 最大值与温度的关系
4
3
ICC4最大值
2
1
ICC3最大值
0
-40
-20
0
25
50
温度 (℃)
图 7-14 最大工作电流(ICC3和 ICC4) 和 温度的关系, VDD=3V
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 65
EM78P809N
8位OTP微控制器
待机电流ISB1 和 ISB2有两个条件.条件如下:
ISB1: VDD=5V, WDT 禁止
ISB2: VDD=5V, WDT 使能
ISB1 和 ISB2 典型值与温度的关系
电流(uA)
9
7
ISB2典型值
5
3
ISB1典型值
1
-1
-40
-20
0
25
50
70
85
70
85
温度 (℃)
图 7-15 典型待机电流 (ISB1和 ISB2)和温度的关系
ISB1 和 ISB2 最大值与温度的关系
电流(uA)
9
ISB2最大值
7
5
3
ISB1最大值
1
-1
-40
-20
0
25
50
温度(℃)
图 7-16 最大待机电流 (ISB1和 ISB2)和温度的关系
66 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
OSC = 8MHz
3.5
3
I(mA)
2.5
2
1.5
1
0.5
最大值
最小值
0
2.5V
3.0V
3.5V
4.0V
4.5V
5.0V
5.5V
VDD(V)
图 7-17 工作模式的V-I 曲线, 工作频率是8MHz
7.4 交流电气特性
Ta=25 °C, VDD=5V±5%, VSS=0V
符号
Dclk
Tins
参数
条件
最小值
−
45
50
55
%
200
−
DC
ns
500
−
−
DC
−
ns
(Tins+20)/N*
11.3
2000
11.3
16.2
−
21.6
−
16.2
输入时钟的占空比
指令周期
(CLKS="0")
晶振类型
(高频)
RC 类型
−
典型值 最大值
单位
Ttcc
Tdrh
Trst
Twdt
TCC 输入时间周期
器件复位持续时间
/RESET 脉冲宽度
看门狗定时时间
Tset
输入引脚建立时间
−
−
0
21.6
−
Thold
输入引脚保持时间
−
−
20
−
ns
Tdelay
输出引脚延迟时间
−
50
−
ns
−
25
50
ns
−
25
50
ns
−
25
50
ns
200
−
−
ns
200
−
−
ns
400
−
−
ns
−
25
50
ns
Ta = 25°C
Ta = 25°C
Ta = 25°C
Cload=20pF
SDI 数据输入到 SCK↑或
Tstup1 SDI 数据建立时间
SCK↓的建立时间
SDI 数据输入到 SCK↑或
Thold1 SDI 数据保持时间
SCK↓的保持时间
SCK↑或 SCK↓到 SDO
Tvalid1 SDO 输出有效时间
数据输出
从机模式
Tsckh SCK 输入高的时间
(Fmain=8 MHz)
从机模式
Tsckl SCK 输入低的时间
(Fmain=8 MHz)
/SS↓到 SCK↑或
Tsetup2 从机模式建立时间
SCK↓(Fmain=8 MHz)
取消选择从机模式延迟 /SS↑到 SDO 输出高阻抗
Tdelay1
时间
延迟时间
ns
ms
ns
ms
ns
注意: * N= 选择预分频比
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 67
EM78P809N
8位OTP微控制器
7.5 时序图
交流测试输入/输出波形
VDD-0.5V
0.75VDD
0.25VDD
测试点
0.75VDD
0.25VDD
GND+0.5V
交 流测 试 : 输入 在被 VDD-0.5V 驱动 时为 逻辑 “ 1” ,在 GND+0.5V 时为 逻辑 “ 0” 。时 序测 量是 以
0.75VDD 代 表逻 辑 “ 1” , 0.25VDD 代表 逻 辑 “ 0” 。
复位时序 (CLK="0")
NOP
指令 1被执行
CLK
/RESET
Tdrh
TCC 输入时序(CLKS="0")
Tins
CLK
TCC
Ttcc
68 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
附录
A 封装类型:
OTP MCU
封装类型
引脚数
封装型号
EM78P809NPS/NPJ
DIP
28
600 mil
EM78P809NMS/NMJ
SOP
28
300 mil
EM78P809NKMS/NKMJ
SSOP
28
209 mil
绿色产品不包含危险物质
符合Sony SS-00259 第三版本标准
Pb 含量小于 100ppm
Pb 含量符合 Sony 规格说明
项目
EM78P809NxS/xJ
电镀类型
纯锡
成份 (%)
Sn: 100%
熔点(°C)
232°C
电阻率 (µΩ-cm)
11.4
硬度(hv)
8~10
伸长 (%)
>50%
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 69
EM78P809N
8位OTP微控制器
B 封装形式
B.1 28引脚塑封双列直插封装(PDIP)— 600 mil
70 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
B.2 28引脚塑封小外形封装 (SOP) — 300 mil
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 71
EM78P809N
8位OTP微控制器
B.3 28引脚塑封缩小外形封装 (SSOP) — 209 mil
72 •
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
EM78P809N
8位OTP微控制器
C 品质保证和可靠性
测试类别
测试条件
备注
焊料温度=245±5°C, 使用松香在上面停留 5 秒
软焊性
步骤 1: TCT, 65°C (15 分钟)~150°C (15 分钟), 10 次
步骤 2: 在 125°C 烘烤, TD (持续时间)=24 小时
步骤 3: 储存在 30°C/60% , D (持续时间)=192 小时
步骤 4: IR 变化 3 次
前提条件
(Pkg 厚度: 2.5mm 或
适合 SMD IC (例如
SOP, QFP, SOJ 等)
Pkg 体积: 350mm3 ----225±5°C)
(Pkg 厚度: 2.5mm 或
Pkg 体积: 350mm3 ----240±5°C)
-65°C (15 分钟) ~ 150°C (15 分钟), 200 次
温度周期测试
TA =121°C, RH=100%, 压强=2 atm,
高压锅测试
TD (持续时间)= 96 小时
高温 /高湿度测试
TA=85°C, RH=85% , TD (持续时间)=168, 500 小时
高温保存期
TA=150°C, TD (持续时间)=500, 1000 小时
TA=125°C, VCC=最大工作电压,
高温工作寿命
TD (持续时间) =168, 500, 1000 小时
Latch-up
TA=25°C, VCC=最大工作电压, 150mA/20V
ESD (HBM)
TA=25°C, ≥ | ± 3KV |
IP_ND,OP_ND,IO_ND
IP_NS,OP_NS,IO_NS
IP_PD,OP_PD,IO_PD,
TA=25°C, ≥ | ± 300V |
ESD (MM)
IP_PS,OP_PS,IO_PS,
VDD-VSS(+),VDD_VS
S (-)模式
C.1 地址陷阱检测
地址陷阱检测是MCU嵌入式自动防止故障危害功能的一种,检测MCU由噪声或类似造
成的功能故障。无论何时MCU试图从ROM区获取一条指令,内部恢复电路将自动开始。
如果检测到噪声引起地址错误,MCU重复执行程序直到噪声消除。 MCU 将继续执行下
一条指令。
版本号 (V1.1) 12.11.2007
(产品更新后规格书不保证同步更新)
• 73