Microsoft Word - EM78F662N562N_CN_ v1.0_ _.doc

Similar documents
Chapter 1

Chapter 1

Microsoft Word - EM78F561N_F661N_CN_ v2.2_FromDCC¦³¼Ð°O_ _.doc

EM65101

Microsoft Word - EM78P372N_Product_Specification_CN___ __ver 1.0.doc

Microsoft Word - EM78P156K Product Spec v1[1].3 _ _.doc

Microsoft Word - EM78P372N_Product_Specification_CN___ __ver 1.0.doc

一、

Chapter 1

Microsoft Word - PDF_EM78F64X_54XSeriesProdSpec__CN__v1.2.doc

(CN)EM78P v

2 PIC PIC 1 / CPU PIC MCU PIC RC

33023A.book(31026A_cn.fm)

HT46R47 f SYS =4MHz 3.3~5.5V f SYS =8MHz 4.5~5.5V 13 位双向输入 / 输出口 1 个与输入 / 输出共用引脚的外部中断输入 8 位带溢出中断的可编程定时 / 计数器 具有 7 级预分频器 石英晶体或 RC 振荡器 位的程序存储器 P

DS_MM32P021_Ver1.9.0

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

untitled

XNS104 产品说明书 AD 型 2.4G 高速无线收发单片机概述 2.4GHz 高速无线收发单片机 XNS104 是一个带 12 位 ADC, 以 OTP 为程序存储基础, 带 2.4G 高速无线收发芯片的单片机 无线收发单元工作在 GHz 世界通用 ISM 频段, 它集

1. 介绍 义隆 8 位单片机指令介绍 Application Notes 义隆 8 位单片机指令介绍 EM78/EM88 系列是基于 RISC 的精简指令微控制器, 每条指令是 13 位 15 位, 除 LCALL LJMP MOV R2,A ADD R2,A 改变 PC 指针的指令是 2 个指令

untitled

2 14 PORTC.1 PORTB.3 PORTA.2/T0 GND PORTB.2 PORTA.0 PORTC.3 PORB.0/OSCO PORTB.1/OSCI PORTC.0 PORTC.2 SH69P21 /SOP PORTA

Chapter 1

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

EMC单片机学习笔记.doc

目录 1. 产品简介 功能特性 引脚图 引脚描述 中央处理器 (CPU) 程序存储器 (OTP ROM) 堆栈 数据存储器 (RAM) INDF 寄存器.

DPJJX1.DOC

Chapter 1

商标告知 : IBM 为一个注册商标,PS/2 是 IBM 的商标之一 Windows 是微软公司的商标 ELAN 和 ELAN 标志 是义隆电子股份有限公司的商标 版权所有 2016 义隆电子股份有限公司 所有权利保留台湾印制 本使用说明文件内容如有变动恕不另作通知 关于该规格书的准确性 适当性或

目录

Microsoft Word - sim6xF0xC-0225.doc

,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC, LCD LC

版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) (Fax)

Microsoft Word - S153B.doc

STC15W4K60S4系列增强型PWM波形发生器应用

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

untitled

目 录

Application Note Transient Voltage Suppressors (TVS) for 表 1 VISHAY 的 SM6T 系列的电特性 25 C 型号 击穿电压 器件标识码 V BR AT I T I T 测试电流 (ma) 关态电压 V RM 漏电流 I RM AT V

MSP430X1XX 系列微控制器具有以下特征 结构框图 超低功耗结构体系 A 额定工作电流在 1MHz V 工作电压 C11X P11X 和 E11X 为 V 从备用模式唤醒为 6 S 丰富的中断能力减少了查询的需要灵活强大的处理能力源操作数有七种寻址模

Hz 10MHz 0.5V 5V 0.01% 10s 2 0.5V 5V 1Hz 1kHz 10% 90% 1% 3 1Hz 1MHz 1% EPM7128SLC84-15 LM361 LM361 Zlg

BJ2C004ANB

DATASHEET SEARCH SITE ==

untitled

RESET OSCO OSCI OSC CPU WDTEN RC RESET PRESCALER PORTA (4-BITS) WATCHDOG TIMER Power on PORTB (4-BITS) PORTA [0:3] PORTB [0:3] LPD PORTC (4-BITS) LPDO

Microsoft Word - Ö¸Á.doc

Applications

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

Chapter 1

33023A.book(31031A_cn.fm)

PowerPoint Presentation

A (QFP-48-12x ) RANGE IF70K AL-OUT AL-SIG VSS CLKFREQ-SEL HR-SET MIN-SET AM/FM-SEL AL-DISP A AL-

奥运档案(三).doc

untitled

untitled

(CN)EM78P374N ver1.8_

SPMC75F2413A_EVM_使用说明_V1.2.doc

Cerris IROS

《计算机应用基础》学习材料(讲义)

Microsoft Word - TM1621.doc

N79A8211系列单片机内部NVM

33023A.book(31005A_cn.fm)

何宇

标题

2 12

额定规格 / 性能 单相 标准认证 UL CSA. NO. EN-- 额定规格输入 环境温度 项目电压电平额定电压使用电压范围输入电流型号动作电压复位电压 - B ma 以下 DC~V DC.~V DC.V 以下 DC.V 以上 - BL ma 以下 输出 项目 * 根据环境温度的不同而不同 详情请

单片机应用编程技巧(专家:邓宏杰)

HS2303-P

管脚配置 底板插口配置 芯片大小 (mil) 2-2 -

SH69P848A 2K 一次性编程 10 位 ADC 型 4 位单片机 特性 基于 SH6610D 的 10 位 ADC 型 4 位单片机 OTPROM:2K X 16 位 RAM:253 X 4 位 - 61 个系统控制寄存器 个数据存储器 工作电压 : - f OSC = 30kH

SMART 7P 0 HR7P OTPMCU A/D I/O OTP ROM RAM HR7P HR7P HR7PPMB MSOP0 7+input HR7PPSC HR7PPSD SOP SOP6 +input input HR7PERB SSOP0 7

PowerPoint 演示文稿

SM2965

Ps22Pdf

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

控制器 EtherCAT EtherCAT EtherCAT 接下一个电机驱动模块 (X4) 接下一个电机驱动模块 (X5) X11 IN X4 IN X3 OUT X5 IN X6 OUT X2 X1 X4 IN X3 OUT X5 IN X6 OUT X2 X1 SYS STA DC BUS D

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

PROTEUS VSM

ICD ICD ICD ICD ICD

<4D F736F F D203034CAB5D1E9CBC D20B5C4494F20BDD3BFDACAB5D1E92E646F63>

FM1935X智能非接触读写器芯片


Microsoft Word - ~ doc

16位A/D转换器

MPW 项目简介

DESCRIPTION

商标告知 : IBM 为一个注册商标,PS/2 是 IBM 的商标之一 Windows 是微软公司的商标 ELAN 和 ELAN 标志 是义隆电子股份有限公司的商标 版权所有 2015 义隆电子股份有限公司 所有权利保留台湾印制 本使用说明文件内容如有变动恕不另作通知 关于该规格书的准确性 适当性或

四位微控制器ML64168_ _.doc

中文手册

规格说明

adsd

DESCRIPTION

CH559指令周期.doc

´®ÐжàͨµÀ10λA/Dת»»Æ÷TLC1543¼°ÆäÔÚµçѹÊý¾Ý²É¼¯ÏµÍ³ÖеÄÓ¦ÓÃ

Transcription:

产品规格书 版本 1.0 义隆电子股份有限公司 2010.03 本文内容是由英文规格书翻译而来, 目的是为了您的阅读更加方便 它无法跟随原稿的更新, 文中可能存在翻译上的错误, 请您参考英文规格书以获得更准确的信息

商标告知 : IBM 为一个注册商标,PS/2 是 IBM 的商标之ㄧ. Windows 是微软公司的商标 ELAN 和 ELAN 标志是义隆电子股份有限公司的商标 版权所有 2009~2010 义隆电子股份有限公司所有权利保留 台湾印制 本规格书内容如有变动恕不另作通知 关于该规格书的准确性 适当性或者完整性, 义隆电子股份有限公司不承担任何责任 义隆电子股份有限公司不承诺对本规格书之内容及信息有更新及校正之义务 本规格书的内容及信息将为符合确认之指示而变更 在任何情况下, 义隆电子股份有限公司对本规格书中的信息或内容的错误 遗漏, 或者其它不准确性不承担任何责任 由于使用本规格书中的信息或内容而导致的直接, 间接, 特别附随的或结果的损害, 义隆电子股份有限公司没有义务负责 本规格书中提到的软件 ( 如果有 ), 都是依据授权或保密合约所合法提供的, 并且只能在这些合约的许可条件下使用或者复制 义隆电子股份有限公司的产品不是专门设计来应用于生命维持的用具, 装置或者系统 义隆电子股份有限公司的产品不支持而且禁止在这些方面的应用 未经义隆电子股份有限公司书面同意, 任何个人或公司不得以任何形式或方式对本规格书的内容之任一部分进行复制或传输 义隆电子股份有限公司 总公司 : 地址 : 台湾新竹科学园区创新一路 12 号电话 :+886 3 563-9977 传真 :+886 3 563-9966 webmaster@emc.com.tw http://www.emc.com.tw 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 香港分公司 : 义隆电子 ( 香港 ) 有限公司九龙观塘巧明街 95 号世达中心 19 楼 A 室电话 :+852 2723-3376 传真 :+852 2723-7780 深圳分公司 : 义隆电子 ( 深圳 ) 有限公司地址 : 深圳市高新技术产业园南区高新南一道国微大厦 3F 邮编 :518057 电话 :+86 755 2601-0565 传真 :+86 755 2601-0500 elan-sz@elanic.com.cn USA: Elan Information Technology Group (USA) P.O. Box 601 Cupertino, CA 95015 USA Tel: +1 408 366-8225 Fax:+1 408 366-8225 上海分公司 : 义隆电子 ( 上海 ) 有限公司 地址 : 上海市浦東新區張江高科畢升路 289 弄 3 號 101 室 邮编 :201203 电话 :+86 21 5080-3866 传真 :+86 21 5080-0273 elan-sh@elanic.com.cn

Contents 目录 1 综述...1 2 产品特性... 1 3 引脚配置... 2 4 引脚描述... 3 4.1 EM78F562N/F662N 引脚描述... 3 5 结构图... 5 6 功能描述... 6 6.1 操作寄存器... 6 6.1.1 R0 ( 间接寻址寄存器 )... 6 6.1.2 R1 ( 时钟定时器 / 计数器 )... 6 6.1.3 R2 ( 程序计数器 ) 和堆栈... 6 6.1.4 R3 ( 状态寄存器 )... 8 6.1.5 R4 (RAM 选择寄存器 )... 9 6.1.6 Bank 0 R5 ~ R8 ( 端口 5 ~ 端口 8)... 9 6.1.7 Bank 0 R9 TBPTL ( 表格指针寄存器低字节 )... 9 6.1.8 Bank 0 RA ( 唤醒控制寄存器 )... 9 6.1.9 Bank 0 RB (EEPROM 控制寄存器 )... 10 6.1.10 Bank 0 RC (128 字节 EEPROM 地址 )... 10 6.1.11 Bank 0 RD (128 字节 EEPROM 数据 )... 10 6.1.12 Bank 0 RE (CPU 运行控制寄存器 )...11 6.1.13 Bank 0 RF ( 中断状态寄存器 )...11 6.1.14 R10 ~ R3F... 12 6.1.15 Bank 1 R5 ~R7... 12 6.1.16 Bank 1 R8 TC2CR ( 定时器 2 控制 )... 12 6.1.17 Bank 1 R9 TC2DH ( 定时器 2 高字节数据缓冲器 )... 15 6.1.18 Bank 1 RA TC2DL ( 定时器 2 低字节数据缓冲器 )... 15 6.1.19 Bank 1 RB ~RE... 15 6.1.20 Bank 1 RF ( 中断状态寄存器 )... 15 6.1.21 Bank 2 R5 AISR (ADC 输入选择寄存器 )... 16 6.1.22 Bank 2 R6 ADCON (A/D 控制寄存器 )... 17 6.1.23 Bank 2 R7 ADOC (A/D 补偿校准寄存器 )... 17 6.1.24 Bank 2 R8 ADDH (AD 高 8 位数据缓冲器 )... 18 6.1.25 Bank 2 R9 ADDL (AD 低 2 位数据缓冲器 )... 18 6.1.26 Bank 2 RA, RC ~RE... 18 6.1.27 Bank 2 RB CMPCON ( 比较器控制寄存器 )... 18 6.1.28 Bank 2 RF ( 上拉控制寄存器 1)... 19 6.1.29 Bank 3 R5... 19 6.1.30 Bank 3 R6 TBPTH ( 表格指针寄存器高字节地址 )... 19 6.1.31 Bank 3 R7~RC... 20 版本号 (V1.0) 03.31.2010 iii

Contents 6.1.32 Bank 3 RD TC3CR ( 定时器 3 控制寄存器 )... 20 6.1.33 Bank 3 RE TC3D ( 定时器 3 数据缓冲器 )... 22 6.1.34 Bank 3 RF ( 下拉控制寄存器 1)... 22 6.2 特殊功能寄存器... 22 6.2.1 A ( 累加器 )... 22 6.2.2 CONT ( 控制寄存器 )... 22 6.2.3 IOC5 ~ IOC8 (I/O 端口控制寄存器 )... 23 6.2.4 IOC9... 23 6.2.5 IOCA (WDT 控制寄存器 )... 23 6.2.6 IOCB ( 下拉控制寄存器 2)... 24 6.2.7 IOCC ( 漏极开路控制寄存器 )... 25 6.2.8 IOCD ( 上拉控制寄存器 2)... 25 6.2.9 IOCE ( 中断屏蔽寄存器 2)... 25 6.2.10 IOCF ( 中断屏蔽寄存器 1)... 26 6.3 TCC/WDT and Prescaler... 26 6.4 I/O 端口... 27 6.5 复位和唤醒... 31 6.5.1 复位... 31 6.5.1.1 唤醒和中断模式概述... 34 6.5.2 状态寄存器的 RST,T 与 P 的状态... 39 6.6 中断... 40 6.7 数据 EEPROM *... 41 6.7.1 数据 EEPROM 控制寄存器... 42 6.7.1.1 RB (EEPROM 控制寄存器 )... 42 6.7.1.2 RC (128 字节 EEPROM 地址寄存器 )... 42 6.7.1.3 RD (256 字节 EEPROM 数据寄存器 )... 42 6.7.2 编程步骤 / 范例... 43 6.7.2.1 编程步骤... 43 6.7.2.2 编程范例... 43 6.8 模数转换器 (ADC)... 43 6.8.1 ADC 控制寄存器 (AISR/R5, ADCON/R6, ADOC/R7)... 44 6.8.2 Bank 2 R5 AISR (ADC 输入选择寄存器 )... 44 6.8.3 Bank 2 R6 ADCON (A/D 控制寄存器 )... 45 6.8.4 Bank 2 R7 ADOC (A/D 补偿校准寄存器 )... 46 6.8.5 ADC 数据缓冲器 (ADDH, ADDL/R8, R9)... 46 6.8.6 A/D 采样时间... 46 6.8.7 A/D 转换时间... 47 6.8.8 休眠期间 A/D 运行... 47 6.8.9 编程步骤 / 范例... 47 6.8.9.1 编程步骤... 47 6.8.9.2 程序实例... 48 iv 版本号 (V1.0) 03.31.2010

