EM78P418N 8位 OTP微控制器 产品规格书 版本 1.9 义隆电子股份有限公司 2011.01 本文内容是由英文规格书翻译而 来,目的是为了您的阅读更加方 便。它无法跟随原稿的更新,文 中可能存在翻译上的错误,请您 参考英文规格书以获得更准确的 信息。 商标告知: IBM 为一个注册商标,PS/2 是 IBM 的商标之ㄧ.。 Windows 是微软公司的商标。 ELAN 和 ELAN 标志 是义隆电子股份有限公司的商标。 版权所有 © 2009~2010 义隆电子股份有限公司 所有权利保留 台湾印制 本规格书内容如有变动恕不另作通知。关于该规格书的准确性、适当性或者完整性,义隆电子股份有限 公司不承担任何责任。 义隆电子股份有限公司不承诺对本规格书之内容及信息有更新及校正之义务。 本 规格书的内容及信息将为符合确认之指示而变更。 在任何情况下,义隆电子股份有限公司对本规格书中的信息或内容的错误、遗漏,或者其它不准确性不 承担任何责任。由于使用本规格书中的信息或内容而导致的直接,间接,特别附随的或结果的损害, 义 隆电子股份有限公司没有义务负责。 本规格书中提到的软件(如果有),都是依据授权或保密合约所合法提供的,并且只能在这些合约的许 可条件下使用或者复制。 义隆电子股份有限公司的产品不是专门设计来应用于生命维持的用具,装置或者系统。 义隆电子股份有 限公司的产品不支持而且禁止在这些方面的应用。 未经义隆电子股份有限公司书面同意,任何个人或公司不得以任何形式或方式对本规格书的内容之任一部 分进行复制或传输。 义隆电子股份有限公司 总公司: 地址:台湾新竹科学园区 创新一路 12 号 电话:+886 3 563-9977 传真:+886 3 563-9966 [email protected] http://www.emc.com.tw 香港分公司: USA: 义隆电子(香港)有限公司 九龙观塘巧明街 95 号世达中心 19 楼 A 室 电话:+852 2723-3376 传真:+852 2723-7780 Elan Information Technology Group (USA) Korea: 深圳分公司: 上海分公司: Elan Korea Electronics Company, Ltd. 义隆电子(深圳)有限公司 义隆电子(上海)有限公司 301 Dong-A Building 632 Kojan-Dong, Namdong-ku Incheon City, KOREA Tel: +82 32 814-7730 Fax:+82 32 813-7730 P.O. Box 601 Cupertino, CA 95015 USA Tel: +1 408 366-8225 Fax:+1 408 366-8225 地址:深圳市高新技术产业园南区 地址:上海市浦東新區張江高科畢 高新南一道国微大厦 3F 升路 289 弄 3 號 101 室 邮编:518057 电话:+86 755 2601-0565 传真:+86 755 2601-0500 [email protected] 邮编:201203 电话:+86 21 5080-3866 传真:+86 21 5080-0273 [email protected] 目录 目录 1 综述 2 产品特性.................................................................................................................... 1 3 引脚配置.................................................................................................................... 2 4 引脚说明.................................................................................................................... 3 4.1 ...................................................................................................................... 1 EM78P418ND18/SO18..................................................................................... 3 5 4.2 EM78P418ND20/SO20..................................................................................... 4 4.3 EM78P418NK24/SO24..................................................................................... 5 功能结构图 ................................................................................................................ 6 6 功能描述.................................................................................................................... 7 6.1 操作寄存器 ....................................................................................................... 7 6.1.1 R0 (间址寄存器)................................................................................................. 7 6.1.2 R1 (定时时钟计数器) .......................................................................................... 7 6.1.3 R2 (程序计数器) 和堆栈 ...................................................................................... 7 6.1.3.1 数据存储器结构.................................................................................... 9 6.1.4 R3 (状态寄存器)................................................................................................ 10 6.1.5 R4 (RAM 选择寄存器) ....................................................................................... 10 6.1.6 6.1.7 R5 ~ R7 (Port 5 ~ Port 7).................................................................................. 10 R8 (AISR: ADC 输入选择寄存器).......................................................................11 6.1.8 R9 (ADCON: ADC 控制寄存器) ........................................................................ 12 6.1.9 RA (ADOC: ADC 偏移校准寄存器).................................................................... 13 6.1.10 RB (ADDATA: ADC 转换结果)........................................................................... 14 6.1.11 RC (ADDATA1H: ADC 转换结果)...................................................................... 14 6.1.12 RD (ADDATA1L: ADC 转换结果) ...................................................................... 14 6.1.13 RE (WUCR: 唤醒控制寄存器)........................................................................... 14 6.1.14 RF (中断状态寄存器) ........................................................................................ 16 6.1.15 R10 ~ R3F ........................................................................................................ 16 6.2 特殊功能寄存器 .............................................................................................. 17 6.2.1 A (累加器) ......................................................................................................... 17 6.2.2 CONT (控制寄存器) .......................................................................................... 17 6.2.3 IOC50 ~ IOC70 (I/O 端口控制寄存器) .............................................................. 18 6.2.4 IOC80 (PWMCON: 脉冲宽度调制控制寄存器) ................................................. 18 6.2.5 IOC90 (TMRCON: 定时控制寄存器)................................................................. 19 6.2.6 IOCA0 (CMPCON: 比较控制寄存器) ................................................................ 20 6.2.7 IOCB0 (下拉控制寄存器) .................................................................................. 20 6.2.8 IOCC0 (漏极开路控制寄存器)........................................................................... 21 6.2.9 IOCD0 (上拉控制寄存器) .................................................................................. 21 6.2.10 IOCE0 (WDT 控制寄存器) ................................................................................ 21 6.2.11 IOCF0 (中断屏蔽寄存器) .................................................................................. 22 6.2.12 IOC51 (PRD1: PWM1 周期) ............................................................................. 23 版本号 (V1.9) 01.11.2011 • iii 目录 6.2.13 IOC61 (PRD2: PWM2 周期) ............................................................................. 23 6.2.14 IOC71 (PRD3: PWM3 周期) ............................................................................. 23 6.2.15 IOC81 (DT1L: PWM1 占空比低 8 位字节(Bit 7 ~ Bit 0)) ................................... 24 6.2.16 IOC91 (DT2L: PWM1 占空比低 8 位字节(Bit 7 ~ Bit 0)) ................................... 24 6.2.17 IOCA1 (DT3L: PWM3 占空比低 8 位字节(Bit 7 ~ Bit 0)) ................................... 24 6.2.18 IOCB1 (DTH: PWM 占空比高 8 位字节) ........................................................... 24 6.2.19 IOCC1 (TMR1L: PWM1 定时器低 8 位字节(Bit 7 ~ Bit 0))............................... 24 6.2.20 IOCD1 (TMR2L: PWM2 定时器低 8 位字节(Bit 7 ~ Bit 0) )............................... 24 6.2.21 IOCE1 (TMR3L: PWM3 定时器低 8 位字节(Bit 7 ~ Bit 0)) ................................ 24 6.2.22 IOCF1 (TMRH: PWM 定时器最高位 ................................................................. 24 6.3 TCC/WDT 和预分频器 .................................................................................... 25 6.4 I/O 端口 .......................................................................................................... 26 6.4.1 6.5 Port 6 输入状态改变引起唤醒/中断功能............................................................ 29 复位和唤醒 ..................................................................................................... 29 6.5.1 6.5.2 复位和唤醒........................................................................................................ 29 6.5.1.1 唤醒和中断模式应用摘要 ................................................................... 32 6.5.1.2 复位后寄存器的初值 .......................................................................... 33 6.5.1.3 控制器复位方块图 .............................................................................. 38 状态寄存器的 T 和 P 状态 ................................................................................. 39 6.6 中断 ................................................................................................................ 39 6.7 AD 转换器(ADC) ............................................................................................. 40 6.7.1 6.8 ADC 控制寄存器 (AISR/R8, ADCON/R9, ADOC/RA) ....................................... 41 6.7.1.1 R8 (AISR: ADC 输入选择寄存器)....................................................... 41 6.7.1.2 R9 (ADCON: ADC 控制器)................................................................. 42 6.7.1.3 RA (ADOC: ADC 偏移校准寄存器)..................................................... 43 6.7.2 ADC 数据寄存器 (ADDATA/RB, ADDATA1H/RC, ADDATA1L/RD)................... 44 6.7.3 ADC 采样时间................................................................................................... 44 6.7.4 AD 转换时间..................................................................................................... 44 6.7.5 休眠期间 ADC 的运行 ....................................................................................... 44 6.7.6 编程步骤/事项 ................................................................................................... 45 6.7.6.1 编程步骤 ............................................................................................ 45 6.7.6.2 程序示例 ............................................................................................ 46 PWM (脉冲宽度调制器) .................................................................................. 48 6.8.1 概述................................................................................................................... 48 6.8.2 累加定时器/计数器(TMRX: TMR1H/TWR1L, TMR2H /TWR2L, 或 TMR3H/TWR3L) ........................................................................................................... 49 6.8.3 PWM 周期 (PRDX: PRD1 或 PRD2)................................................................. 49 6.8.4 PWM 占空比 (DTX: DT1H/ DT1L, DT2H/DT2L 和 DT3H/DT3L; DLX: DL1H/DL1L, DL2H/DL2L and DL3H/DL3L) ................................................................ 50 6.8.5 比较器 X............................................................................................................ 50 6.8.6 iv • PWM 编程过程/步骤 ......................................................................................... 50 版本号 (V1.9) 01.11.2011 Contents 6.9 定时器............................................................................................................. 50 6.9.1 概述................................................................................................................... 50 6.9.2 功能描述 ........................................................................................................... 51 6.9.3 相关寄存器编程................................................................................................. 52 6.9.3.1 6.9.4 TMR1, TMR2 和 TMR3 的相关控制寄存器 ........................................ 52 定时器编程过程/步骤 ........................................................................................ 52 6.10 比较器............................................................................................................. 52 6.10.1 外部参考信号 .................................................................................................... 53 6.10.2 比较器输出........................................................................................................ 53 6.10.3 用比较器作运算放大器使用 .............................................................................. 54 6.10.4 比较器中断........................................................................................................ 54 6.10.5 从休眠状态唤醒................................................................................................. 54 6.11 振荡器............................................................................................................. 54 6.11.1 振荡器模式........................................................................................................ 54 6.11.2 晶体振荡/陶瓷谐振器(晶体).......................................................................... 55 6.11.3 外部 RC 振荡模式 ............................................................................................. 56 6.11.4 内部 RC 振荡模式 ............................................................................................. 56 6.12 上电探讨 ......................................................................................................... 57 6.12.1 外部上电复位电路 ............................................................................................. 57 6.12.2 残留电压保护 .................................................................................................... 58 6.13 代码选项 ......................................................................................................... 58 6.13.1 代码选项寄存器(Word 0)................................................................................... 59 6.13.2 代码选项寄存器(Word 1)................................................................................... 60 6.13.3 用户 ID 寄存器(Word 2) .................................................................................... 60 6.14 指令集............................................................................................................. 61 7 最大绝对值 .............................................................................................................. 63 8 直流电气特性........................................................................................................... 63 8.1 AD 转换器特性................................................................................................ 65 8.2 比较器(OP) 特性 ............................................................................................. 66 8.3 器件特性 ......................................................................................................... 66 9 交流电气特性........................................................................................................... 67 10 时序 .................................................................................................................... 68 附录 A 封装类型.................................................................................................................. 69 B 封装形式.................................................................................................................. 70 B.1 EM78P418ND18............................................................................................. 70 B.2 EM78P418NSO18 .......................................................................................... 71 B.3 EM78P418ND20............................................................................................. 72 B.4 EM78P418NSO20 .......................................................................................... 73 B.5 EM78P418NK24............................................................................................. 74 Product Specification (V1.6) 12.11.2007 •v 目录 B.6 EM78P418NSO24 .......................................................................................... 75 C B.7 EM78P418NSS24 ............................................................................................ 76 EM78P418N 烧录引脚............................................................................................. 77 D 品质保证和可靠性.................................................................................................... 78 D.1 地址陷阱检测 .................................................................................................. 78 修订版本 版本号 版本描述 日期 1.0 首发行版 2005/06/23 1.1 在功能上增加了 IRC 偏移率 2006/01/06 1.2 增加了 EM78P418NAM SSOP 20-pin 的封装资料 2006/02/22 1.3 修订了 RE, RF, 和 IOCF0 寄存器内容 2006/06/01 1. 修订了综述,引脚排列,功能部分 1.4 2. 增加了环保产品信息 2006/10/02 3. 修订了功能图 1.5 删除了 EM78P418NAM SSOP 20-pin 封装资料 2007/11/13 1.6 修订了封装类型名称 2007/12/11 1.7 vi • 1.增加了 EM78P418NSS24 SSOP 24 引脚封装 2.增加了 EM78P418N 的烧录引脚 2008/08/20 1.8 修正附录 C EM78P418N 的烧录引脚图表 2010/02/03 1.9 代码选择字 0 的第 3 位 HLP 固定为 0 2011/1/11 版本号 (V1.9) 01.11.2011 EM78P418N 8位OTP微控制器 1 综述 EM78P418N是采用低功耗高速CMOS工艺设计开发的8位微控制器。其内部有4KX13位一次性编 程ROM(OPT-ROM),它还提供保护位避免用户在OTP的程序被读取。拥有三个代码选项以满足用 户的需要。 具有增强的OTP-ROM特性的EM78P418N能够为用户提供开发和校验程序的便利,另外,此OTP 设备为开发和编程工具提供了容易而有效的程序更新优势。用户可以使用义隆烧录器容易的烧写 自己的开发代码。 2 产品特性 CPU 配置 4K×13位片内 ROM 这四个主频在使用 ICE418N 仿真时可以通过编程设置四个 校正位来校正. OTP 在烧录的时候由义隆烧录器自动校正. 144×8 片内寄存器 (SRAM) 8级堆栈用于子程序嵌套 z 5V/4MHz 工作条件下耗电流小于 2.2 mA z 3V/32kHz工作条件下耗电流典型值15 µA 高速晶振模式和 IRC 模式(32CLKS)从唤醒到工作模式的 快速起振时间只需要 2ms, z z z z 休眠模式下耗电流典型值1 µA I/O 端口配置 3组双向 I/O口 z 唤醒端口: P6 z 8个可编程下拉I/O 引脚 z 8个可编程上拉I/O 引脚 z 8 个可编程漏极开路 I/O 引脚 z 外部中断 : P50 z 工作电压范围: 2.3V~5.5V,基于工作温度 0°C~70°C(商业级) z 2.5V~5.5V,基于工作温度-40°C~85°C (工业级) 工作频率范围(基于 2 个时钟周期): 晶振模式: DC ~ 20 MHz, 5V; DC ~ 8MHz, 3V z 外部RC模式:DC ~ 16MHz, 5V; DC ~ 4MHz, 3V z 内部RC模式:4MHz 基于2.3V~5.5V z 内部 RC 频率 温度 电压 制程 总计 (-40°C+85°C) (2.3V~5.5V) 4MHz ±10% ±5% ±4% ±19% 8MHz ±10% ±6% ±4% ±20% 1MHz ±10% ±5% ±4% ±19% 455kHz ±10% ±5% ±4% ±19% (产品更新后规格书不保证同步更新) 可编程自由运行的看门狗定时器 上电电压检测器可检测电压 2.0V±0.1V 封装形式: 18 pin DIP300mil: EM78P418ND18J/S z 18 pin SOP300mil: EM78P418NSO18J/S z 20 pin DIP 300mil:EM78P418ND20J/S z 20 pin SOP 300mil: EM78P418NSO20J/S z 24 pin skinny DIP 300mil : EM78P418NK24J/S z 24 pin SOP 300mil: EM78P418NSO24J/S z 24 pin ssop 150mil: EM78P418NSS24J/S z 偏移率 版本号 (V1.9) 01.11.2011 6 个中断源 TCC溢出中断 z 输入状态改变中断 (休眠模式下唤醒) z 外部中断 z ADC转换结束中断 z PWM周期匹配结束中断 z 比较器输出高/低电平中断 z z 外设配置 8位实时时钟/计数器(TCC),其信号源,触发源可编程 选择,溢出产生中断 z 8路AD转换器,精度可达12位 z 3个脉冲宽度调制器(PWM ),精度达10位的 z 1对比较器(可作为OP使用) z 省电(休眠)模式 z Note:EM78P418N 系列产品均为环保产品,不含对人体有害物 质。 •1 EM78P418N 8位OTP微控制器 3 引脚配置 P60/ADC0 1 18 P56/TCC P61/ADC1 2 17 P55/OSCI P62/ADC2 3 16 Vss 4 P63/ADC3 5 P64/ADC4 6 P65/ADC5 7 P66/ADC6 P67/ADC7 20 P57/CIN- P60/ADC0/CO 2 19 P56/TCC P54/OSCO P61/ADC1 3 18 P55/OSCI 15 VDD P62/ADC2 4 17 P54/OSCO 14 P53/PWM3/VREF Vss 5 16 VDD 13 P52/PWM2 P63/ADC3 6 15 P53/PWM3/VREF P64/ADC4 7 14 P52/PWM2 12 P51/PWM1 P65/ADC5 8 13 P51/PWM1 8 11 /RESET P66/ADC6 9 12 /RESET 9 10 P50/INT P67/ADC7 10 11 P50/INT 图 3-1 EM78P418ND18/SO18 P72 24 1 P73 图 3-2 EM78P418ND20/SO20 1 24 P 73 P71 2 23 P 74 P70/CIN + 3 22 P57 /CIN - 21 P55/OSCI 20 P54 /OSCO 19 P56 /TCC 18 P52/PWM 2 23 P74 P70/CIN + 3 22 P57 /CIN - P60 /ADC0/CO 4 21 P56 /TCC P61/ADC1 4 20 P55 /OSCI P62/ADC2 5 19 P54 /OSCO P60 /ADC0/CO 6 18 VDD P64 /ADC4 7 Vss 8 P61/ADC1 5 P62/ADC2 6 Vss 7 EM78P418N-24Pin 2 EM78P418NSS24 P72 P71 17 VDD 16 P53 /PWM3/VREF P51/PWM 1 P63 /ADC3 8 17 P53 /PWM3/VREF P64 /ADC4 9 16 P52/PWM 2 P63 /ADC3 9 P65 /ADC5 10 15 P51/PWM 1 P65 /ADC5 10 15 P66 /ADC6 11 14 /RESET P66 /ADC6 11 14 /RESET P67 /ADC7 12 13 P50/INT P67 /ADC7 12 13 P50/INT 图 3-3 EM78P418NK24/SO24 2• EM78P418N-20Pin 1 EM78P418N-18Pin P70/CIN+ 图 3-4 EM78P418NSS24 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 4 引脚说明 4.1 EM78P418ND18/SO18 符号 功能 引脚序号 类型 VDD 15 – 电源 OSCI 17 I 晶振模式:晶振输入或外部时钟输入端 RC 模式: RC 振荡器输入引脚 OSCO 16 I/O 晶振模式:晶振输出端或外部时钟输入引脚 RC 模式:时钟输出为 1 条指令周期。预分频比由 CONT 寄存器设定。 外部时钟信号输入 P60 ~ P67 1~3 5~9 I/O 双向 I/O 引脚 上电复位后设置值为默认值 P50 ~ P56 10, 12~14, 16 ~ 18 I/O 双向 I/O 引脚 上电复位后设置值为默认值 10 I 由下降沿或上升沿触发的外部中断引脚 1~3 5~9 I AD 转换器 由 ADCON (R9) <0:2>设置 O 脉冲宽度调制输出 由 PWMCON (IOC80) <5:7>设置 I 为 ADC 提供外部参考电压 由 ADCON (R9) <7>设置 INT ADC0 ~ ADC7 PWM1 PWM2 PWM3 VREF 12, 13, 14 14 /RESET 11 I 只用于输入 如果电压持续在低电平,系统将复位 当输入引脚电平改变时,由休眠模式唤醒 在正常模式下复位脚( /RESET)电压须小于 IC 电源电压( VDD) TCC 18 I 施密特触发的实时时钟/计数器输入引脚 不使用时须与 VDD 或 VSS 相连 VSS 5 – 地 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) •3 EM78P418N 8位OTP微控制器 4.2 EM78P418ND20/SO20 符号 引脚序号 类型 VDD 16 – OSCI 18 I OSCO 17 O 功能 电源 晶振模式:晶振输入或外部时钟输入端 RC 模式: RC 振荡器输入引脚 晶振模式:晶振输出端或外部时钟输入端 RC 模式:时钟输出为 1 条指令周期。预分频比由 CONT 寄存器设定。 外部时钟信号输入 P50 ~ P57 11,13~15 17 ~ 20, I/O P60 ~ P67 2 ~ 4, 6 ~ 10 I/O P70 1 I/O INT 11 I ADC0~ADC7 2 ~ 4, 6 ~ 10 I PWM1 PWM2 PWM3 13, 14, 15 O VREF 15 I CIN- I CIN+ 20 1 CO 2 O /RESET 12 I I 双向 I/O 引脚 上电复位后设置值为默认值 双向 I/O 引脚 上电复位后设置值为默认值 双向 I/O 引脚 上电复位后设置值为默认值 由下降沿或上升沿触发的外部中断引脚 AD 转换器 由 ADCON (R9) <0:2>设置 脉冲宽度调制输出 由 PWMCON (IOC80) <5:7>设置 为 ADC 提供外部参考电压 由 ADCON (R9) <7>设置 “–“ → 比较器 Vin–输入引脚 “+” → 比较器 Vin+输入引脚 比较器输出引脚 CO 由 CMPCON (IOCA0) <0:1>设置 只用于输入 如果电压持续在低电平,系统将复位 当输入引脚电平改变时,由休眠模式唤醒 在正常模式下复位脚( /RESET)电压须小于 IC 电源电 压( VDD) 4• TCC 19 I VSS 5 – 施密特触发的实时时钟/计数器输入引脚 不使用时须与 VDD 或 VSS 相连 地 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 4.3 EM78P418NK24/SO24 符号 引脚序号 类型 VDD 18 - OSCI 20 I OSCO 19 O 功能 电源 晶振模式:晶振输入或外部时钟输入端 RC 模式: RC 振荡器输入引脚 晶振模式:晶振输出端或外部时钟输入端 RC 模式:时钟输出为 1 条指令周期。预分频比由 CONT 寄存器 设定。 外部时钟信号输入 P50 ~ P57 13, 15 ~ 17 19 ~ 22, 4 ~ 6, P60 ~ P67 P70 ~ P74 8 ~ 12 I/O I/O 3, 2, 1, 24, 23 I/O 13 I INT 4 ~ 6, ADC0 ~ADC7 8 ~ 12 I PWM1 PWM2 PWM3 15, 16, 17 O VREF 17 I CIN– 22, I CIN+ 3, I CO 4 O /RESET 14 I 双向 I/O 引脚 上电复位后设置值为默认值 双向 I/O 引脚 上电复位后设置值为默认值 双向 I/O 引脚 上电复位后设置值为默认值 由下降沿或上升沿触发的外部中断引脚 AD 转换器 由 ADCON (R9) <0:2>设置 脉冲宽度调制输出 由 PWMCON (IOC80) <5:7>设置 为 ADC 提供外部参考电压 由 ADCON (R9) <7>设置 E “–“ → 比较器 Vin–输入引脚 “+” → 比较器 Vin+输入引脚 比较器输出引脚 CO 由 CMPCON (IOCA0) <0:1>设置 只用于输入 如果电压持续在低电平,系统将复位 当输入引脚电平改变时,由休眠模式唤醒 在正常模式下复位脚( /RESET)电压须小于 IC 电源电压( VDD) TCC 21 I VSS 7 - 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) 施密特触发的实时时钟/计数器输入引脚 不使用时须与 VDD 或 VSS 相连 地 •5 EM78P418N 8位OTP微控制器 5 功能结构图 图 5 EM78P418N 功能结构图 6• 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 6 功能描述 6.1 操作寄存器 6.1.1 R0 (间址寄存器) R0 并非实际存在的寄存器。它的主要功能是作为间接寻址指针。任何以R0为指针的指 令实际上是对RAM选择寄存器R4所指的数据进行操作。 6.1.2 R1 (定时时钟计数器) 对来自TCC脚的外部信号边沿或内部指令周期时钟进行累加。 外部TCC触发脉冲宽度必须大于一条指令周期。 计数器的信号方式由寄存器CONT的位4和位5设置 。 与其他寄存器一样可读写。 6.1.3 R2 (程序计数器) 和堆栈 R3 A11 A10 A9 A8 A7 ~ A0 复位向量 中断向量 000H 008H 00 页0 0000~03FF 01 页1 0400~07FF 10 页2 0800~0BFF 11 页3 0C00~0FFF 堆栈级 1 堆栈级 2 堆栈级 3 堆栈级 4 堆栈级 5 椎栈级 6 椎栈级 7 椎栈级 8 用户存储空间 CALL RET RETL RETI FFFH 图 6-1 程序计数器组织 R2 和硬件堆栈为12为宽。其在6.1.3.1节的数据存储器结构中描述(下一节) 。 产生4K×13位片内ROM 地址以获取对应的程序指令编码。一个程序页是1024字长。 复位后R2寄存器的内容被清零。 “JMP”指令允许直接载入程序计数器R2低10位。因此,“JMP”指令可以在同一个页 内任意跳转(1K)。 “CALL”指令载入PC的低10位,并将PC+1值入栈。因此子程序入口地址可以放在 同一页的任一位置(1K)。 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) •7 EM78P418N 8位OTP微控制器 "RET" ("RETL k", "RETI")指令程序计数器的值载入栈顶 。 “ADD R2, A”允许把A的相对地址加到当前PC上,同时PC的第九位及以上的逐次 增加 “MOV R2, A”允许从寄存器A装载到PC的低8位,同时PC的位9及位10(A8 ~ A9) 保持不变。 任何对R2进行操作的指令(除“ADD R2,A”外) (如“MOV R2, A”,“BC R2, 6”, ⋅⋅⋅⋅⋅) , PC的位9及位10保持不变。 对于EM78P418N,执行"JMP", "CALL"或任何改变R2的值的指令时,其最高2位 (A11和A10)的值由寄存器R3的PS0~PS1的内容载入。 除了改变R2值的指令外,所有的指令均为一条指令周期(fclk/2 或 fclk/4)。值得注意的 是,这些指令需要一条还是两条指令周期由代码寄存器CYES位决定。 8• 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 6.1.3.1 数据存储器结构 Address Page Registers IOC Page Registers IOC Page Registers 00 R0 (间接寻址寄存器) 保留 保留 01 R1 (定时/计数器) 保留 保留 02 R2 (程序计数器) 保留 保留 03 R3 (状态寄存器) 保留 保留 04 R4 (RAM 选择寄存器) 保留 保留 05 R5 (Port 5) IOC50 (I/O 控制寄存器) IOC51 (PRD1: PWM1 的周期) 06 R6 (Port 6) IOC60 (I/O 控制寄存器) IOC61 (PRD2: PWM2 的周期) 07 R7 (Port 7) IOC70 (I/O 控制寄存器) IOC71 (PRD3: PWM3 的周期) 08 R8 (ADC 输入选择寄存器) IOC80 (PWM 控制寄存器) IOC81 (DT1L: PWM1 占空比) 09 R9 (ADC 控制寄存器) IOC90 (时间控制寄存器) IOC91 (DT2L: PWM2 占空比) 0A RA (ADC 偏移校准寄存器) IOCA0 (比较控制寄存器) IOCA1 (DT3L: PWM3 占空比) 0B RB (ADDATA: ADC 转换结果, IOCB0 位 11 ~ 位 4) (下拉控制寄存器) IOCB1 (DTH: PWM 占空比) 0C RC (ADDATA1H: ADC 转换结果 IOCC0 位 11 ~ 位 8) (漏极开路控制寄存器) IOCC1 (TIMER1L: PWM1 定时 器) 0D RD (ADDATA1L: ADC 转换结果 IOCD0 位 7 ~ 位 0) (上拉控制寄存器) IOCD1 (TIMER2L: PWM2 定时 器) 0E RE (唤醒控制寄存器) IOCE0 (WDT 控制寄存器) IOCE1 (TIMER3L: PWM3 定时 器) 0F RF (中断状态寄存器) IOCF0 (中断屏蔽寄存器) IOCF1 (TMRH: PWM 定时器) 10 ︰ 一般寄存器 1F 20 ︰ Bank 0 Bank 1 Bank 2 Bank 3 3F 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) •9 EM78P418N 8位OTP微控制器 6.1.4 R3 (状态寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 IOCS PS1 PS0 T P Z DC C Bit 7 (IOCS): I/O控制寄存器段选择位 0: 选择0段 (IOC50 ~ IOCF0) 1: 选择1段 (IOC51 ~ IOCF1) Bit 6 ~ Bit 5 (PS1 ~ PS0): 页码选择位. PS0 ~ PS1用于选择程序存储器页码。当执行 “JMP”“CALL”或者任何改变程序计数器PS0~PS1的指令(如:MOV R2, A),PS0~PS1的值被载入所选择程序存储器页码所在页对应的程序计数 器的位11和位12中。注意的是指令RET(RETL,TETI)指令不会改变 PS0~PS1的值。也就是说,无论当前位PS0~PS1的设置值为多少,都会 返回子程序被调用时的页面 。 PS1 PS0 程序存储页 [地址] 0 0 页 0 [000-3FF] 0 1 页 1 [400-7FF] 1 0 页 2 [800-BFF] 1 1 页 3 [C00-FFF] Bit 4 (T): 时间溢出位。 执行指令“SLEP”“WDTC”后或者上电复位时置1,WDT溢出时清零。 Bit 3 (P): 省电标志位。 上电复位或执行“WDTC”指令后置1,执行“SLEP”指令时清零。 注意 位 4 & 位3 (T & P) 为只读. Bit 2 (Z): 零标志位。算术或逻辑运算的结果为零时置1。 Bit 1 (DC): 辅助进位标志 Bit 0 (C): 进位标志 6.1.5 R4 (RAM选择寄存器) Bit 7 & Bit 6: 用于选择存储器0 ~ 3. Bit 5 ~ Bit 0: 在间接寻址的模式下用于选择寄存器(地址:00~3F) 。 关于数据存储器结构,请查阅6.1.3.1节的《数据存储器结构》表格。 6.1.6 R5 ~ R7 (Port 5 ~ Port 7) R5 & R6 为双向I/O寄存器。 R7 为双向I/O寄存器。R7寄存器的前3位固定设置为零。 10 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 6.1.7 R8 (AISR: ADC输入选择寄存器) AISR寄存器定义PORT6口引脚分别作为模拟输入口或数字I/O口。 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 Bit 7 (ADE7): AD转换使能P67引脚。 。 0: 禁止ADC7, P67作为I/O引脚。 1: 使能ADC7, P67 作为模拟输入引脚。 Bit 6 (ADE6): AD转换使能P66引脚。 0: 禁止ADC6, P66作为I/O引脚。 1: 使能ADC6,P66作为模拟输入引脚。 Bit 5 (ADE5): AD转换使能P65引脚。 0: 禁止ADC5, P65作为I/O引脚。 1: 使能ADC5,P65作为模拟输入引脚。 Bit 4 (ADE4): AD转换使能P64引脚。 0: 禁止ADC4, P64作为I/O引脚。 1: 使能ADC4,P64作为模拟输入引脚。 Bit 3 (ADE3): AD转换使能P63引脚。 0: 禁止ADC3, P63作为I/O引脚。 1: 使能ADC3,P63作为模拟输入引脚。 Bit 2 (ADE2): AD转换使能P62引脚。 0: 禁止ADC2, P62作为I/O引脚。 1: 使能ADC2,P62作为模拟输入引脚。 Bit 1 (ADE1): AD转换使能P61引脚。 0: 禁止ADC1, P61作为I/O引脚。 1: 使能ADC1,P61作为模拟输入引脚。 Bit 0 (ADE0): AD转换使能P60引脚。 0: 禁止ADC0, P60作为I/O引脚。 1: 使能ADC0,P60作为模拟输入引脚。 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 11 EM78P418N 8位OTP微控制器 注意 当P60/ADC0作为模拟输入或数字I/O口时,注意IOCA0控制寄存器的位COS1和COS0 控制位的优先级。比较器/OP选择位如6.2.6节《IOCA0(CMPCON:比较控制寄存器)》 表格所示。 P60/ADC0/CO引脚优先级如下: P60/ADE0/CO 优先级 高 中 低 CO ADC0 P60 6.1.8 R9 (ADCON: ADC控制寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 VREFS CKR1 CKR0 ADRUN ADPD ADIS2 ADIS1 ADIS0 Bit 7 (VREFS): ADC的Vref的输入源。 0: ADC的Vrdf引脚与Vdd相连(默认值) ,P53/VREF引脚执行P53的功能。 1: ADC 的Vref与P53/VREF相连。 注意 P53/PWM3/VREF引脚不能同时用作PWM3 和VREF功能。如果P53/PWM3/VREF作为 VREF模拟输入引脚,那么PWM3E必须设置为“0”。 P53/PWM3/VREF引脚的优先级如下: P53/PWM3/VREF引脚优先级 高 中 低 VREF PWM3 P53 Bit 6 & Bit 5 (CKR1 & CKR0): ADC振荡时钟频率的预分频比 00 = 1: 16 (默认值) 01 = 1: 4 10 = 1: 64 11 = 1: WDT环型振荡器频率 CKR1:CKR0 12 • 运行模式 最大运行频率 00 Fosc/16 4 MHz 01 Fosc/4 1 MHz 10 Fosc/64 16MHz 11 内部 RC(WDT 定 时基准) - 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 Bit 4 (ADRUN): ADC 开始运行位 0: 转换完成后清零。此标志位不能由软件清零。 1: AD转换开始。此标志位可由软件设置1。 Bit 3 (ADPD): ADC低功耗模式。 0: 关闭参考电阻进入省电模式,即使此时CPU在运行。 1: ADC运行模式。 Bit 2 ~ Bit 0 (ADIS2 ~ADIS0): 模拟输入选择位 000 = ADIN0/P60 001 = ADIN1/P61 010 = ADIN2/P62 011 = ADIN3/P63 100 = ADIN4/P64 101 = ADIN5/P65 110 = ADIN6/P66 111 = ADIN7/P67 仅当位ADIF(见6.1.14节)和位ADRUN同时为低时,这些标志位可更改。 6.1.9 RA (ADOC: ADC偏移校准寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 CALI SIGN VOF[2] VOF[1] VOF[0] “0” “0” “0” Bit 7 (CALI): ADC 偏移校准使能位 0: 禁止校准功能 1: 使能校准功能 Bit 6 (SIGN): 偏移电压极性设置 0: 负电压 1: 正电压 Bit 5 ~ Bit 3 (VOF[2] ~ VOF[0]): 偏移电压位 VOF[2] VOF[1] VOF[0] EM78P418N ICE418N 0 0 0 0LSB 0LSB 0 0 0 1 1 0 2LSB 4LSB 1LSB 2LSB 0 1 1 6LSB 3LSB 1 0 0 8LSB 4LSB 1 0 1 10LSB 5LSB 1 1 0 12LSB 6LSB 1 1 1 14LSB 7LSB Bit 2 ~ Bit 0: 未使用,读取为“0” 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 13 EM78P418N 8位OTP微控制器 6.1.10 RB (ADDATA: ADC转换结果) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 当AD转换完成后,结果载入ADDATA 中。ADRUN位清零,ADIF位被置1。(见6.1.14 章节) RB为只读。 6.1.11 RC (ADDATA1H: ADC转换结果) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 “0” “0” “0” “0” AD11 AD10 AD9 AD8 当AD转换完成后,结果载入ADDATA 1H中。ADRUN位清零,ADIF位被置1(见6.1.14 章节)。 RC 为只读。 6.1.12 RD (ADDATA1L: ADC转换结果) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 当AD转换完成后,结果载入ADDATA 1L。ADRUN位清零,ADIF被置1(见6.1.14章节) RD为只读。 6.1.13 RE (WUCR: 唤醒控制寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 EM78P418N “0” “0” “0” “0” ADWE CMPWE ICWE “0” ICE418N 仿真器 C3 C2 C1 C0 ADWE CMPWE ICWE “0” Bit 7 ~ Bit 4: [For EM78P418N]: 未使用,读取为“0”。 14 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 [With Simulator (C3~C0)]: 在IRC振荡模式下,IRC校准位。对于ICE418N仿真器,在 IRC振荡模式下这些数值是IRC的校准位。 C3 C2 C1 C0 频率 (MHz) 0 0 0 0 (1-36%) x F 0 0 0 0 0 1 1 0 (1-31.5%) x F (1-27%) x F 0 0 1 1 (1-22.5%) x F 0 1 0 0 (1-18%) x F 0 1 0 1 (1-13.5%) x F 0 1 1 0 (1-9%) x F 0 1 1 1 (1-4.5%) x F 1 1 1 1 F (default) 1 1 1 0 (1+4.5%) x F 1 1 0 1 (1+9%) x F 1 1 0 0 (1+135%) x F 1 0 1 1 (1+18%) x F 1 1 0 0 1 0 0 1 (1+22.5%) x F (1+27%) x F 1 0 0 0 (1+31.5%) x F Note: 1. 上述频率值均为理论值,取自一个高频模式的实例。因此这些数据仅供参考。实际值取决于实际的 程序。 2. 低频模式可参考类似的计算方式。 Bit 3 (ADWE): ADC唤醒使能位 0: 禁止 ADC唤醒 1: 使能 ADC唤醒 当带有AD转换完成被用作进入中断向量或者将EM78P418N从睡眠状态 唤醒,ADWE为必须置为市恩那个。 Bit 2 (CMPWE): 比较器唤醒使能位 0: 禁止比较器唤醒 1: 使能比较器唤醒 当比较器的输出状态改变用于将EM78P418N由休眠状态唤醒时, CMPWE位必须使能。 Bit 1 (ICWE): Port 6输入状态改变唤醒使能位 0: 禁止Port 6输入状态改变唤醒 1: 使能Port 6输入状态改变唤醒 当Port 6输入状态改变用作将EM78P418N由休眠状态唤醒,ICWE位必须 使能。 Bit 0: 未使用,读取为“0” 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 15 EM78P418N 8位OTP微控制器 6.1.14 RF (中断状态寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 CMPIF PWM3IF PWM2IF PWM1IF ADIF EXIF ICIF TCIF 注意 ■ “1”意味着有中断请求,“0”意味着无中断请求 ■ RF可以由指令清零但是不能置1 ■ IOCF0是中断状态寄存器 ■ 读取到的RF的结果为RF和IOCF0相与(逻辑与)的结果 Bit 7 (CMPIF): 比较器中断标志。当比较器输出变化时置1,由软件清零。 Bit 6 (PWM3IF): PWM3 (脉冲宽度调制器) 中断标志。当到达设定周期时置1,由软件清 零。 Bit 5 (PWM2IF): PWM2 (脉冲宽度调制器)中断标志。当到达设定周期时置1,由软件清 零。 Bit 4 (PWM1IF): PWM1 (脉冲宽度调制器) 中断标志。当到达设定周期时置1,由软件清 零。 Bit 3 (ADIF): 模数转换中断标志。当AD转换完成时置1,由软件清零。 Bit 2 (EXIF): 外部中断标志。在/INT引脚产生下降沿时置1,由软件清零。 Bit 1 (ICIF): Port 6端口输入状态改变时产生中断。当PORT6端口输入状态改变时置1, 由软件清零。 Bit 0 (TCIF): TCC溢出中断标志。溢出时置1,由软件清零。 6.1.15 R10 ~ R3F 所有的寄存器都是8位通用寄存器。 16 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 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: 内部指令周期时钟。如果P56引脚作为I/O口用时,TS必须设置为“0” 1: TCC引脚转换 Bit 4 (TE): TCC信号沿 0: TCC引脚信号沿发生由低到高时TCC加1 1: TCC引脚信号沿发生由高到低时TCC加1 Bit 3 (PSTE): TCC预分频器使能位 0: 禁止预分频器。TCC预分频比为1:1。 1: 使能预分频器。TCC预分频比设置见Bit 2 ~ Bit 0。 Bit 2 ~ Bit 0 (PST2 ~ PST0): TCC预分频比选择位 PST2 PST1 PST0 TCC 预分频比 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 注意 Tcc溢出周期[1/Fosc x prescaler x 256 (Tcc cnt) x 1 (CLK=2)] Tcc溢出周期 [1/Fosc x prescaler x 256 (Tcc cnt) x 2 (CLK=4)] 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 17 EM78P418N 8位OTP微控制器 6.2.3 IOC50 ~ IOC70 (I/O端口控制寄存器) 0: 定义相应I/O引脚为输出 1: 定义相应I/O引脚为高阻态 IOC50, IOC60, 和IOC70寄存器均为可读写。 注意 使用EM78P418N-18 Pin 和 EM78P418N-20Pin时,代码选用寄存器(Word 0)的位9必须 设置为“1”。 使用EM78P418N-18PIN时,必须设置IOC50的位7和IOC70的位0都设置为 “0”。这些设置都不会有额外功耗。 6.2.4 IOC80 (PWMCON: 脉冲宽度调制控制寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 PWM3E PWM2E PWM1E “0” T1EN T1P2 T1P1 T1P0 Bit 7 (PWM3E): PWM3使能位 0: PWM3功能关闭(默认值) ,它的相关引脚执行P53的功能。 1: PWM3 功能开启,它的相关引脚自动设置为输出功能。 注意 P53/PWM3/VREF 引脚不能同时使用PWM3 和 VREF功能。如果P53/PWM3/VREF引脚 定义为VREF模拟输入口,那么PWM3E必须设置为“0”。 P53/PWM3/VREF使用的优先级如下: P53/PWM3/VREF引脚优先级 高 中 低 VREF PWM3 P53 Bit 6 (PWM2E): PWM2使能位。 0: PWM2功能关闭(默认值) ,它的相关引脚执行P52的功能。 1: PWM2功能开启,它的相关引脚自动设置为输出功能。 Bit 5 (PWM1E): PWM1使能位 0: PWM1功能关闭(默认值) ,它的相关引脚执行P51的功能。 1: PWM1功能开启,它的相关引脚自动设置为输出功能。 Bit 4: 未使用读取为“0” Bit 3 (T1EN): TMR1使能位 0: TMR1功能关闭(默认值) 1: TMR1功能开启 18 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 Bit 2 ~ Bit 0 (T1P2 ~ T1P0): TMR1时钟预分频比选择位 T1P2 T1P1 T1P0 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.5 IOC90 (TMRCON: 定时控制寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 T3EN T2EN T3P2 T3P1 T3P0 T2P2 T2P1 T2P0 Bit 7 (T3EN): TMR3使能位 0: TMR3功能关闭(默认值) 1: TMR3功能开启 Bit 6 (T2EN): TMR2使能位 0: TMR2功能关闭(默认值) 1: TMR2功能开启 Bit 5 ~ Bit 3 (T3P2 ~ T3P0): TMR3时钟预分频比选择位 T3P2 T3P1 T3P0 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 预分频比 Bit 2~Bit 0 ( T2P2: T2P0 ): TMR2时钟预分频比选择位 T2P2 T2P1 T2P0 0 0 0 1:2(默认) 0 0 1 1:4 0 1 0 1:8 0 1 1 0 1 0 1:16 1:32 1 0 1 1:64 1 1 0 1:128 1 1 1 1:256 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) 预分频比 • 19 EM78P418N 8位OTP微控制器 6.2.6 IOCA0 (CMPCON: 比较控制寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 “0” “0” “0” “0” “0” CPOUT COS1 COS0 Bit 7 ~ Bit 3: 未使用,读取为“0”。 Bit 2 (CPOUT): 比较器的输出结果 Bit 1 ~ Bit 0 (COS1 ~ COS0): 比较器/OP选择位 COS1 COS0 0 0 比较器和 OP 未使用,P60 定义为 通用 I/O 引脚。 0 1 定义为比较器,P60 定义为通用 I/O 引脚 1 0 定义为比较器,P60 定义为比较器的输出引脚(CO) 1 1 定义为 OP,P60 定义为 OP 输出引脚(CO) 功能描述 注意 ■ P60/ADC0/CO 引脚的CO和ADCO功能不能同时使用。 ■ P60/ADC0/CO 引脚优先级如下: P60/ADE0/CO 优先级 高 中 低 CO ADC0 P60 6.2.7 IOCB0 (下拉控制寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 /PD7 /PD6 /PD5 /PD4 /PD3 /PD2 /PD1 /PD0 IOCB0寄存器可读写。 Bit 7 (/PD7):P67引脚下拉功能控制位 0: 使能内部下拉功能 1: 禁止内部下拉功能 Bit 6 (/PD6): P66引脚下拉功能控制位 Bit 5 (/PD5): P65引脚下拉功能控制位 Bit 4 (/PD4): P64引脚下拉功能控制位 Bit 3 (/PD3): P63引脚下拉功能控制位 Bit 2 (/PD2): P62引脚下拉功能控制位 Bit 1 (/PD1): P61引脚下拉功能控制位 Bit 0 (/PD0): P60引脚下拉功能控制位 20 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 6.2.8 IOCC0 (漏极开路控制寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 /OD7 /OD6 /OD5 /OD4 /OD3 /OD2 /OD1 /OD0 IOCC0寄存器可读写。 Bit 7 (OD7): P57漏极开路引脚控制位 0: 使能漏极开路输出 1: 禁止漏极开路输出 Bit 6 (OD6): P56漏极开路引脚控制位 Bit 5 (OD5): P55漏极开路引脚控制位 Bit 4 (OD4): P54漏极开路引脚控制位 Bit 3 (OD3): P53漏极开路引脚控制位 Bit 2 (OD2): P52漏极开路引脚控制位 Bit 1 (OD1): P51漏极开路引脚控制位 Bit 0 (OD0): P50漏极开路引脚控制位 6.2.9 IOCD0 (上拉控制寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 /PH7 /PH6 /PH5 /PH4 /PH3 /PH2 /PH1 /PH0 IOCD0寄存器可读写。 Bit 7 (/PH7): P67引脚上拉功能控制位 0: 使能内部上拉功能 1: 禁止内部上拉功能 Bit 6 (/PH6):P66引脚上拉功能控制位 Bit 5 (/PH5): P65引脚上拉功能控制位 Bit 4 (/PH4): P64引脚上拉功能控制位 Bit 3 (/PH3): P53引脚上拉功能控制位 Bit 2 (/PH2): P52引脚上拉功能控制位 Bit 1 (/PH1): P51引脚上拉功能控制位 Bit 0 (/PH0): P50引脚上拉功能控制位 6.2.10 IOCE0 (WDT控制寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 WDTE EIS PSWE PSW2 PSW1 PSW0 “0” “0” Bit 7 (WDTE): 看门狗定时器控制位 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 21 EM78P418N 8位OTP微控制器 0: 禁止WDT 1: 使能WDT WDTE 可读写。 Bit 6 (EIS): 定义P50 (/INT)引脚控制位 0: P50作为通用I/O引脚 1: /INT, 外部中断引脚,此时P50的I/O控制位(IOC50的位0)必须设置为 “1”。 注意 ■ 当EIS的值为“0”时,/INT通道被屏蔽。当EIS的值为“1”时,/INT引脚的状态可由PORT5 (R5)读取。可参考6.4节的图6-4(P50(INT)I/O端口和I/O控制寄存器电路)。 ■ EIS为可读写。 Bit 5 (PSWE): WDT 预分频器控制位 0: 禁止预分频器。预分频比为1:1。 1: 使能预分频器。WDT预分频比设置见位4~位2。 Bit 4 ~ Bit 2 (PSW2 ~ PSW0): WDT 预分频比选择位。 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 Bit 1 ~ Bit 0: 未使用,读取为“0” 6.2.11 IOCF0 (中断屏蔽寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 CMPIE PWM3IE PWM2IE PWM1IE ADIE EXIE ICIE TCIE 注意 ■ IOCF0寄存器可读写。 ■ 各自的中断使能通过设置IOCF中相应的位值为“1”。 ■ 全局中断使能使用ENI指令,禁止使用DISI指令。可参考6.6节(中断)中的图6-8(中 断输入电路)。 Bit 7 (CMPIE): CMPIF中断控制位 0: 禁止CMPIF中断 22 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 1: 使能CMPIF中断 当比较器输出状态改变用于进入中断时,CMPIE位必须设置为使能状态。 Bit 6 (PWM3IE): PWM3IF中断控制位 0: 禁止PWM3中断 1: 使能PWM3中断 Bit 5 (PWM2IE): PWM2IF中断控制位 0: 禁止PWM2中断 1: 使能PWM2中断 Bit 4 (PWM1IE): PWM1IF中断控制位 0: 禁止PWM1中断 1: 使能PWM1中断 Bit 3 (ADIE): ADIF 中断控制位 0: 禁止ADIF中断 1: 使能ADIF中断 当ADC转换完成用于中断时,ADIE位必须设置为“使能”状态。 Bit 2 (EXIE): EXIF中断控制位 0: 禁止EXIF中断 1: 使能EXIF中断 Bit 1 (ICIE): ICIF中断控制位 0: 禁止ICIF中断 1: 使能ICIF中断 如Port 6口状态改变用于中断,ICIE位必须设置为“使能”状态。 Bit 0 (TCIE): TCIF中断控制位 0: 禁止TCIF中断 1: 使能TCIF中断 6.2.12 IOC51 (PRD1: PWM1 周期) IOC51的内容为PWM1的周期(时间基准)。PWM1的频率为其周期的倒数。 6.2.13 IOC61 (PRD2: PWM2 周期) IOC61的内容为PWM2的周期(时间基准)。PWM2的频率为其周期的倒数。 6.2.14 IOC71 (PRD3: PWM3 周期) IOC71的内容为PWM3的周期(时间基准)。PWM3的频率为其周期的倒数。 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 23 EM78P418N 8位OTP微控制器 6.2.15 IOC81 (DT1L: PWM1占空比低8位字节(Bit 7 ~ Bit 0)) 直到PWM1的值和TMR1的值相等为止,指定的值使PWM1的输出值一直持续于高电平 状态。 6.2.16 IOC91 (DT2L: PWM1占空比低8位字节(Bit 7 ~ Bit 0)) 直到PWM2的值和TMR2的值相等为止,指定的值使PWM2的输出值一直持续于高电平 状态。 6.2.17 IOCA1 (DT3L: PWM3占空比低8位字节(Bit 7 ~ Bit 0)) 直到PWM3的值和TMR3的值相等为止,指定的值使PWM3的输出值一直持续在高电平 状态。 6.2.18 IOCB1 (DTH: PWM占空比高8位字节) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 “0” “0” PWM3[9] PWM3[8] PWM2[9] PWM2[8] PWM1[9] PWM1[8] Bit 7 & Bit 6: 未使用,读取为“0” Bit 5 & Bit 4 (PWM3[9], PWM3[8]): PWM3占空比最高位。 Bit 3 & Bit 2 (PWM2[9], PWM2[8]): PWM2占空比最高位。 Bit 1 & Bit 0 (PWM1[9], PWM1[8]): PWM1占空比最高位。 6.2.19 IOCC1 (TMR1L: PWM1定时器低8位字节(Bit 7 ~ Bit 0)) IOCC1的内容只能读取。 6.2.20 IOCD1 (TMR2L: PWM2定时器低8位字节(Bit 7 ~ Bit 0) ) IOCD1的内容只能读取。 6.2.21 IOCE1 (TMR3L: PWM3定时器低8位字节(Bit 7 ~ Bit 0)) IOCE1的内容只能读取。 6.2.22 IOCF1 (TMRH: PWM定时器最高位 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 “0” “0” TMR3[9] TMR3[8] TMR2[9] TMR2[8] TMR1[9] TMR1[8] IOCF1的内容只能读取。 Bit 7 & Bit 6: 未使用,读取为“0” Bit 5 & Bit 4 (TMR3 [9], TMR3 [8]): PWM1定时器最高位 Bit 3 & Bit 2 (TMR2 [9], TMR2 [8]): PWM2定时器最高位 Bit 1 & Bit 0 (TMR1 [9], TMR1 [8]): PWM3定时器最高位 24 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 6.3 TCC/WDT 和预分频器 EM78P418N有2个8位计数器分别供TCC和WDT预分频器使用。CONT寄存器的 PST0~PST2位用于设定TCC的预分频器,IOCE0寄存器的PWR0~PWR2位用于设定 WDT的预分频器。每次写TCC都会将预分频器清0。WDT和预分频器的值用“WDTC”和 “SLEP”指令清零。图6-2(下一页)描述TCC/WDT的结构图。 TCC (R1)是一个8位定时/计数器。TCC时钟沿可作为内部时钟信号或外部信号输入引脚 (TCC引脚输入的触发沿可选)。如果时钟源取自内部时钟,TCC会在每个指令周期后 加1(无预分频器时)。可参考图6-2,CLK=Fosc/2 或 CLK=Fosc/4由代码寄存器CLKS 位决定。 若CLKS位为“0”,CLK=Fosc/2;若CLKS位为“1”,CLK=Fosc/4。如果信号源 由外部时钟输入,处于TCC引脚的每个下降沿或上升沿时TCC会自动加1。TCC引脚输 入的时间长度(持续在高电平或低电平)必须大于1CLK。 注意 进入休眠状态,内部TCC停止运行。然而,在AD转换期间,如果RE寄存器的ADWE位 使能,即使TCC载入“SLEP”指令,TCC仍在继续运行。 看门狗定时器的时钟源是一个自由运行的片内RC振荡器。即使振荡器驱动已经关闭(如 在休眠模式下),WDT仍在继续运行。通常在运行或休眠模式下,WDT溢出(若WDT 处于使能状态)会引起复位。在通常模式下,WDT可在任意时刻由软件使能或禁止。可 参考IOCE0寄存器的WDTE位(6.2.10节的IOCE0(WDT控制寄存器))。在无设预分 1 频器时,WDT溢出周期约为18ms 。 1 VDD=5V, Setup time period = 16.5ms ± 30%. VDD=3V, Setup time period = 18ms ± 30%. 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 25 EM78P418N 8位OTP微控制器 CLK (Fosc/2 or Fosc/4) 数据总数 0 TCC引脚 TE (CONT) 1 多路 选择 器 (MU X) TS (CONT) WDT WDTE (IOCE0) 8位计数器 8 到 1 MUX WDT 溢出 8位计数器(IOCC1) 8 to 1 MUX 同步2个 时钟周 期 预分频器 TCC (R1) TCC 溢出中断 PSR2~0 (CONT) 预分频器 PSW2~0 (IOCE0) 图 6-2 TCC 和 WDT 结构图 6.4 I/O 端口 I/O 寄存器(Port 5, Port 6, Port 7) 为双向三态I/O端口。通过IOCB0, IOCC0和 IOCD0分 别设置内部上拉,下拉和漏极开路功能。Port 6端口有输入状态改变中断(或唤醒)功 能。通过I/O控制寄存器(IOC50 ~ IOC70),每个I/O引脚可设置为输入或输出引脚。I/O 寄 存器和I/O 控制寄存器均可读写。Port 5, Port 6和Port 7的I/O内部电路描述分别见图 6-3,6-4和6-5(下一页)。 Port 6输入状态改变引起中断/唤醒见图6-6。 26 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 PCRD Q _ PORT P R D CLK Q C L Q P R _ CLK Q PCWR IOD D PDWR C L PDRD M U X 0 1 注意: 上拉和漏极开路没在此图中显示。 图 6-3 Port 5 和 Port 7的 I/O端口 和 I/O 控制寄存器电路 PCRD Q _ Q P R D CLK PCWR C L P50, /INT PORT Q P R _ CLK Q D IOD PDWR C L Bit 6 of IOCE0 D P R CLK C L 0 Q 1 _ M U X Q PDRD TI 0 INT 注意: 上拉和漏极开路不在此图中显示。 图 6-4 P50 (/INT)的I/O端口和 I/O 控制寄存器电路 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 27 EM78P418N 8位OTP微控制器 PCRD Q _ D CLK PCWR Q P60 ~ P67 Q PORT _ Q 0 IOD D CLK PDWR M U X 1 PDRD TI n D CLK Q _ Q 注:上/下拉和漏极开路不在此图中显示。 图 6-5 Port 6的I/O 端口和 I/O控制寄存器 图 6-6 输入状态改变引起中断/唤醒的Port 6结构图 28 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 6.4.1 Port 6输入状态改变引起唤醒/中断功能 (1) 唤醒 (a) 休眠前 1. 关WDT 2. 读 Port 6(MOV R6,R6) 3. 执行“ENI”或“DISI”指令 4. 使能唤醒位(设置RE ICWE =1) 5. 执行“SLEP ”指令 (b) 唤醒后 →下一条指令 (2) 唤醒和中断 (a) 休眠前 1. 关WDT 2. 读 Port 6(MOV R6,R6) 3. 执行“ENI”或“DISI”指令 4. 使能唤醒位(设置RE ICWE =1) 5. 使能中断(设置 IOCF0 ICIE =1) 6. 执行“SLEP ”指令 (b) 唤醒后 1. 若执行 "ENI" → 中断入口地址(008H) 2. 若执行"DISI" → 下一条指令 (3) 中断 (a) Port 6引脚状态改变前 1. 读 Port 6(MOV R6,R6) 2. 执行“ENI”或“DISI”指令 3. 使能中断(设置 IOCF0 ICIE =1) (b) Port 6引脚状态改变(中断)后 1. 若执行 "ENI" → 中断入口地址(008H) 2. 若执行"DISI" → 下一条指令 6.5 复位和唤醒 6.5.1 复位和唤醒 复位由下列情况之一产生: 1. 上电复位 2. /RESET引脚输入低电平 3. WDT定时器溢出(若使能) 检测到复位后,系统保持复位状态时间约为18ms。当在LXT模式时,复位时间为500ms。 一旦复位发生,会执行以下功能(起始地址为000h): 振荡器继续运行,或起振(若在休眠模式) 程序计数器(R2)清零 所有I/O引脚设置为输入模式(高阻态) 看门狗定时器和预分频器清零 上电时,R3的高3位和R4的高2位清零 IOCB0寄存器所有位置1 IOCC0寄存器所有位置1 IOCD0寄存器所有位置1 IOCE0寄存器的位7置1,位6~位0清零 RF寄存器的位0~位6和IOCF0寄存器的位0~位6清零 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 29 EM78P418N 8位OTP微控制器 执行“SLEP”指令后将进入休眠(省电)模式。进入休眠模式后,振荡器,TCC,定时器 1,定时器2和定时器3停止运行。WDT(若使能)清零但仍在运行。 控制器可由以下情况唤醒: 情况 1 /RESET 引脚输入外部复位信号 情况 2 WDT溢出(若使能) 情况 3 Port 6输入状态改变(若ICWE使能) 情况 4 比较器输出状态改变(若CMPWE使能) 情况 5 AD转换完成(若ADWE使能) 前两种情况(1 & 2)会导致EM78P418N复位。R3的标志位T和P可用于确定复位源(唤 醒)。 第3, 4, & 5种情况程序会继续执行,并由全局中断决定是否进入唤醒后中断的入 口地址(执行“ENI”或“DISI”指令)。若在SLEP指令前执行ENI指令,唤醒后指令将由入 口地址0X8开始执行。若在SLEP指令前执行DISI指令,唤醒后指令将由SLEP的下一条 指令开始执行。 进入休眠模式前,第1至5种情况仅有一种情况使能。也就是: 情况 [a] SLEP指令前WDT使能,RE所有位被禁止。因此,EM78P418N仅由第1或第2 种情况唤醒。需要更多的了解,请查阅中断部分的章节(6.6节)。 情况 [b] 如果Port6输入状态改变用于唤醒EM78P418N,并且在SLEP指令前将RE寄存 器的ICWE位使能,那么必须将WDT禁止。因此EM78P418N在这种情况下只能 由第3种情况唤醒。唤醒时间由振荡器模式决定。在RC模式中,唤醒时间为32 个时钟周期(对于频率稳定的振荡器)。在高晶振模式,唤醒时间为2ms加32 时钟周期(对于频率稳定的振荡器);在低晶振模式,唤醒时间为500ms。 情况 [c] 如果比较器输出状态改变用于唤醒EM78P418N,并且在SLEP指令前将RE寄存 器的CMPWE位使能,那么必须用软件将WDT禁止。因此,EM78P418N只能由 第4种情况唤醒。 唤醒时间由振荡器模式决定。在RC模式下,唤醒时间为32个时钟周期(对于频 率稳定的振荡器)。在高晶振模式下,唤醒时间为2ms加32个时钟周期(对于 频率稳定的震荡器);在低晶振模式下,唤醒时间为500ms。 情况 [d] 如果AD转换完成用于唤醒EM78P418N,并且RE寄存器的ADWE位在SLEP指 令前使能,那么必须用软件将WDT禁止。因此只能用第5种情况将EM78P418N 唤醒。唤醒时间为15个TAD(ADC时钟周期)。 30 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 若Port6端口输入状态变化中断用于EM78P418N(如上述情况b),在SLEP指令前必须 执行以下指令: BC R3, 7 MOV A, @001110xxb IOW IOCE0 WDTC MOV R6, R6 ENI (or DISI) MOV A, @00000x1xb MOV RE MOV A, @00000x1xb IOW IOCF0 SLEP ; 选择控制寄存器段0 ; 设置WDT预分频器和关闭WDT ; 清WDT和预分频器 ; 读取Port6的值 ; 使能(或禁止)全局中断 ; 将Port6输入状态变化唤醒位使能 ; 将Port6输入状态变化中断位使能 ; 进入休眠 同样地,如果比较器中断用于唤醒EM78P418N(上述情况c),以下指令必须在SLEP 指令前执行: BC R3, 7 MOV A, @xxxxxx10b IOW IOCA0 MOV A, @001110xxb IOW IOCE0 WDTC ENI (or DISI) MOV A, @000001xxb MOV RE MOV A, @000001xxb IOW IOCF0 SLEP 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) ; 选择控制寄存器段0 ; 选择比较器并将P60设置为CO引脚 ; 设置WDT预分频器和关闭WDT ; 清WDT和预分频器 ; 使能(或禁止)全局中断 ; 将比较器输出状态变化唤醒位使能 ; 将比较器输出状态变化中断位使能 ; 进入休眠 • 31 EM78P418N 8位OTP微控制器 6.5.1.1 唤醒和中断模式应用摘要 所有类型的唤醒模式和中断模式如下概述: 信号类型 TCC 溢出 休眠模式 N/A RE (ICWE) Bit 1 = 0, IOCF0 (ICIE) Bit 1 = 0 振荡器,TCC 和 TIMERX 停止工作 Port 6 输入状态改变的唤醒功能失效 正常模式 DISI + IOCF0 (TCIE) Bit 0 = 1 下一条指令+设置 RF (TCIF) = 1 ENI + IOCF0 (TCIE) Bit 0 = 1 中断向量 (0x08)+ 设置 RF (TCIF) = 1 IOCF0 (ICIE) Bit1 = 0 Port 6 输入状态改变的中断功能失效 RE (ICWE) Bit 1 = 0, IOCF0 (ICIE) Bit 1 = 1 设置 RF (ICIF) = 1, 振荡器,TCC 和 TIMERX 停止工作 Port 6 输入状态改变的唤醒功能失效 Port 6 端口输入状态改变 RE (ICWE) Bit 1 = 1, IOCF0 (ICIE) Bit 1 = 0 唤醒+下条指令 振荡器,TCC 和 TIMERX 停止工作 RE (ICWE) Bit 1 = 1, DISI + IOCF0 (ICIE) Bit 1 = 1 DISI + IOCF0 (ICIE) Bit 1 = 1 唤醒+下条指令+设置 Set RF (ICIF) = 1 下条指令+设置 RF (ICIF) = 1 振荡器,TCC 和 TIMERX 停止工作 RE (ICWE) Bit 1 = 1, ENI + IOCF0 (ICIE) Bit 1 = 1 ENI + IOCF0 (ICIE) Bit 1 = 1 唤醒+中断向量(0x08)+设置 RF (ICIF)=1 中断向量(0x08)+设置 RF (ICIF) = 1 振荡器,TCC 和 TIMERX 停止工作 INT 引脚 N/A RE (ADWE) Bit 3 = 0, IOCF0 (ADIE) Bit 3 = 0 清 R9 (ADRUN)=0, ADC 停止运行 AD 转换唤醒失效 振荡器,TCC 和 TIMERX 停止工作 DISI + IOCF0 (EXIE) Bit 2 = 1 下条指令+设置 RF (EXIF) = 1 ENI + IOCF0 (EXIE) Bit 2 = 1 中断向量(0X08)+设置 RF (EXIF) = 1 IOCF0 (ADIE) Bit 1 = 0 AD 转换中断失效 c RE (ADWE) Bit 3=0, IOCF0 (ADIE) Bit 3 = 1 设置 RF (ADIF)=1, R9 (ADRUN) = 0, AD 转换(ADC)停止 AD 转换唤醒失效 振荡器,TCC 和 TIMERX 停止工作 AD 转换 RE (ADWE) Bit 3 = 1, IOCF0 (ADIE) Bit 3 = 0 唤醒+下条指令 振荡器,TCC 和 TIMERX 继续运行 当 AD 转换(ADC)完成时,ADC 唤醒 RE (ADWE) Bit 3 = 1, DISI + IOCF0 (ADIE) Bit 3 = 1 DISI + IOCF0 (ADIE) Bit 3 = 1 唤醒+下条指令+ RF (ADIF) = 1 振荡器,TCC 和 TIMERX 继续运行 下条指令+ RF (ADIF) = 1 当 AD 转换(ADC)完成时,ADC 唤醒 RE (ADWE) Bit 3 = 1, ENI + IOCF0 (ADIE) Bit 3 = 1 ENI + IOCF0 (ADIE) Bit 3 = 1 唤醒+中断向量(0x08)+ RF (ADIF) = 1, 振荡器,TCC 和 TIMERX 继续运行 中断向量(0x08)+ 设置 RF (ADIF) = 1 当 AD 转换(ADC)完成时,ADC 唤醒 PWMX (PWM1,PWM2,PWM3) (TIMERX 与 PWMX 周期 (PRDX)匹配时) 32 • N/A DISI + IOCF0 (PWMXIE) = 1 下条指令+设置 RF (PWMXIF) = 1 ENI + IOCF0 (PWMXIE) = 1 中断向量(0x08)+设置 RF (PWMXIF) = 1 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 信号类型 休眠模式 正常模式 RE (CMPWE) Bit 2 = 0, IOCF0 (CMPIE) Bit 7 = 0 IOCF0 (CMPIE) Bit 7 = 0 比较器输出状态改变的唤醒功能失效 比较器输出状态改变中断功能失效 振荡器,TCC 和 TIMERX 停止工作 RE (CMPWE) Bit 2 = 0, IOCF0 (CMPIE) Bit 7 = 1 设置 RF (CMPIF) = 1, 比较器输出状态改变的唤醒功能失效 振荡器,TCC 和 TIMERX 停止工作 RE (CMPWE) Bit 2 = 1, IOCF0 (CMPIE) Bit 7 = 0 唤醒+下条指令 振荡器,TCC 和 TIMERX 停止工作 比较器 (比较器输出状态改变) WDT 溢出 IOCE (WDTE) Bit 7 = 1 RE (CMPWE) Bit 2 = 1, DISI + IOCF0 (CMPIE) Bit 7 = 1 唤醒+下条指令+设置 RF (CMPIF)=1, 振荡器,TCC 和 TIMERX 停止工作 DISI + IOCF0 (CMPIE) Bit 7 = 1 RE (CMPWE) Bit 2 = 1, ENI + IOCF0 (CMPIE) Bit 7 = 1 唤醒+中断向量(0x08)+ 设置 RF (CMPIF) = 1, 振荡器,TCC 和 TIMERX 停止工作 ENI + IOCF0 (CMPIE) Bit 7 = 1 唤醒+ 复位 (地址 0x00) 复位 (地址 0x00) 下条指令+ 设置 RF (CMPIF) = 1 中断向量(0x08)+ 设置 RF (CMPIF) = 1 6.5.1.2 复位后寄存器的初值 寄存器初值概括如下: 地址 名称 复位类型 位 名称 N/A IOC50 上电 /RESET &WDT 溢出 引脚变化唤醒 位 名称 N/A N/A IOC60 IOC70 上电 /RESET&WDT 溢出 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 C57 C56 C55 C54 C53 C52 C51 C50 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 P P P P P P P P C67 C66 C65 C64 C63 C62 C61 C60 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 引脚变化唤醒 P P P P P P P P 位 名称 - - - C74 C73 C72 C71 C70 上电 0 0 0 1 1 1 1 1 /RESET&WDT 溢出 引脚变化唤醒 位 名称 N/A Bit 7 IOC80 (PWMCON) /RESET&WDT 溢出 上电 引脚变化唤醒 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) 0 0 0 1 1 1 1 1 P P P P P P P P PWM3EPWM2E PWM1E - T1EN T1P2 T1P1 T1P0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P P P P P P P P • 33 EM78P418N 8位OTP微控制器 地址 N/A Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 位名称 T3EN T2EN T3P2 T3P1 T3P0 T2P2 T2P1 T2P0 上电 IOC90 (TMRCON) /RESET&WDT 溢出 0 0 0 0 0 0 0 0 引脚名称 复位类型 引脚变化唤醒 N/A 0 P - - - IOCA0 (CMPCON) /RESET&WDT 溢出 0 0 0 0 0 0 0 0 0 0 0 0 0 IOCB0 上电 /RESET&WDT 溢出 IOCC0 上电 /RESET&WDT 溢出 IOCD0 上电 /RESET&WDT 溢出 引脚变化唤醒 位 名称 上电 IOCE0 /RESET&WDT 溢 出 引脚变化唤醒 位名称 上电 IOCF0 /RESET&WDT 溢 出 引脚变化唤醒 位 名称 IOC51 (PRD1) 上电 /RESET&WDT 溢 出 引脚变化唤醒 34 • 0 P 0 位 名称 N/A 0 P - 引脚变化唤醒 N/A 0 P 0 位 名称 N/A 0 P - 引脚变化唤醒 N/A 0 P 0 上电 位 名称 N/A 0 P 位 名称 引脚变化唤醒 N/A 0 P CPOUT COS1 COS0 P P P P P P P P /PD7 /PD6 /PD5 /PD4 /PD3 /PD2 /PD1 /PD0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 P P P P P P P P /OD7 /OD6 /OD5 /OD4 /OD3 /OD2 /OD1 /OD0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 P P P P P P P P /PH7 /PH6 /PH5 /PH4 /PH3 /PH2 /PH1 /PH0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 P P P P P P P P WDTE EIS PSWE PSW2 PSW1 PSW0 - - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P P P P P P P P CMPIE PMW3IE PMW2IE PWM1IE ADIE EXIE ICIE TCIE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P P P P P P P P PRD1[7] PRD1[6] PRD1[5] PRD1[4] PRD1[3] PRD1[2] PRD1[1] PRD1[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 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 地址 引脚名称 位 名称 N/A IOC61 (PRD2) Bit 7 复位类型 /RESET&WDT 溢 出 引脚变化唤醒 N/A IOC71 (PRD3) IOC81 (DT1L) IOC91 (DT2L) IOCA1 (DT3L) 0 0 0 0 0 0 0 0 P P P P P P P P 0 0 0 0 P P P P P P P P DT1[7] DT1[6] DT1[5] DT1[4] DT1[3] DT1[2] DT1[1] DT1[0] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P P P P P P P P DT2[7] DT2[6] DT2[5] DT2[4] DT2[3] DT2[2] DT2[1] DT2[0] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P P P P P P P P DT3[7] DT3[6] DT3[5] DT3[4] DT3[3] DT3[2] DT3[1] DT3[0] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P P P P P 0 P P /RESET&WDT 溢 出 IOCB1 上电 (DT1H, /RESET&WDT 溢 2H, 3H) 出 - - DT3[9] DT3[8] DT2[9] DT2[8] DT1[9] DT1[8] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P P P P P P P P TMR1[7] TMR1[6] TMR1[5] TMR1[4] TMR1[3] TMR1[2] TMR1[1] TMR1[0] 上电 IOCC1 /RESET&WDT 溢 (TMR1L) 出 引脚变化唤醒 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P P P P P P P P TMR2[7] TMR2[6] TMR2[5] TMR2[4] TMR2[3] TMR2[2] TMR2[1] TMR2[0] IOCD1 上电 (TMR2L) /RESET&WDT 溢出 (产品更新后规格书不保证同步更新) 0 0 上电 版本号 (V1.9) 01.11.2011 0 0 /RESET&WDT 溢 出 引脚变化唤醒 0 0 引脚变化唤醒 N/A 0 0 上电 位 名称 0 0 位 名称 N/A 0 0 /RESET&WDT 溢 出 位 名称 0 0 引脚变化唤醒 N/A 0 0 引脚变化唤醒 N/A Bit 0 0 上电 位 名称 Bit 1 0 引脚变化唤醒 N/A Bit 2 0 /RESET&WDT 溢 出 位 名称 Bit 3 0 引脚变化唤醒 N/A Bit 4 PRD3[7] PRD3[6] PRD3[5] PRD3[4] PRD3[3] PRD3[2] PRD3[1] PRD3[0] 上电 位 名称 Bit 5 PRD2[7] PRD2[6] PRD2[5] PRD2[4] PRD2[3] PRD2[2] PRD2[1] PRD2[0] 上电 位 名称 Bit 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P P P P P P P P • 35 EM78P418N 8位OTP微控制器 地址 引脚名称 位 名称 N/A Bit 7 复位类型 N/A 上电 IOCE1 (TMR3L) /RESET&WDT 溢出 0x01 0 0 Bit 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P P P P P P P TMR3[9] TMR3[8] TMR2[9] TMR2[8] TMR1[9] TMR1[8] - - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P P P P P P P P INT TS TE PSTE PST2 PST1 PST0 0 0 0 0 0 0 0 0 CONT 上电 /RESET&WDT 溢出 R0(IAR) R1(TCC) R2(PC) 0 0 0 0 0 0 0 0 P P P P P P P P 位 名称 - - - - - - - - 上电 U U U U U U U U P P P P P P P P 引脚变化唤醒 P P P P P P P P 位 名称 - - - - - - - - 上电 0 0 0 0 0 0 0 0 /RESET&WDT 溢出 /RESET&WDT 溢出 0 0 0 0 0 0 0 0 P P P P P P P P 位 名称 - - - - - - - - 上电 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IOCS PS1 PS0 T P Z DC C 0 0 0 1 1 U U U /RESET&WDT 溢出 R3(SR) 上电 /RESET&WDT 溢出 引脚变化唤醒 位 名称 R4(RSR) 上电 /RESET&WDT 溢出 引脚变化唤醒 36 • Bit 1 INTE 位 名称 0x04 Bit 2 P 跳到地址 0x08 或者继续执行下一条指令 引脚变化唤醒 0x03 Bit 3 位 名称 引脚变化唤醒 0x02 Bit 4 位名称 IOCF1 上电 (TMR1H, /RESET&WDT 溢出 2H, 3H) 引脚变化唤醒 引脚变化唤醒 0x00 Bit 5 TMR3[7] TMR3[6] TMR3[5] TMR3[4] TMR3[3] TMR3[2] TMR3[1] TMR3[0] 引脚变化唤醒 N/A Bit 6 0 0 0 t t P P P P P P t t P P P BS7 BS6 - - - - - - 0 0 U U U U U U 0 0 P P P P P P P P P P P P P P 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 地址 引脚名称 复位类型 位名称 0x05 R5 上电 /RESET&WDT 溢出 引脚变化唤醒 位 名称 0x06 0x7 P6 R7 0x9 RA (ADOC) Bit 1 Bit 0 P57 P56 P55 P54 P53 P52 P51 P50 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 P P P P P P P P P67 P66 P65 P64 P63 P62 P61 P60 1 1 1 1 1 1 1 1 1 1 1 1 1 引脚变化唤醒 P P P P P P P P 位 名称 - - - P74 P73 P72 P71 P70 上电 0 0 0 1 1 1 1 1 /RESET&WDT 溢出 0 0 0 1 1 1 1 1 P P P P P P P P ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 上电 0 0 0 0 0 0 0 0 /RESET&WDT 溢出 0 0 0 0 0 0 0 0 引脚变化唤醒 P P P P P P P P VREFS CKR1 上电 0 0 CKR0 ADRUN ADPD 0 0 0 ADIS2 ADIS1 ADIS0 0 0 0 /RESET&WDT 溢出 0 0 0 0 0 0 0 0 引脚变化唤醒 P P P P P P P P - - - CALI SIGN 上电 0 0 0 0 0 0 0 0 /RESET&WDT 溢出 0 0 0 0 0 0 0 0 VOF[2] VOF[1] VOF[0] P P P P P P P P 位名称 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 上电 RB (ADDDATA) /RESET&WDT 溢出 U U U U U U U U U U U U U U U U P P P P P P P P 引脚变化唤醒 位 名称 0xC Bit 2 1 引脚变化唤醒 0xB Bit 3 1 位名称 0xA Bit 4 1 位名称 R9 (ADCON) Bit 5 上电 位 名称 R8 (AISR) Bit 6 /RESET&WDT 溢出 引脚变化唤醒 0x8 Bit 7 上电 RC (ADDATA1H) /RESET&WDT 溢出 引脚变化唤醒 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) - - - - AD11 AD10 AD9 AD8 0 0 0 0 U U U U 0 0 0 0 U U U U P P P P P P P P • 37 EM78P418N 8位OTP微控制器 地址 引脚名称 复位类型 位 名称 0xD Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 U U U U U U U U U U U U U U U U P P P P P P P P 上电 RD (ADDATA1L) /RESET&WDT 溢出 引脚变化唤醒 0xE RE (WUCR) 位 名称 - - - - 上电 0 0 0 0 0x10 ~ 0x3F RF (ISR) R10 ~ R3F 0 0 - 0 0 /RESET&WDT 溢出 0 0 0 0 0 0 0 0 引脚变化唤醒 P P P P P P P P EXIF ICIF TCIF 上电 CMPIF PWM3IF PWM2IF PWM1IF ADIF 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 位 名称 - - - - - - - - 位 名称 0xF ADWE CMPWE ICWE 上电 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 Legend:– : 未使用 U: 未知 t: 请参阅 6.5.2 节的“复位类型”表 P: 复位前值 6.5.1.3 控制器复位方块图 VD D D 振荡器 Q CLK CLK CL R 上电复位 电压检测 WTE WDT 溢出 WDT 启动时间 Reset /RESET 图 6-7 控制器复位结构图 38 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 6.5.2 状态寄存器的T和P状态 复位状态由以下情况产生: 1. 上电复位 2. /RESET引脚输入“低电平” 3. WDT溢出(若使能) 下表中的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 指令 WDT 溢出 1 0 1 *P SLEP 指令 1 0 在休眠中引脚状态改变唤醒 1 0 *P: 复位前的初值 6.6 中断 EM78P418N有6种中断方式: 1. TCC溢出中断 2. Port 6引脚输入状态改变中断 3. 外部中断[(P50, /INT) 引脚] 4. AD转换完成 5. 在PWM模式中TMR1/TMR2/TIMR3分别与PRD1/PRD2/PRD3相匹配 6. 比较器输出状态改变(仅对于EM78P418N-20Pin和EM78P418N-24Pin ) 在Port 6输入状态改变使能前,读Port 6端口状态(例如:"MOV R6,R6")是必要的。当引 脚状态改变时,每个Port 6引脚都具备这个功能。输出引脚,包括作为/INT的P50引脚, 不具备此功能。当通过执行SLEP指令使控制器进入休眠模式前,Port 6输入状态改变功 能被使能,Port 6 输入状态改变中断将EM78P418N从休眠模式唤醒。唤醒状态发生后, 如果全局中断禁止,控制器将执行随后的程序。如果中断使能,将进入中断向量008H。 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 39 EM78P418N 8位OTP微控制器 外部中断有一个数字噪声抑制电路。如果脉冲低于8个系统时钟,将作为干扰信号清除。 边沿选择尽可能使用/INT引脚。数字噪音的防止请查阅Word 1 中位 8~7 (6.14.2节, 代码 选用寄存器(Word 1))部分。 RF寄存器是中断状态寄存器,在相应的标志位中记录了中断请求的情况。IOCF0寄存器 是中断屏蔽状态寄存器。全局中断由 ENI指令使能中断,由DISI指令禁止中断。当其中 的一个中断(使能)产生时,下条指令由中断地址008H取出。一旦进入中断程序,可轮 流检测RF寄存器的标志位决定中断源。在离开中断程序前由指令将中断标志位清除,以 免重复中断。 当有中断请求时,不管其相应中断使能位的状态如何或者是否执行了ENI指令使能全局 中断,中断状态寄存器(RF)中的相应标志位(ICIF位除外)都将被置1。值得注意的 是,RF的结果是由RF和IOCF0逻辑与的结果(参见下图)。RETI指令结束中断程序并 使能全局中断(ENI指令执行)。 图 6-8 中断输入电路 6.7 AD转换器(ADC) AD转换电路包括一个8位模拟多路器,3个控制寄存器(AISR/R8, ADCON/R9, & ADOC/RA),3个数据寄存器(ADDATA1/RB, ADDATA1H/RC, & ADDATA1L/RD) 和1 个带12位精度的AD转换器,其功能图如下所示。模拟参考电压(Vref)和模拟地由不同的 引脚接入。 ADC模块利用逐次逼近的方式将未知的模拟信号转换为数字值,结果存入ADDATA, ADDATA1H 和 ADDATA1L 中。输入通道被模拟输入多路器经ADCON寄存器选择。接 入外部VREF比接入内部VDD的结果更为精确。 40 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 ADC7 Vref ADC6 模拟开关 8-1 ADC5 ADC4 ADC3 ADC2 掉电 ADC 开始转换 (逐次逼近) Fsco ADC1 4-1 MUX ADC0 内部 RC 7 ~ 0 AISR 2 1 0 ADCON 6 3 5 ADCON RF 11 10 9 8 7 6 5 ADDATA1H 4 3 2 1 4 0 3 ADCON ADDATA1L 数据总数 图 6-9 AD 转换器功能图 6.7.1 ADC控制寄存器 (AISR/R8, ADCON/R9, ADOC/RA) 6.7.1.1 R8 (AISR: ADC 输入选择寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 符号 ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 *初值 0 0 0 0 0 0 0 AISR 寄存器定义Port6引脚分别作为模拟输入或数字输出端口。 Bit 7 (ADE7): P67引脚AD转换使能位 0: ADC7禁止,P67设置为I/O 引脚 1: ADC7使能,该引脚作为模拟输入引脚 Bit 6 (ADE6): P66引脚AD转换器使能位 0: ADC6禁止,P66设置为I/O 引脚 1: ADC6使能,该引脚作为模拟输入引脚 Bit 5 (ADE5): P65引脚AD转换器使能位 0: ADC5禁止,P65设置为I/O 引脚 1: ADC5使能,该引脚作为模拟输入引脚 Bit 4 (ADE4): P64引脚AD转换器使能位 0: ADC4禁止,P64设置为I/O 引脚 1: ADC4使能,该引脚作为模拟输入引脚 Bit 3 (ADE3): P63引脚AD转换器使能位 0: ADC3禁止,P63设置为I/O 引脚 1: ADC3使能,该引脚作为模拟输入引脚 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 41 EM78P418N 8位OTP微控制器 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: ADC1使能,该引脚作为模拟输入引脚 注意 当P60/ADC0设置为模拟输入或数字I/O时,注意IOCA0控制寄存器的COS1和COS0控制 位的优先级。比较器/OP的选择位见6.2.6节表所示。 P60/ADC0/CO 引脚优先级如下: P60/ADE0/CO 优先级 高 中 低 CO ADC0 P60 6.7.1.2 R9 (ADCON: ADC 控制器) Bit Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 符号 VREFS CKR1 CKR0 ADRUN ADPD ADIS2 ADIS1 ADIS0 *初值 0 0 0 0 0 0 0 0 Note: *初值:上电复位初值 ADCON 寄存器控制AD转换操作并决定当前所使用的引脚。 Bit 7(VREFS): ADC的Vref 输入源 0: ADC的Vref 引脚与VDD相连(默认值) ,P53/VREF 执行P53功能 1: ADC的Vref 引脚与P53/VREF相连 注意 P53/PWM3/VRE 引脚不能同时应用于 PWM3 和 VREF 。如果 P53/PWM3/VREF 设置为 VREF模拟输入引脚,那么PWM3E必须设置“0”。 P53/PWM3/VREF引脚优先级如下: P53/PWM3/VREF 引脚优先级 42 • 高 中 低 VREF PWM3 P53 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 Bit 6 ~ Bit 5 (CKR1 ~ CKR0): ADC振荡时钟预分频比 00 = 1:16 (默认值) 01 = 1: 4 10 = 1: 64 11 = 1: WDT 环形电路振荡器频率 CKR1:CKR0 工作模式 最大工作频率 00 01 Fosc/16 Fosc/4 4MHz 1 MHz 10 11 Fosc/64 内部 RC 16MHz - Bit 4 (ADRUN): ADC 开始运行 0: 转换完成后清零。该位不能由软件清零。 1: AD转换开始。该位可由软件设置。 Bit 3 (ADPD): ADC 省电模式 0: 关闭参考电阻以省电,即使CUP在运行状态。 1: ADC运行模式 Bit 2 ~ Bit 0 (ADIS2 ~ ADIS0): 模拟输入选择 000 = AN0/P60 001 = AN1/P61 010 = AN2/P62 011 = AN3/P63 100 = AN4/P64 101 = AN5/P65 110 = AN6/P66 111 = AN7/P67 在ADIF位和ADRUN位同时为低电平时,这几个位方可改变。 6.7.1.3 RA (ADOC: ADC 偏移校准寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 CALI SIGN VOF[2] VOF[1] VOF[0] “0” “0” “0” Bit 7 (CALI): ADC偏移校准使能位 0: 禁止ADC校准 1: 使能ADC校准 Bit 6 (SIGN): 偏移电压极性 0: 负电压 1: 正电压 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 43 EM78P418N 8位OTP微控制器 Bit 5 ~ Bit 3 (VOF[2] ~ VOF[0]): 偏移电压位 VOF[2] VOF[1] VOF[0] EM78P418N ICE418N 0 0 0 0LSB 0LSB 0 0 1 2LSB 1LSB 0 1 0 4LSB 2LSB 0 1 1 6LSB 3LSB 1 0 0 8LSB 4LSB 1 1 0 1 1 0 10LSB 12LSB 5LSB 6LSB 1 1 1 14LSB 7LSB Bit 2 ~ Bit 0: 未使用,读取为“0” 6.7.2 ADC数据寄存器 (ADDATA/RB, ADDATA1H/RC, ADDATA1L/RD) 当AD转换完成后,结果载入ADDATA, ADDATA1H 和 ADDATA1L寄存器中。ADRUN 位 被清零,ADIF位被置1。 6.7.3 ADC 采样时间 逐次逼近的AD转换器的准确性,数形和速度跟AD转换器(ADC)和比较器的特性相关。 源电阻和内部采样电阻直接影响到采样保持电容充电所需时间。应用程序控制采样时间 以满足特定精度的需求。总而言之,在电阻模拟源下程序等待时间为2us/ KΩ,在低电 阻源下程序至少等待2us。在Vdd=5V,模拟源的最大推荐电阻是10 KΩ。模拟通道选定 后,在转换开始前,必须满足所需的等待时间。 6.7.4 AD转换时间 根据指令周期,CKR1和CKR0用于选择转换时间(Tct) 。这允许MCU运行于最大工作频 率,对AD转换精度毫无影响。对于EM78P418N而言,转换时间约为4µs/位。Tct与最大 工作频率的关系见下表所示: CKR1:CKR0 00 01 10 11 工作模式 Fosc/16 Fosc/4 Fosc/64 内部 RC 最大工作频率 最大转换比率/位 最大转换比率 4MHz 1MHz 16MHz - 250kHz (4µs) 250kHz (4µs) 250kHz ( 4µs) 14kHz (71µs) 15*4us=60µs (16.7kHz) 15*4us=60µs (16.7kHz) 15*4us=60µs (16.7kHz) 15*71us=1065µs (0.938kHz) 注意 ■ 引脚不用于模拟输入引脚时可作为通用输入或输出引脚。 ■ 在转换期间,不执行输出指令以确保所有引脚的精度。 6.7.5 休眠期间ADC的运行 为获得更高精度和减少功耗,AD转换可以在休眠模式下运行。当执行SLEP指令后,除 振荡器、TCC、定时器1、定时器2、定时器3和AD转换仍在工作外,其他系统将停止运 行。 44 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 决定AD转换完成的标志: 1. R9的ADRUN 位清零 2. 程序由AD转换唤醒(在休眠期间,程序仍处于运行状态) 当AD转换完成后,其结果反馈到ADDATA, ADDATA1H和 ADDATA1L寄存器中。如果 ADWE使能,系统将会唤醒。否则,无论ADPD位处于什么状态,AD转换被关闭。 6.7.6 编程步骤/事项 6.7.6.1 编程步骤 遵循以下步骤,从ADC中获得数据: 1. 在R8(AISR)寄存器写入8位(ADE7:ADE0),以定义R6的特性(数字I/O,模 拟通道,或参考电压引脚) 2. 写入R9/ADCON寄存器以设置AD模块: a) 选用ADC输入通道(ADIS2:ADIS0) b) 定义AD转换时钟比率( CKR1:CKR0 ) c) 选择ADC的VREFS输入源 d) 将ADPD位置1开始采样 3. 若启用唤醒功能,设置ADWE位 4. 若启用中断功能,设置ADIE位 5. 若启用中断功能,写入“ENI”指令 6. 设置ADRUN位为1 7. 写入“SLEP”指令或循环检测 8. 等待唤醒或ADRUN位被清零 9. 读取ADDATA 或ADDATA1H 和 ADDATA1L转换数据寄存器的值。如果ADC输入通 道此时改变,ADDATA, ADDATA1H, 和ADDATA1L的值清零。 10. 中断标志位(ADIF)清零 11. 对于下一次转换,需要执行步骤1和步骤2。在下次采样前至少等待2 Tct 时间 。 注意 为获得精确的采样值,在AD转换过程中,需要避免在I/O引脚上传输数据。 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 45 EM78P418N 8位OTP微控制器 6.7.6.2 程序示例 A. 定义通用寄存器 R0==0 PSW==3 PORT5==5 PORT6==6 RE==0XE RF==0XF ;间接寻址 ;状态寄存器 ;唤醒控制寄存器 ;中断状态寄存器 B. 定义控制寄存器 IOC50 == 0X5 IOC60 == 0X6 C_INT== 0XF ; Port 5控制寄存器 ; Port 6控制寄存器 ; 中断控制寄存器 C. 定义ADC控制寄存器 ADDATA == 0xB AISR == 0x08 ADCON == 0x9 ; ADC转换结果 ; ADC 输入选择 ; 7 6 5 4 3 2 1 0 ; VREFS CKR1 CKR0 ADRUN ADPD ADIS2 ADIS1 ADIS0 D. 定义ADCON寄存器中的位 ADRUN == 0x4 ADPD == 0x3 ; ADC 运行控制位 ; ADC电源控制位 E. 程序开始 ORG 0 JMP INITIAL ORG 0x08 ;(User program section) CLR RF BS ADCON, ADRUN RETI INITIAL: MOV A,@0B00000001 ; ;中断向量 ; 清 ADIF 位 ; AD转换开始 ; P60 定义为输入 MOV AISR,A MOV A,@0B00001000 ; P60 作为AD输入通道 打开 AD 电源 MOV ADCON,A ; P60 作为输入 选择时钟 fosc/16 En_ADC: MOV A, @0BXXXXXXX1 ; P60 作为输入 IOW PORT6 46 • ; 复位地址 MOV A, @0BXXXX1XXX ;其它口的设置取决于应用 ;使能 ADWE 唤醒 MOV RE,A MOV A, @0BXXXX1XXX ; 使能 AD中断 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 IOW C_INT ENI BS ADCON, ADRUN ; 开总中断 ; AD开始转换 ;如果使能中断下面三行可以被忽略 POLLING: JBC ADCON, ADRUN ; 检测 ADRUN位 JMP POLLING ; ADRUN 为0 AD转换完成 ; ; ;(User program section) ; ; 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 47 EM78P418N 8位OTP微控制器 6.8 PWM (脉冲宽度调制器) 6.8.1 概述 在PWM模式中,PWM1, PWM2, 和 PWM3引脚产生精度高达10位的脉冲宽度调制输出 (结构功能图如下所示)。一个PWM输出包含一个周期和一个占空比,它保持输出高。 PWM的频率是其周期的倒数,图6-11(PWM输出周期)描述了周期与占空比的关系。 Fosc 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256 DL1H + DL1L DT1H + DT1L To PWM1IF latch PWM1 M UX R TMR1H + TMR1L reset Q S IOC80, 5 T1P2 T1P1 T1P0 T1EN PRD1 DL2H + DL2L T2P2 T2P1 T2P0 T2EN latc h To PWM2IF DT2H + DT2L PWM2 Fosc TMR2H + TMR2L 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256 R reset Q S IOC80, 6 M UX PRD2 Fosc 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256 DT3H + DT3L DL3H + DL3L latch To PWM3IF PWM3 M UX R TMR3H + TMR3L reset Q S IOC80, 7 T3P2 T3P1 T3P0 T3EN PRD3 图 6-10 3个PWM的结构功能图 48 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 周期 占空比 DT1 = TMR1 PRD1 = TMR1 图 6-11 PWM 输出周期 6.8.2 累加定时器/计数器(TMRX: TMR1H/TWR1L, TMR2H /TWR2L, 或 TMR3H/TWR3L) TMRX是带有预分频可编程的10位时钟计数器。它们设置为PWM模式的波特率发生器。 TMRX为只读。若使用,可通过将T1EN位[IOC80<3>],T2EN 位 [IOC90<6>] 或 T3EN 位[IOC90<7>] 设置为零,关闭转换电源。 6.8.3 PWM周期 (PRDX: PRD1 或 PRD2) PWM周期由写入PRDX寄存器来定义。当TMRX寄存器的值与PRDX寄存器的值相等 时,在下个增量循环周期会产生以下事件: TMRX被清零 PWMX引脚设置为1 PWM占空比由DT1/DT2/DT3 锁存至DL1/DL2/DL3。 注意 若占空比为“0”时,PWM输出不能设置。 PWMXIF设置为“1” 以下公式描述了如何计算PWM周期: PERIOD = (PRDX + 1) * 4 * (1/Fosc) * CLKS/2 * (TMRX prescale value) 例如: PRDX=49; Fosc=4MHz; CLKS bit of Code Option Register =0 (2 oscillator periods); TMRX (0,0,0)=1:2, then PERIOD=(49 + 1) * 4 * (1/4M) * 2/2 * 2 =100us 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 49 EM78P418N 8位OTP微控制器 6.8.4 PWM占空比 (DTX: DT1H/ DT1L, DT2H/DT2L 和 DT3H/DT3L; DLX: DL1H/DL1L, DL2H/DL2L and DL3H/DL3L) PWM占空比由写入DTX寄存器来定义,当TMRX清零时由DTX锁存入DLX。当DLX与 TMRX相等时,PWMX引脚被清零。DTX随时可载入。然而,只有当DLX的当前值等于 TMRX时,其值才锁存至DLX。 以下公式描述如何计算PWM占空比: Duty Cycle = (DTX) * (1/Fosc) * CLKS/2 * (TMRX prescale value ) 例如: DTX=10; Fosc=4MHz; CLKS bit of Code Option Register =0 (2 oscillator periods); TMRX(0,0,0)=1:2, then Duty Cycle=10 * (1/4M) * 2/2 * 2 =5us 6.8.5 比较器X 匹配发生时,输出状态改变,同时设置TMRXIF标志位。 6.8.6 PWM 编程过程/步骤 将PWM周期载入PRDX 1. 将PWM占空比载入DTX。 2. 如需要,写入IOCF0使能中断功能。 3. 通过写入IOC80一个期望值,设置PWMX引脚为输出。 4. 载入IOC51一个期望值设置TMRX预分频比,并将PWMX和TMRX使能。 6.9 定时器 6.9.1 概述 Timer 1 (TMR1), Timer 2 (TMR2), 和 Timer 3 (TMR3) (TMRX) 是带预分频可编程的10 位时钟计数器。它们用于PWM模块作为波特率时钟发生器。TMRX为只读。在休眠模式 下AD转换停止,定时器1(Timer 1)、定时器2 (Timer 2)和定时器3(Timer 3)将 停止运行。然而,在休眠模式下同时运行AD转换,定时器1(Timer 1)、定时器2(Timer 2)和定时器(Timer 3)将继续运行。 50 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 6.9.2 功能描述 下图为TMRX的功能框图。各信号和功能块如下图所示: Fosc 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256 To PWM1IF M UX TMR1X reset T1P2 T1P1 T1P0 T1EN PRD1 PRD2 T2P2 T2P1 T2P0 T2EN 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256 reset TMR2X Fosc M UX To PWM2IF *TMR1X = TMR1H + TMR1L; *TMR2X = TMR2H + TMR2L; *TMR3X = TMR3H + TMR3L Fosc 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256 To PWM13F M UX TMR3X reset T3P2 T3P1 T3P0 T3EN PRD3 图 6-12 TMRX 功能图 Fosc: 输入时钟 预分频比(T1P2, T1P1 和 T1P0 / T2P2, T2P1 和 T2P0 / T3P2, T3P1 和 T3P0): 1:2, 1:4, 1:8, 1:16, 1:32, 1:64, 1:128, 和 1:256的选项由TMRX定义。任何形式的复位 产生时都被 清零。 TMR1X, TMR2X and TMR3X (TMR1H/TWR1L, TMR2H/TMR2L, & TMR3H/TMR3L): TIMERX寄存器,TMRX自动加1,直到其值与PRDX匹配时复位为1(默认值)。 PRDX (PRD1, PRD2 and PRD3): PWM 周期寄存器。 Comparator X (Comparator 1 and Comparator 2): 匹配发生时,TMRX复位。同时, TMRXIF标志位置1。 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 51 EM78P418N 8位OTP微控制器 6.9.3 相关寄存器编程 相关的寄存器定义TMRX见下表。必须注意的是,如果它们的相关寄存器TMRXs在使用 时,PWMX位必须禁止。也就是,PWMCON寄存器的位7~位5必须设置为“0”。 6.9.3.1 TMR1, TMR2 和 TMR3 的相关控制寄存器 地址 引脚名称 Bit 7 Bit 6 Bit 5 IOC80 PWMCON/IOC80 PWM3E PWM2E PWM1E IOC90 TMRCON/IOC90 T3EN T2EN T3P2 Bit 4 “0” Bit 3 Bit 2 Bit 1 Bit 0 T1EN T1P2 T1P1 T1P0 T3P1 T3P0 T2P2 T2P1 T2P0 6.9.4 定时器编程过程/步骤 1. 将定时器周期载入PRDX 2. 若需要,写入IOCF0将中断功能使能 3. 载入一个期望值到PWMCON和TMRCON,将TMRX使能和将PWMX禁止 6.10 比较器 EM78P418N 拥有一个包含两个模拟输入和一个输出的比较器。在休眠模式下,可以利 用比较器将EM78P418N唤醒。比较器的原理图描述如下所示。 C in - - CO CM P C in+ + 30m V C in C in+ 30m V 输出 图 6-13 比较器电路图和工作模式 52 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 6.10.1 外部参考信号 当前的模拟信号Cin– 与Cin+相比较,比较器的数字输出(CO)根据以下注意事项进行调 整: 注意 ■参考信号电压必须介于Vss和Vdd之间 ■ 参考电压可用于比较器的其中一个引脚 ■ 极值检测器应用可为同一参考信号 ■ 比较器可运行于相同或不同的参考源 6.10.2 比较器输出 比较器的结果存储于IOCA0寄存器的CMPOUT位中。 通过程序将IOCA0寄存器的位1,位0 <COS1, COS0> 设置为<1, 0>将比较器的输 出送到CO (P60)。见6.2.6节IOCA0 (CMPCON: 比较控制寄存器P)的比较器/OP选 择位的功能描述。 注意 ■P60/ADE0/CO引脚的CO 和 ADEO功能不能同时使用 ■P60/ADE0/CO引脚的优先级如下: P60/ADE0/CO 优先级 高 中 低 CO ADE0 P60 比较器的输出功能图如下。 到 CO 从 OP I/O CMR D E N Q E N D Q D 到 CMPOUT RESET 到 CPIF CMRD 来自其它 的比较器 图 6-14 比较器输出结构 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 53 EM78P418N 8位OTP微控制器 6.10.3 用比较器作运算放大器使用 如果在比较器的输入与输出端外接一个反馈电阻,比较器可用作运算放大器。在这种情 况下,可通过将IOCA0寄存器的位1, 位 0<COS1, COS0>分别设置为 <1, 1>,禁止施密 特触发器以省电。请参考6.2.6节,IOCA0 (CMPCON: 比较控制寄存器)比较器/OP选择 位的功能描述。 6.10.4 比较器中断 必须将CMPIE (IOCF0.7)使能并通过“ENI”指令,以使中断生效 比较器的输出引脚状态改变时,中断产生 实际的引脚状态的变化可通过读取IOCA0寄存器的位2 CMPOUT的值 比较器的中断标志位CMPIF (RF.7), 只能由软件清零。 6.10.5 从休眠状态唤醒 若使能,即使处于休眠模式,比较器和中断的功能仍在持续。 如果失去匹配,中断将从休眠模式唤醒。 为维持能量,功耗必须考虑在内。 如果休眠模式下不需要该项功能,应在进入休眠模式前关闭比较器。 6.11 振荡器 6.11.1 振荡器模式 EM78P418N 可在四种不同的振荡器模式下工作,如高频晶振模式(HXT),低频晶振模 式(LXT),外部RC振荡器模式(ERC),和内部RC振荡模式(IRC)。通过在代码寄存器的 OSC2, OCS1, and OSC0中编程,选择其中的一种振荡器模式。 由OSC2, OCS1 和 OSC0定义的振荡器模式,如下所述。 振荡器模式 OSC2 OSC1 OSC0 1 0 0 0 1 0 0 1 2 0 1 0 2 0 1 1 3 1 1 0 3 1 1 1 ERC (内部 RC 振荡模式); P54/OSCO 引脚设置为 P54 ERC (外部 RC 振荡模式); P54/OSCO 引脚设置为 OSCO IRC (内部 RC 振荡模式); P54/OSCO 引脚设置为 P54 IRC (内部 RC 振荡模式); P54/OSCO 引脚设置为 OSCO LXT (低频晶振振荡模式) HXT (高频晶振振荡模式) (默认值) 注意: 在HXT和LXY模式间系统的瞬间频率大约在400KHz。 1 54 • 在 ERC模式下,OSCI用作晶振引脚, OSCO/P54由代码选项Word 0的位6~位4 定义。 2 在 IRC模式下,P55作为通用I/O引脚。 OSCO/P54由代码选项Word 0的位6~位4 定义。 3 在 LXT 和HXT 模式, OSCI and OSCO 用做振荡器的引脚。这些引脚不能定义位通用I/O引脚。 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 在不同的VDD下,晶振/谐振器的最大工作频率如下: 条件 电源电压 VDD 最大频率 (MHz) 2.3 4 3.0 8 5.0 20 2 个时钟周期 6.11.2 晶体振荡/陶瓷谐振器(晶体) EM78P418N 可以由OSCO引脚输入外部时钟驱动,插图如下。 Ext. Clock OSCI OSCO 图 6-15 外部时钟输入电路 大多数应用情况下, OSCI 引脚和OSCO 引脚连接晶体或是陶瓷谐振器来产生振荡。图 6-16为电路图。此类电路适用于 HXT模式和 LXT模式。 C1 OSCI Crystal OSCO C2 RS 图 6-16 Crystal/Resonator Circuit C1,C2的推荐值如下表,每个谐振器有自己的特性,用户应根据谐振器规格选择C1,C2 的合适值。串联电阻RS对AT切片晶体和低频模式是必需的。 晶体振荡或陶瓷谐振器电容选用指南: 振荡器类型 陶瓷振荡器 频率模式 HXT LXT 晶体振荡器 HXT 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) 频率 455kHz 2.0 MHz 4.0 MHz 32.768kHz 100kHz 200kHz 455kHz 1.0 MHz 2.0 MHz 4.0 MHz C1 (pF) C2 (pF) 100~150 20~40 10~30 25 25 25 20~40 15~30 15 15 100~150 20~40 10~30 15 25 25 20~150 15~30 15 15 • 55 EM78P418N 8位OTP微控制器 6.11.3 外部 RC振荡模式 Vcc 在一些不需要精确计时的应用中,使用RC振 荡(如图6-17)可节省成本。然而应当注意 R ext 到RC的振荡频率受电压,电阻值(Rext), OSCI 电容值(Cext)甚至工作温度影响。而且由于制 C ext 造工艺的不同,不同的芯片频率也略有差异。 图 6-17 外部l RC振荡模式电路 为了获得稳定的系统频率,电容值不应低于 20pF,电阻值不应大于 1MΩ. 如果不能保证 在这个范围,频率很容易受噪声,湿度,漏电流的影响。 在RC模式中,电阻越小,频率越大。相反,Rext 越小,例如1 KΩ,由于NMOS不能正确 将电容放电,振荡器振荡将变得不稳定。 基于以上原因,必须牢记操作电压,工作温度,RC振荡器的元件,封装形式,PCB布 数都会对系统的频率有影响。 RC 振荡频率: Cext 20 pF 100 pF 300 pF Rext Fosc 平均值 5V, 25°C Fosc 平均值 3V, 25°C 3.3k 3.5 MHz 3.2 MHz 5.1k 2.5 MHz 2.3 MHz 10k 1.30 MHz 1.25 MHz 100k 140 kHz 140 kHz 3.3k 1.27 MHz 1.21 MHz 5.1k 850 kHz 820 kHz 10k 450 kHz 450 kHz 100k 48 kHz 50 kHz 3.3k 560 kHz 540 kHz 5.1k 370 kHz 360 kHz 10k 196 kHz 192 kHz 100k 20 kHz 20 kHz 1 注意: : 以直插封装形式测量 2 : 这些值仅供设计参考 3 :频率偏差大约在 ± 30% 6.11.4 内部 RC振荡模式 EM78P418N有一个通用的内部RC模式,默认频率是 4MHz。内部振荡模式还有其他频 率 (1MHz, 8MHz, 和 455kHz) 可以通过代码选项(Word 1)RCM1, RCM0设置。 下表 列出了内部RC频率在电压,温度,制程下的漂移。 56 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 内部 RC 漂移比率(Ta=25°C, VDD=5V±5%, VSS=0V) 漂移比率 内部 RC 频率 温度 (-40°C~+85°C) 电压(2.3V~5.5V) 制程 Total 4MHz ±10% ± 5% ± 4% ±19% 8MHz ±10% ± 6% ± 4% ±20% 1MHz ±10% ± 5% ± 4% ±19% 455kHz ±10% ± 5% ± 4% ±19% 注意: 理论值仅供参考,实际值跟实际制程有关。 6.12 上电探讨 在提供电压稳定之前,任何微控制器不能保证开始正常工作。 EM78P418N有一个检测电压 1.7V 到 1.9V的片内上电电压检测器(POVD)。电路中减少 了外部复位电路。如果电压上升足够快(时间低于50 ms),它将正常工作。然而在要 求严格的应用下,仍然需要附加的外部电路来协助解决上电问题。 6.12.1 外部上电复位电路 图6-18的电路为外部RC产 生复位脉冲的电路。脉冲宽 度(时间常数)应保持足够 长的时间使VDD达到最小工 VDD /RESET R D 作电压。这个电路应用在电 源电压上升时间比较慢的情 Rin 况。 C 图 6-18 外部上电复位电路 因为/RESET引脚上的漏电流大约±5µA,所以建议R值不应大于40K。这种方法使复位 引脚上的电压低于0.2V。二极管(D)在掉电时作为短路回路,电容C将迅速充分放电, 限流电阻Rin防止大电流或ESD进入复位引脚。 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 57 EM78P418N 8位OTP微控制器 6.12.2 残留电压保护 更换电池时,单片机的电源VDD断开,但仍然存在残留电压。残留电压可能小于最小工 作电压,但不为0。这样将引起不正常复位。 图. 6-16 和 图 6-20 为残留电压的保护电 路。 VDD VDD 33K Q1 10K /RESET 100K 1N4684 图 6-19 残留电压保护电路1 VDD VDD R1 Q1 /RESET R3 R2 图 6-20 残留电压保护电路2 6.13 代码选项 EM78P418N有两个代码选项位和一个用户ID位,它们不属于一般程序存储器的一部分。 58 • Word 0 Word 1 Word 2 Bit 12 ~ Bit 0 Bit 12 ~ Bit 0 Bit 12 ~ Bit 0 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 6.13.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 ENWDTB OSC2 OSC1 OSC0 HLP Protect –Mnemonic – – – TYPE CLKS 1 – – – High 4clocks Disable High High High High Disable 0 – – – Low 2clocks Enable Low Low Low Low Enable Bit 0 Bit 12 ~ 10: 未使用(保留) ,这些位始终置“1” Bit 9 (TYPE): 类型选择位 0: EM78P418N-24Pin 1: EM78P418N-18Pin/EM78P418N-20Pin (默认值) Bit 8 (CLKS): 指令周期选项位 0: 2个时钟周期 1: 4个时钟周期(默认值) 指令设置,请参见6.15节 Bit 7 (ENWDTB): 看门狗定时器使能位 0: 使能 1: 禁止(默认值) Bits 6, 5 & 4 (OSC2, OSC1 & OSC0): 振荡器模式选择位 振荡器模式 OSC2 OSC1 OSC0 1 0 0 0 1 0 0 1 ERC (外部 RC 振荡模式); P54/OSCO 设置为 P54 ERC (外部 RC 振荡模式); P54/OSCO 设置为 OSCO 2 0 1 0 2 0 1 1 3 1 1 0 3 1 1 1 IRC (内部 RC 振荡模式); P54/OSCO 设置为 P54 IRC (内部 RC 振荡模式); P54/OSCO 设置为 OSCO LXT (低频晶振模式) HXT (高频晶振模式) (默认值) 注意: 在HXT和LXY模式间系统的瞬间频率大约在400KHz。 1 ERC模式, OSCI 作为振荡引脚,OSCO/P54定义通过代码选项Word 0 Bit 6 ~ Bit 4来设置。 2 IRC模式, P55普通I/O引脚, OSCO/P54定义通过 Word 0 Bit 6 ~ Bit 4来设置。 3 LXT 和 HXT 模式; OSCI 和 OSCO用作振荡引脚, 这些引脚不能定义为普通I/O 。 Bit 3 (HLP): 未使用(保留),始终设为“0” Bits 2 ~ 0 (Protect): 保护位 0: 使能 1: 禁止 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 59 EM78P418N 8位OTP微控制器 6.13.2 代码选项寄存器(Word 1) Word 1 Bit Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 C3 C2 C1 C0 RCM RCM 1 0 2cycl es High High High High High High Disabl 1cycl e e Low Low Low Low Low Low –Mnemonic – – – – NRHL NRE CYES 1 – – – – 32/fc Enable 0 – – – – 8/fc Bit 0 Bits 12 ~ 9: 未使用(保留) ,这些位始终置“1” Bit 8 (NRHL): 防噪音高/低脉冲设置1。INT引脚为上升沿或下降沿触发。 0: 脉冲等于8/fc [s] 视为信号 1: 脉冲等于32/fc [s] 视为信号(默认值) 注意 在LXT模式和休眠模式,防噪音功能被关闭。 Bit 7 (NRE): 防噪音使能位 0: 禁止防噪音 1: 使能防噪音(默认值) ,但在低频晶振(LXT)模式,防噪音电路通常 禁止。 Bit 6 (CYES): 指令循环选项位 0: 1个指令周期 1: 2个指令周期(默认值) Bits 5, 4, 3 & Bit 2 ( C3, C2, C1, & C0 ): 内部RC模式校准位。这些位始终置“1”(自动 校正)。 Bit 1 & Bit 0 (RCM1 & RCM0): RC模式选择位 RCM 1 1 1 0 0 RCM 0 1 0 1 0 频率(MHz) 4 8 1 455kHz 6.13.3 用户 ID 寄存器(Word 2) Word 2 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 × × × × × × × × × Bits 12 ~ 0: 客户代码 60 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 6.14 指令集 指令集中的每条指令均是13位。指令分为一个操作码和一个或多个操作数。一般情况 下,除非指令的执行改变了程序计数器的值("MOV R2,A", "ADD R2,A")或者对R2的算术 或逻辑操作 (例如. "SUB R2,A", "BS (C) R2,6", "CLR R2", ⋅⋅⋅⋅),否则执行所有的指令都 只占用单个指令周期(一个指令周期包含2 个时钟周期)。对于前面两种特殊的指令, 需 要一个或两个指令周期, 这由代码寄存器的CYES位决定。 另外,指令集有以下特性: 1. 任何寄存器的每个位可以被置1,清零,或直接测试 2. I/O 寄存器能作为一般寄存器,即相同指令可以对I/O寄存器进行操作 以下符号用于指令集,如下表: 惯例: R =寄存器指示符,指定寄存器(包括工作寄存器和通用寄存器)中的哪个寄存器被使用, R4的位6和7选择寄存器BANK. b =表示一个位指示符,指定位于R寄存器中会影响操作的位 k =代表一个8位或10位常数或立即数 二进制指令 0 0000 0000 0000 0 0000 0000 0001 0 0000 0000 0010 0 0000 0000 0011 0 0000 0000 0100 0 0000 0000 rrrr 0 0000 0001 0000 0 0000 0001 0001 0 0000 0001 0010 0 0000 0001 0011 0 0000 0001 0100 0 0000 0001 rrrr 0 0000 01rr rrrr 0 0000 1000 0000 0 0000 11rr rrrr 0 0001 00rr rrrr 0 0001 01rr rrrr 0 0001 10rr rrrr 0 0001 11rr rrrr 0 0010 00rr rrrr 0 0010 01rr rrrr 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) 十六进制 0000 0001 0002 0003 0004 000r 0010 0011 0012 0013 0014 001r 00rr 0080 00rr 01rr 01rr 01rr 01rr 02rr 02rr 助记符 操作 NOP DAA CONTW SLEP WDTC IOW R ENI DISI RET RETI CONTR IOR R MOV R,A CLRA CLR R SUB A,R SUB R,A DECA R DEC R OR A,R OR R,A 无操作 寄存器 A 的数由二进制调整为 BCD 码 A → CONT 0 → WDT, 停止振荡 0 → WDT A → IOCR 使能中断 禁止中断 [栈顶] → PC [栈顶] → PC, 使能中断 CONT → A IOCR → A A→R 0→A 0→R R-A → A R-A → R R-1 → A R-1 → R A ∨ VR → A A ∨ VR → R 受影响的标志位 无 C 无 T, P T, P 1 无 无 无 无 无 无 无 无 Z Z Z, C, DC Z, C, DC Z Z Z Z • 61 EM78P418N 8位OTP微控制器 二进制指令 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0010 0010 0011 0011 0011 0011 0100 0100 0100 0100 0101 0101 0101 0101 0110 0110 0110 0110 0111 0111 0111 0111 100b 101b 110b 111b 00kk 01kk 1000 1001 1010 1011 1100 1101 1111 10rr 11rr 00rr 01rr 10rr 11rr 00rr 01rr 10rr 11rr 00rr 01rr 10rr 11rr 00rr 01rr 10rr 11rr 00rr 01rr 10rr 11rr bbrr bbrr bbrr bbrr kkkk kkkk kkkk kkkk kkkk kkkk kkkk kkkk kkkk rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr kkkk kkkk kkkk kkkk kkkk kkkk kkkk kkkk kkkk 十六进 制 02rr 02rr 03rr 03rr 03rr 03rr 04rr 04rr 04rr 04rr 05rr 05rr 05rr 05rr 06rr 06rr 06rr 06rr 07rr 07rr 07rr 07rr 0xxx 0xxx 0xxx 0xxx 1kkk 1kkk 18kk 19kk 1Akk 1Bkk 1Ckk 1Dkk 1Fkk 助记符 操作 受影响的标志位 AND A,R AND R,A XOR A,R XOR R,A ADD A,R ADD R,A MOV A,R MOV R,R COMA R COM R INCA R INC R DJZA R DJZ R RRCA R RRC R RLCA R RLC R SWAPA R SWAP R JZA R JZ R BC R,b BS R,b JBC R,b JBS R,b CALL k JMP k MOV A,k OR A,k AND A,k XOR A,k RETL k SUB A,k ADD A,k A&R→A A&R→R A⊕R→A A⊕R→R A+R→A A+R→R R→A R→R /R → A /R → R R+1 → A R+1 → R R-1 → A, 值为零则跳过下条指令 R-1 → R, 值为零则跳过下条指令 R(n) → A(n-1),R(0) → C, C → A(7) R(n) → R(n-1),R(0) → C, C → R(7) R(n) → A(n+1),R(7) → C, C → A(0) R(n) → R(n+1),R(7) → C, C → R(0) R(0-3) → A(4-7),R(4-7) → A(0-3) R(0-3) ↔ R(4-7) R+1 → A, 值为零则跳过下条指令 R+1 → R, 值为零则跳过下条指令 0 → R(b) 1 → R(b) 如果 R(b)=0, 跳过下条指令 如果 R(b)=1, 跳过下条指令 PC+1 → [SP],(Page, k) → PC (Page, k) → PC k→A A∨k→A A&k→A A⊕k→A k → A,[栈顶] → PC k-A → A k+A → A Z Z Z Z Z, C, DC Z, C, DC Z Z Z Z Z Z 无 无 C C C C 无 无 无 无 2 无 3 无 无 无 无 无 无 Z Z Z 无 Z, C, DC Z, C, DC 1 Note: 这条指令只应用于 IOC50~IOCF0, IOC51 ~ IOCF1 2 3 62 • 这条指令建议不要使用在RF寄存器上 这条指令建议不要对RF进行操作 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 7 最大绝对值 项目 8 范围 工作温度 -40°C to 85°C 储存温度 -65°C to 150°C 输入电压 Vss-0.3V to Vdd+0.5V 输出电压 Vss-0.3V to Vdd+0.5V 工作电压 2.5V to 5.5V 工作频率 DC to 20MHz 直流电气特性 Ta= 25 °C, VDD= 5.0V, VSS= 0V 符号 参数 晶振: VDD to 5V FXT 晶振: VDD to 3V 条件 最大值 单位 DC – 20 MHz DC – 8 MHz F±30% – 850 3.5 F±30% – kHz V OSCI 在 RC 模式 – 1.5 – V VIN = VDD, VSS –1.0 0 1.0 µA Ports 5, 6, 7 – 3.75 – V Ports 5, 6, 7 – 1.25 – V /RESET – 2.0 – V /RESET – 1.0 – V TCC, INT – 3.75 – V TCC, INT – 1.25 – V 指令周期为 2 个时钟周期 最小值 典型值 ERC: VDD to 5V VIHRC 输入高临界电压(施密特触发) 输入低临界电压(施密特触 VILRC 发) 输入引脚输入漏电流 IIL 输入高电压 VIH1 (施密特触发) 输入低电压 VIL1 (施密特触发) VIHT1 输入高临界电压(施密特触发) 输入低临界电压(施密特触 VILT1 发) 输入高临界电压(施密特触 VIHT2 发) 输入低临界电压(施密特触 VILT2 发) VIHX1 时钟输入高电压 R: 5.1KΩ, C: 100 pF OSCI 在 RC 模式 OSCI 在晶振模式 – 3.5 – V VILX1 时钟输入低电压 输出高电压 IOH1 (Ports 5, 6, 7) 输出低电压 IOL1 (Ports 5, 6,7) IPH 上拉电流 IPL 下拉电流 OSCI 在晶振模式 – 1.5 – V VOH = VDD-0.5V (IOH =-6mA) – -6.0 – mA VOL = GND+0.5V (IOL =12mA) – 12.0 – mA –50 25 –75 40 –240 120 µA µA – 1.0 2.0 µA – – 15 µA ISB1 省电电流 ISB2 省电电流 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) 激活上拉,输入引脚接 VSS 激活下拉, 输入引脚接 Vdd 所有的输入引脚和 I/O 引脚接 VDD, 输出引脚悬空 WDT 禁止 所有输入引脚和 I/O 引脚接 VDD, 输出引脚悬空 WDT 使能 • 63 EM78P418N 8位OTP微控制器 符号 参数 条件 ICC1 2 个时钟周期的工作电流 ICC2 2 个时钟周期的工作电流 ICC3 2 个时钟周期的工作电流 ICC4 2 个时钟周期的工作电流 最小值 典型值 /RESET= '高', Fosc=32kHz (晶振类型, CLKS="0"), 输出引脚悬空, WDT 禁止 /RESET= '高', Fosc=32kHz (晶振 类型, CLKS="0"), 输出引脚悬空, WDT 使能 /RESET= '高', Fosc=4MHz (晶振类型, CLKS="0"), 输出引脚悬空 WDT 使能 /RESET= '高', Fosc=10MHz (晶振 类型, CLKS="0"), 输出引脚悬空, WDT 使能 最大值 单位 15 20 35 µA – 25 35 µA – 1.7 2.2 mA – 3.0 3.5 mA 内部RC电气特性 (Ta=25°C, VDD=5 V, VSS=0V) 内部 RC 漂移率 温度 电压 最小值. 典型值. 最大值. 4MHz 25°C 5V 3.84MHZ 4MHz 4.16MHz 8MHz 25°C 5V 7.68MHz 8MHz 8.32MHz 1MHz 25°C 5V 0.96MHz 1MHz 1.04MHz 455kHz 25°C 5V 436.8kHz 455kHz 473.2kHz 内部RC电气特性(Ta=-40 ~85°C, VDD=2.2~5.5 V, VSS=0V) 内部 RC 64 • 漂移率 温度 电压 最小值 典型值 最大值 4MHz -40 ~85°C 2.2~5.5 V 3.24MHZ 4MHz 4.76MHz 8MHz -40 ~85°C 2.2~5.5 V 6.4MHz 8MHz 9.6MHz 1MHz -40 ~85°C 2.2~5.5 V 0.81MHz 1MHz 1.19MHz 455kHz -40 ~85°C 2.2~5.5 V 368kHz 455kHz 542kHz 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 8.1 AD 转换器特性 Vdd=2.5V to 5.5V, Vss=0V, Ta=25°C 符号 VREF VSS VAI IAI1 IAI2 参数 模拟参考电压 条件 VREF – VSS ≥ 2.5V − 模拟输入电压 Ivdd Ivref Ivdd Ivref 最小值 典型值 最大值 单位 2.5 − VDD V VSS − VSS V VSS − VREF V 模拟工作电流 VDD=VREF=5.0V, VSS = 0.0V (V 参考来自 VDD) 750 850 1000 µA -10 0 +10 µA 模拟工作电流 VDD=VREF=5.0V, VSS = 0.0V (V 参考来自 VREF) 500 600 820 µA 200 250 300 µA − 9 10 Bits − 11 12 Bits ADREF=0, 内部 VDD RN1 分辨率 RN2 分辨率 LN1 数性误差 VDD= 2.5 to 5.5V Ta=25°C 0 ±4 ±8 LSB LN2 数性误差 VDD= 2.5 to 5.5V Ta=25°C 0 ±2 ±4 LSB DNL 差分非数性误差 VDD= 2.5 to 5.5V Ta=25°C 0 ±0.5 ±0.9 LSB FSE1 满刻度误差 VDD=5.0V, VASS = 0.0V ±0 ±4 ±8 LSB FSE2 满刻度误差 VDD=VREF=5.0V, VSS = 0.0V ±0 ±2 ±4 LSB OE 偏移误差 VDD=VREF=5.0V, VSS = 0.0V ±0 ±2 ±4 LSB ZAI 推荐的模拟电压源阻抗 0 8 10 KΩ ADIV A/D 输入电压范围 VDD =VREF=5.0V, VSS = 0.0V 0 − VREF V ADOV A/D 输出电压波动 VDD =VREF=5.0V, VSS = 0.0V, RL=10KΩ 0 0.2 0.3 4.7 4.8 5 TAD A/D 周期 VDD=VREF=5.0V, VSS = 0.0V 4 − − µs TCN A/D 转换时间 VDD=VREF=5.0V, VSS = 0.0V 15 − 15 TAD PSR 电源滤波 VDD=5.0V±0.5V ±0 − ±2 LSB VDD=5.0V, VSS = 0.0V ADREF=1, 外部 VREF VDD=VREF=5.0V, VSS = 0.0V − V Note: 1. 这些参数是理论值(非测试值),仅供参考。 2. 与漏电流不同,当ADC关闭时不耗电流。 3. 当输入电压减少时,AD转换结果不会减少,无遗漏码 4. 规格可能会随时改变。 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 65 EM78P418N 8位OTP微控制器 8.2 比较器(OP) 特性 Vdd = 5.0V, Vss=0V, Ta=25°C 符号 参数 条件 最小值 典型值 SR 回转比率 IVR 输入电压范围 Vdd =5.0V, VSS =0.0V – 0.1 OVS 输出电压波动 Vd =5.0V, VSS =0.0V,RL=10KΩ Iop OP 的工作电流 Ico 比较器的工作电流 PSRR OP 的电源饱和量 Vs 工作范围 0.2 0 最大 值 单位 – V/µs 5 V 0 0.2 0.3 4.7 4.8 5 – 250 350 500 µA – – 300 – µA 50 60 70 dB 5.5 V Vdd= 5.0V, VSS =0.0V – 2.5 V Note: 1. 这些参数是理论值(非测试值),仅供参考。 2. 规格可能会随时改变。 8.3 器件特性 以下所列图所示特性取自有限的样品,并不保证它的准确性,在此仅用作参考。有些图 片所示数据可能超出规格指定的工作范围。 IRC OSC 频率 (VDD=3V) 9 8 频率(M Hz) . 7 6 5 4 3 2 1 0 -40 -20 0 25 70 50 85 温度 (℃) 图 8-1 内部RC 晶振频率 vs.温度 VDD=3V 66 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 IRC OSC 频率 (VDD=5V) 10 9 频率 8 (M Hz) . 7 6 5 4 3 2 1 0 -40 -20 0 25 50 70 85 典型值 最大值 单位 45 50 55 % 晶振类型 100 – DC ns RC 类型 500 – DC ns (Tins+20)/N* – – ns 温度℃ 图 8-2 内部 RC 晶振频率vs.温度, VDD=5V 9 交流电气特性 Ta=25°C, VDD=5V±5%, VSS=0V 符号 参数 条件 – 最小值 Dclk 输入时钟的占空比 Tins 指令周期 (CLKS="0") Ttcc TCC 输入时间周期 T Tdrh 器件复位持续时间 Ta = 25°C 11.3 16.2 21.6 ms Trst /RESET 脉冲宽度 Ta = 25°C 2000 – – ns Twdt 看门狗定时器时间 Ta = 25°C 11.3 16.2 21.6 ms Tset 输入引脚建立时间 – 0 – ns Thold 输入引脚保持时间 – 15 20 25 ns Tdelay 输出引脚延迟时间 Cload=20pF 45 50 55 ns Tdrc 外部 RC 延迟时间 Ta = 25°C 1 3 5 ns – – Note: * N =选择预分频比 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 67 EM78P418N 8位OTP微控制器 10 时序 VDD-0.5V 0.75VDD 0.75VDD 0.25VDD 0.25VDD +0.5V 1 -0.5V 0.25VDD 1 +0.5V 0 0.75VDD 0 CLK=0 NOP 1 CLK /RESET Tdrh TCC CLK=0 Tins CLK TCC Ttcc 68 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 附录 A 封装类型 OTP MCU 封装类型 引脚数 封装尺寸 EM78P418ND18J/S DIP 18 pin 300mil EM78P418NSO18J/S SOP 18 pin 300mil EM78P418ND20J/S DIP 20 pin 300mil EM78P418NSO20J/S SOP 20 pin 300mil EM78P418NK24J/S Skinny DIP 24 pin 300mil EM78P418NSO24J/S SOP 24 pin 300mil EM78P418NSS24J/S SSOP 24 pin 150mil 绿色产品不含有害物。 符合Sony SS-00259 第三版标准。 Pb 含量小于 100ppm Pb 含量符合 Sony 规格说明 项目 EM78P418NS/J 电镀类型 纯锡 成份 (%) Sn:100% 熔点(°C) 232°C 电阻率 (µΩ-cm) 11.4 硬度(hv) 8~10 伸长 (%) >50% 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 69 EM78P418N 8位OTP微控制器 B 封装形式 B.1 EM78P418ND18 图 B-1 EM78P418N 18-pin 直插封装型号 70 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 B.2EM78P418NSO18 图 B-2 EM78P418N 18-pin SOP 封装型号 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 71 EM78P418N 8位OTP微控制器 B.3EM78P418ND20 图 B-3 EM78P418N 20-pin 直插封装型号 72 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 B.4 EM78P418NSO20 图 B-4 EM78P418N 20-pin SOP 封装型号 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 73 EM78P418N 8位OTP微控制器 B.5 EM78P418NK24 图 B-5 EM78P418N 24-pin 小型直插 DIP封装型号 74 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 B.6 EM78P418NSO24 图 B-6 EM78P418N 24-pin SOP 封装型号 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 75 EM78P418N 8位OTP微控制器 B.7 EM78P418NSS24 图 B-7 EM78P418N 24-pin SSOP 封装类型 76 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) EM78P418N 8位OTP微控制器 C EM78P418N 烧录引脚 在下面的IC列表, “引脚 # 号” 表示这个引脚被连接到DWTR烧录器的 Socket上. 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新) • 77 EM78P418N 8位OTP微控制器 D 品质保证和可靠性 测试类别 可焊性 测试条件 焊料温度=245±5°C, 使用松香在上面停留 5 秒 备注 − 步骤 1: TCT, 65°C (15 分钟)~150°C (分钟), 10 次 步骤 2: 在 125°C 烤, TD (持久性)=24 小时 步骤 3: 储存在 30°C/60% , D (持久性)=192 小时 前提条件 步骤 4: IR 变化 3 次 (Pkg 厚度≥ 2.5mm or 3 Pkg 体积 ≥ 350mm ----225 ± 5°C) 适合 SMD IC (例如 SOP, QFP, SOJ 等) (Pkg 厚度 ≤ 2.5mm or 3 Pkg v 体积 ≤ 350mm ----240 ± 5°C ) 温度周期测试 高压测试 -65° (15 分钟)~150°C (15 分钟), 200 次 TA =121°C, RH=100%, 压力=2 atm, TD (持续性) = 96 小时 − − 高温 /高湿测试 TA=85°C , RH=85% , TD (持续性)=168 , 500 hrs − 高温保存期 TA=150°C, TD (持续性)=500, 1000 hrs − 高温工作寿命 TA=125°C, VCC=最大工作电压, TD (持续性) =168, 500, 1000 hrs − 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, IP_PS,OP_PS,IO_PS, ESD (MM) TA=25°C, ≥ | ± 300V | VDD-VSS(+),VDD_VSS (-)模式 D.1 地址陷阱检测 地址陷阱检测是MCU嵌入式自动防止故障危害功能的一种,检测MCU由噪声或类似造 成的功能故障。无论何时MCU试图从ROM区获取一条指令,内部恢复电路将自动开始。 如果检测到噪声引起地址错误,MCU重复执行程序直到噪声消除。 MCU 将继续执行下 一条指令。 78 • 版本号 (V1.9) 01.11.2011 (产品更新后规格书不保证同步更新)