EM78P468N/L 8位 OTP微控制器 产品规格书 版本 1.6 义隆电子股份有限公司 2007.12 本文内容是由英文规格书翻译而 目的是为了您的阅读更加方便。 它无法跟随原稿的更新,文中可 能存在翻译上的错误,请您参考 英文规格书以获得更准确的信 息。 商标告知: IBM 为一个注册商标,PS/2 是 IBM 的商标之ㄧ.。 Windows 是微软公司的商标。 ELAN 和 ELAN 标志 是义隆电子股份有限公司的商标。 版权所有 © 2009~2010 义隆电子股份有限公司 所有权利保留 台湾印制 本规格书内容如有变动恕不另作通知。关于该规格书的准确性、适当性或者完整性,义隆电子股份有限 公司不承担任何责任。 义隆电子股份有限公司不承诺对本规格书之内容及信息有更新及校正之义务。 本 规格书的内容及信息将为符合确认之指示而变更。 在任何情况下,义隆电子股份有限公司对本规格书中的信息或内容的错误、遗漏,或者其它不准确性不 承担任何责任。由于使用本规格书中的信息或内容而导致的直接,间接,特别附随的或结果的损害, 义 隆电子股份有限公司没有义务负责。 本规格书中提到的软件(如果有),都是依据授权或保密合约所合法提供的,并且只能在这些合约的许 可条件下使用或者复制。 义隆电子股份有限公司的产品不是专门设计来应用于生命维持的用具,装置或者系统。 义隆电子股份有 限公司的产品不支持而且禁止在这些方面的应用。 未经义隆电子股份有限公司书面同意,任何个人或公司不得以任何形式或方式对本规格书的内容之任一部 分进行复制或传输。 义隆电子股份有限公司 总公司: 地址:台湾新竹科学园区 创新一路 12 号 电话:+886 3 563-9977 传真:+886 3 563-9966 [email protected] http://www.emc.com.tw 香港分公司: USA: 义隆电子(香港)有限公司 九龙观塘巧明街 95 号世达中心 19 楼 A 室 电话:+852 2723-3376 传真:+852 2723-7780 Elan Information Technology Group (USA) Korea: 深圳分公司: 上海分公司: Elan Korea Electronics Company, Ltd. 义隆电子(深圳)有限公司 义隆电子(上海)有限公司 301 Dong-A Building 632 Kojan-Dong, Namdong-ku Incheon City, KOREA Tel: +82 32 814-7730 Fax:+82 32 813-7730 P.O. Box 601 Cupertino, CA 95015 USA Tel: +1 408 366-8225 Fax:+1 408 366-8225 地址:深圳市高新技术产业园南区 地址:上海市浦東新區張江高科畢 高新南一道国微大厦 3F 升路 289 弄 3 號 101 室 邮编:518057 电话:+86 755 2601-0565 传真:+86 755 2601-0500 [email protected] 邮编:201203 电话:+86 21 5080-3866 传真:+86 21 5080-0273 [email protected] 目录 Contents 1 综述 2 产品特性.................................................................................................................... 1 3 引脚配置.................................................................................................................... 2 4 功能框图.................................................................................................................... 3 5 引脚描述.................................................................................................................... 4 6 功能描述.................................................................................................................... 6 6.1 ..............................................................................................................1 操作寄存器 ....................................................................................................... 6 6.1.1 R0/IAR (间接寻址寄存器) ................................................................................... 6 6.1.2 R1/TCC (定时时钟计数器) .................................................................................. 6 6.1.3 R2/PC (程序计数器)............................................................................................ 6 6.1.4 R3/SR (状态寄存器)............................................................................................ 8 6.1.5 R4/RSR (RAM 选择寄存器) ................................................................................ 8 6.1.6 R5/Port 5 (Port 5 I/O 数据和寄存器页面选择)..................................................... 9 6.1.7 R6/Port 6 (Port 6 I/O 数据寄存器)....................................................................... 9 6.1.8 R7/Port 7 (Port 7I/O 数据寄存器)........................................................................ 9 6.1.9 R8/Port 8 (Port 8 I/O 数据寄存器)....................................................................... 9 6.1.10 R9/LCDCR (LCD 控制寄存器) .......................................................................... 10 6.1.11 RA/LCD_ADDR (LCD 地址寄存器)................................................................... 10 6.1.12 RB/LCD_DB (LCD 数据缓存器) .........................................................................11 6.1.13 RC/CNTER (计数器使能寄存器)........................................................................11 6.1.14 RD/SBPCR (系统时钟、驱动频率及 PLL 频率控制寄存器) .............................. 12 6.1.15 RE/IRCR (IR&Port5 引脚功能设置寄存器) ....................................................... 13 6.1.16 RF/ISR (中断状态寄存器) ................................................................................. 14 6.1.17 地址: 10h~3Fh; R10~R3F (通用寄存器) ........................................................... 14 6.2 特殊功能寄存器 .............................................................................................. 15 6.2.1 A (累加器) ......................................................................................................... 15 6.2.2 IOC50/P5CR (Port 5 I/O& Port 7、P8,LCD 段控制寄存器) ........................... 15 6.2.3 IOC60/P6CR (Port 6 I/O 控制寄存器) ............................................................... 15 6.2.4 IOC70/P7CR (Port 7 I/O 控制寄存器) ............................................................... 16 6.2.5 IOC80/P8CR (Port 8 I/O 控制寄存器) ............................................................... 16 6.2.6 IOC90/RAM_ADDR (128 字节 RAM 地址)........................................................ 16 6.2.7 IOCA0/RAM_DB (128 字节 RAM 数据缓存器).................................................. 16 版本号 (V1.6) 12.31.2007 • iii 目录 6.2.8 IOCB0/CNT1PR (计数器 1 预设值寄存器)........................................................ 17 6.2.9 IOCC0/CNT2PR (计数器 2 预设值寄存器)........................................................ 17 6.2.10 IOCD0/HPWTPR (高电平脉宽定时器预设值寄存器) ........................................ 17 6.2.11 IOCE0/LPWTPR (低电平脉宽定时器预设值寄存器)......................................... 17 6.2.12 IOCF0/IMR (中断屏蔽寄存器)........................................................................... 18 6.2.13 IOC61/WUCR (唤醒和 P5.7/IROUT 灌电流控制寄存器) .................................. 18 6.2.14 IOC71/TCCCR (TCC 控制寄存器) .................................................................... 19 6.2.15 IOC81/WDTCR (WDT 控制寄存器) .................................................................. 19 6.2.16 IOC91/CNT12CR (计数器 1、2 的控制寄存器) ................................................ 20 6.2.17 IOCA1/HLPWTCR (高/低电平脉宽定时器控制寄存器) ..................................... 21 6.2.18 IOCB1/P6PH (Port 6 上拉控制寄存器) ............................................................. 22 6.2.19 IOCC1/P6OD (Port 6 漏极开路控制寄存器) ..................................................... 22 6.2.20 IOCD1/P8PH (Port 8 上拉控制寄存器) ............................................................. 22 6.2.21 IOCE1/P6PL (Port 6 下拉控制寄存器) .............................................................. 22 6.3 TCC/WDT 预分频器 ........................................................................................ 23 6.4 I/O Ports ......................................................................................................... 25 6.5 复位和唤醒 ..................................................................................................... 25 6.6 振荡器............................................................................................................. 30 6.7 6.6.1 振荡器模式........................................................................................................ 30 6.6.2 锁相环(PLL 模式) .............................................................................................. 30 6.6.3 晶体振荡器/陶瓷谐振器(晶振) ........................................................................... 31 6.6.4 带内部电容的 RC 振荡模式............................................................................... 32 上电问题 ......................................................................................................... 32 6.7.1 外部上电复位电路 ............................................................................................. 32 6.7.2 残余电压保护 .................................................................................................... 33 6.8 中断 ................................................................................................................ 33 6.9 LCD 驱动 ........................................................................................................ 35 6.9.1 R9/LCDCR (LCD 控制寄存器) .......................................................................... 35 6.9.2 RA/LCD_ADDR (LCD 地址寄存器)................................................................... 36 6.9.3 RB/LCD_DB (LCD 数据缓存器) ........................................................................ 36 6.9.4 RD/SBPCR (系统时钟、驱动频率及 PLL 频率控制寄存器) .............................. 36 6.10 红外遥控应用/PWM 波形的产生 ...................................................................... 41 6.11 代码选项 ......................................................................................................... 44 6.12 指令集............................................................................................................ 46 iv • 版本号 (V1.6) 12.31.2007 目录 6.13 时序图............................................................................................................. 49 7 最大绝对值 .............................................................................................................. 50 8 电气特性.................................................................................................................. 50 9 8.1 直流电气特性 .................................................................................................. 50 8.2 交流电气特性 .................................................................................................. 52 8.3 器件性能 ......................................................................................................... 53 应用电路.................................................................................................................. 65 附录 A 封装形式.................................................................................................................. 66 B 封装信息.................................................................................................................. 67 C EM78P468N/L 烧写引脚表单................................................................................... 71 D ICE 468XA .............................................................................................................. 72 D.1 ICE 468XA 振荡电路 (JP 5) ............................................................................ 72 D.2 ICE 468XA 输出引脚排列图(JP 3)................................................................... 74 E 品质保证和可靠性.................................................................................................... 75 E.1 地址缺陷检测 .................................................................................................. 75 版本号 (V1.6) 12.31.2007 •v 目录 规格版本历史 版本号 1.0 1.1 1.2 修订本描述 初版 1.增加了 DC vs.温度曲线 2.去掉 LVD 功能 1.增加 LQFP 封装 日期 2004/04/10 2004/12/09 2005/03/15 1.结合了 EM78P468N 和 EM78P468L 的规格书 1.3 2.删除了 TCC 溢出将 MCU 从低速模式唤醒的功能。 2006/05/05 3.在产品特性部分增加了上电电压检测。 1.修订了综述,产品特性及引脚排列部分的内容。 1.4 2.增加绿色产品信息 3.修订功能模块结构图 2007/01/11 4.增加了附录 D 品质保证和可靠性 vi • 1.5 删除 EM78P468L 的所有封装 2007/02/15 1.6 增加了 EM78P468NEQ 的 QFP-64 封装 2007/12/31 版本号 (V1.6) 12.31.2007 EM78P468N/L 8位OTP微控制器 1 综述 EM78P468N/L 是采用低功耗高速 CMOS 工艺设计开发的 8 位微控制器。该芯片集成有 WDT、RAM、ROM、 可编程实时时钟计数器,内部/外部中断、省电模式、LCD 驱动器、红外发射功能和三态 I/O 口。它的内部有 一个 4KX13 位一次性可编程存储器(OTP-ROM)。它提供多层保护位用于防止用户在 OTP-ROM 中的程序被 读取,拥有 7 个代码选项位以满足用户定置代码选项的需要,尤其同时提供了 13 位用户 ID 选项。 EM78P468N/L 具有增强的 OTP-ROM 特性,方便了用户开发和校验程序。另外,利用开发编程工具,OTP 单片机具备简单高效的代码更新的优点。用户可以使用义隆烧录器轻松地烧写开发代码。 2 产品特性 •4K×13 位片内ROM •高频振荡器可从晶振、RC或PLL(锁相环)模式中选择其中一 种模式 •144字节通用寄存器 •低频振荡器可选择晶振或RC模式 CPU 配置 •128字节片内RAM 8位实时时钟/计数器 •8级堆栈用于子程序嵌套 •1个红外发射器/PWM发生器 •上电电压检测:2.0±0.1V (EM 78P468N) •4个8位可自动自动载入下溢计数/定时器,可用于中断源 •上电电压检测:1.7±0.1V (EM 78P468L) •计数器1:独立下溢计数器 I/O 端口结构 •计数器2:与红外发射(IR)功能共用的高电平脉宽定时器 HPWT)和低电平脉宽定时器(LPWT) •通常有12个双向三态I/O口 •可编程的自由运行片内看门狗定时器, 可用於普通模式, 省电模 式和低速模式 •16个双向三态I/O口与LCD 段输出共用 •28个双向三态I/O口 8个中断源,包括3个外部中断5个内部中断 工作电压和工作温度范围: • 内部中断源:TCC、计数器1、计数器2、高/低电平脉宽定时器 EM78P468N • 外部中断源:INT0、INT1及引脚状态改变唤醒(Port 6和 Port 8)中断 •商业级: 2.3V ~ 5.5 V. ( 0°C~+70°C) •工业级: 2.5V ~ 5.5 V. ( -40°C ~+85°C) LCD电路 EM78P468L • 4个公共驱动引脚 •商业级: 2.1 V ~ 5.5 V. ( 0°C ~+70°C) • 32个字段驱动引脚 •工业级: 2.3V ~ 5.5 V. ( -40°C ~+85°C) • LCD 偏压:1/3、1/2 偏压 工作模式: • LCD 占空比: 1/4、1/3、1/2 占空比 • 普通模式:CPU工作于主频(Fm) •省电模式:CPU工作于副频(Fs),而主频(Fm)停 止振荡 •低速模式:CPU闲置,但LCD驱动仍在工作 •休眠模式:整个芯片停止工作 •输入端口从空闲及休眠模式唤醒功能(Port 6, Port 8) •工作频率:DC~10MHz时钟输入 •双时钟工作模式 外围配置 •272字节SRAM 封装形式 • 晶元形态: 59引脚 • QFP-64引脚: EM78P468NQxS/xJ (尺寸 14mm × 20mm) • LQFP-64引脚: EM78P468NAQxS/xJ (尺寸 7mm × 7mm) • LQFP-44引脚: EM78P468NBQxS/xJ (尺寸 10mm × 10mm) • QFP-44引脚: EM78P468NCQxS/xJ (尺寸 10mm × 10mm) • QFP-64引脚: EM78P468NEQxS/xJ (尺寸 14mm × 14mm) 注: 绿色产品不包含有害物质。 振荡模式 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) •1 EM78P468N/L 8位OTP微控制器 3 引脚配置 4 0 3 9 3 8 3 7 3 6 P5.5/INT1 4 1 NC 4 2 P5.6/TCC 4 3 NC 4 4 P6.0 4 5 P5.7/IROUT 4 6 P6.1 4 7 P6.2 4 8 P6.3 3 3 P6.4 3 4 P6.5 3 5 P6.6 3 6 P6.7 3 7 NC 3 8 NC 3 9 SEG31/P8.7 4 0 P5.5/INT1 4 1 NC 4 2 P5.6/TCC 4 3 NC P6.1 4 4 P6.0 P6.2 4 5 P5.7/IROUT P6.3 4 6 P6.4 4 7 P6.7 4 8 P6.5 4 9 P6.6 NC 5 0 NC NC 5 1 SEG31/P8.7 SEG30/P8.6 (2) 64-引脚 LQFP SEG29/P8.5 (1) 64-引脚 QFP 3 5 3 4 3 3 SEG28/P8.4 52 32 P5.4/INT0 NC 49 32 P5.4/INT0 SEG27/P8.3 53 31 XOUT SEG30/P8.6 50 31 XOUT SEG26/P8.2 54 30 XIN SEG29/P8.5 51 30 XIN SEG25/P8.1 55 29 VDD SEG28/P8.4 52 29 VDD SEG24/P8.0 56 28 OSCO SEG23/P7.7 57 27 R-OSCI SEG22/P7.6 58 26 GND SEG21/P7.5 59 25 /RESET SEG20/P7.4 60 24 VLCD3 SEG19/P7.3 61 23 VLCD2 SEG18/P7.2 62 22 VA SEG17/P7.1 63 21 VB SEG16/P7.0 64 20 COM0 55 SEG24/P8.0 56 SEG23/P7.7 57 SEG22/P7.6 58 SEG21/P7.5 28 OSCO 27 R-OSCI 60 21 VB SEG19/P7.3 61 20 COM0 SEG18/P7.2 62 19 COM1 SEG17/P7.1 63 18 COM2 SEG16/P7.0 64 17 COM3 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 SEG 2 4 SEG 3 3 SEG 7 2 SEG11 图 3-1 64-引脚 QFP 1 1 5 1 6 SEG 0 VA SEG20/P7.4 SEG 1 22 SEG 4 VLCD2 59 SEG 5 VLCD3 23 SEG 6 24 SEG 8 /RESET SEG 9 GND 25 SEG10 26 SEG12 1 9 SEG25/P8.1 EM78P468NAQ LQFP-64 EM78P468NEQ QFP-64 SEG13 1 8 54 COM1 1 7 COM2 1 6 COM3 1 5 SEG 0 1 4 SEG 1 SEG 4 1 3 SEG 2 1 2 SEG 3 1 1 SEG 5 1 0 SEG 6 9 SEG 7 8 SEG 8 7 SEG 9 6 SEG10 5 SEG11 4 SEG12 3 SEG13 2 SEG14 SEG15 1 53 SEG14 QFP-64 SEG27/P8.3 SEG26/P8.2 SEG15 EM78P468NQ 图 3-2 64-引脚 LQFP/QFP 2 3 3 3 3 2 3 1 3 0 2 9 2 8 2 7 2 6 2 5 2 4 2 3 SEG27/P8.3 34 22 P5.5/INT1 SEG27/P8.3 34 22 P5.5/INT1 SEG26/P8.2 35 21 P5.4/INT0 SEG26/P8.2 35 21 P5.4/INT0 SEG25/P8.1 36 20 XOUT SEG25/P8.1 36 20 XOUT SEG24/P8.0 37 19 XIN SEG24/P8.0 37 SEG23/P7.7 38 18 VDD SEG23/P7.7 SEG22/P7.6 39 17 OSCO SEG21/P7.5 40 16 R-OSCI SEG20/P7.4 41 15 SEG19/P7.3 42 14 SEG18/P7.2 43 13 VLCD3 SEG17/P7.1 44 12 VLCD2 1 1 SEG14 SEG13 SEG12 SEG11 COM3 COM2 COM1 COM0 VB VA GND SEG20/P7.4 41 15 GND /RESET SEG19/P7.3 42 14 /RESET SEG18/P7.2 43 13 VLCD3 SEG17/P7.1 44 12 VLCD2 QFP-44 1 2 3 4 5 6 7 8 9 1 0 1 1 VA 1 0 R-OSCI VB 9 OSCO 16 COM0 8 17 40 COM1 7 39 SEG21/P7.5 COM2 6 SEG22/P7.6 COM3 5 VDD SEG11 4 18 SEG12 3 XIN 38 SEG13 2 19 SEG14 1 SEG16/P7.0 LQFP-44 EM78P468NCQ SEG16/P7.0 EM78P468NBQ 图 3-3 44-引脚 LQFP 2• P5.6/TCC 2 4 P5.7/IROUT P5.6/TCC 2 5 P6.0 P5.7/IROUT 2 6 P6.1 P6.0 2 7 P6.2 P6.1 2 8 P6.3 P6.2 2 9 P6.4 P6.3 3 0 P6.5 P6.4 3 1 P6.6 P6.5 3 2 P6.7 P6.6 3 3 SEG28/P8.4 P6.7 (4) 44-引脚 QFP SEG28/P8.4 (3) 44-引脚 LQFP 图 3-4 44-引脚 QFP 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 输入引脚 输出引脚 输入/输出引脚 数字 I/O 引脚/LCD 输出引脚 LCD 输出引脚 4 功能框图 图 4 系统功能结构图 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) •3 EM78P468N/L 8位OTP微控制器 5 引脚描述 表 1 (a) QFP64和LQFP64封装引脚说明 符号 类型 P5.4/INT0 32 I/O P5.5/INT1 33 I/O P5.6/TCC 34 I/O P5.7/IROUT 37 I/O P6.0~P6.7 38~45 I/O COM3~0 17~20 O SEG0~SEG15 功能 1 位通用的输入/输出引脚/外部中断引脚 INT0 的中断信号沿,可以通过 IOC71 的位 7(INT_EDGE)设置为 上升沿或者下降沿 引脚状态改变时能够从休眠及低速模式中唤醒 1 位通用的输入/输出引脚/外部中断引脚 INT1 的中断沿是一个下降沿信号 引脚状态改变时能够从休眠及低速模式中唤醒 1 位通用的输入/输出引脚/外部计数输入引脚 该引脚可工作于普通/省电/低速模式 1 位通用的输入/输出引脚/ IR/PWM 模式输出引脚 灌电流能达到 20mA/5V 8 位通用输入/输出引脚 具有上拉,下拉及漏极开路功能. 所有引脚状态改变时能够将单片机从休眠和低速模式中唤醒 LCD 公共驱动输出引脚 LCD 段输出引脚. 16~1 O SEG16/P7.0 ~ SEG23/P7.7 64 ~ 57 O/(I/O) LCD 段输出引脚,与通用 I/O 引脚共用 SEG24/P8.0 ~ SEG30/P8.6 SEG31/P8.7 56 ~ 50 46 O/(I/O) LCD 段输出引脚,与通用 I/O 引脚共用 作为于通用 I/O 口时,当引脚状态改变时,能够将单片机从休眠和 低速模式中唤醒 用作通用 I/O 口时,支持上拉功能 VB 21 O 为得到 LCD 偏压 该引脚与电容连接 VA 22 O 为得到 LCD 偏压 该引脚与电容连接 VLCD2 23 O LCD 偏压电压连接引脚. VLCD3 24 O /RESET 25 I R-OSCI 27 I LCD 偏压电压连接引脚 仅用于通用输入引脚,低电平有效,当保持逻辑低电平时芯片将复 位 晶振模式时:晶振输入 RC 模式时:接上拉电阻. PLL 模式时:接 0.01µF 电容到地 当不使用高频振荡器时,该脚必须连接 0.01uF 的电容到地并选择 PLL 模式。 OSCO 28 O Xin 30 I Xout 31 o 35~36 47~49 − 无连接 VDD 29 I GND 26 I 电源 地 NC 4• 引脚号 晶振模式时:晶振输入 RC 模式时:指令时钟输出 晶振模式时:副振荡器输入端,接 32.768KHz 晶振 晶振模式时:接 32.768KHz 晶振 RC 模式时:指令时钟输出 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 表 2 (b) QFP44 和LQFP44封装引脚说明 符号 引脚号 类型 功能 1 位普通输入/输出/外部中断引脚 INT0 的中断信号沿可以通过 IOC71 的位 7(INT_EDGE)设置为上 升沿或者下降沿 引脚状态改变时能够将单片机从休眠及低速模式中唤醒 1 位通用输入/输出/外部中断引脚 INT1 的中断沿是一个下降沿信号 引脚状态改变时能够从休眠及低速模式中唤醒 P5.4/INT0 21 I/O P5.5/INT1 22 I/O P5.6/TCC 23 I/O P5.7/IROUT 24 I/O 25~32 I/O COM3~0 6~9 O SEG11~SEG14 5~2 O SEG16/P7.0 ~ SEG23/P7.7 1 44 ~ 38 O/(I/O) LCD 段输出引脚,与通用 I/O 引脚共用 SEG24/P8.0 ~ SEG30/P8.6 SEG31/P8.7 37 ~ 33 O/(I/O) LCD 段输出引脚,与通用 I/O 引脚共用 用作通用 I/O 口,当引脚状态改变时,能够从休眠和低速模式中唤 醒芯片 用作通用 I/O 口时,支持上拉功能 VB 10 O 为得到 LCD 偏压,该引脚连接电容 VA 11 O 为得到 LCD 偏压,该引脚连接电容 VLCD2 12 O LCD 偏压电压连接引脚. VLCD3 13 O LCD 偏压电压连接引脚 /RESET 14 I R-OSCI 16 I 通用输入引脚,低电平有效,当保持逻辑低电平时芯片将复位 晶振模式时:晶振输入 RC 模式时:接上拉电阻. PLL 模式时:接 0.01µF 电容到地 当不使用高频振荡器时,该脚必须连接 0.01uF 的电容到地并选择 PLL 模式。 OSCO 17 O Xin 19 I Xout 20 o VDD 18 I GND 15 I P6.0~P6.7 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) 1 通用输入/输出引脚/外部计数器输入端 该引脚是可工作于普通/省电/低速模式 1 位通用输入/输出引脚/ IR/PWM 模式输出引脚 该引脚灌电流能达到 20mA/5V 8 位通用输入/输出引脚 支持上拉,下拉及漏极开路功能. 所有引脚状态改变时能够从休眠和低速模式中唤醒 LCD 公共驱动输出引脚 LCD 段输出引脚. 晶振模式时:晶振输出 RC 模式时:指令时钟输出 晶振模式时:副振荡器输入端,接 32.768KHz 晶振 晶振模式时:接 32.768KHz 晶振 RC 模式时:指令时钟输出 电源 地 •5 EM78P468N/L 8位OTP微控制器 6 功能描述 6.1 操作寄存器 6.1.1 R0/IAR (间接寻址寄存器) (地址: 00h) R0并非一个实际工作的寄存器,其主要功能是作为间接地址指针。任何对R0进行操作 的指令,实际上是存取由RAM选择寄存器R4所指定的内容。 6.1.2 R1/TCC (定时时钟计数器) (地址: 01h) 它用于对外加在TCC引脚上的脉冲或内部时钟进行计数,同其它寄存器一样它可以由程 序进行读/写操作。 6.1.3 R2/PC (程序计数器) (地址: 02h) 图. 6-1描述了R2的结构,程序计数器的组成。 该结构产生4K×13位片内ROM地址以获取对应程式指令代码。 复位后,R2所有位被清零。 ”JMP”指令允许直接装载程序计数器的低10位,因此,”JMP”指令跳转范围为一个程 序页面内。 "CALL"指令装载PC的低10位,然后PC+1压入堆栈。因此,子程序入口地址可以位 于一个程序页的任何地方。 "RET" ("RETL k", "RETI")指令将栈顶的数据载入PC中。 "ADD R2, A" 允许把A的值加到当前PC上,同时PC的第九位第十位根据实际情况 增加。 "MOV R2, A"允许将A寄存器的地址装载到PC的低8位,同时PC的第九位及第十位 (A8 ~ A9)保持不变。 当执行“JMP”、“CALL”指令时,PC的高位(A10~A11)将装入状态寄存器R3中的 PS0~PS1位。 6• 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 R3 程序计数器 PC A11 A10 00 页 0 0000~03FF 01 页 1 0400~07FF A9 A8 CALL RET RETL RETI 10 页 2 0800~0BFF 堆栈级 1 堆栈级 2 堆栈级 3 堆栈级 4 堆栈级 5 堆栈级 6 ~ A0 复位向量 000H TCC 溢出中断向量 003H 外部 INT0 引脚中断向量 006H 外部 INT1 引脚中断向量 009H 计数器 1 下溢中断向量 00CH 计数器 2 下溢中断向量 00FH 高电平脉宽定时器下溢中断向量 012H 低电平脉宽定时器下溢中断向量 015H Port6,Port8 引脚输入状态改变唤醒中断向量 018H 堆栈级 7 堆栈级 8 用户存储空间 11 页 3 0C00~0FFF A7 片内程序存储器 FFFH 图 6-1 程序计数器组成 地址 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 | 1F 20 | 3F IAR (间接寻址寄存器) TCC (定时计数器) PC (程序计数器) R5 第 0 位为 0 控制寄存器,页 0 R5 第 0 位为 1 控制寄存器,页 1 SR (状态寄存器) RSR (RAM 选择寄存器) PORT5 (Port5 & IOCPAGE 控制) P5CR (Port5 I/O & LCD segment 控制) PORT6 (Port6 I/O 数据寄存器) P6CR (Port6 I/O 控制寄存器) WUCR (唤醒& P5.7 灌电流) PORT7 (Port7 I/O 数据寄存器) P7CR (Port7 I/O 控制寄存器) TCCCR (TCC & INT0 控制寄存器) PORT8 (Port8 I/O 数据寄存器) P8CR (Port8 I/O 控制寄存器) WDTCR (WDT 控制寄存器) LCDCR (LCD 控制寄存器) RAM_ADDR (128 字节 RAM 地址) CNT12CR (计数器 1,2 控制寄存器) LCD_ADDR (LCD 地址) RAM_DB (128 字节 RAM 数据缓存器) HLPWTCR (高/低脉宽定时器控制) LCD_DB (LCD 数据缓存器) CNT1PR (计数器 1 预设置寄存器) P6PH (Port6 上拉控制寄存器) CNTER (计数器使能寄存器) CNT2PR (计数器 2 预设置寄存器) P6OD (Port6 开漏控制寄存器) SBPCR (系统,驱动,PLL 控制) HPWTPR (高脉宽定时器预设置) P8PH (Port8 上拉控制寄存器) IRCR (IR, IR 引脚;INT0/1;TCC 控制) LPWTPR (低脉宽定时器预设置) P6PL (Port6 下拉控制寄存器) ISR (中断状态寄存器) IMR (中断屏蔽寄存器) 16 字节通用寄存器 bank 0 ~ bank 3 LCD RAM 4*32 位 128 字节数据 RAM 32 字节通用寄存器 图 6-2 数据存储器组成 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) •7 EM78P468N/L 8位OTP微控制器 6.1.4 R3/SR (状态寄存器) (地址: 03h) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 − PS1 PS0 T P Z DC C Bit 7: 未使用 Bits 6 ~ 5 (PS1 ~ 0): 页面选择位 PS1 PS0 ROM 页 (地址) 0 0 页 0 (000H ~ 3FFH) 0 1 页 1 (400H ~ 7FFH) 1 0 页 2 (800H ~ BFFH) 1 1 页 3 (C00H ~ FFFH) PS0~PS1 用来作程序存储器ROM的页选,用户可以利用 PAGE 指令 (例如 PAGE 1) 或 者通过设置 PS1~PS0 位来改变程序存储器的页面。当执行"JMP"、"CALL",或者其他 可以改变程序计数器的指令(例如 MOV R2, A)时,PS0~PS1会被装载到程序计数器的第 11和12位中,即所选的程序存储器中的一页。注意RET (RETL, RETI) 等指令不会改变 PS0~PS1 位的值,因此不管当前PS0~PS1设置如何,在程序返回时总会回到子程序被 调用时所在的页面。 Bit 4 (T): 时间溢出位。当执行”SLEP”、”WDTC”指令或系统上电时,置该位为“1”;当 WDT溢出时,该位清为“0”。 T P 备注 休眠模式下 WDT 溢出唤醒 0 0 − WDT 溢出(不在休眠模式) 0 1 − 休眠模式下复位唤醒 1 0 − 上电复位 1 1 − 复位引脚处于低脉冲状态 1 1 ×: 忽略 事件 Bit 3 (P): 掉电位。当系统上电或执行”WDTC”指令后,置该位为”1”;当执行”SLEP”指 令后,该位清为”0”。 Bit 2 (Z): 零标志位 Bit 1 (DC): 辅助进位标志 Bit 0 (C): 进位标志 6.1.5 R4/RSR (RAM选择寄存器) (地址: 04h) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 RBS1 RBS0 RSR5 RSR4 RSR3 RSR2 RSR1 RSR0 Bits 7 ~ 6 (RBS1 ~ RBS0): 用来决定4个BANK中哪一个处于激活状态。 8• 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 数据存储器组成见图. 6-2。用户可以通过“BANK”指令(例如 BANK 1)来改变BANK。 Bits 5 ~ 0 (RSR5 ~ RSR0): 在间接寻址方式中用来选择64个寄存器(地址: 00~3F),如 果不作为间接寻址使用,RSR也可被用作8位通用读/写寄存器。 6.1.6 R5/Port 5 (Port 5 I/O数据和寄存器页面选择) (地址: 05h) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 R57 R56 R55 R54 − − − IOCPAGE Bits 7~4: 4位Port5双向I/O寄存器 用户可使用IOC50寄存器来设置各位是作为输入或输出状态。 Bits 3~1: 未使用 Bit 0 (IOCPAGE): 改变IOC5~IOCF到另一页面 IOCPAGE = “0” : 页 0 (选择寄存器:IOC 50 ~ IOC F0) IOCPAGE = “1” : 页 1 (选择寄存器:IOC 61 ~ IOC E1) 6.1.7 R6/Port 6 (Port 6 I/O数据寄存器) (地址: 06h) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 R67 R66 R65 R64 R63 R62 R61 R60 Bits 7~0: Port6的8位双向I/O寄存器 用户可使用IOC60寄存器来设置各个IO位作为输入或者输出状态。 6.1.8 R7/Port 7 (Port 7I/O数据寄存器) (地址: 07h) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 R77 R76 R75 R74 R73 R72 R71 R70 Bits 7~0: P7的8位双向I/O寄存器 用户可使用IOC70寄存器来设置各个IO位作为输入或者输出状态。 6.1.9 R8/Port 8 (Port 8 I/O数据寄存器) (地址: 08h) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 R87 R86 R85 R84 R83 R82 R81 R80 Bits 7~0: Port8的8位双向I/O寄存器 用户可使用IOC80寄存器来设置各个IO位作为输入或者输出状态。 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) •9 EM78P468N/L 8位OTP微控制器 6.1.10 R9/LCDCR (LCD控制寄存器) (地址: 09h) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 BS DS1 DS0 LCDEN -- LCDTYPE LCDF1 LCDF0 Bit 7 (BS): LCD 偏压选择位 BS = “0”: 1/2 偏压 BS = “1”: 1/3 偏压 Bit 6 ~ 5 (DS1 ~ DS0): LCD 占空比选择位 DS1 DS0 LCD 占空比 0 0 1/2 占空比 0 1 1/3 占空比 1 × 1/4 占空比 Bit 4 (LCDEN): LCD 使能位 LCDEN = “0”: LCD电路关闭。所有公共驱动/段输出设置为低电平。 LCDEN = “1”: LCD电路打开 Bit 3: 未使用 Bit 2 (LCDTYPE): LCD的驱动波形类型选择位 LCDTYPE = “0” : A类波形 LCDTYPE = “1” : B类波形 Bits 1 ~ 0 (LCDF1 ~ LCDF0): LCD帧频控制位 LCDF1 LCDF0 0 LCD 帧频(例. Fs=32.768kHz) 1/2 占空比 1/3 占空比 1/4 占空比 0 Fs/(256×2)=64.0 Fs/(172×3)=63.5 Fs/(128×4)=64.0 0 1 Fs/(280×2)=58.5 Fs/(188×3)=58.0 Fs/(140×4)=58.5 1 0 Fs/(304×2)=53.9 Fs/(204×3)=53.5 Fs/(152×4)=53.9 1 1 Fs/(232×2)=70.6 Fs/(156×3)=70.0 Fs/(116×4)=70.6 注: Fs: 副频振荡频率 6.1.11 RA/LCD_ADDR (LCD地址寄存器) (地址: 0Ah) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 0 0 LCD_A4 LCD_A3 LCD_A2 LCD_A1 LCD_A0 Bits 7~5: 未使用, 固定为“0” Bits 4~0 (LCDA4 ~ LCDA0): LCD RAM地址 10 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 RB (LCD 数据缓存器) RA (LCD 地址) Bit 3 Bit 2 Bit 1 Bit 0 Bits 7 ~4 (LCD_D3) (LCD_D2) (LCD_D1) (LCD_D0) 段 00H − − − − − SEG0 01H − − − − − SEG1 02H − − − − − SEG2 | | | 1DH − − − − − SEG29 1EH − − − − − SEG30 1FH − − − − − SEG31 COM3 COM2 COM1 COM0 × COM. 6.1.12 RB/LCD_DB (LCD数据缓存器) (地址: 0Bh) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 − − − − LCD_D3 LCD_D2 LCD_D1 LCD_D0 Bit 1 Bit 0 CNT2EN CNT1EN Bits 7~4: 未使用 Bits 3~0 (LCD_D3 ~ LCD_D0) : LCD RAM数据传输寄存器 6.1.13 RC/CNTER (计数器使能寄存器) (地址: 0Ch) Bit 7 Bit 6 Bit 5 Bit 4 − − − − Bit 3 Bit 2 LPWTEN HPWTEN Bits 7, 5: 未使用, 必须固定为“0” Bits 6, 4: 未使用 Bit 3 (LPWTEN): 低电平脉宽定时器使能控制位 LPWTEN = “0” : 禁止LPWT. 停止计数操作 LPWTEN = “1” : 使能LPWT. 开始计数操作 Bit 2 (HPWTEN): 高电平脉宽定时器使能控制位 HPWTEN = “0” : 禁止HPWT. 停止计数操作 HPWTEN = “1” : 使能HPWT. 开始计数操作 Bit 1 (CNT2EN): 计数器2使能控制位 CNT2EN = “0” : 禁止计数器2,停止计数操作 CNT2EN = “1” : 使能计数器2,开始计数操作 Bit 0 (CNT1EN): 计数器1使能控制位 CNT1EN = “0” : 禁止计数器1,停止计数操作 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 11 EM78P468N/L 8位OTP微控制器 CNT1EN = “1” : 使能计数器1,开始计数操作 6.1.14 RD/SBPCR (系统时钟、驱动频率及PLL频率控制寄存器) (地址: 0Dh) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 − CLK2 CLK1 CLK0 IDLE BF1 BF0 CPUS Bit 7: 未使用 Bits 6 ~ 4 (CLK2 ~ CLK0): PLL模式(在代码选项中选择)时主时钟选择位 CLK2 CLK1 CLK0 主时钟 例 Fs=32.768K 0 0 0 Fs×130 4.26 MHz 0 0 1 Fs×65 2.13 MHz 0 1 0 Fs×65/2 1.065 MHz 0 1 1 Fs×65/4 532 kHz 1 × × Fs×244 8 MHz Bit 3 (IDLE): 低速模式使能位。该位决定执行“SLEP”指令后进入哪一种模式。 IDLE=“0”+SLEP 指令→休眠模式 IDLE=“1”+SLEP 指令→低速模式 *SLEP指令后面必须加 NOP 指令. 低速模式: IDLE 位 = “1” +SLEP 指令 + NOP 指令 例如: 休眠模式: IDLE 位 = “0” +SLEP 指令 + NOP 指令 Bits 2, 1 (BF1, 0): LCD驱动频率选择位以适应VLCD 2, 3驱动 BF1 BF0 驱动频率 0 0 Fs 0 1 Fs/4 1 0 Fs/8 1 1 Fs/16 Bit 0 (CPUS): CPU振荡源选择,当CPUS = 0时,CPU选择副振荡器,主振荡器停止工 作。 CPUS = “0”: 副频(Fs) CPUS = “1”: 主频(Fm) 12 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 CPU工作模式 代码选项 HLFS=1 复位 普通模式 代码选项 HLFS=0 fm:振荡 fs:振荡 当系统全速运行时,需要等待一小段时间, 让主振荡器稳定工作。 CPU: 使用 fosc CPUS="0" CPUS="1" IDLE="0" SLEP 休眠模式 Fm:停止 Fs: 停止 IDLE="1" SLEP 省电模式 fm:停止 fs: 振荡 CPU: 停止 唤醒 空闲模式 fm:停止 fs: 振荡 CPU: 使用 fs CPU: 停止 唤醒 从空闲 到省电模式唤醒时间为 16*1/fs 从休眠 到省电 模式唤醒时间 约为主振荡器建立时间+18ms+16*1/fs 图 6-3 CPU工作模式 6.1.15 RE/IRCR (IR&Port5引脚功能设置寄存器) (地址: 0Eh) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 IRE HF LGP − IROUTE TCCE EINT1 EINT0 Bit 7 (IRE): 红外发射使能位 IRE = “0”: 关闭红外发射或脉宽调制功能。P5.7/IROUT口的状态通过 IOC50的第7位来定义。 IRE = “1”: 使能红外发射或脉宽调制功能。 Bit 6 (HF): 高频载波控制位 HF = “0”: 选用PWM模式,禁止H/W调制功能。根据高电平脉宽定时器和 低电平脉宽定时器分别决定高低脉冲宽度,从而确定IROUT输 出波形。计数器2是一个独立的自动装载的定时器。 HF = “1”: 选用IR模式,使能H/W调制功能。产生脉冲的低电平时间由载 波频率来调制。载波频率由计数器2提供。 Bit 5 (LGP): IROUT低脉冲宽度定时器 LGP = “0”: 高电平脉宽定时寄存器和低电平脉宽定时器使能 LGP = “1”: 不使用高电平脉宽定时寄存器,IROUT波形仅由低电平脉宽 定时器决定。 Bit 4: 未使用 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 13 EM78P468N/L 8位OTP微控制器 Bit 3 (IROUTE): 定义P5.7/IROUT引脚的功能。 IROUTE = “0”: P5.7为双向I/O脚。 IROUTE = “1”: IR/PWM输出功能。I/O控制寄存器中的P5.7(IOC50中第 7位)必须设置为”0”。 Bit 2 (TCCE): 定义 P5.6/TCC 引脚功能。 TCCE = “0”: P5.6为双向I/O引脚。 TCCE = “1”: 外部TCC输入。I/O控制寄存器中的P5.6(IOC50中第6位) 必须置”1”。 Bit 1 (EINT1): 定义 P55/INT1 引脚的功能 EINT1 = “0”: P5.5为双向I/O脚。 EINT1 = “1”: 外部中断INT1引脚。I/O控制寄存器中的P5.5(IOC50中第5 位)必须置”1”。 Bit 0 (EINT0) : 定义 P5.4/INT0 引脚的功能。 EINT0 = “0”: P5.4为双向通用I/O脚。 EINT0 = “1”: 外部中断INT0引脚。I/O控制寄存器中的P5.4(IOC50中第4 位)必须置”1”。 6.1.16 RF/ISR (中断状态寄存器) (地址: 0Fh) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 ICIF LPWTF HPWTF CNT2F CNT1F INT1F INT0F TCIF 当中断发生时这些位分别置“1”。 Bit 7 (ICIF): Port 6, Port 8,输入状态改变中断标志位,当Port 6,Port 8输入改变时置”1”。 Bit 6 (LPWTF): 内部低电平脉宽定时器下溢标志位。 Bit 5 (HPWTF): 内部高电平脉宽定时器下溢标志位。 Bit 4 (CNT2F): 内部计数器2下溢标志位。 Bit 3 (CNT1F): 内部计数器1下溢标志位。 Bit 2 (INT1F): 外部INT1引脚中断标志位。 Bit 1 (INT0F): 外部INT0引脚中断标志位。 Bit 0 (TCIF): TCC定时溢出标志位,当TCC溢出时置”1”。 6.1.17 地址: 10h~3Fh; R10~R3F (通用寄存器) R10~R31F 和 R20~R3F (Banks 0~3) 是通用寄存器。 14 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 6.2 特殊功能寄存器 6.2.1 A (累加器) A累加器的暂存功能通常用于内部数据传输或指令操作数的暂存,是一个不可寻址的寄 存器。 IOC Page 0的寄存器 (IOC50 ~ IOCF0, R5的第0位 = “0”) 6.2.2 IOC50/P5CR (Port 5 I/O& Port 7、P8,LCD段控制寄存器) (地址: 05h, R5的第0位 = “0”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 IOC57 IOC56 IOC55 IOC54 P8HS P8LS P7HS P7LS Bits 7~4 (IOC57~54): Port 5 I/O方向控制寄存器。 IOC5x = “0”: 设置相关I/O引脚P5.x作为输出口 IOC5x = “1”: 设置相关I/O引脚P5.x呈高阻状态(作为输入口) Bit 3 (P8HS): 当SEGxx/P8.x 引脚共用,切换该字节高四位是作为Port 8 I/O还是作为 LCD的段输出。 P8HS = “0”: 选择Port 8的高4位P8.4~P8.7作为一般I/O口。 P8HS = “1”: 选择作为LCD的段输出(SEG28~SEG31)。 Bit 2 (P8LS): 当SEGxx/P8.x 引脚共用,切换该字节低四位是作为P8 I/O还是作为LCD 的段输出。 P8LS = “0”: 选择Port 8的低4位选择P8.0~P8.3作为一般I/O口。 P8LS = “1”: 选择作为LCD的段输出(SEG24~SEG27)。 Bit 1 (P7HS): 当SEGxx/P7.x 引脚共用,切换该字节高四位是作为P7 I/O还是作为LCD 的段输出。 P7HS = “0”: 选择Port 8的高4位P7.4~P7.7作为一般I/O口 P7HS = “1”: 选择作为LCD的段输出(SEG20~SEG23)。 Bit 0 (P7LS): 当SEGxx/P7.x 引脚共用,切换该字节低四位是作为P7 I/O还是作为LCD 的段输出。 P7LS = “0”: 选择Port 7的低4位P7.0~P7.3作为一般I/O口。 P7LS = “1”: 选择作为LCD的段输出(SEG16~SEG19)。 6.2.3 IOC60/P6CR (Port 6 I/O控制寄存器) (地址: 06h, R5的第0位 = “0”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 IOC67 IOC66 IOC65 IOC64 IOC63 IOC62 IOC61 IOC60 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 15 EM78P468N/L 8位OTP微控制器 Bit 7 (IOC67) ~ Bit 0(IOC60): Port I/O方向控制寄存器 IOC6x =”0”: 设置相关I/O引脚P6.x作为输出 IOC6x =”1”: 设置相关I/O引脚P6.x呈高阻状态(作为输入口) 6.2.4 IOC70/P7CR (Port 7 I/O控制寄存器) (地址: 07h, R5的第0位 = “0”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 IOC77 IOC76 IOC75 IOC74 IOC73 IOC72 IOC71 IOC70 Bit 7 (IOC77) ~ Bit 0 (IOC70): Port 7 I/O方向控制寄存器 IOC7x = “0”: 设置相关I/O引脚P7.x作为输出 IOC7x = “1”: 设置相关I/O引脚P7.x呈高阻状态(作为输入口) 6.2.5 IOC80/P8CR (Port 8 I/O控制寄存器) (地址: 08h, R5的第0位 = “0”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 IOC87 IOC86 IOC85 IOC84 IOC83 IOC82 IOC81 IOC80 Bit 7 (IOC 87) ~ Bit 0 (IOC 80): P8 I/O方向控制寄存器 IOC8x = “0”: 设置相关I/O引脚P8.x作为输出 IOC8x = “1”: 设置相关I/O引脚P8.x呈高阻状态(作为输入口) 6.2.6 IOC90/RAM_ADDR (128字节RAM地址) (地址: 09h, R5的第0位 = “0”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 RAM_A6 RAM_A5 RAM_A4 RAM_A3 RAM_A2 RAM_A1 RAM_A0 Bit 7: 未使用, 固定为“0” Bits 6~0: 128字节RAM地址 6.2.7 IOCA0/RAM_DB (128字节RAM数据缓存器) (地址: 0Ah, R5的第0位 = “0”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 RAM_D7 RAM_D6 RAM_D5 RAM_D4 RAM_D3 RAM_D2 RAM_D1 RAM_D0 Bits 7~0: 128字节RAM数据传输寄存器 16 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 6.2.8 IOCB0/CNT1PR (计数器1预设值寄存器) (地址: 0Bh, R5的第0位 = “0”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit 7 ~ Bit 0: 八位递减计数器1的缓存器,可供用户读写其预设初值。它的预分频比是 通过IOC91寄存器来设置的。中断产生后,将自动装载预设初值。 6.2.9 IOCC0/CNT2PR (计数器2预设值寄存器) (地址: 0Ch, R5的第0位 = “0”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit 7 ~ Bit 0: 八位递减计数器2的缓存器,可供用户读写其预设初值。它的预分频比是 通过IOC91 寄存器来设置的。中断产生后,自动装载预设初值。 当使能红外发射输出时,设置该控制寄存器可以获得载波频率输出。 如果计数器2的时钟频率等于FT ,则: 载波频率(Fcarrier) = FT 2 × (预设值 + 1) × 预分频比 6.2.10 IOCD0/HPWTPR (高电平脉宽定时器预设值寄存器) (地址: 0Dh, R5的第0位 = “0”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit 7 ~ Bit 0: 可读写的高电平脉宽定时器缓冲器,它是八位递减的计数器,用户可以通 过IOCD0来预设初值并且可读取该值。它的预分频比是通过IOCA1 寄存 器来设置的。中断产生后,自动装载预设初值。 在PWM或IR应用中,该寄存器用来设置高电平脉宽。如果高电平脉宽时钟源频率为FT , 则: 高电平宽度 = 预分频比 × (预设值 + 1) FT 6.2.11 IOCE0/LPWTPR (低电平脉宽定时器预设值寄存器) (地址: 0Eh, R5的第0位 = “0”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 17 EM78P468N/L 8位OTP微控制器 Bit 7 ~ Bit 0: 可读写的低电平脉宽定时器缓冲器,它是八位递减的计数器,用户可以通 过IOCE0来预设初值并且可读取该值。它的预分频比是通过IOCA1 寄存 器来设置的。中断产生后,自动装载预设初值。 在PWM或IR应用中,该寄存器用来设置低电平脉宽。如果低电平脉宽时钟源频率为FT 则: 低电平宽度 = 预分频比 × (预设值 + 1) FT 6.2.12 IOCF0/IMR (中断屏蔽寄存器) (地址: 0Fh, R5的第0位 = “0”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 ICIE LPWTE HPWTE CNT2E CNT1E INT1E INT0E TCIE Bit 7 ~ Bit 0: 中断使能位。 0: 禁止中断 1: 使能中断 IOCF0为可读写寄存器。 IOC Page 1的寄存器 (IOC61 ~ IOCE1, R5的第0位 = “1”) 6.2.13 IOC61/WUCR (唤醒和 P5.7/IROUT灌电流控制寄存器) (地址: 06h, R5的第0位 = “1”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 IROCS -- -- -- /WUE8H /WUE8L /WUE6H /WUE6L Bit 7: IROCS: IROUT/Port 5.7输出灌电流设置 IROCS P5.7/IROUT 灌电流 VDD=5V VDD=3V 0 10 mA 6 mA 1 20 mA 12 mA Bits 6, 5, 4: 未使用 Bit 3 (/WUE8H): 0/1→使能/禁止P8.4~P8.7状态改变唤醒功能。 Bit 2 (/WUE8L): 0/1 →使能/禁止P8.0~P8.3状态改变唤醒功能。 Bit 1 (/WUE6H): 0/1 →使能/禁止P6.4~P6.7状态改变唤醒功能。 Bit 0 (/WUE6L): 0/1 →使能/禁止P6.0~P6.3状态改变唤醒功能。 *当唤醒功能使能的时候,Port 6 和 Port 8 输入不能处于悬空状态. 唤醒功能初始为使 能状态。 18 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 6.2.14 IOC71/TCCCR (TCC控制寄存器) (地址: 07h, R5的第0位 = “1”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 INT_EDGE INT TS TE PSRE TCCP2 TCCP1 TCCP0 Bit 7 (INT_EDGE): INT_EDGE = “0”: P5.4/INT0引脚在上升沿触发中断。 INT_EDGE = “1”: P5.4/INT0引脚在下升沿触发中断。 Bit 6 (INT): INT中断使能标志位,该位只读 INT = “0”: 由指令DISI或硬件中断将该位清”0”来屏蔽中断。 INT = “1”: ENI或RETI指令将该位置”1”来开中断。 Bit 5 (TS): TCC信号源选择位 TS = “0”: 内部指令周期时钟作为TCC时钟源 TS = “1”: TCC脚输入的外部信号作为TCC时钟源-,TCC周期大于内部指 令时钟周期。 Bit 4 (TE): TCC信号沿 TE = “0”: TCC脚信号上升沿加1 TE = “1”: TCC脚信号下降沿加1 Bits 3~0 (PSRE, TCCP2 ~ TCCP0): TCC预分频比选择位 PSRE TCCP2 TCCP1 TCCP0 TCC 预分频比 0 × × × 1:1 1 0 0 0 1:2 1 0 0 1 1:4 1 0 1 0 1:8 1 0 1 1 1:16 1 1 0 0 1:32 1 1 0 1 1:64 1 1 1 0 1:128 1 1 1 1 1:256 6.2.15 IOC81/WDTCR (WDT控制寄存器) (地址: 08h, R5的第0位 = “1”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 − − − − WDTE WDTP2 WDTP1 WDTP0 Bits 7 ~ 4: 未使用 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 19 EM78P468N/L 8位OTP微控制器 Bit 3 (WDTE): 看门狗定时器使能位。该控制位用于使能看门狗定时器。 WDTE = “0”: 关闭WDT功能 WDTE = “1”: 使能WDT功能 Bits 2 ~ 0 (WDTP2 ~ WDTP0): 看门狗定时器预分频比选择位,WDT时钟源是副频频 率。 WDTP2 WDTP1 WDTP0 WDT 预分频比 0 0 0 1:1 0 0 1 1:2 0 1 0 1:4 0 1 1 1:8 1 0 0 1:16 1 0 1 1:32 1 1 0 1:64 1 1 1 1:128 6.2.16 IOC91/CNT12CR (计数器1、2的控制寄存器) (地址: 09h, R5的第0位 = “1”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 CNT2S CNT2P2 CNT2P1 CNT2P0 CNT1S CNT1P2 CNT1P1 CNT1P0 Bit 7(CNT2S): 计数器2时钟源选择位 “0”: Fs (Fs: 副频时钟) “1”: Fm (Fm: 主频时钟) Bits 6~4 (CNT2P2 ~ CNT2P 0): 计数器2预分频比选择位 CNT2P2 CNT2P1 CNT1P0 计数器 2 预分频比 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 3 (CNT1S): 计数器1时钟源选择位 “0”: Fs (Fs: 副频时钟) “1”: Fm (Fm: 主频时钟) Bits 2~0 (CNT1P2 ~ CNT1P20): 计数器1预分频比选择位 20 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 CNT1P2 0 0 0 0 1 1 1 1 CNT1P1 0 0 1 1 0 0 1 1 CNT1P0 0 1 0 1 0 1 0 1 计数器 1 预分频比 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256 6.2.17 IOCA1/HLPWTCR (高/低电平脉宽定时器控制寄存器) (地址: 0Ah, R5的第0位 = “1”) Bit 7 LPWTS Bit 6 LPWTP2 Bit 5 LPWTP1 Bit 4 LPWTP0 Bit 3 HPWTS Bit 2 HPWTP2 Bit 1 HPWTP1 Bit 0 HPWTP0 Bit 7 (LPWTS): 低电平脉宽定时器时钟源选择位 “0”: Fs (Fs: 副频时钟) “1”: Fm (Fm: 主频时钟) Bits 6~4 (LPWTP2~ LPWTP0): 低电平脉宽定时器预分频比选择位 LPWTP2 0 0 0 0 1 1 1 1 LPWTP1 0 0 1 1 0 0 1 1 LPWTP0 0 1 0 1 0 1 0 1 低电平脉宽定时器预分频比 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256 Bit 3 (HPWTS): 高电平脉宽定时器时钟源选择位 “0”: Fs (Fs: 副频时钟) “1”: Fm (Fm: 主频时钟) Bits 2~0 (HPWTP2~ HPWTP0): 高电平脉宽定时器预分频比选择位 HPWTP2 0 0 0 0 1 1 1 1 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) HPWTP1 0 0 1 1 0 0 1 1 HPWTP0 0 1 0 1 0 1 0 1 高电平脉宽定时器预分频比 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256 • 21 EM78P468N/L 8位OTP微控制器 6.2.18 IOCB1/P6PH (Port 6上拉控制寄存器) 地址: 0Bh, R5的第0位 = “1”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 PH67 PH66 PH65 PH64 PH63 PH62 PH61 PH60 Bit 7 ~ Bit 0 (PH67 ~ PH60): Port 6上拉使能控制位 PH6x = “0”: 禁止 P6.x 内部上拉电阻功能 PH6x = “1”: 使能 P6.x 内部上拉电阻功能 6.2.19 IOCC1/P6OD (Port 6漏极开路控制寄存器) (地址: 0Ch, R5的第0位 = “1”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 OP67 OP66 OP65 OP64 OP63 OP62 OP61 OP60 Bit 7 ~ Bit 0: Port 6漏极开路使能控制位 OD6x = “0”: 禁止 P6.x 漏极开路功能 OD6x = “1”: 使能 P6.x 漏极开路功能 6.2.20 IOCD1/P8PH (Port 8上拉控制寄存器) (地址: 0Dh, R5的第0位 = “1”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 PH87 PH86 PH85 PH84 PH83 PH82 PH81 PH80 Bit 7 ~ Bit 0: Port 8上拉使能控制位 PH8x = “0”: 禁止 P8.x 内部上拉电阻功能 PH8x = “1”: 使能 P8.x 内部上拉电阻功能 6.2.21 IOCE1/P6PL (Port 6下拉控制寄存器) (地址: 0Eh, R5的第0位 = “1”) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 PL67 PL66 PL65 PL64 PL63 PL62 PL61 PL60 Bit 7 ~ Bit 0: Port 6端口下拉使能控制位 PL6x = “0”: 禁止 P6.x 内部下拉电阻功能 PL6x = “1”: 使能 P6.x 内部下拉电阻功能 22 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 6.3 TCC/WDT预分频器 TCC(定时器)及WDT(看门狗定时器)都是一个8位带有预分频器的定时器。IOC71 中的TCCP0~TCCP2位来设置TCC预分频比。同样,IOC81中的WDTP0~WDTP2位来 设置WDT预分频比。WDT和其预分频比被WDTC、SLEP指令清零,图7描述了TCC/WDT 的电路图。 R1(TCC)是8位定时/计数器。TCC时钟源可以是内部指令时钟或外部信号输入(触发 沿可通过TCC控制寄存器选择)。如果是内部指令时钟,每个指令周期TCC加1(预分 频比为1:1)。如果TCC的信号源来自于外部时钟输入,则TCC引脚信号在每个下降沿 或上升沿时TCC加1。 WDT基于副频自由运行。当控制振荡驱动器关闭后,WDT还在继续运行。当芯片工作 在普通模式、省电模式或低速模式时,WDT溢出时将引起芯片复位(若WDT使能)。 在普通模式和省电模式下的任何时间里,WDT可以由软件设置使能或关闭。参考IOC81 寄存器的WDTE位设置。WDT溢出时间等于预分频比*256/ (Fs/2)。 数据总线 指令时钟 = Fosc /2 Fosc: CPU 工作频率 TCC 引脚 TCC (R1) 多路选 择器 (MUX) 预分频器 PSRE TCCP2~0 (IOC71) (IOC71) TE (IOC71) 8 选 1 多路选择器(MUX) TCC 溢出中断 TS (IOC71) 图 6-4(a) TCC结构框图 WDT 8 位计数器 WDTE (IOC81) 8 选 1 多路选择器(MUX) WDT 时间溢出 预分频器 Fs/2 (Fs:副频) WDTP2~0 (IOC81) 图 6-4(b) WDT结构框图 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 23 EM78P468N/L 8位OTP微控制器 WDT 设置流程图 开始 否 使用 WDT 功能? 是 使能 WDT 功能:设置代码选项 Word 0 的第 7 位为 "0" 设置 WDT 预分频比 (IOC81 寄存器) 禁止 WDT 功能,设置代码选项 Word 0 的第 7 位为"1" WDT 时间= 预分频比*256/ (Fs/2) Fs: 副频频率 使能 WDT (IOC81 的第 3 位) 结束 TCC 设置流程图 开始 来自外部输入 来自指令周期 TCC 时钟源? 外部/指令周期 *设置时钟源来自外部 TCC 引脚 (设置 IOC71 的第 4 位为"1") *选择 TCC 时钟源来自指令周期 (设置 IOC71 的第 4 位为"0") *设置 P5.6/TCC 作为 TCC 输入引脚 ( 设置 RE 的第 2 位为"1",设置 IOC50 第 6 位为"1") *选择 TCC 的预分频比 (通过设置 IOC71 的第 0 位到第 3 位) *选择 TCC 引脚触发沿 (通过 IOC71 的第 4 位) *选择 TCC 预分频比 (通过设置 IOC71 的第 0 位到第 3 位) *使能 TCC 中断屏蔽位 (设置 IOCF0 的第 0 位为"1") *清 TCC 中断标志位 (设置 RF 的第 0 位为"0") 使能 TCC 开始计数 (执行 ENI 指令) 结束 24 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 6.4 I/O Ports I/O寄存器(Port 5, Port 6, Port 7 and Port 8)都是双向三态I/O口。Port 6和Port 8均可由 软件设置内部上拉,另外Port 6还可由软件设置内部下拉。同样,端口6通过软件可设置 为漏极开路输出。Port 6和Port 8有在输入状态改变中断(或唤醒)的特性,而且由软件 可设置上拉为高电平。各I/O引脚都可由I/O控制寄存器(IOC5~IOC8)定义为“输入”或“输 出”。I/O寄存器和I/O控制寄存器都可读写。I/O接口电路如图. 6-5所示。 注:图中没有显示漏极开路、上拉、下拉部分的电路 图 6-5 Port 5 ~ 8的I/O端口和I/O控制寄存器的电路 6.5 复位和唤醒 复位由下面情况引起: 上电复位 WDT溢出(如果使能) 复位引脚输入低电平 注意:复位电路一直处于使能状态。当电压降到1.9V,CPU将产生复位。 一旦复位发生,单片机将会执行以下功能: 振荡器正在运行或即将运行 程序计数器(R2/PC)清零 所有的I/O引脚定义为输入模式(高阻状态) TCC/WDT定时器和预除器清零 上电时,R3的第5, 6位和R4的高两位被清零 IOC71寄存器除第6位(INT标志位)均被清零 其它寄存器状态如表2所示 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 25 EM78P468N/L 8位OTP微控制器 表 2 寄存器初始值概述 地址 寄存器名 0x05 IOC50 (P5CR) 0x06 0x07 IOC60 (P6CR) IOC70 (P7CR) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 位名 IOC57 IOC56 IOC55 IOC54 P8HS P8LS P7HS P7LS 上电 1 1 1 1 0 0 0 0 /RESET & WDT 引脚输入改变唤醒 1 1 1 1 0 0 0 0 P P P P P P P P 位名 IOC67 IOC66 IOC65 IOC64 IOC63 IOC62 IOC61 IOC60 上电 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 位名 IOC77 IOC76 IOC75 IOC74 IOC73 IOC72 IOC71 IOC70 上电 1 1 1 1 1 1 1 1 /RESET & WDT 引脚输入改变唤醒 1 1 1 1 1 1 1 1 复位类型 位名 0x08 0x09 IOC80 (P8CR) 0x0B 0x0C 0x0D IOCB0 (CNT1PR) IOCC0 (CNT2PR) IOCD0 (HPWTPR) IOCE0 (LPWTPR) 0x06 26 • IOCF0 (IMR) IOC61 (WUCR) P P P P IOC83 IOC82 IOC81 IOC80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 P P P P P P P P 位名 X RAM_A6 RAM_A5 RAM_A4 RAM_A3 RAM_A2 RAM_A1 RAM_A0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P P P P P P P P RAM_D7 RAM_D6 RAM_D5 RAM_D4 RAM_D3 RAM_D2 RAM_D1 RAM_D0 上电 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 位名 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 上电 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 位名 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 上电 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 位名 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 上电 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 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 上电 0 0 0 0 0 0 0 0 /RESET & WDT 引脚输入改变唤醒 0 0 0 0 0 0 0 0 P P P 位名 0x0F P IOC84 1 位名 0x0E P IOC85 上电 IOC90 上电 (RAM_ADDR /RESET & WDT ) 引脚输入改变唤醒 IOCA0 (RAM_DB) P IOC86 /RESET & WDT 引脚输入改变唤醒 位名 0x0A P IOC87 P ICIE LPWTE HPWTE CNT2E P P P P CNT1E INT1E INT0E TCIE 上电 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 位名 IROCS X X X 上电 0 U U U /WUE8H /WUE8L /WUE6H /WUE6L 0 0 0 0 /RESET & WDT 引脚输入改变唤醒 0 U U U 0 0 0 0 P U U U P P P P 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 地址 寄存器名 0x07 IOC71 (TCCCR) 0x08 IOC81 (WDTCR) 0x09 0x0A IOC91 (CNT12CR) IOCA1 (HLPWTCR) 0x0B IOCB1 (P6PH) 0x0C IOCC1 (P6OD) 0x0D IOCD1 (P8PH) 0x0E IOCE1 (P6PL) 0x00 R0 (IAR) 0x01 R1 (TCC) 0x02 R2 (PC) 0x03 R3 (SR) 0x04 R4 (RSR) 复位类型 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 位名 INT_EDGE INT TS TE PSRE TCCP2 TCCP1 上电 1 0 1 1 1 1 1 /RESET & WDT 1 0 1 1 1 1 1 引脚输入改变唤醒 P P P P P P P 位名 X X X X WDTE WDTP2 WDTP1 上电 U U U U 0 1 1 /RESET & WDT U U U U 0 1 1 引脚输入改变唤醒 U U U U P P P 位名 CNT2S CNT2P2 CNT2P1 CNT2P0 CNT1S CNT1P2 CNT1P1 上电 0 0 0 0 0 0 0 /RESET & WDT 0 0 0 0 0 0 0 引脚输入改变唤醒 P P P P P P P 位名 LPWTS LPWTP2 LPWTP1 LPWTP0 HPWTS HPWTP2 HPWTP1 上电 0 0 0 0 0 0 0 /RESET & WDT 0 0 0 0 0 0 0 引脚输入改变唤醒 P P P P P P P 位名 PH67 PH66 PH65 PH64 PH63 PH62 PH61 上电 0 0 0 0 0 0 0 /RESET & WDT 0 0 0 0 0 0 0 引脚输入改变唤醒 P P P P P P P 位名 OP67 OP66 OP65 OP64 OP63 OP62 OP61 上电 0 0 0 0 0 0 0 /RESET & WDT 0 0 0 0 0 0 0 引脚输入改变唤醒 P P P P P P P 位名 PH87 PH86 PH85 PH84 PH83 PH82 PH81 上电 0 0 0 0 0 0 0 /RESET & WDT 0 0 0 0 0 0 0 引脚输入改变唤醒 P P P P P P P 位名 PL67 PL66 PL65 PL64 PL63 PL62 PL61 上电 0 0 0 0 0 0 0 /RESET & WDT 0 0 0 0 0 0 0 引脚输入改变唤醒 P P P P P P P 位名 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 上电 U U U U U U U /RESET & WDT P P P P P P P 引脚输入改变唤醒 P P P P P P P 位名 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 上电 0 0 0 0 0 0 0 /RESET & WDT 0 0 0 0 0 0 0 引脚输入改变唤醒 P P P P P P P 位名 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 上电 0 0 0 0 0 0 0 /RESET & WDT 0 0 0 0 0 0 0 引脚输入改变唤醒 跳转到地址 0x0018 或者继续执行下一条指令 位名 X PS1 PS0 T P Z DC 上电 U 0 0 1 1 U U /RESET & WDT U 0 0 t t P P 引脚输入改变唤醒 U P P t t P P 位名 Bank 1 Bank 0 − − − − − 上电 0 0 U U U U U /RESET & WDT 0 0 P P P P P 引脚输入改变唤醒 P P P P P P P 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) Bit 0 TCCP0 1 1 P WDTP0 1 1 P CNT1P0 0 0 P HPWTP0 0 0 P PH60 0 0 P OP60 0 0 P PH80 0 0 P PL60 0 0 P Bit 0 U P P Bit 0 0 0 P Bit 0 0 0 C U P P − U P P • 27 EM78P468N/L 8位OTP微控制器 地址 0x05 0x06 0x7 0x8 0x9 0xA 0xB 0xC 0xD 0xE 0xF 0x10 ~ 0x3F 寄存器名 复位类型 位名 上电 R5 (Port 5) /RESET & WDT 引脚输入改变唤醒 位名 上电 R6 (Port 6) /RESET & WDT 引脚输入改变唤醒 位名 上电 R7 (Port 7) /RESET & WDT 引脚输入改变唤醒 位名 上电 R8 (Port 8) /RESET & WDT 引脚输入改变唤醒 位名 上电 R9 (LCDCR) /RESET & WDT 引脚输入改变唤醒 位名 上电 RA (LCD_ADDR) /RESET & WDT 引脚输入改变唤醒 位名 上电 RB (LCD_DB) /RESET & WDT 引脚输入改变唤醒 位名 上电 RC (CNTER) /RESET & WDT 引脚输入改变唤醒 位名 上电 RD (SBPCR) /RESET & WDT 引脚输入改变唤醒 位名 上电 RE (IRCR) /RESET & WDT 引脚输入改变唤醒 位名 上电 RF (ISR) /RESET & WDT 引脚输入改变唤醒 位名 上电 R10~R3F /RESET & WDT 引脚输入改变唤醒 Bit 7 R57 1 1 P R67 1 1 P R77 1 1 P R87 1 1 P BS 1 1 P X 0 0 P X U U U X 0 0 P X U U U IRE 0 0 P ICIF 0 0 N Bit 7 U P P Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 R56 R55 R54 X X 1 1 1 U U 1 1 1 U U P P P U U R66 R65 R64 R63 R62 1 1 1 1 1 1 1 1 1 1 P P P P P R76 R75 R74 R73 R62 1 1 1 1 1 1 1 1 1 1 P P P P P R86 R85 R84 R83 R82 1 1 1 1 1 1 1 1 1 1 P P P P P LCDTYPE DS1 DS0 LCDEN X 1 0 0 U 0 1 0 0 U 0 P P P U P X X LCD_A4 LCD_A3 LCD_A2 0 0 0 0 0 0 0 0 0 0 P P P P P LCD_D 3 LCD_D 2 X X X U U U U U U U U P P U U U P P LPWTEN HPWTEN X X X 1 0 0 0 0 1 0 0 0 0 P 0 P P P CLK2 CLK1 CLK0 IDLE BF1 0 0 0 1 0 0 0 0 1 0 P P P P P HF LGP X IROUTE TCCE 0 0 U 0 0 0 0 U 0 0 P P U P P LPWTF HPWTF CNT2F CNT1F INT1F 0 0 0 0 0 0 0 0 0 0 P P P P P Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 U U U U U P P P P P P P P P P Bit 1 Bit 0 IOCPAGE X U 0 U 0 U P R61 R60 1 1 1 1 P P R71 R70 1 1 1 1 P P R81 R80 1 1 1 1 P P LCDF1 LCDF0 0 0 0 0 P P LCD_A1 LCD_A0 0 0 0 0 P P LCD_D 1 LCD_D 0 U P P U P P CNT2EN CNT1EN 0 0 P BF0 0 0 P EINT1 0 0 P INT0F 0 0 P Bit 1 U P 0 0 P CPUS *1 *1 P EINT0 0 0 P TCIF 0 0 P Bit 0 U P P P 注: 此位与代码选项的HLFS位的数据相同 符号: “×” = 未使用 “−” = 未定义 “P” =复位前的值 “t” = 对照R3寄存器的说明 “u” = 不确定的或不考虑“N” = 监视中断操作状态 28 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 单片机能够从休眠和低速模式下被唤醒,唤醒信号如下: 唤醒信号 TCC 时间溢出 IOCF0 位 0=1 INT0 引脚 IOCF0 位 1=1 INT1 引脚 IOCF0 位 2=1 计数器 1 IOCF0 位 3=1 计数器 2 IOCF0 位 4=1 高电平脉宽定时器 IOCF0 位 5=1 低电平脉宽定时器 IOCF0 位 6=1 休眠模式 × × 唤醒 唤醒 + 中断 + 中断 + 下一条指令 + 下一条指令 唤醒 唤醒 + 中断 + 中断 + 下一条指令 + 下一条指令 + 中断 (产品更新后规格书不保证同步更新) 普通模式 中断 中断 中断 中断 中断 中断 中断 中断 中断 中断 中断 中断 中断 中断 × × × × 复位 复位 + 下一条指令 唤醒 × + 中断 + 下一条指令 唤醒 × + 中断 + 下一条指令 唤醒 × + 中断 + 下一条指令 唤醒 Port 6, Port 8 (输入状态改变唤醒) + 中断 IOCF0 位 7 = “1” + 下一条指令 版本号 (V1.6) 12.31.2007 省电模式 唤醒 × Port 6, Port 8 唤醒 (输入状态改变唤醒) + 下一条指令 IOCF0 位 7 = “0” WDT 时间溢出 低速模式 × 唤醒 + 下一条指令 唤醒 + 中断 + 下一条指令 复位 • 29 EM78P468N/L 8位OTP微控制器 6.6 振荡器 6.6.1 振荡器模式 EM78P468N/EM78P468L可以工作在三种不同的振荡模式: a.) 主振荡器(R-OSCI, OSCO), 如带外部电阻和内部电容模式ERIC的 RC振荡模式 b.) 晶振模式 c.) PLL工作模式(R-OSCI连接一个0.01uF的电容到地),用户通过设置代码选择寄存 器中FMMD1和FMMD0选择振荡模式。副振荡器可以工作在晶振和ERIC振荡模式。 表3列出了如何设置这三种振荡模式。 表 3 由FSMD, FMMD1, FMMD0定义的振荡模式 FSMD FMMD1 FMMD0 0 0 0 主时钟 副时钟 0 RC 类型 (ERIC) RC 类型 (ERIC) 0 1 晶振 类型 RC 类型 (ERIC) 0 1 × PLL 类型 RC 类型 (ERIC) 1 0 0 RC 类型 (ERIC) 晶振 类型 1 0 1 晶振 类型 晶振 类型 1 1 × PLL 类型 晶振 类型 表 4 最大工作频率 条件 VDD Fxt 最大值 (MHz) 2.3 4 3.0 8 5.0 10 2 个时钟周期 6.6.2 锁相环(PLL模式) 当运行在PLL模式,高频取决于副频,我们可以设置RD寄存器选择高频。高频(Fm)和副频 的关系如下表格: R-OSCI Cext C1 Xin EM78P468N Rs Xout C2 图 6-6 PLL模式电路 30 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 Bits 6~4 (CLK2~0)(RD): PLL模式下主频的选择位(由代码选项选择) CLK2 0 0 0 0 1 CLK1 0 0 1 1 × CLK0 0 1 0 1 × 例 Fs=32.768kHz 4.26 MHz 2.13 MHz 1.065 MHz 532kHz 8 MHz 主频 Fs × 130 Fs × 65 Fs × 65/2 Fs × 65/4 Fs × 244 6.6.3 晶体振荡器/陶瓷谐振器(晶振) EM78P468N/L可由R-OSCI引脚上的外部时钟驱动,如下图6-7所示。在大多数应用中, 引脚R-OSCO和OSCI上可接晶振和陶瓷谐振器来产生振荡,图6-8为其电路。表5列出 了C1和C2的推荐值。由于每个谐振器的特性不同,用户应当参考它的规格说明选择合 适的C1和C2。对于AT切片晶振和低频模式,需要串联电阻RS。 R-OSCI EM78P468N OSCO 图 6-7 外部时钟输入电路 C1 R-OSCI EM78P468N OSCO EM78P468N 晶振 Rs C2 C1 Xin Xout 晶振 Rs C2 图 6-8 晶振/谐振器电路 表 5 晶振振荡器或陶瓷振荡器的匹配电容选择参考 振荡源 振荡类型 频率 C1 (pF) C2 (pF) 陶瓷谐振器 455kHz 2.0 MHz 100~150 20~40 100~150 20~40 主频 晶振振荡器 副频 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) 晶振振荡器 4.0MHz 10~30 10~30 455kHz 20~40 20~150 1.0MHz 15~30 15~30 2.0MHz 4.0MHz 15 15 15 15 32.768kHz 25 25 • 31 EM78P468N/L 8位OTP微控制器 6.6.4 带内部电容的RC振荡模式 考虑到精度和成本问题,EM78P468N/L还提供了一种特殊的振荡模式,就是用一个片 内电容和一个外部上拉到VDD的电阻,内部电容起到温度补偿作用。为了得到更高的精 确度,建议选用高精度的电阻。 VDD Rext R-OSCI or Xin EM78P468N 图 6-9 内部电容振荡器模式电路 表 6 RC振荡器频率 引脚 R-OSCI Xin 阻值 平均频率(5V, 25°C) 平均频率(3V, 25°C) 51k 2.2221 MHz 2.1972 MHz 100k 1.1345 MHz 1.1203 MHz 300k 381.36kHz 374.77kHz 2.2M 32.768kHz 32.768kHz 注: 以QFP封装量测,频漂约±30%。 以上提供的数据仅供设计参考。 6.7 上电问题 在电源稳定之前,任何单片机(基于此LSI)均不能保证开始正常工作。此LSI有带片内 电压检测范围的上电复位功能,如下表所示。这就免去了外部复位电路。如果VDD上升 的足够快(50ms或更短),它将正常工作。然而,在许多苛刻的应用中,还是需要附 加的外部电路来帮助解决上电问题。 检测上电复位电压: IC 电压范围 EM78P468N 1.9V 到 2.1V EM78P468L 1.6V 到 1.8V 6.7.1 外部上电复位电路 图6-10所示的电路使用了外部RC产生复位脉冲。脉冲宽度(时间常数)应足够长,以 使VDD达到最低工作电压。当供电电压上升慢时,可使用该电路。 由于/RESET引脚的漏电流约为±5uA,建议R不要大于40K。这样,引脚/RESET上电压 将保持在0.2V以下。二极管D作用是在掉电时充当短路回路。电容C快速充分放电。限 流电阻Rin用来避免过大的放电电流或ESD(静电放电)由下图的电路流入/RESET引脚。 32 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 图 6-10 外部上电复位电路 6.7.2 残余电压保护 当更换电池时,单片机的电源VDD断开,但仍然存在残余电压。残余电压可能小于最低 工作电压VDD,但不为0。这种情况下可能导致复位不良。图6-11和图6-12展示如何建 立残余电压的保护电路。 图 6-11 残余电压保护电路 1 图 6-12 残余电压保护电路2 6.8 中断 EM78P468N/L有8个中断源: TCC溢出中断 P5.4/INT0引脚外部中断 P5.5/INT1引脚外部中断 计数器1下溢中断 计数器2下溢中断 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 33 EM78P468N/L 8位OTP微控制器 高电平脉宽定时器下溢中断 低电平脉宽定时器下溢中断 Port 6, Port 8输入状态改变唤醒中断 该芯片具有下降沿触发的内部中断,如下: TCC定时器溢出中断 4个八位减计数器/定时器下溢中断 如果这些中断源信号由高电平变为低电平,若使能相应中断,RF寄存器中相应标志位将 置“1”。 RF是中断状态寄存器,它的相关标志记录了中断请求状态,IOCF0是中断屏蔽寄存器。 通过执行指令“ENI”和“DISI”使能或禁止总中断。当其中一个中断产生(若使能),则根 据中断源的类型决定下一条指令将从地址0003H~0018H中获取。EM78P468N/L的每个 中断源都有各自的中断向量,如表3如示。在中断子程序执行之前,硬件会对ACC和R3 寄存器的内容进行保存。中断服务程序完成之后,所保存的内容将返回到ACC和R3寄存 器中。中断服务程序在执行时,不允许其它中断服务程序运行。因此,如果其它中断在 此时发生,硬件会保存这个中断请求。当上一个中断服务程序完成后再执行下一个中断 服务程序。 中断源 中断产生 ACC ENI / DISI R3 保存 ACC 保存 R3 RETI 图 6-13 中断保存框图 表 3 中断向量 中断向量 34 • 中断状态 0003H TCC 溢出中断. 0006H P5.4/INT0 引脚外部中断 0009H P5.5/INT1 引脚外部中断 000CH 计数器 1 下溢中断 000FH 计数器 2 下溢中断 0012H 高电平脉宽下溢中断 0015H 低电平脉宽下溢中断 0018H P6、P8 输入状态改变唤醒 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 6.9 LCD驱动 EM78P468N/L带有32个段和4个公共驱动端,能驱动4*32点阵的LCD驱动器。LCD模块 由LCD驱动器、显示RAM、段输出引脚、公共驱动输出引脚、和供给LCD工作电压引脚 组成,它可工作在普通、省电和低速模式。LCD的占空比、偏压、段和公共驱动数量和 帧频率由LCD控制寄存器决定。 LCD模块的基本结构包括一个利用子系统时钟为不同的占空比和显示存取产生适当时 序的时序控制器,。R9是LCD驱动器的命令寄存器,它包括对LCD使能/禁止、偏压(1/2、 1/3)、占空比(1/2、1/3、1/4)和LCD帧频率的控制。 RA是LCD对比度和LCD RAM地址控制寄存器。RB是LCD RAM数据缓存器。LCD驱动 电路可以通过改变工作频率来提高VLCD2和VLCD3的驱动性能。这些控制寄存器的描 述如下: 6.9.1 R9/LCDCR (LCD控制寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 BS DS1 DS0 LCDEN -- LCDTYPE LCDF1 LCDF0 Bit 7 (BS): LCD 偏压选择位。0/1=> (1/2偏压) / (1/3偏压) Bit 6 ~ 5 (DS1 ~ DS0): LCD 占空比 选择位 DS1 DS0 LCD 占空比 0 0 1/2 占空比 0 1 1/3 占空比 1 × 1/4 占空比 Bit 4 (LCDEN): LCD 使能位 “0”: LCD电路关闭。 “1”: 使能LCD电路 当LCD电路关闭时,所有COM./ SEG.输出设置为低电平。 Bit 3: 未使用 Bit 2 (LCDTYPE): LCD的驱动波形选择位 LCDTYPE = “0”: A类波形 LCDTYPE = “1”: B类波形 Bits 1 ~ 0 (LCDF1 ~ LCDF0): LCD帧频控制位 LCDF1 LCDF0 0 LCD 帧频(例. Fs=32.768kHz) 1/2 占空比 1/3 占空比 1/4 占空比 0 Fs/(256×2)=64.0 Fs/(172×3)=63.5 Fs/(128×4)=64.0 0 1 Fs/(280×2)=58.5 Fs/(188×3)=58.0 Fs/(140×4)=58.5 1 0 Fs/(304×2)=53.9 Fs/(204×3)=53.5 Fs/(152×4)=53.9 1 1 Fs/(232×2)=70.6 Fs/(156×3)=70.0 Fs/(116×4)=70.6 注: Fs: 副频振荡频率 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 35 EM78P468N/L 8位OTP微控制器 6.9.2 RA/LCD_ADDR (LCD地址寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 0 0 LCD_A4 LCD_A3 LCD_A2 LCD_A1 LCD_A0 Bits 7~5: 未使用, 固定为“0” Bits 4~0 (LCDA4 ~ LCDA0): LCD RAM地址 RB (LCD 数据缓存器) RA (LCD 地址) Bits 7 ~4 00H − − − − − SEG0 01H − − − − − SEG1 02H − − − − − SEG2 1DH − − − − − SEG29 1EH − − − − − SEG30 SEG31 段 Bit 3 Bit 2 Bit 1 Bit 0 (LCD_D3) (LCD_D2) (LCD_D1) (LCD_D0) | | − 1FH × COM. | − − − − COM3 COM2 COM1 COM0 6.9.3 RB/LCD_DB (LCD数据缓存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 − − − − LCD_D3 LCD_D2 LCD_D1 LCD_D0 Bits 7~4: 未使用 Bits 3~0 (LCD_D3 ~ LCD_D0) : LCD RAM数据传输寄存器 6.9.4 RD/SBPCR (系统时钟、驱动频率及PLL频率控制寄存器) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 − CLK2 CLK1 CLK0 IDLE BF1 BF0 CPUS Bit 2 ~ 1 (BF1 ~ 0): LCD扫描频率选择位 BF1 36 • BF0 扫描频率 0 0 Fs 0 1 Fs/4 1 0 Fs/8 1 1 Fs/16 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 LCD 功能初始化设置流程 IC 复位产生 设置 Port7 和 Port8 作为通用 I/O 或 LCD SEG(IOC50) Port7 和 Port8 的引脚作为 LCD SEG 时一定要设置为输出 (IOC70 和 IOC80) 设置 LCD 类型,占空比,偏压,LCD 帧频率(R9) 设置 LCD 扫描频率(RD) 清除所有 LCD RAM (RA 和 RB) 使能 LCD 功能(R9) 根据用户的应用使用 LCD 地址和 LCD 数据缓存器(RA 和 RB) 结束 图 6-14 LCD功能初始化设置流程图 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 37 EM78P468N/L 8位OTP微控制器 LCD电压的驱动电路连接方法 VDD VLCD2(2*VDD/3) VA VB VLCD3(1*VDD/3) GND 1/3 偏压外围电路 VDD VLCD2(VDD/2) VA VB VLCD3(VDD/2) GND 1/2 偏压外围电路 图 6-15 分压电路连接图 (Cext=0.1µf ) 38 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 1帧 1帧 VDD COM 0 VLCD2,3 VDD COM 0 VLCD2,3 GND GND VDD COM 1 VLCD2,3 VDD COM 1 VLCD2,3 GND GND VDD SEG N VLCD2,3 VDD SEG N VLCD2,3 GND GND VDD VDD VLCD2,3 SEG N - COM0 GND 打开 -VLCD2,3 -VLCD2,3 -VDD VDD VDD GND 关闭 GND 打开 -VDD VLCD2,3 SEG N - COM1 VLCD2,3 SEG N - COM0 VLCD2,3 SEG N - COM1 GND 关闭 -VLCD2,3 1/2 偏压, 1/2 占空比 -VLCD2,3 1/2 偏压, 1/2 占空比 -VDD -VDD B 类型 A 类型 图 6-16 1/2偏压, 1/2占空比的LCD波形 1帧 1帧 VDD VDD COM 0 VLCD2,3 COM 0 VLCD2,3 GND GND VDD VDD VLCD2,3 COM 1 COM 1 VLCD2,3 GND GND VDD VDD VLCD2,3 COM 2 COM 2 VLCD2,3 GND GND VDD VDD VLCD2,3 SEG N SEG N VLCD2,3 GND GND VDD VDD VLCD2,3 VLCD2,3 SEG N - COM0 GND 打开 SEG N - COM0 打开 GND -VLCD2,3 -VLCD2,3 -VDD -VDD VDD VDD VLCD2,3 GND SEG N - COM1 关闭 VLCD2,3 SEG N - COM1 GND 关闭 -VLCD2,3 -VLCD2,3 1/2 偏压, 1/3 占空比 A 类型 -VDD 1/2 偏压, 1/3 占空比 B 类型 -VDD 图 6-17 1/2偏压, 1/3占空比的LCD波形 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 39 EM78P468N/L 8位OTP微控制器 1帧 1帧 VDD VDD VLCD2 COM 0 VLCD3 VLCD2 COM 0 VLCD3 GND GND VDD VDD VLCD2 COM 1 VLCD2 VLCD3 COM 1 VLCD3 GND GND VDD VDD COM 2 VLCD2 VLCD2 COM 2 VLCD3 VLCD3 GND GND VDD VDD VLCD2 SEG N VLCD2 VLCD3 SEG N VLCD3 GND GND VDD VDD VLCD3 SEG N - COM0 VLCD3 SEG N - COM0 GND 打开 GND 打开 -VLCD3 -VLCD3 -VDD -VDD VDD VDD VLCD3 SEG N - COM1 SEG N - COM1 VLCD3 GND GND 关闭 -VLCD3 1/3 偏压, 1/3 占空比 A 类型 关闭 -VLCD3 -VDD 1/3 偏压, 1/3 占空比 B 类型 -VDD 图 6-18 1/3偏压, 1/3占空比的LCD波形 1帧 1帧 VDD VDD VLCD2 VLCD2 COM 0 VLCD3 COM 0 VLCD3 GND GND VDD VDD VLCD2 VLCD2 COM 1 VLCD3 COM 1 VLCD3 GND GND VDD COM 2 VLCD2 VDD VLCD2 COM 2 VLCD3 VLCD3 GND GND VDD VDD VLCD2 VLCD2 SEG N VLCD3 SEG N VLCD3 GND GND VDD VDD SEG N COM0 VLCD3 GND SEG N COM0 VLCD3 GND 打开 -VLCD3 打开 -VLCD3 -VDD -VDD VDD SEG N COM1 VLCD3 GND VDD SEG N COM1 VLCD3 GND 关闭 -VLCD3 关闭 -VLCD3 1/3 偏压, 1/4 占空比 A 类型 -VDD 1/3 偏压, 1/4 占空比 B 类型 -VDD 图 6-19 1/3偏压, 1/4占空比的LCD波形 40 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 6.10 红外遥控应用/PWM波形的产生 EM78P468N/L能够很方便地产生红外载波信号和PWM标准波形。实现IR与PWM波形的 功能要有如下结构配合:八位减定时/计数器、高电平脉宽定时器、低电平脉宽定时器和 IR控制寄存器。IR系统框图如图.6-20所示,IR控制寄存器(RE)、IOC90(计数器1、 2控制寄存器)、IOCA0(高电平脉宽定时器、低电平脉宽控制寄存器)、IOCC0(计 数器2预设值寄存器)、IOCD0(高电平脉宽定时器预设寄存器)、IOCE0(低电平脉 宽定时器预设寄存器)决定IROUT引脚的波形输出。关于载波、高低电平时间在下面会 作详细解释。 如果计数器2的时钟源频率为FT(可由IOC91设置),则: F 载波 = FT 2 × (1 + 计数器 2 预设值 ( IOCC 0 )) × 预分频比 如果高电平脉宽定时器时钟源频率为FT(可由IOCA1设置),则: T高电平脉宽 = 预分频比 × (1 + 高电平脉宽定时器预设值(IOCD0)) FT 如果低电平脉宽定时器时钟源频率为FT(可由IOCA1设置),则: T低电平脉宽 = 预分频比× (1 + 低电平脉宽定时器预设值(IOCE0)) FT 预设值 (IOCA1) Fs 高电平脉宽定时器 (IOCD0) Fm 8 自动装载缓存器 预设值 (IOC A1) 预设值 (IOC91) 8 8 位减计数器 8 载波 低电平脉宽定时器 ( IOCE0) 8 自动装载缓存器 8 8 位减计数器 8 H/W 调制电路 8 位减计数器 IR 输出引脚 8 自动装载缓存器 HF LGP IRE 8 RE 寄存器 计数器 2 (IOCC0) Fm: 主频频率 Fs: 副频频率 图 6-20 IR/PWM功能结构图 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 41 EM78P468N/L 8位OTP微控制器 IROUT引脚输出波形进一步描述如下图: 图. 6-21 图. 6-22 LGP=0, HF=1, 在低电平脉冲时间内IROUT输出调制载波波形。 LGP=0, HF=0, 在低电平脉冲时间内 IROUT 不会输出调制载波波形。故 IROUT输出是由高、低电平脉冲时间决定,这种模式下可产生PWM波形。 图. 6-23 LGP=0, HF=1, 在低电平脉冲时间内IROUT输出调制载波波形。当IRE从高变 化到低时,IROUT输出波形将继续保持于传输状态,直到产生高电平脉宽定 时器中断。 图. 6-24 LGP=0, HF=0, 在低电平脉冲时间内IROUT不会输出调制载波波形,而是由 高、低电平脉冲时间决定,在这种模式下可产生PWM波形。当IRE从高变化 到低时,IROUT输出波形将继续保持于传输状态,直到产生高电平脉宽定时 器中断。 图.6-25 LGP=1, 当LGP置高电平时,高电平脉宽定时器将不起作用,所以IROUT输 出由低电平脉宽定时器决定。 载波 低电平宽度 高电平宽度 低电平宽度 高电平宽度 HF 开始 IRE IROUT 图 6-21 LGP=0, IROUT引脚输出波形 载波 低电平宽度 HF 高电平宽度 width 低电平宽度 高电平宽度 开始 IRE IROUT 图 6-22 LGP=0, IROUT引脚输出波形 42 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 载波 低电平宽度 高电平宽度 高电平宽度 低电平宽度 HF 开始 IRE IR 禁止 IROUT 一直高电平 图 6-23 LGP=0, IROUT引脚输出波形 载波 低电平宽度 高电平宽度 高电平宽度 低电平宽度 HF 开始 IRE IR 禁止 IROUT 一直高电平 图 6-24 LGP=0, IROUT引脚输出波形 载波 低电平宽度 低电平宽度 高电平宽度 低电平宽度 HF 开始 IRE IR 禁止 IROUT 一直高电平 图 6-25 LGP=1, IROUT引脚输出波形 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 43 EM78P468N/L 8位OTP微控制器 IR/PWM功能使能流程图 开始 开始 设置 P5.7 为输出(IOC 50) 设置 P5.7 为 IR/PWM 功能输出引脚(RE) 设置 P5.7 为输出(IOC 50) 设置 P5.7 为 IR/PWM 功能输出引脚(RE) 设置计数器 2 时钟源和预分频比(IOC91) 设置高电平脉宽定时器,低电平脉宽定时器的 时钟源和预分频比(IOCA1) 设置计数器 2 (IOCC0) , 高电平脉宽定时器 (IODD0) , 低电平脉宽定时器 (IOCE0) 初始值 设置高电平脉宽定时器,低电平脉宽定时器 的时钟源和预分频比(IOCA1) 高电平脉宽定时器 (IOCD0) (IOCE0) 初始值 , 低电平脉宽定时器 使能 IR (RE) HF="0", IRE="1" 使能 IR (RE) HF="1", IRE="1" 使能 HPWT ,LPWT 中断 设置IOCF0 执行 ENI 指令 使能 HPWT,LPWT 中断 设置 IOCF0 执行 ENI 指令 使能高/低电平脉宽定时器 (RC) 使能计数器 2,高/低电平脉宽定时器 (RC) 结束 结束 (a) IR 应用 (b) PWM 应用 图 6-26 IR/PWM功能使能流程图 6.11 代码选项 EM78P468N/L有一个字长的代码选择寄存器,它不是一般程序选择存储器的一部分。 在单片机正常工作时,它不可被访问。 代码选择寄存器和用户ID寄存器配置如下: 代码选项的Word1用来写入用户ID代码。 Word 1 Bit 12~Bit 0 代码选项中Word0用作芯片功能设定,在烧录OTP时进行设置。 44 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 Word 0 Bits12~10 1 Bit 9 Bit 8 Bit 7 CYES HLFS ENWDTB Bit 6 Bit 5 FSMD Bit 4 FMMD1 FMMD0 Bit 3 Bit 2 Bit 1 Bit 0 HLP PR2 PR1 PR0 Bits 12 ~ 10: 未使用. 这3位一直被置“1”。 Bit 9 (CYES): JMP、CALL指令周期选择位 CYES = “0”: 执行JMP或CALL只需要一个指令周期 CYES = “1”: 执行JMP或CALL需要两个指令周期 Bit 8 (HLFS): 主、副振荡器选择位 HLFS = “0”: 当复位发生时CPU选择副振荡器 HLFS = “1”: 当复位发生时CPU选择主振荡器. Bit 7 (ENWDTB): 看门狗定时器使能位 ENWDTB = “0”: 使能看门狗定时器 ENWDTB = “1”: 禁止看门狗定时器 Bit 6 (FSMD): 副振荡器类型选择位 Bits 5, 4 (FMMD1, 0): 主振荡器类型选择位 FSMD FMMD1 FMMD0 0 0 0 RC 类型 RC 类型 0 0 1 晶振 类型 RC 类型 0 1 × PLL 类型 RC 类型 1 0 0 RC 类型 晶振 类型 1 0 1 晶振 类型 晶振 类型 1 1 × PLL 类型 晶振 类型 主振荡器类型 副振荡器类型 Bit 3 (HLP): 功耗选择位。如果系统通常工作在低速模式下,必须要进行低功耗设置来 节能。若考虑功耗问题,推荐用户选择低功耗模式。 HLP = “0”: 低功耗模式 HLP = “1”: 高功耗模式 Bits 2~0 (PR2~PR0): 保护位 PR2~PR0是保护位,保护类型如下: PR2 PR1 PR0 保护 0 0 0 使能 1 1 1 禁止 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 45 EM78P468N/L 8位OTP微控制器 6.12 指令集 指令集的每条指令是13位字宽,由一个操作码和一个或多个操作数组成。一般情况下, 执行一条指令需要一个指令周期(一个指令周期包含2个振荡器周期)。指令“MOV R2, A”、“ADD R2,A”改变程序计数器(PC)或对R2进行算术或逻辑运算的指令(例如:“SUB R2,A”、“BS(C) R2,6”、“CLR R2”…)除外,在这种情况下,指令的执行需要两个 指令周期。 有些情况下,如果指令周期的规格不符合某些应用要求,可以通过以下方式进行改变: “JMP:、“CALL”、“RET”、“RETL”、“RETI”和条件跳转指令(“JBS”、“JBC”、“JZ”、“JZA”、 “DJZ”、“DJZA”)条件判断为真时执行两个指令周期。写入程序计数器的指令同样需要 两个周期。 另外,指令集还具有以下特征: 1) 寄存器的每一位都有可以直接进行置位、清除或条件判断。 2) I/O寄存器可以作为通用寄存器组,即同样的指令可对I/O寄存器操作。 惯例: R =寄存器指示符,用来指定寄存器(包括工作寄存器和通用寄存器)中的哪个寄存器被指令使用。 b =位域指示符,用于选择一个位于R寄存器中会影响操作的位值。 k = 8或10位常数或立即数。 46 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 二进制指令 十六进制 助记符 0 0000 0000 0000 0000 NOP 0 0000 0000 0001 0001 DAA 0 0 0 0 0 0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0001 0001 0011 0100 rrrr 0000 0001 0010 0003 0004 000r 0010 0011 0012 SLEP WDTC IOW ENI DISI RET 0 0000 0001 0011 0013 RETI rrrr rrrr 0000 rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr 001r 00rr 0080 00rr 01rr 01rr 01rr 01rr 02rr 02rr 02rr 02rr 03rr 03rr 03rr 03rr 04rr 04rr 04rr 04rr 05rr 05rr 05rr 05rr IOR MOV CLRA CLR SUB SUB DECA DEC OR OR AND AND XOR XOR ADD ADD MOV MOV COMA COM INCA INC DJZA DJZ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000 0000 0000 0000 0001 0001 0001 0001 0010 0010 0010 0010 0011 0011 0011 0011 0100 0100 0100 0100 0101 0101 0101 0101 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) 0001 01rr 1000 11rr 00rr 01rr 10rr 11rr 00rr 01rr 10rr 11rr 00rr 01rr 10rr 11rr 00rr 01rr 10rr 11rr 00rr 01rr 10rr 11rr 操作 R R R, A R A, R, R R A, R, A, R, A, R, A, R, A, R, R R R R R R R A R A R A R A R A R R 无操作 寄存器 A 的数由二进制 调整为 BCD 码 0 → WDT, 振荡器停止 0 → WDT A → IOCR 使能中断 禁止中断 [栈顶] → PC [栈顶] → PC, 使能中断 IOCR → A A→R 0→A 0→R R-A → A R-A → R R-1 → A R-1 → R A∨R→A A∨R→R A&R→A A&R→R A⊕R→A A⊕R→R A+R→A A+R→R R→A R→R /R → A /R → R R+1 → A R+1 → R R-1 → A, 如果为 0 跳过 R-1 → R, 如果为 0 跳过 受影响的 标志位 无 C T, P T, P 1 无 无 无 无 无 1 无 无 Z Z Z,C,DC Z,C,DC Z Z Z Z Z Z Z Z Z, C, DC Z, C, DC Z Z Z Z Z Z 无 无 • 47 EM78P468N/L 8位OTP微控制器 二进制指令 十六进制 助记符 0 0110 00rr rrrr 06rr RRCA R 0 0110 01rr rrrr 06rr RRC R 0 0110 10rr rrrr 06rr RLCA R 0 0110 11rr rrrr 06rr RLC R 0 0111 00rr rrrr 07rr SWAPA R 0 0 0 0 0 0 0 0111 0111 0111 100b 101b 110b 111b 01rr 10rr 11rr bbrr bbrr bbrr bbrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr 07rr 07rr 07rr 0xxx 0xxx 0xxx 0xxx SWAP JZA JZ BC BS JBC JBS R R R R, R, R, R, 1 00kk kkkk kkkk 1kkk CALL k 1 1 1 1 1 1 1 1 1 1 01kk 1000 1001 1010 1011 1100 1101 1111 1110 1110 kkkk kkkk kkkk kkkk kkkk kkkk kkkk kkkk 1000 1001 1kkk 18kk 19kk 1Akk 1Bkk 1Ckk 1Dkk 1Fkk 1E8k 1E9k JMP MOV OR AND XOR RETL SUB ADD PAGE BANK k A, A, A, A, k A, A, k k kkkk kkkk kkkk kkkk kkkk kkkk kkkk kkkk kkkk kkkk 操作 b b b b k k k k k k 受影响的 标志位 R(n) → A(n-1), C R(0) → C, C → A(7) R(n) → R(n-1), C R(0) → C, C → R(7) R(n) → A(n+1), C R(7) → C, C → A(0) R(n) → R(n+1), C R(7) → (C), C → (R(0) R(0-3) → ( A(4-7), 无 R(4-7) → ( A(0-3) R(0-3) → ( R(4-7) 无 R+1 → A, 如果为 0 跳过 无 R+1 → R, 如果为 0 跳过 无 0→ ( R(b) 无 1→ ( R(b) 无 如果 R(b)=0, 跳过 无 如果 R(b)=1, 跳过 无 PC+1 → [SP], 无 (Page, k) → (PC) (Page, k) → (PC) 无 k→A 无 Avk→A Z A&k→A Z A⊕k→A Z k → A, [栈顶] → PC 无 k-A → A Z, C, DC k+A → A Z, C, DC K->R3(5:6) 无 K->R4(7:6) 无 1 注: 这条指令应用于IOC50~IOF0, IOC61~IOCE1. 48 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 6.13 时序图 AC 测试 输入/输出波形 2.4 2.0 0.8 2.0 测试点 0.8 0.4 AC 测试:输入驱动电压逻辑 1 为 2.4V,逻辑 0 为 0.4V,时序测试为 逻辑 1 为 2.0V ,逻辑 0 位 0.8V。 复位时序(CLK="0") NOP 第 1 条指令执行 CLK /复位 Tdrh TCC 输入时序(CLKS="0") Tins CLK TCC Ttcc Ttrf 90% Port (n+1) 10% Ttrr 90% 10% Tiod Port (n) *n = 0 , 2 , 4 , 6 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 49 EM78P468N/L 8位OTP微控制器 7 最大绝对值 项目 符号 条件 工作电压 VDD 输入电压 单位 最小值 最大值 − GND-0.3 +7.0 V VI Port 5 ~ Port 8 GND-0.3 VDD+0.3 V 输出电压 VO Port 5 ~ Port 8 GND-0.3 VDD+0.3 V 工作温度 TOPR − -40 85 °C 存储温度 TSTG − -65 150 °C PD − − 500 mW − − 32.768K 10M Hz 功耗 工作频率 8 范围 电气特性 8.1 直流电气特性 Ta= -40°C ~85 °C, VDD= 5.0V, GND= 0V 符号 FXT Fs ERIC IIL 条件 最小值 典型值 最大值 单位 晶振: VDD= 5V 指令周期为 2 个时钟周期 32.768 8M 10M kHz 副振荡器 指令周期为 2 个时钟周期 − 32.768 − kHz 副振荡器:外部电阻,内部电 R: 300KΩ, 内部电容 容 270 384 500 kHz 副振荡器:外部电阻,内部电 R: 2.2MΩ,内部电容 容 22.9 32.768 42.6 kHz 输入引脚的输入漏电流 VIN = VDD, GND -1 0 1 µA VIH1 输入高临界电压 (施密特触发) Ports 5, 6, 7, 8 2.0 − − V VIL1 输入低临界电压 (施密特触发) Ports 5, 6, 7, 8 − − 0.8 V /RESET 2.0 − − V /RESET − − 0.8 V TCC, INT0, INT1 2.0 − − V TCC, INT0, INT1 − − 0.8 V VIHT1 VILT1 VIHT2 VILT2 输入高临界电压 (施密特触发) 输入低临界电压 施密特触发) 输入高临界电压 (施密特触发) 输入低临界电压 施密特触发) IOH1 输出高电压 (Ports 5~8) VOH = 2.4V, IROCS=”0” -10 − − mA IOL1 输出低电压 (Ports 5~8) VOL = 0.4V, IROCS=”0” − − 10 mA VOH = 2.4V, IROCS=”1” -20 − − mA IOH1 50 • 参数 输出高电压 (P5.7/IROUT 引脚) 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 IOL2 输出低电压 (P5.7/IR OUT 引脚) 符号 VOL = 0.4V, IROCS=”1” 参数 条件 − − 20 mA 最小值 典型值 最大值 单位 IPH 上拉电流 激活上拉功能,输入引脚接 GND -55 -75 -95 µA IPL 下拉电流 激活下拉功能,输入引脚接 VDD 55 75 95 µA ISB 休眠模式电流 所有的输入引脚和 I/O 引脚接 VDD, 输出引脚悬空 WDT 禁止 − 0.5 1.5 µA ICC1 低速模式电流 /RESET= '高', CPU 停止工作 副频时钟(32.768kHz)打开,输 出引脚悬空,LCD 使能,无负 载 − 14 18 µA ICC2 省电模式电流 /RESET= '高', CPU 工作,副 频频率(32.768kHz),输出引脚 悬空,WDT 使能, LCD 使能 − 22 30 µA ICC3 普通模式电流 /RESET= '高', Fosc=4MHz (晶振类型,CLKS="0"), 输出引脚悬空 − 2.2 3 mA ICC4 普通模式电流 /RESET= '高', Fosc=10MHz (晶振类型,CLKS="0"), 输出引脚悬空 − 3.1 4 mA Ta= -40°C ~85 °C, VDD= 3.0V, GND= 0V 符号 FXT Fs ERIC IIL 参数 条件 最小值 典型值 最大值 单位 晶振: VDD= 5V 指令周期为 2 个时钟周期 32.768 8M 10M kHz 副振荡器 指令周期为 2 个时钟周期 − 32.768 − kHz 副振荡器:外部电阻内部电容 R: 300KΩ, 内部电容 270 384 500 kHz 副振荡器:外部电阻内部电容 R: 2.2MΩ,内部电容 22.9 32.768 42.6 kHz 输入引脚的输入漏电流 VIN = VDD, GND -1 0 1 µA VIH1 输入高临界电压 (施密特触发) Ports 5, 6, 7, 8 1.8 − − V VIL1 输入低临界电压 (施密特触发) Ports 5, 6, 7, 8 − − 0.6 V /RESET 1.8 − − V /RESET − − 0.6 V TCC, INT0, INT1 1.8 − − V TCC, INT0, INT1 − − 0.6 V -1.8 − − mA VIHT1 VILT1 VIHT2 VILT2 IOH1 输入高临界电压 (施密特触发) 输入低临界电压 施密特触发) 输入高临界电压 (施密特触发) 输入低临界电压 施密特触发) 输出高电压 (Ports 5~8) 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) VOH = 2.4V, IROCS=”0” • 51 EM78P468N/L 8位OTP微控制器 IOL1 输出低电压 (Ports 5~8) 符号 IOH1 IOL2 VOL = 0.4V, IROCS=”0” 参数 输出高电压 (P5.7/IROUT 引脚) 输出低电压 (P5.7/IR OUT 引脚) − 条件 6 − mA 最小值 典型值 最大值 单位 VOH = 2.4V, IROCS=”1” -3.5 − − mA VOL = 0.4V, IROCS=”1” − − 12 mA IPH 上拉电流 激活上拉,输入引脚接 GND -16 -23 -30 µA IPL 下拉电流 激活下拉,输入引脚接 VDD 16 23 30 µA ISB 休眠模式电流 所有的输入引脚和 I/O 引脚接 VDD, 输出引脚悬空 WDT 禁止 − 0.1 1 µA ICC1 低速模式电流 /RESET= '高', CPU 停止工作副频 时钟(32.768kHz)打开,输出引脚 悬空,LCD 使能,无负载 − 4 8 µA ICC2 省电模式电流 /RESET= '高', CPU 工作,副频频 率(32.768kHz),输出引脚悬空, WDT 使能, LCD 使能 − 10 20 µA ICC3 普通模式电流 /RESET= '高', Fosc=4MHz (晶振 类型,CLKS="0"), 输出引脚悬空 − 0.73 1.2 mA 8.2 交流电气特性 Ta=- 40°C ~ 85 °C, VDD=5V±5%, GND=0V 符号 参数 条件 最小值 典型值 最大值 单位 − 45 50 55 % 晶振类型 100 − DC ns RC 类型 500 − DC ns Dclk 输入时钟的占空比 Tins 指令周期 (CLKS="0") Ttcc TCC输入时间周期 − (Tins+20)/N* − − ns 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 输入引脚保持时间 − − 20 − ns Tdelay 输出引脚延迟时间 Cload=20pF − 50 − ns * N = 选择预分频比 52 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 8.3 器件性能 下图所示数据取于有限数量的样品,仅供参考。因此,下图所示器件特性不保证完全准 确,有些数据可能超出特定保证工作范围。 Vih/Vil (/RESET 引脚为施密特反相器) 2.5 Vih 最大值. ( - 40 Vih 典型值 (+25 Vih 最小值. (- 40 Vih/Vil (V) 2 到 ℃ +85 ℃ ) ℃) 到 +85 ℃ ℃) 1.5 1 Vil 最大值 ( -40 ℃ 到 +85 Vil 典型值 (+25 ℃ ) Vil 最小值( -40 ℃ 到 +85 0.5 ℃) ℃) 0 2 2.5 3 3.5 4 Vdd (Volt) 4.5 5 5.5 图 8-1 ( /RESET引脚的 Vih, Vil) vs.VDD的关系曲线图 Vih/Vil (Port5, Port6 所有输入引脚为施密特反向器) 2.5 Vih 最大值. ( - 40 Vih Vil (V) 2 Vih 典型值 (+25 Vih 最小值. (- 40 到 ℃ +85 ℃ ) ℃) ℃ 到 +85 ℃) 1.5 1 Vil 最大值 ( -40 ℃ 到 +85 Vil 典型值 (+25 ℃ ) Vil 最小值( -40 ℃ 到 +85 0.5 ℃) ℃) 0 2 2.5 3 3.5 Vdd (V) 4 4.5 5 5.5 图 8-2 ( Port 5和Port 6的Vih, Vil) vs.VDD的关系曲线图 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 53 EM78P468N/L 8位OTP微控制器 Vih/Vil (Port7, Port8 所有输出引脚为施密特反向器) 2.5 Vih 最大值. ( - 40 Vih 典型值 (+25 Vih 最小值. ( - 40 Vih Vil (V) 2 到 +85 ℃ ℃ ) ℃ ) ℃ 到 +85 ℃ ) 1.5 1 0.5 Vil 最大值. ( -40 ℃ Vil 典型值 (+25 ℃) Vil 最小值. (- 40 到 +85 到 +85 ℃ ℃) ℃ ) 0 2 2.5 3 3.5 Vdd (V) 4 4.5 5 5.5 图 8-3 (Port7和Port8的Vih, Vil)vs.VDD的关系曲线图 P5.7 Voh/Ioh (VDD=3V, IROCS="0") P5.7 Voh/Ioh (VDD=5V, IROCS="0") 0 0 -5 -2 Ioh (mA) Ioh (mA) 最小值 : +85 ℃ 最小值 : +85 ℃ -10 典型值: +25℃ -4 典型值 : +25 ℃ -6 -15 最大值 :-40 ℃ 最大值 : - 40 ℃ -8 -20 -10 -25 0 1 2 Voh (V) 3 4 5 0 0.5 1 1.5 2 2.5 3 Voh (V) 图 8-4 P5.7 Voh vs.Ioh关系曲线图 [当 VDD=3V, 5V, IROCS (IOC61第7位) =” 0 ”时 ] 54 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 P5.7 Voh/Ioh (VDD=5V, IROCS="1") P5.7 Voh/Ioh (VDD=3V, IROCS="1") 0 0 -2 -10 -4 最小值: +85 ℃ -6 Ioh (mA) Ioh (mA) 最小值: +85 ℃ -20 典型值: +25℃ -8 典型值: +25 ℃ -10 -30 -12 最大值: - 40 ℃ 最大值: -40 ℃ -14 -40 -16 -18 -50 0 1 2 3 4 0 5 0.5 1 1.5 2 2.5 3 Voh (V) Voh (V) P5.4~6, PORT 6~8 Voh/Ioh (VDD=5V) P5.4~6, PORT 6~8 Voh/Ioh (VDD=3V) 0 0 -5 -2 -10 最小值: +85 ℃ 最小值: +85 ℃ Ioh (mA) Ioh (mA) 图 8-5 P5.7 Voh vs.Ioh关系曲线图 [ 当VDD=3V, 5V, IROCS (IOC61第7位) =” 1 ”时 ] 典型值: +25℃ -4 典型值: +25 ℃ -6 -15 最大值: - 40 ℃ 最大值:- 40 ℃ -20 -8 -25 -10 0 1 2 3 Voh (V) 4 5 0 0.5 1 1.5 2 2.5 3 Voh (V) 图 8-6 P 6, P7和P 8 Voh vs.Ioh关系曲线图 [ VDD=3V, 5V ] 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 55 EM78P468N/L 8位OTP微控制器 80 P5.7 Voh/Ioh (VDD=5V, IROCS="0") P5.7 Voh/Ioh (VDD=3V, IROCS="0") 35 最大值: -40 ℃ 最大值: - 40 ℃ 70 30 典型值: +25℃ 60 典型值: +25℃ 50 40 Ioh (mA) Ioh (mA) 25 最小值: +85℃ 20 15 最小值: +85℃ 30 10 20 5 10 0 0 0 1 2 3 4 0 5 0.5 1 1.5 2 2.5 3 Voh (V) Voh (V) 图 8-7 P5.7 Vol vs.Iol关系曲线图, [当VDD=3V, 5V, IROCS (IOC61第7位) =” 0 ”时 ] P5.7 Voh/Ioh (VDD=3V, IROCS="1") P5.7 Voh/Ioh (VDD=5V, IROCS="1") 70 160 最大值: -40 ℃ 最大值 -40 : ℃ 140 60 典型值: +25℃ 100 80 典型值: +25℃ 50 Ioh (mA) Ioh (mA) 120 最小值: +85℃ 40 30 最小值: +85℃ 60 20 40 10 20 0 0 0 1 2 Voh (V) 3 4 5 0 0.5 1 1.5 2 2.5 3 Voh (V) 图 8-8 P5.7 Vol vs.Iol关系曲线图 [ 当VDD=3V, 5V, IROCS (IOC61第7位) =” 1 ”时 ] 56 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 P5.4~5.6, PORT 6, 7, 8 Voh/Ioh (VDD=5V) P5.4~5.6, PORT 6, 7, 8 Voh/Ioh (VDD=3V) 40 90 最大值: 80 - 40 ℃ 70 30 Ioh (mA) 典型值: +25℃ 60 Ioh (mA) 最大值: - 40 ℃ 35 50 40 最小值 : +85 ℃ 典型值: +25 ℃ 25 20 15 30 最小值 : +85 ℃ 10 20 5 10 0 0 0 1 2 3 4 5 0 0.5 Voh (V) 1 1.5 2 2.5 3 Voh (V) 图 8-9 Port6, Port7和Port8 Vol vs.Iol关系曲线图 [ 当VDD=3V, 5V时 ] Reset 上电建立时间 35 建立时间(mS) 30 25 20 15 10 5 0 2 3 4 5 6 VDD (V) 图 8-10 预分频比:1:1时WDT定时溢出时间 vs.VDD的关系曲线图 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 57 EM78P468N/L 8位OTP微控制器 典型 RC OSC 频率(R-OSCI 引脚) 2.4 典型 RC OSC 频率(Xin 引脚) 35 2.1 R = 51K 34 频率(KHz) 频率(MHz) 1.8 1.5 1.2 R = 100 K 0.9 33 R = 2.2M 32 0.6 31 0.3 R = 300K 30 0 2 2.5 3 3.5 4 VDD (V) 4.5 5 5.5 2 2.5 3 3.5 4 4.5 5 5.5 VDD (V) 图 8-11 典型ERIC OSC频率 vs.VDD关系曲线图 (温度为25°C) 图 8-12 典型ERIC OSC频率 vs.温度关系曲线图(R-OSCI引脚) 58 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 图 8-13 典型ERIC OSC频率vs.温度关系曲线图(Xin引脚) 工作电流有ICC1到ICC4四种情况,具体情况如下: ISB (休眠模式): Fm 和 Fs 停止,所有功能关闭。 ICC1 (低速模式): Fm 停止,Fs=32K Hz,2 时钟,CPU停止运行,LCD 使能和WDT 使 能。 ICC2 (省电模式): Fm 停止,Fs=32kHz,2时钟,CPU运行频率为Fs,LCD使能和 WDT 使能。 ICC3 (普通模式): Fm=4MHz ,Fs=32kHz, 2时钟,CPU运行频率Fm,LCD使能和WDT 使能。 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 59 EM78P468N/L 8位OTP微控制器 ICC3 的典型值 vs.温度的关系 2 电流(mA) 1.6 VDD=5V 1.2 0.8 VDD=3V 0.4 0 -40 -20 0 25 温度(℃) 50 70 85 70 85 图 8-14 普通模式的典型功耗 (Fm=4MHz) ICC3 的最大值 vs.温度的关系 2.8 电流(mA) 2.4 VDD=5V 2 1.6 1.2 0.8 VDD=3V 0.4 0 -40 -20 0 25 温度(℃) 50 图 8-15 普通模式的最大功耗 (Fm=4MHz) 60 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 ICC2 的典型值 vs.温度的关系 30 25 电流(uA) VDD=5V 20 15 10 VDD=3V 5 0 -40 0 -20 25 温度(℃) 50 70 85 70 85 图 8-16 省电模式的典型功耗 ICC2 的最大值 vs.温度的关系 35 电流(uA) 30 25 VDD=5V 20 15 10 VDD=3V 5 0 -40 -20 0 25 温度(℃) 50 图 8-17 省电模式的最大功耗 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 61 EM78P468N/L 8位OTP微控制器 ICC1 的典型值 vs.温度的关系 20 电流(uA) 15 VDD=5V 10 5 VDD=3V 0 -40 -20 0 25 温度(℃) 50 70 85 70 85 图 8-18 低速模式的典型功耗 ICC1 的最大值 vs.温度的关系 25 电流(uA) 20 VDD=5V 15 10 VDD=3V 5 0 -40 -20 0 25 温度(℃) 50 图 8-19 低速模式的最大功耗 62 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 ISB 的典型值 vs.温度的关系 1 电流(uA) 0.8 VDD=5V 0.6 0.4 0.2 VDD=3V 0 -40 -20 0 25 温度(℃) 50 70 85 图 8-20 休眠工作模式的典型功耗 ISB 的最大值 vs.温度的关系 1.2 电流(uA) 0.9 VDD=5V 0.6 0.3 VDD=3V 0 -40 -20 0 25 温度(℃) 50 70 85 图 8-21 休眠模式的最大功耗 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 63 EM78P468N/L 8位OTP微控制器 图 8-22 在0℃-70℃范围内的工作电压 图 8-23 在-40℃-+85℃范围的工作电压 64 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 9 应用电路 EM78P468N COM0 | COM3 LCD 面板 VDD SEG0 | SEG31 IROUT P6.7 P6.6 P6.5 P6.4 P6.3 1 2 3 4 P6.2 5 6 7 8 P6.1 9 A B C P6.0 D E F G 图 9-1 IROUT控制外部BJT电路驱动红外发射二极管 EM78P468N COM0 | COM3 LCD 面板 VDD SEG0 | SEG31 IROUT P6.7 P6.6 P6.5 P6.4 P6.3 1 2 3 4 P6.2 5 6 7 8 P6.1 9 A B C P6.0 D E F G 图 9-2 IROUT直接驱动红外发射二极管 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 65 EM78P468N/L 8位OTP微控制器 附录 A 封装形式 名称 封装类型 引脚数目 封装尺寸 EM78P468LH Dice 59 − EM78P468NQ QFP 64 14 mm × 20 mm EM78P468NQS/NQJ QFP 64 14 mm × 20 mm EM78P468NAQ LQFP 64 7 mm × 7 mm EM78P468NAQS/NAQJ LQFP 64 7 mm × 7 mm EM78P468NBQ LQFP 44 10 mm × 10 mm EM78P468NBQS/NBQJ LQFP 44 10 mm × 10 mm EM78P468NCQ QFP 44 10 mm × 10 mm EM78P468NCQS/NCQJ QFP 44 10 mm × 10 mm EM78P468NEQ QFP 64 14 mm × 14 mm EM78P468NEQS/NEQJ QFP 64 14 mm × 14 mm 注: 绿色产品,不含有有害物质。 符合Sony SS-00259 第三版本标准。 Pb 含量小于100ppm,满足Sony规格要求。 EM78P468NxS/xJ 项目 电镀类型 成份 (%) 熔点(°C) 电阻率 (µΩ-cm) 硬度(hv) 伸长率 (%) 66 • 纯锡 Sn:100% 232°C 11.4 8~10 >50% 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 B 封装信息 QFP – 64 A1 Symbal A A1 A2 D D1 E E1 θ c L L1 b e Min 一 0.25 2.55 Normal 一 一 2.72 25.00 BASIC 20.00 BASIC 19.00 BASIC 14.00 BASIC 0° 3.5 0.11 0.15 1.15 1.3 2.50 REF 0.35 0.4 1.00 BSC Max 3.40 一 3.05 7° 0.23 1.45 0.50 TITLE: QFP-64 L(14*20 MM) FOOTPRINT 5.0mm PACKAGE OUTLINE DIMENSION File : QFP 64L Edtion: A Unit : mm Scale: Free Material: Sheet:1 of 1 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 67 EM78P468N/L 8位OTP微控制器 QFP – 64 68 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 LQFP – 64 DETAIL " A " D D1 E L E1 L1 64 1 Symbal A A1 A2 D D1 E E1 e c c1 b b1 L L1 Min 0.05 1.35 8.90 6.90 8.90 6.900 θ 0° Normal Max 1.60 0.15 1.40 1.45 9.00 9.10 7.00 7.10 9.00 9.10 7.00 7.100 0.4 BSC 0.20 0.16 0.18 0.23 0.16 0.19 0.75 0.60 1.00 REF. 3.5° 7° 0.09 0.09 0.13 0.13 0.45 e A2 A b TITLE: LQFP 64L ( 7*7 MM ) FOOTPRINT 2.0 mm PACKAGE OUTLINE DIMENSION A1 File : DETAIL " B " LQFP 64L c1 Edtion: A Unit : mm c Scale: Free b Material: b1 Sheet:1 of 1 LQFP – 44 c Symbal A A1 A2 b c E1 E L L1 e θ Min Normal 0.050 1.350 0.300 0.090 1.400 0.370 Max 1.600 0.150 1.450 0.450 0.200 12.00 BASIC 10.00 BASIC 0.450 0.600 0.750 1.0(BASIC) 0.8(BASIC) 0 3.5 7 TITLE: LQFP-44L(10*10 MM) FOOTPRINT 2.0mm PACKAGE OUTLINE DIMENSION File : LQFP44 Edtion: A Unit : mm Scale: Free Material: Sheet:1 of 1 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 69 EM78P468N/L 8位OTP微控制器 QFP – 44 c Symbal A A1 A2 b c E1 E L L1 e θ Min 0.15 1.80 13.00 9.90 0.73 1.50 Normal 2.00 0.30(TYP) 0.15(TYP) 13.20 10.00 0.88 1.60 0.80(TYP) Max 2.70 0.50 2.20 13.40 10.10 1.03 1.70 0 7 TITLE: QFP-44L(10*10 MM) FOOTPRINT 3.2mm PACKAGE OUTLINE DIMENSION File : QFP44 Edtion: A Unit : mm Scale: Free Material: Sheet:1 of 1 70 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 C EM78P468N/L 烧写引脚表单 用DWRT对EM78P468N/L进行烧写,DWTR 的跳线是连到CON4 (EM78P451),并通 过软件选择EM78P468N/L。 L/QFP-64 L/QFP-44 引脚号 引脚号 /RESET 25 14 ACLK P54/INT0 32 21 DINCLK P55/INT1 33 22 DATAIN P56/TCC 34 23 /PGMB P60 38 25 /OEB P61 39 26 VDD VDD 29 18 GND GND 26 15 烧录引脚名字 IC 引脚名字 VPP 义隆DWTR的接线图。 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 71 EM78P468N/L 8位OTP微控制器 D ICE 468XA D.1 ICE 468XA 振荡电路 (JP 5) 模式1: 主振荡器:晶振模式, 副振荡器:晶振模式 晶振 JP 5 GND Xin Xout GND VDD Xin 副振荡器 GND R-OSCI OSCO GND VDD R-OSCI 主振荡器 晶振 模式2: 主振荡器:PLL模式,副振荡器:晶振模式 晶振 JP 5 GND Xin Xout GND VDD Xin 副振荡器 GND R-OSCI OSCO GND VDD R-OSCI 主振荡器 PLL 模式 3: 主振荡器:RC模式,副振荡器:晶振模式 晶振 JP 5 GND Xin Xout GND VDD Xin 副振荡器 GND R-OSCI OSCO GND VDD R-OSCI 主振荡器 RC 72 • 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) EM78P468N/L 8位OTP微控制器 模式 4: 主振荡器:晶振模式,副振荡器:RC模式 RC JP 5 GND Xin Xout GND VDD Xin 副振荡器 GND R-OSCI OSCO GND VDD R-OSCI 主振荡器 晶振 模式 5: 主振荡器:PLL模式,副振荡器:RC模式 RC JP 5 GND Xin Xout GND VDD Xin 副振荡器 GND R-OSCI OSCO GND VDD R-OSCI 主振荡器 PLL 模式 6: 主振荡器:RC模式,副振荡器:RC模式 RC JP 5 GND Xin Xout GND VDD Xin 副振荡器 GND R-OSCI OSCO GND VDD R-OSCI 主振荡器 RC 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 73 VB 74 • COM0 COM2 SEG0 SEG2 SEG4 SEG6 SEG8 SEG10 SEG12 SEG14 SEG16/P7.0 SEG18/P7.2 SEG20/P7.4 SEG22/P7.6 SEG24/P8.0 SEG26/P8.2 SEG28/P8.4 SEG30/P8.6 P6.7 P6.5 P6.3 P6.1 P5.7/IROUT P5.5/INT1 Xout VDD R-OSCI /RESET JP 3 VLCD2 VA COM1 COM3 SEG1 SEG3 SEG5 SEG7 SEG9 SEG11 SEG13 SEG15 SEG17/P7.1 SEG19/P7.3 SEG21/P7.5 SEG23/P7.7 SEG25/P8.1 SEG27/P8.3 SEG29/P8.5 SEG31/P8.7 P6.6 P6.4 P6.2 P6.0 P5.6/TCC P5.4/INT0 Xin OSCO GND VLCD3 EM78P468N/L 8位OTP微控制器 D.2 ICE 468XA 输出引脚排列图(JP 3) 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 (产品更新后规格书不保证同步更新) 版本号 (V1.6) 12.31.2007 EM78P468N/L 8位OTP微控制器 E 品质保证和可靠性 测试类别 测试条件 焊料温度=245±5°C, 使用松香在上面停留 5 秒 软焊性 备注 − 步骤 1: TCT, 65°C (15 分钟)~150°C (15 分钟), 10 次 步骤 2: 在 125°C 烤, TD (持久性)=24 小时 步骤 3: 储存在 30°C/60% , D (持久性)=192 小时 步骤 4: IR 变化 3 次 前提条件 适合SMD IC (例如 SOP, QFP, SOJ等) (Pkg 厚度≥ 2.5mm 或 Pkg 体积≥ 350mm3 ----225±5°C) (Pkg 厚度≤ 2.5mm 或 Pkg 体积≤350mm3 ----240±5°C) 温度周期测试 -65°C (15 分钟) ~ 150°C (15 分钟), 200 次 − 高压锅测试 TA =121°C, RH=100%, 压强=2 atm, TD (持久性)= 96 小时 − 高温/高湿度测试 TA=85°C, RH=85% , TD (持久性)=168, 500 小时 − 高温保存期 TA=150°C, TD (持久性)=500, 1000 小时 − 高温工作寿命 TA=125°C, VCC=最大工作电压, TD (持久性) =168, 500, 1000 小时 − Latch-up TA=25°C, VCC=最大工作电压, 150mA/20V − ESD (HBM) TA=25°C, ≥ ±3KV IP_ND,OP_ND,IO_ND IP_NS,OP_NS,IO_NS IP_PD,OP_PD,IO_PD TA=25°C, ≥ ±300V ESD (MM) IP_PS,OP_PS,IO_PS VDD-VSS(+),VDD_VSS (-) 模式 E.1 地址缺陷检测 地址缺陷检测是MCU嵌入式自动防止故障危害功能的一种,检测MCU由噪声或类似造 成的功能故障。无论何时MCU试图从ROM区获取一条指令,内部恢复电路将自动开始。 如果检测到噪声引起地址错误,MCU重复执行程序直到噪声消除。 MCU 将继续执行下 一条指令。 版本号 (V1.6) 12.31.2007 (产品更新后规格书不保证同步更新) • 75