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 (产品规格变更不做另行通知)