EM78F734N

EM78F734N
8位
位
微控制器
产品规格书
版本 1.0
义隆电子股份有限公司
2014.5
商标告知:
IBM 为一个注册商标,PS/2 是 IBM 的商标之一。
Windows 是微软公司的商标。
ELAN 和 ELAN 标志
是义隆电子股份有限公司的商标。
版权所有 © 2014 义隆电子股份有限公司
所有权利保留
台湾印制
本使用说明文件内容如有变动恕不另作通知。关于该规格书的准确性、适当性或者完整性,义隆电子股份
有限公司不承担任何责任。 义隆电子股份有限公司不承诺对本使用说明文件之内容及信息有更新及校正
之义务。 本规格书的内容及信息将为符合确认之指示而变更。
在任何情况下,义隆电子股份有限公司对本使用说明文件中的信息或内容的错误、遗漏,或者其它不准确
性不承担任何责任。由于使用本说明文件中的信息或内容而导致的直接,间接,特别附随的或结果的损害,
义隆电子股份有限公司没有义务负责。
本规格书中提到的软件(如果有),都是依据授权或保密合约合法提供的,并且只能在这些合约的许可条
件下使用或者复制。
义隆电子股份有限公司的产品不是专门来应用于设计生命维持的器具,装置或者系统。 义隆电子股份有
限公司的产品不支持而且禁止在这些方面的应用。
未经义隆电子股份有限公司书面同意,任何个人或公司不得以任何形式或方式对本使用说明文件的内容之
任一部分进行复制或传输。
义隆电子股份有限公司
总公司:
总公司
地址:台湾新竹科学园区
创新一路 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 (U.S.A.)
深圳分公司:
深圳分公司
上海分公司:
上海分公司
义隆电子(
义隆电子(深圳)
深圳)有限公司
P.O. Box 601
Cupertino, CA 95015
USA
Tel: +1 408 366-8225
Fax:+1 408 366-8225
义隆电子(
义隆电子(上海)
上海)有限公司
地址:上海浦东新区张江高科
地址:深圳市高新技术产业园南区
技园区碧波路 5 号科苑大厦 6
高新南六道迈科龙大厦 8A.
楼
邮编:518057
邮编: 201203
电话:+86 755 2601-0565
电话:+86
21 5080-3866
传真:+86 755 2601-0500
传真:+86
21
5080-0273
[email protected]
[email protected]
目录
目录
1 综述 .................................................................................................................. 1
2 特性 .................................................................................................................. 1
3 引脚配置 ........................................................................................................... 2
4 引脚描述 ........................................................................................................... 3
5 结构图...............................................................................................................
5
结构图
6 功能描述 ........................................................................................................... 6
6.1 操作寄存器 ................................................................................................................................. 6
6.1.1
R0 (间接寻址寄存器)..................................................................................................... 6
6.1.2
R1 (定时器时钟/计数器)................................................................................................ 6
6.1.4
R3 (状态寄存器)............................................................................................................. 8
6.1.5
R4 (RAM 选择寄存器) .................................................................................................. 8
6.1.6
Bank 0 R5 ~ R8 (端口 5 ~端口 8) ................................................................................. 8
6.1.7
Bank 0 R9 TBPTL (表格指针寄存器低字节寄存器).................................................... 8
6.1.8
Bank 0 RA (唤醒控制寄存器)........................................................................................ 8
6.1.9
Bank 0 RB (EEPROM 控制寄存器) ................................................................................. 9
6.1.10 Bank 0 RC (EEPROM 地址寄存器) .............................................................................. 9
6.1.11 Bank 0 RD (EEPROM 数据寄存器) ............................................................................ 10
6.1.12 Bank 0 RE (CPU 运行控制寄存器) ............................................................................. 10
6.1.13 Bank 0 RF (中断状态寄存器) ...................................................................................... 11
6.1.14 R10 ~ R3F ..................................................................................................................... 11
6.1.15 Bank 1 R5 TC1CR (定时器 1 控制寄存器) ................................................................. 11
6.1.16 Bank 1 R6 TC1DA (定时器 1 数据缓冲器 A) ............................................................. 14
6.1.17 Bank 1 R7 TC1DB(定时器 1 数据缓冲器 B) ........................................................... 14
6.1.18 Bank 1 R8 OSCR (振荡器控制寄存器) ....................................................................... 14
6.1.19 Bank 1 R9 TC2DA (定时器 2 数据缓冲器 A) ............................................................. 15
6.1.20 Bank 1 RA TC2DB (定时器 2 数据缓冲器 B) ............................................................. 15
6.1.21 Bank 1 RB ~RE ............................................................................................................. 15
6.1.22 Bank 1 RF (中断状态寄存器) ...................................................................................... 15
6.1.23 Bank 2 R5 AISR (ADC 输入选择寄存器) ................................................................... 16
6.1.24 Bank 2 R6 ADCON (A/D 控制寄存器) ....................................................................... 16
6.1.25 Bank 2 R7 ADOC (A/D 失偿校正寄存器) .................................................................. 17
6.1.26 Bank 2 R8 ADDH (AD 高 8 位数据缓冲器) ............................................................... 18
6.1.27 Bank 2 R9 ADDL (AD 低 4 位数据缓冲器) ................................................................ 18
6.1.28 Bank 2 RA ~ RE ............................................................................................................ 18
6.1.29 Bank 2 RF (上拉控制寄存器 1) ................................................................................... 18
6.1.30 Bank 3 R5 ...................................................................................................................... 19
6.1.31 Bank 3 R6 TBPTH (表格指针寄存器高字节寄存器) ................................................. 19
6.1.32 Bank 3 R7~RC .............................................................................................................. 19
版本号(V1.0)
05.11.2014
版本号
• iii
目录
6.1.33 Bank 3 RD TC3CR (定时器 3 控制寄存器) ................................................................ 19
6.1.34 Bank 3 RE TC3D (定时器 3 数据缓冲器) ................................................................... 21
6.1.35 Bank 3 RF (下拉控制寄存器 1) .................................................................................. 21
6.2 特殊功能寄存器 ....................................................................................................................... 22
6.2.1
A (累加器) .................................................................................................................... 22
6.2.2
CONT (控制寄存器) .................................................................................................... 22
6.2.3
6.2.4
IOC5 ~ IOC8 (I/O 端口控制寄存器) ........................................................................... 23
IOC9 .............................................................................................................................. 23
6.2.5
IOCA (WDT 控制寄存器) ............................................................................................ 23
6.2.6
IOCB (下拉控制寄存器 2) ........................................................................................... 24
6.2.7
IOCC (开-漏控制寄存器) ............................................................................................ 24
6.2.8
IOCD (上拉控制寄存器 2)........................................................................................... 25
6.2.9
IOCE (中断屏蔽寄存器 2) ........................................................................................... 25
6.2.10 IOCF (中断屏蔽寄存器 1) ........................................................................................... 25
6.3 TCC/WDT 和预分频 ................................................................................................................ 27
6.4 I/O 端口..................................................................................................................................... 28
6.5 复位和唤醒 ............................................................................................................................... 31
6.5.1
复位 ............................................................................................................................... 31
6.5.2
中断操作模式和唤醒的总结 ....................................................................................... 32
6.5.3
寄存器初始值的总结 ................................................................................................... 33
6.5.4
状态寄存器的 RST,T 和 P 状态 ................................................................................... 38
6.6 中断 ........................................................................................................................................... 40
6.7 数据 EEPROM .......................................................................................................................... 42
6.7.1
数据 EEPROM 控制寄存器 ......................................................................................... 42
6.7.2
编程步骤/例程展示 ...................................................................................................... 43
6.8 模-数转换器 (ADC) .................................................................................................................. 44
6.8.1
ADC 控制寄存器 (AISR/R5, ADCON/R6, ADOC/R7) ............................................... 44
6.8.2
Bank 2 R5 AISR (ADC 输入选择寄存器) ................................................................... 44
6.8.3
Bank 2 R6 ADCON (A/D 控制寄存器) ....................................................................... 45
6.8.4
Bank 2 R7 ADOC (A/D 失偿校正寄存器) .................................................................. 46
6.8.5
ADC 数据缓冲器 (ADDH, ADDL/R8, R9) ................................................................. 46
6.8.6
A/D 抽样时序 ............................................................................................................... 46
6.8.7
A/D 转换时间 ............................................................................................................... 47
6.8.8
A/D 工作在休眠模式下 ............................................................................................... 47
6.8.9
编程步骤/思考 .............................................................................................................. 47
6.9 定时器/计数器 1 ...................................................................................................................... 50
6.10 定时器/计数器 3 ...................................................................................................................... 52
6.11 振荡器 ...................................................................................................................................... 54
6.11.1 振荡模式 ....................................................................................................................... 54
iv •
版本号 (V1.0)05.13.2014
目录
6.11.2 晶体振荡器/陶瓷谐振器(晶体) .............................................................................. 54
6.11.3 内部 RC 振荡模式........................................................................................................ 56
6.12 代码选项寄存器 ...................................................................................................................... 57
6.12.1 代码选项寄存器 (Word 0)............................................................................................ 57
6.12.2 代码选项寄存器 (Word 1)............................................................................................ 58
6.12.3 代码选项寄存器 (Word 2)............................................................................................ 59
6.13 上电问题 .................................................................................................................................. 60
6.14 外部上电复位电路 .................................................................................................................. 60
6.15 残留电压保护 .......................................................................................................................... 61
6.16 指令集 ...................................................................................................................................... 62
7 时序图 ..................................................................................................................... 65
8 最大绝对值 .............................................................................................................. 66
9 DC 电气特性 ........................................................................................................... 66
9.1 数据 EEPROM 电气特性 ......................................................................................................... 67
9.2 闪存电气特性 ........................................................................................................................... 67
9.3 A/D 转换器特性 ....................................................................................................................... 68
10 AC 电气特性 ................................................................................................ 69
附录
A
封装类型 ..................................................................................................... 70
B
封装信息 ..................................................................................................... 71
B.1 EM78F734ND16 300mil ........................................................................................................... 71
B.2 EM78F734NSO16 300mil......................................................................................................... 72
B.3 EM78F734NSS16 150mil ......................................................................................................... 73
B.4 EM78F734ND18 300mil ........................................................................................................... 74
B.5 EM78F734NSO18 300mil......................................................................................................... 75
B.6 EM78F734ND20 300mil ........................................................................................................... 76
B.7 EM78F734NSO20 300mil......................................................................................................... 77
C
品质保证和可靠近性....................................................................................
78
品质保证和可靠近性
C.1 地址缺陷检测 ........................................................................................................................... 78
版本号 (V1.0)05.13.2014
•v
目录
规格书修订历史
版本号
1.0
vi •
修订描述
初始版本
日期
2014/05/13
版本号 (V1.0)05.13.2014
EM78F734N
8位微控制器
位微控制器
1 综述
EM78F734N是采用低功耗高速CMOS和噪声高抗干扰工艺设计开发的8位微控制器。其内部有一个4Kx13位
的片上电可擦除闪存和128x8位系统可编程EEPROM。它还提供3个保护位避免用户的闪存程序被盗取。
具有增强的Flash-ROM特性的EM78F734N能够为用户提供开发和校验程序的便利。另外,此Flash-ROM器
件为开发和编程工具提供了容易而有效的程序更新优势。用户可以很容易的使用义隆烧录器烧写自己的开发
代码。
2 特性
CPU 结构
• 4K×13位闪存
• 144×8 位片上寄存器 (SRAM)
•
128 字节系统可编程 EEPROM
•
8 级堆栈用于子程序嵌套
12位
位精度7通道的模
通道的模-数转换器
通道的模 数转换器
外设配置
•
•
•
•
•
•
工作电压范围
• 2.2V~5.5V时-40°C ~85°C (工业级)
• 2.2V~5.5V时0°C ~70°C (商业级)
•
•
操作频率范围(
操作频率范围(基于 2 个时钟)
个时钟)
IRC偏移率(Vdd @ 3.3V)
漂移率
内部 RC 频率
温度
(-10°C+40°C)
制程
总计
455kHz
1 MHz
4 MHz
8 MHz
±1%
±1%
±1%
±1%
±1%
±1%
±1%
±1%
±2%
±2%
±2%
±2%
•
IRC 偏移率(温度: -10°C+40°C)
漂移率
内部 RC 频率
电压
(3.0~ .6V)
制程
总计
455kHz
1 MHz
4 MHz
8 MHz
±1%
±1%
±1%
±1%
±1%
±1%
±1%
±1%
±2%
±2%
±2%
±2%
一个 16 位定时器/计数器
位定时器 计数器
•
TC1 : 定时器/计数器/捕获
一个 8 位定时器/计数器
位定时器 计数器
•
TC3 : 定时器/计数器/PDO(可编程驱动输
出)/PWM(脉宽调制)
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
内部中断: 4个
外部中断: 4个
I/O 端口结构
• 3 组双向 I/O 端口
• 唤醒端口:P6
• 12个可编程下拉I/O引脚
• 8个可编程上拉I/O引脚
• 4 个可编程漏极开路I/O引脚
• 外部中断:P60
•
8个可用的中断
个可用的中断:
个可用的中断
•
•
8位可选信号源、触发沿和溢出中断的实时时钟
/计数器(TCC)
掉电 (休眠) 模式
4级可编程电压复位(LVR)
(LVR):3.3V, 3.0V, 2.6V和 2.0V (POR)
3个保护位防止闪存代码被盗取
1个配置寄存器以适应用户的需求
每条指令两个时钟周期
高抗 EFT 特性
两个副频:128kHz和16kHz,
16kHz由128kHz分频所得
单指令周期命令
振荡模式中的5个晶振范围
振荡模式中的 个晶振范围
晶振范围
振荡模式
20 MHz ~ 12 MHz HXT2
12 MHz~6 MHz
HXT1
6 MHz ~ 1 MHz
XT
1MHz ~ 100kHz
LXT
可编程的独立运行看门狗定时器
封装类
封装类型:
•
•
•
•
•
•
•
16-引脚 DIP 300mil
16-引脚SOP 300mil
16-引脚SSOP 150mil
18-引脚DIP 300mil
18-引脚SOP 300mil
20-引脚DIP 300 mil
20-引脚SOP 300mil
:EM78F734ND16
:EM78F734NSO16
:EM78F734NSS16
:EM78F734ND18
:EM78F734NSO18
:EM78F734ND20
:EM78F734NSO20
注: 绿色产品不含有害物质
•1
EM78F734N
8位微控制器
位微控制器
3 引脚配置
图 3-1 EM78F734ND16/SO16/SS16
图3-2 EM78F734ND18/SO18
图 3-3 EM78F734ND20/SO20
2•
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
4 引脚描述
表 1 EM78F734N 引脚描述
说明: ST: 施密特触发输入
CMOS: CMOS 输出
名称
AN: 模拟引脚
XTAL: 晶振/振荡器的振荡引脚
功能
输入类型
输出类型
P50
ST
CMOS
VREF
AN
−
P51
P51
ST
CMOS
双向 I/O 端口。可通过软件编程设置为内部下拉
P52
P52
ST
CMOS
双向 I/O 端口。可通过软件编程设置为内部下拉
P53
P53
ST
CMOS
双向 I/O 端口。可通过软件编程设置为内部下拉
P54
ST
CMOS
双向 I/O 端口
XTAL
−
RCOUT
−
CMOS
P55
ST
CMOS
双向 I/O 端口
−
XTAL
晶振时钟输出
P57
ST
CMOS
双向 I/O 端口
TC3
ST
−
PDO
−
CMOS
可编程分频输出
AD7
AN
−
ADC 输入通道 7
P60
ST
CMOS
AD0
AN
−
ADC 输入通道 0
/INT
ST
−
外部中断引脚
P61
ST
CMOS
AD1
AN
−
P50/VREF
P54/OSCI/RCOUT
P55/OSCO
OSCI
OSCO
P57/TC3/AD7
P60/AD0//INT
P61/AD1
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
描述
双向 I/O 端口。可通过软件编程设置为内部下拉
ADC 外部电压参考
外部晶振时钟输入引脚
内部 RC 振荡时钟输出
内部 RC 振荡时钟输出(开漏)
定时器 3 输入(计数器/捕获/窗口)
定时器 3 输出 (PDO/PWM/蜂鸣器)
双向 I/O 端口。可通过软件编程设置为内部下拉、上
拉使能漏极开路功能和引脚状态改变唤醒功能
双向 I/O 端口。可通过软件编程设置为内部下拉、上
拉使能漏极开路功能和引脚状态改变唤醒功能
ADC 输入通道 1
•3
EM78F734N
8位微控制器
位微控制器
( 续)
名称
功能
输入
类型
输出
类型
P62
ST
CMOS
AD2
AN
−
P62/AD2
P71
(CLK)
P72
CMOS
AD3
AN
−
P70
ST
CMOS
双向 I/O 端口,上拉
(DATA)
ST
CMOS
烧录程序的数据引脚
P71
ST
CMOS
双向 I/O 端口,上拉
(CLK)
ST
−
烧录程序的时钟引脚
P72
ST
CMOS
双向 I/O 端口,上拉
P73
ST
CMOS
双向 I/O 端口,上拉
AD4
AN
−
P74
ST
CMOS
TC1
ST
−
P77
ST
CMOS
TCC
ST
−
实时时钟/计数器时钟输入
AD5
AN
−
ADC 输入通道 5
P83
ST
CMOS
/RESET
ST
−
内部上拉复位引脚
(/RESET)
ST
−
烧录程序的复位引脚
VDD
电源
−
电源
VDD
电源
−
烧录程序的 VDD
VSS
电源
−
地
VSS
电源
−
烧录程序的 VSS
P74/TC1
P83//RESET
(/RESET)
VDD
(VDD)
VSS
(VSS)
4•
ADC 输入通道 2
双向 I/O 端口。可通过软件编程设置为内部下拉、上拉
使能漏极开路功能和引脚状态改变唤醒功能
ST
P73/AD4
P77/TCC/AD5
双向 I/O 端口。可通过软件编程设置为内部下拉、上拉
使能漏极开路功能和引脚状态改变唤醒功能
P63
P63/AD3
P70
(DATA)
描述
ADC 输入通道 3
ADC 输入通道 4
双向 I/O 端口
定时器 1 输入 (计数器/捕获)
双向 I/O 端口
双向 I/O 端口
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
5 结构图
图 5-1 EM78F734N功能结构框图
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
•5
EM78F734N
8位微控制器
位微控制器
6 功能描述
6.1 操作寄存器
6.1.1 R0 (间接寻址寄存器)
R0并非实际存在的寄存器。它的主要功能是作为间接寻址。任何对R0操作的指令实际
上是对RAM选择寄存器(R4)所指定的寄存器进行的操作。
6.1.2 R1 (定时器时钟/计数器)
R1 通过TCC引脚的外部信号边沿或内部指令时钟周期进行加1计数,TCC引脚信号边沿
由TE位(CONT-4) 设定。和其他寄存器一样可读写。通过复位PSTE(CONT-3)来定义。
若PSTE位(CONT-3)复位,则预分频器分配给TCC。仅当TCC寄存器被写入一个值时,
预分频计数器的内容才被清零。
6.1.3 R2 (程序计数器 )和堆栈
基于控制器类型,R2和硬件堆栈有10位宽,其结构描述如图6-1所示。
生成 4K×13 位片内Falsh ROM中的地址存取相关程序指令码。一个程序页为1024字长。
复位产生时,R2所有位均清“0”
"JMP" 指令可直接加载程序计数器 的低10位。因此,"JMP" 允许PC在一个程序页任意
跳转。.
"CALL" 指令装载程序计数器的低10位,并将PC+1值压入堆栈。因此,子程序入口地址
可定位在一个程序页的任何位置。
”LJMP” 指令允许直接装载程序计数器位(A0-A11)
,因此,“LJMP”允许程序计数器跳
12
转到4K(2 )范围内的任何位置。
"LCALL"指令首先装载程序计数器位(A0~A11),然后将PC+1值 压入堆栈。因此,子程
12
序入口地址可定位在4K (2 )范围内的任何位置。
"RET" ("RETL k", "RETI")指令将栈顶数据装入程序计数器。
"ADD R2, A"可将一个相对地址与当前PC相加,PC的第9及以上各位逐次递增。
"MOV R2, A"允许从A寄存器装载一个地址到PC的低8位,同时PC 的第9位和第10位保
持不变。
任何对R2进行操作的指令(例如: "MOV R2, A", "BC R2, 6")除“ADD R2,A”外都不会引
起PC的第9位和第10位(A8~A9)改变。
所有指令都是单指令周期(fclk/2),除了会改变R2中内容的指令以及LCALL、LJMP、
TBRD指令外.LCALL、LJMP、TBRD指令需要两个指令周期。
6•
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
图 6-1 程序计数器结构图
图 6-2 数据存储器结构图
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
•7
EM78F734N
8位微控制器
位微控制器
6.1.4 R3 (状态寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
−
−
−
T
P
Z
DC
C
Bits 7 ~ 5: 未使用, 始终设置为 “0”
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):
进位标志位
6.1.5 R4 (RAM 选择寄存器)
Bits 7~ 6: 用于选择Bank 0~Bank 3
Bits 5~ 0: 在间接寻址方式中用于选择寄存器(地址: 00~3F)
参照数据存储器结构图6-2。
6.1.6 Bank 0 R5 ~ R8 (端口 5 ~端口 8)
R5~R8 是 I/O 数据寄存器。
6.1.7 Bank 0 R9 TBPTL (表格指针
表格指针寄存器低字节寄存器
寄存器低字节寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RBit 7
RBit 6
RBit 5
RBit 4
RBit 3
RBit 2
RBit 1
RBit 0
6.1.8 Bank 0 RA (唤醒控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
ICWE
ADWE
EXWE
-
-
−
−
Bit 7 :
未使用, 始终设置为 “0”
Bit 6 (ICWE): 端口6输入状态改变唤醒使能位
0: 禁止端口6输入状态改变唤醒
1: 使能端口6输入状态改变唤醒
Bit 5(ADWE): ADC唤醒使能位
8•
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
0: 禁止ADC唤醒
1: 使能ADC唤醒
在A/D转换运行情况下,当ADC转换完成用于进入中断向量或将
EM78F734N从休眠模式下唤醒时,ADWE位必须设为“使能”。
Bit 4 (EXWE): 外部中断唤醒使能位
0: 禁止外部/INT 引脚唤醒
1: 使能外部/INT 引脚唤醒
Bits 3 ~ 0:
未使用, 始终设置为 “0”
6.1.9 Bank 0 RB (EEPROM 控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RD
WR
EEWE
EEDF
EEPC
-
-
-
Bit 7 (RD):
读控制寄存器
0 : 禁止执行EEPROM读操作
1 : 读EEPROM中的内容(RD可由软件置1,读指令执行完成之后硬件清
0)
Bit 6 (WR):
写控制寄存器
0 : 一个 EEPROM的写周期完成
1 : 一个写周期开始(WR可由软件置1,在写周期完成之后WR由硬件清
0)
Bit 5 (EEWE): EEPROM 写使能位
0 : 禁止写EEPROM
1 : 允许写EEPROM
Bit 4 (EEDF): EEPROM 检测标志位
0 : 写周期完成
1 : 写周期未完成
Bit 3 (EEPC): EEPROM 掉电控制位
0 : 关闭EEPROM
1 : EEPROM在运行
Bits 2 ~ 0:
未使用,始终置为“0”
6.1.10 Bank 0 RC (EEPROM 地址寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
EE_A6
EE_A5
EE_A4
EE_A3
EE_A2
EE_A1
EE_A0
Bits 6 ~ 0: EEPROM 地址
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
•9
EM78F734N
8位微控制器
位微控制器
6.1.11 Bank 0 RD (EEPROM 数据寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
EE_D7
EE_D6
EE_D5
EE_D4
EE_D3
EE_D2
EE_D1
EE_D0
Bit 2
Bit 1
Bit 0
Bits 7 ~ 0: EEPROM 数据
6.1.12 Bank 0 RE (CPU 运行控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
-
TIMERSC
CPUS
IDLE-
-
Bit 7:
未使用,始终置为“0”
Bit 6 (TIMERSC): TCC, TC1, TC3 时钟源选择
0 : Fs. Fs: 副频用作WDT内部RC时基
1 : Fm. Fm: 主振荡器时钟
Bit 5 (CPUS):
CPU 振荡源选择
0 = 副振荡器 (fs)
1 = 主振荡器 (fosc)
当CPUS=0, CPU振荡器选择副频且主振荡器停止
主振荡器停止
Bit 4 (IDLE):
空闲模式使能位。在SLEP指令下由该位决定空闲模式
0 : IDLE=”0”+SLEP 指令→ 休眠模式
1 : IDLE=”1”+SLEP 指令→ 空闲模式
CPU 操作模式
图 6-3 CPU 搮作模式
Bits 3 ~ 0:
10 •
未使用,始终置为“0”
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
6.1.13 Bank 0 RF (中断状态寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
−
ADIF
-
-
-
EXIF
ICIF
TCIF
注: “ 1 ” 表示有中断请求
Bit 7:
“ 0 ”表示没有中断产生
未使用,始终置为“0”
Bit 6 (ADIF): 中断标志用于模数转换。当AD转换完成后置位,由软件复位
未使用,始终置为“0”
Bits 5~3:
Bit 2 (EXIF): 外部中断标志。/INT引脚检测到下降沿时置位,由软件清零
Bit 1 (ICIF): 端口6输入状态改变中断标志。当端口6输入改变时置位,由软件清零
Bit 0 (TCIF): TCC 溢出中断标志位。当TCC溢出时该位置位,由软件复位。
Bank 0 RF 可由指令清零但不能被置位。
IOCF 是中断屏蔽寄存器。
注意
Bank 0 RF的读取结果是Bank 0 RF和 IOCF 的“逻辑与”.
6.1.14 R10 ~ R3F
这些都是8位通用寄存器。
6.1.15 Bank 1 R5 TC1CR (定时器1控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
TC1CAP
TC1S
TC1M
TC1ES
Bit 3
Bit 2
TC1MOD TCK1CK2
Bit 1
Bit 0
TC1CK1
TC1CK0
Bit 7 (TC1CAP): 软件捕获控制
0 : 软件捕获禁止
1 : 软件捕获使能
Bit 6 (TC1S):
定时器/计数器1开启控制
0 : 停止并清计数器
1 : 开始定时器/计数器1
Bit 5 (TC1M):
定时器/计数器1模式选择
0 : 定时器/计数器1模式
1 : 捕获模式
Bit 4 (TC1ES):
TC1 信号沿
0 : 如果TC1引脚上有低到高(上升沿)的改变发生,则计数器加1
1 : 如果TC1引脚上有高到低(下降沿)的改变发生,则计数器加1
Bit 3 (TC1MOD): 定时器操作模式选择位
0 : 2 个 8 位定时器
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 11
EM78F734N
8位微控制器
位微控制器
1: 定时器1与2接合成一个16位的定时器。相应的1 6位定时控制寄存
器来自定时器1。TC1DA和TC1DB是低字节。TC2DA和TC2DB是高字
节。
Bit 2 ~ Bit 0 (TC1CK2 ~ TC1CK0): 定时器/计数器1 时钟源选择
时钟源
TC1CK2
TC1CK1
TC1CK0
正常
0
0
0
分辨率
最大时间
分辨率
最大时间
8 MHz
8 MHz
16kHz
16kHz
FC=8M
FC=8M
FC=16K
FC=16K
FC/2
23
1.05s
19.1hr
145hr
9544hr
13
1.024ms
67.11s
512ms
33554.432s
0
0
1
FC/2
0
1
0
FC/2
8
32µs
2.097s
16ms
1048.576s
FC/2
3
1µs
65.536ms
0.5ms
32768ms
2
0.5µs
32.768ms
0.25ms
16384ms
0
1
1
1
0
0
FC/2
1
0
1
FC/2
0.25µs
16.384ms
125µs
8192ms
1
1
0
FC
125ns
8.192ms
0.0625ms
4096ms
1
外部时钟
(TC1 引
脚)
-
-
-
-
1
1
Bits 1 ~ 0: 未使用,始终置为“0”
图 6-4 定时器/计数器1结构框图
在定时器模式下,
在定时器模式下 使用内部时钟加计数。当加计数器中的值等于TC1DA时,则中断产生
并且计数器清零。 计数器清零之后重新加计数。可通过置TC1CAP位为“1”和捕获后
TC1CAP位自动被清零将加计数器的当前内容装载到TC1DB中。
12 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
在计数器模式下,
在计数器模式下,使用外部时钟输入引脚(TC1引脚)并由TC1ES选择上升沿或下降沿
来执行加计数,但上升沿和下降沿均不可用
但上升沿和下降沿均不可用。当加计数器中的内容与TC1DA中的值相等
但上升沿和下降沿均不可用
时,则中断产生,并且计数器清零。计数器清零之后重新加计数。可通过置TC1CAP位
为“1”和捕获后TC1CAP位自动被清零将加计数器的当前内容装载到TC1DB中。通过设
定TC1MOD位为“1”,计数器将工作在16位模式下。
在捕获模式下,
在捕获模式下,TC1输入引脚的脉宽、周期和占空比在这种模式下被测量,这种模式还
可以用来解码遥控信号。计数器通过内部时钟自由运行。在TC1引脚输入信号的上升沿
(下降沿)的时候,计数器的内容被载入到TC1DA寄存器中,然后计数器清零并产生中
断。在TC1引脚输入信号的下降沿(上升沿)的时候,计数器的内容被载入到TC1DB寄
存器中。在TC1引脚输入信号的下一个上升沿的时候,计数器仍然计数,计数器中的内
容被载入到TC1DA中,计数器清零且中断再次产生。如果在检测到边沿之前发生溢出,
FFH被载入到TC1DA中,并且溢出中断产生。在中断处理过程当中,如果TC1DA的值
为FFH,通过检测决定是否有溢出。在中断(捕获TC1DA或溢出检测)产生之后,捕获
和溢出检测则被中止直至TC1DA中的值被读出。通过设定TC1MOD位为“1”,捕获模式
将工作在16位方式下。
图 6-5 (a) 8位捕获模式下的时序图
图 6-5 (b) 16位捕获模式下的时序图
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 13
EM78F734N
8位微控制器
位微控制器
6.1.16 Bank 1 R6 TC1DA (定时器 1数据缓冲器 A)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC1DA7
TC1DA6
TC1DA5
TC1DA4
TC1DA3
TC1DA2
TC1DA1
TC1DA0
Bit 7 ~ Bit 0 (TC1DA7 ~ TC1DA0): 8位定时器/计数器1的数据缓冲器
6.1.17 Bank 1 R7 TC1DB(定时器 1数据缓冲器 B)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC1DB7
TC1DB6
TC1DB5
TC1DB4
TC1DB3
TC1DB2
TC1DB1
TC1DB0
Bit 7 ~ Bit 0 (TC1DB7 ~ TC1DB0): 8位定时器/计数器1的数据缓冲器
6.1.18 Bank 1 R8 OSCR (振荡
振荡器
器控制)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RCM1
RCM0
−
−
−
−
−
−
Bit 7 ~and Bit 6 (RCM1, RCM0): IRC模式选择位
烧录器校正 IRC
4 MHz
1 MHz
8 MHz
455kHz
Bank1 R8<7,6>
RCM1 RCM0
频率
0
0
4 MHz
0
1
1 MHz
1
0
8 MHz
1
1
455kHz
0
0
4 MHz
0
1
1 MHz
1
0
8 MHz
1
1
455kHz
0
0
4 MHz
0
1
1 MHz
1
0
8 MHz
1
1
455kHz
0
0
4 MHz
0
1
1 MHz
1
0
8 MHz
1
1
455kHz
注意
BANK1 R8<7,6 > 的初始化值与WORD 1<3,2>.保持一致。
在A频率转换成B频率之后,EM78F734N需要保持一段时间保持频率B稳定。
例: 烧录器校正IRC4MHZ→ BANK1 R8<7,6>置“10” ” → 保持 3 µs → EM78 F734N
工作在 8 MHz ± 10%
14 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
代码选择字1 COBS=0:
R8<7,6 > 的初始化值将仍然与Word 1<3,2>保持一致。
R8<7,6 > 不能改变频率。
代码选择字1 COBS=1:
R8<7,6 >的初始化值将仍然与Word 1<3,2>保持一致。
当用户想使其工作在其他IRC频率时,可以改变R8<7,6>。
6.1.19 Bank 1 R9 TC2DA (定时器2数据缓冲器 A)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC2DA7
TC2DA6
TC2DA5
TC2DA4
TC2DA3
TC2DA2
TC2DA1
TC2DA0
Bits 7~0 (TC2DA7~ TC2DA0): 8位定时器/计数器2数据缓冲器。
6.1.20 Bank 1 RA TC2DB (定时器2数据缓冲器 B)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC2DB7
TC2DB6
TC2DB5
TC2DB4
TC2DB3
TC2DB2
TC2DB1
TC2DB0
Bit 7 ~ Bit 0 (TC2DB7 ~ TC2DB0): 8位定时器/计数器2数据缓冲器。
6.1.21 Bank 1 RB ~RE
这些是保留的寄存器。
6.1.22 Bank 1 RF (中断状态寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
TCIF3
−
TCIF1
-
-
-
注: “ 1 ” 表示有中断请求
Bits 7~6:
“ 0 ” 表示没有中断请求
未使用,始终置为“0”
Bit 5 (TCIF3): 8位定时器/计数器3 中断标志位。中断标志由软件清零。
Bit 4:
未使用,始终置为“0”
Bit 3 (TCIF1): 8位定时器/计数器1 中断标志位。中断标位由软件清零。
Bits 2~0:
未使用,始终置为“0”
Bank 1 RF 可由指令清零但不能被设定。IOCE是中断屏蔽寄存器。
注意
读取的Bank 1 RF 中的结果是Bank 1中 RF与IOCE“逻辑与”所得。
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 15
EM78F734N
8位微控制器
位微控制器
6.1.23 Bank 2 R5 AISR (ADC输入选择寄存器)
AISR寄存器用于设定ADC引脚是作为模拟输入还是数字I/O口。
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADE7
−
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
Bit 7 (ADE7): P57引脚的AD转换器使能位
0 : 禁止ADC7,P57功能作为I/O引脚
1 : 使能ADC7功能作为模拟输入引脚
未使用,始终置为“0”
Bit 6:
Bit 5 (ADE5): P77引脚的AD转换器使能位
0 : 禁止ADC5,P77功能作为I/O引脚
1 : 使能ADC5功能作为模拟输入引脚
Bit 4 (ADE4): P73引脚的AD转换器使能位
0 : 禁止ADC4,P73功能作为I/O引脚
1 : 使能ADC4功能作为模拟输入引脚
Bit 3 (ADE3): P63引脚的AD转换器使能位
0 : 禁止ADC3,P63功能作为I/O引脚
1 : 使能ADC3功能作为模拟输入引脚
Bit 2 (ADE2): P62引脚的AD转换使能位
0 : 禁止ADC2,P62功能作为I/O引脚
1 : 使能ADC2功能作为模拟输入引脚
Bit 1 (ADE1): P61引脚的AD转换使能位
0 : 禁止ADC1,P61功能作为I/O引脚
1 : 使能ADC1功能作为模拟输入引脚
Bit 0 (ADE0): P60引脚的AD转换器使能位
0 : 禁止ADC0,P60功能作为I/O引脚
1 : 使能ADC0功能作为模拟输入引脚
下表说明了P60/AD1//INT的优先级。
P60/AD0//INT 优先级
高
中
低
/INT
AD0
P60
6.1.24 Bank 2 R6 ADCON (A/D 控制寄存器)
16 •
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
VREFS
CKR1
CKR0
ADRUN
ADPD
ADIS2
ADIS1
ADIS0
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
Bit 7 (VREFS): ADC输入的参考电压源
0 : ADC的参考电压连接到通过Bank 2 R9<5,4> (默认值) 设置的内部参
考电压和P50/VREF引脚实施P50的功能。
1 : ADC的参考电压连接到P50/VREF引脚。
Bit 6 ~ Bit 5 (CKR1 ~ CKR0): ADC的振荡时钟分频比
CKR1/CKR0
操作模式
最大操作频率
00
FOSC/4
4 MHz
01
FOSC
1MHz
10
FOSC/16
8 MHz
11
FOSC/2
1 MHz
RCM[1:0]*
频率 (MHz)
抽样和
抽样和保持时间
00
4
8 x TAD
01
1
4 x TAD
10
8
12 x TAD
11
455k
2 x TAD
*当使用XT,LXT1,HXT1,HXT2模式时,可以通过修改代码选择字1中的RCM[1:0]来设定抽样与保
持时间。
Bit 4 (ADRUN): ADC开始运行
0 : AD转换完成后复位。这个位不能由软件复位。
1 : A/D转换开始。这个位可由软件置位。
ADC 掉电模式
Bit 3 (ADPD):
0 :在CPU运行的时候也关闭寄存器以降低功耗。
1 : ADC正在运行。
Bits 2~0 (ADIS2~ADIS0): AD输入选择位
ADIS2
ADIS1
ADIS0
AD 输入引脚
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
保留
1
1
1
AD7
6.1.25 Bank 2 R7 ADOC (A/D 失偿校正寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
−
−
−
−
−
PDE
−
−
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 17
EM78F734N
8位微控制器
位微控制器
Bits 7~3:
未使用,始终设置为“0”
Bit 2 (PDE): 1/2 VDD 电源检测使能位。
0 : 禁止电源检测(默认)
1 : 使能电源检测
PDE
ADIS2
ADIS1
ADIS0
AD 输入选择
1
−
−
−
1/2VDD
0
×
×
×
ADx
Bits 1~0:
未使用,始终置为“0”
6.1.26 Bank 2 R8 ADDH (AD高8位数据缓冲器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADD11
ADD10
ADD9
ADD8
ADD7
ADD6
ADD5
ADD4
当A/D转换完成后,高8位转换结果被载入到ADDH中。ADRUN位i清零且ADIF置位。R8
只读。
6.1.27 Bank 2 R9 ADDL (AD 低4位数据缓冲器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
IRVS1
IRVS0
ADD3
ADD2
ADD1
ADD0
Bits 7 ~ 6: 未使用,始终设置为“0”
Bits 5 ~ 4 (IRVS1~IRVS0):内部参考电压选择
IRVS[1:0]
参考电压
00
AVDD
01
4V
10
3V
11
2.5 V
Bits 3 ~ 0: AD低4位缓冲器数据
6.1.28 Bank 2 RA ~ RE
这些是保留的寄存器。
6.1.29 Bank 2 RF (上拉控制寄存器 1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
-
-
/PH73
/PH72
/PH71
/PH70
Bits 7 ~ 4:
未使用,始终设置为“0”
Bit 3 (/PH73): 控制位用于使能P73引脚的上拉功能
0 : 使能内部上拉
1 : 禁止内部上拉
Bit 2 (/PH72): 控制位用于使能P72引脚的上拉功能
18 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
Bit 1 (/PH71): 控制位用于使能P71引脚的上拉功能
Bit 0 (/PH70): 控制位用于使能P70引脚的上拉功能
RF寄存器可读写。
6.1.30 Bank 3 R5
保留的寄存器。
6.1.31 Bank 3 R6 TBPTH (表格指针寄存器高字节寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
MLB
0
0
0
RBit 11
RBit 10
RBit 9
RBit 8
Bit 7 (MLB):对机器码的MSB或LSB操作
Bits 6 ~ 4: 未使用,始终设置为“0”
Bits 3 ~ 0:
表指针地址的第11~8位
6.1.32 Bank 3 R7~RC
保留的寄存器。
6.1.33 Bank 3 RD TC3CR (定时器 3控制)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC3FF1
TC3FF0
TC3S
TC3CK2
TC3CK1
TC3CK0
TC3M1
TC3M0
Bit 7 ~ Bit 6 (TC3FF1 ~ TC3FF0): 定时器/计数器3触发控制
TC3FF1
TC3FF0
操作模式
0
0
清零
0
1
触发器
1
0
设定
1
1
保留
Bit 5 (TC3S): 定时器/计数器3开始控制
0 : 停止并清计数器
1 : 开始定时器/计数器3
Bit 4 ~ Bit 2 (TC3CK2 ~ TC3CK0): 定时器/计数器3时钟源选择
TC3CK2
0
0
0
0
1
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
TC3CK1
0
0
1
1
0
TC3CK0
0
1
0
1
0
时钟源
分辨率
最大时间
正常
Fc=8M
Fc=8M
250 µs
64 ms
16 µs
4 ms
4 µs
1 ms
1 µs
255 µs
500 ns
127.5 µs
Fc/2
11
Fc/2
Fc/2
Fc/2
Fc/2
7
5
3
2
• 19
EM78F734N
8位微控制器
位微控制器
1
0
1
Fc/2
1
1
0
1
1
1
1
250 ns
63.8 µs
Fc
125 ns
31.9 µs
外部时钟 (TC3 引脚)
-
-
Bit 1 ~ Bit 0 (TC3M1 ~ TC3M0): 定时器/计数器3操作模式选择
TC3M1
TC3M0
操作模式
0
0
定时器/计数器
0
1
保留
1
0
可编程分频输出
1
1
脉冲宽度调制输出
图 6-6 定时器/计数器3结构图
在定时模式,
在定时模式 加计数是以内部时钟(上升沿触发)进行的。当计数器的值与TCR3匹配时,
中断产生且计数器清零。计数器清零后重新恢复计数。
在计数模式,
在计数模式,加计数是以外部输入引脚(TC3引脚)进行的。当计数器的值与TCR3匹
配时, 中断产生且计数器清零。计数器清零后重新恢复计数。
在可编程分频输出(
)模式,
在可编程分频输出(PDO)
模式,加计数是以内部时钟进行的。 TCR3中的内容与加计
数器中的值进行比较。当发现匹配时,F/F输出被触发并且计数器每次被清零。F/F输出
反相并输出到/PDO引脚。这个模式可以产生占空比为50%的脉冲输出。F/F可以由软件
初始化并且在复位后初始化为“0”。每次TC3中断产生时/PDO输出被触发。
20 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
图 6-7 PDO 模式时序图
在脉宽调制(
)输出模式,
在脉宽调制(PWM)
输出模式,加计数是以内部时钟进行的。TCR3的内容与加计数器
中的内容进行比较并且TCR3的内容应该比1大(包括1)。当发生匹配时,F/F被触发。
计数器继续计数,当计数器溢出时,F/F再次被触发,之后计数器被清零。F/F 输出反相
并输出到/PWM引脚。产生一次溢出,TC3中断就会产生一次。TCR3作为2层转换寄存
器并且即使TCR3超过写入的范围,只至一个输出周期完成时,输出才会转换。因此,
输出可以连续改变。再者,首先将TC3S设为“1”可以改变TRC3。之后数据被载入到
TCR3。
图 6-8 PWM模式时序图
6.1.34 Bank 3 RE TC3D (定时器 3数据缓冲器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC3D7
TC3D6
TC3D5
TC3D4
TC3D3
TC3D2
TC3D1
TC3D0
Bit 7 ~ Bit 0 (TC3D7 ~ TC3D0): 8位定时器/计数器3数据缓冲器
6.1.35 Bank 3 RF (下拉控制寄存器 1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
-
-
/PD73
/PD72
/PD71
/PD70
Bit 7~ Bit 4:
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
未使用,始终设置为“0”
• 21
EM78F734N
8位微控制器
位微控制器
Bit 3 (/PD73): 控制位用于使能P73引脚的下拉
0 : 使能内部下拉
1 : 禁止内部下拉
Bit 2 (/PD72): 控制位用于使能P72引脚的下拉
Bit 1 (/PD71): 控制位用于使能P71引脚的下拉
Bit 0 (/PD70): 控制位用于使能P70引脚的下拉
RF寄存器可读写。
6.2 特殊功能寄存器
6.2.1 A (累加器)
内部数据传输操作,或者经常保持指令操作数充当累加器的暂存功能,它不是一个可寻
址的寄存器。
6.2.2 CONT (控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
INTE
/INT
TS
TE
PSTE
PST2
PST1
PST0
Bit 7 (INTE): INT 信号沿
0 : 在INT引脚的上升沿时,产生中断。
1 : 在INT引脚的下降沿时,产生中断。
Bit 6 (/INT): 中断使能标志
0 : 由DISI或者硬件屏蔽中断
1 : 通过ENI/RETI指令使能中断
Bit 5 (TS):
TCC 信号源
0 : 内部指令周期时钟
1 : TCC引脚的改变
Bit 4 (TE):
TCC 信号沿
0 : 如果TCC引脚发生由低到高的变化,则加1
1 : 如果TCC引脚发生由高到低的变化,则加1
Bit 3 (PSTE): TCC的预分频使能位
0 : 预分频禁止位,TCC分频比是 1:1
1 : 预分频使能位,TCC分频比由Bit 2~Bit 0设定
Bit 2 ~ Bit 0 (PST 2 ~ PST0): TCC预分频位
22 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
TCC 分频比
PST2
PST1
PST0
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
CONT 寄存器可读写。
6.2.3 IOC5 ~ IOC8 (I/O端口控制寄存器)
设定为“1”相应的I/O引脚进入高阻状态,而为“0”时相应的I/O口作为输出。
IOC5、 IOC6 、IOC7 和 IOC8 寄存器可读写。
6.2.4 IOC9
保留的寄存器。
6.2.5 IOCA (WDT 控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
WDTE
EIS
-
-
PSWE
PSW2
PSW1
PSW0
Bit 7 (WDTE): 控制位用于使能看门狗定时器
0 : 禁止WDT
1 : 使能 WDT
WDTE可读写。
Bit 6 (EIS):
控制位用于定义P60 (INT)引脚功能
0 : P60,双向 I/O 引脚
1 : INT,外部中断引脚。在此情况下,P60的I控制位。(IOC6的Bit 0 )必
须设为"1"
当EIS为“0”时,/INT的路径被屏蔽。当EIS为“1”时,/INT引脚的状态也可
通过读取Port 6(R6)的方式来读取。
EIS 可读写。
Bits 5~4:
未使用,始终设置为“0”
Bit 3 (PSWE): WDT的预分频使能位
0 : 预分频禁止位,WDT分频比为1:1
1 : 预分频使能位,WDT分频比由Bit 0~Bit 2来设定
Bit 2 ~ Bit 0 (PSW2 ~ PSW0): WDT预分频位
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 23
EM78F734N
8位微控制器
位微控制器
PSW2
PSW1
PSW0
WDT 分频比
0
0
0
1:2
0
0
1
1:4
0
1
0
1:8
0
1
1
1:16
1
0
0
1:32
1
0
1
1:64
1
1
0
1:128
1
1
1
1:256
6.2.6 IOCB (下拉控制寄存器 2)
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): 控制位用于使能P63引脚的下拉
0 : 使能内部下拉
1 : 禁止内部下拉
Bit 6 (/PD6): 控制位用于使能P62引脚的下拉
Bit 5 (/PD5): 控制位用于使能P61引脚的下拉
Bit 4 (/PD4): 控制位用于使能P60引脚的下拉
Bit 3 (/PD3): 控制位用于使能P53引脚的下拉
Bit 2 (/PD2): 控制位用于使能P52引脚的下拉
Bit 1 (/PD1): 控制位用于使能P51引脚的下拉
Bit 0 (/PD0): 控制位用于使能P50引脚的下拉
IOCB寄存器可读写。
6.2.7 IOCC (开-漏控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
−
−
−
−
OD3
OD2
OD1
OD0
Bits 7 ~ 4:
未使用,始终设置为“0”
Bit 3 (OD3): 控制位用于使能P63引脚漏极开路
0 : 禁止开漏输出
1 : 使能开漏输出
Bit 2 (OD2): 控制位用于使能P62引脚漏极开路
Bit 1 (OD1): 控制位用于使能P61引脚漏极开路
24 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
Bit 0 (OD0): 控制位用于使能P60引脚漏极开路
IOCC 寄存器可读写。
6.2.8 IOCD (上拉控制寄存器 2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
−
−
−
−
/PH3
/PH2
/PH1
/PH0
Bits 7~4:
未使用,始终设置为“0”
Bit 3 (/PH3): 控制位用于使能P63引脚的上拉
0 : 使能内部上拉
1 : 禁止内部上拉
Bit 2 (/PH2): 控制位用于使能P62引脚的上拉
Bit 1 (/PH1): 控制位用于使能P61引脚的上拉
Bit 0 (/PH0): 控制位用于使能P60引脚的上拉
IOOD寄存器可读写。
6.2.9 IOCE (中断屏蔽寄存器 2)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
−
−
TCIE3
−
TCIE1
−
−
−
Bits 7~6:
未使用,始终设置为“0”
Bit 5 (TCIE3): 中断使能位
0 : 禁止TCIF3 中断
1 : 使能 TCIF3 中断
Bit 4:
未使用,始终设置为“0”
Bit 3 (TCIE1): 中断使能位
0 : 禁止TCIF1中断
1 : 使能TCIF1中断
Bits 2~0:
未使用,始终设置为“0”
6.2.10 IOCF (中断屏蔽寄存器 1)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
−
ADIE
−
−
−
EXIE
ICIE
TCIE
Bit 7:
未使用,始终设置为“0”
Bit 6 (ADIE): ADIF 中断使能位
0 : 禁止ADIF中断
1 : 使能ADIF中断
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 25
EM78F734N
8位微控制器
位微控制器
当ADC转换完成用于进入中断向量或下一条指令,ADIE位必须设为“使
能”。
Bits 5 ~ 3:
未使用,始终设置为“0”
Bit 2 (EXIE): EXIF中断使能位
0 : 禁止EXIF中断
1 : 使能EXIF中断
从EXINT开始执行下面的步骤:首先设置EXIE,然后设置EIS.EXINT内部
比较值默认为0.然后设置上升沿和INT引脚威高,因为执行EXINT设置将
引起立即的触发信号和生成一个中断。
Bit 1 (ICIE): ICIF 中断使能位
0 : 禁止 ICIF 中断
1 : 使能 ICIF 中断
Bit 0 (TCIE): TCIF 中断使能位
0 : 禁止 TCIF 中断
1 : 使能 TCIF 中断
单个中断使能是通过设定IOCF中其相关的控制位为“1”来实现的。
全局中断由ENI指令使能和DISI指令禁止。IOCF寄存器可读写。
26 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
6.3 TCC/WDT 和预分频
有两个8位的计数器分别作为TCC和WDT的预分频器。CONT 寄存器的PST0~ PST2 位
用于设置TCC的预分频比;同样的,IOCA 寄存器的 PSW0~ PSW 2位 用于设置WDT
的预分频比。每次执行写入TCC的指令,预分频计数器都会被清零。同样,WDT和其预
分频比被WDTC、SLEP指令清零,图6-9描述了TCC/WDT的电路结构。
R1(TCC) 是一个8位 定时/计数器。TCC的时钟源可以是内部时钟或外部信号输入(由
TCC引脚输入,触发沿可选择)。如果TCC的信号源是来自内部时钟,每一Fc时钟TCC
就加1(没有预分频器)。如果TCC的信号源是来自外部时钟输入,在每一个下降沿或
上升沿TCC加1。TCC引脚输入脉冲宽度(保持在高或低电平)必须大于1个CLK,若进
入休眠TCC将停止工作。
看门狗定时器是一个独立运行的片内RC振荡器。即使在其它振荡器关闭的情况下(也就
是休眠模式下),WDT仍保持运行。不管是在正常模式还是在休眠模式,WDT定时器溢
出(若使能)都将使MCU复位。. 在正常模式下,通过软件设置可任意地禁止和使能
WDT。 参考 IOCA寄存器的 WDTE 位设置,在没有WDT预分频器情况下,WDT溢出时
1
间大约是16.5 ms (振荡器的启动时间)。
图 6-9 TCC 和 WDT 方框图
1
VDD=5V, WDT 溢出周期 = 16.5ms ± 5% VDD=3V
WDT 溢出周期 = 16.5ms ± 5%.
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 27
EM78F734N
8位微控制器
位微控制器
6.4 I/O 端口
I/O 寄存器, 端口 5、6、7 和 8 为双向三态 I/O 端口。端口 6/7 可由软件设置为内部上拉。
此外,端口 6 可通过软件设置为漏极开路输出。具有引脚输入状态改变中断(或唤醒)
功能的端口 6 P50~P53 和 P60~P63 以及端口 7 引脚可由软件设为下拉。每个 I/O 引脚
都可通过设置相应的 I/O 控制寄存器(IOC5 ~ IOC8)定义为“输入”或“输出”引脚。
I/O 寄存器和控制寄存器都是可读写的。 端口 5~端口 8的接口电路如下列图所示:图
6-10, 6-11 (a), 6-11 (b), 和图6-12。
PCRD
Q
_
Q
PORT
Q
_
Q
P
R
C
L
P
R
C
L
D
CLK
PCWR
IOD
D
CLK
PDWR
PDRD
0
1
M
U
X
注: 下拉没有展示在该图中
图 6-10 I/O 端口和端口5,6,7的 I/O 控制寄存器电路
注: 上(下)拉和漏极开路没有展示在图中
图 6-11 (a) I/O端口和P60(INT)的I/O控制寄存器电路
28 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
PCRD
P61~P63
PORT
0
1
Q
_
Q
P
R D
CLK
C
L
PCWR
Q
_
Q
P
R D
CLK
C
L
PDWR
IOD
M
U
X
PDRD
P
R
CLK
C
L
D
TIN
Q
_
Q
注: 上(下)拉和漏极开路没有展示在图中
图 6-11 (b) I/O端口和P61~P63, P83的I/O控制寄存器电路
图 6-12 具有输入改变中断/唤醒的端口6的方框图
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 29
EM78F734N
8位微控制器
位微控制器
表 6-1 端口6输入改变唤醒
端口 输入改变唤醒/中断功能的用法
输入改变唤醒 中断功能的用法
端口 6 输入状态改变唤醒/中断的用法
输入状态改变唤醒 中断的用法
(I) 唤醒输入状态改变
(a) 休眠前
(II) 中断输入状态改变
中断输入状态改变
1. 读 I/O 端口 6 (MOV R6,R6)
1. 禁止 WDT2 (小心使用)
2. 执行 "ENI"
2. 读 I/O 端口 6 (MOV R6,R6)
3.使能中断 (设定 IOCF=1)
3 a. 使能中断(设定 IOCF=1),唤醒后,
如果“ENI”打开中断向量(006H)
4. 如果端口 6 改变(中断)→ 中
断向量 (006H)
如果“DISI”执行下一条指令
3 b. 禁止中断(设定 IOCF=0).总是执行下一
条指令
4. 使能唤醒位(设定 RA=6)
5. 执行 "SLEP"指令
(b) 唤醒后
1.如果 "ENI" → 中断向量 (006H)
2. 如果 "DISI" → 下一条指令
2
软件禁止 WDT(看门狗定时器)但应用前必须使能
端口 6 改变唤醒功能(代码选择寄存器 Word 0 第 6 位(ENWDTB)设为”1”)
30 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
6.5 复位和唤醒
6.5.1 复位
复位可由以下事件触发:
(1) 上电复位
(2) /RESET 引脚输入“低”
(3) WDT 溢出(若使能)
在检测到复位后,器件将保持在复位状态大约18ms3 (一次振荡器启动时间)。一旦产生
复位,以下功能将被执行。
振荡器保持运行,或开始起振
程序计数器(R2)全部清"0".
所有I/O引脚均被配置为输入模式(高阻态).
看门狗定时器及其预分频器清零
当电源打开时,R3的高3位被清零
RB、RC、RD、RE寄存器的位恢复到以前的状态
除了第6位(INT标志)
,CONT寄存器的其他位全被设为 “0”
上拉、下拉位
Bank 0 RF,IOCF寄存器被清零
执行”SLEP”指令后即进入休眠(掉电)模式。进入休眠模式后, WDT(若使能)清零但仍保
持运行。唤醒产生后,在RC模式下,唤醒时间是 16clocks。
控制器可由如下事件唤醒:
(1) /RESET 引脚的外部复位输入
(2) WDT溢出(若使能)
(3) 端口6输入状态改变 (若使能).
(4) 外部(P60/INT)引脚改变 (若 EXWE 使能).
(5) A/D转换完成 (若ADWE 使能).
前两个事件(1&2)将使EM78F734N 产生复位。R3寄存器的T和P标志可用来判定复位
(唤醒)源,事件3~5将综合考虑程序的后续执行和全局中断("ENI" 或 "DISI"是否被执行)
的情况决定控制器在唤醒后是否进入到中断向量。若在SLEP指令前执行了 ENI 指令,
唤醒后,指令将跳转到地址0x3, 0x6 0xF, 0x15 或 0X30处执行。如果在”SLEP”指令前
3
Vdd = 5V, 建立时间= 16.5ms ± 5%
Vdd = 3V, 建立时间 = 16.5ms ± 5%
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 31
EM78F734N
8位微控制器
位微控制器
执行了DISI指令,唤醒后,指令将从SLEP指令的下一条指令处开始执行。整个休眠模
式的唤醒时间是 150 µs,无论哪个振荡模式 (低频晶振模式除外)。在低频晶振模式2下,
唤醒时间为500 ms。
在进入休眠模式之前有事件 3 至 6 之一或更多可被使能,但仅被以下事件之一唤醒:
[a] 若 在 SLEP 之前 WDT 被使能, RE 的所有位被禁止。因此,MCU 仅能由 事件 1 或
2 唤醒. 详细请参考中断章节 6.6。.
[b] 若端口输入状态改变被用于唤醒MCU 并且RA寄存器的ICWE位在SLEP指令之前被
使能, WDT须禁止.。因此, MCU 仅可由事件3唤醒。在SLEP指令之前下列指令必须
执行:
MOV
IOW
WDTC
MOV
ENI (或 DISI)
MOV
MOV
MOV
IOW
SLEP
A, @001110xxb
IOCA
R6, R6
A, @010xxxxxb
RA,A
A, @00000x1xb
IOCF
;选择 WDT 预分频和禁止WDT
;清WDT和预分频
;读端口 6
;使能 (或禁止) 全局中断
;使能端口6输入改变唤醒位
;使能端口6输入改变中断
;休眠
[c] 若外部(P60/INT)引脚改变用于唤醒MCU 并且RA寄存器的 EXWE 位在SLEP指令
之前被使能, WDT 必须由软件禁止。因此,MCU 仅可由事件4唤醒。
[d] 若AD转换完成用于唤醒 MCU 并且 RA寄存器的 ADWE 位在SLEP指令之前被使能,
WDT 必须由软件禁止。因此,MCU仅可由事件5唤醒。
在SLEP指令之前下表指令必须执行:
BS
R4, 7
BS
R4, 6
MOV
A, @x10xxxxxb
MOV
R7,A
MOV
A, @001110xxb
IOW
IOCA
WDTC
ENI (或 DISI)
MOV
A, @100xxxxxb
MOV
RA,A
MOV
A, @10000000b
IOW
IOCE
SLEP
; 选择 Bank 3
; 选择
选择一个
一个比较器和
一个
比较器和P70作为CO引脚
; 选择WDT预分频和禁止WDT
; 清WDT和预分频
; 使能
使能(
或禁止)
(或禁止
)全局中断
; 使能比较器输出状态改变唤醒位
; 使能比较器输出状态改变中断
; 休眠
6.5.2 中断操作模式和唤醒的总结
唤醒和中断模式下的所有类型总结如下:
控制器可从休眠模式和空闲模式中唤醒。唤醒信号如下表所列:
32 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
唤醒信号
休眠模式
空闲模式
低速模式
正常模式
外部中断
如果使能 EXWE
位唤醒
+中断(如果中断
使能)
+下一条指令
如果使能 EXWE
位唤醒+中断(如
果中断使能)+下
一条指令
中断(如果中断使
能)
或下一条指令
中断(如果中
断使能)
或下一条指令
端口 6 引脚改变
如果使能 ICWE 位
唤醒+中断(如果
中断使能)+下一
条指令
如果使能 ICWE 位
唤醒+中断(如果
中断使能)+下一
条指令
中断(如果中断使
能)
或下一条指令
中断(如果中
断使能)
或下一条指令
TCC 溢出中断
x
唤醒+中断(如果
中断使能)
+下一条指令
中断(如果中断使
能)
或下一条指令
中断(如果中
断使能)
或下一条指令
AD 转换完成中
断
如果使能 ADWE
位唤醒+中断(如
果中断使能)+下
一条指令
Fs 和 Fm 不停止
如果使能 ADWE
位唤醒+中断(如
果中断使能)+下
一条指令
Fs 和 Fm 不停止
中断(如果中断使
能)
或下一条指令
Fs 和 Fm 不停止
中断(如果中
断使能)
或下一条指令
TC2 中断
x
唤醒 +中断(如果
中断使能 +下一条
指令
中断(如果中断使
能)
或下一条指令
中断(如果中
断使能)
或下一条指令
TC3 中断
x
唤醒 +中断(如果
中断使能+下一条
指令
中断(如果中断使
能)
或下一条指令
中断(如果中
断使能)
或下一条指令
WDT 溢出
复位
复位
复位
复位
低电压复位
复位
复位
复位
复位
唤醒后:
1.如果中断始能→中断+下一条指令
2. 如果中断始能→下一条指令
6.5.3 寄存器初始值的总结
标记:
标记
: x: 未使用
U: 未知或不用管
地址
名称
复位类型
位名称
0x05
0x06
IOC5
IOC6
上电
IOC7
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
C57
-
C55
C54
C53
C52
C51
C50
1
0
1
1
1
1
1
1
/RESET 和 WDT
1
0
1
1
1
1
1
1
引脚改变唤醒
P
0
P
P
P
P
P
P
位名称
-
-
-
-
C63
C62
C61
C60
上电
0
0
0
0
1
1
1
1
/RESET 和 WDT
0
0
0
0
1
1
1
1
引脚改变唤醒
0
0
0
0
P
P
P
P
位名称
0x07
P: 复位前的原始值
t : 6.5.4 章节下的检测表
C77
-
-
C74
C73
C72
C71
C70
上电
1
0
0
1
1
1
1
1
/RESET 和 WDT
1
0
0
1
1
1
1
1
引脚改变唤醒
P
0
0
P
P
P
P
P
• 33
EM78F734N
8位微控制器
位微控制器
( 续)
地址
0x08
名称
IOC8
复位类型
CONT
0x02
0x03
R2 (PC)
R3 (SR)
-
-
C83
-
-
-
0
1
0
0
0
/RESET 和 WDT
0
0
0
0
1
0
0
0
引脚改变唤醒
0
0
0
0
P
0
0
0
INTE
/INT
TS
TE
PSTE
PST2
PST1
PST0
上电
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
IAR7
IAR6
IAR5
IAR4
IAR3
IAR2
IAR1
IAR0
上电
U
U
U
U
U
U
U
U
/RESET 和 WDT
P
P
P
P
P
P
P
P
上电
0x06
P6
(Bank 0)
34 •
P
P
P
P
P
TCC4
TCC3
TCC2
TCC1
TCC0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
位名称
A7
A6
A5
A4
A3
A2
A1
A0
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
位名称
-
-
-
T
P
Z
DC
C
上电
0
0
0
1
1
U
U
U
/RESET 和 WDT
0
0
0
t
t
P
P
P
0
0
0
t
t
P
P
P
RSR7
RSR6
RSR5
RSR4
RSR3
RSR2
RSR1
RSR0
上电
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
P57
-
P55
P54
P53
P52
P51
P50
1
0
1
1
1
1
1
1
/RESET 和 WDT
1
0
1
1
1
1
1
1
引脚改变唤醒
P
0
P
P
P
P
P
P
位名称
-
-
-
-
P63
P62
P61
P60
上电
0
0
0
0
1
1
1
1
/RESET 和 WDT
0
0
0
0
1
1
1
1
0
0
0
0
P
P
P
P
P77
-
-
P74
P73
P72
P71
P70
位名称
P7
(Bank 0)
P
TCC5
P
引脚改变唤醒
0x07
P
TCC6
引脚改变唤醒
位名称
P5
(Bank 0)
P
TCC7
/RESET 和 WDT
引脚改变唤醒
0x05
Bit 0
0
位名称
R4 (RSR)
Bit 1
-
引脚改变唤醒
0x04
Bit 2
0
位名称
R1 (TCC)
Bit 3
-
引脚改变唤醒
0x01
Bit 4
0
位名称
R0 (IAR)
Bit 5
上电
引脚改变唤醒
0x00
Bit 6
位名称
位名称
N/A
Bit 7
上电
1
0
0
1
1
1
1
1
/RESET 和 WDT
1
0
0
1
1
1
1
1
引脚改变唤醒
P
0
0
P
P
P
P
P
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
( 续)
地址
0x08
名称
复位类型
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
位名称
-
-
-
-
P83
-
-
-
上电
P8
(Bank 0) /RESET 和 WDT
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
引脚改变唤醒
0X09
0
0
0
0
P
0
0
0
位名称
RBit7
RBit6
RBit5
RBit4
RBit3
RBit2
RBit1
RBit0
上电
R9
(Bank 0) /RESET 和 WDT
0
0
0
0
0
0
0
0
引脚改变唤醒
0x0A
RA
(Bank 0) /RESET 和 WDT
0
0
0
P
P
P
ICWE ADWE EXWE
0
0
0
-
-
-
-
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
0
0
0
0
RD
WR
EEPC
-
-
-
0
0
0
0
0
0
0
0
P
P
P
P
P
0
0
0
P
P
P
P
0
0
0
P
EEWE EEDF
位名称
-
上电
RC
(Bank 0) /RESET 和 WDT
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
0
P
P
P
P
P
P
P
上电
RD
(Bank 0) /RESET 和 WDT
引脚改变唤醒
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
-
上电
0
RE
(Bank 0) /RESET 和 WDT
EE_A6 EE_A5 EE_A4 EE_A3 EE_A2 EE_A1 EE_A0
EE_D7 EE_D6 EE_D5 EE_D4 EE_D3 EE_D2 EE_D1 EE_D0
位名称
TIMERSC CPUS
1
1
IDLE
-
-
-
-
1
0
0
0
0
0
1
1
1
0
0
0
0
引脚改变唤醒
0
P
P
P
0
0
0
0
位名称
-
ADIF
-
-
-
EXIF
ICIF
TCIF
RF (ISR) 上电
(Bank 0) /RESET 和 WDT
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
0
0
0
P
P
P
引脚改变唤醒
位名称
0x5
0
P
-
位名称
0x0F
0
P
0
引脚改变唤醒
0X0E
0
P
上电
位名称
RB
上电
0X0B (ECR)
(Bank 0) /RESET 和 WDT
引脚改变唤醒
0X0D
0
P
位名称
引脚改变唤醒
0X0C
0
P
上电
R5
(Bank 1) /RESET 和 WDT
引脚改变唤醒
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
TC1AP TC1S
0
0
TC1M TC1ES TC1MOD TCK1CK2 TC1CK1 TC1CK0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
• 35
EM78F734N
8位微控制器
位微控制器
( 续)
地址
名称
复位类型
位名称
0x6
上电
R6
(Bank 1) /RESET 和 WDT
引脚改变唤醒
位名称
0X7
上电
R7
(Bank 1) /RESET 和 WDT
引脚改变唤醒
R8
0x8
(Bank 1)
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
TC1DB7 TC1DB6 TC1DB5 TC1DB4 TC1DB3 TC1DB2 TC1DB1 TC1DB0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
-
-
-
-
-
上电
Option
RCM1
Option
RCM0
0
0
0
0
0
0
/RESET 和 WDT
Option
RCM1
Option
RCM0
0
0
0
0
0
0
P
P
0
0
0
0
0
0
上电
R9
(Bank 1) /RESET 和 WDT
上电
RA
(Bank 1) /RESET 和 WDT
TC2DA7 TC2DA6 TC2DA5 TC2DA4 TC2DA3 TC2DA2 TC2DA1 TC2DA0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
TC2DB7 TC2DB6 TC2DB5 TC2DB4 TC2DB3 TC2DB2 TC2DB1 TC2DB0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
引脚改变唤醒
P
P
P
P
P
P
P
P
位名称
-
-
TCIF3
-
TCIF1
-
-
-
上电
RF
(Bank 1) /RESET 和 WDT
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
0
P
0
0
0
位名称
ADE7
-
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
上电
R5
(Bank 2) /RESET 和 WDT
0
0
0
0
0
0
0
0
引脚改变唤醒
位名称
上电
R6
(Bank 2) /RESET 和 WDT
引脚改变唤醒
36 •
Bit 2
P
引脚改变唤醒
0x06
Bit 3
-
位名称
0x05
Bit 4
P
引脚改变唤醒
0XF
Bit 5
RCM1 RCM0
位名称
0XA
Bit 6
位名称
引脚改变唤醒
0x9
Bit 7
TC1DA7 TC1DA6 TC1DA5 TC1DA4 TC1DA3 TC1DA2 TC1DA1 TC1DA0
0
0
0
0
0
0
0
0
P
0
P
P
P
P
P
P
VREFS CKR1
CKR0 ADRUN ADPD ADIS2 ADIS1 ADIS0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
( 续)
地址
0x7
名称
复位类型
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
位名称
-
-
-
-
-
PDE
-
-
上电
R7
(Bank 2) /RESET 和 WDT
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
0
0
ADD8
ADD7
ADD6
ADD5
ADD4
引脚改变唤醒
位名称
0x8
0x9
0x0F
上电
R8
(Bank 2) /RESET 和 WDT
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
引脚改变唤醒
P
P
P
P
P
P
P
P
位名称
-
-
ADD3
ADD2
ADD1
ADD0
上电
R9
(Bank 2) /RESET 和 WDT
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
引脚改变唤醒
0
0
P
P
P
P
P
P
位名称
-
-
-
-
/PH73
上电
RF
(Bank 2) /RESET 和 WDT
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
P
P
P
P
位名称
MLB
-
-
-
上电
R6
(Bank 3) /RESET 和 WDT
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
0
0
0
P
P
P
P
引脚改变唤醒
0X06
引脚改变唤醒
位名称
0XD
上电
RD
(Bank 3) /RESET 和 WDT
引脚改变唤醒
位名称
0XE
0XF
ADD11 ADD10 ADD9
上电
RE
(Bank 3) /RESET 和 WDT
IRVS1 IRVS0
/PH72 /PH71
RBit 11 RBit 10 RBit 9
/PH70
RBit 8
TC3FF1 TC3FF0 TC3S TC3CK2 TC3CK1 TC3CK0 TC3M1 TC3M0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
P
P
P
P
P
P
P
P
TC3D7 TC3D6 TC3D5 TC3D4 TC3D3 TC3D2 TC3D1 TC3D0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
引脚改变唤醒
P
P
P
P
P
P
P
P
位名称
-
-
-
-
/PD73
上电
RF
(Bank 3) /RESET 和 WDT
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
P
P
P
P
引脚改变唤醒
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
/PD72 /PD71
/PD70
• 37
EM78F734N
8位微控制器
位微控制器
( 续)
地址
名称
复位类型
Bit 7
Bit 6
Bit 5
Bit 4
WDTE
EIS
-
-
上电
0
0
0
0
0
0
0
0
/RESET 和 WDT
0
0
0
0
0
0
0
0
引脚改变唤醒
P
P
0
0
P
P
P
P
/PD7
/PD6
/PD5
/PD4
/PD3
/PD2
/PD1
/PD0
上电
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
位名称
-
-
-
-
OD3
OD2
OD1
OD0
上电
0
0
0
0
0
0
0
0
/RESET 和 WDT
0
0
0
0
0
0
0
0
引脚改变唤醒
0
0
0
0
P
P
P
P
位名称
-
-
-
-
/PH3
/PH2
/PH1
/PH0
上电
0
0
0
0
1
1
1
1
/RESET 和 WDT
0
0
0
0
1
1
1
1
引脚改变唤醒
0
0
0
0
P
P
P
P
位名称
-
-
TCIE3
-
TCIE1
-
-
-
上电
0
0
0
0
0
0
0
0
/RESET 和 WDT
0
0
0
0
0
0
0
0
引脚改变唤醒
0
0
P
0
P
0
0
0
位名称
-
ADIE
-
-
-
EXIE
ICIE
TCIE
上电
0
0
0
0
0
0
0
0
/RESET 和 WDT
0
0
0
0
0
0
0
0
引脚改变唤醒
0
P
0
0
0
P
P
P
位名称
R7
R6
R5
R4
R3
R2
R1
R0
上电
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
位名称
0x0A IOCA
位名称
0x0B IOCB
0x0C IOCC
0x0D IOCD
0x0E IOCE
0x0F IOCF
0x10~ R10~
0x2F R2F
6.5.4
Bit 3
Bit 2
Bit 1
Bit 0
PSWE PSW2 PSW1 PSW0
状态寄存器的RST,T和 P状态
复位可由如下事件触发:
1. 上电条件
2. /RESET引脚信号的一次高-低-高脉冲
3. 看门狗定时器溢出
38 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
第一个表所示T和P的值可用于判定处理器是如何唤醒的。第2 个表显示了可能会影响T
和P状态的事件。
复位后RST,
T 和P 的值
复位后
复位类型
T
P
上电
1
1
操作模式下/RESET 引脚脉冲
*P
*P
休眠模式下/RESET 引脚脉冲触发唤醒
1
0
操作模式下的 WDT 溢出
0
*P
休眠模式下 WDT 唤醒
0
0
休眠模式下引脚状态改变唤醒
1
0
*P: 复位前的值
受事件影响后的T和
状态
受事件影响后的 和P状态
事件
T
P
上电
1
1
WDTC 指令
1
1
WDT 时间溢出
0
*P
SLEP 指令
1
0
休眠模式下引脚状态 改变唤醒
1
0
*P: 复位前的值
图 6-13 控制器复位方框图
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 39
EM78F734N
8位微控制器
位微控制器
6.6 中断
EM78F734N 有8个中断 (4个外部,4个内部) 如下表所列:
中断源
使能条件
中断标志
中断向量
优先级
-
-
0000
High 0
内部/
外部
复位
外部
INT
ENI + EXIE=1
EXIF
0003
1
外部
端口 6 引脚改变
ENI +ICIE=1
ICIF
0006
2
内部
TCC
ENI + TCIE=1
TCIF
0009
3
内部
TC1
ENI + TCIE1=1
TCIF1
0018
4
内部
TC3
ENI + TCIE3=1
TCIF3
0027
5
内部
AD
ENI + ADIE=1
ADIF
0030
6
RF是中断状态寄存器,它的相关标志位记录相应中断请求.IOCF是中断屏蔽寄存器。全
局中断可由ENI指令使能,由DISI指令禁止。当某个中断产生,下一条指令将跳转到各
相应中断向量地址。中断标志位在离开中断服务子程序和使能中断前必须由指令清零以
避免中断嵌套。
产生中断后,不论其中断屏蔽位状态或ENI是否被执行,中断状态寄存器(RF)的标志
(ICIF除外)均会置位 。RETI指令结束中断服务子程序并且使能全局中断(等同执行
ENI)。
外部中断引脚配备有数字噪声抑制电路(输入脉冲低于8个系统时钟周期
系统时钟周期被当作噪声而
系统时钟周期
滤除)。当外部中断(若使能)引脚脉冲(下降沿)触发产生一个中断,下一条指令将
跳转到003H处执行。
在执行中断服务子程序前,ACC,R3和R4的值将会由硬件保存。如果有另外一个中断
产生,ACC,R3和R4寄存器将由新中断取代.。中断服务子程序结束后,ACC,R3和
R4将被还原。
VCC
/IRQn
IRQn
D PR Q
_
CLK
CL Q
RF
INT
RFRD
IRQm
ENI/DISI
Q PR D
IOCF
_
CLK
Q CL
IOD
IOCFWR
/RESET
IOCFRD
RFWR
图 6-14 中断输入电路
40 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
图 6-15 中断备份方框图
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 41
EM78F734N
8位微控制器
位微控制器
6.7 数据 EEPROM
整个Vdd范围内,正常操作下,数据EEPROM是可读写的。数据EEPROM的操作是以
单字节为基准的。写操作使得对分配的字节产生擦-写周期。
数据EEPROM存储器提供的擦除和写周期长。擦除后自动写入一个字节且写入新值。
6.7.1 数据EEPROM控制寄存器
6.7.1.1
RB (EEPROM 控制寄存器)
控制寄存器
EECR (EEPROM 控制寄存器)控制寄存器用于配置和初始化控制寄存器状态。
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RD
WR
EEWE
EEDF
EEPC
-
-
-
读控制寄存器
Bit 7 (RD):
0 : 不执行EEPROM读
1 : 读EEPROM中的内容,(RD可由软件置位,读指令完成后RD由硬
件清零)。
写控制寄存器
Bit 6 (WR):
0 : EEPROM的写周期完成
1 : 初始化写周期,(WR可由软件置位,写指令完成后WR由硬件清零)
Bit 5 (EEWE): EEPROM写使能位
0 : 禁止EEPROM的写操作
1 : 允许EEPROM写周期
Bit 4 (EEDF):
EEPROM 检测标志
0 : 写周期完成
1 : 写周期未完成
Bit 3 (EEPC):
EEPROM 掉电控制位
0 : 关闭 EEPROM
1 : 运行EEPROM
Bits 2 ~ 0:
6.7.1.2
未使用,始终置为“0”。
RC (128 字节 EEPROM 地址)
地址
当存取EEPROM数据寄存器时,RC(128字节EEPROM地址寄存器)保持地址被存取。
根据操作,RD(128字节EEPROM数据寄存器)保持数据在RC地址中被写入,或读出。
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
EE_A6
EE_A5
EE_A4
EE_A3
EE_A2
EE_A1
EE_A0
Bit 7:
42 •
未使用,始终置为“0”。
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
128 字节EEPROM地址
Bits 6 ~ 0:
6.7.1.3 RD (256 字节 EEPROM 数据)
数据
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
EE_D7
EE_D6
EE_D5
EE_D4
EE_D3
EE_D2
EE_D1
EE_D0
128 字节EEPROM数据
Bits 7 ~ 0:
6.7.2 编程步骤/例程展示
6.7.2.1
编程步骤
从EEPROM中读取数据的步骤如下:
Step 1
设定 RB中EEPC 位为 “1” 以使能 EEPROM 电源
Step 2
写入RC的地址(128字节EEPROM地址)
1. (a) 设定 RB中EEWE 位为“1”,如果写功能使能
(b) 往RD(256字节EEPROM数据)中写入8位编程的数据值
(c) 设定RB.WR位为“1”,然后执行写功能。
2. 设定RB.READ 位为“1”,之后执行读功能。
Step 3
等待RB.EEDF 或 RB.WR 被清零
Step 4
准备下一次转换,根据需要跳转到步骤2。
Step 5
如果想降低功耗,确保RB.EEPC 被清零后EEPROM数据不可用。
6.7.2.2
示例程序
; 定义控制寄存器和向EEPROM中写入数据
RC == 0x0C
RB == 0x0B
RD == 0x0D
Read == 0x07
WR == 0x06
EEWE == 0x05
EEDF == 0x04
EEPC == 0x03
BS RB, EEPC
MOV A,@0x0A
MOV RC,A
BS RB, EEWE
MOV A,@0x55
MOV RD,A
BS RB,WR
JBC RB,EEDF
JMP $-1
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
; EEPROM上电
; 从EEPROM中分配地址
; 使能EEPROM写功能
; 设定EEPROM的数据
; 写入EEPROM的值
; 检测EEPROM位是否完成操作
• 43
EM78F734N
8位微控制器
位微控制器
6.8 模-数转换器
数转换器 (ADC)
模数电路由9位模拟多路选择器,三个控制寄存器(AISR/R5 (Bank 2), ADCON/R6 (Bank
2), ADOC/R7 (Bank 2),两个数据寄存器(ADDH, ADDL/R8, R9)和具有12位精度的
ADC组成。模拟参考电压(Vref)和模拟地分别通过输入引脚连接。 ADC的功能框图如
下所示。
ADC模块使用逐次比较将未知的模拟输入信号转换成一个数字值。结果被载入到ADDH 和
ADDL。通过ADCON寄存器的ADIS2, ADIS1 和 ADIS0位可以来选择多路模拟选择器的输
入通道。
图 6-16 模数转换的功能结构框图
6.8.1 ADC 控制寄存器 (AISR/R5, ADCON/R6, ADOC/R7)
6.8.2 Bank 2 R5 AISR (ADC 输入选择寄存器)
AISR寄存器将ADC引脚定义为模拟输入或数字I/O口。
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADE7
−
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
Bit 7 (ADE7): P57引脚的AD转换器使能位。
0 : 禁止 ADC7, P57作为 I/O 引脚功能
1 : 使能 ADC7功能作为模拟输入引脚
Bit 6:
未使用,始终设置为“0”
Bit 5 (ADE5): P77引脚的AD转换器使能位。
0 : 禁止 ADC5, P77作为 I/O 引脚功能
1 : 使能 ADC5功能作为模拟输入引脚
Bit 4 (ADE4): P73引脚的AD转换器使能位。
0 : 禁止 ADC4, P73作为 I/O 引脚功能
1 : 使能 ADC4功能作为模拟输入引脚
44 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
Bit 3 (ADE3): P63引脚的AD转换器使能位。
0 : 禁止 ADC3, P63作为 I/O 引脚功能
1 : 使能 ADC3功能作为模拟输入引脚
Bit 2 (ADE2): P62引脚的AD转换器使能位。
0 : 禁止 ADC2, P62作为 I/O 引脚功能
1 : 使能 ADC2功能作为模拟输入引脚
Bit 1 (ADE1): P61引脚的AD转换器使能位。
0 : 禁止 ADC1, P61作为 I/O 引脚功能
1 : 使能 ADC1功能作为模拟输入引脚
Bit 0 (ADE0): P60引脚的AD转换器使能位。
0 : 禁止 ADC0, P57作为 I/O 引脚功能
1 : 使能 ADC0功能作为模拟输入引脚
下表列出了P60/AD0//INT 的优先级。
P60/ADC0/INT 引脚优先级
高
中
低
INT
AD1
P60
6.8.3 Bank 2 R6 ADCON (A/D 控制寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
VREFS
CKR1
CKR0
ADRUN
ADPD
ADIS2
ADIS1
ADIS0
Bit 7 (VREFS): ADC的Vref输入源
0 : ADC的Vref连接到内部参考端,它可通过选择Bank 2 R9<5,4> (默认
值)和P50/VREF引脚来执行P50的功能。
1 : ADC的Vref连接到P50/VREF
Bit 6 ~ Bit 5 (CKR1 ~ CKR0): ADC振荡时钟频率的预分频
CKR1/CKR0
操作模式
最大操作频率
00
FOSC/4
4 MHz
01
FOSC
1 MHz
10
FOSC/16
8 MHz
11
FOSC/2
1 MHz
Bit 4 (ADRUN): ADC 开始运行
0 : AD转换完成复位。该位不可由软件复位
1 : A/D 转换开始。该位可由软件设定
Bit 3 (ADPD): ADC 掉电模式
0 : 即使CPU正在运行,也关闭参考电阻以降低功耗
1 : ADC运行
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 45
EM78F734N
8位微控制器
位微控制器
Bits 2~0 (ADIS2~ADIS0): AD 输入选择位
ADIS2
ADIS1
ADIS0
AD 输入引脚
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
保留
1
1
1
AD7
6.8.4
Bank 2 R7 ADOC (A/D 失偿校正寄存器)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
-
-
-
PDE
-
-
Bits 7~3:
未使用,始终设置为“0”
Bit 2 (PDE):
1/2 VDD 电源检测使能位。
0: 禁止电源检测试 (默认)
1:使能电源检测
Bits 1~0:
PDE
ADIS2
ADIS1
ADIS0
AD 输入选择
1
x
x
x
1/2VDD
0
×
×
×
ADx
未使用,始终设置为“0”
6.8.5 ADC数据缓冲器 (ADDH, ADDL/R8, R9)
当A/D转换完成,结果被载入到ADDH,ADDL中。ADRUN清零,ADIF置位。
6.8.6 A/D抽样时序
逐次逼近式AD转换器的精确性、线性、速度由ADC比较器的特性决定。电源阻抗和内
部采样阻抗直接影响采样电路中电容的充电时间。应用程序控制采样时间长短以满足精
度需要。一般来说,对于每千欧模拟输入阻抗,程序应等侍2 µs,对于低阻源至少等待
2 µs。建议外部AD电路的输入阻抗的最大值为10KΩ ,VDD =5V。模拟输入通道选定后,
在A/D转换可以开始之前这个采样时间应先满足。
RCM[1:0]*
频率 (MHz)
抽样和
抽样和保持时间
00
4
8 x TAD
01
1
4 x TAD
10
8
12 x TAD
11
455k
2 x TAD
*当使用XT,LXT1, HXT1,HXT2模式时,也可以通过修改代码选择字1中 RCM[1:0]来设定采样保持时间。
46 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
6.8.7 A/D 转换时间
CKR0 和 CKR1依照指令周期来选择转换时间(Tct)。在不影响A/D转换精度的条件下,
这允许MCU以最高频率运行。对于EM78F734N,每位转换时间约为1 µs。下表列出了
Tct与最高工作频率的关系。
Tct vs. 最高工作频率
CKR0:
CKR1
工作模式
00
Fosc/4
4 MHz
1 MHz (1 µs)
(12+8)*1µs=20µs(50kHz)
01
Fosc
1 MHz
1 MHz (1µs)
(12+4)*1µs=16µs(62.5kHz)
10
Fosc/16
8 MHz
0.5 MHz (2 µs)
(12+12)*2µs=48µs(20.8kHz)
1 MHz
0.5 MHz (2 µs)
(12+4)*2µs=32µs(31.25kHz)
11
最高操作频率 每位的最大转换率
Fosc/2
最大转换率 (12 位)
注意
不作为模拟输入的引脚 可作为通用输入输出引脚。
转换过程中,为了保持所有引脚的连续性则不会执行输出指令。
6.8.8
A/D 工作在休眠模式下
为了获得更精确的ADC值和减小功耗,而A/D转换仍然工作在休眠模式下。当执行了
SLEP指令,除振荡器, TCC, TC1, TC3, 和 A/D 转换外MCU所有操作都会停止。
AD转换被认为完成,当:
1
寄存器R6的ADRUN 位被清“0”
2
从A/D转换中唤醒后仍然工作在休眠模式。
当转换完成后,其结果载入到ADDTAT,ADOC。如果ADWE使能,单片机将被唤醒 。否
则,不管ADPD位的状态是什么,A/D转换都将被关闭。
6.8.9
编程步骤/思考
6.8.9.1
编程步骤
从ADC中获取数据的步骤如下:
1. 往寄存器R5 (AISR)中写入8位(ADE7 ,ADE5~ ADE0)以定义R6的特性:数字I/O,
模拟通道和电压参考引脚。
2. 往寄存器R6/ADCON中 写入数数据以配置AD模块:
a. 选择 A/D 输入通道( ADIS1 ~ ADIS0 ).
b. 定义 A/D 转换时钟频率( CKR1 ~ CKR0 ).
c. 选择ADC的VREFS的输入源
d. 设定ADPD位为“1”,开始抽样。
3. 如果唤醒功能使能,则置位ADWE位
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 47
EM78F734N
8位微控制器
位微控制器
4. 如果中断功能使能,则置位ADIE位
5. 执行 “ENI”指令,如果中断使能
6. 设定ADRUN位为“1”
7.
当ADRUN位被清“0”时,等候唤醒
8. 读 ADDATA, ADOC 转换数据寄存器
9. 当A/D中断产生时,清中断标志位
10. 为了下一次转换,根据需要重复步骤1或步骤2。在下一次获取开始前至少要2个Tct 。
注意
为了获取精确的值,在AD转换过程中应避免任何I/O引脚上的数据转移。
6.8.9.2
示例程序
; 定义通用寄存器
R_0 == 0
; 间接地址寄存器
PSW == 3
; 状态寄存器
PORT5 == 5
PORT6 == 6
RE== 0XE
; 唤醒控制寄存器
RF== 0XF
; 中断状态寄存器
; 定义控制寄存器
IOC50 == 0X5
; 端口 5 的控制寄存器
IOC60 == 0X6
; 端口 6 的控制寄存器
C_INT== 0XF
; 中断控制寄存器
; ADC 控制寄存器
ADDATA == 0x8
AISR == 0x08
ADCON == 0x6
; 定义位
; 在 ADCON 中
ADRUN == 0x4
ADPD == 0x3
; 开始程序
ORG 0
JMP INITIAL
ORG 0x30
(用户程序)
CLR RF
BS ADCON , ADRUN
RETI
; ADC 的转换结果
; ADC 输出选择寄存器
;7 6 5 4 3 2 1 0
VREFS CKR1 CKR0 ADRUN ADPD
− ADIS1 ADIS0
; 该位置位,ADC 执行
; ADC 的电源模式
; 开始地址
; 中断向量
; 清 ADIF 位
; 如果有必要,开始执行下一次 AD 转换
INITIAL:
48 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
MOV
MOV
MOV
MOV
A
AISR
A
ADCON
En_ADC:
MOV A
IOW PORT6
MOV A
MOV RE
MOV A
IOW C_INT
ENI
BS ADCON
,
,
,
,
@0B00000001
A
@0B00001000
A
; 定义 P60 作为模拟输入
; 选择 P60 作为模拟输入通道并给 AD 上电
; 定义 P60 作为输入引脚并设定时钟率为 fosc/16
, @0BXXXXXXX1
; 定义 P60 作为输入引脚并且其他引脚独立使用
, @0BXXXX1XXX
, A
, @0BXXXX1XXX
; 根据应用使能 ADC, “X”的 ADWE 唤醒功能
, ADRUN
; 根据应用使能 ADC, “X”的 ADIE 中断功能
; 使能中断功能
;开始运行 ADC
; 如果中断功能使能
如果中断功能使能,
以下三条指令会被忽略。
,以下三条指令会被忽略
。
POLLING:
JBC ADCON , ADRUN
JMP
POLLING
(用户程序)
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
; 持续检测 ADRUN 位
; 当 AD 转换完成后,ADRUN 位会被复位
• 49
EM78F734N
8位微控制器
位微控制器
6.9 定时器/计数器
定时器 计数器 1
图 6-17 定时器/寄数器1配置
在定时器模式下,
在定时器模式下 使用内部时钟加计数。当加计数器中的值等于TC1DA时,则中断产生
并且计数器清零。 计数器清零之后重新加计数。可通过置TC1CAP位为“1”和捕获后
TC1CAP位自动被清零将加计数器的当前内容装载到TC1DB中。通过设定TC1MOD位
为“1”,定时器将工作在16位模式下。
在计数器模式下,
在计数器模式下,使用外部时钟输入引脚(TC1引脚)并由TC1ES选择上升沿或下降沿
来执行加计数,但上升沿和下降沿均不可用
但上升沿和下降沿均不可用。当加计数器中的内容与TC1DA中的值相等
但上升沿和下降沿均不可用
时,则中断产生,并且计数器清零。计数器清零之后重新加计数。可通过置TC1CAP位
为“1”和捕获后TC1CAP位自动被清零将加计数器的当前内容装载到TC1DB中。通过设
定TC1MOD位为“1”,计数器将工作在16位模式下。
在捕获模式下,
在捕获模式下,TC1输入引脚的脉宽、周期和占空比在这种模式下被测量,这种模式还
可以用来解码遥控信号。计数器通过内部时钟自由运行。在TC1引脚输入信号的上升沿
(下降沿)的时候,计数器的内容被载入到TC1DA寄存器中,然后计数器清零并产生中
断。在TC1引脚输入信号的下降沿(上升沿)的时候,计数器的内容被载入到TC1DB寄
存器中。在TC1引脚输入信号的下一个上升沿的时候,计数器仍然计数,计数器中的内
容被载入到TC1DA中,计数器清零且中断再次产生。如果在检测到边沿之前发生溢出,
FFH被载入到TC1DA中,并且溢出中断产生。在中断处理过程当中,通过检测TC1DA
中的值是否为FFH来决定是否有溢出。在中断(捕获TC1DA或溢出检测)产生之后,捕
获和溢出检测则被中止直至TC1DA中的值被读出。通过设定TC1MOD位为“1”,捕获模
式将工作在16位方式下。
50 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
图 6-5 (a) 8位捕获模式的时序图
图 6-5 (b) 16位捕获模式的时序图
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 51
EM78F734N
8位微控制器
位微控制器
6.10定时器/计数器
定时器 计数器 3
图 6-19 定时器 / /计数器3模式配置
定时器
定时器模式
在定时器模式下,内部时钟(上升沿触发)进行加计数。当加计数器中的值与TCR3匹配时,
则中断产生并且计数器清零。 计数器清零之后重新加计数。
计数器
计数器模式
在计数器模式下,使用外部时钟输入引脚(TC3引脚)并由TC1ES选择上升沿或下降沿
来进行加计数,但上升沿和下降沿均不可用。当加计数器中的内容与TCR3匹配时,则
中断产生,并且计数器清零。计数器清零之后重新加计数。
可编程分频输出(
)模式
可编程分频输出(PDO)
在可编程分频输出(PDO)模式,加计数是以内部时钟进行的。 TCR3中的内容与加计
数器的中的值进行比较。当发现匹配时,F/F输出被触发并且计数器每次被清零。F/F输
出反相并输出到/PDO引脚。此模式可以产生占空比为50%的脉冲输出。F/F可
可由程序初
由程序初
始化并且在复位后初始化为
在复位后初始化为“0”。每次TC3中断产生时/PDO输出被触发。
始化并且
在复位后初始化为
图 6-20 PDO 模式时序图
52 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
脉宽调制(
)输出模式
脉宽调制(PWM)
在脉宽调制(
)输出模式,
在脉宽调制(PWM)
输出模式,加计数是以内部时钟进行的。TCR3的内容与加计数器
中的内容进行比较。当发现匹配时,F/F被触发。计数器继续计数,当计数器溢出时,
F/F再次被触发,之后计数器被清零。F/F 输出反相并输出到/PWM引脚。产生一次溢出,
TC3中断就会产生一次。TCR3作为
作为2层转换寄存器并且即使
超过写入的范围,
作为 层转换寄存器并且即使TCR3超过写入的范围
层转换寄存器并且即使
超过写入的范围,只
至一个输出周期完成时,
输出才会转换
至一个输出周期完成时
,输出才会转
换。因此,输出可以连续改变。再者,首先将TC3S
设为“1”可以改变TRC3, 之后数据被载入到TCR3。
图 6-21 PWM 模式时序图
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 53
EM78F734N
8位微控制器
位微控制器
6.11 振荡器
6.11.1 振荡模式
MCU 可运行在四种不同的振荡模式下(Fm), 即内部 RC振荡模式(IRC), 高频振荡模式
(HXT)
,低频振荡模式(LXT)。可通过编程设置代码选项寄存器中的OSC2、OSC1、
OSC0来选择这些模式中的一种。下表描述了这四种模式是如何定义的。
由OSC2 ~ OSC0来定义振荡模式
来定义振荡模式
模式
XT (晶振模式)
1
HXT1 (高频晶振 1 振荡模式)
LXT1 (低频晶振 1 振荡模式)
2
3
3
4
OSC0
0
0
0
0
1
0
1
0
0
1
1
IRC 模式, OSCO (P54)作为 I/O 引脚
1
0
0
IRC 模式,OSCO (P54) 作为 RCOUT 引脚
1
0
1
1
1
0
1
1
1
4
保留
2
OSC1
0
预留
HXT2 (高频晶振 2 振荡模式)
1
OSC2
HXT1模式的频率范围是12 MHz ~ 6 MHz
XT模式的频率范围是 6 MHz ~ 1 MHz.
LXT1模式的频率范围是1 MHz ~ 100kHz
HXT2模式的频率范围是 20 MHz ~ 12 MHz
在LXT, XT, HXT 模式下, OSCI 和 OSCO被实现。 他们不能用作普通I/O引脚。
在IRC模式下,P55用作普通I/O引脚。由不同的VDD,晶体/谐振器的最大操作频率如下
表所示。
最快操作速度的汇总
条件
VDD
最大 Fxt. (MHz)
2.2
4.0
具有两个时钟的两个周期
4.0
8.0
5.0
20.0
6.11.2 晶体振荡器/陶瓷谐振器(
陶瓷谐振器(晶体)
晶体)
EM78F734N 可由经过OSCI引脚的外部时钟信号驱动,如下所示。
图 6-22 外部时钟输入电路
54 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
在大多数应用中,OSCI和OSCO引脚连接一个晶体或陶瓷谐振器以产生振荡。下图描绘
了这样的电路,HXT模式和LXT模式都是以此种方式产生振荡。
图 6-23 晶体/谐振器电路
下表提供C1 和 C2的推荐值。由于每个谐振器都有其各自的属性,用户应参考其规格书
以选择合适的C1和C2。对于切片型晶体或低频模式,可能需要串接一个电阻RS。
晶体振荡器或陶瓷谐振器匹配电容选择指南
振荡类型
振荡模式
LXT1
(100K~1MHz)
陶瓷振荡器
XT
(1M~6MHz)
LXT1
(100K~1MHz)
晶体振荡器
XT
(1~6MHz)
HXT1
(6~12MHz)
HXT2
(12~20MHz)
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
频率
C1(pF)
C2(pF)
100kHz
60pF
60pF
200KHz
60pF
60pF
455KHz
40pF
40pF
1MHz
30pF
30pF
1.0 MHz
30pF
30pF
2.0 MHz
30pF
30pF
4.0 MHz
20pF
20pF
100kHz
60pF
60pF
200KHz
60pF
60pF
455KHz
40pF
40pF
1MHz
30pF
30pF
1.0 MHz
30pF
30pF
2.0 MHz
30pF
30pF
4.0 MHz
20pF
20pF
6.0 MHz
30pF
30pF
6.0 MHz
30pF
30pF
8.0 MHz
20pF
20pF
12.0 MHz
30pF
30pF
12.0 MHz
30pF
30pF
16.0 MHz
20pF
20pF
• 55
EM78F734N
8位微控制器
位微控制器
6.11.3 内部 RC 振荡模式
EM78F734N有一个通用的内部RC模式,默认频率是 4MHz。当COBS =0时,内部RC 振
荡模式的其他频率 (455kHz, 1 MHz 和 8 MHz) 可由代码选项RCM1 和 RCM0设定或者
当COBS=1时,由Bank 1 R8 的第7,6位来设定。四个主频段的频率可通过编程由代码
选项(Word 1)位: C6~C0 位来校准。
内部 RC 频率偏移率 (Ta=25°°C, VDD=5V±5%, VSS=0V)
偏移率
56 •
内部 RC
温度
(-40°°C~85°°C)
电压
(2.2V~5.5V)
过程
合计
455KHz
± 2%
± 3.5%
± 1%
± 6.5%
1 MHz
± 2%
± 3.5%
± 1%
± 6.5%
4 MHz
± 2%
± 3.5%
± 1%
± 6.5%
8 MHz
± 2%
± 3.5%
± 1%
± 6.5%
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
6.12 代码选项寄存器
EM78F734N 有一个代码选项字,它不位于用户程序存储空间。在执行用户程序时,这
些位不可被存取。
代码选项寄存器和用户ID寄存器安排分配如下:
Word 0
Word 1
Word 2
Bit 12~Bit 0
Bit 12~Bit 0
Bit 12~Bit 0
6.12.1 代码选项寄存器 (Word 0)
Word 0
Bit
Bit 12 Bit 11 Bit 10
Bit 9
Bit 8 Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ENWDTB OSC2
OSC1
OSC0
PR2
PR1
PR0
助记符
HLP
NRHL
NRE
RESETENB
-
-
1
高
8/fc
禁止
使能
-
-
使能
高
高
高
高
高
高
0
低
32/fc
使能
禁止
-
-
禁止
低
低
低
低
低
低
默认
0
0
0
0
0
0
0
1
0
0
0
0
0
Bit 12 (HLP):
功耗选择
0: 高功耗,用于工作频率在400kHz以上(默认)
1: 低功耗,用于工作频率在400kHz或以下
Bit 11 (NRHL): 噪声抑制高/低定义位。INT引脚下降沿触发
1 : 脉冲等于8/fc [s] 被视为信号
0 : 脉冲等于32/fc [s] 被视为信号(默认)
Bit 10 (NRE):
噪声抑制使能。INT引脚下降沿触发
1: 禁止噪声抑制
0: 使能噪声抑制 (默认)
Bit 9 (RESETEN):复位引脚使能位
1 : 使能,P83//RESET=>复位引脚
0 : 禁止,P83//RESET=>P83 (默认)
Bit 8 ~ 7:
未使用, 始终设置为“0”
Bit 6 (ENWDT): 看门狗定时器使能位
1 : 使能
0 : 禁止
Bit 5 ~ 3 (OSC2 ~ OSC0): 振荡模式选择位
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 57
EM78F734N
8位微控制器
位微控制器
模式
XT (晶振模式)
1
HXT1 (高频晶振 1 振荡模式)
LXT1 (低频晶振 1 振荡模式)
2
3
OSC0
0
0
0
0
1
0
1
0
0
1
1
IRC 模式, OSCO (P54)作为 I/O 引脚
1
0
0
HXT2 (高频晶振 2 振荡模式)
4
保留
2
OSC1
0
保留
IRC 模式,OSCO (P54) 作为 RCOUT 引脚
1
OSC2
1
0
1
1
1
0
1
1
1
HXT1模式的频率范围是12 MHz ~ 6 MHz
XT模式的频率范围是 6 MHz ~ 1 MHz.
3
LXT1模式的频率范围是1 MHz ~ 100kHz
HXT2模式的频率范围是 20 MHz ~ 12 MHz
4
Bit 2 ~ 0 (PR2 ~ PR0): 保护位。 PR2~PR0 是保护位, 保护类型如下所示:
PR2
PR1
PR0
保护
1
1
1
使能
0
0
0
禁止
6.12.2 代码选项寄存器 (Word 1)
Word 1
Bit
助记符
Bit 12 Bit 11 Bit 10
COBS TCEN
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
C6
C5
C4
C3
C2
C1
C0
Bit 3
Bit 2
Bit 1
Bit 0
RCM1 RCM0 LVR1 LVR0
1
高
TCC
高
高
高
高
高
高
高
高
高
高
高
0
低
P77
低
低
低
低
低
低
低
低
低
低
低
默认
0
0
0
0
0
0
0
0
0
0
0
0
0
Bits 12 (COBS): 代码选择位
0 : 代码选项的IRC频率选择(默认)
1 : 通过Bank 1 R8(7,6)IRC选择内部寄存器
Bit 11 (TCEN): TCC 使能位
0 : P77/TCC 被设为 P77
1 : P77/TCC 被设为 TCC
Bit 10 ~ 4 (C6 ~ C0): 内部 RC 模式校正位(IRC频率自动校准)
Bit 3 ~ 2 (RCM1 ~ RCM0): RC 模式选择位
RCM 1
0
0
1
1
58 •
RCM 0
0
1
0
1
*频率
频率 (MHz)
4
1
8
455k
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
Bit 1 ~ 0 (LVR1 ~ LVR0): 低电压复位使能位
LVR1 LVR0 复位等级
0
0
NA
0
1
2.5V
1
0
2.9V
1
1
3.2V
释放等级
NA
2.6V
3.0V
3.3V
注: LVR1, LVR0=“0, 0”: LVR 禁止,EM78F734N 的上电复位点为2.4V
LVR1, LVR0=“0, 1”: 如果 Vdd < 2.9V, EM78F734N 复位
LVR1, LVR0=“1, 0”: 如果 Vdd < 3.2V, EM78F734N 复位
LVR1, LVR0=“1, 1”: 如果 Vdd < 3.9V, EM78F734N 复位
6.12.3 代码选项寄存器 (Word 2)
Word 2
Bit
Bit 12 Bit 11 Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
SFS
IRE
-
-
-
助记符
SC4
SC3
SC2
SC1
SC0
EFTIM
-
-
1
高
高
高
高
高
20MHz
-
-
128kHz 使能
-
-
-
0
低
低
低
低
低
10MHz
-
-
16kHz
禁止
-
-
-
默认
0
0
0
0
0
1
0
0
0
0
0
0
0
Bits 12 ~ 8 (SC4 ~ SC0): 副频的校正器 (WDT 频率自动校正)
Bit 7 (EFTIM): 改善EFT。 如果,VDD=5V,MCU的工作频率小于12 MHz 或者
VDD=3V,MCU的工作频率小于6MHz 则使能这一功能可以改善电子迅
速瞬变测试的性能。如果MCU工作在VDD=5V,且工作频率>12MHz,
选择EFTIM=1
0: 10 MHz
1: 20 MHz
Bits 6~5:
未使用, 始终设置为“0”
Bits 4 (SFS):
副频选择
0: 16kHz (WDT频率)
1: 128kHz.
Bit 3 (IRE) :
IRC 调整使能位
0: 禁止调整器以降低功耗,但IRC会出现更多错误
1: 使能调整器以提高IRC的精度,但会增加功耗
Bits 2~0:
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
未使用, 始终设置为“0”
• 59
EM78F734N
8位微控制器
位微控制器
6.13 上电问题
在供电电压未达到稳定状态下,任何微控制器都不能保证正常工作。EM78F734N内置
有一个上电电压检测器(POVD),其检测电压 2.0V。如果Vdd上升时间足够快(50 ms
或更少),它将很好的工作。然而,在许多要求严格的应用中,有必要增加额外器件以
辅助解决上电问题。
6.14 外部上电复位电路
图 6-24所示电路是利用外部RC电路产生复位脉冲的电路。脉冲宽度(时间常数)应该足够
长以使Vdd达到最低工作电压。此电路用在供电电压上升很慢的情况。由于/RESET引脚
的漏电流大约为±5µA,因此建议R值不要大于40 KΩ。此时,/RESET引脚电压保持在
0.2V以下。 二极管(D)在掉电时作为短路回路。
电容C将快速充分放电。限流电阻Rin可防止高电流或ESD(静电释放)灌入/RESET引
脚。
Vdd
R
/RESET
D
Rin
C
图 6-24 外部上电复位电路
60 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
6.15 残留电压保护
当更换电池时,单片机的电源(Vdd)断开,但仍然存在残留电压。残留电压可能小于最
小工作电压,但不为0。这种情况下可能导致复位不良。 图 6-25 和图 6-26是如何防止
残留电压的保护电路。
Vdd
Vdd
33K
Q1
10K
/RESET
40K
1N4684
图 6-25 残留电压保护电路 1
Vdd
Vdd
R1
Q1
/RESET
40K
R2
图 6-26 残留电压保护电路2
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 61
EM78F734N
8位微控制器
位微控制器
6.16 指令集
指令集的每条指令均是13位字节,一条指令分为一个操作码和一个或多个操作数。 一
般情况下,除非指令的执行改变了程序计数器的值("MOV R2,A", "ADD R2,A")或者对R2
的算术或逻辑操作 (例如. "SUB R2,A", "BS (C) R2,6", "CLR R2", ⋅⋅⋅⋅).,否则执行所有的
指令都只占用单个指令周期(一个指令周期包含2 个振荡周期)。对于前面两种特殊的
指令,执行指令需要两个指令周期。
如果由于某种原因,指令周期不适合特定应用,可尝试做如下修改:
(A) "JMP", "CALL", "RET", "RETL", "RETI"指令执行占用一个指令周期,条件测试结果
为“真”的条件转移指令("JBS", "JBC", "JZ", "JZA", "DJZ", "DJZA")和向程序计数器写入
的指令的执行均占用两个指令周期。.
另外, 指令集具有如下特性:
(1) 任何寄存器的每个位都可被置1、清零或直接测试。
(2) I/O寄存器可被当作通用寄存器。也就是,相同的指令可操作I/O寄存器
指令集表
指令集表:
使用于
使用于下表中的符号如下:
下表中的符号如下:
“R” 表示一个寄存器指示符,用来指定指令操作哪个寄存器(包括操作寄存器和通
用寄存器)
“b” 表示一个位指示符,指定位于R寄存器中会影响操作的位.
“K” 代表一个8位或10位常数或立即数
62 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
助记符
操作
受影响的状态位
NOP
不操作
无
DAA
十进制调整 A
C
CONTW
A → CONT
SLEP
0 → WDT, 停止振荡
T, P
WDTC
0 → WDT
T, P
IOW R
A → IOCR
无
ENI
使能中断
无
DISI
禁止中断
无
RET
[栈顶] → PC
无
RETI
[栈顶] → PC,使能中断
无
CONTR
CONT → A
IOR R
IOCR → A
MOV R,A
A→R
无
CLRA
0→A
Z
无
1
无
无
1
CLR R
0→R
SUB A,R
R-A → A
Z, C, DC
SUB R,A
R-A → R
Z, C, DC
DECA R
R-1 → A
Z
DEC R
R-1 → R
Z
OR A,R
A∨R→A
Z
OR R,A
A∨R→R
Z
AND A,R
A&R→A
Z
AND R,A
A&R→R
Z
XOR A,R
A⊕R→A
Z
XOR R,A
A⊕R→R
Z
ADD A,R
A+R→A
Z, C, DC
ADD R,A
A+R→R
Z, C, DC
MOV A,R
R→A
Z
MOV R,R
R→R
Z
COMA R
/R → A
Z
COM R
/R → R
Z
INCA R
R+1 → A
Z
R+1 → R
Z
INC R
1
Z
这条指令仅适用于IOC5~IOC7, IOCA ~ IOCF
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 63
EM78F734N
8位微控制器
位微控制器
(续)
助记符
操作
受影响的状态位
DJZA R
R-1 → A, 如果为 0,跳过
无
DJZ R
R-1 → R, 如果为 0,跳过
无
RRCA R
R(n) → A(n-1),
R(0) → C, C → A(7)
C
RRC R
R(n) → R(n-1),
R(0) → C, C → R(7)
C
RLCA R
R(n) → A(n+1),
R(7) → C, C → A(0)
C
RLC R
R(n) → R(n+1),
R(7) → C, C → R(0)
C
SWAPA R
R(0-3) → A(4-7),
R(4-7) → A(0-3)
无
SWAP R
R(0-3) ↔ R(4-7)
无
JZA R
R+1 → A, 如果为 0,跳过
无
JZ R
R+1 → R, 如果为 0,跳过
无
BC R,b
0 → R(b)
无
2
BS R,b
1 → R(b)
无
3
JBC R,b
if R(b)=0, 跳过
无
JBS R,b
if R(b)=1, 跳过
无
CALL k
PC+1 → [SP],
(Page, k) → PC
无
JMP k
(Page, k) → PC
无
MOV A,k
k→A
无
OR A,k
A∨k→A
Z
AND A,k
A&k→A
Z
XOR A,k
A⊕k→A
Z
RETL k
k → A,
[栈顶] → PC
无
SUB A,k
k-A → A
Z, C, DC
ADD A,k
k+A → A
Z, C, DC
BANK k
K → R4(7:6)
无
LCALL k
下一条指令 : k kkkk kkkk kkkk
PC+1→[SP], k→PC4
无
LJMP k
下一条指令 : k kkkk kkkk kkkk
k→PC4
无
TBRD R
如果 Bank 3 R6.7=0, 机器码 (7:0) → R
其他的机器码 (12:8) → R(4:0),
R(7:5)=(0,0,0)
无
2
3
64 •
这条指令不推荐用于对中断状态寄存器 的操作
这条指令不能对中断状态寄存器操作
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
7 时序图
图 7-1 AC 测试时序图
图 7-2 复位时序图
图 7-3 TCC 输入时序图
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 65
EM78F734N
8位微控制器
位微控制器
8 最大绝对值
EM78F734N
项目
范围
工作温度
-40°C
至
85°C
存储温度
-65°C
至
150°C
工作电压
2.2
至
5.5V
工作频率
DC
至
20 MHz*
输入电压
Vss-0.3V
至
Vdd+0.5V
输出电压
Vss-0.3V
至
Vdd+0.5V
注: *这些参数为理论值,未经测量
9 DC 电气特性
VDD=5.0V, VSS=0V ,Ta=25°C
符号
参数
晶振: VDD 至 3V
Fxt
IIL
晶振: VDD 至 5V
条件
基于两个时钟周期
最小值 典型值 最大值 单位
DC
-
4
MHz
DC
-
20
MHz
IRC: VDD 至 5V
4 MHz, 455 KHz, 1 MHz,,8 MHz F±30%
F
输入引脚的输入漏电流
VIN = VDD, VSS
-
-
±1
µA
F±30% Hz
VIHRC 输入高门槛电压(施密特触发)
OSCI 在 RC 模式下
3.9
4
4.1
V
VILRC
输入低门槛电压(施密特触发)
OSCI 在 RC 模式下
1.7
1.8
1.9
V
IIL
输入引脚的输入漏电流
VIN = VDD, VSS
-1
0
1
µA
VIH1
输入高电压 (施密特触发)
端口 5, 6, 7, 8
-
0.7VDD
(2.8V)
-
V
VIL1
输入低电压 (施密特触发)
端口 5, 6, 7, 8
-
0.3VDD
(2.2V)
-
V
VIHT1
输入高门槛电压(施密特触发)
/RESET
-
0.7VDD
-
V
VILT1
输入低门槛电压(施密特触发)
/RESET
-
0.3VDD
-
V
VIHT2
输入高门槛电压(施密特触发)
TCC, INT
-
0.7VDD
-
V
VILT2
输入低门槛电压(施密特触发)
TCC, INT
-
0.3VDD
-
V
VIHX1
时钟输入高电压
OSCI 在晶振模式下
2.9
3.0
3.1
V
VILX1
时钟输入低电压
OSCI 在晶振模式下
1.7
1.8
1.9
V
注 : * 这些参数为特性值,未经测量或校验
* 最小值,典型值,最大值列中的数据是基于25℃时的理论值,仅供设计参考
66 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
( 续)
符号
参数
条件
最小值 典型值 最大值
单
位
IOH1
输出高电压
(端口 5, 6, 7, 8)
VOH = 0.9VDD
-2.5
-
-
mA
IOL1
输出低电压
(端口 5, 6,7, 8)
VOL = 0.1VDD
10
-
-
mA
IPH
上拉电流
上拉使能, 输入引脚连接到 VSS
-
-
-95
µA
IPL
下拉电流
下拉使能, 输入引脚连接到 Vdd
-
-
40
µA
LVR1
低电压重置层 1
(2.6V)
Ta = 25°C
2.13
2.6
3.07
V
Ta = -40°C ~ 85°C
1.72
2.6
3.46
V
LVR2
低电压重置层 1
(3.0V)
Ta = 25°C
2.48
3.0
3.51
V
Ta = -40°C ~ 85°C
2.05
3.0
3.93
V
Ta = 25°C
2.72
3.3
3.86
V
Ta = -40°C ~ 85°C
2.25
3.3
4.3
V
LVR3
低电压重置层 1
(3.3V)
ISB1
掉电电流
所有输入和 I/O 引脚接到 VDD, 输
出引脚悬空, WDT 禁止
-
-
2
µA
ISB2
掉电电流
所有输入和 I/O 引脚接到 VDD, 输
出引脚悬空, WDT 使能
-
-
5
µA
ICC1
两个时钟下的工作供电电流
/RESET= '高', Fosc=455kHz (IRC
模式), 电压= 3V, 输出引脚悬空,
WDT 使能
-
96
-
µA
ICC2
两个时钟下的工作供电电流
/RESET= '高', Fosc=1MHz (IRC 模
式), 电压= 3V, 输出引脚悬空,
WDT 使能
-
170
-
µA
ICC3
两个时钟下的工作供电电流
/RESET= '高', Fosc=4 MHz (晶体
模式), 输出引脚悬空, WDT 使能
-
1.3
-
mA
ICC4
两个时钟下的工作供电电流
/RESET= '高', Fosc=10 MHz (晶体
模式), 输出引脚悬空, WDT 使能
-
3.25
-
mA
注意
以上参数为理论值,未经测量或校验
最小值,典型值,最大值列中的数据是基于25℃时的理论值,仅供设计参考
9.1 数据 EEPROM 电气特性
符号
参数
Tprog
擦/写 周期时间
Treten
数据保持
Tendu
烧录次数
条件
Vdd = 2.2V~ 5.5V
温度 = -40°C ~ 85°C
最小值 典型值 最大值
单位
-
-
-
ms
-
10
-
年
-
100K
-
周期
9.2 闪存电气特性
符号
参数
Tprog
擦/写 周期时间
Treten
数据保持
Tendu
烧录次数
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
条件
Vdd = 5.0V
温度 = -40°C ~ 85°C
最小值 典型值 最大值
单位
-
-
-
ms
-
10
-
年
-
100K
-
周期
• 67
EM78F734N
8位微控制器
位微控制器
9.3 A/D 转换器特性
VDD=5.0V, VSS=0V, Ta=25°C
参数
符号
测试条件
Vdd
5.5v Fs=100KHz, Fin=2KHz,
2.2v Fs=50KHz, Fin=1KHz
工作范围
VREFT
损耗电流
Ivdd
Iref
VREFT= Vdd=5.5v,
Fs=100KHz, Fin=2KHz
类型
最小值 典型值 最大值
单位
2.2
-
5.5
V
2.2
-
Vdd
V
-
-
0.5
mA
-
-
50
uA
uA
后备电流
Isb
-
-
0.1
ZAI
ZAI
-
-
10k ohm
SNR
SNR
VREFT= Vdd=3.3v,
Fs=100KHz, Fin=2KHz
70
-
-
dBc
THD
THD
VREFT= Vdd=3.3v,
Fs=100KHz, Fin=2KHz
-
-
-70
dBc
SNDR
SNDR
VREFT= Vdd=3.3v,
Fs=100KHz, Fin=2KHz
68
-
-
dBc
最差谐波
WH
VREFT= Vdd=3.3v,
Fs=100KHz, Fin=2KHz
-
-
-73
dBc
SFDR
SFDR
VREFT= Vdd=3.3v,
Fs=100KHz, Fin=2KHz
73
-
-
dBc
补偿错误
OE
VREFT= Vdd=3.3v,
Fs=100K Hz
-
-
+/-4 LSB
增益错误
GE
VREFT= Vdd=3.3v,
Fs=100K Hz
-
-
+/-8 LSB
DNL
DNL
VREFT= Vdd=3.3v,
Fs=100KHz, Fin=2KHz
-
-
+/-1 LSB
INL
INL
VREFT= Vdd=3.3v,
Fs=100KHz, Fin=2KHz
-
-
+/-4 LSB
Fs1
Vdd=2.7~5.5v, Fin=2kHz
100
-
-
K
SPS
Fs2
Vdd=2.2~2.7v,
Fin=1kHz
50
-
-
K
SPS
-
-
2
LSB
转换率
VREFT=2.2v,
电源抑制比 PSRR SVREF=”0”or”1”, Vdd=2.2v ~ 5.5v,
Fs=50K Hz, Vin=0v ~ 2.2v
1
注 : 这些参数是特性值(未测试)仅供设计参考。
2
当ADC关闭时,除了较小的漏电流外,没有耗电流
3
A/D转换结果不会随着输入电压的增加而减小 并且不会遗漏代码
4
这些参数不保证同步更新
68 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
10 AC 电气特性
EM78F734N, 0 ≤ Ta ≤ 70°C, VDD=5V, VSS=0V
-40 ≤ Ta ≤ 85°C, VDD=5V, VSS=0V
符号
参数
条件
最小值
典型值
最大值
单位
−
45
50
55
%
指令周期时间
(CLKS="0")
晶振类型
100
−
DC
ns
RC 类型
500
−
DC
ns
Ttcc
TCC 输入周期
−
(Tins+20)/N*
−
−
ns
Tdrh
芯片复位保持时间
−
11.8
16.8
21.8
ms
Trst
/RESET 脉冲宽度
Ta = 25°C
2000
−
−
ns
Twdt
看门狗定时器溢出周期
Ta = 25°C
11.8
16.8
21.8
ms
Tset
输入引脚建立时间
−
−
0
−
ns
Thold
输入引脚保持时间
−
−
20
−
ns
Tdelay
输出引脚延迟时间
Cload=20pF
−
50
−
ns
Dclk
输入时钟的占空比
Tins
注 : 这些参数值是理论值未经测试,仅供设计参考。
最小值,典型值,最大值(“Min.”, “Typ.”, ”Max.”)列中的数据是基于25℃时的理论值。
* N = 选择分频比
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 69
EM78F734N
8位微控制器
位微控制器
附录
A封装类型
封装类型
引脚数
封装尺寸
EM78F734ND20
PDIP
20
300 mil
EM78F734NSO20
SOP
20
300 mil
EM78F734ND18
PDIP
18
300 mil
EM78F734NSO18
SOP
18
300 mil
EM78F734ND16
PDIP
16
300 mil
EM78F734NSO16
SOP
16
300 mil
EM78F734NSS16
SSOP
16
150 mil
Flash MCU
绿色产品不含有害物质,符合 Sony SS-00259 第三版本标准。
Pb 含量小于 100ppm ,Pb 含量符合 Sony 规格说明
项目
70 •
EM78F734NS/J
电镀类型
纯锡
成份 (%)
Sn:100%
熔点 (°C)
232°C
电阻率 (µΩ cm)
11.4
硬度 (hv)
8~10
伸长 (%)
>50%
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
B封装信息
封装信息
B.1 EM78F734ND16 300mil
图 B-1 EM78F734N 16引脚 PDIP封装类型
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 71
EM78F734N
8位微控制器
位微控制器
B.2 EM78F734NSO16 300mil
图 B-2 EM78F734N 16引脚SOP封装类型
72 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
B.3 EM78F734NSS16 150mil
Package Type : SSOP-16L
EMC(mm )
Symbal
A
A1
A2
b
b1
c
c1
D
E
E1
L
e
θ
Min
1.35
0.10
0.20
0.20
0.18
0.18
4.80
5.79
3.81
0.41
0°
Normal
1.63
0.18
0.25
0.20
4.90
5.99
3.91
0.64
.025BASIC
-
Max
1.75
0.25
1.50
0.30
0.28
0.25
0.23
5.00
6.20
3.99
1.27
8°
TITLE:
SSOP 16L (150MIL)PACKAGE OUTLINE
DIMENSION
File :
SSOP 16L
Edtion: A
Unit : mm
Scale: Free
Material:
Sheet:1 of 1
图 B-3 EM78F734N 16 引脚 SSOP 封装类型
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 73
EM78F734N
8位微控制器
位微控制器
B.4 EM78F734ND18 300mil
图 B-4 EM78F734N 18-引脚 PDIP 封装类型
74 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
B.5 EM78F734NSO18 300mil
Symbal
A
A1
b
c
E
H
D
L
e
θ
Min
2.350
0.102
Normal
Max
2.650
0.300
0.406(TYP)
0.230
7.400
10.000
11.350
0.406
0
0.838
1.27(TYP)
0.320
7.600
10.650
11.750
1.270
8
图 B-5 EM78F734N 18-引脚 SOP 封装类型
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 75
EM78F734N
8位微控制器
位微控制器
B.6 EM78F734ND20 300mil
Symbal
A
A1
A2
c
D
E1
E
eB
B
B1
L
e
θ
Min
0.381
3.175
0.203
25.883
6.220
7.370
8.510
0.356
1.143
3.048
0
Normal
Max
4.450
3.302
3.429
0.254 0.356
26.060 26.237
6.438
6.655
7.620
7.870
9.020
9.530
0.457 0.559
1.524 1.778
3.302 3.556
2.540(TYP)
15
A1
A2
E
TITLE:
PDIP-20L 300MIL PACKAGE
OUTLINE DIMENSION
File :
D20
Edtion: A
Unit : mm
Scale: Free
Material:
Sheet:1 of 1
图 B-6 EM78F734N 20-引脚 PDIP 封装类型
76 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
EM78F734N
8位微控制器
位微控制器
B.7 EM78F734NSO20 300mil
图 B-7 EM78F734N 20-引脚 SOP封装类型
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)
• 77
EM78F734N
8位微控制器
位微控制器
C品质保证和可靠近性
测试类别
软焊性
测试条件
焊料温度=245±5℃,使用松香在上面停留 5 秒。
备注
–
步骤 1: TCT, 65°C (15 分钟)~150°C (15 分钟), 10 次
步骤 2: 在 125°C 烤, TD (持续时间)=24 小时
步骤 3: 储存在 30°C/60%,TD (持续时间)=192 小时
前提条件
步骤 4: IR 变化 3 次
(Pkg 厚度 ≥ 2.5mm 或
3
Pkg 体积 ≥ 350mm ----225±5°C)
适合 SMD IC (如 SOP,
QFP, SOJ 等)
(Pkg 厚度≤ 2.5mm 或
3
Pkg 体积≤ 350mm ----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,
ESD (MM)
TA=25°C, ≥ ∣± 300V∣
IP_PS,OP_PS,IO_PS,
VDD-VSS(+),VDD_VSS
(-) 模式
C.1 地址缺陷检测
地址缺陷检测是MCU嵌入式自动防止故障危害功能的一种,检测MCU由噪声或类
似造成的功能故障。无论何时MCU试图从ROM区获取一条指令,内部恢复电路将
自动开始。如果检测到噪声引起地址错误,MCU重复执行程序直到噪声消除,MCU
将继续执行下一条指令。
78 •
版本号 (V1.0) 05.13.2014
(产品规格变更不做另行通知)