Contents 6.9 定时 / 计数器 2... 49 6.10 定时 / 计数器 3... 51 6.11 比较器... 53 6.11.1 比较器输出... 53 6.11.2 比较器中断... 54 6.11.3 从休眠模式唤醒... 54 6.12 振荡器... 54 6.12.1 振荡器模式... 54 6.12.2 晶体振荡器 / 陶瓷谐振器 ( 晶体 )... 55 6.12.3 外部 RC 振荡器模式... 56 6.12.4 内部 RC 振荡模式... 57 6.13 代码选项寄存器... 57 6.13.1 代码选项寄存器 (Word 0)... 58 6.13.2 代码选项寄存器 (Word 1)... 59 6.13.3 用户 ID 寄存器 (Word 2)... 60 6.14 上电相关问题... 60 6.15 外部上电复位电路... 61 6.16 残留电压保护... 61 6.17 指令集... 62 7 时序图... 65 8 绝对最大值... 66 9 DC 电气特性... 66 9.1 数据 EEPROM 电气特性... 67 9.2 Flash 程序存储器电气特性... 67 9.3 A/D 转换器特性... 68 9.4 比较器特性... 69 10 AC 电气特性... 69 附录 A 封装类型... 70 B 封装形式... 71 B.1 EM78F562N/F662ND16 300mil... 71 B.2 EM78F562N/F662NSO16 300mil... 72 B.3 EM78F562N/F662NQN16 4x4mm... 73 B.4 EM78F562N/F662ND18 300mil... 74 B.5 EM78F562N/F662NSO18 300mil... 75 B.6 EM78F562N/F662ND20 300mil... 76 B.7 EM78F562/F662NSO20 300mil... 77 C 品质保证和可靠性... 78 版本号 (V1.0) 03.31.2010 v

Contents C.1 地址缺陷检测... 78 规格书修订历史 版本号修订描述日期 1.0 最初发行版本 2010/3/31 vi 版本号 (V1.0) 03.31.2010

1 综述 EM78F562N/F662N 是采用低功耗高速 CMOS 工艺开发的 8 位高抗干扰性的微控制器 它们拥有 2K 13 位片内 Flash 存储器, 并且 EM78F662N 还拥有 128 8 位系统可编程 EEPROM EM78F562N/F662N 提供三个保护位用以保护用户代码, 十二个代码选项位用于满足用户需求 基于增强的 FLASH-ROM 特性,EM78F662N 提供一种便利的开发和校验客户程序的途径 而且, 利用开发编程工具,FLASH-ROM 器件可以容易且有效地实现程序更新 用户可以使用义隆烧录器烧写程序代码 2 产品特性 CPU 配置 2K 13 位 Flash 存储器 144 8 位片内寄存器 (SRAM) 128 个字节在系统可编程 EEPROM ( 仅限于 EM78F662N) * 擦写寿命 :100,000 擦 / 写次数 数据保留超过 10 年 8 级堆栈用于子程序嵌套 在 5V/4MHz 工作条件下低于 2mA 在 3V/32KHz 工作条件下典型值为 20 µa 在休眠模式下典型值为 2µA I/O 端口配置 3 组双向 I/O 端口 唤醒端口 :P6 高灌流端口 :P6 12 个可编程下拉 I/O 引脚 8 个可编程上拉 I/O 引脚 4 个可编程漏极开路 I/O 引脚 外部中断端口 : P60 工作电压范围 : 工作电压 : 2.4V~5.5V 在 -40 C ~85 C ( 工业级 ) 工作电压 : 2.2V~5.5V 在 0 C ~70 C ( 商业级 ) 工作频率范围 ( 基于 2 个时钟 ): 晶体模式 : DC ~ 20 MHz @ 5V DC ~ 8 MHz @ 3V DC ~ 4 MHz @ 2.2V ERC 模式 : DC ~ 20 MHz @ 5V DC ~ 8 MHz @ 3V DC ~ 4 MHz @ 2.2V 内部 RC 频率 版本号 (V1.0) 03.31.2010 偏移率 温度电压 (-40 C+85 C) (2.2V~5.5V) 制程 总计 1 MHz ±3% ±4% ±2.5% ±9.5% 4 MHz ±3% ±4% ±2.5% ±9.5% 8 MHz ±3% ±5% ±2.5% ±10.5% 16 MHz ±3% ±5% ±2.5% ±10.5% IRC 偏移率 (Ta=25 C, VDD=5V ± 5%, VSS=0V) 一个 16 位定时 / 计数器 TC2 : 定时器 / 计数器 / 窗口 一个 8 位定时 / 计数器 TC3 : 定时器 / 计数器 / PDO( 可编程分频器输出 )/PWM( 脉宽可调制 ) 比较器 (CMP) 7 个中断 : 内部中断 :4 外部中断 :3 8 通道 10 位精度模数转换器 外设配置 8 位可选择时钟源 边沿触发和溢出中断的实时时钟 / 计数器 (TCC) 省电 ( 休眠 ) 模式 4 个可编程低电压复位检测器 (LVR) (LVR):4.0V, 3.5V, 2.7V, 与 POR 三个用以防止入侵 FLASH 代码存储器的安全寄存器 一个供给用户需求的配置寄存器 通过代码选项可选择指令周期为 2/4/8/16 个时钟 高抗 EFT 有两个副频,128kHz 和 16kHz,16kHz 是由 128kHz 分频产生的 单指令周期 晶振模式下的四种晶振范围 晶振频率范围 振荡器模式 20 MHz ~ 6 MHz HXT 6 MHz ~ 1 MHz XT 1 MHz ~ 100kHz LXT1 32.768kHz LXT2 独立运行的可编程看门狗定时器 封装类型 : 16-pin DIP 300mil : EM78F562N/F662ND16 16-pin SOP 300mil : EM78F562/662NSO16 16-pin QFN 4x4mm : EM78F562N/F662NQN16 18-pin DIP 300mil : EM78F562N/F662ND18 18-pin SOP 300mil : EM78F562N/F662NSO18 20-pin DIP 300 mil : EM78F562N/F662ND20 20-pin SOP 300mil : EM78F562/NF662NSO20 绿色产品, 不含有害物质 1

3 引脚配置 图 3-1 EM78F562N/F662ND16/SO16 图 3-2 EM78F562/662ND18/SO18 图 3-3 EM78F562/6622ND20/SO20 图 3-4 EM78F562N/662NQN16 2 版本号 (V1.0) 03.31.2010

4 引脚描述 4.1 EM78F562N/F662N 引脚描述 名称 功能 输入类型 输出类型 功能描述 P50/VREF P50 ST CMOS 双向输入 / 输出引脚, 通过软件设置可用作带下拉功能的引脚 VREF AN ADC 外部参考电压输入端口 P51 P51 ST CMOS 双向输入 / 输出引脚, 通过软件设置可用作带下拉功能的引脚 P52 P52 ST CMOS 双向输入 / 输出引脚, 通过软件设置可用作带下拉功能的引脚 P53 P53 ST CMOS 双向输入 / 输出引脚, 通过软件设置可用作带下拉功能的引脚 P54 ST CMOS 双向输入 / 输出引脚 P54/OSCI/RCOUT P55/OSCO/ERCin OSCI XTAL 外部时钟晶体振荡器输入引脚 RCOUT CMOS 内部 RC 振荡器时钟输出引脚外部 RC 振荡器时钟输出引脚 ( 开漏 ) P55 ST CMOS 双向输入 / 输出引脚 OSCO XTAL 外部时钟晶体振荡器输出引脚 ERCin AN 外部 RC 振荡器时钟输入引脚 P56 ST CMOS 双向输入 / 输出引脚 P56/TC2/AD6 TC2 ST 定时器 2 时钟输入引脚 AD6 AN ADC 输入引脚 6 P57 ST CMOS 双向输入 / 输出引脚 P57/TC3/PDO/AD7 P60/AD0//INT/CMPOUT P61/AD1/CMP+ P62/AD2/CMP- TC3 ST 定时器 3 时钟输入引脚 PDO CMOS 可编程分频器输出引脚 AD7 AN ADC 输入引脚 7 P60 ST CMOS AD0 AN ADC 输入引脚 0 /INT ST 外部中断输入引脚 CMPOUT CMOS 比较器输出引脚 P61 ST CMOS AD1 AN ADC 输入引脚 1 CMP+ AN 比较器同向输入 P62 ST CMOS AD2 AN ADC 输入引脚 2 双向输入 / 输出引脚, 通过软件设置可用作带下拉功能 / 上拉功能 / 开漏功能 / 唤醒功能的引脚 双向输入 / 输出引脚, 通过软件设置可用作带下拉功能 / 上拉功能 / 开漏功能 / 唤醒功能的引脚 双向输入 / 输出引脚, 通过软件设置可用作带下拉功能 / 上拉功能 / 开漏功能 / 唤醒功能的引脚 CMP- AN 比较器反向输入 P63/AD3 P63 ST CMOS 双向输入 / 输出引脚, 通过软件设置可用作带下拉功能 / 上拉功 版本号 (V1.0) 03.31.2010 3

能 / 开漏功能 / 唤醒功能的引脚 AD3 AN ADC 输入引脚 3 P70 P70 ST CMOS 双向输入 / 输出引脚 (DATA) (DATA) ST CMOS 烧录器烧录的 DATA 引脚 P71 P71 ST CMOS 双向输入 / 输出引脚 (CLK) (CLK) ST 烧录器烧录的 CLOCK 引脚 P72 P72 ST CMOS 双向输入 / 输出引脚 P73/AD4 P73 ST CMOS 双向输入 / 输出引脚 AD4 AN ADC 输入引脚 4 P77 ST CMOS 双向输入 / 输出引脚 P77/TCC/AD5 TCC ST 实时时钟 / 计数器时钟输入引脚 AD5 AN ADC 输入引脚 5 P83//RESET P83 ST CMOS 双向输入 / 输出引脚 /RESET ST 带内部上拉电路的复位引脚 (/RESET) (/RESET) ST 烧录器烧录的 /RESET 引脚 VDD VDD 电源电源 (VDD) VDD 电源 烧录器烧录的 VDD 引脚 VSS VSS 电源 地 (VSS) VSS 电源 烧录器烧录的 VSS 引脚 注 : ST: 施密特触发器输入, AN: 模拟信号输入, CMOS: CMOS 输出, XTAL: 晶振 / 振荡器振荡信号输入输出引脚 4 版本号 (V1.0) 03.31.2010

5 结构图 图 5-1 功能结构图 版本号 (V1.0) 03.31.2010 5

6 功能描述 6.1 操作寄存器 6.1.1 R0 ( 间接寻址寄存器 ) R0 并不是实际的物理寄存器 它的主要功能是作为间接寻址指针 任何对 R0 的操作实际上是对 RAM 选择寄存器 (R4) 所指向的寄存器进行操作 6.1.2 R1 ( 时钟定时器 / 计数器 ) R1 对来自 TCC 引脚的外部边沿触发信号或内部指令时钟周期进行加一计数,TCC 引脚信号的边沿触发类型由 CONT 寄存器的 TE 位设定 ;R1 和其他寄存器一样可读写, 通过复位 PSTE(CONT-3) 设定 如果 PSTE(CONT-3) 置 1, 则预分频器分配给 TCC 当 TCC 寄存器写入一个值时, 预分频计数器的内容将清零 6.1.3 R2 ( 程序计数器 ) 和堆栈 基于器件的型号,R2 和硬件堆栈都是 10 位宽的 结构描述如图 6-1 所示 此单元可产生 2Kx13 位片内 FLASH-ROM 地址以获取对应的程序指令编码 一个程序页是 1024 字长 当复位产生时, 程序计数器 R2 所有位被清 0 "JMP" 指令可直接装载程序计数器低 10 位 因此, JMP 可以在同一页 (1K) 内任意跳转 "CALL" 指令装载程序计数器的低 10 位 并将 PC+1 值压入堆栈 因此子程序入口地址可定位在一个程序页的任一位置 "LJMP" 指令可直接装载程序计数器的低 11 位值, 因此,"LJMP" 指令允许 PC 在 2K 程序页内跳转 "LCALL" 指令装载 PC 的低 11 位值, 并将 PC+1 压入堆栈 因此, 子程序入口地址可定位在 2K 程序页内的任一位置 "RET" ("RETL k", "RETI") 指令将栈顶数据装入 PC "ADD R2, A" 允许把 A 寄存器的内容加到当前 PC 上, 同时 PC 的第九位及以上各位依次增加 "MOV R2, A" 允许从 A 寄存器装载一个地址值到 PC 的低 8 位, 同时 PC 的第九位及第十位 (A8 ~ A9) 保持不变 执行任何 ( 例如 :"MOV R2, A", "BC R2, 6" 等 ) 对 R2 进行写入操作的指令 ( 除 ADD R2,A 外 ),PC 的第九位及第十位 (A8 ~ A9) 都会保持不变 除了那些改变 R2 内容的指令需要多于一个指令周期外, 所有指令都是单指令周期 (fclk/2,fclk/4,fclk/8 或 fclk/16) 6 版本号 (V1.0) 03.31.2010

