MCV08A 数据手册 8 引脚 8 位闪存单片机 2007 Microchip Technology Inc. DS41339A_CN 请注意以下有关 Microchip 器件代码保护功能的要点: • Microchip 的产品均达到 Microchip 数据手册中所述的技术指标。 • Microchip 确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一。 • 目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以 Microchip 数据手册中规定的 操作规范来使用 Microchip 产品的。这样做的人极可能侵犯了知识产权。 • Microchip 愿与那些注重代码完整性的客户合作。 • Microchip 或任何其他半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是 “牢不可破”的。 代码保护功能处于持续发展中。 Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视 为违反了 《数字器件千年版权法案 (Digital Millennium Copyright Act)》。如果这种行为导致他人在未经授权的情况下,能访问您的 软件或其他受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。 提供本文档的中文版本仅为了便于理解。请勿忽视文档中包含 的英文部分,因为其中提供了有关 Microchip 产品性能和使用 情况的有用信息。Microchip Technology Inc. 及其分公司和相 关公司、各级主管与员工及事务代理机构对译文中可能存在的 任何差错不承担任何责任。建议参考 Microchip Technology Inc. 的英文原版文档。 本出版物中所述的器件应用信息及其他类似内容仅为您提供便 利,它们可能由更新之信息所替代。确保应用符合技术规范, 是您自身应负的责任。Microchip 对这些信息不作任何明示或 暗示、书面或口头、法定或其他形式的声明或担保,包括但不 限于针对其使用情况、质量、性能、适销性或特定用途的适用 性的声明或担保。 Microchip 对因这些信息及使用这些信息而 引起的后果不承担任何责任。如果将 Microchip 器件用于生命 维持和 / 或生命安全应用,一切风险由买方自负。买方同意在 由此引发任何一切伤害、索赔、诉讼或费用时,会维护和保障 Microchip 免于承担法律责任,并加以赔偿。在 Microchip 知识 产权保护下,不得暗中或以其他方式转让任何许可证。 商标 Microchip 的名称和徽标组合、 Microchip 徽标、 Accuron、 dsPIC、 KEELOQ、 KEELOQ 徽标、 microID、 MPLAB、 PIC、 PICmicro、 PICSTART、 PRO MATE、 rfPIC 和 SmartShunt 均为 Microchip Technology Inc. 在美国和其他国家或地区的注 册商标。 AmpLab、 FilterLab、 Linear Active Thermistor、 Migratable Memory、 MXDEV、 MXLAB、 SEEVAL、 SmartSensor 和 The Embedded Control Solutions Company 均为 Microchip Technology Inc. 在美国的注册商标。 Analog-for-the-Digital Age、 Application Maestro、 CodeGuard、 dsPICDEM、 dsPICDEM.net、 dsPICworks、 dsSPEAK、 ECAN、 ECONOMONITOR、 FanSense、 FlexROM、 fuzzyLAB、 In-Circuit Serial Programming、 ICSP、 ICEPIC、 Mindi、 MiWi、 MPASM、 MPLAB Certified 徽标、MPLIB、MPLINK、PICkit、PICDEM、PICDEM.net、 PICLAB、 PICtail、 PowerCal、 PowerInfo、 PowerMate、 PowerTool、 REAL ICE、 rfLAB、 Select Mode、 Smart Serial、 SmartTel、 Total Endurance、 UNI/O、 WiperLock 和 ZENA 均为 Microchip Technology Inc. 在美国和其他国家或地 区的商标。 SQTP 是 Microchip Technology Inc. 在美国的服务标记。 在此提及的所有其他商标均为各持有公司所有。 © 2007, Microchip Technology Inc. 版权所有。 Microchip 位于美国亚利桑那州 Chandler 和 Tempe 与位于俄勒冈州 Gresham 的全球总部、设计和晶圆生产厂及位于美国加利福尼亚州和 印度的设计中心均通过了 ISO/TS-16949:2002 认证。公司在 PIC® MCU 与 dsPIC® DSC、KEELOQ® 跳码器件、串行 EEPROM、单片机外 设、非易失性存储器和模拟产品方面的质量体系流程均符合 ISO/TS16949:2002。此外, Microchip 在开发系统的设计和生产方面的质量体 系也已通过了 ISO 9001:2000 认证。 DS41339A_CN 第 28 页 2007 Microchip Technology Inc. MCV08A 8 引脚 8 位闪存单片机 本数据手册所包含的器件: 低功耗休眠模式 在引脚电平发生变化时从休眠模式唤醒 在比较器电平发生变化时从休眠模式唤醒 振荡器选项: - INTOSC:4/8 MHz 高精度内部振荡器 - EXTRC:外部低成本 RC 振荡器 - XT:标准的晶振 / 谐振器 - LP:低功耗低频晶振 • 模数 (A/D)转换器 - 8 位分辩率 - 四路输入通道 (一路通道专用于转换内部 0.6V 绝对参考电压) • 用于直接驱动 LED 的高灌 / 拉电流 • 带有 8 位可编程预分频器的 8 位实时时钟 / 计数器 (TMR0) • • • • • MCV08A 高性能 RISC CPU: • 仅需学习 33 条单字指令 • 除程序跳转指令为双周期指令外,其他指令都是单 周期指令。 • 指令宽度为 12 位 • 两级深硬件堆栈 • 数据和指令的直接、间接和相对寻址模式 • 数据总线宽度为 8 位 • 10 个特殊功能硬件寄存器 (MCV08A) • 工作速度: - 晶振频率为 DC - 8 MHz (MCV08A) - 指令周期为 DC - 500 ns (MCV08A) 单片机的特殊性能: • 可选的 4 或 8 MHz 高精度内部振荡器: - 出厂时精度校准为 ±1% • 在线串行编程 (In-Circuit Serial Programming™, ICSP™) • 支持在线调试 (In-Circuit Debugging, ICD) • 上电复位 (Power-on Reset, POR) • 器件复位定时器 (Device Reset Timer, DRT) - 在 INTOSC 和 EXTRC 模式下可提供短暂的 DRT 延时 (1.125 ms,典型值) - 在 XT 和 LP 模式下可提供 DRT 延时 (18 ms,典型值) • 具有专用片上 RC 振荡器的看门狗定时器 (Watchdog Timer, WDT),能够可靠工作 • 可编程代码保护 • 复用的 MCLR 输入引脚 • I/O 引脚具有可选的内部弱上拉 程序存储器 低功耗特性 /CMOS 技术: • 工作电流: - 在 2V 和 4 MHz 时典型值 < 175 µA • 待机电流: - 2V 时典型值为 100 nA • 低功耗、高速闪存技术: - 可经受 10 万次擦写 - 数据保存时间 >40 年 • 全静态设计 • 宽工作电压范围:2.0V 至 5.5V • 宽温度范围: - 工业级:-40°C 至 +85°C 外设特性 (MCV08A): • 6 个 I/O 引脚: - 5 个具有独立方向控制的 I/O 引脚 - 1 个只可输入的引脚 数据存储器 器件 MCV08A 2007 Microchip Technology Inc. 闪存 (字) SRAM (字节) 1024 38 I/O 8位 定时器 6 1 DS41339A_CN 第 1 页 MCV08A 引脚图 DS41339A_CN 第 2 页 VDD 1 GP5/OSC1/CLKIN GP4/OSC2 2 3 GP3/MCLR/VPP 4 MCV08A PDIP 和 SOIC 8 7 VSS 6 GP1/AN1/C1IN-//ICSPCLK 5 GP2/AN2/T0CKI/C1OUT GP0/AN0/C1IN+/ICSPDAT 2007 Microchip Technology Inc. MCV08A 目录 1.0 器件综述 ....................................................................................................................................................................................... 5 2.0 架构概述 ....................................................................................................................................................................................... 7 3.0 存储器构成 ................................................................................................................................................................................. 11 4.0 I/O 端口 ...................................................................................................................................................................................... 19 5.0 TMR0 模块和 TMR0 寄存器 ....................................................................................................................................................... 25 6.0 比较器模块 ................................................................................................................................................................................. 29 7.0 模数 (A/D)转换器 ................................................................................................................................................................... 33 8.0 CPU 的特殊性能......................................................................................................................................................................... 37 9.0 电气规范 ..................................................................................................................................................................................... 51 10.0 封装 ............................................................................................................................................................................................ 63 索引 ...................................................................................................................................................................................................... 69 产品标识体系 ....................................................................................................................................................................................... 71 致 客 户 我们旨在提供最佳文档供客户正确使用 Microchip 产品。为此,我们将不断改进出版物的内容和质量,使之更好地满足您的要求。 出版物的质量将随新文档及更新版本的推出而得到提升。 如果您对本出版物有任何问题和建议,请通过电子邮件联系我公司 TRC 经理,电子邮件地址为 [email protected],或将本 数据手册后附的 《读者反馈表》传真到 86-21-5407 5066。我们期待您的反馈。 最新数据手册 欲获得本数据手册的最新版本,请查询我公司的网站: http://www.microchip.com 查看数据手册中任意一页下边角处的文献编号即可确定其版本。文献编号中数字串后的字母是版本号,例如:DS30000A是DS30000 的 A 版本。 勘误表 现有器件可能带有一份勘误表,描述了实际运行与数据手册中记载内容之间存在的细微差异以及建议的变通方法。一旦我们了解到 器件 / 文档存在某些差异时,就会发布勘误表。勘误表上将注明其所适用的硅片版本和文件版本。 欲了解某一器件是否存在勘误表,请通过以下方式之一查询: • Microchip 网站 http://www.microchip.com • 当地 Microchip 销售办事处 (见最后一页) 在联络销售办事处时,请说明您所使用的器件型号、硅片版本和数据手册版本 (包括文献编号)。 客户通知系统 欲及时获知 Microchip 产品的最新信息,请到我公司网站 www.microchip.com 上注册。 2007 Microchip Technology Inc. DS41339A_CN 第 3 页 MCV08A 注: DS41339A_CN 第 4 页 2007 Microchip Technology Inc. MCV08A 1.0 器件综述 MCV08A 器件是 Microchip Technology 生产的低成本、 高性能、8 位全静态的基于闪存的 CMOS 单片机。它们 采用 RISC 架构,仅有 33 条单字 / 单周期指令。除需要 两个周期的程序跳转指令之外,所有指令都是单周期指 令。MCV08A 器件的性能比同价位的其他产品要高出很 多。12 位宽的指令具有高度的对称性,与同类的 8 位单 片机相比其代码压缩了两倍。易于使用和记忆的指令 集,大大缩短了开发时间。 MCV08A 产品具备可以降低系统成本和功耗的特殊功 能。上电复位 (POR)和器件复位定时器 (DRT)使 器件不再需要外部复位电路。有四种振荡器配置可供选 择,包括 INTOSC 内部振荡模式和节省功耗的 LP (低 功耗)振荡模式。节省功耗的休眠模式、看门狗定时器 和代码保护功能降低了系统的成本和功耗,提高了系统 的可靠性。 1.1 应用 MCV08A器件适合从个人护理设备和安防系统到低功耗 远程发送器 / 接收器等各种应用。闪存技术使定制应用 程序 (发送器代码、设备设置和接收器频率等)变得非 常迅速和方便。小型封装适用于通孔或表面贴装,使本 单片机系列能适应各种空间有限的应用。低成本、低功 耗、高性能、易于使用和 I/O 灵活性使 MCV08A 器件能 够在您认为根本不能使用单片机的场合也可以大显神通 (如定时器功能、逻辑电路和较大系统中的 PLD 以及协 处理器应用)。 MCV08A 使得用户可以充分利用 Microchip 在可编程闪 存单片机市场上的价格优势,同时获得可灵活编程的闪 存产品。 支持 MCV08A 产品的开发工具有:全功能的宏汇编器、 软件模拟器、在线仿真器、 C 编译器、低成本的开发编 程器和全功能编程器。IBM PC 和兼容机都能支持这些 工具。 表 1-1: MCV08A 器件 MCV08A 时钟 最大工作频率 (MHz) 存储器 闪存程序存储器 8 1024 数据存储器 (字节) 外设 定时器模块 38 TMR0 在引脚电平发生变化时从休眠模式唤醒 特性 I/O 引脚 有 5 只能输入的引脚 1 内部上拉 有 在线串行编程 有 33 指令数量 封装 8 引脚 PDIP 和 SOIC MCV08A 器件具有上电复位、可选的看门狗定时器、可选的代码保护、高 I/O 电流能力和高精度内部振荡器。 MCV08A 器件通过数据引脚 RB0/GP0 和时钟引脚 RB1/GP1 进行串行编程。 2007 Microchip Technology Inc. DS41339A_CN 第 5 页 MCV08A 注: DS41339A_CN 第 6 页 2007 Microchip Technology Inc. MCV08A 2.0 架构概述 MCV08A 系列的高性能可以归功于 RISC 单片机中普遍 采用的许多架构特点。MCV08A 采用了哈佛架构,在这 种架构中,分别使用独立的总线访问程序和数据存储 器。与传统的程序和数据存储共用同一条总线的冯・诺 依曼架构相比,哈佛架构具有更加优良的总线带宽。独 立的程序和数据存储器使得指令宽度不再是 8 位。由于 指令操作码为 12 位宽,所以所有指令都可以是单字指 令。通过 12 位宽的程序存储器总线可以在单周期内取 一条 12 位的指令。两级流水线可以使取指和执指同时 进行。因此,除了程序跳转指令以外,所有指令 (33 条)都可以在单周期(20 MHz 时为 200 ns,4 MHz 时 为 1 µs)内执行。 下面的表 2-1 列出了 MCV08A 器件的程序存储器 (闪 存)和数据存储器 (RAM)。 表 2-1: ALU 为 8 位宽,并且能够执行加法、减法、移位和逻辑 运算。除非另外声明,算术运算一般都是以 2 的补码 (Two’s Complement)方式进行的。在具有两个操作数 的指令中,一个操作数通常是 W(工作)寄存器。其他 操作数可以是文件寄存器或者立即数常数。在只有一个 操作数的指令中,操作数可以是 W 寄存器,也可以是文 件寄存器。 W 寄存器是用于 ALU 操作的 8 位工作寄存器。它是不 可寻址的寄存器。 根据所执行的指令,ALU 可能影响状态(STATUS)寄 存器中进位 (C)、半进位 (DC)和零位 (Z)的值。 C 位和 DC 位在减法运算中可以分别作为借位和半借位 位。请参见 SUBWF 和 ADDWF 指令示例。 图 2-1 所示为 MCV08A 的简化框图,表 2-2 给出了该器 件的引脚配置。 MCV08A 存储器 存储器 器件 MCV08A 程序 数据 1024 × 12 38 × 8 MCV08A器件可以直接或间接地寻址它的文件寄存器和 数据存储器。所有特殊功能寄存器 (Special Function Register, SFR),包括 PC,都在数据存储器中映射。 MCV08A 器件具有高度正交(对称)的指令集,让它可 以在任何寄存器上使用任何寻址模式进行任何操作。这 种对称特性以及没有 “最佳状态” 让使用 MCV08A 器 件编程变得非常简单而高效。此外,学习时间也大大的 缩短了。 MCV08A 器件包含一个 8 位 ALU 和工作寄存器。 ALU 是通用算术单元。它在工作寄存器中的数据和其他任何 寄存器文件之间进行算术和布尔运算。 2007 Microchip Technology Inc. DS41339A_CN 第 7 页 MCV08A 图 2-1: MCV08A 系列框图 10-11 8 数据总线 程序计数器 闪存 GPIO GP0/ICSPDAT GP1/ICSPCLK GP2/T0CKI GP3/MCLR/VPP GP4/OSC2 GP5/OSC1/CLKIN 1K x 12 程序 总线 RAM 堆栈 1 程序 存储器 38 字节 堆栈 2 文件 寄存器 12 RAM 地址 9 地址 MUX 指令寄存器 直接寻址 间接寻址 5 5-7 FSR 寄存器 状态寄存器 8 3 器件复位 定时器 指令 译码和 控制 OSC2/OSC1/CLKIN 上电 复位 看门狗 定时器 时序 发生 内部RC 时钟 MUX ALU 8 W 寄存器 Timer0 MCLR DS41339A_CN 第 8 页 比较器 C1IN+ C1INC1OUT VREF 8 位 ADC AN0 AN1 AN2 VDD,VSS 2007 Microchip Technology Inc. MCV08A 表 2-2: 引脚配置说明——MCV08A 名称 I/O/P 类型 输入类型 输出类型 GP0/AN0/C1IN+/ICSP-DAT GP0 TTL CMOS GP1/AN1/C1IN-/ICSPCLK 说明 双向 I/O 引脚。可由软件编程为内部弱上拉并在该引 脚电平改变时从休眠模式唤醒。 AN0 AN - C1IN+ AN 比较器输入。 ICSPDAT ST - CMOS ADC 通道输入。 GP1 TTL CMOS 双向 I/O 引脚。可由软件编程为内部弱上拉并在该引 脚电平改变时从休眠模式唤醒。 AN1 AN - C1IN- AN 比较器输入。 双向 I/O 端口。 在线串行编程数据引脚。 ADC 通道输入。 ICSPCLK ST - CMOS GP2 TTL CMOS AN2 AN - ADC 通道输入。 T0CKI ST - Timer0 时钟输入。 C1OUT CMOS - 比较器输出。 GP3 TTL - 标准 TTL 输入。可由软件编程为内部弱上拉并在该引 脚电平改变时从休眠模式唤醒。 MCLR ST - VPP 高压 TTL - CMOS 编程电压输入。 XTAL XTAL 振荡器输出引脚。 GP5 - TTL CMOS 双向 I/O 端口。 OSC1 XTAL - CLKIN ST - EXTRC 施密特触发器输入。 VDD VDD P - 逻辑电路和 I/O 引脚的正电源。 VSS VSS P - 逻辑电路和 I/O 引脚的参考地。 GP2/AN2/T0CKI/C1OUT GP3/MCLR/VPP GP4/OSC2 GP4 OSC2 GP5/OSC1/CLKIN 图注: 在线串行编程时钟引脚。 MCLR 输入——在该模式下始终使能弱上拉。 双向 I/O 端口。 XTAL 振荡器输入引脚。 I = 输入, O = 输出, I/O = 输入 / 输出, P = 电源,- = 未实现, TTL = TTL 输入, ST = 施密特触发器输入, AN = 模拟电压 2007 Microchip Technology Inc. DS41339A_CN 第 9 页 MCV08A 2.1 时钟机制 / 指令周期 2.2 由OSC1/CLKIN引脚输入的时钟信号在器件内部被四分 频后,产生四个不重叠的正交时钟节拍,称为 Q1、Q2、 Q3 和 Q4。在每个 Q1 节拍,PC 递增;在 Q4 节拍从程 序存储器取指并将指令锁存到指令寄存器。指令的译码 和执行是在下一个 Q1 到 Q4 节拍中完成的。图 2-2 和 例 2-1 所示为时钟和指令执行流程。 指令流 / 流水线 一个指令周期由四个 Q 节拍组成 (Q1、 Q2、 Q3 和 Q4)。取指和执行指令是流水线操作的,因此取指需要 一个指令周期,而译码和执行指令则需要另一个指令周 期。但由于是流水线操作,所以每条指令的有效执行时 间都是一个指令周期。如果一条指令导致 PC 改变 (如 GOTO),则执行该指令需要两个周期 (例 2-1)。 取指周期由 Q1 节拍中 PC 加 1 开始。 在执行周期中,在 Q1 节拍将所取指令锁存到指令寄存 器 (Instruction Register, IR)中。然后在 Q2、 Q3 和 Q4 节拍中对该指令译码并执行指令。其中读数据存储 器 (读操作数)发生在 Q2 节拍,写操作发生在 Q4 节 拍 (写目标单元)。 图 2-2: 时钟 / 指令周期 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 OSC1 Q1 Q2 内部 相位 时钟 Q3 Q4 PC PC PC + 1 取指(PC) 执行指令(PC – 2) 例 2-1: PC + 2 取指(PC + 1) 执行指令(PC) 取指(PC + 2) 执行指令(PC + 1) 指令流水线 1. MOVLW 03H 2. MOVWF PORTB 3. CALL SUB_1 4. BSF PORTB, BIT1 取指 1 执行 1 取指 2 执行 2 取指 3 执行 3 取指 4 清除 取指 SUB_1 执行 SUB_1 除程序转移指令之外,所有指令都是单周期指令。由于程序转移指令将导致一条已取指令从流水线清除,需要重新 取指,然后执行指令,所以程序转移指令需要两个周期。 DS41339A_CN 第 10 页 2007 Microchip Technology Inc. MCV08A 3.0 存储器构成 图 3-1: MCV08A系列器件的存储器被分为程序存储器和数据存 储器。对于程序存储器大于 512 字节的器件,使用分页 机制。使用状态寄存器中的一位来访问程序存储器页。 对于数据存储器的文件寄存器多于32的MCV08A器件, 使 用 分 区 机 制。使 用 文 件 选 择 寄 存 器 (File Select Register, FSR)访问数据存储区。 3.1 PC<11:0> 10 CALL,RETLW 1 级堆栈 2 级堆栈 MCV08A 器件的程序存储器构成 复位向量 (1) MCV08A 器件具有一个 10 位程序计数器 (Program Counter, PC),此计数器可以寻址 2K x 12 位的程序 存储空间。 0000H 片上程序 存储器 用户存储 空间 只有前 1K x 12 (0000h-03FFh)单元是物理实现的 (见图 3-1)。访问这些边界以外的单元将导致返回到 1K x 12 空间。有效的复位向量为 0000h(见图 3-1)。 03FFh 单元包含内部时钟校准值。绝不能改写该值。 MCV08A 器件的程序存储器映射 和堆栈 512 字 01FFH 0200H 片上程序 存储器 1024 字 03FFh 0400h 7FFH 注 2007 Microchip Technology Inc. 1: 地址 0000h 变为有效的复位向量。 03FFh 单元包含 MOVLW XX 内部时钟 校准值。 DS41339A_CN 第 11 页 MCV08A 3.2 数据存储器构成 数据存储器由寄存器或 RAM 字节组成。因此,器件的 数据存储器是由其文件寄存器指定的。文件寄存器被分 为两个功能组:特殊功能寄存器 (SFR)和通用寄存器 (General Purpose Registers, GPR)。 图 3-2: MCV08A 文件寄存器映射 FSR<5> 0 00h INDF(1) 01h TMR0 02h PCL 03h STATUS 04h FSR 通用寄存器被用于存储数据和对指令命令的控制信息。 05h OSCCAL 对于 MCV08A 器件,文件寄存器由 10 个特殊功能寄存 器、6 个通用寄存器和 32 个可通过分区寻址的通用寄存 器组成 (见图 3-2)。 06h GPIO 07h CM1CON0 08h ADCON0 特殊 功 能 寄 存 器 包 括 TMR0 寄 存 器、程 序 计 数器 (PCL)、状态寄存器、I/O 寄存器(端口)和文件选择 寄存器 (FSR)。此外,特殊功能寄存器还被用于控制 I/O 端口配置和预分频比选择。 09h 3.2.1 0Ah 通用文件寄存器 通用文件寄存器可以被直接寻址,也可以通过文件选择 寄存器 (FSR)间接寻址。请参见第 3.8 节 “间接数据 寻址:INDF 和 FSR 寄存器”。 地址映射返回 到Bank 0中的 地址。 ADRES 0Fh 2Fh 10h 30h 通用 寄存器 通用 寄存器 3Fh Bank 0 注 20h 通用 寄存器 1Fh DS41339A_CN 第 12 页 1 寄存器地址 Bank 1 1: 不是物理寄存器。 2007 Microchip Technology Inc. MCV08A 特殊功能寄存器 3.2.2 特殊功能寄存器 (SFR)由 CPU 和外设使用,用于控 制器件的操作 (见表 3-1)。 特殊功能寄存器可分为两类。与内核功能有关的特殊功 能寄存器将在本节讲述。而另一类与外设功能操作有关 的特殊功能寄存器将在相应的外设功能模块章节中讲 述。 表 3-1: 地址 特殊功能寄存器汇总——MCV08A 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 上电复位 时的值 N/A TRIS I/O 控制寄存器 (TRISGPIO) --11 1111 N/A OPTION 包含配置 Timer0 和 Timer0/WDT 预分频器的控制位 1111 1111 00h INDF 使用 FSR 的内容寻址数据存储器 (非物理寄存器) xxxx xxxx 01h TMR0 Timer0 模块寄存器 xxxx xxxx 02h(1) PCL PC 的低 8 位 1111 1111 03h STATUS 04h FSR 05h OSCCAL 06h GPIO 07h CM1CON0 08h ADCON0 09h ADRES GPWUF CWUF PA0 TO PD Z DC C 0001 1xxx 110x xxxx 间接数据存储器地址指针 CAL6 CAL5 CAL4 CAL3 CAL2 CAL1 CAL0 - 1111 111- - - GP5 GP4 GP3 GP2 GP1 GP0 --xx xxxx C1OUT C1OUTEN C1POL C1T0CS C1ON C1NREF C1PREF C1WU 1111 1111 ANS1 ANS0 ADCS1 ADCS0 CHS1 CHS0 GO/DONE ADON 1111 1100 ADC 转换结果 xxxx xxxx 图注: x = 未知, u = 不变,- = 未实现 (读为 0)(如果适用)。阴影单元 = 未实现或未用。 注 1: 程序计数器的最高字节是不可直接访问的。欲知关于如何访问这些位的说明,请参见第 3.6 节 “程序计数器”。 3.3 状态寄存器 该寄存器包含 ALU 的数学运算状态、复位状态和页预选 择位。 和其他寄存器一样,状态寄存器可以作为任何指令的目 标寄存器。如果将该寄存器作为一条影响 Z、 DC 或 C 位的指令的目标寄存器,那么将禁止对这 3 位执行写操 作。根据器件逻辑,这些位会被置 1 或清零。此外,TO 和 PD 位是不可写的。所以当执行一条把状态寄存器作 为目标寄存器的指令后,结果可能和预想的不同。 例如, CLRF STATUS 会将状态寄存器的高 3 位清零且 将 Z 位置 1。这会使状态寄存器的值为 000u u1uu(其 中 u = 不变)。 因此,建议只使用 BCF、 BSF 和 MOVWF 指令来改变 STATUS 寄存器的值。这些指令不会影响状态寄存器的 Z、 DC 或 C 位。 2007 Microchip Technology Inc. DS41339A_CN 第 13 页 MCV08A 寄存器 3-1: STATUS:状态寄存器 (MCV08A) R/W-0 R/W-0 R/W-0 R-1 R-1 R/W-x R/W-x R/W-x GPWUF CWUF PA0 TO PD Z DC C bit 7 bit 0 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 -n = POR 时的值 1=置1 0 = 清零 x = 未知 bit 7 GPWUF:GPIO 复位位 1 = 由于在引脚电平变化时从休眠中唤醒而复位 0 = 在上电或其他复位后复位 bit 6 CWUF:比较器复位位 1 = 由于在比较器电平变化时从休眠中唤醒而复位 0 = 在上电或其他复位后复位 bit 5 PA0:程序页面预选位 1 = 页面 1 (200h-3FFh) 0 = 页面 0 (000h-1FFh) 每个页面为 512 字节。 建议不要在不使用 PA0 位进行程序页面预选的器件中将 PA0 位用作通用读 / 写位,因为这可能会影响与未来产品的 向上兼容性。 bit 4 TO:超时位 1 = 在上电、执行 CLRWDT 或 SLEEP 指令后 0 = 产生了 WDT 超时 bit 3 PD:掉电位 1 = 在上电或执行 CLRWDT 指令后 0 = 执行 SLEEP 指令 bit 2 Z:全零位 1 = 算术运算或逻辑运算的结果为零 0 = 算术运算或逻辑运算的结果不为零 bit 1 DC:半进位 / 借位位 (对于 ADDWF 和 SUBWF 指令) ADDWF: 1 = 结果的第 4 个低位发生了进位 0 = 结果的第 4 个低位未发生进位 SUBWF: 1 = 结果的第 4 个低位未发生借位 0 = 结果的第 4 个低位发生了借位 bit 0 C:进位 / 借位位 (对于 ADDWF、 SUBWF 和 RRF、 RLF 指令) ADDWF: SUBWF: RRF 或 RLF: 1 = 发生了进位 1 = 未发生借位 分别将 LSb 或 MSb 装入位中 0 = 未发生进位 0 = 发生了借位 DS41339A_CN 第 14 页 2007 Microchip Technology Inc. MCV08A 选项寄存器 3.4 选项 (OPTION)寄存器是一个 8 位宽的只读寄存器, 它包含各种配置 Timer0/WDT 预分频器和 Timer0 的控 制位。 通过执行 OPTION 指令,可将 W 寄存器的内容传送到 选项寄存器。复位会将 OPTION<7:0> 位置 1。 注 1: 当 TRIS 位清零 (=0)时,相应引脚的电 平变化唤醒和上拉功能都被禁止 (即,注 意 TRIS 将改写 GPPU/RBPU 和 GPWU/ RBWU 选择控制位)。 2: 当 T0CS 位置 1 时,它将改写 T0CKI 引脚 的 TRIS 功能。 寄存器 3-2: OPTION_REG:OPTION 寄存器 (MCV08A) W-1 W-1 W-1 W-1 W-1 W-1 W-1 W-1 GPWU GPPU T0CS T0SE PSA PS2 PS1 PS0 bit 7 bit 0 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 -n = POR 时的值 1=置1 0 = 清零 bit 7 GPWU:引脚电平变化唤醒使能位 (GP0、 GP1 和 GP3) 1 = 禁止 0 = 使能 bit 6 GPPU:弱上拉使能位 (GP0、 GP1 和 GP3) 1 = 禁止 0 = 使能 bit 5 T0CS:Timer0 时钟源选择位 1 = T0CKI 引脚上的电平跳变 0 = 内部指令周期时钟 (CLKOUT) bit 4 T0SE:Timer0 时钟源边沿选择位 1 = 在 T0CKI 引脚信号从高至低跳变时,递增计数 0 = 在 T0CKI 引脚信号从低至高跳变时,递增计数 bit 3 PSA:预分频器分配控制位 1 = 预分频器分配给 WDT 0 = 预分频器分配给 Timer0 bit 2-0 PS<2:0>:预分频比选择位 位值 000 001 010 011 100 101 110 111 2007 Microchip Technology Inc. x = 未知 Timer0 预分频比 WDT 预分频比 1:2 1:4 1:8 1 : 16 1 : 32 1 : 64 1 : 128 1 : 256 1:1 1:2 1:4 1:8 1 : 16 1 : 32 1 : 64 1 : 128 DS41339A_CN 第 15 页 MCV08A OSCCAL 寄存器 3.5 振荡器校准(OSCCAL)寄存器被用来校准内部高精度 4/8 MHz 振荡器。它包含用于校准的 7 位。 注: 擦除器件同时也会擦除预编程的内部振荡 器内部校准值。必须在擦除该部分之前读 取校准值,这样以后才可以正确地重新编 程。 在移入了校准常数以后,请不要更改它。请参见第 8.2.5 节 “内部 4/8 MHz RC 振荡器”。 寄存器 3-3: OSCCAL:振荡器校准寄存器 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 U-0 CAL6 CAL5 CAL4 CAL3 CAL2 CAL1 CAL0 — bit 7 bit 0 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 -n = POR 时的值 1=置1 0 = 清零 bit 7-1 CAL<6:0>:振荡器校准位 0111111 = 最高频率 • • • 0000001 0000000 = 中心频率 1111111 • • • 1000000 = 最低频率 bit 0 未实现:读为 0 DS41339A_CN 第 16 页 x = 未知 2007 Microchip Technology Inc. MCV08A 3.6 程序计数器 3.6.1 当执行程序指令时,程序计数器 (PC)中将包含下一 条要被执行的程序指令的地址。除更改 PC 的指令外, 每执行一条指令, PC 值都会增 1。 对于 GOTO 指令,PC 的 bit 0 到 bit 8 由 GOTO 指令字提 供。程序计数器 (PCL)被映射到 PC<7:0>。状态寄存 器的 bit 5 将页信息提供给 PC 的 bit 9 (见图 3-3)。 对于 CALL 指令或其他以 PCL 作为目标寄存器的指令, PC 的 bit 0 到 bit 7 也是由指令字提供的。然而,PC<8> 不是由指令字提供,它始终保持清零 (见图 3-3)。 以 PCL 作为目标寄存器或修改 PCL 的指令包括 MOVWF PC, ADDWF PC 和 BSF PC,5。 注: 由于 CALL 指令或任何修改 PCL 的指令会 将 PC<8> 清零,因此所有子程序调用或相 对跳转指令都被限制在任何程序存储器页 (512 字长)的前 256 个单元中。 图 3-3: 执行跳转指令时装载 PC 的过程 GOTO 指令 9 8 7 0 PC PCL 7 复位时 PC 被置为全 1,这意味着 PC 指向最后一页中 的最后一个单元 (即振荡器校准指令) 。执行 MOVLW XX 指令后,PC 将计满返回到 00h 单元并开始执行用户 代码。 复位后状态寄存器页预选择位清零,这意味着预选择 第 0 页。 因此,复位时 GOTO 指令会自动使程序跳转到第 0 页直 到页预选择位的值被更改为止。 3.7 堆栈 MCV08A 器件具有 2 级深、12 位宽的硬件 PUSH/POP 堆栈。 执行 CALL 指令会将堆栈第一级单元中的内容压入 (PUSH)第二级单元中,然后将 PC 的当前值加 1 压入 堆栈的第一级。如果连续执行了两条以上 CALL 指令, 只会存储最近的两个返回地址。 执行 RETLW 指令会将堆栈第一级单元中的内容弹出 (POP)到 PC,然后将堆栈第二级单元中的内容复制到 第一级单元中。如果连续执行了两条以上 RETLW 指令, 将使用先前存储在堆栈第二级单元中的地址填充堆栈。 注 指令字 PA0 复位的影响 1: 可以使用在指令中指定的立即数装载W寄 存器。这对于在程序存储器中实现数据查 找表尤其有用。 2: 不存在指示堆栈上溢或下溢的状态位。 0 3: 不存在称为 PUSH 或 POP 的指令助记符。 这些是执行 CALL 和 RETLW 指令后出现的 情形。 状态寄存器 CALL 或修改 PCL 的指令 9 8 7 0 PC PCL 指令字 7 复位为 0 PA0 0 状态寄存器 2007 Microchip Technology Inc. DS41339A_CN 第 17 页 MCV08A 间接数据寻址:INDF 和 FSR 寄存器 3.8 INDF 寄存器不是物理寄存器。寻址 INDF 实际寻址的是 地址包含在 FSR 寄存器中的寄存器 (FSR 是一个指 针)。这就是间接寻址。 • • • • • • 例 3-1: MOVLW MOVWF NEXT CLRF INCF BTFSC GOTO CONTINUE : : 间接寻址示例 3.8.1 例 3-1 给出了使用间接寻址将 RAM 单元 10h-1Fh 清零 的简单程序。 地址为 07 的文件寄存器包含值 10h 地址为 08 的文件寄存器包含值 0Ah 将值 07 载入 FSR 寄存器 读 INDF 寄存器将返回值 10h 将 FSR 寄存器的值增 1 (FSR = 08) 读 INDR 寄存器将返回值 0Ah 间接读 INDF (FSR = 0)将返回 00h,而间接写 INDF 寄存器将导致执行空操作 (虽然会影响状态位)。 使用间接寻址清零 RAM 的方法 0x10 FSR INDF FSR,F FSR,4 NEXT ;initialize pointer ;to RAM ;clear INDF register ;inc pointer ;all done? ;NO, clear next ;YES, continue FSR 是一个 5 位宽的寄存器。它由 INDF 寄存器配合使 用来间接寻址数据存储区。 FSR<4:0> 位用于选择数据存储器地址 00h 到 1Fh。 MCV08A——使用 FSR<5>。在 Bank 0 至 Bank 1 之 间进行选择。 FSR<7:6> 未实现,其读取值为 11。 图 3-4: 直接 / 间接寻址 (MCV08A) 直接寻址 6 4 5 存储区选择 间接寻址 (FSR) (操作码) (FSR) 3 2 1 0 6 4 存储区 选择 单元选择 00 5 01 3 2 1 0 单元选择 00h 地址映射返回到 Bank 0 中的地址。 数据 存储器 (1) 0Fh 10h 1Fh 3Fh Bank 0 注 Bank 1 1: 对于寄存器映射的细节,请参见图 3-2。 2: 阴影框未实现,读为 1。 DS41339A_CN 第 18 页 2007 Microchip Technology Inc. MCV08A 4.0 I/O 端口 和任何其他寄存器一样, I/O 寄存器也可在程序控制下 进行读写。但是,读指令 (如 MOVF PORTB,W)将始 终读取 I/O 引脚,而与引脚是处于输入还是输出模式无 关。复位时,由于 I/O 控制器被置为全 1,因此所有 I/O 端口都被定义为输入 (输入为高阻态)。 4.1 MCV08A 引脚驱动等效电路 (2) 图 4-1: 数据 总线 数据 总线 接口 VDD VDD (1) P GPIO N GPIO 是 一 个 8 位 I/O 寄 存 器。仅 使 用 其 低 6 位 (GP<5:0>)。 Bit 7 和 bit 6 未实现,读为 0。请注意 GP3 为只能输入的引脚。配置字寄存器可以将某些 I/O 设置为备用功能。当用作备用功能时,在读取端口期 间,引脚将读为 0。 4.2 注: 读端口读的是引脚而非输出数据锁存器。 也就是说,如果使能了某个引脚的输出驱 动器,并驱动为高电平,但外部系统将该 引脚保持为低电平,那么读相应端口将表 明该引脚为低电平。 注: TRIS 寄存器是“只写”的,并且在复位时 被置为全 1 (禁止输出驱动器)。 Q VSS CK TRIS 寄存器 通过执行 TRIS f 指令,可使用 W 寄存器的内容装载 输出驱动器控制寄存器。将 TRIS 寄存器的某位置 1,可 使相应的输出驱动器置于高阻模式。而将 TRIS 寄存器 的某位清零,会将输出数据锁存器的内容送入选定的引 脚并使能输出缓冲器。特殊的引脚为 GP3 引脚和 T0CKI 引脚,前者为只输入引脚,后者是由选项寄存器控制的 引脚。请参见寄存器 4-3。 4.3 D I/O 引脚 VSS Q 复位 注 1: GP3 只有连接到 VSS 的保护二极管。 2: 关于引脚具体信息,请参见图 4-2 至图 4-6。 I/O 接口 I/O 端口引脚的等效电路如图 4-1 所示。除只能输入的 GP3 引脚外,所有端口引脚都可用于输入和输出操作。 对于输入操作,这些端口是不锁存的。所有输入数据都 必须位于引脚上,直到被输入指令(如 MOVF GPIO,W) 读取为止。输出是锁存的并将保持不变,直到输出锁存 器被再次写入为止。要将端口引脚用作输出,必须将 TRIS 寄存器中相应的方向控制位清零 (= 0)。要将端 口引脚用作输入,必须将相应的 TRIS 位置 1。任何 I/O 引脚 (除 GP3 外)都可被分别编程为输入或输出。 2007 Microchip Technology Inc. DS41339A_CN 第 19 页 MCV08A 图 4-2: GP0 和 GP1 框图 图 4-3: GP3 框图 (带有弱上拉和引脚 电平变化时唤醒) GPPU RBPU GPPU RBPU MCLRE 数据 总线 D 写 端口 Q 数据 锁存器 CK I/O 引脚 (1) Q 复位 I/O 引脚 (1) W 寄存器 D Q TRIS 锁存器 TRIS 'f' CK Q 数据总线 复位 读端口 ADC 引脚使能 Q D COMP 引脚使能 CK RD 端口 不匹配 Q D CK 不匹配 ADC COMP 注 1: I/O 引脚上有连接到 VDD 和 VSS 的保护二极管。 DS41339A_CN 第 20 页 注 1: GP3/MCLR 引脚只有连接到 VSS 的保护二极 管。 2007 Microchip Technology Inc. MCV08A 图 4-4: GP2 框图 C1OUT 图 4-5: 0 I/O 引脚 (1) 数据 总线 数据 总线 D 写 端口 1 Q 数据 锁存器 写 端口 Q CK C1OUTEN W 寄存器 D W 寄存器 Q TRIS 'f' Q CK D Q 数据 锁存器 I/O 引脚 (1) Q CK D Q TRIS 锁存器 TRIS 锁存器 TRIS 'f' GP4 框图 Q CK 复位 复位 INTOSC/RC T0CS C1T0CS ADC 引脚使能 读端口 读端口 OSC1 T0CKI 振荡器 电路 ADC 注 1: I/O 引脚上有连接到 VDD 和 VSS 的保护二极管。 2007 Microchip Technology Inc. 注 1: I/O 引脚上有连接到 VDD 和 VSS 的保护二极管。 DS41339A_CN 第 21 页 MCV08A 图 4-6: GP5 框图 数据 总线 D 写 端口 Q 数据 锁存器 Q CK W 寄存器 I/O 引脚 (1) D Q TRIS 锁存器 TRIS 'f' Q CK 复位 (注 2) 读端口 OSC2 振荡器 电路 注 1: I/O 引脚上有连接到VDD 和 VSS 的保护二极管。 2: 当引脚由振荡器使用时,禁止输入模式。 DS41339A_CN 第 22 页 2007 Microchip Technology Inc. MCV08A 表 4-1: 地址 端口寄存器汇总 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 上电复位 时的值 所有其他 复位时的值 N/A TRISGPIO(1) - - --11 1111 --11 1111 N/A OPTION(1) GPWU GPPU T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111 03h STATUS(1) GPWUF CWUF PA0 TO PD Z DC C 0001 1xxx qq0q quuu(3) 06h GPIO(1) - - GP5 GP4 GP3 GP2 GP1 GP0 --xx xxxx --uu uuuu 图注: 注 1: 2: 表 4-2: I/O 控制寄存器 - = 未实现 (读为 0), x = 未知, u = 不变, q = 取值视情况而定。 仅 MCV08A 器件才具有该寄存器。 如果由于引脚电平变化唤醒而产生复位,则 bit 7 = 1。所有其他复位都将导致 bit 7 = 0。 I/O 引脚功能的优先级 (MCV08A) 优先级 GP0 GP1 GP2 GP3 GP4 GP5 1 AN0/C1IN+ AN1/C1IN- C1OUT 输入 /MCLR OSC2 OSC1/CLKIN 2 TRISIO TRISIO AN2 - TRISIO TRISIO 3 - - T0CKI - - - 4 - - TRISIO - - - 2007 Microchip Technology Inc. DS41339A_CN 第 23 页 MCV08A 4.4 I/O 编程注意事项 4.4.1 4.4.2 双向 I/O 端口 某些指令在内部是先执行一个读操作,再执行一个写操 作。例如 BCF 和 BSF 指令,这两个指令将整个端口的 数据读入 CPU,执行位操作,然后重写结果。当一个端 口有一个或一个以上的引脚用作输入 / 输出时,对其执 行这些指令必须加倍小心。例如,对 GPIO 的 bit 5 执行 BSF 操作时,先将 GPIO 的全部 8 位数据读入 CPU,然 后将 bit 5 置 1,最后将 GPIO 的值写入输出锁存器。如 果 GPIO 的另一个位被用作双向 I/O 引脚 (假设为 bit 0),并且该引脚此时被定义为输入,则该引脚当前的输 入信号被读入 CPU,然后将值重新写入该特定引脚的数 据锁存器,覆盖先前的内容。只要该引脚保持输入模 式,就毫无问题。然而,如果 bit 0 随后变成了输出模 式,则输出锁存器的内容将无法得知。 I/O 端口的连续操作 对 I/O 端口的写操作实际发生在指令周期的末尾时刻。 但对于读操作,在指令周期的开始处所读的数据就必须 有效。因此,如果对同一个 I/O 端口执行写操作之后, 接着执行读操作,就必须特别小心。指令序列应使引脚 电压先稳定下来 (与负载有关),才执行下一条指令将 端口值读入 CPU。否则,读入的可能是引脚的前一个状 态而不是新状态。当状态不确定时,最好用一条 NOP 指 令或者其他不访问 I/O 端口的指令隔开这些指令。 例 5-1 给出了对一个 I/O 端口执行两条连续的读—修改 —写指令 (如 BCF 和 BSF 等)的效果。 当某引脚设置为输出 (高电平或低电平)时,不应通过 外部器件来驱动该引脚,以达到改变该引脚电平的目的 (“线或”或 “线与”)。否则,引起的高输出电流可能 会损坏器件。 例 4-1: 对 I/O 端口执行读—修改— 写指令 ;Initial PORTB Settings ;PORTB<5:3> Inputs ;PORTB<2:0> Outputs ; ; PORTB latch ; ---------BCF PORTB, 5 ;--01 -ppp BCF PORTB, 4 ;--10 -ppp MOVLW 007h; TRIS PORTB ;--10 -ppp ; 注: PORTB pins -----------11 pppp --11 pppp --11 pppp 用户原本希望引脚值为 --00 pppp。第二条 BCF 指令将使 RB5 被锁存为该引脚的值(高电 平)。 DS41339A_CN 第 24 页 2007 Microchip Technology Inc. MCV08A 5.0 TMR0 模块和 TMR0 寄存器 在第二种计数器模式下,Timer0 依靠比较器输出递增。 有两种不同的方式选择这种模式。第一种方式是通过将 T0CS 位 (OPTION<5>)置 1 并将 CMPT0CS 位 (CMCON<4>)清零(COUTEN [CMCON<6>] 不会对 这 种 模 式 产 生 影 响)来 选 择 的。这 样 允 许 比 较 器 和 Timer0 之间建立内部连接。 Timer0 模块有以下特性: • • • • 8 位定时器 / 计数器 TMR0 可读写 软件可编程的 8 位预分频器 内部或外部时钟选择: - 外部时钟边沿选择 - 来自 T0CKI 引脚或比较器输出的外部时钟 第二种方式是通过将 T0CS 位 (OPTION<5>)和 CMPT0CS 位 (CM1CON0)置 1,并将 COUTEN 位 (CM1CON0<6>)清零来选择的。这样将允许在 T0CKI 输入保持有效的同时将比较器输出送入 T0CKI 引脚。因 此,比较器 COUT 引脚上电平的任何变化都将反馈给 T0CKI 输入引脚。导致计数器递增的边沿由 T0SE 位 (OPTION<4>)决定。将 T0SE 位清零选择上升沿。外 部时钟输入的限制在第 5.1 节“Timer0 外部时钟的使用” 中详细讨论。 图 5-1 是 Timer0 模块的简化框图。 将 T0CS 位 (OPTION<5>)清零可选择定时器模式。 在定时器模式下,Timer0 模块在每个指令周期递增(不 使用预分频器)。 TMR0 寄存器被写入时,在接下来的 两个指令周期禁止递增 (见图 5-2 和图 5-3)。用户可 通过将校正值写入 TMR0 寄存器避开这一问题。 该预分频器可由 Timer0 模块或看门狗定时器使用,但 它们不可同时使用。预分频器的分配在软件中由 PSA (OPTION<3>)控制位控制。将 PSA 位清零将预分频 器分配给 Timer0。预分频器是不可读写的。当预分频器 分配给 Timer0 模块时,可选择的预分频比有 1:2,1:4, ...,1:256。预分频器的具体操作请参见第 5.2 节“预分 频器”。 有两种计数器模式。在第一种计数器模式下,Timer0 依 靠 T0CKI 引 脚 电 平 递 增。通 过 将 T0CKI 位 (OPTION<5>)、 CMPT0CS 位 (CM1CON0<4>)和 COUTEN 位 (CM1CON0<6>)置 1 来选择这种模式。 在这种模式下, Timer0 可在 T0CKI 引脚信号的每个上 升沿或下降沿递增。具体是上升沿还是下降沿由 T0SE 位(OPTION<4>)决定。将 T0SE 位清零选择上升沿。 外部时钟输入的限制在第 5.1 节 “Timer0 外部时钟的使 用”中详细讨论。 图 5-1: 与 Timer0 模块相关的寄存器汇总请参见表 5-1。 TIMER0 框图 T0CKI 引脚 数据总线 FOSC/4 内部 比较器 输出 0 PSOUT 1 1 1 0 可编程 预分频器 (2) T0SE(1) 0 8 与内部 时钟 同步 TMR0 寄存器 PSOUT (延时两个 TCY)同步 3 CMPT0CS(3) T0CS(1) 注 PS2, PS1, PS0(1) PSA(1) 1: T0CS、 T0SE、 PSA、 PS2、 PS1 和 PS0 均位于选项寄存器中。 2: 该预分频器是与看门狗定时器共用的 (见图 5-5)。 3: CMPT0CS 位位于 CM1CON0 寄存器中,为 CM1CON0<4>。 2007 Microchip Technology Inc. DS41339A_CN 第 25 页 MCV08A 图 5-2: PC (程序 计数器) TIMER0 时序图:内部时钟 / 无预分频器 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 PC - 1 PC 取指令 PC + 1 MOVWF TMR0 T0 Timer0 PC + 2 PC + 3 PC + 4 PC + 5 PC + 6 MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W T0 + 1 T0 +2 NT0 NT0 + 1 NT0 +2 读 TMR0 为 NT0 + 1 读 TMR0 为 NT0 + 2 执行指令 读 TMR0 为 NT0 执行写 TMR0 图 5-3: PC (程序 计数器) 读 TMR0 为 NT0 读 TMR0 为 NT0 TIMER0 时序图:内部时钟 / 预分频比 1:2 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 PC - 1 PC 取指令 PC + 1 MOVWF TMR0 T0 Timer0 PC + 2 PC + 3 PC + 4 PC + 5 PC + 6 MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W T0 + 1 NT0 NT0 + 1 执行指令 读 TMR0 为 NT0 执行写 TMR0 表 5-1: 地址 读 TMR0 为 NT0 读 TMR0 为 NT0 读 TMR0 为 NT0 + 1 读 TMR0 为 NT0 + 2 与 TIMER0 相关的寄存器 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 01h TMR0 Timer0——8 位实时时钟 / 计数器 07h CM1CON0 C1OUT C1OUTEN C1POL C1T0CS C1ON C1NREF C1PREF C1WU 08h CM1CON0 C1OUT C1OUTEN C1POL C1T0CS C1ON C1NREF C1PREF C1WU N/A OPTION GPWU GPPU T0CS T0SE PSA PS2 N/A TRISGPIO(1) - - 上电复位 时的值 所有其他 复位时的值 xxxx xxxx uuuu uuuu I/O 控制寄存器 PS1 PS0 1111 1111 uuuu uuuu 1111 1111 uuuu uuuu 1111 1111 1111 1111 ---- 1111 --11 1111 图注: Timer0 不使用阴影单元,- = 未实现, x = 未知, u = 不变。 注 1: 当 T0CS = 1 时, T0CKI 引脚的 TRIS 被忽略。 DS41339A_CN 第 26 页 2007 Microchip Technology Inc. MCV08A Timer0 外部时钟的使用 5.1 当 Timer0 使用外部时钟输入时,必须满足一定要求。这 种外部时钟要求是为了确保外部时钟和内部相位时钟 (TOSC)保持同步。同步后,Timer0 的实际递增还将有 一定延时。 外部时钟同步 5.1.1 当不使用预分频器时,外部时钟输入与预分频器输出 相同。在内部相位时钟的 Q2 和 Q4 周期对预分频器输 出进行采样可实现 T0CKI 与内部相位时钟的同步(见 图 5-4)。因此, T0CKI 或比较器输出的高电平必须至 少保持 2 个 TOSC (加上 2 Tt0H 的一小段 RC 延时), 并且其低电平也必须至少保持 2 个 TOSC (加上 2 Tt0H 的一小段 RC 延时)。请参见所用器件的电气规范。 图 5-4: 当使用预分频器时,外部时钟输入被异步波纹计数器类 型的预分频器分频,故预分频器的输出是对称的。为了 使外部时钟满足采样要求,必须考虑波纹计数器。因 此,T0CKI 或比较器输出的周期必须至少保持 4 个 TOSC (加上 4 Tt0H 的一小段 RC 延时)除以分频值。对 T0CKI 或比较器输出的高、低电平时间的惟一要求是脉宽不得 小于 Tt0H。请参见所用器件的电气规范中的参数 40、 41 和 42。 5.1.2 TIMER0 的递增延时 由于预分频器的输出与内部时钟同步,因此从出现外部 时钟沿到 Timer0 模块实际递增有一小段延时。图 5-4 显 示了从外部时钟沿到定时器递增的延时。 TIMER0 与外部时钟时序图 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 外部时钟输入或 预分频器输出 (2) 采样后外部时钟 / 预分频器的输出 Q1 Q2 Q3 Q4 窄脉冲 丢失采样 (1) (3) Timer0 递增(Q4) Timer0 注 T0 T0 + 1 T0 +2 1: 从时钟输入变化到 Timer0 递增有 3 到 7 个 TOSC 的延时 (持续时间 Q = TOSC)。因此,测量 Timer0 输入脉冲相邻 边沿之间的间隔的最大误差为± 4 个 TOSC。 2: 如果未选择预分频器,则为外部时钟,否则为预分频器输出。 3: 箭头所指为采样时刻。 5.2 预分频器 一个 8 位的计数器可分别作为 Timer0 模块的预分频器 或看门狗定时器 (WDT)的后分频器 (见图 8-11)。 为简化起见,在本数据手册中称该计数器为 “预分频 器”。 注: 当预分频器分配给 Timer0 模块时,所有写入 TMR0 寄 存器的指令 (如 CLRF 1, MOVWF 1, BSF 1, x, 等)都会将预分频器清零。当预分频器分配给 WDT 时, 执行 CLRWDT 指令会同时将预分频器和 WDT 清零。预 分频器是不可读写的。复位时,预分频器包含为全 0 的 值。 该预分频器由 Timer0 模块或看门狗定时器 使用,但它们不可同时使用。因此,如果 把预分频器分配给 Timer0 模块就意味着 WDT 无分频器可用,反之亦然。 PSA 和 PS<2:0> 位(OPTION<3:0>)决定预分频器的 分配和分频比。 2007 Microchip Technology Inc. DS41339A_CN 第 27 页 MCV08A 要将预分频器从 WDT 分配给 Timer0 模块,使用例 5-2 所示的指令序列。即使在 WDT 被禁止时,也必须使用 该序列。应该在切换预分频器之前执行 CLRWDT 指令。 切换预分频器的分配 5.2.1 预分频器的分配完全由软件控制(即,它可在程序执行 期间被 “随时”改变)。为避免器件意外复位,当把预 分频器从 Timer0 分配给 WDT 时,必须执行下列指令序 列 (见例 5-1)。 例 5-2: 改变预分频器 (WDT → TIMER0) CLRWDT 例 5-1 : 改变预分频器 (TIMER0 → WDT) CLRWDT CLRF TMR0 MOVLW ‘00xx1111’b OPTION CLRWDT MOVLW ‘00xx1xxx’b OPTION 图 5-5: MOVLW ;Clear WDT ;Clear TMR0 & Prescaler ;These 3 lines (5, 6, 7) ;are required only if ;desired ;PS<2:0> are 000 or 001 ;Set Postscaler to ;desired WDT rate ‘xxxx0xxx’ ;Clear WDT and ;prescaler ;Select TMR0, new ;prescale value and ;clock source OPTION TIMER0/WDT 预分频器框图 T0CKI(2) 引脚 TCY (= FOSC/4) 数据总线 0 1 比较器 输出 1 8 M U X 1 M U X 0 0 T0SE(1) T0CS(1) 2 周期 同步电路 TMR0 寄存器 PSA(1) CMPT0CS(3) 0 看门狗 定时器 1 M U X 8 位预分频器 8 8 选 1 MUX PS<2:0>(1) PSA(1) WDT 使能位 1 0 MUX PSA(1) WDT 超时溢出 注 1: T0CS 、 T0SE、 PSA 和 PS<2:0> 均为选项寄存器中的位。 2: 在 MCV08A 器件中 T0CKI 与 GP2 引脚复用,而在 DSTEMP 器件中 T0CKI 与 RC5 复用。 3: CMPT0CS 位位于 CM1CON0 寄存器中。 DS41339A_CN 第 28 页 2007 Microchip Technology Inc. MCV08A 比较器模块 6.0 MCV08A 器件包含一个模拟比较器模块。 寄存器 6-1: CM1CON0:比较器 C1 的控制寄存器 (MCV08A) R-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 C1OUT C1OUTEN C1POL C1T0CS C1ON C1NREF C1PREF C1WU bit 7 bit 0 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 -n = POR 时的值 1=置1 0 = 清零 bit 7 C1OUT:比较器输出位 1 = VIN+ > VIN0 = VIN+ < VIN- bit 6 C1OUTEN:比较器输出使能位 (1), (2) 1 = 比较器的输出不送到 C1OUT 引脚 0 = 比较器的输出送到 C1OUT 引脚 bit 5 C1POL:比较器输出极性位 (2) 1 = 比较器输出不反相 0 = 比较器输出反相 bit 4 C1T0CS:比较器 TMR0 时钟源位 (2) 1 = TMR0 时钟源由 T0CS 控制位选择 0 = 比较器输出用作 TMR0 时钟源 bit 3 C1ON:比较器使能位 1 = 比较器打开 0 = 比较器关闭 bit 2 C1NREF:比较器负参考选择位 (2) 1 = C1IN 引脚 0 = 0.6V 内部参考电压 bit 1 C1PREF:比较器正参考选择位 (2) 1 = C1IN+ 引脚 0 = C1IN- 引脚 bit 0 C1WU:比较器电平变化唤醒使能位 (2) 1 = 禁止在比较器电平变化时唤醒 0 = 使能在比较器电平变化时唤醒 注 x = 未知 1: 改写 T0CS 位,由 TRIS 控制 GP2。 2: 在比较器打开时,这些控制位下拉为低电平。 2007 Microchip Technology Inc. DS41339A_CN 第 29 页 MCV08A 图 6-1: MCV08A 的比较器框图 C1PREF C1INC1IN+ 0 MUX 至 数据总线 读 CM2CON0 1 D Q3* 读 CM1CON0 C2NREF C1ON(1) C1WUF Q EN CL NRESET C1WU 使能 C1 输出 0.6 VREF + 1 MUX C1IN- C1OUT C1 - C1OUT 0 C1POL 注 1: 当 C1ON = 0 时, C1 比较器将产生一个 0 输出到异或门。 DS41339A_CN 第 30 页 2007 Microchip Technology Inc. MCV08A 比较器工作原理 6.1 6.5 图 6-2 所示为单比较器以及模拟输入电平和数字输出之 间的关系。当 VIN+ 上的模拟输入小于 VIN- 上的模拟输 入时,比较器将输出数字低电平。图 6-2 中比较器输出 的阴影部分代表由于输入失调电压和响应时间所引起的 不确定区。关于共模电压,请参见表 9-1。 图 6-2: 单比较器 比较器唤醒标志 当符合下面所有条件时,比较器唤醒标志将置 1: • C1WU = 0 (CM1CON0<0>)或 C2WU = 0 (CM2CON0<0>) • 读取 CM1CON0 或 CM2CON0 以锁存 CMPOUT 位的上一个已知状态 (MOVF CM1CON0, W) • 器件处于休眠模式 • 比较器的输出状态发生了改变 此唤醒标志可由软件或器件复位清零。 VIN+ + VIN- – 结果 6.6 比较器在休眠模式下的工作方式 比较器处于活动状态时正常工作。若要把休眠模式下的 功耗减少到最小,应该在进入休眠之前关闭比较器。 6.7 VIN- 上电复位会强制 CM2CON0 寄存器进入复位状态 (POR)。这将使比较器模块处于比较器复位模式。复 位时引脚为模拟输入将使器件电流达到最小。 VIN+ 6.8 结果 6.2 比较器参考电压 根据工作模式,比较器可以使用内部参考电压。加在 Vin- 上的模拟信号会与 Vin+ 上的信号相比较,比较器 的数字输出会相应调整 (见图 6-2)。 6.3 复位的影响 模拟输入连接注意事项 图 6-3 是一个简化的模拟输入电路。由于模拟引脚和数 字输出端相连,因此在模拟引脚与 VDD 和 VSS 之间连 有反向偏置的二极管,将其电压限制在 VSS 和 VDD 之 间。一旦输入电压超出该范围 0.6V 以上,其中一个二 极管就会发生正向偏置从而可能使输入电压闭锁。模拟 信号源的最大阻抗推荐值为 10 kΩ。任何连接到模拟输 入引脚上的外部元件 (如电容器或齐纳二极管),均应 保证其只有极小的漏电流。 比较器响应时间 响应时间是指比较器从选定一个新的参考电压或输入电 压源到输出达到一个有效电平时的最短时间。如果比较 器输入发生了改变,则必须要有一段延时允许比较器达 到稳定的新状态。关于比较器响应时间规范的信息请参 见表 9-1。 6.4 比较器输出 通过读取 CM1CON0 或 CM2CON0 寄存器中的相应位 可得到比较器的输出。该位是只读的。比较器输出也可 供内部使用,请参见图 6-2。 注: 对被定义为数字输入的任何引脚施加模拟 电平均可能使输入缓冲器的电流消耗超过 规定值。 2007 Microchip Technology Inc. DS41339A_CN 第 31 页 MCV08A 图 6-3: 模拟输入模型 VDD VT = 0.6V RS < 10 K RIC AIN CPIN 5 pF VA ILEAKAGE ±500 nA VT = 0.6V VSS 图注: 表 6-1: 地址 CPIN VT ILEAKAGE RIC RS VA = = = = = = 输入电容 门限电压 引脚上的泄漏电流 内部走线等效阻抗 信号源内阻 模拟电压 与比较器模块相关的寄存器 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 上电复位 时的值 所有其他复 位时的值 03h STATUS GPWUF CWUF - TO PD Z DC C 0001 1xxx qq0q quuu 07h CM1CON0 C1OUT C1OUTEN C1POL C1T0CS C1ON C1NREF C1PREF C1WU 1111 1111 uuuu uuuu N/A TRISGPIO - - --11 1111 --11 1111 图注: I/O 控制寄存器 x = 未知, u = 不变,- = 未实现 (读为 0), q = 取值视情况而定。 DS41339A_CN 第 32 页 2007 Microchip Technology Inc. MCV08A 7.0 模数 (A/D)转换器 A/D 转换器可以将模拟信号转换为表示该信号的 8 位数 字信号。 7.1 时钟分频器 AD转换器(ADC)有4个时钟源可分别通过ADCS<1:0> 进行设置。前 3 种设置分别将信号进行 32、 16 和 8 分 频。第 4 种设置为带有分频比为 4 的分频器的 INTOSC。 当使用工作频率为 350 KHz 到 20 MHz 之间的外部振荡 器时,这些设置使转换能顺利进行。使用工作频率低于 350 kHz(TAD > 5 µs)的外部振荡器时需要将 ADC 振 荡器设置为 INTOSC/4,以得到有效的 ADC 转换结果。 ADC 转换需要 13 个 TAD 周期。分频值不会影响执行转 换需要的 TAD 周期数,它只决定 TAD 周期的长度。 当在 ADC 转换的过程中改变 ADCS<1:0> 位时,在下一 次转换开始前,不会选择新的 ADC 时钟源。当器件进 入休眠模式时,将丢失选择的时钟源。 7.1.1 参考电压 ADC 没有外部参考电压。 ADC 参考电压总是 VDD。 7.1.2 模拟模式选择 ANS<1:0> 位用于将引脚配置为模拟输入。发生任何复 位时, ANS<1:0> 都默认为 11,从而将 AN0、 AN1 和 AN2 引脚配置为模拟输入。如果使能比较器输出,则比 较器输出 C1OUT 将使 AN2 变为输出。配置为模拟输入 的引脚不可用于数字输出。当在进行转换时,用户不应 改变 ANS 位。不论 ADON 的状态如何,ANS 位始终有 效。 7.1.3 如果在 ADC 转换过程中改变了 CHS<1:0> 位,在当前 转换完成前,不会选择新通道。这样能确保当前转换完 成后的结果有效。当器件进入休眠模式时,将丢失所有 有关通道选择的信息。 表 7-1: 事件发生后的通道选择 (ADCS)位 事件 MCLR ADCS<1:0> 11 转换完成 CS<1:0> 转换终止 CS<1:0> 上电复位 11 从休眠模式唤醒 11 7.1.4 GO/DONE 位 GO/DONE 位用于确定转换状态、启动一个转换并手动 停止正在进行的转换。将 GO/DONE 位置 1 将启动转 换。当转换完成后,ADC 模块将 GO/DONE 位清零。手 动将 GO/DONE 位清零可终止正在进行的转换。手动终 止转换可能导致 ADRES 中只有部分转换结果。 当器件进入休眠模式时,GO/DONE 位被清零,停止当 前转换。 ADC 没有专用的振荡器,它依靠指令时钟工 作。因此,在休眠模式不会进行转换。 当 ADON 清零时,不能将 GO/DONE 位置 1。 ADC 通道选择 CHS 位用于选择 ADC 采样的模拟通道。可在任何时刻 更改 CHS<1:0> 位而不会对转换造成负面影响。要获得 模拟信号,CHS<1:0> 的选择必须与 ANS<1:0> 位所选 的引脚 (或其中之一)匹配。当 ADC 启动(ADON = 1) 并选择了比较器也正在使用的通道时,比较器和 ADC 都 将在该引脚上获得模拟电压。 注: 用户负责确保在 ADC 和比较器同时使用同 一引脚时,不会影响对引脚信号的监控并 且不会对器件工作造成负面影响。 2007 Microchip Technology Inc. DS41339A_CN 第 33 页 MCV08A 休眠模式 7.1.5 ADC 没有专用的 ADC 时钟,因此在休眠模式不可能工 作。如果在转换进行过程中执行一条 SLEEP 指令,则 GO/DONE 和 ADON 位将被清零。这样会停止任何正在 进行的转换,并且关闭 ADC 模块以节约功耗。由于转 换过程的特性, ADRES 可能保存部分转换的结果,在 进入休眠模式前至少要转换 1 位数据,才会使 ADRES 中有部分完成的转换数据。 ADCS 和 CHS 位复位到默 认状态; ANS<1:0> = 11 且 CHS<1:0> = 11。 要得到正确的转换结果, TAD 必须符合以下条件: • 500 ns < TAD < 50 µs • TAD = 1/(FOSC/ 分频值 ) 阴影部分表示 TAD 超出了精确转换范围。如果需要转换 的模拟处于这些频率范围内,则请使用 INTOSC/4 作为 ADC 的时钟源。 表 7-2: 使用各种振荡器在 ADCS 不同设置下的 TAD ADCS <1:0> 分频器 INTOSC 11 8 FOSC 10 8 FOSC 01 FOSC 00 时钟源 注 20 MHz 16 MHz .5 µs 1 µs .2 µs .25 µs .5 µs 1 µs 16 .4 µs .5 µs 1 µs 32 .8 µs 1 µs 2 µs 500 kHz 350 kHz 200 kHz 100 kHz 32 kHz 4 µs 8 µs 11 µs 20 µs 40 µs 125 µs 2 µs 8 µs 16 µs 23 µs 40 µs 80 µs 250 µs 4 µs 16 µs 32 µs 46 µs 80 µs 160 µs 500 µs 8 MHz 4 MHz 1 MHz 1: 当 ADC 工作在 16 MHz 或更高频率的外部振荡器时,其性能在选择表 7-2 中所给出的适当 FOSC 分频值时 要比使用 INTOSC/4 选项好。 表 7-3: 进入休眠模式 唤醒或复位 休眠对 ADCON0 的影响 ANS1 ANS0 ADCS1 不变 1 不变 1 1 1 1 1 0 0 1 1 1 1 0 0 DS41339A_CN 第 34 页 ADCS0 CHS1 CHS0 GO/DONE ADON 2007 Microchip Technology Inc. MCV08A 模拟转换结果寄存器 7.1.6 ADRES 寄存器保存上次转换的结果。这些结果一直保 持到下一次模拟转换的采样阶段。当采样周期结束后, ADRES 清零 (= 0)。“前导位”向右移入 ADRES 作 为内部转换完成位。从高字节开始按位依次进行转换, “前导位”不断右移以使后来转换的位填入 ADRES 中。 当 “前导位”右移 9 次后转换完成; “前导位”移出 且 GO/DONE 位清零。 寄存器 7-1: 如果在转换过程中 GO/DONE 位由软件清零,转换即停 止。 ADRES 中的数据为部分转换结果。此数据对于已 转换的位是有效的。“前导位”的位置决定已转换位的 个数。在 GO/DONE 位清零以前没有被转换的位是不可 恢复的。 ADCON0:A/D 控制寄存器 (MCV08A) R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-0 R/W-0 ANS1 ANS0 ADCS1 ADCS0 CHS1 CHS0 GO/DONE ADON bit 7 bit 0 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 -n = POR 时的值 1=置1 0 = 清零 x = 未知 bit 7-6 ANS<1:0>:ADC 模拟输入引脚选择位 (1), (2), (5) 00 = 没有任何引脚配置为模拟输入 01 = AN2 配置为模拟输入 10 = AN2 和 AN0 配置为模拟输入 11 = AN2、 AN1 和 AN0 配置为模拟输入 bit 5-4 ADCS<1:0>:ADC 转换时钟选择位 00 = FOSC/16 01 = FOSC/8 10 = FOSC/4 11 = INTOSC/4 bit 3-2 CHS<1:0>:ADC 通道选择位 00 = 通道 AN0 01 = 通道 AN1 10 = 通道 AN2 11 = 0.6V 绝对参考电压 bit 1 GO/DONE:ADC 转换状态位 (4) 1 = ADC 转换正在进行。将该位置 1 可启动 ADC 转换周期。在 ADC 完成转换时,硬件将自动清零该位。 0 = ADC 转换已完成 / 不在进行。在转换正在进行时手动清零该位将终止当前的转换。 bit 0 ADON:ADC 使能位 1 = ADC 模块正在工作 0 = ADC 模块已关闭,不产生任何功耗 注 1: 在设置 ANS 位之后,将会自动强制选定的通道进入模拟模式,而不论先前定义的引脚功能如何。惟一的例外是对于比 较器:这种情况下,比较器和 ADC 的模拟输入将同时有效。用户自行负责确保比较器输入上的 ADC 负载不会影响它们 的应用。 2: 无论 ADON 的状态如何, ANS<1:0> 位始终有效。 3: 在任意一次复位之后, CHS<1:0> 位默认设为 11。 4: 如果 ADON 位清零,则 GO/DONE 位不能置 1。 2007 Microchip Technology Inc. DS41339A_CN 第 35 页 MCV08A 寄存器 7-2: ADRES 寄存器 R-X R-X R-X R-X R-X R-X R-X R-X ADRES7 ADRES6 ADRES5 ADRES4 ADRES3 ADRES2 ADRES1 ADRES0 bit 7 bit 0 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 -n = POR 时的值 1=置1 0 = 清零 例 7-1: 执行模数转换 例 7-2: ;Sample code operates out of BANK0 loop0 MOVLW 0xF1 ;configure A/D MOVWF ADCON0 BSF ADCON0, 1 ;start conversion BTFSC ADCON0, 1;wait for ‘DONE’ GOTO loop0 MOVF ADRES, W ;read result MOVWF result0 ;save result loop1 ;setup for read of ;channel 1 BSF ADCON0, 1 ;start conversion BTFSC ADCON0, 1;wait for ‘DONE’ GOTO loop1 MOVF ADRES, W ;read result MOVWF result1 ;save result loop2 BSF ADCON0, 3 ;setup for read of BCF ADCON0, 2 ;channel 2 BSF ADCON0, 1 ;start conversion BTFSC ADCON0, 1;wait for ‘DONE’ GOTO loop2 MOVF ADRES, W ;read result MOVWF result2 ;save result 在转换期间更改通道选择 MOVLW 0xF1 MOVWF ADCON0 BSF ADCON0, 1 BSF ADCON0, 2 ;configure A/D loop0 ;start conversion ;setup for read of ;channel 1 BTFSC ADCON0, 1;wait for ‘DONE’ GOTO loop0 MOVF ADRES, W ;read result MOVWF result0 ;save result loop1 BSF ADCON0, 1 ;start conversion BSF ADCON0, 3 ;setup for read of BCF ADCON0, 2 ;channel 2 BTFSC ADCON0, 1;wait for ‘DONE’ GOTO loop1 MOVF ADRES, W ;read result MOVWF result1 ;save result BSF ADCON0, 2 DS41339A_CN 第 36 页 x = 未知 loop2 BSF ADCON0, 1 ;start conversion BTFSC ADCON0, 1;wait for ‘DONE’ GOTO loop2 MOVF ADRES, W ;read result MOVWF result2 ;save result CLRF ADCON0 ;optional:returns ;pins to Digital mode and turns off ;the ADC module 2007 Microchip Technology Inc. MCV08A 8.0 CPU 的特殊性能 单片机与其他处理器的区别在于其具有处理实时应用需 要的特殊电路。MCV08A 单片机具有许多特性,旨在最 大限度地提高系统的可靠性,通过减少外部元件将成本 降至最低,并且还提供了低功耗工作模式和代码保护功 能。这些特性如下: 8.1 配置位 MCV08A 配置字由 12 位组成。可以编程配置位来选择 不同的器件配置。有三个位可用于选择振荡器类型; (MCV08A 器件为两个位),一个位是看门狗定时器使 能位,一个位是 MCLR 使能位,还有一个位用于代码保 护 (寄存器 10-1 和寄存器 10-2)。 • 振荡器选择 • 复位: - 上电复位 (POR) - 器件复位定时器 (DRT) - 引脚电平变化时从休眠模式唤醒 • 看门狗定时器 (WDT) • 休眠 • 代码保护 • ID 单元 • 在线串行编程 (ICSP™) • 时钟输出 MCV08A 器件具有一个看门狗定时器,只有通过配置位 WDTE 才可将其关闭。为了增强可靠性,它依靠自己的 RC 振荡器运行。有了此片上定时器,大部分应用都不 再需要外部复位电路。 休眠模式是为提供电流非常低的掉电模式而设计的。用 户可以通过输入引脚上的电平变化或通过看门狗定时器 超时溢出使器件从休眠模式唤醒。有几种振荡器供器件 选择以适应不同的应用,其中包括内部 4/8 MHz 振荡 器。EXTRC 振荡器可以节省系统成本,而 LP 晶振可以 节省功耗。可以使用一组配置位来选择不同的振荡器。 2007 Microchip Technology Inc. DS41339A_CN 第 37 页 MCV08A 寄存器 8-1: CONFIG:配置字寄存器 (MCV08A) — — — — — — — bit 15 bit 8 — — IOSCFS MCLRE CP bit 7 WDTE FOSC1 FOSC0 bit 0 bit 15-6 未实现:读为 1 bit 5 IOSCFS:内部振荡器频率选择位 1 = 8 MHz INTOSC 速度 0 = 4 MHz INTOSC 速度 bit 4 MCLRE:主复位使能位 1 = GP3/MCLR 引脚用作 MCLR 0 = GP3/MCLR 引脚用作 GP3, MCLR 内部连接到 VDD bit 3 CP:代码保护位 1 = 关闭代码保护 0 = 打开代码保护 bit 2 WDTE:看门狗定时器使能位 1 = 使能 WDT 0 = 禁止 WDT bit 1-0 FOSC<1:0>:振荡器选择位 00 = LP 振荡器,带 18 ms DRT 01 = XT 振荡器,带 18 ms DRT 10 = INTOSC,带 1.125 ms DRT(1) 11 = EXTRC,带 1.125 ms DRT(1) 注 — 1: 应用设计人员需负责确保使用 1.125 ms(标称值)DRT 将产生可接受的工作状态。关于该工作模式的 VDD 上升时间和稳定性要求,请参见电气规范。 DS41339A_CN 第 38 页 2007 Microchip Technology Inc. MCV08A 8.2 8.2.1 振荡器配置 图 8-1: 振荡器类型 晶振 (或陶瓷谐振器)工作原理 (XT 或 LP 振荡器配置) C1(1) MCV08A 器件最多可以在 6 种不同的振荡模式下工作。 用户可以对最多三个配置位 (FOSC<1:0>[MCV08A], FOSC<2:0> [DSTEMP])进行编程。要选择这些模式中 的一个: • • • • LP: 低功耗晶振 XT: 晶振 / 谐振器 INTRC:内部 4/8 MHz 振荡器 EXTRC:外部谐振器 / 电容 8.2.2 晶振 / 陶瓷谐振器 在 XT 或 LP 模式中,晶振或陶瓷谐振器与 (GP5) / OSC1/ (CLKIN)和 (GP4) /OSC2/ (CLKOUT)引脚 相连以产生振荡(图 8-1)。MCV08A 振荡器设计要求使用 平行切割的晶体。使用顺序切割的晶体,可能会使振荡器产生 的频率超出晶体制造厂商所规定的范围。当 XT 或 LP 模式 中 时,器 件 可 以 用 一 个 外 部 时 钟 源 驱 动 (GP5) / OSC1/CLKIN 引脚 (图 8-2)。 注 1: 此器件设计为按照其数据手册中的参数 运行。器件经测试达到电气规范的要求, 而这套电气规范是用以确定器件是否符 合上述参数而设计的。由于器件生产工艺 的差异,器件的性能特性可能与其早期的 版本有所不同。这些差异可能导致此器件 在您的应用中所表现的性能与早期的版 本有所不同。 2: 用户应该验证器件振荡器的起振和运行 与预期是否相同。可能需要调整负载电容 值和 / 或振荡器模式。 休眠 XTAL RS(2) RF(3) 到内部 逻辑电路 OSC2 C2(1) 注 1: 2: 3: 推荐使用的 C1 和 C2 值请参见电容选择表。 对于 AT 条形切割晶体可能需要串联一个电阻 (RS)。 RF 近似值 = 10 MΩ。 图 8-2: 外部时钟输入工作原理 (XT 或 LP 振荡器配置) 来自外部系统 的时钟 OSC1 MCV08A 开路 表 8-1: OSC2 陶瓷谐振器的电容选择—— MCV08A(1) 振荡 类型 谐振器频率 电容范围 C1 电容范围 C2 XT 4.0 MHz 30 pF 30 pF 注 1: 2007 Microchip Technology Inc. MCV08A OSC1 这些值仅供设计参考。由于每个谐振器都 有自己的特性,用户应该向谐振器厂商咨 询外部元件的适当值。 DS41339A_CN 第 39 页 MCV08A 晶振的电容选择——MCV08A(2) 表 8-2: 振荡 类型 谐振器频率 电容范围 C1 电容范围 C2 LP 32 kHz(1) 15 pF 15 pF XT 200 kHz 1 MHz 4 MHz 47-68 pF 15 pF 15 pF 47-68 pF 15 pF 15 pF 20 MHz 15-47 pF 15-47 pF HS(3) 注 1: 2: 3: 当 VDD > 4.5V 时,建议 C1 = C2 ≈ 30 pF。 这些值仅供设计参考。可能需要使用电阻 Rs 以避免对低驱动规格的晶体造成过驱 动。由于每个晶振都有自己的特性,用户 应该向晶振厂商咨询外部元件的适当值。 仅 DSTEMP 器件才可使用的振荡模式。 外部晶体振荡电路 8.2.3 具有 TTL 门控的预封装振荡器或简单振荡电路可以被用 作外部晶振电路。预封装的振荡器提供了一个宽工作范 围和更好的稳定性。设计优良的晶振具有 TTL 门控电 路,可提供良好的性能。可以使用两种类型的晶振电路: 并联谐振电路或串联谐振电路。 图 8-3 显示了并联谐振器振荡电路的实现方式。此电路 设计为使用晶体的基频。 74AS04 反相器可以提供并联 振荡器所需要的 180 度相移。4.7 kΩ 的电阻提供负反馈 以增强稳定性。10 kΩ电位器将74AS04 偏置到线性区。 此电路可用于外部振荡器设计。 图 8-3: 外部并联谐振器的晶振电路 +5V 到其他 器件 10k 74AS04 4.7k CLKIN 74AS04 MCV08A 10k XTAL 图 8-4 显示了串联谐振器振荡电路。此电路也设计为使 用晶体的基频。反相器在串联谐振器振荡电路中执行 180 度相移。 330Ω 电阻提供的负反馈将反向器偏置到 线性区。 图 8-4: 外部串联谐振器的晶振电路 330 到其他 器件 330 74AS04 74AS04 74AS04 CLKIN 0.1 mF MCV08A XTAL 8.2.4 外部 RC 振荡器 对于时序要求极高的应用, EXTRC 器件选项可以进一 步节省成本。 EXTRC 振荡频率随电源电压、电阻 (REXT)和电容值 (CEXT)以及工作温度变化。除此 之外,由于正常工艺参数不同,不同器件之间的振荡频 率也各不相同。此外,不同封装类型的引线框的电容差 异也会影响振荡频率,尤其当 CEXT 值较小时。用户还 需要考虑到由于所使用的外部 R 和 C 元件的容差不同而 造成的差异。 图 8-5 显示了 RC 组合连接到 MCV08A 器件的方式。如 果 REXT 值低于 5.0 kΩ,振荡器工作就会变得不稳定, 或者完全停止。如果 REXT 值很高(如 1 MΩ),振荡器 就会变得对噪声、湿度和泄漏电流敏感。因此,建议将 REXT 保持在 5.0 kΩ 和 100 kΩ 之间。 虽然振荡器可以在没有外部电容的情况下 (CEXT = 0 pF) 工作,但是由于噪声和稳定性原因,还是建议使用大于 20 pF 的电容值。如果没有外部电容或外部电容值很 小,振荡频率就会由于外部电容 (比如 PCB 布线电容 和封装引线框的电容)的改变而剧烈变化。 第 9.0 节 “电气规范”显示了各器件由于正常制造工艺 的不同而产生的 RC 频率差异。R 值越大差异越大(因 为 R 值越大,泄漏电流的差异对 RC 频率的影响越大), 而 C 值越小差异越大(因为输入电容的差异对 RC 频率 影响更大)。 10k 20 pF DS41339A_CN 第 40 页 20 pF 2007 Microchip Technology Inc. MCV08A 另外,欲知由于给定 REXT/CEXT 值的 VDD 而产生的振 荡频率差异,以及由于给定 R、C 和 VDD 值的工作温度 而产生的频率差异,请参见电气规范部分。 图 8-5: 外部 RC 振荡器模式 VDD REXT OSC1 内部 时钟 N CEXT MCV08A VSS FOSC/4 8.2.5 OSC2/CLKOUT 内部 4/8 MHz RC 振荡器 内部 RC 振荡器在 V DD = 5V 和 25°C 时提供固定的 4/8 MHz (标称值)系统时钟 (有关随着电压和温度 变化的信息请参见第 9.0 节 “电气规范”)。 8.3 复位 器件因不同类型的复位而有所区别: • • • • • • • 上电复位 (POR) 正常工作时的 MCLR 复位 休眠时的 MCLR 复位 正常工作时的 WDT 超时溢出复位 休眠时的 WDT 超时溢出复位 在引脚电平发生变化时从休眠模式唤醒 在比较器电平发生变化时从休眠模式唤醒 某些寄存器不会以任何形式复位,它们在上电复位时未 知,在任何其他复位时不变。大部分其他寄存器都会在 正常工作过程中发生上电复位(POR)、MCLR、WDT 复位或引脚电平变化唤醒复位时复位到 “复位状态”。 它们在休眠过程中不受到 WDT 复位或 MCLR 复位的影 响,因为这些复位被视为恢复正常运行。 TO、 PD、 CWUF 和 RBWUF/GPWUF 位例外。在不同的复位情况 下它们的置 1 和清零状况不同。在软件中使用这些位来 确定复位的特性。所有寄存器的复位状态的完整说明请 参见表 8-3 和表 10-4。 此外,校准指令被编写在存储器的最后一个地址,其中 包括内部 RC 振荡器的校准值。不管是否设置了代码保 护,此单元总是没有代码保护的。此值被编程为 MOVLW XX 指令,其中 XX 是校准值,并被放在复位向量处。这将 在复位时把校准值载入 W 寄存器,然后 PC 将返回至地 址 0x000 处的用户程序。然后用户可以选择是将此值写 入 OSCCAL 寄存器 (05h)还是忽略它。 当将校准值写入 OSCCAL 寄存器时,将 “调整”内部 振荡器以消除由于制造工艺引起的振荡频率差异。 注: 擦除器件同时也会擦除内部振荡器预编程 的内部校准值。必须在擦除器件之前读取 校准值,从而以后可以正确地重新编程。 对于 MCV08A 器件,仅实现了 OSCCAL 的 bit <7:1>。 CAL6-CAL0 位用于校准。将 CAL6-CAL0 从 0000000 调整到 1111111 会改变时钟速度。欲知更多信息,请 参见寄存器 4-3。 注: 在修改 OSCCAL 以便与以后的器件兼容 时,不使用 OSCCAL 的 bit 0,并且此位应 该被写为 0。 2007 Microchip Technology Inc. DS41339A_CN 第 41 页 MCV08A 表 8-3: 寄存器的复位条件——MCV08A 地址 上电复位 MCLR 复位、 WDT 超时溢出、引脚电平变化 唤醒、比较器变化唤醒 - 00h qqqq qqqu(1) qqqq qqqu(1) xxxx xxxx uuuu uuuu TMR0 01h xxxx xxxx uuuu uuuu PC 02h 1111 1111 1111 1111 STATUS 03h 0001 1xxx qq0q quuu(2) FSR(4) 04h 110x xxxx 11uu uuuu FSR(5) 04h 111x xxxx 111u uuuu OSCCAL 05h 1111 111- uuuu uuu- GPIO 06h --xx xxxx --uu uuuu CM1CON0 07h 1111 1111 uuuu uuuu ADCON0 08h 1111 1100 uu11 1100 ADRES 09h xxxx xxxx uuuu uuuu OPTION - 1111 1111 1111 1111 TRIS - --11 1111 --11 1111 寄存器 W INDF 图注: 注 1: 2: u = 不变, x = 未知,- = 未实现位 (读为 0), q = 取值视情况而定。 W 寄存器的 bit <7:2> 包含振荡器校准值,这是因为存储器顶部有一条 MOVLW XX 指令。 特定条件下的复位值请参见表 8-4。 表 8-4: 特殊寄存器的复位条件 STATUS 地址:03h PCL 地址:02h 上电复位 0001 1xxx 1111 1111 正常工作时的 MCLR 复位 000u uuuu 1111 1111 休眠时的 MCLR 复位 0001 0uuu 1111 1111 休眠时的 WDT 0000 0uuu 1111 1111 正常工作时的 WDT 复位 0000 uuuu 1111 1111 在引脚电平发生变化时从休眠模式唤醒 1001 0uuu 1111 1111 比较器变化从休眠唤醒 0101 0uuu 1111 1111 图注: u = 不变, x = 未知,- = 未实现位 (读为 0)。 DS41339A_CN 第 42 页 2007 Microchip Technology Inc. MCV08A 图 8-7 所示为片上上电复位电路的简化框图。 MCLR 使能 8.3.1 此配置位在未编程时(状态为 1)会使能外部 MCLR 功 能引脚。在已编程时, MCLR 功能引脚将连接到内部 VDD 并且分配该引脚为 I/O 引脚。请参见图 8-6。 图 8-6: MCLR 选择 GPWU/RBWU (GP3)/MCLR/VPP 内部 MCLR MCLRE 8.4 上电复位 (POR) MCV08A 器件采用了一个片上上电复位(POR)电路, 此电路为大部分上电情况提供内部芯片复位。 片上上电复位电路将芯片保持在复位状态,直到 VDD 上 升到足以正常工作的电平。要利用内部上电复位,可以 将 (GP3/RB3) /MCLR/VPP 引脚编程为 MCLR 引脚, 并通过一个电阻将此引脚连接到 VDD,或者将此引脚编 程为(GP3/RB3)。使用一个晶体管(上拉电阻范围请 参见表 9-3)来实现内部弱上拉电阻。这将省掉产生上 电复位通常所需要的外部 RC 组件。指定了 VDD 的最大 上升时间。如需详细信息,请参见第 9.0 节 “电气规 范”。 上电复位电路和器件复位定时器(见第 8.5 节“器件复 位定时器 (DRT)”)电路是紧密相关的。上电时,复 位锁存器置 1 且 DRT 被复位。 DRT 定时器一旦检测到 MCLR 引脚为高电平就开始计数。在延时周期之后,它 将使复位锁存器复位,从而结束片上复位信号。 图 8-8 所示为一个 MCLR 引脚保持为低电平的上电延时 示例。在 MCLR 引脚变为高电平之前,允许 VDD 上升 并保持稳定。在 MCLR 引脚变为高电平之后,芯片实际 上会延时 TDRT ms 才退出复位。 在图 8-9 中,使用片上上电复位功能 (MCLR 引脚和 VDD 被连接在一起或者 MCLR 引脚被编程为 GP3)。 VDD 在起振定时器超时溢出前趋于稳定并且能够正常复 位。但是,图 8-10 描述了一个当 VDD 上升过于缓慢时 出现的问题。从 DRT 检测到 MCLR 引脚为高电平到 MCLR 和 VDD 实际上达到其最大值之间的时间过长。在 这种情况下,当起振定时器延时结束时,VDD 尚未达到 VDD 最小值,芯片可能无法正常运行。如果发生这种情 况,建议使用外部 RC 电路以延长上电复位延时(图 89)。 注: 当器件开始正常工作时(退出复位条件), 器件工作参数 (电压、频率、温度等)必 须符合一定的条件以保证正常工作。如果 不符合这些条件,那么器件必须保持在复 位状态,直到符合工作条件为止。 更多信息,请参见应用笔记 AN522 “Power-Up Considerations”(DS00522)和 AN607 “Power-up Trouble Shooting”(DS00607)。 当器件开始正常工作时 (退出复位条件),器件工作参 数 (电压、频率和温度)必须符合一定的条件以保证正 常工作。如果不符合这些条件,器件必须被保持在复位 状态,直到符合工作参数要求为止。 2007 Microchip Technology Inc. DS41339A_CN 第 43 页 MCV08A 图 8-7: 片上复位电路的简化框图 VDD 上电 检测 POR(上电复位) (GP3/RB3)/MCLR/VPP MCLR 复位 SS Q Q R R Q Q MCLRE WDT 超时溢出 引脚电平变化 休眠模式 WDT 复位 起振定时器 (10 ms、1.125 ms 或 18 ms) 芯片复位 在引脚电平变化复位时唤醒 比较器变化 比较器变化时 唤醒 图 8-8: 上电时的延时序列 (MCLR 拉为低电平) VDD MCLR 内部上电复位 TDRT DRT 延时 内部复位 图 8-9: 上电时的延时序列 (MCLR 连接到 VDD):快速 VDD 上升时间 VDD MCLR 内部上电复位 TDRT DRT 延时 内部复位 DS41339A_CN 第 44 页 2007 Microchip Technology Inc. MCV08A 图 8-10: 上电时的延时序列 (MCLR 连接到 VDD):缓慢 VDD 上升时间 V1 VDD MCLR 内部上电复位 TDRT DRT 延时 内部复位 注: 当 VDD 上升缓慢时,在 VDD 达到其最终值前 TDRT 延时早就结束了。在此示例中,当且仅 当 V1 ≥ VDD 最小值时,芯片会正确复位。 2007 Microchip Technology Inc. DS41339A_CN 第 45 页 MCV08A 8.5 器件复位定时器 (DRT) 在 MCV08A 器件上,每次当器件上电时 DRT 都会运行。 DRT 从复位开始运行并且随着振荡器选择和复位类型 的不同而有所不同 (见表 8-5)。 DRT 用内部 RC 振荡器作为时钟来工作。只要 DRT 是 活动的,处理器就保持在复位状态。DRT 延时使 VDD 上 升到 VDD 最小值以上,并使振荡器达到稳定。 基于晶体振荡器或陶瓷谐振器的振荡电路在上电后需要 一段时间来建立稳定的振荡。如表 8-5 所示,在 MCLR 达到逻辑高电平 (VIH MCLR)之后,片上 DRT 会将器 件保持一段时间的复位。在大多数情况下,不要求将 (GP3)/MCLR/VPP 编程为 MCLR 或使用外部 RC 网络连 接到 MCLR 输入引脚。这可以在对成本和 / 或空间控制 严格的应用中节省开支和空间,并且允许将 (GP3) / MCLR/VPP 引脚用作通用输入引脚。 由于 VDD、温度和制造工艺的不同,芯片之间的器件 DRT 延时也各不相同。详情请参见 AC 参数。 看门狗定时器从休眠状态超时溢出也会触发 DRT。这对 于使用 WDT 从休眠模式自动唤醒的应用特别重要。 复位源有 POR、 MCLR、 WDT 超时、引脚电平变化唤 醒和比较器变化唤醒。请参见第 8.9.2 节 “从休眠模式 唤醒”中的注 1、 2 和 3。 8.6 看门狗定时器 (WDT) 看门狗定时器 (WDT)是自由运行的片上 RC 振荡器, 它不需要任何外部组件。此 RC 振荡器独立于 (GP5) /OSC1/CLKIN 引脚外接的 RC 振荡器和内部 4/8 MHz 振荡器。这意味着即使主处理器时钟已经停止(如通过 执行 SLEEP 指令)WDT 将仍然运行。在正常工作或休 眠过程中, WDT 复位或唤醒复位都会产生器件复位。 TO 位 (STATUS<4>)将在看门狗定时器复位时清零。 表 8-5: 典型 DRT 周期 振荡器配置 上电复位 后续复位 LP 18 ms 18 ms XT 18 ms 18 ms INTOSC 1.125 ms 10 µs EXTRC 1.125 ms 10 µs 注: 8.6.1 应用设计人员负责确保使用 1.125 ms (标 称值) DRT 时可实现正确的操作。请参见 电气规范了解该模式下对 VDD 上升时间和 稳定性的要求。 WDT 周期 WDT 的正常超时溢出周期为 18 ms(没有预分频器)。 如果需要更长的超时溢出周期,可以通过写选项寄存器 为 WDT(在软件控制下)分配一个分频比最高为 1:128 的预分频器。因此,可以实现一个正常的 2.3 秒超时溢 出周期。此周期根据温度、VDD 以及各器件的不同制造 工艺而有所不同 (见直流规范)。 在最坏的情况下 (VDD = 最小值、温度 = 最大值并且 WDT 预分频比最大),在发生 WDT 超时溢出之前会有 几秒钟的延迟。 8.6.2 WDT 编程注意事项 CLRWDT 指令将清零 WDT 和后分频器 (如果将后分频 器分配给 WDT),并阻止它超时溢出和产生器件复位。 SLEEP 指令将复位 WDT 和后分频器(如果将后分频器 分配给 WDT)。这将在 WDT 唤醒复位之前提供一个最 大休眠时间。 可以通过将配置位 WDTE 编程为 0 来永久禁止 WDT。 如 需 确 定 访 问 配 置 字 的 方 法,请 参 见 “MCV08A Programming Specifications”。 通过将配置 WDTE 设定为 0,可以永久地禁止 WDT(见 第 8.1 节 “配置位”)。关于如何访问配置字的信息, 请参见 MCV08A 编程规范。 DS41339A_CN 第 46 页 2007 Microchip Technology Inc. MCV08A 图 8-11: 看门狗定时器框图 来自 Timer0 时钟源 (图 5-5) 0 1 看门狗 定时器 M U X 后分频器 8 选 1 MUX PS<2:0> PSA WDTE 到 Timer0 (图 5-4) 0 1 MUX PSA WDT 超时溢出 注 表 8-6: 地址 N/A 图注: 注 1: 1: T0CS、 T0SE、 PSA 和 PS<2:0> 均为选项寄存器中的位。 与看门狗定时器相关的寄存器汇总 名称 Bit 7 OPTION(1) GPWU Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 GPPU T0CS T0SE PSA PS2 PS1 PS0 上电复位 时的值 其他复位 时的值 1111 1111 1111 1111 看门狗定时器不使用阴影单元。- = 未实现 (读为 0), u = 不变。 仅 MCV08A。 2007 Microchip Technology Inc. DS41339A_CN 第 47 页 MCV08A 超时序列、掉电和从休眠唤醒状态位 (TO、 PD 和 GPWUF/RBWUF) 8.7 图 8-13: 欠压保护电路 2 VDD VDD 可以通过测试状态寄存器中的 TO、 PD 和 (GPWUF/ RBWUF)位来确定是否上电条件、 MCLR 或看门狗定 时器 (WDT)复位已经导致复位条件产生。 R1 MCV08A Q1 表 8-7: CWUF 复位后的 TO/PD/ (GPWUF/ RBWUF)状态 GPWUF/ RBWUF TO PD R2 40k(1) 导致复位的原因 注 1: 此欠压电路虽然精度较低,但相对较便宜。 当 VDD 低于以下公式计算出的电平时,晶体 管 Q1 关闭。 0 0 0 0 WDT 从休眠模式唤醒 0 0 0 u WDT 超时溢出 (不是从 休眠模式唤醒) 0 0 1 0 MCLR 从休眠模式唤醒 0 0 1 1 上电延时 0 0 u u 非休眠期间的 MCLR 0 1 1 0 在引脚电平发生变化时从 休眠模式唤醒 2: 1 0 1 0 在比较器电平发生变化时 从休眠模式唤醒 图 8-14: 图注: R1 VDD • = 0.7V R1 + R2 引脚必须被配置为 MCLR。 欠压保护电路 3 VDD u = 不变 MCP809 欠压复位 8.8 MCLR(2) VSS 欠压是这样一种情况,即器件电压 (VDD)下降到最小 值以下,但不为零,然后恢复。器件应该在发生欠压事 件时复位。 欠压保护电路 1 VDD 33k MCLR MCV08A 注: VDD VDD VDD RST 要在发生欠压时复位 MCV08A 器件,可以建立外部欠压 保护电路,如图 8-12 和图 8-13 所示。 图 8-12: 旁路 电容 欠压保护电路使用 Microchip Technology 的 MCP809 单片机监控器。有 7 种不同的跳变点 供选择以适应 5V 到 3V 的系统。 MCV08A 10k Q1 MCLR (2) 40k(1) 注 1: 2: 当 VDD 低于 Vz + 0.7V (其中 Vz = 齐纳电压) 时,此电路将激活复位。 引脚必须被配置为 MCLR。 DS41339A_CN 第 48 页 2007 Microchip Technology Inc. MCV08A 掉电模式 (休眠) 8.9 器件可以掉电(休眠)然后再上电(从休眠模式唤醒)。 8.9.1 休眠模式 可以通过执行 SLEEP 指令进入掉电模式。 使能时,看门狗定时器将被清零但仍然保持运行,TO 位 (STATUS<4>)被置 1,PD 位(STATUS<3>)被清零 并且振荡器驱动器被关闭。I/O 端口保持 SLEEP 指令执 行前的状态(驱动为高电平、驱动为低电平或高阻态)。 注: WDT 超时溢出所产生的复位不会将 MCLR 引脚驱动为低电平。 为了使掉电时电流消耗最低, T0CKI 输入电平应该为 VDD 或 VSS,而且在 MCLR 使能时,(GP3/RB3) / MCLR/VPP 引脚电平必须为逻辑高电平。 8.9.2 从休眠模式唤醒 8.10 程序校验和代码保护 如果代码保护位未被编程,验证时可以读出片上程序存 储器。 不管代码保护位的设置如何,都可以读前 64 个单元和 最后一个单元 (OSCCAL)。 不管是否在 MCV08A 器件上设置了代码保护位,都可以 读最后一个存储器单元。 8.11 ID 单元 有 4 个存储单元被指定为 ID 存储单元,供用户存储校 验和或其他编码标识号。在正常执行过程中不能访问这 些存储单元,但可在编程 / 校验模式下对它们进行读写。 仅使用 ID 存储单元的低 4 位,始终将高 4 位设置为 1。 高 4 位未实现。 无论代码保护设置如何,都可以读取这些存储单元。 器件可以通过以下事件之一从休眠模式唤醒: 1. 2. 3. 4. 当配置为 MCLR 时,(GP3)/MCLR/VPP 引脚上 发生外部复位输入。 看门狗定时器超时溢出复位(如果 WDT 使能)。 当使能了电平变化时唤醒时,输入引脚 GP0、 GP1 或 GP3 上发生电平变化。 比较器输出位 C1OUT 和 C2OUT 变化 (如果比 较器唤醒使能)。 这 些 事 件 都 将 导 致 器 件 复 位。可 以 使 用 TO、 PD、 CWUF 和 GPWUF/RBWUF 位来确定器件复位的原因。 如果发生 WDT 超时溢出 (并引起唤醒), TO 位被清 零。PD位在上电时置1,在调用SLEEP时清零。GPWUF 位表示休眠时 GP0、GP1 或 GP3 引脚状态的变化(从 GP 端口上最后一次寄存器或位操作之后)。 注: 提醒:请在进入休眠模式之前,读取输入 引脚。当器件处于休眠模式时,引脚上的 值从上次读该引脚时的的状态发生改变 时,就会发生唤醒。如果发生电平变化时 唤醒,并且引脚在进入休眠模式前未被读 取,即 使在 休 眠模 式 中 没有 引 脚 发 生 变 化,也会立即发生唤醒。 不管是什么引起唤醒,当器件从休眠模式唤醒时,WDT 都将被清零。 2007 Microchip Technology Inc. DS41339A_CN 第 49 页 MCV08A 8.12 在线串行编程 (ICSP™) MCV08A 单片机可在最终应用电路中被串行编程。只需 要 5 根线即可完成这一操作,其中时钟线、数据线各一 根,其余 3 根分别是电源线、接地线和编程电压线。这 使用户可使用未编程的器件制造电路板,而仅在产品交 付前才对单片机进行编程。这样还可以将最新的固件或 定制的固件编程到器件中。 通过将 MCLR (VPP)引脚的电平从 VIL 拉升到 VIHH, 同时将 GP1 和 GP0 引脚的电平保持为低电平可将器件 保持在编程 / 校验模式(见编程规范)。此时 GP1 成为 编程时钟而 GP0 成为编程数据。在此模式中 GP1 和 GP0 都是施密特触发器输入。 复位之后,为器件提供一条 6 位的命令。根据命令,可 以为器件提供 14 位程序数据或者由器件提供 14 位程序 数据,这取决于命令是一条载入命令还是一条读取命 令。欲知串行编程的完整细节,请参见 MCV08A 编程规 范。 图 8-15: 典型在线串行编程连接 到正常连接 外部 连接器 信号 MCV08A +5V VDD 0V VSS VPP MCLR/VPP CLK GP1/RB1 数据 I/O GP0/RB0 VDD 到正常连接 图 8-15 所示为典型的在线串行编程连接。 DS41339A_CN 第 50 页 2007 Microchip Technology Inc. MCV08A 9.0 电气规范 绝对最大值 † 偏置时的环境温度 ..................................................................................................................................-40°C 至 +85°C 储存温度...............................................................................................................................................-65°C 至 +150°C VDD 相对于 VSS 的电压 ................................................................................................................................. 0 至 +7.0V MCLR 相对于 VSS 的电压 .............................................................................................................................. 0 至 +14V 其他引脚相对于 VSS 的电压 ........................................................................................................... -0.3V 至 (VDD+0.3V) 总功耗 (1) ........................................................................................................................................................... 700 mW VSS 引脚的最大输出电流.................................................................................................................................... 200 mA VDD 引脚的最大输入电流 ................................................................................................................................... 150 mA 输入钳位电流 IIK (VI < 0 或 VI > VDD).......................................................................................................................... ±20 mA 输出钳位电流 IOK (VO < 0 或 VO > VDD).....................................................................................................................±20 mA 任一 I/O 引脚的最大灌电流 .................................................................................................................................. 25 mA 任一 I/O 引脚的最大拉电流 .................................................................................................................................. 25 mA I/O 端口的最大拉电流......................................................................................................................................... 100 mA I/O 端口的最大灌电流......................................................................................................................................... 100 mA 注 1: 功耗按如下公式计算:PDIS = VDD x {IDD - ∑ IOH} + ∑ {(VDD-VOH) x IOH} + ∑(VOL x IOL) † 注意:如果器件工作条件超过上述所列 “绝对最大值”,可能会对器件造成永久性损坏。上述值仅为运行条件极 大值,我们不建议器件在该规范规定的范围以外运行。器件长时间工作在最大值条件下,其稳定性会受到影响。 2007 Microchip Technology Inc. DS41339A_CN 第 51 页 MCV08A MCV08A 器件的电压—频率关系图 (-40°C ≤ TA ≤ +85°C) 图 9-1: 6.0 5.5 5.0 VDD (V) 4.5 4.0 3.5 3.0 2.5 2.0 0 4 10 8 20 25 频率(MHz) 最大振荡频率表 (MCV08A) 图 9-2: 振荡模式 LP XT EXTRC INTOSC 0 200 kHz 4 MHz 8 MHz 20 MHz 频率(MHz) DS41339A_CN 第 52 页 2007 Microchip Technology Inc. MCV08A 直流特性:MCV08A (工业级) 9.1 标准工作条件 (除非另外声明) 工作温度 -40°C ≤ TA ≤ +85°C (工业级) 直流特性 参数 编号 符号 特性 电源电压 最小 值 典型 值 (1) 最大 值 单位 2.0 5.5 V 请参见图 9-1 - - 1.5* - V 器件工作在休眠模式 - Vss - V 请参见第 8.4 节 “上电复位 (POR)” - - - - 175 0.625 275 1.1 - - 250 1.0 450 1.5 - 1.4 2.0 - - 11 38 15 52 µA µA D001 VDD D002 VDR RAM D003 VPOR 确保能够产生上电复位信 号的 VDD 启动电压 D004 SVDD 确保能够产生上电复位信 0.05* 号的 VDD 上升速率 D010 IDD 供电电流 (3,4) 数据保存电压 (2) 条件 V/ms 详情请参见第 8.4 节 “上电复位 (POR)” µA FOSC = 4 MHz, VDD = 2.0V mA FOSC = 4 MHz, VDD = 5.0V µA FOSC = 8 MHz, VDD = 2.0V mA FOSC = 8 MHz, VDD = 5.0V mA FOSC = 20 MHz, VDD = 5.0V D020 IPD 掉电电流 (5) - - 0.1 0.35 1.2 2.2 µA µA FOSC = 32 kHz, VDD = 2.0V FOSC = 32 kHz, VDD = 5.0V VDD = 2.0V VDD = 5.0V D022 IWDT WDT 电流 (5) - - 1.0 7.0 3.0 16.0 µA µA VDD = 2.0V VDD = 5.0V D023 ICMP 比较器电流 (5) - - 15 55 22 67 µA µA VDD = 2.0V (比较器) VDD = 5.0V (比较器) D022 ICVREF CVREF 电流 (5) - - 30 75 60 125 µA µA VDD = 2.0V (高电压范围) VDD = 5.0V (高电压范围) D023 IFVR 内部 0.6V 固定参考电压 电流 - 85 120 µA - 175 205 µA - 120 150 µA VDD = 2.0V (0.6V 参考电压且使能 1 个 比较器) VDD = 5.0V (0.6V 参考电压且使能 1 个 比较器) 2.0V - 200 250 µA 5.0V D024 * 注 1: 2: 3: 4: 5: 6: ∆IAD A/D 转换电流 (5) 这些参数仅为特征值,未经测试。 “典型值”栏中的数据均为 25°C 下的值。此数据仅供设计参考,未经测试。 该电压是休眠模式下保证不丢失 RAM 数据的最小 VDD。 供电电流主要随工作电压和频率而变化。其他因素,比如总线负载、振荡器类型、总线速率、内部代码执 行模式和温度也会影响电流消耗。 正常工作模式下所有 IDD 的测量均是在以下条件下完成的: OSC1 = 外部方波,轨到轨;所有 I/O 引脚均为三态,并拉至 VSS, T0CKI = VDD, MCLR = VDD ; WDT 根据说明被使能 / 禁止。 休眠模式下的掉电电流与振荡器类型无关。掉电电流是在器件休眠时,所有 I/O 引脚处于高阻态并且连接 到 VDD 或 VSS 时测得的。 不包括流经 REXT 的电流。流经该电阻的电流可通过下式估算: I = VDD/2REXT (mA),其中 REXT 的单位是 kΩ。 2007 Microchip Technology Inc. DS41339A_CN 第 53 页 MCV08A 9.2 直流特性:MCV08A (工业级) 标准工作条件 (除非另外声明) 工作温度 -40°C ≤ TA ≤ +85°C (工业级) 直流特性 参数 编号 符号 VIL 特性 最小值 典型 值† 最大值 单位 条件 输入低电压 I/O 端口 带 TTL 缓冲器 D030 D030A VSS - .8V V 由于 4.5 ≤ VDD ≤ 5.5V VSS - 0.15 VDD V 其他情况 D031 带施密特触发缓冲器 VSS - 0.15 VDD V D032 MCLR, T0CKI VSS - 0.15 VDD V D033 OSC1 (EXTRC 模式), EC(1) VSS - 0.15 VDD V D033 OSC1 (HS 模式) VSS - 0.3 VDD V D033 OSC1 (XT 和 LP 模式) VSS - 0.3 V 2.0 - VDD V 4.5 ≤ VDD ≤ 5.5V 0.25 VDD - VDD V 其他情况 整个 VDD 范围 VIH 输入高电压 I/O 端口 带 TTL 缓冲器 D040 D040A - + 0.8V D041 带施密特触发缓冲器 0.85 VDD - VDD V D042 MCLR, T0CKI 0.85 VDD - VDD V D043 OSC1 (EXTRC 模式), EC(1) 0.85 VDD - VDD V D043 OSC1 (HS 模式) 0.7 VDD - VDD V D043 OSC1 (XT 和 LP 模式) 1.6 - VDD V GPIO/PORTB 弱上拉电流 (4) 50 250 400 µA VDD = 5V, VPIN = VSS Vss ≤ VPIN ≤ VDD,引脚处于高阻态 D070 IPUR IIL 输入泄漏电流 (2),(3) D060 I/O 端口 - - ±1 µA D062 GP3/MCLR(5) 50 250 400 µA Vss ≤ VPIN ≤ VDD D061A GP3/MCLR(6) - - ±5 µA Vss ≤ VPIN ≤ VDD D063 OSC1 - - ±5 µA Vss ≤ VPIN ≤ VDD, XT 和 LP 模式振荡器配置 - - 0.6 V IOL = 8.5 mA, VDD = 4.5V, -40°C 至 +85°C - - 0.6 V IOL = 7.0 mA, VDD = 4.5V, -40°C 至 +85°C - - 0.6 V IOL = 1.6 mA, VDD = 4.5V, -40°C 至 +85°C 输出低电压 D080 VOL I/O 端口 /CLKOUT D080A D083 OSC2 输出高电压 D090 VOH I/O 端口 /CLKOUT(3) D090A D092 OSC2 VDD – 0.7 - - V IOH = -3.0 mA, VDD = 4.5V, -40°C 至 +85°C VDD – 0.7 - - V IOH = -2.5 mA, VDD = 4.5V, -40°C 至 +85°C VDD – 0.7 - - V IOH = -1.3 mA, VDD = 4.5V, 40°C- 至 +85°C 当外部时钟用于驱动 OSC1 时,处于 XT、 HS 和 LP 模式 输出引脚的容性负载规范 D100 COSC2 OSC2 引脚 - - 15 pF D101 CIO 所有 I/O 引脚 - - 50 pF † 注 1: 2: 3: 4: 5: 除非另外声明,“典型值”栏中的数据均为 5V 和 25°C 下的值。这些参数仅作为设计参考,未经测试。 在 EXTRC 振荡器配置中, OSC1/CLKIN 引脚被配置为施密特触发器输入。在 RC 模式下,建议不要使用外部时钟驱动 MCV08A 器件。 MCLR 引脚上的泄漏电流主要由施加在该引脚上的电平决定。规定电平为正常工作条件下的电平。在不同的输入电压下可测得更高的泄 漏电流。 负电流定义为自引脚流出的电流。 不包括 GP3。关于 GP3 请参照参数 D061 和 D061A。 此规范适用于将 GP3/MCLR 配置为具有外部 MCLR 功能且使能内部上拉的输入引脚。 DS41339A_CN 第 54 页 2007 Microchip Technology Inc. MCV08A 表 9-1: 比较器规范 符号 特性 VOS 输入失调电压 VCM 输入共模电压 最小值 典型值 最大值 单位 - 0 ±3 ±10 mV - VDD - 1.5 V - 150 - 400* dB CMRR 共模抑制比 +55* TRT 响应时间 (1) - * 注 ns 备注 内部 这些参数仅为特征值,未经测试。 1: 响应时间是在比较器一个输入端的电压为 (VDD - 1.5)/2,而另一个输入端的电压从 VSS 变化到 VDD - 1.5V 的过程中测得的。 表 9-2: 参数 编号 A/D 转换器特性 (MCV08A) 符号 特性 最小值 典型值 † 最大值 单位 位 LSb 条件 A01 NR 分辨率 - - A03 EIL 积分误差 - - 8位 ±1.5 A04 EDL 微分误差 - - -1 < EDL < 1.5 LSb A05 EFS 满量程范围 2 - 5.5* V - -0.5 - ±1.5 LSb VREF = 5.0V - ±1.75 LSb VREF = 5.0V - - V A06 EOFF 偏移误差 A07 EGN 增益误差 A10 - VAIN 单调性 - 模拟输入电压 - 保证 (1) VDD ZAIN 模拟电压源阻抗推荐值 - - A25 A30 * † 注 1: - 10 VDD = 5.0V 不丢失编码至 8 位 VDD = 5.0V VDD VSS ≤ VAIN ≤ VDD kΩ 这些参数仅为特征值,未经测试。 除非另外声明,“典型值”栏中的数据均为 5.0V 和 25°C 下的值。这些参数仅供设计参考,未经测试。 A/D 转换结果不会因输入电压的增加而减小,并且不会丢失编码。 2007 Microchip Technology Inc. DS41339A_CN 第 55 页 MCV08A 时序参数符号和负载条件 9.3 可根据以下一种格式来创建时序参数符号: 1. TppS2ppS 2. TppS T F 频率 T 时间 小写字母 (pp)和它们的含义: pp 2 至 mc MCLR ck CLKOUT osc 振荡器 cy 周期时间 os OSC1 drt 器件复位定时器 t0 T0CKI io I/O 端口 wdt 看门狗定时器 大写字母和它们的含义: S F 下降 P 周期 H 高 R 上升 I 无效 (高阻态) V 有效 L 低 Z 高阻态 图 9-3: 负载条件 图注: 引脚 CL = 50 pF 适用于除 OSC2 之外的所有 引脚 Cl 15 pF 当外部时钟用于驱动 OSC1 时,适用于 XT、 HS 或 LP 模式下的 OSC2 引脚 VSS 图 9-4: 外部时钟时序 Q4 Q1 Q3 Q2 Q4 Q1 OSC1 1 3 3 4 4 2 DS41339A_CN 第 56 页 2007 Microchip Technology Inc. MCV08A 表 9-3: 外部时钟时序要求 标准工作条件 (除非另外声明) 工作温度 -40°C ≤ TA ≤ +85°C (工业级), 交流特性 参数 编号 符号 1A 最小 典型值 (1) 最大值 值 特性 外部 CLKIN 频率 (2) FOSC 振荡器频率 (2) 1 外部 CLKIN 周期 TOSC (2) 振荡周期 (2) 单位 条件 DC - 4 DC - 200 MHz XT 振荡模式 kHz LP 振荡模式 - 0.1 - 4 - 4 - 250 - 200 kHz LP 振荡模式 - - ns XT 振荡模式 5 - - µs LP 振荡模式 250 - EXTRC 振荡模式 250 - - 10,000 ns ns XT 振荡模式 5 - µs LP 振荡模式 - ns MHz EXTRC 振荡模式 MHz XT 振荡模式 2 TCY 指令周期 200 - 4/FOSC 3 TosL, TosH 时钟输入 (OSC1)的低电平 或高电平时间 50* - - ns XT 振荡器 2* - µs LP 振荡器 TosR, TosF 时钟输入 (OSC1)上升或下 降时间 - - - 25* ns XT 振荡器 - - 50* ns LP 振荡器 4 这些参数仅为特征值,未经测试。 除非另外声明,“典型值”栏中的数据均为 5V 和 25°C 下的值。这些参数仅供设计参考,未经测试。 所有值均为在特定的振荡模式下,器件在标准工作条件下执行代码时获得的特征数据。超过规定值可能导 致振荡器运行不稳定和 / 或电流消耗超出预期值。 当使用了外部时钟输入时,所有器件的 “最大”周期时间限制为 “DC”(没有时钟)。 * 注 1: 2: 表 9-4: 经过校准的内部 RC 频率 标准工作条件 (除非另外声明) 工作温度 -40°C ≤ TA ≤ +85°C (工业级), 交流特性 参数 编号 F10 * 注 1: 符号 FOSC 特性 内部校准 INTOSC 频率 (1) 频率 容差 最小 值 典型值 (1) ±1% 7.92 8.00 ±5% 7.60 8.00 最大 单位 值* 条件 8.08 MHz VDD 和温度待定 2.5V ≤ VDD ≤ 5.5V 0°C ≤ TA ≤ +85°C 8.40 MHz 2.0V ≤ VDD ≤ 5.5V -40°C ≤ TA ≤ +85°C (工业级) 这些参数仅为特征值,未经测试。 除非另外声明,“典型值”栏中的数据均为 5V 和 25°C 下的值。这些参数仅供设计参考,未经测试。 2007 Microchip Technology Inc. DS41339A_CN 第 57 页 MCV08A 图 9-5: I/O 时序 Q1 Q4 Q2 Q3 OSC1 I/O 引脚 (输入) 17 I/O 引脚 (输出) 19 18 新值 旧值 20,21 注: 所有测试都必须在 I/O 引脚和 CLKOUT 引脚上连有指定的电容负载 50 pF (参见数据手册)的条件下 进行。 DS41339A_CN 第 58 页 2007 Microchip Technology Inc. MCV08A 表 9-5: 时序要求 标准工作条件 (除非另外声明) 工作温度 -40°C ≤ TA ≤ +85°C (工业级) 交流特性 参数 编号 特性 最小值 典型值 (1) 最大值 单位 OSC1↑ (Q1 周期)到端口输出有效的时间 - - 100* ns 符号 17 TOSH2IOV (2),(3) 18 TOSH2IOI OSC1↑ (Q2 周期)到端口输入无效的时间 (I/O 保持时间) (2) 50 - - ns 19 TIOV2OSH 端口输入无效到 OSC1↑ 的时间 (I/O 输入 建立时间) 50 - - ns 20 TIOR 端口输出上升时间 (2),(3) - 10 25** ns 21 TIOF 端口输出下降时间 (2),(3) - 10 25** ns 这些参数仅为特征值,未经测试。 这些参数为设计目标值,未经测试。 除非另外声明,“典型值”栏中的数据均为 5V 和 25°C 下的值。这些参数仅供设计参考,未经测试。 在 EXTRC 模式下进行测量。 关于负载条件请参见图 9-3。 * ** 注 1: 2: 3: 图 9-6: 复位、看门狗定时器和器件复位定时器时序 VDD MCLR 30 内部 POR 32 32 32 DRT 延时 (2) 内部 复位 看门狗 定时器复位 31 34 34 I/O 引脚 (1) 注 1: 必须通过软件使能输出驱动器使 I/O 引脚退出高阻模式。 2: MCLR 功能或 WDT 复位只能 XT、 LP 和 HS 模式下使用。 2007 Microchip Technology Inc. DS41339A_CN 第 59 页 MCV08A 表 9-6: 复位、看门狗定时器和器件复位定时器 标准工作条件 (除非另外声明) 工作温度 -40°C ≤ TA ≤ +85°C (工业级) 交流特性 参数 编号 最小值 典型值 (1) 最大值 单位 - 18* - 30* ns VDD = 5.0V 9* ms VDD = 5.0V (商业级) 标准 9* 18* 30* ms VDD = 5.0V (工业级) 快速 0.5* 1.125* 2* ms VDD = 5.0V (工业级) - - 2000* ns 符号 特性 TMCL MCLR 脉冲宽度 (低电平) TWDT 看门狗定时器延时周期 (无预分频器) TDRT 器件复位定时器周期 30 31 32 : 34 TIOZ 2000* 从 MCLR 低电平到 I/O 高阻抗 条件 这些参数仅为特征值,未经测试。 除非另外声明,“典型值”栏中的数据均为 5V 和 25°C 下的值。这些参数仅供设计参考,未经测试。 * 注 1: 图 9-7: TIMER0 时钟时序 T0CKI 40 41 42 表 9-7: TIMER0 时钟要求 标准工作条件 (除非另外声明) 工作温度 -40°C ≤ TA ≤ +85°C (工业级) 交流特性 参数 编号 40 41 42 * 注 1: 符号 Tt0H Tt0L Tt0P 最小值 典型值 (1) 最大 值 单位 无预分频器 0.5 TCY + 20* - - ns 有预分频器 10* - - ns 无预分频器 0.5 TCY + 20* - - ns 有预分频器 10* - - ns 20 或 TCY + 40* N - - ns 特性 T0CKI 高电平脉冲宽度 T0CKI 低电平脉冲宽度 T0CKI 周期 条件 取较大值。 N = 预分频比 (1, 2, 4, ..., 256) 这些参数仅为特征值,未经测试。 除非另外声明,“典型值”栏中的数据均为 5V 和 25°C 下的值。这些参数仅供设计参考,未经测试。 DS41339A_CN 第 60 页 2007 Microchip Technology Inc. MCV08A 表 9-8: VDD (伏) 上拉电阻范围 温度 (°C) 最小值 典型值 最大值 单位 -40 73k 105k 186k Ω 25 73k 113k 187k Ω GP0/GP1 2.0 5.5 85 82k 123k 190k Ω -40 15k 21k 33k Ω 25 15k 22k 34k Ω 85 19k 26k 35k Ω -40 63k 81k 96k Ω 25 77k 93k 116k Ω 85 82k 96k 116k Ω -40 16k 20k 22k Ω 25 16k 21k 23k Ω 85 24k 25k 28k Ω GP3 2.0 5.5 2007 Microchip Technology Inc. DS41339A_CN 第 61 页 MCV08A 注: DS41339A_CN 第 62 页 2007 Microchip Technology Inc. MCV08A 10.0 封装 10.1 封装标识信息 8 引脚 PDIP 示例 MCV08A/P 017 0410 XXXXXXXX XXXXXNNN YYWW 8 引脚 SOIC(3.90 mm) XXXXXXXX XXXXYYWW NNN 图注: XX...X Y YY WW NNN e3 * 注: 示例 MCV08A-I /SN0410 017 客户信息 年份代码 (日历年的最后一位数字) 年份代码 (日历年的最后两位数字) 星期代码 (1 月 1 日的星期代码为 “01”) 以字母数字排序的追踪代码 雾锡 (Matte Tin, Sn)的 JEDEC 无铅标志 表示无铅封装。 JEDEC 无铅标志 ( e3 )标示于此种封装的外包装 上。 Microchip 元器件编号如果无法在同一行内完整标注,将换行标出,因此会限制 表示客户信息的字符数。 * 标准 MCV 器件标识由 Microchip 元器件编号、年份代码、星期代码和追踪代码组成。若 MCV 器件标识超出上述内 容,需支付一定的附加费用。请向当地的 Microchip 销售办事处了解确认。对于 QTP 器件,任何特殊标记的费用都 已包含在 QTP 价格中。 2007 Microchip Technology Inc. DS41339A_CN 第 63 页 MCV08A ᓩ㛮ลᇕঠ߫Ⳉᦦᓣᇕ㺙˄3˅²²PLOЏԧ>3',3@ ⊼˖ ᳔ᮄᇕ㺙䇋㟇KWWSZZZPLFURFKLSFRPSDFNDJLQJᶹⳟ0LFURFKLSᇕ㺙㾘㣗DŽ 1 ⊼ ( ' ( $ $ / $ F H H% E E 㣅ᇌ ऩԡ ሎᇌ㣗ೈ ᓩ㛮᭄ ᳔ᇣ 1 ℷᐌ ᳔ ᓩ㛮䯈䎱 H 乊ッࠄᅮ䴶催ᑺ $ ± %6& ± ลᇕ㺙८ᑺ $ ลᑩ䴶ࠄᅮ䴶催ᑺ $ ± ± 㙽ࠄ㙽ᆑᑺ ( ลᇕ㺙ᆑᑺ ( ᘏ䭓ᑺ ' ᓩ㛮ᇪࠄᅮ䴶催ᑺ / ᓩ㛮८ᑺ F ᓩ㛮Ϟ䚼ᆑᑺ E ᓩ㛮ϟ䚼ᆑᑺ E ± ᘏᥦ߫䯈䎱 H% ± ⊼˖ ᓩ㛮ⱘৃ㾕ᅮԡࡳ㛑ৃ㛑ϡৠˈԚᖙ乏䰈ᕅऎඳݙDŽ 䞡㽕⡍ᗻDŽ ሎᇌ'(ϡࣙᣀล↯䖍さ䍋DŽล↣ջⱘ↯䖍さ䍋ϡᕫ䍙䖛㣅ᇌDŽ ሎᇌ݀Ꮒ䇋খ㾕$60(<0DŽ %6&˖ᴀሎᇌDŽᰒ⼎ⱘᰃ≵᳝݀Ꮒⱘ⧚䆎㊒⹂ؐDŽ 0LFURFKLS 7HFKQRORJ\ ো&% DS41339A_CN 第 64 页 2007 Microchip Technology Inc. MCV08A ᓩ㛮ลᇕᇣᔶᇕ㺙˄61˅ じᴵˈPPЏԧ>62,&@ ᓩ㛮ลᇕᇣᔶᇕ㺙˄61˅²²じᴵˈPPЏԧ>62,&@ ⊼˖ ᳔ᮄᇕ㺙䇋㟇KWWSZZZPLFURFKLSFRPSDFNDJLQJᶹⳟ0LFURFKLSᇕ㺙㾘㣗DŽ ⊼˖ ⊼˖ ᳔ᮄᇕ㺙䇋㟇KWWSZZZPLFURFKLSFRPSDFNDJLQJᶹⳟ0LFURFKLSᇕ㺙㾘㣗DŽ ᳔ᮄᇕ㺙䇋㟇KWWSZZZPLFURFKLSFRPSDFNDJLQJᶹⳟ0LFURFKLSᇕ㺙㾘㣗DŽ ' ' ' 1 H 1 1 H H ( ( ( ( ( ⊼ ⊼ ( ⊼ $$ E $ $ $ $$ E E K K K F F // ऩԡ ऩԡ ᘏ催ᑺ ᘏ催ᑺ ᓩ㛮䯈䎱 ᘏ催ᑺ ลᇕ㺙८ᑺ ลᇕ㺙८ᑺ ぎ䯈䱭 ลᇕ㺙८ᑺ ぎ䯈䱭 ぎ䯈䱭 ᘏᆑᑺ ᘏᆑᑺ ᘏᆑᑺ ลᇕ㺙ᆑᑺ ลᇕ㺙ᆑᑺ ลᇕ㺙ᆑᑺ ᘏ䭓ᑺ ᘏ䭓ᑺ ᘏ䭓ᑺ ᭰䴶˄ৃ䗝˅ ᭰䴶˄ৃ䗝˅ ᑩ㛮䭓ᑺ ᭰䴶˄ৃ䗝˅ ᑩ㛮䭓ᑺ ᓩ㛮ᡩᕅ䭓ᑺ ᑩ㛮䭓ᑺ ᓩ㛮ᡩᕅ䭓ᑺ ᑩ㛮ؒ᭰㾦ᓩ㛮ᡩᕅ䭓ᑺ ᑩ㛮ؒ᭰㾦 ᓩ㛮८ᑺ ᑩ㛮ؒ᭰㾦 ᓩ㛮८ᑺ ᓩ㛮ᆑᑺ ᓩ㛮८ᑺ ᓩ㛮ᆑᑺ ล乊䚼䫹ᑺ ᓩ㛮ᆑᑺ ลᢨ㾦ᑺ ลᑩ䚼䫹ᑺ ล乊䚼䫹ᑺ ลᢨ㾦ᑺ ลᑩ䚼䫹ᑺ A K F ሎᇌ㣗ೈ ሎᇌ㣗ೈ ᓩ㛮䯈䎱 ᓩ㛮䯈䎱 A 1 $ $ $ $ ( ऩԡ ᳔ᇣ ᳔ᇣ ሎᇌ㣗ೈ 1 ( ±± H $ $ $ ( ( ' ( K ' K / ( ' K / / / / F F F F E E A A B / F F E A B BB / ↿㉇ ↿㉇ ℷᐌ ℷᐌ ᳔ᇣ %6& %6& ±± ± ±± ±± %6& %6& %6& %6& B ↿㉇ ᳔ ᳔ ℷᐌ ᳔ %6& ± ± ± ± ± %6& ± %6& ± ± %6& ± ± ± 5() 5() ± ± ± ± ± ±± ±± ± ± %6& %6& ⊼˖ B ᓩ㛮ⱘৃ㾕ᅮԡࡳ㛑ৃ㛑ϡৠˈԚᖙ乏䰈ᕅऎඳݙDŽ ⊼˖ ⊼˖ 䞡㽕⡍ᗻDŽ ᓩ㛮ⱘৃ㾕ᅮԡࡳ㛑ৃ㛑ϡৠˈԚᖙ乏䰈ᕅऎඳݙDŽ ᓩ㛮ⱘৃ㾕ᅮԡࡳ㛑ৃ㛑ϡৠˈԚᖙ乏䰈ᕅऎඳݙDŽ ሎᇌ'(ϡࣙᣀล↯䖍さ䍋DŽล↣ջⱘ↯䖍さ䍋ϡᕫ䍙䖛↿㉇DŽ 䞡㽕⡍ᗻDŽ 䞡㽕⡍ᗻDŽ ሎᇌ݀Ꮒ䇋খ㾕$60(<0DŽ ሎᇌ'(ϡࣙᣀล↯䖍さ䍋DŽล↣ջⱘ↯䖍さ䍋ϡᕫ䍙䖛↿㉇DŽ ሎᇌ'(ϡࣙᣀล↯䖍さ䍋DŽล↣ջⱘ↯䖍さ䍋ϡᕫ䍙䖛↿㉇DŽ %6&˖ᴀሎᇌDŽᰒ⼎ⱘᰃ≵᳝݀Ꮒⱘ⧚䆎㊒⹂ؐDŽ ሎᇌ݀Ꮒ䇋খ㾕$60(<0DŽ ሎᇌ݀Ꮒ䇋খ㾕$60(<0DŽ 5()˖খ㗗ሎᇌˈ䗮ᐌ᮴݀Ꮒˈҙկখ㗗DŽ %6&˖ᴀሎᇌDŽᰒ⼎ⱘᰃ≵᳝݀Ꮒⱘ⧚䆎㊒⹂ؐDŽ %6&˖ᴀሎᇌDŽᰒ⼎ⱘᰃ≵᳝݀Ꮒⱘ⧚䆎㊒⹂ؐDŽ 5()˖খ㗗ሎᇌˈ䗮ᐌ᮴݀Ꮒˈҙկখ㗗DŽ 5()˖খ㗗ሎᇌˈ䗮ᐌ᮴݀Ꮒˈҙկখ㗗DŽ F / H H $ $ F F $ $ ᓩ㛮᭄ A K / / ᓩ㛮᭄ ᓩ㛮᭄ K 5() ± ± ± ± ± 0LFURFKLS 7HFKQRORJ\ ো&% 0LFURFKLS 7HFKQRORJ\ ো&% 2007 Microchip Technology Inc. DS41339A_CN 第 65 页 MCV08A 8ᓩ㛮ลᇕᇣᔶᇕ㺙˄SN˅üüじൟˈ3.90 mmЏԧ>SOIC@ ⊼˖᳔ᮄᇕ㺙䇋㟇http://www.microchip.com/packagingᶹⳟMicrochipᇕ㺙㾘㣗DŽ ϱ㔥 ᓎ䆂ⱘ䖲Ⲭᔶ ऩԡ ሎᇌ㣗ೈ ↿㉇ ᳔ᇣℷᐌ᳔ 㾺⚍䯈䎱 㾺⚍⛞Ⲭ䯈䎱 㾺⚍⛞Ⲭᆑᑺ˄XB˅ 㾺⚍⛞Ⲭ䭓ᑺ˄XB˅ ⊼˖ 1. ሎᇌ݀ᏂձASME Y14.5M BSC˖ᴀሎᇌDŽ⧚䆎㊒⹂ؐˈ᮴݀ᏂDŽ Microchip Technologyো˖C04-2057A DS41339A_CN 第 66 页 2007 Microchip Technology Inc. MCV08A 附录 A: 版本历史 版本 A 初始发行版。 2007 Microchip Technology Inc. DS41339A_CN 第 67 页 MCV08A 注: DS41339A_CN 第 68 页 2007 Microchip Technology Inc. MCV08A 索引 A 配置位 ................................................................................ 37 ALU ...................................................................................... 7 Q B Q 周期 ................................................................................ 10 欠压保护电路 ..................................................................... 48 欠压复位 ............................................................................ 48 半进位 .................................................................................. 7 比较器 在休眠模式下的工作方式 ........................................... 31 C CONFIG1 寄存器 ............................................................... 38 CPU 的特殊性能 ................................................................. 37 产品系列 MCV08A ....................................................................... 5 程序计数器 ......................................................................... 17 从休眠模式唤醒 .................................................................. 49 存储器构成 ......................................................................... 11 数据存储器 ................................................................. 12 (MCV08A) ............................................................... 11 D 代码保护 ....................................................................... 37, 49 掉电模式 ............................................................................. 49 读—修改—写 ..................................................................... 24 堆栈 .................................................................................... 17 F FSR .................................................................................... 18 复位 .................................................................................... 37 R RC 振荡器 .......................................................................... 40 熔丝。请参见配置位 S STATUS 寄存器 ................................................................... 7 上电复位 PD .............................................................................. 48 器件复位定时器 (DRT) ........................................... 37 TO .............................................................................. 48 时序参数符号和负载条件 ................................................... 56 时序图和规范 ..................................................................... 56 时钟机制 ............................................................................ 10 T Timer0 Timer0 ....................................................................... 25 Timer0 (TMR0)模块 .............................................. 25 TMR0 外部时钟 .......................................................... 27 TRIS 寄存器 ....................................................................... 19 特殊功能寄存器 ................................................................. 13 W I I/O 编程注意事项 ................................................................ 24 I/O 端口 .............................................................................. 19 I/O 接口 .............................................................................. 19 ID 单元 ......................................................................... 37, 49 INDF ................................................................................... 18 J 寄存器 CONFIG1 (配置字寄存器 1) ................................... 38 OPTION_REG (OPTION) ...................................... 15 特殊功能 ..................................................................... 13 间接寻址 ............................................................................. 18 进位 ...................................................................................... 7 WWW 在线技术支持 ............................................................ 3 文件寄存器映射 MCV08A .................................................................... 12 X 休眠模式 ...................................................................... 37, 49 Y 预分频器 ............................................................................ 27 原理框图 MCV08A 的比较器 ..................................................... 30 Timer0 ....................................................................... 25 TMR0/WDT 预分频器 ................................................ 28 Z K 看门狗定时器 (WDT) ................................................ 37, 46 编程注意事项 ............................................................. 46 周期 ............................................................................ 46 勘误表 .................................................................................. 3 框图 看门狗定时器 ............................................................. 47 片内复位电路 ............................................................. 44 L 零位 ...................................................................................... 7 O 振荡器类型 HS .............................................................................. 39 LP .............................................................................. 39 RC ............................................................................. 39 XT .............................................................................. 39 振荡器配置 ......................................................................... 39 指令流 / 流水线 .................................................................. 10 指令周期 ............................................................................ 10 直流规范 (工业级和扩展级) ............................................ 54 直流特性 ............................................................................ 54 直流特性 (工业级) .......................................................... 53 装载 PC .............................................................................. 17 OPTION 寄存器 .................................................................. 15 OSC 选择 ........................................................................... 37 P POR 器件复位定时器 (DRT) ........................................... 46 上电复位 (POR) ...................................................... 37 2007 Microchip Technology Inc. DS41339A_CN 第 69 页 MCV08A 注: DS41339A_CN 第 70 页 2007 Microchip Technology Inc. MCV08A 产品标识体系 欲订货或获取价格、交货等信息,请与我公司生产厂或销售办事处联系。 器件编号 X /XX XXX 器件 温度范围 封装 模式 器件: MCV08A ; MCV08AT(1) 温度范围: I = -40°C 至 封装: P = 示例: a) b) MCV08A-I/SN = 工业级温度, SOIC 封装 MCV08AT-I/SN = 工业级温度, SOIC 封装, 卷带式 VDD 范围为 2.0V 至 5.5V +85°C (工业级) 塑封 (PDIP) (3) 注 2007 Microchip Technology Inc. 1: 2: 3: T = 仅 SOIC 卷带式封装。 仅限 MCV08A。 无铅封装。 DS41339A_CN 第 71 页 全球销售及服务网点 美洲 亚太地区 亚太地区 欧洲 公司总部 Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 1-480-792-7200 Fax: 1-480-792-7277 技术支持: http://support.microchip.com 网址:www.microchip.com 亚太总部 Asia Pacific Office Suites 3707-14, 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel: 852-2401-1200 Fax: 852-2401-3431 澳大利亚 Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 奥地利 Austria - Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 印度 India - Bangalore Tel: 91-80-4182-8400 Fax: 91-80-4182-8422 丹麦 Denmark-Copenhagen Tel: 45-4450-2828 Fax: 45-4485-2829 印度 India - New Delhi Tel: 91-11-4160-8631 Fax: 91-11-4160-8632 法国 France - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 印度 India - Pune Tel: 91-20-2566-1512 Fax: 91-20-2566-1513 德国 Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 日本 Japan - Yokohama Tel: 81-45-471- 6166 Fax: 81-45-471-6122 意大利 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 亚特兰大 Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 波士顿 Boston Westborough, MA Tel: 1-774-760-0087 Fax: 1-774-760-0088 芝加哥 Chicago Itasca, IL Tel: 1-630-285-0071 Fax: 1-630-285-0075 达拉斯 Dallas Addison, TX Tel: 1-972-818-7423 Fax: 1-972-818-2924 底特律 Detroit Farmington Hills, MI Tel: 1-248-538-2250 Fax: 1-248-538-2260 科科莫 Kokomo Kokomo, IN Tel: 1-765-864-8360 Fax: 1-765-864-8387 洛杉矶 Los Angeles Mission Viejo, CA Tel: 1-949-462-9523 Fax: 1-949-462-9608 圣克拉拉 Santa Clara Santa Clara, CA Tel: 408-961-6444 Fax: 408-961-6445 加拿大多伦多 Toronto Mississauga, Ontario, Canada Tel: 1-905-673-0699 Fax: 1-905-673-6509 中国 - 北京 Tel: 86-10-8528-2100 Fax: 86-10-8528-2104 中国 - 成都 Tel: 86-28-8665-5511 Fax: 86-28-8665-7889 中国 - 福州 Tel: 86-591-8750-3506 Fax: 86-591-8750-3521 中国 - 香港特别行政区 Tel: 852-2401-1200 Fax: 852-2401-3431 中国 - 南京 Tel: 86-25-8473-2460 Fax: 86-25-8473-2470 中国 - 青岛 Tel: 86-532-8502-7355 Fax: 86-532-8502-7205 中国 - 上海 Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 中国 - 沈阳 Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 中国 - 深圳 Tel: 86-755-8203-2660 Fax: 86-755-8203-1760 中国 - 顺德 Tel: 86-757-2839-5507 Fax: 86-757-2839-5571 中国 - 武汉 Tel: 86-27-5980-5300 Fax: 86-27-5980-5118 韩国 Korea - Daegu Tel: 82-53-744-4301 Fax: 82-53-744-4302 韩国 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 或 82-2-558-5934 马 来西 亚 Malaysia - Kuala Lumpur Tel: 60-3-6201-9857 Fax: 60-3-6201-9859 荷兰 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 西班牙 Spain - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 英国 UK - Wokingham Tel: 44-118-921-5869 Fax: 44-118-921-5820 马来西亚 Malaysia - Penang Tel: 60-4-227-8870 Fax: 60-4-227-4068 菲律宾 Philippines - Manila Tel: 63-2-634-9065 Fax: 63-2-634-9069 新加坡 Singapore Tel: 65-6334-8870 Fax: 65-6334-8850 泰国 Thailand - Bangkok Tel: 66-2-694-1351 Fax: 66-2-694-1350 中国 - 西安 Tel: 86-29-8833-7252 Fax: 86-29-8833-7256 台湾地区 - 高雄 Tel: 886-7-536-4818 Fax: 886-7-536-4803 台湾地区 - 台北 Tel: 886-2-2500-6610 Fax: 886-2-2508-0102 台湾地区 - 新竹 Tel: 886-3-572-9526 Fax: 886-3-572-6459 DS41339A_CN 第 72 页 10/05/07 2007 Microchip Technology Inc.