图 6-1 程序存储器结构图 版本号 (V1.0) 03.31.2010 7

6.1.4 R3 ( 状态寄存器 ) 图 6-2 数据存储器结构图 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - - - T P Z DC C Bit 7 ~ Bit 5: 保留位, 全置为 0 Bit 4 (T): 时间溢出位 当执行 SLEP 和 WDTC 指令或上电复位后该位置 1, 当 WDT 溢出时清 0 Bit 3 (P): 省电标志位 8 版本号 (V1.0) 03.31.2010

执行 WDTC 指令或上电复位后该位置 1, 执行 SLEP 指令后该位清 0 Bit 2 (Z): 零标志位算术运算或逻辑运算结果为 0 时该位置 1 Bit 1 (DC): 辅助进位标志位 Bit 0 (C): 进位标志位 6.1.5 R4 (RAM 选择寄存器 ) Bits 7 ~ 6: 用于选择 BANK0 ~ BANK3 Bits 5~0: 在间接寻址方式中用于选择寄存器 ( 地址 : 00~3F) 参见数据存储器结构图, 图 6-2 6.1.6 Bank 0 R5 ~ R8 ( 端口 5 ~ 端口 8) R5 ~ R7 是 I/O 寄存器 6.1.7 Bank 0 R9 TBPTL ( 表格指针寄存器低字节 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 RBit 7 RBit 6 RBit 5 RBit 4 RBit 3 RBit 2 RBit 1 RBit 0 6.1.8 Bank 0 RA ( 唤醒控制寄存器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - ICWE ADWE EXWE - - CMPWE - Bit 7: 保留位, 全置为 0 Bit 6 (ICWE): 端口 6 输入状态改变唤醒使能位 0: 禁止端口 6 输入状态改变唤醒 1: 使能端口 6 输入状态改变唤醒 Bit 5 (ADWE): ADC 唤醒使能位 0: 禁止 ADC 唤醒 1: 使能 ADC 唤醒在 A/D 转换器运行情况下, 当 AD 转换完成后要进入中断向量或将 EM78F562N/F662N 从休眠模式唤醒时,ADWE 位必须先设置为使能 Bit 4 (EXWE): 外部中断唤醒使能位 0: 禁止外部 /INT 引脚唤醒 1: 使能外部 /INT 引脚唤醒 Bit 2: 保留位, 全置为 0 Bit 1 (CMPWE): 比较器唤醒使能位 0: 禁止比较器唤醒 版本号 (V1.0) 03.31.2010 9

1: 使能比较器唤醒 Bits 3, 0: 保留位, 全置为 0 6.1.9 Bank 0 RB (EEPROM 控制寄存器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 RD WR EEWE EEDF EEPC - - - Bit 7 (RD): 读控制位 0: 执行 EEPROM 的读操作结束 1: 执行读 EEPROM 内容操作 (RD 可由软件置 1, 读指令完成后由硬件清 0) Bit 6 (WR): 写控制位 0: 写 EEPROM 的周期完成. 1: 开始写 EEPROM 周期 (WR 可由软件置 1, 写周期完成后由硬件清 0) Bit 5 (EEWE): EEPROM 写使能位 0: 禁止写 EEPROM 1: 允许写 EEPROM Bit 4 (EEDF): EEPROM 侦测标志位 0: 写周期完成 1: 写周期未完成 Bit 3 (EEPC): EEPROM 电源控制位 0: 禁止 EEPROM 1: 使能 EEPROM Bits 2 ~ 0: 保留位, 全置为 0 * 此寄存器只限于 EM78F662N 6.1.10 Bank 0 RC (128 字节 EEPROM 地址 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - EE_A6 EE_A5 EE_A4 EE_A3 EE_A2 EE_A1 EE_A0 Bits 6 ~ 0: 128 字节 EEPROM 地址 * 此寄存器只限于 EM78F662N 6.1.11 Bank 0 RD (128 字节 EEPROM 数据 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 EE_D7 EE_D6 EE_D5 EE_D4 EE_D3 EE_D2 EE_D1 EE_D0 Bits 7 ~ 0: 128 字节 EEPROM 数据 * 此寄存器只限于 EM78F662N 10 版本号 (V1.0) 03.31.2010

6.1.12 Bank 0 RE (CPU 运行控制寄存器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - TIMERSC CPUS IDLE- - - - - Bit 7: 保留位, 全置为 0 Bit 6 (TIMERSC): TCC, TC2, TC3 时钟源选择 0: Fs. Fs: 副频,WDT 内部 RC 的时基 1: Fm. Fm: 主振荡器时钟 Bit 5 (CPUS): CPU 振荡源选择 0: 副振荡器 (fs) 1: 主振荡器 (fosc) 当 CPUS=0,CPU 振荡器选择副振荡器, 主振荡器停振 Bit 4 (IDLE): 空闲模式选择位, 该位确定在执行 SLEP 指令后将进入何种模式 0: IDLE= 0 +SLEP 指令 休眠模式 1: IDLE= 1 +SLEP 指令 空闲模式 CPU 运行模式 图 6-3 CPU 运行模式 Bits 3 ~ 0: 保留位, 全置为 0 6.1.13 Bank 0 RF ( 中断状态寄存器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 CMPIF ADIF - - - EXIF ICIF TCIF 注 : 1 表示中断请求 0 表示没有中断发生 Bit 7 (CMPIF): 比较器中断标志位 当比较器输出发生变化时置位, 由软件清 0 Bit 6 (ADIF): 模数转换器中断标志位 当 AD 转换完成时置位, 由软件清 0 版本号 (V1.0) 03.31.2010 11

Bits 5~3: 保留位, 全置为 0 Bit 2 (EXIF): 外部中断标志位 /INT 引脚有下降沿信号输入时置位, 由软件清 0 Bit 1 (ICIF): 端口 6 输入状态改变中断标志位 当端口 6 输入状态改变时置位, 由软件清 0 Bit 0 (TCIF): TCC 溢出中断标志位 当 TCC 溢出时置位, 由软件清 0. Bank 0 RF 可由指令清零但不能置位 IOCF 为中断屏蔽寄存器 需注意的是读 Bank 0 RF 的结果是 Bank 0 RF 与 IOCF 逻辑与 的结果 6.1.14 R10 ~ R3F 所有这些寄存器是 8 位通用寄存器 6.1.15 Bank 1 R5 ~R7 这些寄存器保留 6.1.16 Bank 1 R8 TC2CR ( 定时器 2 控制 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 RCM1 RCM0 TC2ES TC2M TC2S TC2CK2 TC2CK1 TC2CK0 Bit 7 and Bit 6 (RCM1, RCM0): IRC 模式选择位 烧录器校正 IRC 4MHz 16MHz 8MHz 1MHz Bank1 R8<7,6> RCM1 RCM0 频率工作电压范围稳定时间 0 0 4MHz±2.5% 2.2V~5.5V <5 us 0 1 16MHz±10% 4.5V~5.5V <1.5 us 1 0 8MHz±10% 3.0V~5.5V <3 us 1 1 1MHz±10% 2.2V~5.5V <22 us 0 0 4MHz±10% 2.2V~5.5V <6 us 0 1 16MHz±2.5 % 4.5V~5.5V <1.25 us 1 0 8MHz±10% 3.0V~5.5V <3 us 1 1 1MHz±10% 2.2V~5.5V <22 us 0 0 4MHz±10% 2.2V~5.5V <6 us 0 1 16MHz±10% 4.5V~5.5V <1.5 us 1 0 8MHz±2.5% 3.0V~5.5V <2.5 us 1 1 1MHz±10% 2.2V~5.5V <22 us 0 0 4MHz±10% 2.2V~5.5V <6 us 0 1 16MHz±10% 4.5V~5.5V <1.5 us 1 0 8MHz±10% 3.0V~5.5V <3 us 1 1 1MHz±2.5% 2.2V~5.5V <20 us 12 版本号 (V1.0) 03.31.2010

注意 BANK1 R8<7,6> 的初值将保持与 WORD0<7,6> 的值一致 当从 A 频率切换到 B 频率时,F562N/F662N 需保持在 B 频率稳定一段时间 例如 : 烧录器校正 IRC 4MHz BANK1 R8<7,6> 设置为 10 保持 3 us F562N/F662N 工作在 8MHz ± 10% 代码选项 WORD1 COBS=0 : R8<7,6> 的初值将保持与 WORD1<3,2> 的值一致 R8<7,6> 不能改变频率 代码选项 WORD1 COBS=1 : R8<7,6> 的初值将保持与 WORD1<3,2> 的值一致 当用户想让微控制器工作在其它 IRC 频率段时, 可通过 R8<7,6> 改变 Bit 5 (TC2ES): TC2 信号边沿选择位 0: 当 TC2 引脚由低变高 ( 上升沿 ) 时加 1 1: 当 TC2 引脚由高变低 ( 下降沿 ) 时加 1 Bit 4 (TC2M): 定时器 / 计数器 2 模式选择 0: 定时器 / 计数器模式 1: 窗口模式 Bit 3 (TC2S): 定时器 / 计数器 2 启动控制 0: 停止并清零计数器 1: 启动 Bit 2~Bit 0 (TC2CK2~TC2CK0): 定时器 / 计数器 2 时钟源选择 TC2CK2 TC2CK1 TC2CK0 时钟源分辨率最大时间正常 Fc=8M Fc=8M 0 0 0 Fc/2 23 1.05 sec 19.1 hr 0 0 1 Fc/2 13 1.02 ms 1.1 min 0 1 0 Fc/2 8 32µs 2.1 sec 0 1 1 Fc/2 3 1µS 65.5 ms 1 0 0 Fc 125nS 7.9 ms 1 0 1 1 1 0 1 1 1 外部时钟 (TC2 引脚 ) 版本号 (V1.0) 03.31.2010 13

图 6-4 定时器 / 计数器 2 结构图 定时器模式下, 用内部时钟执行加计数操作, 当加计数器内容与 TCR2(TCR2H+TCR2L) 内容相匹配时, 中断产生且计数器清零, 计数器清零之后计数重新开始 图 6-5 定时器模式时序图计数器模式下, 用输入引脚 (TC2 引脚 ) 的外部时钟执行加计数操作, 通过设置 TC2ES 位可选择上升沿或是下降沿有效, 当加计数器内容与 TCR2(TCR2H+TCR2L) 内容相匹配时, 中断产生且计数器清零, 计数器清零之后计数重新开始 图 6-6 计数器模式时序图 14 版本号 (V1.0) 03.31.2010

窗口模式下, 内部时钟和 TC2 引脚的脉冲 ( 窗口脉冲 ) 逻辑与后, 在脉冲的上升沿执行加计数操作, 当加计数器内容与 TCR2(TCR2H+TCR2L) 内容相匹配时, 中断产生且定时器清零 频率 ( 窗口脉冲 ) 需低于所选的内部时钟 写 TCR2L 时, 比对被禁止直到 TCR2H 写完 图 6-7 窗口模式时序图 6.1.17 Bank 1 R9 TC2DH ( 定时器 2 高字节数据缓冲器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TC2D15 TC2D14 TC2D13 TC2D12 TC2D11 TC2D10 TC2D9 TC2D8 Bit 7 ~ Bit 0 (TC2D8 ~ TC2D15): 16 位定时器 / 计数器 2 高字节数据缓冲器 6.1.18 Bank 1 RA TC2DL ( 定时器 2 低字节数据缓冲器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TC2D7 TC2D6 TC2D5 TC2D4 TC2D3 TC2D2 TC2D1 TC2D0 Bit 7 ~ Bit 0 (TC2D7 ~ TC2D0): 16 位定时器 / 计数器 2 低字节数据缓冲器 6.1.19 Bank 1 RB ~RE 这些是保留寄存器 6.1.20 Bank 1 RF ( 中断状态寄存器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - - TCIF3 TCIF2 - - - - 注 : 1 表示有中断请求 0 表示没有中断请求 Bits 7~6: 保留位, 全置为 0 Bit 5 (TCIF3): 8 位定时器 / 计数器 3 中断标志位, 中断标志由软件清零 Bit 4 (TCIF2): 16 位定时器 / 计数器 2 中断标志位, 中断标志由软件清零 RF 可由指令清零但不能置位 IOCE 是中断屏蔽寄存器 版本号 (V1.0) 03.31.2010 15

需注意地是读 Bank 1 RF 的结果是 Bank 1 RF 与 IOCE 逻辑与 的结果 Bits 3~0: 保留位, 全置为 0 6.1.21 Bank 2 R5 AISR (ADC 输入选择寄存器 ) AISR 寄存器用于定义 ADC 引脚为模拟输入或数字 I/O 引脚 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 Bit 7 (ADE7): P57 引脚 AD 转换器使能位 0: 禁止 ADC7, P57 作为 I/O 引脚 1: 使能 ADC7 作为模拟输入引脚 Bit 6 (ADE6): P56 引脚 AD 转换器使能位 0: 禁止 ADC6, P56 作为 I/O 引脚 1: 使能 ADC6 作为模拟输入引脚 Bit 5 (ADE5): P77 引脚 AD 转换器使能位 0: 禁止 ADC5, P77 作为 I/O 引脚 1: 使能 ADC5 作为模拟输入引脚 Bit 4 (ADE4): P73 引脚 AD 转换器使能位 0: 禁止 ADC4, P73 作为 I/O 引脚 1: 使能 ADC4 作为模拟输入引脚 Bit 3 (ADE3): P63 引脚 AD 转换器使能位 0: 禁止 ADC3, P63 作为 I/O 引脚 1: 使能 ADC3 作为模拟输入引脚 Bit 2 (ADE2): P62 引脚 AD 转换器使能位 0: 禁止 ADC2, P62 作为 I/O 引脚 1: 使能 ADC2 作为模拟输入引脚 Bit 1 (ADE1): P61 引脚 AD 转换器使能位 0: 禁止 ADC1, P61 作为 I/O 引脚 1: 使能 ADC1 作为模拟输入引脚 Bit 0 (ADE0): P60 引脚 AD 转换器使能位 0: 禁止 ADC0, P60 作为 I/O 引脚 1: 使能 ADC0 作为模拟输入引脚下表列出了 P60/AD0//INT/CMPOUT 优先级 P60/AD0//INT/CMPOUT 引脚优先级高中中低 /INT CMPOUT AD0 P60 16 版本号 (V1.0) 03.31.2010

6.1.22 Bank 2 R6 ADCON (A/D 控制寄存器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 VREFS CKR1 CKR0 ADRUN ADPD ADIS2 ADIS1 ADIS0 Bit 7 (VREFS): ADC 的参考电压输入源 0: ADC 的 Vref 与 Vdd 连接 ( 默认 ), 并且 P50/VREF 引脚被用作 P50 1: ADC 的 Vref 与 P50/VREF 连接 Bit 6 ~ Bit 5 (CKR1 ~ CKR0): ADC 振荡时钟预分频比 CKR1/CKR0 运作模式 最大运作频率 00 F OSC/4 4 MHz 01 F OSC 1 MHz 10 F OSC/16 16 MHz 11 F OSC/2 2 MHz Bit 4 (ADRUN): ADC 开始启动 0: 转换完成时复位, 此位不能通过软件复位 1: AD 转换开始, 此位能通过软件置位 Bit 3 (ADPD): ADC 省电模式 0: 在 CPU 保持运行的条件下关掉参考电阻以节省功耗 1: ADC 在运行, 处于非省电模式 Bits 2~0 (ADIS2~ADIS0): AD 输入选择位 ADIS2 ADIS1 ADIS0 AD 输入引脚 0 0 0 AD0 0 0 1 AD1 0 1 0 AD2 0 1 1 AD3 1 0 0 AD4 1 0 1 AD5 1 1 0 AD6 1 1 1 AD7 6.1.23 Bank 2 R7 ADOC (A/D 补偿校准寄存器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 CALI SIGN VOF[2] VOF[1] VOF[0] - - - Bit 7 (CALI): A/D 补偿校准使能位 0: 禁止校准 1: 使能校准 Bit 6 (SIGN): 偏移电压的极性选择位 0: 负电压版本号 (V1.0) 03.31.2010 17

1: 正电压 Bit 5 ~ 3 (VOF[2] ~ VOF[0]): 补偿电压选择位 VOF[2] VOF[1] VOF[0] 补偿电压 0 0 0 0LSB 0 0 1 1LSB 0 1 0 2LSB 0 1 1 3LSB 1 0 0 4LSB 1 0 1 5LSB 1 1 0 6LSB 1 1 1 7LSB Bits 2 ~0: 保留位, 全置为 0 6.1.24 Bank 2 R8 ADDH (AD 高 8 位数据缓冲器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 ADD9 ADD8 ADD7 ADD6 ADD5 ADD4 ADD3 ADD2 当 A/D 转换完成时, 高 8 位结果将装载到 ADDH,ADRUN 位被清 0, ADIF 位被置 1, R8 只读 6.1.25 Bank 2 R9 ADDL (AD 低 2 位数据缓冲器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - - - - - - ADD1 ADD0 Bits 7 ~ 2: 保留位, 全置为 0 6.1.26 Bank 2 RA, RC ~RE 这些是保留寄存器 6.1.27 Bank 2 RB CMPCON ( 比较器控制寄存器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - - - - - CPOUT CPS1 CPS0 Bits 7 ~ 3: 保留位, 全置为 0 Bit 2 (CPOUT): 比较器输出结果 注意 P60/AD0/INT/CMPOUT 引脚优先级如下 : 优先级 高 中 低 高 INT CMPOUT AD0 P60 18 版本号 (V1.0) 03.31.2010

Bit 1 ~ Bit 0 (CPS1 ~ CPS0): 比较器选择位 CPS1 CPS0 功能描述 0 0 比较器没被选用,P60 作为普通 I/O 引脚 0 1 比较器被选用,P60 作为普通 I/O 引脚 1 0 比较器被选用,P60 作为比较器输出引脚 (CMPOUT) 1 1 保留 注意 P61/AD1/CMP+ 引脚优先级如下 : 优先级 高 中 低 CMP+ AD1 P61 注意 P62/AD2/CMP- 引脚优先级如下 : 优先级 高 中 低 CMP- AD2 P62 6.1.28 Bank 2 RF ( 上拉控制寄存器 1) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - - - - /PH73 /PH72 /PH71 /PH70 Bits 7 ~ 4: 保留位, 全置为 0 Bit 3 (/PH73): 控制位, 使能 P73 引脚上拉功能 0: 使能内部上拉 1: 禁止内部上拉 Bit 2 (/PH72): 控制位, 使能 P72 引脚上拉功能 Bit 1 (/PH71): 控制位, 使能 P71 引脚上拉功能 Bit 0 (/PH70): 控制位, 使能 P70 引脚上拉功能 RF 寄存器可读写 6.1.29 Bank 3 R5 这个是保留寄存器 6.1.30 Bank 3 R6 TBPTH ( 表格指针寄存器高字节地址 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 MLB - - - - RBit 10 RBit 9 RBit 8 版本号 (V1.0) 03.31.2010 19

Bit 7 (MLB): 对机器码的 MSB 或 LSB 进行操作 Bit 6 ~ 3: 保留位, 全置为 0 Bit 2 ~ 0: 查表指针地址的第 10~8 位 6.1.31 Bank 3 R7~RC 这些是保留寄存器 6.1.32 Bank 3 RD TC3CR ( 定时器 3 控制寄存器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TC3FF1 TC3FF0 TC3S TC3CK2 TC3CK1 TC3CK0 TC3M1 TC3M0 Bit 7 ~ Bit 6 (TC3FF1 ~ TC3FF0): 定时器 / 计数器 3 触发控制 TC3FF1 TC3FF0 运作模式 0 0 清零 0 1 触发 1 0 置位 1 1 保留 Bit 5 (TC3S): 定时器 / 计数器 3 启动控制 0: 停止并清零计数器 1: 启动 Bit 4 ~ Bit 2 (TC3CK2 ~ TC3CK0): 定时器 / 计数器 3 时钟源选择位 TC3CK2 TC3CK1 TC3CK0 时钟源分辨率最大时间正常 Fc=8M Fc=8M 0 0 0 Fc/2 11 250 µs 64 ms 0 0 1 Fc/2 7 16 µs 4 ms 0 1 0 Fc/2 5 4 µs 1 ms 0 1 1 Fc/2 3 1 µs 255 µs 1 0 0 Fc/2 2 500 ns 127.5 µs 1 0 1 Fc/2 1 250 ns 63.8 µs 1 1 0 Fc 125 ns 31.9 µs 1 1 1 外部时钟 (TC3 引脚 ) - - Bit 1 ~ Bit 0 (TC3M1 ~ TC3M0): 定时器 / 计数器 3 工作模式选择位 TC3M1 TC3M0 Operating Mode 0 0 定时器 / 计数器 0 1 保留 1 0 可编程分频器输出 (PDO) 1 1 脉宽调制输出 (PWM) 20 版本号 (V1.0) 03.31.2010

图 6-8 定时器 / 计数器 3 结构图定时器模式下, 用内部时钟 ( 上升沿触发 ) 执行加计数操作, 当加计数器内容与 TCR3 内容相匹配时, 中断产生且计数器清零, 计数器清零之后计数重新开始 计数器模式下, 用输入引脚 (TC3 引脚 ) 的外部时钟执行加计数操作, 当加计数器内容与 TCR3 内容相匹配时, 中断产生且计数器清零, 计数器清零之后计数重新开始 可编程分频器输出 (PDO) 模式下, 用内部时钟执行加计数操作,TCR3 内容与加计数器内容做比较, 当它们的内容相匹配时 F/F 输出被触发, 计数器被清零,F/F 输出被取反并输出到 /PDO 引脚 该模式可产生占空比为 50% 的脉冲输出 F/F 可被程序初始化, 复位时其初始值为 0, 每次 /PDO 输出被触发时 TC3 都产生中断 图 6-9 PDO 模式时序图脉冲宽度调制 (PWM) 输出模式下, 用内部时钟执行加计数操作,TCR3 内容与加计数器内容作比较, 当它们的内容匹配时,F/F 被触发 计数器继续计数, 而计数器溢出时 F/F 被再次触发, 同时计数器清零 F/F 输出被反向并输出到 /PWM 引脚, 每次溢出发生时都会产生 TC3 中断 TCR3 被设置成 2 级移位寄存器, 输出期间输出不会改变, 直到完成一个输出周期 ( 即使 TCR3 被重写 ) 因此, 输出可连续地被改变, 在数据载入 TCR3 后, 通过置 TC3S 位为 1 来改变 TCR3 版本号 (V1.0) 03.31.2010 21

图 6-10 PWM 模式时序图 6.1.33 Bank 3 RE TC3D ( 定时器 3 数据缓冲器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TC3D7 TC3D6 TC3D5 TC3D4 TC3D3 TC3D2 TC3D1 TC3D0 Bit 7 ~ Bit 0 (TC3D7 ~ TC3D0): 计数器 / 定时器 3 的 8 位数据缓冲器 6.1.34 Bank 3 RF ( 下拉控制寄存器 1) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - - - - /PD73 /PD72 /PD71 /PD70 Bit 7~ Bit 4: 保留位, 全置为 0 Bit 3 (/PD73): P73 引脚下拉功能使能控制位 0: 使能内部下拉 1: 禁止内部下拉 Bit 2 (/PD72): P72 引脚下拉功能使能控制位 Bit 1 (/PD71): P71 引脚下拉功能使能控制位 Bit 0 (/PD70): P70 引脚下拉功能使能控制位 RF 寄存器可读写 6.2 特殊功能寄存器 6.2.1 A ( 累加器 ) 累加器 A 具有暂存器的功能, 内部数据传输或保持指令操作数通常都是通过累加器 A 来实现, 累加器 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 引脚出现上升沿时产生中断 22 版本号 (V1.0) 03.31.2010

1: 在 INT 引脚出现下降沿时产生中断 Bit 6 (/INT): 中断使能标记位 0: 由指令 DISI 或硬件屏蔽中断 1: 由 ENI/RETI 指令使能中断 Bit 5 (TS): TCC 信号源选择位 0: 内部指令周期时钟 1: TCC 引脚输入的时钟 Bit 4 (TE): TCC 时钟信号触发边沿选择位 0: 当 TCC 引脚由低变高时加 1( 上升沿 ) 1: 当 TCC 引脚由高变低时加 1( 下降沿 ) Bit 3 (PSTE): TCC 预分频器使能位 0: 禁止预分频器,TCC 预分频比为 1:1 1: 使能预分频器,TCC 预分频比由第 2~0 位定义 Bit 2 ~ Bit 0 (PST 2 ~ 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 CONT 是可读写寄存器 6.2.3 IOC5 ~ IOC8 (I/O 端口控制寄存器 ) 1 定义相关引脚为高阻抗输入状态, 0 定义相关引脚为输出状态 IOC5, IOC6, IOC7 和 IOC8 寄存器可读写 6.2.4 IOC9 保留寄存器 6.2.5 IOCA (WDT 控制寄存器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 WDTE EIS - - PSWE PSW2 PSW1 PSW0 Bit 7 (WDTE): 看门狗定时器使能控制位 0: 禁止 WDT 版本号 (V1.0) 03.31.2010 23

1: 使能 WDT WDTE 可读写 Bit 6 (EIS): 控制位, 用于定义 P60(/INT) 引脚的功能 0: P60, 双向 I/O 引脚 1: /INT, 外部中断引脚 此时,P60 的控制位 (IOC6 的第 0 位 ) 必须设为 1 当 EIS 为 0 时,/INT 被屏蔽 当 EIS 为 1 时, 可以通过读 PORT6(R6) 来判断 /INT 引脚的状态 EIS 可读写 Bits 5~4: 保留位, 全置为 0 Bit 3 (PSWE): WDT 预分频器使能位 0: 禁止预分频器,WDT 预分频比为 1:1 1: 使能预分频器,WDT 预分频比由 0~2 位定义 Bit 2 ~ Bit 0 (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 6.2.6 IOCB ( 下拉控制寄存器 2) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 /PD7 /PD6 /PD5 /PD4 /PD3 /PD2 /PD1 /PD0 Bit 7 (/PD7): P63 引脚下拉功能使能控制位 0: 使能内部下拉 1: 禁止内部下拉 Bit 6 (/PD6): P62 引脚下拉功能使能控制位 Bit 5 (/PD5): P61 引脚下拉功能使能控制位 Bit 4 (/PD4): P60 引脚下拉功能使能控制位 Bit 3 (/PD3): P53 引脚下拉功能使能控制位 Bit 2 (/PD2): P52 引脚下拉功能使能控制位 24 版本号 (V1.0) 03.31.2010

Bit 1 (/PD1): P51 引脚下拉功能使能控制位 Bit 0 (/PD0): P50 引脚下拉功能使能控制位 IOCB 寄存器可读写 6.2.7 IOCC ( 漏极开路控制寄存器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - - - - OD3 OD2 OD1 OD0 Bits 7 ~ 4: 保留位, 全置为 0 Bit 3 (OD3): P63 引脚漏极开路功能使能控制位 0: 禁止漏极开路输出 1: 使能漏极开路输出 Bit 2 (OD2): P62 引脚漏极开路功能使能控制位 Bit 1 (OD1): P61 引脚漏极开路功能使能控制位 Bit 0 (OD0): P60 引脚漏极开路功能使能控制位 IOCC 寄存器可读写 6.2.8 IOCD ( 上拉控制寄存器 2) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - - - - /PH3 /PH2 /PH1 /PH0 Bits 7~4: 保留位, 全置为 0 Bit 3 (/PH3): P63 引脚上拉功能使能控制位 0: 使能内部上拉功能 1: 禁止内部上拉功能 Bit 2 (/PH2): P62 引脚上拉功能使能控制位 Bit 1 (/PH1): P61 引脚上拉功能使能控制位 Bit 0 (/PH0): P60 引脚上拉功能使能控制位 IOCD 寄存器可读写 6.2.9 IOCE ( 中断屏蔽寄存器 2) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - - TCIE3 TCIE2 - - - - Bits 7~6: 保留位, 全置为 0 Bit 5 (TCIE3): 中断使能位 0: 禁止 TCIF3 中断 1: 使能 TCIF3 中断 版本号 (V1.0) 03.31.2010 Bit 4 (TCIE2): 中断使能位 25

0: 禁止 TCIF2 中断 1: 使能 TCIF2 中断 Bits 3 ~ 0: 保留位, 全置为 0 6.2.10 IOCF ( 中断屏蔽寄存器 1) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 CMPIE ADIE - - - EXIE ICIE TCIE Bit 7 (CMPIE): 中断使能位 0: 禁止 CMPIF 中断 1: 使能 CMPIF 中断 Bit 6 (ADIE): ADIF 中断使能位 0: 禁止 ADIF 中断 1: 使能 ADIF 中断 当 ADC 完成通常会进入中断向量或进入下一条指令, 此时 ADIE 位必需设置为 使能 Bits 5 ~ 3: 保留位, 全置为 0 Bit 2 (EXIE): EXIF 中断使能位 0: 禁止 EXIF 中断 1: 使能 EXIF 中断 Bit 1 (ICIE): ICIF 中断使能位 0: 禁止 ICIF 中断 1: 使能 ICIF 中断 Bit 0 (TCIE): TCIF 中断使能位 0: 禁止 TCIF 中断 1: 使能 TCIF 中断 通过置 IOCF 中相应的控制位为 1, 使能各个相关中断 总中断是由 ENI 指令使能, 由 DISI 指令禁止 IOCF 寄存器可读写 6.3 TCC/WDT and Prescaler 有两个 8 位的计数器分别可用作 TCC 和 WDT 的预分频器 CONT 寄存器的 PST0~PST2 位用于定义 TCC 的预分频比 同样的,IOCA 寄存器的 PSW0~PSW2 位用于定义 WDT 的预分频比 每次执行写 TCC 指令, 预分频计数器都会被清 0 执行 WDTC 和 SLEP 指令会将 WDT 和其预分频器清 0 图 6-11 描述了 TCC/WDT 的电路结构 R1(TCC) 是一个 8 位定时 / 计数器 TCC 的时钟源可以是内部时钟或外部信号 ( 由 TCC 引脚输入, 触发沿可选择 ) 如果 TCC 的信号源是来自内部时钟, 每一 Fc 时钟 TCC 就 26 版本号 (V1.0) 03.31.2010

加 1( 没有预分频 ) 如图 6-11 所示, 通过 Bank 0 RE.6< TIMERSC > 位选择 Fc 如果 TCC 的信号源是外部时钟, 在每一个下降沿或上升沿到来时 TCC 加 1 TCC 引脚输入脉冲宽度 ( 保持在高或低电平 ) 必须大于 1 个 CLK, 若 IC 进入休眠状态,TCC 将停止工作 看门狗定时器是一个独立运行的片内 RC 振荡器 即使在其它振荡器关闭的情况下 ( 也就是休眠模式下 ),WDT 仍保持运行 不管是在正常模式还是在休眠模式,WDT 定时器溢出 ( 若使能 ) 都将使 MCU 复位 在正常模式下, 通过软件设置可任意地禁止和使能 WDT, 具体请参考 IOCA 寄存器的 WDTE 位设置 在没有 WDT 预分频情况下,WDT 溢出时间大约是 18 ms 1 ( 振荡器的启动时间 ) 6.4 I/O 端口 图 6-11 TCC 与 WDT 结构框图 I/O 寄存器 Port5, 6, 7 与 8 均为三态双向 I/O 端口 Port6/7 可由软件设置为内部上拉, 此外,Port 6 也可由软件设置为漏极开路输出 Port 6 具有输入状态改变中断 ( 或唤醒 ) 的功能 P50 ~ P53,P60 ~ P63 与 Port 7 引脚可由软件设置为下拉 每个 I/O 引脚都可通过其对应的 I/O 控制寄存器 (IOC5 ~ IOC8) 设置为 输入 或 输出 I/O 寄存器和控制寄存器都是可读写的 Port5,Port6,Port7 与 Port8 I/O 接口电路如下列图所示 : 图 6-12,6-13(a),6-13(b) 和图 6-14 版本号 (V1.0) 03.31.2010 1 VDD=5V, WDT 溢出时间 = 16.5ms ± 5% VDD=3V, WDT 溢出时间 = 18ms ± 5%. 27

PCRD Q P R D _ Q CLK C L PCWR PORT Q P R D IOD _ Q CLK C L PDWR PDRD 0 1 M U X 注 : 下拉电路没在图中显示 图 6-12 P5, 6, 7 的 I/O 端口与 I/O 控制寄存器电路 28 版本号 (V1.0) 03.31.2010

PCRD Q _ Q P R D CLK C L PCWR P60 /INT PORT Bit 2 of IOCF Q _ Q P R D CLK C L PDWR IOD D P R CLK C L Q _ Q 0 1 M U X PDRD T10 P D R CLK C L Q _ Q INT 注 : 上 ( 下 ) 拉与漏极开路没有在图中显示 图 6-13 (a) P60(/INT) I/O 端口和 I/O 控制寄存器电路 版本号 (V1.0) 03.31.2010 29

PCRD Q _ Q P R D CLK C L PCWR P61~P63 PORT Q _ Q P R D CLK C L PDWR IOD 0 1 M U X PDRD TIN D P R CLK C L Q _ Q 注 : 上 ( 下 ) 拉与漏极开路没有在图中显示 图 6-13 (b) P61~P63,P83 I/O 端口与 I/O 控制寄存器电路 图 6-14 Port 6 I/O 端口输入状态改变中断 / 唤醒结构图 30 版本号 (V1.0) 03.31.2010

表 6-1 Port6 输入状态改变中断 / 唤醒功能的用法 (I) 由 Port 6 输入状态改变唤醒 (a) 休眠之前 端口 6 输入状态改变中断 / 唤醒功能的用法 (II) Port 6 输入状态改变中断 1. 读 Port 6 (MOV R6,R6) 1. 禁止 WDT 2 ( 小心使用 ) 2. 执行 "ENI" 2. 读 Port 6 (MOV R6,R6) 3. 使能中断 ( 置 IOCF.1) 3 a. 使能中断 ( 置 IOCF.1), 唤醒之后, 如果 ENI 则跳转到中断矢量地址 (006H), 如果 DISI 则执行下一条指令 3 b. 禁止中断 ( 清 IOCF.1), 总是执行下一条指令 4. 使能唤醒使能位 ( 置 RA.6) 5. 执行 "SLEP" 指令 (b) 唤醒之后 1. 如果 "ENI" 中断矢量地址 (006H) 2. 如果 "DISI" 下一条指令 6.5 复位和唤醒 6.5.1 复位 下面的任何事件之一可以触发复位 : (1) 上电复位 (2) /RESET 引脚输入低电平 (3) WDT 溢出 ( 如果使能 ) 4. 如果 Port 6 状态改变 ( 中断 ) 中断矢量地址 (006H) 在检测到复位信号之后, 器件将保持约 18ms 3 ( 振荡器启动时间 ) 的复位状态 一旦发生了复位, 下列功能将会执行 参见图 6-8 振荡器继续运行, 或起振 程序计数器 (R2) 被清 0 所有 I/O 引脚被设为输入模式 ( 高阻抗状态 ) 看门狗计数器和预分频器被清 0 上电时,R3 的高三位清 0 RB,RC,RD,RE 寄存器的所有位都保持原来的状态 CONT 寄存器除第 6 位 (INT 标志 ) 外所有位都为 0 版本号 (V1.0) 03.31.2010 2 软件禁止 WDT, 但是, 使用 Port 6 状态改变唤醒功能之前硬件必须使能 WDT( 代码配置寄存器 Word0 的第 6 位 (ENWDTB) 设为 1). 3 Vdd = 5V, 振荡器建立时间 = 16.8ms ± 8% Vdd = 3V, 振荡器建立时间 = 18ms ± 8% 31

禁止上拉 下拉 Bank 0 RF,IOCF 寄存器被清零执行 SLEP 指令进入休眠模式 ( 省电模式 ), 当进入休眠模式时,WDT( 如果使能 ) 清 0 但会继续运行 在 RC 模式中, 唤醒时间是 34 个时钟 在高频晶体模式中, 唤醒时间是 2ms 加 32 个时钟 在低频晶体模式中, 唤醒时间是 500ms MCU 可被如下情况唤醒 : (1) /RESET 引脚上输入的外部复位信号 (2) WDT 溢出 ( 若使能 ) (3) Port 6 输入状态改变 ( 若使能 ) (4) 外部中断引脚 (P60, /INT) 状态变化 ( 若 EXWE 使能 ) (5) A/D 转换完成 ( 若 ADWE 使能 ) (6) 比较器输出状态改变 ( 若 CMPWE 使能 ) 前两种情况会引起 EM78F562N/F662N 复位 R3 的 T 和 P 标志位可用来判断复位 ( 唤醒 ) 的来源 第三, 四, 五种情况唤醒后程序继续执行, 全局中断 ( 执行 ENI 或 DISI) 决定唤醒后控制器是否跳到中断向量地址 如果在 SLEP 指令执行之前执行 ENI 指令, 唤醒后程序将从地址 0x3, 0x6, 0xF, 0x15 或 0x30 处执行中断处理 如果在 SLEP 指令执行之前执行 DISI 指令, 唤醒后从 SLEP 的下一条指令开始执行 无论是何种振荡模式, 所有休眠模式唤醒时间都为 150us( 低频晶体模式除外 ), 低频晶体模式 2 的唤醒时间是 500ms 在进入休眠模式之前, 第 2~5 种情况仅有一种可被使能, 如下 : [a] 如果 WDT 在休眠之前使能,RE 的所有位禁止, 因此,EM78F562N/F662N 只能被情况 1,2 唤醒, 更多细节请参考 中断 章节 [b] 如果 Port6 输入状态改变用于唤醒 EM78F562N/F662N 且休眠前使能 RA 寄存器的 ICWE 位,WDT 须禁止, 因此,EM78F562N/F662N 只能由情况三唤醒 [c] 如果外部 (P60,/INT) 引脚状态改变用于唤醒 EM78F562N/F662N 且在休眠前 RA 寄存器的 EXWE 位使能,WDT 须由软件禁止, 因此,EM78F562N/F662N 只能由情况四唤醒 [d] 如果 AD 转换完成用于唤醒 EM78F562N/F662N 且在休眠前 RA 寄存器的 ADWE 位使能,WDT 须由软件禁止, 因此,EM78F562N/F662N 只能由情况五唤醒 [e] 如果比较器输出状态改变用于唤醒 EM78F562N/F662N 且在休眠之前 RA 寄存器的 CMPWE 位使能,WDT 须由软件禁止, 因此,EM78F562N/F662N 只能由情况六唤醒 32 版本号 (V1.0) 03.31.2010

如果 Port6 输入状态改变中断被用来唤醒 EM78F562N/F662N( 就如上面的情况 [a]), 在 SLEP 指令之前必须执行如下指令 : MOV A, @001110xxb ; 选择 WDT 分频比, 禁止 WDT IOW IOCA WDTC ; 清 WDT 和分频比 MOV R6, R6 ; 读 Port 6 ENI (or DISI) ; 使能 ( 或禁止 ) 全局中断 MOV A, @010xxxxxb ; 使能 Port 6 输入状态改变唤醒位 MOV RA,A MOV A, @00000x1xb ; 使能 Port 6 输入状态改变中断 IOW IOCF SLEP ; 休眠 同样, 如果使用比较器中断用于唤醒 EM78F662N( 如上面的情况 [C]), 在进入休眠之前必须按如下步骤设置 : Bank 3 ; 选择 Bank 3 MOV A, @xxxxxx10b ; 选择比较器,P60 用作 CO 引脚 MOV RB,A MOV A, @001110xxb ; 设置 WDT 分频比并禁止 WDT IOW IOCA WDTC ; 清 WDT 和分频比 ENI (or DISI) ; 使能 ( 或禁止 ) 全局中断 MOV A, @xxxxxx1xb ; 使能比较器输出状态改变唤醒位 MOV RA,A MOV A, @10000000b ; 使能比较器输出状态改变中断 IOW IOCF SLEP ; 休眠 版本号 (V1.0) 03.31.2010 33

6.5.1.1 唤醒和中断模式概述 所有唤醒和中断模式的描述如下 : 控制器可从休眠或空闲模式唤醒, 以下列表列出了所有的唤醒信号 : 唤醒信号 休眠模式 空闲模式 低速模式 正常模式 如果使能 EXWE 位 如果使能 EXWE 外部中断 唤醒位唤醒 + 中断 ( 如果中断使 + 中断 ( 如果中断中断 ( 如果中断使中断 ( 如果中断使能 ) 使能 ) 能 ) 或下一条指令能 ) 或下一条指令 + 下一条指令 + 下一条指令 Port 6 引脚状态改变 TCC 溢出中断 比较器中断 AD 转换完成中断 TC2 中断 TC3 中断 如果使能 ICWE 位唤醒 + 中断 ( 如果中断使能 ) + 下一条指令 x 如果使能 CMPWE 位唤醒 + 中断 ( 如果中断使能 ) + 下一条指令 如果使能 ADWE 位唤醒 + 中断 ( 如果中断使能 ) + 下一条指令 Fs 与 Fm 没有停止 x x 如果使能 ICWE 位唤醒 + 中断 ( 如果中断使能 ) + 下一条指令唤醒 + 中断 ( 如果中断使能 ) + 下一条指令如果使能 CMPWE 位唤醒 + 中断 ( 如果中断使能 ) + 下一条指令如果使能 ADWE 位唤醒 + 中断 ( 如果中断使能 ) + 下一条指令 Fs 与 Fm 没有停止唤醒 + 中断 ( 如果中断使能 ) + 下一条指令唤醒 + 中断 ( 如果中断使能 ) + 下一条指令 中断 ( 如果中断使能 ) 或下一条指令 中断 ( 如果中断使能 ) 或下一条指令 中断 ( 如果中断使能 ) 或下一条指令 中断 ( 如果中断使能 ) 或下一条指令 Fs 与 Fm 没有停止 中断 ( 如果中断使能 ) 或下一条指令 中断 ( 如果中断使能 ) 或下一条指令 中断 ( 如果中断使能 ) 或下一条指令 中断 ( 如果中断使能 ) 或下一条指令 中断 ( 如果中断使能 ) 或下一条指令 中断 ( 如果中断使能 ) 或下一条指令 中断 ( 如果中断使能 ) 或下一条指令 中断 ( 如果中断使能 ) 或下一条指令 WDT 溢出复位复位复位复位 低电压复位复位复位复位复位 唤醒后 : 1. 如果中断使能 中断 + 下一条指令 2. 如果中断禁止 下一条指令 34 版本号 (V1.0) 03.31.2010

表 6-2 寄存器初始值概述 Addr Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0x05 0x06 0x07 0x08 N/A IOC5 IOC6 IOC7 IOC8 CONT 位名 C57 C56 C55 C54 C53 C52 C51 C50 上电 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 位名 C63 C62 C61 C60 上电 0 0 0 0 1 1 1 1 /RESET 和 WDT 0 0 0 0 1 1 1 1 引脚输入状态改变唤醒 0 0 0 0 P P P P 位名 C77 C73 C72 C71 C70 上电 1 0 0 0 1 1 1 1 /RESET 和 WDT 1 0 0 0 1 1 1 1 引脚输入状态改变唤醒 P 0 0 0 P P P P 位名 C83 上电 0 0 0 0 1 0 0 0 /RESET 和 WDT 0 0 0 0 1 0 0 0 引脚输入状态改变唤醒 0 0 0 0 P 0 0 0 位名 INTE /INT TS TE PSTE PST2 PST1 PST0 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 P P P P P P P P 位名 IAR7 IAR6 IAR5 IAR4 IAR3 IAR2 IAR1 IAR0 上电 U U U U U U U U 0 00 R0 (IAR) /RESET 和 WDT P P P P P P P P 引脚输入状态改变唤醒 P P P P P P P P 0 01 R1 (TCC) 0 02 R2 (PC) 0 03 R3 (SR) 0 04 R4 (RSR) 位名 TCC7 TCC6 TCC5 TCC4 TCC3 TCC2 TCC1 TCC0 上电 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 位名 A7 A6 A5 A4 A3 A2 A1 A0 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 P P P P P P P P 位名 T P Z DC C 上电 0 0 0 1 1 U U U /RESET 和 WDT 0 0 0 t t P P P 引脚输入状态改变唤醒 0 0 0 t t P P P 位名 RSR7 RSR6 RSR5 RSR4 RSR3 RSR2 RSR1 RSR0 上电 U U U U U U U U /RESET 和 WDT P P P P P P P P 引脚输入状态改变唤醒 P P P P P P P P 版本号 (V1.0) 03.31.2010 35

Addr Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 05 0 06 0 07 0 08 0 09 0 0A 0 0B 0 0C 0 0D 0 0E P5 (Bank 0) P6 (Bank 0) P7 (Bank 0) P8 (Bank 0) R9 (Bank 0) RA (Bank 0) RB (ECR) (Bank 0) RC (Bank 0) RD (Bank 0) RE (Bank 0) 位名 P57 P56 P55 P54 P53 P52 P51 P50 上电 1 1 1 1 1 1 1 1 /RESET 和 WDT 1 1 1 1 1 1 1 1 引脚输入状态改变唤醒 P P P P P P P P 位名 x x x x P63 P62 P61 P60 上电 0 0 0 0 1 1 1 1 /RESET 和 WDT 0 0 0 0 1 1 1 1 引脚输入状态改变唤醒 0 0 0 0 P P P P 位名 P77 x x x P73 P72 P71 P70 上电 1 0 0 0 1 1 1 1 /RESET 和 WDT 1 0 0 0 1 1 1 1 引脚输入状态改变唤醒 P 0 0 0 P P P P 位名 x x x x P83 x x x 上电 0 0 0 0 1 0 0 0 /RESET 和 WDT 0 0 0 0 1 0 0 0 引脚输入状态改变唤醒 0 0 0 0 P 0 0 0 位名 RBit7 RBit6 RBit5 RBit4 RBit3 RBit2 RBit1 RBit0 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 P P P P P P P P 位名 x ICWE ADWE EXWE x x CMPW E 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 0 P P P 0 0 0 0 位名 RD WR EEWE EEDF EEPC x x x 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT P P P P P 0 0 0 引脚输入状态改变唤醒 P P P P P 0 0 0 位名 x EE_A6 EE_A5 EE_A4 EE_A3 EE_A2 EE_A1 EE_A0 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 P P P P P P P 引脚输入状态改变唤醒 0 P P P P P P P 位名 EE_D7 EE_D6 EE_D5 EE_D4 EE_D3 EE_D2 EE_D1 EE_D0 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT P P P P P P P P 引脚输入状态改变唤醒 P P P P P P P P 位名 x TIMER SC CPUS IDLE x x x x 上电 0 1 1 1 0 0 0 0 /RESET 和 WDT 0 1 1 1 0 0 0 0 引脚输入状态改变唤醒 0 P P P 0 0 0 0 x 36 版本号 (V1.0) 03.31.2010

Addr Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 0F 0 8 0 9 0 A 0 F 0 05 0 06 0 7 0 8 RF (ISR) (Bank 0) R8 (Bank 1) R9 (Bank 1) RA (Bank 1) RF (Bank 1) R5 (Bank 2) R6 (Bank 2) R7 (Bank 2) 位名 CMPIF ADIF x x x EXIF ICIF TCIF 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 P P 0 0 0 P P P 位名 RCM1 RCM0 TC2ES TC2M TC2S TC2CK2 TC2CK1 TC2CK0 上电 /RESET 和 WDT Option RCM1 Option RCM1 Option RCM0 Option RCM0 0 0 0 0 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 P P P P P P P P 位名 TC2D15 TC2D14 TC2D13 TC2D12 TC2D11 TC2D10 TC2D9 TC2D8 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 P P P P P P P P 位名 TC2D7 TC2D6 TC2D5 TC2D4 TC2D3 TC2D2 TC2D1 TC2D0 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 P P P P P P P P 位名 x x TCIF3 TCIF2 x x x x 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 0 0 0 0 0 0 0 0 位名 ADE8 ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 上电 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 CKR0 ADRUN ADPD ADIS2 ADIS1 ADIS0 上电 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 位名 CALI SIGN VOF[2] VOF[1] VOF[0] x x x 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 P P P P P 0 0 0 位名 ADD9 ADD8 ADD7 ADD6 ADD5 ADD4 ADD3 ADD2 R8 上电 0 0 0 0 0 0 0 0 (Bank 2) /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 P P P P P P P P 版本号 (V1.0) 03.31.2010 37

Addr. Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 9 0 0B 0 0F 0 06 0 D 0 E 0 F R9 (Bank 2) RB (Bank 2) RF (Bank 2) R6 (Bank 3) RD (Bank 3) RE (Bank 3) RF (Bank 3) 0 0A IOCA 0 0B IOCB 0 0C IOCC 位名 x x x x x x ADD1 ADD0 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 0 0 0 0 0 0 P P 位名 x x x x x CPOUT CPS1 CPS0 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 0 0 0 0 0 P P P 位名 x x x x /PH73 /PH72 /PH71 /PH70 上电 0 0 0 0 1 1 1 1 /RESET 和 WDT 0 0 0 0 1 1 1 1 引脚输入状态改变唤醒 0 0 0 0 P P P P 位名 MLB x x x x RBit 10 RBit 9 RBit 8 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 P 0 0 0 0 P P P 位名 TC3FF1 TC3FF0 TC3S TC3CK2 TC3CK1 TC3CK0 TC3M1 TC3M0 上电 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 位名 TC3D7 TC3D6 TC3D5 TC3D4 TC3D3 TC3D2 TC3D1 TC3D0 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 P P P P P P P P 位名 x x x x /PD73 /PD72 /PD71 /PD70 上电 0 0 0 0 1 1 1 1 /RESET 和 WDT 0 0 0 0 1 1 1 1 引脚输入状态改变唤醒 0 0 0 0 P P P P 位名 WDTE EIS x x PSWE PSW2 PSW1 PSW0 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 P P 0 0 P P P P 位名 /PD7 /PD6 /PD5 /PD4 /PD3 /PD2 /PD1 /PD0 上电 1 1 1 1 1 1 1 1 /RESET 和 WDT 1 1 1 1 1 1 1 1 引脚输入状态改变唤醒 P P P P P P P P 位名 x x x x OD3 OD2 OD1 OD0 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 38 版本号 (V1.0) 03.31.2010

引脚输入状态改变唤醒 0 0 0 0 P P P P Addr Name Reset Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 0D IOCD 0 0E IOCE 0 0F IOCF 0 10 ~ 0 2F R10 ~ R2F 位名 x x x x /PH3 /PH2 /PH1 /PH0 上电 0 0 0 0 1 1 1 1 /RESET 和 WDT 0 0 0 0 1 1 1 1 引脚输入状态改变唤醒 0 0 0 0 P P P P 位名 x x TCIE3 TCIE2 x x x x 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 0 0 P P 0 0 0 0 位名 CMPIE ADIE x x x EXIE ICIE TCIE 上电 0 0 0 0 0 0 0 0 /RESET 和 WDT 0 0 0 0 0 0 0 0 引脚输入状态改变唤醒 P P 0 0 0 P P P 位名 R7 R6 R5 R4 R3 R2 R1 R0 上电 U U U U U U U U /RESET 和 WDT P P P P P P P P 引脚输入状态改变唤醒 P P P P P P P P 说明 : = 保留位 P = 复位前的值 u = 未知或不用关心 t = 对照表 6-3 6.5.2 状态寄存器的 RST,T 与 P 的状态 复位由以下事件引起 1. 上电复位 2. 复位引脚输入高 - 低 - 高脉冲 3. 看门狗定时器溢出 表 6-3 列出了 T,P 的值, 用来检测是什么类型的唤醒 表 6-4 列出了可能影响 T,P 位的事件 表 6-3 复位后 RST,T 与 P 的值 复位类型 T P 上电 1 1 /RESET 在运行模式 *P *P /RESET 在休眠模式下唤醒 1 0 WDT 在运行模式 0 *P WDT 在休眠模式下唤醒 0 0 在休眠模式下引脚变化唤醒 1 0 * P: 复位前状态 版本号 (V1.0) 03.31.2010 39

表 6-4 T,P 被事件影响后的状态事件 T P 上电 1 1 WDTC 指令 1 1 WDT 溢出 0 *P SLEP 指令 1 0 在休眠模式下引脚变化唤醒 1 0 * P: Previous value before reset 6.6 中断 图 6-15 复位控制器结构图 EM78F562N/F662N 有 7 个中断 (3 个外部,4 个内部 ) 如表所列 : 内部 / 外部 中断源使能条件中断标志中断向量优先级 复位 - - 0000 高 0 外部 INT ENI + EXIE=1 EXIF 0003 1 外部 Port 6 引脚变化 ENI +ICIE=1 ICIF 0006 2 内部 TCC ENI + TCIE=1 TCIF 0009 3 外部 TC2 ENI + TCIE2=1 TCIF2 0024 4 内部 TC3 ENI + TCIE3=1 TCIF3 0027 5 内部 AD ENI + ADIE=1 ADIF 0030 6 外部比较器 ENI + CMPIE=1 CMPIF 0033 7 RF 是中断状态寄存器, 其相关的标志 / 位中记录中断需求 IOCF 是中断屏蔽寄存器 全局中断由 ENI 指令使能, 由 DISI 指令禁止 当一个中断发生时 ( 使能情况下 ), 下一条指令将进入它们各自的中断向量地址 在返回中断服务之前必须清中断标志位以避免循环的进入中断 40 版本号 (V1.0) 03.31.2010

中断状态寄存器 (RF) 标志位 ( 除了 ICIF) 的置位, 与其屏蔽位和全局中断是否使能无关 RETI 指令结束中断, 使能全局中断 ( 执行 ENI) 外部中断带有片内数字噪声抑制电路 ( 输入脉冲 ( 脉宽 ) 小于 8 倍系统时钟周期则被当作噪声滤除 ), 但在低频晶体振荡模式 (LXT) 下, 噪声滤除电路被禁止 当外部中断 ( 下降沿 )( 如果使能 ) 发生时, 下一条指令将从地址 003H 执行 在中断子程序执行前, 硬件保存 ACC R3 和 R4 寄存器的值, 如果另外一个中断发生, ACC R3 和 R4 将被新的中断覆盖 中断服务程序结束后 ACC R3 和 R4 的值被恢复 VCC /IRQn D PR CLK CL RF Q _ Q RFRD IRQn IRQm ENI/DISI INT IOCF Q _ Q PR D CLK CL IOCFWR IOD /RESET IOCFRD RFWR 图 6-16 中断输入电路 6.7 数据 EEPROM * 图 6-17 中断备份框图 * 此节只针对 EM78F662N. 在整个正常工作电压范围内, 数据 EEPROM 都是可读写的 对数据 EEPROM 的操作是基于单字节的 一个字节的写操作包含先擦除后写入的流程 数据 EEPROM 存储器实现了高速擦写 一个字节的写包括自动擦除存储单元并写入新值 版本号 (V1.0) 03.31.2010 41

6.7.1 数据 EEPROM 控制寄存器 6.7.1.1 RB (EEPROM 控制寄存器 ) EECR (EEPROM 控制寄存器 ) 是用来配置和初始化控制寄存器状态的控制寄存器 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 RD WR EEWE EEDF EEPC - - - Bit 7: 读控制寄存器 0: 禁止读 EEPROM 1: 开始读 EEPROM 内容, (RD 可用软件置位, 在读指令完成后由硬件清零 ). Bit 6: 写控制寄存器 0: 完成写 EEPROM 周期 1: 开始一个写周期, (WR 可用软件置位, 在写指令完成后由硬件清零 ). Bit 5: EEPROM 写使能位 0: 禁止写 EEPROM 1: 使能写 EEPROM Bit 4: EEPROM 检测标志位 0: 写周期完成 1: 写周期未完成 Bit 3: EEPROM 省电模式控制位 0: 关闭 EEPROM 1: 开启 EEPROM Bits 2 ~ 0: 保留位, 全部置零 6.7.1.2 RC (128 字节 EEPROM 地址寄存器 ) 当要访问 EEPROM 数据存储器时,RC(128 字节 EEPROM 地址寄存器 ) 存储要访问的地址 同理,RD(EEPROM 数据寄存器 ) 保存的是在 RC 地址上要写入的或要从中读出的数据 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - EE_A6 EE_A5 EE_A4 EE_A3 EE_A2 EE_A1 EE_A0 Bits 7: 保留位, 全部置零 Bits 6 ~ 0: 128 字节 EEPROM 地址 6.7.1.3 RD (256 字节 EEPROM 数据寄存器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 EE_D7 EE_D6 EE_D5 EE_D4 EE_D3 EE_D2 EE_D1 EE_D0 Bits 7 ~ 0: 寄存 256 字节 EEPROM 数据 42 版本号 (V1.0) 03.31.2010

6.7.2 编程步骤 / 范例 6.7.2.1 编程步骤 从 EEPROM 中读写数据须按如下步骤 : (1) 置 RB.EEPC 位为 1 以使能 EEPROM (2) 写地址值到 RC (128 字节 EEPROM 地址寄存器 ) a.1. 置 RB.EEWE 位为 1, 如果使用写入功能 a.2. 写 8 位待写数据值到 RD (256 字节 EEPROM 数据寄存器 ) a.3. 置 RB.WR 位为 1, 接着执行写功能 b. 置 RB.RD 位为 1, 接着执行读功能 (3) a. 等待 RB.EEDF 或 RB.WR 被清 0 b. 等待 RB.EEDF 被清 0 (4) 下一操作, 跳至步骤二 ( 若需要 ) (5) 如果用户想省电并确定 EEPROM 数据不用, 可清 RB.EEPC 位 6.7.2.2 编程范例 ; 定义控制寄存器 ; 写数据到 EEPROM RC == 0x0C RB == 0x0B RD == 0x0D Read == 0x07 WR == 0x06 EEWE == 0x05 EEDF == 0x04 EEPC == 0x03 BS RB, EEPC MOV A,@0x0A MOV RC,A BS RB, EEWE MOV A,@0x55 MOV RD,A BS RB,WR JBC RB,EEDF JMP $-1 ; 使能 EEPROM ; 写 EEPROM 地址值 ; 使能 EEPROM 的写功能 ; 写数据到 EEPROM 数据寄存器 ; 写值到 EEPROM ; 检查数据是否写完 6.8 模数转换器 (ADC) A/D 转换电路包括一个 8 位模拟多路复用器,3 个控制寄存器 (AISR/R5 (Bank 2), ADCON/R6 (Bank 2), ADOC/R7 (Bank 2)),2 个数据寄存器 (ADDH, ADDL/R8, R9) 和一个分辨率为 10 位的 ADC 图 6-18 所示为 ADC 的功能框图 模拟参考电压 (Vref) 和模拟地由独立引脚接入 逐次逼近式 ADC 模块将未知的模拟信号转换为数字值, 结果存放在 ADDH 和 ADDL 可通过 ADCON 寄存器的 ADIS0 至 ADIS2 位控制多路复用器来选择模拟输入通道 版本号 (V1.0) 03.31.2010 43

图 6-18 A/D 转换功能框图 6.8.1 ADC 控制寄存器 (AISR/R5, ADCON/R6, ADOC/R7) 6.8.2 Bank 2 R5 AISR (ADC 输入选择寄存器 ) AISR 寄存器定义 ADC 引脚作为模拟输入或数字 I/O Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 Bit 7 (ADE7): P57 引脚作为 AD 输入使能位 0: 禁止 ADC7,P57 作为 I/O 引脚 1: 使能 ADC7 作为模拟输入引脚 Bit 6 (ADE6): P56 引脚作为 AD 输入使能位 0: 禁止 ADC6,P56 作为 I/O 引脚 1: 使能 ADC6 作为模拟输入引脚 Bit 5 (ADE5): P77 引脚作为 AD 输入使能位 0: 禁止 ADC5,P77 作为 I/O 引脚 1: 使能 ADC5 作为模拟输入引脚 Bit 4 (ADE4): P73 引脚作为 AD 输入使能位 0: 禁止 ADC4,P73 作为 I/O 引脚 1: 使能 ADC4 作为模拟输入引脚 Bit 3 (ADE3): P63 引脚作为 AD 输入使能位 0: 禁止 ADC3,P63 作为 I/O 引脚 1: 使能 ADC3 作为模拟输入引脚 Bit 2 (ADE2): P62 引脚作为 AD 输入使能位 0: 禁止 ADC2,P62 作为 I/O 引脚 1: 使能 ADC2 作为模拟输入引脚 Bit 1 (ADE1): P61 引脚作为 AD 输入使能位 44 版本号 (V1.0) 03.31.2010

0: 禁止 ADC1,P61 作为 I/O 引脚 1: 使能 ADC1 作为模拟输入引脚 Bit 0 (ADE0): P60 引脚作为 AD 输入使能位 0: 禁止 ADC0,P60 作为 I/O 引脚 1: 使能 ADC0 作为模拟输入引脚下表列出了 P60/AD0//INT 的优先级 P60/AD0//Int 引脚优先级高中低 /INT AD0 P60 6.8.3 Bank 2 R6 ADCON (A/D 控制寄存器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 VREFS CKR1 CKR0 ADRUN ADPD ADIS2 ADIS1 ADIS0 Bit 7 (VREFS): ADC 参考电压输入源选择 0: ADC 的参考电压接到 Vdd( 默认值 ),P50/VREF 引脚用作 P50 功能 1: ADC 的参考电压接到 P50/VREF 引脚 Bit 6 ~ Bit 5 (CKR1 ~ CKR0): ADC 时钟频率预分频比 CKR1/CKR0 工作模式 最大工作频率 00 F OSC/4 4 MHz 01 F OSC 1 MHz 10 F OSC/16 16 MHz 11 F OSC/2 2 MHz Bit 4 (ADRUN): ADC 启动控制位 0: AD 转换结束清零 该位不可由软件清零 1: AD 转换开始 该位可由软件置 1 Bit 3 (ADPD): ADC 省电模式选择位 0: 关闭参考电阻以节省用电 1: ADC 正常运行 版本号 (V1.0) 03.31.2010 45

Bits 2~0 (ADIS2~ADIS0): 输入选择位 ADIS2 ADIS1 ADIS0 AD 输入引脚 0 0 0 AD0 0 0 1 AD1 0 1 0 AD2 0 1 1 AD3 1 0 0 AD4 1 0 1 AD5 1 1 0 AD6 1 1 1 AD7 6.8.4 Bank 2 R7 ADOC (A/D 补偿校准寄存器 ) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 CALI SIGN VOF[2] VOF[1] VOF[0] - - - Bit 7 (CALI): A/D 补偿校准使能位 0: 校准禁止 1: 校准使能 Bit 6 (SIGN): 补偿电压极性选择位 0: 负电压 1: 正电压 Bit 5 ~ Bit 3 (VOF[2] ~ VOF[0]): 补偿电压位 VOF[2] VOF[1] VOF[0] 补偿值 0 0 0 0 LSB 0 0 1 1 LSB 0 1 0 2 LSB 0 1 1 3 LSB 1 0 0 4 LSB 1 0 1 5 LSB 1 1 0 6 LSB 1 1 1 7 LSB Bits 2 ~ Bit 0 : 保留位, 全置为 0 6.8.5 ADC 数据缓冲器 (ADDH, ADDL/R8, R9) A/D 转换结束后, 转换结果存放到 ADDH, ADDL ADRUN 位清零,ADIF 位置 1 6.8.6 A/D 采样时间 逐次逼近式 AD 转换器的精确性 线性 速度由 AD 转换器和比较器的特性决定 阻抗源和内部采样阻抗直接影响采样电路中电容的充电时间 通过应用程序可控制采样时间长短以满足特定精度需要 一般来说, 对于每千欧姆模拟输入阻抗, 程序应等待 2µs, 对于低阻抗源应至少等待 2µs, 建议外部 AD 电路在 Vdd=5V 时的输入最大阻抗为 10KΩ 模拟输入通道选定后, 在转换开始之前应先满足这个采样时间 46 版本号 (V1.0) 03.31.2010

6.8.7 A/D 转换时间 CKR0 和 CKR1 依照指令周期来选择转换时间 (Tct) 在不影响 A/D 转换精度的条件下, 允许 MCU 运行在最高频率 对于 EM78F562N/F662N, 每位转换时间约为 1µs 表 6-5 列出了 Tct 与最高频率的关系 表 6-5 Tct 和最大工作频率 CKR0: CKR1 工作模式最大工作频率最大转换速率 / 位最大转换速率 / (10 位 ) 00 Fosc/4 4 MHz 4 MHz (1µs) (10+9)*1µs=19µs(52.6kHz) 01 Fosc 1 MHz 1 MHz (1µs) (10+9)*1µs=19µs(52.6kHz) 10 Fosc/16 16 MHz 16 MHz (1µs) (10+9)*1µs=19µs(52.6kHz) 11 Fosc/2 2 MHz 2 MHz (1µs) (10+9)*1µs=19µs(52.6kHz) AD 转换时间 (10 位 ): 3 fsys (DGD) + 1.5 A/D (DGD) + 4A/D (AMD) + 10A/D (AMD) 注意 没有被用作模拟输入的引脚可以被用作普通输入输出引脚 6.8.8 休眠期间 A/D 运行 转换期间, 不要执行输出指令以保持所有引脚的稳定 为了得到更精确的 ADC 值并降低功耗,AD 转换可以在休眠模式下进行 当执行 SLEP 指令后,MCU 停止工作, 但振荡器,TCC, TC2, TC3 和 AD 转换继续工作 当下列情况发生时说明 AD 转换结束 : 1.R6 寄存器的 ADRUN 位清零 2. 在休眠模式下保持运行, 由 A/D 转换唤醒 ADOC 转换结束后, 结果送入 ADDATA 如果 ADWE 使能, 则单片机将被唤醒 否则, 不论 ADPD 位是什么状态,A/D 转换器将关闭 6.8.9 编程步骤 / 范例 6.8.9.1 编程步骤 按照以下步骤获取 ADC 数据 : 1. 设置 R5(AISR) 寄存器的 8 个位 (ADE8 ~ ADE1) 以定义 R6 的特性 : 数字 I/O, 模拟通道和参考电压引脚 2. 写 R6/ADCON 寄存器以配置 AD 模块 : a) 选择 A/D 输入通道 (ADIS2 ~ ADIS0) b) 定义 A/D 转换时钟比率 (CKR1 ~ CKR0) c) 选择 ADC 的参考电压输入源 VREFS d) 把 ADPD 位置 1,ADC 开始采样 3. 如果使用唤醒功能, 请设置 ADWE 位 4. 如果使用中断功能, 请设置 ADIE 位 版本号 (V1.0) 03.31.2010 5. 如果使用中断功能, 请执行 ENI 指令 47

6. ADRUN 位置 1 7. 等待唤醒或 ADRUN 位被清零 8. 读转换数据寄存器 ADDATA 里的转换数据 9. 当 A/D 中断功能发生, 清除中断标志位 (ADIF) 10. 若需要下一次转换, 则跳至步骤 1 或步骤 2, 下一次采样开始之前需至少等待 2Tct 时间 注意 为了获得准确的结果, 在 AD 转换期间需避免有任何数据在 I/O 引脚上传输 6.8.9.2 程序实例 ; 定义通用寄存器 R_0 == 0 PSW == 3 PORT5 == 5 PORT6 == 6 RE== 0XE RF== 0XF ; 间接地址寄存器 ; 状态寄存器 ; 唤醒控制寄存器 ; 中断状态寄存器 ; 定义控制寄存器 IOC50 == 0X5 IOC60 == 0X6 C_INT== 0XF ; Port 5 控制寄存器 ; Port6 控制寄存器 ; 中断控制寄存器 ;ADC 控制寄存器 ADDATA == 0x8 ; 内容为 ADC 结果 AISR == 0x08 ; ADC 输出选择寄存器 ADCON == 0x6 ; 7 6 5 4 3 2 1 0 VREFS CKR1 CKR0 ADRUN ADPD (ADIS2~ ADIS0) ; 位定义 ;ADCON ADRUN == 0x4 ; 该位置 1 则 ADC 执行 ADPD == 0x3 ; ADC 电源模式 ORG 0 ; 初始地址 JMP INITIAL ORG 0x30 ; 中断向量 ( 用户代码 ) CLR RF ; 清除 ADIF BS ADCON, ADRUN ; 如果需要, 执行下一次 AD 转换 RETI INITIAL: MOV A, @0B00000001 ; 定义 P60 为模拟输入 MOV AISR, A MOV A, @0B00001000 ; 选择 P60 为一个模拟输入通道,AD 电源打开 48 版本号 (V1.0) 03.31.2010

MOV, A ; 定义 P60 为输入引脚, 选择时钟比率为 fosc/16 ADCON En_ADC: MOV A, @0BXXXXXXX1 ; 定义 P60 为输入引脚, 其他引脚根据实际应用 IOW PORT6 ; 定义 MOV A, @0BXXXX1XXX ; 使能 ADC 唤醒功能 ADWE 位, X 根据实际应 ; 用定义 MOV RE, A MOV A, @0BXXXX1XXX ; 使能 ADC 中断功能 ADIE 位, X 根据实际应 ; 用定义 IOW C_INT ENI ; 使能中断功能 BS ADCON, ADRUN ; 开始运行 ADC ; 如果使用中断功能, 接下来的三行可不用 POLLING: JBC, ADRUN ; 不断检测 ADRUN 位 ADCON JMP ; 当 AD 转换完成后 ADRUN 位将被复位 POLLING ( 用户代码 ) 6.9 定时 / 计数器 2 图 6-19 定时 / 计数器 2 结构图 定时器模式下, 用内部时钟执行加计数操作, 当加计数器内容与 TCR2(TCR2H+TCR2L) 内容相匹配时, 中断产生且计数器清零, 计数器清零后计数重新开始 版本号 (V1.0) 03.31.2010 49

图 6-20 定时器模式时序图计数器模式下, 用从输入引脚 (TC2 引脚 ) 输入的外部时钟执行加计数操作, 通过设置 TC2ES 位可选择上升沿或是下降沿有效, 当加计数器内容与 TCR2(TCR2H+TCR2L) 内容相匹配时, 中断产生且计数器清零, 计数器清零后计数重新开始 图 6-21 计数器模式时序图 (INT2ES = 1) 窗口模式下, 内部时钟和 TC2 引脚的脉冲 ( 窗口脉冲 ) 逻辑与后, 在脉冲的上升沿来临时执行加计数操作, 当加计数器内容与 TCR2(TCR2H+TCR2L) 内容相匹配时, 中断产生且计时器清零 频率 ( 窗口脉冲 ) 需低于所选的内部时钟 写 TCR2L 时, 比对被禁止直到 TCR2H 写完 50 版本号 (V1.0) 03.31.2010

6.10 定时 / 计数器 3 图 6-22 窗口模式时序图 图 6-23 定时器 / 计数器 3 结构图定时器模式下, 用内部时钟 ( 上升沿触发 ) 执行加计数操作, 当加计数器内容与 TCR3 内容相匹配时, 中断产生且计数器清零, 计数器清零后计数重新开始 计数器模式下, 用输入引脚 (TC3 引脚 ) 的外部时钟执行加计数操作, 当加计数器内容与 TCR3 内容相匹配时, 中断产生且计数器清零, 计数器清零之后计数重新开始 可编程分频器输出 (PDO) 模式下, 用内部时钟执行加计数操作,TCR3 内容与加计数器内容做比较, 当它们的内容相匹配时,F/F 输出被触发且计数器被清零,F/F 输出被取反并输出到 /PDO 引脚 该模式可产生 50% 占空比的脉冲输出 F/F 可被程序初始化, 复位时其初始值为 0, 每次 /PDO 输出被触发时 TC3 都产生中断 版本号 (V1.0) 03.31.2010 51

图 6-24 PDO 模式时序图脉宽调制 (PWM) 输出模式下, 用内部时钟执行加计数操作,TCR3 内容与加计数器内容作比较, 当它们内容相匹配时 F/F 被触发 计数器继续计数, 计数器溢出时 F/F 再次被触发, 同时计数器清零 F/F 输出被反向并输出到 /PWM 引脚, 每次溢出发生时即产生 TC3 中断 TCR3 被设置成 2 级移位寄存器, 输出期间输出不会改变直到一个输出周期完成, 即使 TCR3 被重写 因此, 输出可连续地被改变, 在数据载入 TCR3 后通过置 TC3S 位为 1,TRC3 第一次被移位 图 6-25 PWM 模式时序图 52 版本号 (V1.0) 03.31.2010

6.11 比较器 EM78F562N/F662N 有一个包含 2 个模拟输入端和 1 个输出端的比较器, 它可用于将 EM78F562N/F662N 从休眠模式唤醒, 比较器电路如下图所示 图 6-26 比较器方框图注意 参考信号幅度须在 Vss 与 Vdd 之间 参考电压可取比较器两个引脚中一个引脚 阈值检测器应用可与参考的一致 比较器可通过相同或不同的参考源工作 6.11.1 比较器输出 比较器输出结果存储在 Bank 2 RB 的 CPOUT 里 通过编程 Bank 2 RB 寄存器的 Bit 1, Bit 0<CPS1, CPS0> 值为 <1, 0> 设置比较器的输出端为 CMPOUT (P60) 参见 6.1.27 章节 Bank2 RB(CMPCON: 比较器控制寄存器 ) 比较器选择位的功能描述 下图为比较器的输出模块图 图 6-27 比较器输出框图 版本号 (V1.0) 03.31.2010 53

6.11.2 比较器中断 CMPIE3 (IOCF.7) 须使能, 以使 ENI 指令有效 比较器输出状态改变时产生中断 输出引脚的实际变化可通过读寄存器 Bank 2 RB<2> CPOUT 位确定 CMPIF (RF.7 Bank 0) 为比较器中断标志位, 只能由软件清零 6.11.3 从休眠模式唤醒 如果使能比较器, 即使进入休眠模式, 比较器仍然保持激活状态和中断功能 如果错误匹配发生, 中断将使器件从休眠模式中唤醒 电源损耗也应该考虑 在休眠模式下如果不使用比较器功能, 则须在进入休眠模式前将比较器关闭 6.12 振荡器 6.12.1 振荡器模式 IC 可运行在四种不同的振荡模式下, 即 : 内部 RC 振荡模式 (IRC) 外部 RC 振荡模式 (ERC) 高频晶体振荡模式(HXT) 和低频晶体振荡模式 (LXT) 用户可通过编程设置代码 选项寄存器的 OSC2, OCS1, 和 OSC0 位来选择其中一种振荡模式 表 6-6 描述了如何 定义这四种振荡模式 不同 VDD 下晶体 / 谐振模式的上限工作频率如表 6-7 所示 : 表 6-6 OSC2 ~ OSC0 与振荡模式的对应关系 : 模式 OSC2 OSC1 OSC0 XT ( 晶体振荡器模式 ) 0 0 0 HXT ( 高频晶体振荡器模式 ) 0 0 1 LXT1 ( 低频晶体振荡器模式 1) 0 1 0 LXT2 ( 低频晶体振荡器模式 2) 0 1 1 IRC 模式, OSCO (P54) 作为 I/O 引脚 1 0 0 IRC 模式, OSCO (P54) 作为 RCOUT 引脚 1 0 1 ERC 模式, OSCO (P54) 作为 I/O 引脚 1 1 0 ERC 模式, OSCO (P54) 作为 RCOUT 引脚 1 1 1 注 1. HXT 模式的频率范围是 16 MHz ~ 6 MHz. 2. XT 模式的频率范围是 6 MHz ~ 1 MHz. 3. LXT1 模式的频率范围是 1 MHz ~ 100kHz. 4. LXT2 模式的频率范围是 32kHz. 在 LXT, XT, HXT 和 ERC 模式下,OSCI 和 OSCO 引脚被使用, 它们不能用做普通 I/O 引脚 在 IRC 模式下,P55 用做普通 I/O 引脚 54 版本号 (V1.0) 03.31.2010

表 6-7 最大工作频率概述条件 VDD 最大频率 (MHz) 2.5 4.0 一个指令周期 2 个时钟 3.0 8.0 5.0 20.0 6.12.2 晶体振荡器 / 陶瓷谐振器 ( 晶体 ) EM78F562N/F662N 可由 OSCI 引脚输入的外部时钟信号驱动, 如下图 6-28 所示 OSCI 外部时钟 OSCO 图 6-28 外部时钟输入电路在大多数应用中,OSCI 和 OSCO 引脚连接一个晶体或陶瓷谐振器以产生振荡, 如图 6-29 所示,HXT 模式和 LXT 模式都是以此种方式产生振荡 表 6-8 提供 C1 和 C2 的推荐值 由于每个谐振器都有其各自的属性, 用户应参考规格书选择合适的 C1 和 C2 对于切片型晶体或低频模式, 可能需要串接电阻 RS OSCI C1 OSCO 晶振 RS C2 图 6-29 晶体 / 陶瓷谐振器电路 版本号 (V1.0) 03.31.2010 55

表 6-8 晶体振荡器或陶瓷谐振器匹配电容选择指南 : 振荡器类型频率模式频率 C1 (pf) C2 (pf) 陶瓷谐振器 晶体振荡器 LXT1 (100K~1 MHz) HXT2 (1 M~6 MHz) 100kHz 45pF 45pF 200kHz 20pF 20pF 455kHz 20pF 20pF 1.0 MHz 20pF 20pF 1.0 MHz 25pF 25pF 2.0 MHz 20pF 20pF 4.0 MHz 20pF 20pF LXT2 (32.768kHz) 32.768kHz 40pF 40pF 100kHz 45pF 45pF 200kHz 20pF 20pF LXT1 (100K~1 MHz) XT (1~6 MHz) HXT (6~20MHz) 6.12.3 外部 RC 振荡器模式 455kHz 20pF 20pF 1.0 MHz 20pF 20pF 455kHz 30pF 30pF 1.0 MHz 20pF 20pF 2.0 MHz 20pF 20pF 4.0 MHz 20pF 20pF 6.0 MHz 20pF 20pF 6.0 MHz 25pF 25pF 8.0 MHz 20pF 20pF 10.0 MHz 20pF 20pF 16.0 MHz 20pF 20pF 20.0 MHz 15pF 15pF 对于一些不需要精确计时的应用中,RC 振荡器 ( 图 6-30) 提供了一种节省成本的振荡方案 然而, 应注意的是 RC 振荡器的频率会受供电电压 电阻 (Rext) 电容(Cext) 甚至工作温度的影响 另外, 因为生产过程的差异, 一个器件与另外一个器件的频率也会存在细微的差别 为了维持在稳定的系统频率,Cext 值应不低于 20 pf,rext 值不高于 1 MΩ 如果它们不在此范围内, 系统频率则很容易受噪声 湿度和漏电流的影响 在 RC 振荡模式中,Rext 值越小, 其振荡频率越快 相反, 对一个非常小的 Rext 值, 例如 1 KΩ, 振荡器将变得不稳定, 因为 NMOS 不能及时地释放电容电荷 基于以上原因, 在使用 ERC 时必须时刻牢记供电电压 工作温度 RC 振荡器的元件特性 封装类型 PCB 制板等因素都会对系统频率产生影响 56 版本号 (V1.0) 03.31.2010

Vcc Rext ERCin EM78F662N Cext 表 6-9 RC 振荡器频率 图 6-30 ERC 振荡模式电路 Cext Rext 平均频率 5V, 25 C 平均频率 3V, 25 C 3.3k 3.5 MHz 3.2 MHz 20 pf 5.1k 2.5 MHz 2.3 MHz 10k 1.30 MHz 1.25 MHz 100k 140kHz 140kHz 3.3k 1.27 MHz 1.21 MHz 100 pf 5.1k 850kHz 820kHz 10k 450kHz 450kHz 100k 48kHz 50kHz 3.3k 560kHz 540kHz 300 pf 5.1k 370kHz 360kHz 10k 196kHz 192kHz 100k 20kHz 20kHz 注 : 1 : 在 DIP 封装类型下量测 2 : 仅作为设计参考 6.12.4 内部 RC 振荡模式 表 6-10 内部频率偏移率 (Ta=25 C, VDD=5 V± 5%, VSS=0V) 内部 RC 温度 (-40 C~85 C) 电压 (2.2V~5.5V) 偏移率 制程 总计 1 MHz ± 3% ± 4% ± 2.5% ± 9.5% 4 MHz ± 3% ± 4% ± 2.5% ± 9.5% 8 MHz ± 3% ± 5% ± 2.5% ± 10.5% 16 MHz ± 3% ± 5% ± 2.5% ± 10.5% 6.13 代码选项寄存器 EM78F562N/F662N 拥有 3 个代码选项字, 它不属于普通程序存储, 程序执行时不能被存取 代码选项寄存器与客户 ID 寄存器分配 : Word 0 Word 1 Word 2 Bit 12~Bit 0 Bit 12~Bit 0 Bit 12~Bit 0 版本号 (V1.0) 03.31.2010 57

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 Bit 0 助记符 - NRHL NRE RESETENB CLKS1 CLKS0 ENWDTB OSC2 OSC1 OSC0 PR2 PR1 PR0 1-8/fc 禁止使能高高使能高高高高高高 0-32/fc 使能禁止低低禁止低低低低低低 Bit 12: 保留位, 置为 0 Bit 11 (NRHL): 高低脉冲噪声抑制位,INT 引脚下降沿触发 1: 脉冲宽度 8/fc [s] 时认为是信号 0: 脉冲宽度 32/fc [s] 时认为是信号 ( 默认 ) 注意在 LXT2 和休眠模式下噪声抑制功能被关闭 Bit 10 (NRE): 噪声抑制使能位 ( 取决于 EM78F562N/F662N). INT 引脚下降沿触发 1: 禁止噪声抑制 0: 使能噪声抑制 ( 默认 ), 但在低晶体振荡模式下 (LXT), 噪声抑制电路禁止 Bit 9 (RESETENB): 复位引脚使能位 0: 禁止, P83//RESET P83 (default) 1: 使能, P83//RESET RESET 引脚 Bit 8 ~ Bit 7 (CLKS1 ~ CLKS0): 指令周期选项位指令周期 CLKS1 CLKS0 4 clocks 0 0 2 clocks 0 1 8 clocks 1 0 16 clocks 1 1 参见指令集章节 Bit 6 (ENWDTB): 看门狗定时器使能位 0: 禁止 1: 使能 Bit 5 ~ Bit 3 (OSC2 ~ OSC0): 振荡器模式选择位 58 版本号 (V1.0) 03.31.2010

振荡模式由 OSC2 ~ OSC0 定义模式 OSC2 OSC1 OSC0 XT ( 晶体振荡器模式 ) 0 0 0 HXT ( 高频晶体振荡器模式 ) 0 0 1 LXT1 ( 低频晶体振荡器模式 1) 0 1 0 LXT2 ( 低频晶体振荡器模式 2) 0 1 1 IRC 模式, OSCO (P54) 作为 I/O 引脚 1 0 0 IRC 模式, OSCO (P54) 作为 RCOUT 引脚 1 0 1 ERC 模式, OSCO (P54) 作为 I/O 引脚 1 1 0 ERC 模式, OSCO (P54) 作为 RCOUT 引脚 1 1 1 注 1. HXT 模式的频率范围是 16 MHz ~ 6 MHz. 2. XT 模式的频率范围是 6 MHz ~ 1 MHz. 3. LXT1 模式的频率范围是 1 MHz ~ 100kHz. 4. LXT2 模式的频率范围是 32kHz. Bit 2 ~ Bit 0 (PR2 ~ PR0): 保护位, 保护类型如下 : PR2 PR1 PR0 保护 1 1 1 使能 0 0 0 禁止 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 Bit 0 助记符 COBS TCEN - - C4 C3 C2 C1 C0 RCM1 RCM0 LVR1 LVR0 1 高 TCC - - 高 高 高 高 高 高 高 高 高 0 低 P77 - - 低 低 低 低 低 低 低 低 低 Bits 12 (COBS): 代码选项位选择 0: IRC 频率由代码选项选择 ( 默认 ) 1: IRC 频率由内部寄存器 Bank 1 R8 (7, 6) 选择 Bit 11 (TCEN): TCC 使能位 0: P77/TCC 设为 P77 1: P77/TCC 设为 TCC Bit 10 ~ Bit 9 : 固定为 1 Bit 8 ~ Bit 4 (C4 ~ C0): 内部 RC 模式校准位,C4 ~ C0 只能设置为 0 ( 自动校准 ) Bit 3 ~ Bit 2 (RCM1 ~ RCM0): RC 模式选择位 RCM 1 RCM 0 * 频率 (MHz) 0 0 4 0 1 16 1 0 8 1 1 1 版本号 (V1.0) 03.31.2010 59