PIC16F785-I/SO

PIC16F785-I/SO

  • 厂商:

    ACTEL(微芯科技)

  • 封装:

    SOIC-20

  • 描述:

    特性:仅需学习 35 条指令,除跳转指令外,其余均为单周期指令。 工作速度:DC-20 MHz 振荡器输入,DC-200 ns 指令周期。 中断能力。 8 级深硬件堆栈。 直接、间接和相对寻址模式。 ...

  • 数据手册
  • 价格&库存
PIC16F785-I/SO 数据手册
PIC16F785/HV785 数据手册 采用双相异步反馈 PWM 双高速比较器和 双运算放大器的 20 引脚 8 位 CMOS 闪存单片机  2006 Microchip Technology Inc. 初稿 DS41249D_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 徽标、 Accuron、 dsPIC、 KEELOQ、 microID、 MPLAB、 PIC、 PICmicro、 PICSTART、 PRO MATE、 PowerSmart、 rfPIC 和 SmartShunt 均为 Microchip Technology Incorporated 在美国 及其他国家或地区的注册商标。 本出版物中所述的器件应用信息及其他类似内容仅为您提供便 利,它们可能由更新之信息所替代。确保应用符合技术规范, 是您自身应负的责任。Microchip 对这些信息不作任何明示或 暗示、书面或口头、法定或其他形式的声明或担保,包括但不 限于针对其使用情况、质量、性能、适销性或特定用途的适用 性的声明或担保。 Microchip 对因这些信息及使用这些信息而 引起的后果不承担任何责任。如果将 Microchip 器件用于生命 维持和 / 或生命安全应用,一切风险由买方自负。买方同意在 由此引发任何一切伤害、索赔、诉讼或费用时,会维护和保障 Microchip 免于承担法律责任,并加以赔偿。在 Microchip 知识 产权保护下,不得暗中或以其他方式转让任何许可证。 AmpLab、 FilterLab、 MigratableMemory、 MXDEV、 MXLAB、SEEVAL、SmartSensor 和 The Embedded Control Solutions Company 均为 Microchip Technology Incorporated 在美国的注册商标。 Analog-for-the-Digital Age、 Application Maestro、 CodeGuard、 dsPICDEM、 dsPICDEM.net、 dsPICworks、 ECAN、 ECONOMONITOR、 FanSense、 FlexROM、 fuzzyLAB、In-Circuit Serial Programming、ICSP、ICEPIC、 Linear Active Thermistor、Mindi、MiWi、MPASM、MPLIB、 MPLINK、 PICkit、 PICDEM、 PICDEM.net、 PICLAB、 PICtail、 PowerCal、 PowerInfo、 PowerMate、 PowerTool、 REAL ICE、 rfLAB、 rfPICDEM、 Select Mode、 Smart Serial、 SmartTel、 Total Endurance、 UNI/O、 WiperLock 和 ZENA 均为 Microchip Technology Incorporated 在美国及其他 国家或地区的商标。 SQTP 是 Microchip Technology Incorporated 在美国的服务标 记。 在此提及的所有其他商标均为各持有公司所有。 © 2006, Microchip Technology Incorporated. 版权所有。 Microchip 位于美国亚利桑那州 Chandler 和 Tempe、位于俄勒冈州 Gresham 及位于加利福尼亚州 Mountain View 的全球总部、设计中心和 晶圆生产厂均于通过了 ISO/TS-16949:2002 认证。公司在 PIC® 8 位单 片机、 KEELOQ® 跳码器件、串行 EEPROM、单片机外设、非易失性存 储器和模拟产品方面的质量体系流程均符合 ISO/TS-16949:2002。此 外, Microchip 在开发系统的设计和生产方面的质量体系也已通过了 ISO 9001:2000 认证。 DS41249D_CN 第 ii 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 20 引脚 8 位 CMOS 闪存单片机 高性能 RISC CPU: 外设特性: • 仅需学习 35 条指令: - 除跳转指令外,其余均为单周期指令 • 工作速度: - DC – 20 MHz 振荡器输入 - DC – 200 ns 指令周期 • 中断能力 • 8 级深硬件堆栈 • 直接、间接和相对寻址模式 • 高速比较器模块,具有: - 2 个独立的模拟比较器 - 片上可编程比较器参考电压 (CVREF)模块 (VDD 的 %) - 1.2V 带隙参考电压 - 可从外部访问比较器输入和输出 - < 40 ns 传播延时 - 2 mV 失调电压,典型值 • 带有 2 个独立运放的运算放大器模块: - 3 MHz GBWP,典型值 - 可从外部访问所有 I/O 引脚 • 双相异步反馈 PWM模块: - 带有可编程死区延时的互补输出 - 无限分辨率模拟占空比 - 用于多相 PWM 的同步输出 / 输入 - 最高 PWM 频率为 FOSC/2 • A/D 转换器: - 10 位精度和 14 路通道 (2 路内部) • 17 个 I/O 引脚和 1 个只用作输入的引脚: - 高灌 / 拉电流能力,可直接驱动 LED - 引脚电平变化中断 - 独立可编程弱上拉 • Timer0:带有 8 位可编程预分频器的 8 位定时器 / 计 数器 • 增强型 Timer1: - 带有预分频器的 16 位定时器 / 计数器 - 外部门控输入模式 - 如果选用 INTOSC 模式,在 LP 模式下可选择 OSC1 或 OSC2 作为 Timer1 的振荡器 • Timer2:带有 8 位周期寄存器、预分频器和后分频 器的 8 位定时器 / 计数器 • 捕捉、比较和 PWM 模块: - 16 位捕捉,最大精度 12.5 ns - 比较,最大精度 200 ns - 带有 1 路输出通道的 10 位 PWM,最高频率 20 kHz • 通过两个引脚进行在线串行编程 (In-Circuit Serial ProgrammingTM, ICSPTM) • 并联稳压器 (仅限 PIC16HV785) - 5V 稳压 - 4 mA 至 50 mA 并联电流范围 特殊单片机特性: • 高精度内部振荡器: - 出厂校准至 ±1% - 软件可选择 8 MHz 至 32 kHz 的频率范围 - 可用软件调整 - 双速启动模式 - 用于关键应用的晶体故障检测 - 工作时切换时钟模式以节电 • 省电的休眠模式 • 宽工作电压范围 (2.0V-5.5V) • 工业和扩展级温度范围 • 上电复位 (Power-on Reset, POR) • 上电延时定时器 (Power-up Timer, PWRT)和 振荡器启振定时器 (Oscillator Start-up Timer, OST) • 带软件控制选择的欠压复位 (Brown-out Reset, BOR) • 增强型低电流看门狗定时器 (Watchdog Timer, WDT),带有片上振荡器 (预分频器最大时,软 件可选择的标称值为 268 秒),可用软件启动 • 带上拉 / 输入引脚的复用式主清零功能 • 可编程代码保护 • 高耐久性的闪存 /EEPROM 存储单元: - 闪存耐写次数达 100,000 次 - EEPROM 耐写次数达 1,000,000 次 - 闪存 / 数据 EEPROM 数据保存时间 > 40 年 低功耗特性: • 待机电流: - 2.0V 时典型值为 30 nA • 工作电流: - 32 kHz、 2.0V 时典型值 为 8.5 µA - 1 MHz、 2.0V 时典型值为 100 µA • 看门狗定时器电流: - 2.0V 时典型值为 1 µA • Timer1 振荡器电流: - 32 kHz、 2.0V 时典型值为 2 µA  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 1 页 PIC16F785/HV785 程序 存储器 器件 数据存储器 SRAM EEPROM 闪存 (字) (字节) (字节) I/O 10 位 A/D (通道) 运放 CCP 比较器 双相 PWM 8/16 位 并联 定时器 稳压器 PIC16F785 2048 128 256 17+1 12+2 2 2 1 1 2/1 0 PIC16HV785 2048 128 256 17+1 12+2 2 2 1 1 2/1 1 双列直插引脚图 VDD RA5/T1CKI/OSC1/CLKIN RA4/AN3/T1G/OSC2/CLKOUT RA3/MCLR/VPP RC5/CCP1 RC4/C2OUT/PH2 RC3/AN7/C12IN3-/OP1 RC6/AN8/OP1RC7/AN9/OP1+ RB7/SYNC 表 1: 1 2 3 4 5 6 7 8 9 10 PIC16F785/HV785 20 引脚 PDIP、SOIC 和 SSOP 20 19 18 17 16 15 14 13 12 11 VSS RA0/AN0/C1IN+/ICSPDAT RA1/AN1/C12IN0-/VREF/ICSPCLK RA2/AN2/T0CKI/INT/C1OUT RC0/AN4/C2IN+ RC1/AN5/C12IN1-/PH1 RC2/AN6/C12IN2-/OP2 RB4/AN10/OP2RB5/AN11/OP2+ RB6 双列直插引脚说明 I/O 引脚 RA0 19 RA1 18 RA2 17 RA3(1) RA4 模拟 比较器 运放 PWM 定时器 CCP 中断 上拉 AN0 C1IN+ — — — — IOC Y ICSPDAT — — — — IOC Y ICSPCLK T0CKI — INT/IOC Y — AN1/VREF C12IN0- 基本 AN2 C1OUT — — 4 — — — — — — IOC Y MCLR/VPP 3 AN3 — — — T1G — IOC Y OSC2/CLKOUT RA5 2 — — — — T1CKI — IOC Y OSC1/CLKIN RB4 13 AN10 — OP2- — — — — — — RB5 12 AN11 — OP2+ — — — — — — RB6(2) 11 — — — — — — — — — RB7 10 — — — SYNC — — — — — RC0 16 AN4 C2IN+ — — — — — — — RC1 15 AN5 C12IN1- — PH1 — — — — — RC2 14 AN6 C12IN2- OP2 — — — — — — RC3 7 AN7 C12IN3- OP1 — — — — — — RC4 6 — C2OUT — PH2 — — — — — RC5 5 — — — — — CCP1 — — — RC6 8 AN8 — OP1- — — — — — — RC7 9 AN9 — OP1+ — — — — — — — 1 — — — — — — — — VDD 20 — — — — — — — — VSS — 注 1: 仅为输入。 2: 漏极开路。 DS41249D_CN 第 2 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 20 引脚 QFN RA3/MCLR/VPP RC5/CCP1 RC4/C2OUT/PH2 RC3/AN7/C12IN3-/OP1 RC6/AN8/OP1- RA1/AN1/C12IN0-/VREF/ICSPCLK RA2/AN2/T0CKI/INT/C1OUT RC0/AN4/C2IN+ RC1/AN5/C12IN1-/PH1 RC2/AN6/C12IN2-/OP2 15 14 13 12 11 6 7 8 9 10 1 2 3 4 5 20 19 18 17 16 RA4/AN3/T1G/OSC2/CLKOUT RA5/T1CKI/OSC1/CLKIN VDD VSS RA0/AN0/C1IN+/ICSPDAT QFN (4x4x0.9)引脚图 RC7/AN9/OP1+ RB7/SYNC RB6 RB5/AN11/OP2+ RB4/AN10/OP2- PIC16F785/HV785 表 2: QFN 引脚说明 I/O 引脚 模拟 比较器 运放 PWM 定时器 CCP 中断 上拉 基本 RA0 16 AN0 C1IN+ — — — — IOC Y ICSPDAT RA1 15 — — — — IOC Y ICSPCLK RA2 14 AN1/VREF C12IN0AN2 C1OUT — — T0CKI — INT/IOC Y — RA3(1) 1 — — — — — — IOC Y MCLR/VPP RA4 20 AN3 — — — T1G — IOC Y OSC2/CLKOUT RA5 19 — — — — T1CKI — IOC Y OSC1/CLKIN RB4 10 AN10 — OP2- — — — — — — RB5 9 AN11 — OP2+ — — — — — — RB6(2) 8 — — — — — — — — — RB7 7 — — — SYNC — — — — — RC0 13 AN4 C2IN+ — — — — — — — RC1 12 AN5 C12IN1- — PH1 — — — — — RC2 11 AN6 C12IN2- OP2 — — — — — — RC3 4 AN7 C12IN3- OP1 — — — — — — RC4 3 — C2OUT — PH2 — — — — — RC5 2 — — — — — CCP1 — — — RC6 5 AN8 — OP1- — — — — — — RC7 6 AN9 — OP1+ — — — — — — 注 — 18 — — — — — — — — VDD — 17 — — — — — — — — VSS 1: 仅为输入。 2: 漏极开路。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 3 页 PIC16F785/HV785 目录 1.0 器件概述 ....................................................................................................................................................................................... 5 2.0 存储器构成 ................................................................................................................................................................................... 9 3.0 时钟源......................................................................................................................................................................................... 23 4.0 I/O 端口....................................................................................................................................................................................... 35 5.0 Timer0 模块 ................................................................................................................................................................................ 49 6.0 具备门控功能的 Timer1 模块 ...................................................................................................................................................... 51 7.0 Timer2 模块 ................................................................................................................................................................................ 55 8.0 捕捉 / 比较 /PWM (CCP)模块................................................................................................................................................. 57 9.0 比较器模块 ................................................................................................................................................................................. 63 10.0 参考电压 ..................................................................................................................................................................................... 70 11.0 运算放大器 (OPA)模块........................................................................................................................................................... 75 12.0 模数转换器 (A/D)模块 ............................................................................................................................................................ 79 13.0 双相 PWM................................................................................................................................................................................... 91 14.0 数据 EEPROM 存储器 .............................................................................................................................................................. 103 15.0 CPU 的特殊功能 ....................................................................................................................................................................... 107 16.0 稳压器....................................................................................................................................................................................... 126 17.0 指令集汇总 ............................................................................................................................................................................... 127 18.0 开发支持 ................................................................................................................................................................................... 137 19.0 电气规范 ................................................................................................................................................................................... 141 20.0 直流和交流特性图表 ................................................................................................................................................................. 163 21.0 封装信息 ................................................................................................................................................................................... 165 附录 A: 数据手册版本历史 .......................................................................................................................................................... 171 附录 B: 从其他 PIC® 器件移植 ................................................................................................................................................... 171 索引 .................................................................................................................................................................................................... 173 Microchip 网站.................................................................................................................................................................................... 178 变更通知客户服务 .............................................................................................................................................................................. 178 客户支持............................................................................................................................................................................................. 178 读者反馈表 ......................................................................................................................................................................................... 179 产品标识体系...................................................................................................................................................................................... 181 致客户 我们旨在提供最佳文档供客户正确使用 Microchip 产品。为此,我们将不断改进出版物的内容和质量,使之更好地满足您的要求。 出版物的质量将随新文档及更新版本的推出而得到提升。 如果您对本出版物有任何问题和建议,请通过电子邮件联系我公司 TRC 经理,电子邮件地址为 CTRC@microchip.com,或将本 数据手册后附的 《读者反馈表》传真到 86-21-5407 5066。我们期待您的反馈。 最新数据手册 欲获得本数据手册的最新版本,请查询我公司的网站: http://www.microchip.com 查看数据手册中任意一页下边角处的文献编号即可确定其版本。文献编号中数字串后的字母是版本号,例如:DS30000A是DS30000 的 A 版本。 勘误表 现有器件可能带有一份勘误表,描述了实际运行与数据手册中记载内容之间存在的细微差异以及建议的变通方法。一旦我们了解到 器件 / 文档存在某些差异时,就会发布勘误表。勘误表上将注明其所适用的硅片版本和文件版本。 欲了解某一器件是否存在勘误表,请通过以下方式之一查询: • Microchip 网站 http://www.microchip.com • 当地 Microchip 销售办事处 (见最后一页) 在联络销售办事处时,请说明您所使用的器件型号、硅片版本和数据手册版本 (包括文献编号)。 客户通知系统 欲及时获知 Microchip 产品的最新信息,请到我公司网站 www.microchip.com 上注册。 DS41249D_CN 第 4 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 1.0 本数据手册涵盖 PIC16F785/HV785 器件。器件采用 20 引脚 PDIP、 SOIC、 SSOP 和 QFN 封装。图 1-1 所示 为 PIC16F785/HV785 器件的框图。表 1-1 为引脚说明。 器件概述 本文档包含了 PIC16F785/HV785 的器件特定信息。其 他 信 息 可 参 见 《PIC® 中 档 单 片 机 系 列 参 考手册》 (DS33023_CN),该参考手册可从当地 Microchip 销售 代表处获得,或者从 Microchip 网站下载。该参考手册 可视为本数据手册的补充文档,我们强烈建议阅读它, 以使读者更好地了解器件架构以及外设模块的操作。 图 1-1: PIC16F785/HV785 框图 INT 配置 13 闪存 2K X 14 程序 存储器 程序 总线 8 数据总线 程序计数器 PORTA RA0 RA1 RA2 RAM 128 字节 文件 寄存器 8 级深堆栈 (13 位) 14 RAM 地址 RA3 RA4 RA5 PORTB 9 地址 MUX 指令寄存器 7 直接寻址 RB4 RB5 间接 寻址 8 RB6 RB7 FSR 寄存器 PORTC STATUS 寄存器 8 指令 译码和 控制 MUX RC5 ALU 上电 复位 定时 发生 RC6 RC7 8 看门狗 定时器 欠压 复位 8 MHz 内部 振荡器 RC3 RC4 振荡器 起振定时器 OSC1/CLKIN OSC2/CLKOUT RC2 3 上电延时 定时器 32 kHz 内部 振荡器 RC0 RC1 W 寄存器 OP1 OP1+ 双 放大器 OP1OP2 OP2+ CCP1 T1G MCLR VDD OP2- VSS EEDATA 256 字工 数据 EEPROM T1CKI Timer0 T0CKI Timer1 CCP Timer2 PH1 双相 PWM EEADDR PH2 SYNC 8 初稿 C2OUT C2IN+ C2IN- C1OUT C1IN+ 2 个模拟比较器 C1IN- AN11 AN10 AN9 AN8 AN3 AN7 AN6 AN5 AN4 AN3 AN2 AN1 AN0  2006 Microchip Technology Inc. VREF 参考 电压 模数转换器 DS41249D_CN 第 5 页 PIC16F785/HV785 表 1-1: PIC16F785/HV785 引脚说明 名称 RA0/AN0/C1IN+/ICSPDAT RA1/AN1/C12IN0-/VREF/ ICSPCLK RA2/AN2/T0CKI/INT/C1OUT RA3/MCLR/Vpp RA4/AN3/T1G/OSC2/ CLKOUT RA5/T1CKI/OSC1/CLKIN RB4/AN10/OP2- RB5/AN11/OP2+ 功能 输入 类型 RA0 TTL AN0 AN C1IN+ AN ICSPDAT ST 输出 类型 说明 CMOS 带可编程上拉和电平变化中断的 PORTA I/O — A/D 通道 0 的输入 — 比较器 1 的同相输入 CMOS 串行编程数据 I/O CMOS 带可编程上拉和电平变化中断的 PORTA I/O RA1 TTL AN1 AN — A/D 通道 1 的输入 C12IN0- AN — 比较器 1 和 2 的同相输入 VREF AN AN A/D 的外部参考电压,经缓冲的参考输出 ICSPCLK ST — RA2 ST 串行编程时钟 CMOS 带可编程上拉和电平变化中断的 PORTA I/O — A/D 通道 2 的输入 AN2 AN T0CKI ST — INT ST — C1OUT — Timer0 时钟输入 外部中断 CMOS 比较器 1 的输出 — 带可编程上拉和电平变化中断的 PORTA 输入 RA3 TTL MCLR ST — VPP HV — RA4 TTL AN3 AN T1G ST — OSC2 — XTAL CLKOUT — 带内部上拉的主清零 编程电压 CMOS 带可编程上拉和电平变化中断的 PORTA I/O — A/D 通道 3 的输入 Timer1 门控 晶体 / 谐振器 CMOS FOSC/4 输出 CMOS 带可编程上拉和电平变化中断的 PORTA I/O RA5 TTL T1CKI ST — Timer1 时钟 OSC1 XTAL — 晶体 / 谐振器 CLKIN ST — RB4 TTL AN10 AN — OP2- — AN RB5 TTL 外部时钟输入 /RC 振荡器连接 CMOS PORTB I/O A/D 通道 10 的输入 运放 2 的反相输入 CMOS PORTB I/O AN11 AN — A/D 通道 11 的输入 OP2+ — AN 运放 2 的同相输入 RB6 RB6 TTL OD RB7/SYNC RB7 TTL RC0/AN4/C2IN+ 图注: SYNC ST RC0 TTL PORTB I/O。开漏输出 CMOS PORTB I/O CMOS 主控 PWM 同步输出或从动 PWM 同步输入 CMOS PORTC I/O AN4 AN — A/D 通道 4 的输入 C2IN+ AN — 比较器 2 的同相输入 TTL = TTL 输入缓冲器, ST = 施密特输入缓冲器, AN = 模拟, OD = 开漏输出, HV = 高电压 DS41249D_CN 第 6 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 表 1-1: PIC16F785/HV785 引脚说明 (续) 名称 RC1/AN5/C12IN1-/PH1 RC2/AN6/C12IN2-/OP2 RC3/AN7/C12IN3-/OP1 RC4/C2OUT/PH2 RC5/CCP1 RC6/AN8/OP1- RC7/AN9/OP1+ 功能 输入 类型 输出 类型 RC1 TTL AN5 AN — C12IN1- AN — PH1 — RC2 TTL AN6 AN — A/D 通道 6 的输入 C12IN2- AN — 比较器 1 和 2 的反相输入 OP2 — AN RC3 TTL AN7 AN — A/D 通道 7 的输入 C12IN3- AN — 比较器 1 和 2 的反相输入 OP1 — AN RC4 TTL C2OUT — 说明 CMOS PORTC I/O A/D 通道 5 的输入 比较器 1 和 2 的反相输入 CMOS PWM 第 1 相的输入 CMOS PORTC I/O 运放 2 的输出 CMOS PORTC I/O 运放 1 的输出 CMOS PORTC I/O CMOS 比较器 2 的输出 CMOS PWM 第 2 相的输出 PH2 — RC5 TTL CMOS PORTC I/O CCP1 ST RC6 TTL CMOS 捕捉输入 / 比较输出 CMOS PORTC I/O AN8 AN — OP1- AN — RC7 A/D 通道 8 的输出 运放 1 的反相输入 CMOS PORTC I/O AN9 AN — A/D 通道 9 的输入 OP1+ AN — 运放 1 的同相输入 VSS VSS 电源 — 接地参考 VDD VDD 电源 — 正电源 图注: TTL = TTL 输入缓冲器, ST = 施密特输入缓冲器, AN = 模拟, OD = 开漏输出, HV = 高电压  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 7 页 PIC16F785/HV785 注: DS41249D_CN 第 8 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 2.0 存储器构成 2.1 程序存储器构成 2.2 数据存储器 (见图 2-2)分为四个存储区 (Bank),这 四个存储区中包含通用寄存器 (General Purpose Register,GPR)和特殊功能寄存器(Special Function Register,SFR)。特殊功能寄存器位于每个存储区的前 32 个单元中。Bank 0 的寄存器单元 20h-7Fh 和 Bank 1 的 A0h-BFh 是通用寄存器,以静态 RAM 的形式实现。 Bank 1(F0h-FFh)、Bank 2(170h-17Fh)和 Bank 3 (1F0h-1FFh)中的最后十六个寄存器单元指向 Bank 0 中的地址 70h-7Fh。所有其他 RAM 均未使用,读取时 返回 0。 PIC16F785/HV785 器件具有一个 13 位程序计数器,能 够寻址 8K x 14 的程序存储空间。只有 PIC16F785/ HV785 的第一个 2K x 14 (0000h-07FFh)是物理实 现的。访问超出上述界限的存储单元,将回到原来的第 一个 2K x 14 空间内。复位向量位于 0000h,而中断向 量位于 0004h (见图 2-1)。 图 2-1: PIC16F785/HV785 的程序存储器映 射图和堆栈 访问数据存储器存储区的任何单元需要七个地址位。访 问四个存储区则还需要额外两个地址位。直接访问数据 存储器时,地址位的低 7 位包含在操作码中,高 2 位包 含在状态 (STATUS)寄存器中。 RP0 和 RP1 (STATUS 和 STATUS)是数据存储器地址位的 高 2 位,也是存储区选择位。表 2-1 列出了如何访问寄 存器的 4 个存储区。 PC 13 CALL, RETURN RETFIE, RETLW 数据存储器构成 1 级堆栈 2 级堆栈 表 2-1: 存储区选择 RP1 RP0 Bank 0 0 0 Bank 1 0 1 Bank 2 1 0 Bank 3 1 1 8 级堆栈 复位向量 中断向量 000h 0004 2.2.1 0005 通用寄存器文件 PIC16F785/HV785的寄存器文件存储区组织为128 x 8。 每个寄存器可以通过操作码包含的 7 位地址直接访问, 也可以通过文件选择寄存器 (File Select Register, FSR)间接访问。使用 FSR 访问数据存储器时,数据存 储器地址位的低 8 位包含在 FSR 中,而第 9 个最高位包 含在状态寄存器的 IRP 位(STATUS)中(见第 2.4 节)。 片上程序存储器 07FFh 0800h 1FFFh 2.2.2 特殊功能寄存器 特殊功能寄存器为 CPU 和外设模块用来控制器件进行 所需操作的寄存器 (见表 2-2)。这些寄存器皆为静态 RAM。 特殊功能寄存器可分为两类,即:内核和外设。本节将 介绍与 “内核”相关的特殊功能寄存器。与外设模块相 关的特殊功能寄存器将在相应的外设模块功能章节中介 绍。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 9 页 PIC16F785/HV785 图 2-2: PIC16F785/HV785 的数据存储器映射图 文件 地址 间接寻址 (1) TMR0 PCL STATUS FSR PORTA PORTB PORTC PCLATH INTCON PIR1 TMR1L TMR1H T1CON TMR2 T2CON CCPR1L CCPR1H CCP1CON WDTCON ADRESH ADCON0 文件 地址 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 1Ah 1Bh 1Ch 间接寻址 (1) OPTION_REG PCL STATUS FSR TRISA TRISB TRISC 1Dh 1Eh 1Fh 20h EECON2(1) ADRESL ADCON1 PCLATH INTCON PIE1 PCON OSCCON OSCTUNE ANSEL0 PR2 ANSEL1 WPUA IOCA REFCON VRCON EEDAT EEADR EECON1 文件 地址 间接寻址 (1) TMR0 PCL STATUS FSR PORTA PORTB PORTC 80h 81h 82h 83h 84h 85h 86h 87h 88h 89h 8Ah 8Bh 8Ch 8Dh 8Eh 8Fh 90h 91h 92h 93h 94h 95h 96h 97h 98h 99h 9Ah 9Bh 9Ch PCLATH INTCON PWMCON1 PWMCON0 PWMCLK PWMPH1 PWMPH2 CM1CON0 CM2CON0 CM2CON1 OPA1CON 9Dh 9Eh 9Fh A0h OPA2CON 100h 101h 102h 103h 104h 105h 106h 107h 108h 109h 10Ah 10Bh 10Ch 10Dh 10Eh 10Fh 110h 111h 112h 113h 114h 115h 116h 117h 118h 119h 11Ah 11Bh 11Ch 文件 地址 间接寻址 (1) OPTION_REG PCL STATUS FSR TRISA TRISB TRISC PCLATH INTCON PIE1 11Dh 11Eh 11Fh 120h 180h 181h 182h 183h 184h 185h 186h 187h 188h 189h 18Ah 18Bh 18Ch 18Dh 18Eh 18Fh 190h 191h 192h 193h 194h 195h 196h 197h 198h 199h 19Ah 19Bh 19Ch 19Dh 19Eh 19Fh 1A0h 通用寄存器 32 字节 通用寄存器 96 字节 6Fh 70h 7Fh Bank 0 访问 Bank 0 BFh C0h EFh F0h FFh 访问 Bank 0 Bank 1 Bank 2 16Fh 170h 17Fh 访问 Bank 0 1EFh 1F0h 1FFh Bank 3 未实现数据存储器单元,读为 0。 注 1:非物理寄存器。 DS41249D_CN 第 10 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 表 2-2: 地址 PIC16F785/HV785 特殊功能寄存器汇总, BANK 0 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 POR/BOR 时的值 Bit 0 页 Bank 0 00h INDF 寻址此单元使用 FSR 的内容寻址数据存储器 (非物理寄存器) xxxx xxxx 22,114 01h TMR0 Timer0 模块寄存器 xxxx xxxx 49,114 02h PCL 程序计数器 (Program Counter, PC)的低位字节 0000 0000 21,114 03h STATUS 0001 1xxx 15,114 04h FSR xxxx xxxx 22,114 05h PORTA(1) — — RA5 RA4 RA3 RA2 RA1 RA0 --x0 x000 35,114 06h PORTB(1) RB7 RB6 RB5 RB4 — — — — xx00 ---- 42,114 07h PORTC(1) RC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0 IRP RP1 RP0 TO PD Z DC C 间接数据存储器地址指针 00xx 0000 45,114 08h — 未实现 — — 09h — 未实现 — — ---0 0000 21,114 0Ah PCLATH — — — 程序计数器高 5 位的写缓冲器 0Bh INTCON GIE PEIE T0IE INTE RAIE T0IF INTF RAIF 0000 0000 17,114 0Ch PIR1 EEIF ADIF CCP1IF C2IF C1IF OSFIF TMR2IF TMR1IF 0000 0000 19,114 0Dh — 0Eh TMR1L 16 位 TMR1 低位字节的保持寄存器 0Fh TMR1H 16 位 TMR1 高位字节的保持寄存器 10h T1CON 11h TMR2 12h T2CON 未实现 T1GINV TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 Timer2 模块寄存器 — TOUTPS3 — — xxxx xxxx 52,114 xxxx xxxx 52,114 0000 0000 53,114 0000 0000 55,114 -000 0000 55,114 13h CCPR1L 捕捉 / 比较 /PWM 寄存器 1 低位字节 xxxx xxxx 58,114 14h CCPR1H 捕捉 / 比较 /PWM 寄存器 1 高位字节 xxxx xxxx 58,114 --00 0000 58,114 — 15h CCP1CON 16h — 未实现 — 17h — 未实现 — — ---0 1000 122,114 18h WDTCON — — — — DC1B1 — DC1B0 WDTPS3 CCP1M3 WDTPS2 CCP1M2 WDTPS1 CCP1M1 WDTPS0 CCP1M0 SWDTEN 19h — 未实现 — — 1Ah — 未实现 — — 1Bh — 未实现 — — 1Ch — 未实现 — — 1Dh — 未实现 — — xxxx xxxx 81,114 0000 0000 83,114 1Eh ADRESH 1Fh ADCON0 图注: 注 1: 左对齐 A/D 结果的高 8 位或右对齐 A/D 结果的高 2 位 ADFM VCFG CHS3 CHS2 CHS1 CHS0 GO/DONE ADON – = 未实现单元读为 0, u = 不变, x = 未知, q = 取值视具体情况而定,阴影 = 未实现 复位后,即使数据锁存值未定义 (POR)或不变 (其他复位),由 ANSEL0 和 ANSEL1 寄存器控制的具有模拟功能的引脚也会立即读 为 0。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 11 页 PIC16F785/HV785 表 2-3: 地址 PIC16F785/HV785 特殊功能寄存器汇总, BANK 1 Bit 7 名称 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR/BOR 时的值 xxxx xxxx 22,114 1111 1111 16,114 0000 0000 21,114 页 Bank 1 80h INDF 81h OPTION_REG 寻址此单元使用 FSR 的内容寻址数据存储器 (非物理寄存器) 82h PCL 83h STATUS 84h FSR RAPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 TO PD Z DC C 程序计数器 (PC)的低位字节 IRP RP1 RP0 间接数据存储器地址指针 0001 1xxx 15,114 xxxx xxxx 22,114 85h TRISA — — TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 --11 1111 35,114 86h TRISB TRISB7 TRISB6 TRISB5 TRISB4 — — — — 1111 ---- 42,114 87h TRISC TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 1111 1111 45,114 88h — 未实现 — — 89h — 未实现 — — 8Ah PCLATH — ---0 0000 21,114 — — 程序计数器高 5 位的写缓冲器 8Bh INTCON GIE PEIE T0IE INTE RAIE T0IF INTF RAIF 0000 0000 17,114 8Ch PIE1 EEIE ADIE CCP1IE C2IE C1IE OSFIE TMR2IE TMR1IE 0000 0000 18,114 8Dh — 未实现 — — ---1 --qq 20,114 8Eh PCON — — — SBOREN — 8Fh OSCCON — IRCF2 IRCF1 IRCF0 OSTS(1) HTS LTS SCS -110 q000 33,114 90h OSCTUNE — — — TUN4 TUN3 TUN2 TUN1 TUN0 ---0 0000 28,114 ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0 1111 1111 82,114 1111 1111 55,114 ---- 1111 82,114 91h ANSEL0 92h PR2 93h ANSEL1 — 94h — 未实现 WPUA 96h IOCA 98h POR BOR Timer2 模块周期寄存器 95h 97h — — — — — ANS11 ANS10 ANS9 ANS8 — — — WPUA5 WPUA4 WPUA3(2) WPUA2 WPUA1 WPUA0 --11 1111 36,114 — — IOCA5 IOCA4 IOCA3 IOCA2 IOCA1 IOCA0 --00 0000 37,114 — — — --00 000- 72,114 000- 0000 71,114 未实现 REFCON — — — BGST VRBB VREN VROE CVROE 99h VRCON C1VREN C2VREN VRR — VR3 VR2 VR1 VR0 9Ah EEDAT EEDAT7 EEDAT6 EEDAT5 EEDAT4 EEDAT3 EEDAT2 EEDAT1 EEDAT0 9Bh EEADR EEADR7 EEADR6 EEADR5 EEADR4 EEADR3 EEADR2 EEADR1 EEADR0 0000 0000 103,114 9Ch EECON1 — — — — WRERR WREN WR RD ---- x000 104,114 0000 0000 103,114 9Dh EECON2 EEPROM 控制寄存器 2 (不是实际存在的寄存器) ---- ---- 104,114 9Eh ADRESL 左对齐 A/D 结果的低 2 位或右对齐 A/D 结果的低 8 位 xxxx xxxx 81,114 9Fh ADCON1 -000 ---- 84,114 — ADCS2 ADCS1 ADCS0 — — — — 图注: – = 未实现单元读为 0, u = 不变, x = 未知, q = 取值视具体情况而定,阴影 = 未实现 注 1: 双速启动且选取 LP、 XT 或 HS 为振荡器模式时,或者故障保护模式使能时,该位将复位为 0,否则将复位为 1。 2: 当 MCLRE 在配置字中设置为 1 时, RA3 上拉使能。 DS41249D_CN 第 12 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 表 2-4: 地址 PIC16F785/HV785 特殊功能寄存器汇总, BANK 2 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 POR/BOR 时的值 Bit 0 页 Bank 2 100h INDF 寻址此单元使用 FSR 的内容寻址数据存储器 (不是实际存在的寄存器) xxxx xxxx 22,114 101h TMR0 Timer0 模块寄存器 xxxx xxxx 49,114 程序计数器 (PC)的低位字节 0000 0000 21,114 0001 1xxx 15,114 xxxx xxxx 22,114 102h PCL 103h STATUS 104h FSR 105h PORTA(1) — — RA5 RA4 RA3 RA2 RA1 RA0 --x0 x000 35,114 106h PORTB(1) RB7 RB6 RB5 RB4 — — — — xx00 ---- 42,114 107h PORTC(1) RC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0 IRP RP1 RP0 TO PD Z DC C 间接数据存储器地址指针 00xx 0000 45,114 108h — 未实现 — — 109h — 未实现 — — ---0 0000 21,114 10Ah PCLATH 10Bh INTCON — — — GIE PEIE T0IE 程序计数器高 5 位的写缓冲器 0000 0000 17,114 10Ch — 未实现 — — 10Dh — 未实现 — — 10Eh — 未实现 — — 10Fh — 未实现 — — 110h PWMCON1 111h PWMCON0 112h PWMCLK 113h PWMPH1 114h PWMPH2 — INTE RAIE T0IF INTF RAIF COMOD1 COMOD0 CMDLY4 CMDLY3 CMDLY2 CMDLY1 CMDLY0 -000 0000 101,114 PRSEN PASEN BLANK2 BLANK1 SYNC1 SYNC0 PH2EN PH1EN 0000 0000 93,114 PWMASE PWMP1 PWMP0 PER4 PER3 PER2 PER1 PER0 0000 0000 94,114 POL C2EN C1EN PH4 PH3 PH2 PH1 PH0 0000 0000 95,114 POL C2EN C1EN PH4 PH3 PH2 PH1 PH0 0000 0000 96,114 115h — 未实现 — — 116h — 未实现 — — 117h — 未实现 — — 118h — 未实现 — — 119h CM1CON0 0000 0000 65,114 11Ah CM2CON0 11Bh CM2CON1 C1ON C1OUT C1OE C1POL C1SP C1R C1CH1 C1CH0 C2ON C2OUT C2OE C2POL C2SP C2R C2CH1 C2CH0 0000 0000 67,114 MC1OUT MC2OUT — — — — T1GSS C2SYNC 00-- --10 68,114 11Ch OPA1CON OPAON — — — — — — — 0--- ---- 76,114 11Dh OPA2CON OPAON — — — — — — — 0--- ---- 76,114 11Eh — 未实现 — — 11Fh — 未实现 — — 图注: – = 未实现单元读为 0, u = 不变, x = 未知, q = 取值视具体情况而定,阴影 = 未实现 注 1: 复位后,即使数据锁存值未定义 (POR)或不变 (其他复位),由 ANSEL0 和 ANSEL1 寄存器控制的具有模拟功能的引脚也会立即读为 0。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 13 页 PIC16F785/HV785 表 2-5: PIC16F785/HV785 特殊功能寄存器汇总, BANK 3 地址 Bit 1 Bit 0 POR/BOR 时的值 寻址此单元使用 FSR 的内容寻址数据存储器 (不是实际存在的寄存器) RAPU INTEDG T0CS T0SE PSA PS2 xxxx xxxx 22,114 PS1 PS0 1111 1111 16,114 程序计数器 (PC)的低位字节 IRP RP1 RP0 0000 0000 21,114 DC C Bit 7 名称 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 页 Bank 3 180h INDF 181h OPTION_REG 182h PCL 183h STATUS 184h FSR 185h TRISA 186h TRISB 187h TRISC 间接数据存储器地址指针 — — TRISA5 PD TO Z 0001 1xxx 15,114 xxxx xxxx 22,114 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 --11 1111 36,114 TRISB7 TRISB6 TRISB5 TRISB4 — — — — 1111 ---- 42,114 TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 1111 1111 45,114 188h — 未实现 — — 189h — — — 18Ah PCLATH 未实现 — ---0 0000 21,114 18Bh INTCON GIE PEIE T0IE 18Ch PIE1 EEIE ADIE CCP1IE — — 程序计数器高 5 位的写缓冲器 INTE RAIE T0IF C2IE C1IE OSFIE INTF RAIF 0000 0000 17,114 TMR2IE TMR1IE 0000 0000 18,114 18Dh — 未实现 — — 18Eh — 未实现 — — 18Fh — 未实现 — — 190h — 未实现 — — 191h — 未实现 — — 192h — 未实现 — — 193h — 未实现 — — 194h — 未实现 — — 195h — 未实现 — — 196h — 未实现 — — 197h — 未实现 — — 198h — 未实现 — — 199h — 未实现 — — 19Ah — 未实现 — — 19Bh — 未实现 — — 19Ch — 未实现 — — 19Dh — 未实现 — — 19Eh — 未实现 — — 19Fh — 未实现 — — 图注: – = 未实现单元读为 0, u = 不变, x = 未知, q = 取值视具体情况而定,阴影 = 未实现 DS41249D_CN 第 14 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 2.2.2.1 STATUS 寄存器 例如,指令 CLRF STATUS 将会清除状态寄存器中的高 三位,并将 Z 标志位置 1。这将使状态寄存器中的值成 为 “000u u1uu”(其中 u = 不变)。 状态(STATUS)寄存器包含 ALU 的算术运算结果状态 位、复位状态位以及数据存储器 (SRAM)的存储区选 择位。 因此,若要改变状态寄存器的值,建议使用 BCF、BSF、 SWAPF和MOVWF指令,因为这些指令将不会影响任何状 态位。关于其他不会影响状态位的指令,请参见第 17.0 节 “指令集汇总”。 状态寄存器与其他寄存器一样,可作为任何指令的目标 寄存器。如果一条影响 Z、 DC 或 C 位的指令以状态寄 存器为目标寄存器,那么对这三个位的写操作将被禁 止。这些位根据器件逻辑来置 1 或清零。而且, TO 和 PD 标志位均为不可写位。因此,当执行一条将状态寄 存器作为目标寄存器的指令时,运行结果可能会与预想 的不同。 寄存器 2-1: 在减法运算时,C 和 DC 位分别作为借位位 和半借位位。请参见 SUBLW 和 SUBWF 指 令中的示例。 注: STATUS:状态寄存器 (地址:03h、 83h、 103h 或 183h) R/W-0 IRP R/W-0 RP1 R/W-0 R-1 RP0 R-1 TO PD R/W-x R/W-x R/W-x Z DC(1) C(1) bit 7 bit 0 bit 7 IRP:寄存器存储区选择位 (用于间接寻址) 1 = Bank 2,3 (100h - 1FFh) 0 = Bank 0,1 (00h - FFh) bit 6-5 RP:寄存器存储区选择位 (用于直接寻址) 11 = Bank 3 (180h - 1FFh) 10 = Bank 2 (100h - 17Fh) 01 = Bank 1 (80h - FFh) 00 = Bank 0 (00h - 7Fh) bit 4 TO:超时位 1 = 在上电复位、执行 CLRWDT 或 SLEEP 指令后 0 = 产生了 WDT 超时 bit 3 PD:掉电位 1 = 上电或执行 CLRWDT 指令后 0 = 执行 SLEEP 指令 bit 2 Z:零标志位 1 = 算术运算或者逻辑运算的结果是 0 0 = 算术运算或者逻辑运算的结果不是 0 bit 1 DC:半进位 / 借位位 (ADDWF、 ADDLW、 SUBLW 和 SUBWF 指令) (1) 对于借位,极性相反。 1 = 运算结果的低 4 位向高 4 位产生进位 0 = 运算结果的低 4 位向高 4 位没有产生进位 bit 0 C:进位 / 借位位 (ADDWF、 ADDLW、 SUBLW 和 SUBWF 指令) (1) 1 = 运算结果产生来自最高位的进位 0 = 运算结果没有产生来自最高位的进位 注 1: 对于借位,极性相反。减法操作的执行是通过加上第二个操作数的二进制补码 (Two's Complement)来实现的。对于移位指令 (RRF 和 RLF),是把源寄存器的 最高位或最低位放入 C 中。 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 15 页 PIC16F785/HV785 2.2.2.2 OPTION_REG 寄存器 寄存器 2-2: 要使 TMR0 获得 1:1 的预分频比,可将 PSA 位 (OPTION_REG)置为 1,以将预 分频器分配给 WDT。请参见第 5.4 节 “预 分频器”。 注: 选项 (Option)寄存器是可读写寄存器,包括各种用以 配置 TMR0/WDT 预分频比、外部 RA2/INT 中断、TMR0 和 PORTA 上的弱上拉的控制位。 OPTION_REG:选项寄存器 (地址:81h 或 181h) R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 RAPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 bit 7 bit 0 bit 7 RAPU:PORTA 上拉使能位 1 = 禁止 PORTA 上拉 0 = 通过 WPUA 寄存器中单独的端口锁存值使能 PORTA 上拉 bit 6 INTEDG:中断触发边沿选择位 1 = RA2/AN2/T0CKI/INT/C1OUT 引脚的上升沿触发中断 0 = RA2/AN2/T0CKI/INT/C1OUT 引脚的下降沿触发中断 bit 5 T0CS:TMR0 时钟源选择位 1 = RA2/AN2/T0CKI/INT/C1OUT 引脚上的电平跳变 0 = 内部指令周期时钟 (CLKOUT) bit 4 T0SE:TMR0 信号源边沿选择位 1 = 在 RA2/AN2/T0CKI/INT/C1OUT 引脚信号从高至低跳变时,递增计数 0 = 在 RA2/AN2/T0CKI/INT/C1OUT 引脚信号从低至高跳变时,递增计数 bit 3 PSA:预分频器分配控制位 1 = 预分频器分配给 WDT 0 = 预分频器分配给 Timer0 模块 PS:预分频比选择位 bit 2-0 位值 000 001 010 011 100 101 110 111 注 TMR0 比率 WDT 比率 (1) 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 1: PIC16F785/HV785 有一个专用的 16 位 WDT 后分频器。更多信息,请参见第 15.5 节 “看门狗定时器 (WDT)”。 图注: DS41249D_CN 第 16 页 R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 初稿 x = 未知  2006 Microchip Technology Inc. PIC16F785/HV785 2.2.2.3 INTCON 寄存器 注: 中断控制 (INTCON)寄存器是可读写的寄存器,包含 TMR0 寄存器溢出、PORTA 电平变化和外部 RA2/INT 引 脚中断等各种使能控制位和标志位。 寄存器 2-3: 当中断条件满足时,无论相应中断允许位 或全局中断允许位 GIE(INTCON)的 状态如何,中断标志位都将被置 1。用户程 序应确保在重新允许中断之前,相应的中 断标志位已被清零。 INTCON:中断控制寄存器 (地址:0Bh、 8Bh、 10Bh 或 183h) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 GIE PEIE T0IE INTE RAIE(1) T0IF(2) INTF RAIF bit 7 bit 0 bit 7 GIE:全局中断允许位 1 = 允许所有非屏蔽中断 0 = 禁止所有中断 bit 6 PEIE:外设中断允许位 1 = 允许所有非屏蔽外设中断 0 = 禁止所有外设中断 bit 5 T0IE:TMR0 溢出中断允许位 1 = 允许 TMR0 中断 0 = 禁止 TMR0 中断 bit 4 INTE:RA2/AN2/T0CKI/INT/C1OUT 外部中断允许位 1 = 允许 RA2/AN2/T0CKI/INT/C1OUT 外部中断 0 = 禁止 RA2/AN2/T0CKI/INT/C1OUT 外部中断 bit 3 RAIE: PORTA 电平变化中断允许位 (1) 1 = 允许 PORTA 电平变化中断 0 = 禁止 PORTA 电平变化中断 bit 2 T0IF:TMR0 溢出中断标志位 (2) 1 = TMR0 寄存器溢出 (必须用软件清零) 0 = TMR0 寄存器没有溢出 bit 1 INTF: RA2/AN2/T0CKI/INT/C1OUT 外部中断标志位 1 = RA2/AN2/T0CKI/INT/C1OUT 外部中断已经发生 (必须用软件清零) 0 = RA2/AN2/T0CKI/INT/C1OUT 外部中断没有发生 bit 0 RAIF: PORTA 电平变化中断标志位 1 = 至少有一个 PORTA 引脚状态发生变化时 (必须用软件清零) 0 = PORTA 引脚状态均未发生变化 注 1: IOCA 寄存器也必须被使能。 2: 当 Timer0 计数出现计满返回时, T0IF 位将被置 1。 Timer0 计数值在复位时不变, 而且应在清零 T0IF 位之前被初始化。 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 17 页 PIC16F785/HV785 2.2.2.4 PIE1 寄存器 寄存器 2-4: 必须将 PEIE (INTCON)位置 1,以 允许外设中断。 注: 外设中断允许寄存器 1 包含中断允许位,如寄存器 2-4 所示。 PIE1:外设中断允许寄存器 1 (地址:8Ch) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 EEIE ADIE CCP1IE C2IE C1IE OSFIE TMR2IE TMR1IE bit 7 bit 0 bit 7 EEIE:EE 写完成中断允许位 1 = 允许 EE 写完成中断 0 = 禁止 EE 写完成中断 bit 6 ADIE:A/D 转换器中断允许位 1 = 允许 A/D 转换器中断 0 = 禁止 A/D 转换器中断 bit 5 CCP1IE:CCP1 中断允许位 1 = 允许 CCP1 中断 0 = 禁止 CCP1 中断 bit 4 C2IE:比较器 2 中断允许位 1 = 允许比较器 2 中断 0 = 禁止比较器 2 中断 bit 3 C1IE:比较器 1 中断允许位 1 = 允许比较器 1 中断 0 = 禁止比较器 1 中断 bit 2 OSFIE:振荡器故障中断允许位 1 = 允许振荡器故障中断 0 = 禁止振荡器故障中断 bit 1 TMR2IE:TMR2 到 PR2 匹配中断允许位 1 = 允许 Timer2 到 PR2 匹配中断 0 = 禁止 Timer2 到 PR2 匹配中断 bit 0 TMR1IE:Timer1 溢出中断允许位 1 = 允许 Timer1 溢出中断 0 = 禁止 Timer1 溢出中断 图注: DS41249D_CN 第 18 页 R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 初稿 x = 未知  2006 Microchip Technology Inc. PIC16F785/HV785 2.2.2.5 PIR1 寄存器 外设中断 (PIR1)寄存器包含中断标志位,如寄存器 2-5 所示。 寄存器 2-5: 注: 当中断条件满足时,无论相应中断允许位 或全局中断允许位 GIE(INTCON)的 状态如何,中断标志位都将被置 1。用户程 序应确保在重新允许中断之前,相应的中 断标志位已被清零。 PIR1:外设中断寄存器 1 (地址:0Ch) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 EEIF ADIF CCP1IF C2IF C1IF OSFIF TMR2IF TMR1IF bit 7 bit 0 bit 7 EEIF:EEPROM 写操作中断标志位 1 = 写操作完成 (必须用软件清零) 0 = 写操作未完成或尚未开始 bit 6 ADIF: A/D 中断标志位 1 = A/D 转换完成 0 = A/D 转换未完成或尚未开始 bit 5 CCP1IF: CCP1 中断标志位 捕捉模式: 1 = TMR1 寄存器发生捕捉中断 (必须用软件清零) 0 = TMR1 寄存器未发生捕捉中断 比较模式: 1 = TMR1 寄存器发生比较匹配中断 (必须用软件清零) 0 = TMR1 寄存器未发生比较匹配中断 PWM 模式: 在此模式中未使用。 bit 4 C2IF:比较器 2 中断标志位 1 = 比较器 2 输出已经改变 (必须用软件清零) 0 = 比较器 2 输出没有变化 bit 3 C1IF:比较器 1 中断标志位 1 = 比较器 1 输出已经改变 (必须用软件清零) 0 = 比较器 1 输出没有变化 bit 2 OSFIF:振荡器故障中断标志位 1 = 系统振荡器发生故障,时钟输入切换至 INTOSC (必须用软件清零) 0 = 系统时钟工作正常 bit 1 TMR2IF: TMR2 到 PR2 匹配中断标志位 1 = 发生 TMR2 和 PR2 匹配中断 (必须用软件清零) 0 = 未发生 Timer2 和 PR2 匹配中断 bit 0 TMR1IF: Timer1 溢出中断标志位 1 = Timer1 寄存器溢出 (必须用软件清零) 0 = Timer1 未溢出 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 19 页 PIC16F785/HV785 2.2.2.6 PCON 寄存器 电 源 控 制 (PCON)寄 存 器 包 含 用 以 区 分 上 电 复 位 (POR)、欠压复位 (BOR)、看门狗定时器 (WDT) 复位 (WDT)以及外部 MCLR 复位的标志位。 寄存器 2-6: PCON:电源控制寄存器 (地址:8Eh) U-0 U-0 — — U-0 — R/W-1 (1) SBOREN U-0 U-0 R/W-0 R/W-x — — POR BOR bit 7 bit 0 bit 7-5 未实现:读为 0 bit 4 SBOREN:软件 BOR 使能位 (1) 1 = 使能 BOR 0 = 禁止 BOR bit 3-2 未实现:读为 0 bit 1 POR:上电复位状态位 1 = 无上电复位发生 0 = 发生上电复位 (上电复位发生后,必须用软件置 1) bit 0 BOR:欠压复位状态位 1 = 无欠压复位发生 0 = 发生欠压复位 (欠压复位发生后,必须用软件置 1) 注 1: 配置字中的 BOREN = 01 时,该位控制 BOR。 图注: DS41249D_CN 第 20 页 R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 初稿 x = 未知  2006 Microchip Technology Inc. PIC16F785/HV785 2.3 PCL 和 PCLATH 图 2-3: 程序计数器 (PC)指定取指令并执行的地址。程序计 数器(PC)为 13 位宽。其低位称为 PCL 寄存器。PCL 寄存器是可读写的寄存器。PC 的高位(PC)称 为 PCH 寄存器。该寄存器包含的 PC 位不能直 接读写。对 PCH 寄存器的所有更新必须通过 PCLATH 寄存器。 7 0 以 PCL 为目标 寄存器的指令 8 PCLATH 5 ALU 运算结果 PCLATH PCH 12 11 10 PCL 8 0 7 PC GOTO, CALL 2 修改 PCL PCLATH 11 操作码 PCLATH 2.3.3 堆栈 PIC16F785/HV785 系列具有 8 级深 x 13 位宽的硬件 堆栈(见图 2-1)。堆栈空间既不占用程序存储区空间, 也不占用数据存储区空间,而且堆栈指针是不可读写 的。当执行 CALL 指令或当中断导致程序跳转时,PC 值 将被压入堆栈。而在执行 RETURN、 RETLW 或 RETFIE 指令时,堆栈中的断点地址将从堆栈中弹出到 PC 中。 PCLATH 不受 PUSH 或 POP 操作的影响。 计 算 GOTO 指 令 是 通 过 向 程 序 计 数 器 加 入偏移量 (ADDWF PCL)来实现的。当通过修改 PCL 寄存器跳 转到查找表或程序分支表 (计算 GOTO)时,应格外小 心。假设将 PCLATH 设置为表的起始地址,如果表的长 度大于 255 条指令,或存储器地址的低 8 位在表的中间 从 0xFF 返回 0x00,则在表中的表开始和目标单元之间 每次发生地址返回时, PCLATH 均必须递增。 堆栈的工作原理犹如循环缓冲区。这意味着当堆栈压栈 8 次后,第 9 次压栈的数值将会覆盖第一次压栈时所保 存的数值,而第十次压栈数值将覆盖第二次压栈时保存 的数值,以后依次类推。 更多信息,请参见应用笔记 AN556 “Implementing a Table Read”(DS00556)。 注 程序存储器页 1: 不存在指明堆栈是否上溢或下溢的状态标 志位。 2: 不存在被称为 PUSH 或 POP 的指令 / 助记 符。堆 栈 的 压 入 或 弹 出 是 源 于 执 行 了 CALL、RETURN、RETLW 和 RETFIE 指令, 或源于指向中断向量地址。 CALL和GOTO指令提供了11位地址,以允许在任何2K程 序存储器页内跳转。使用 CALL 或 GOTO 指令时,地址 的最高有效位由 PCLATH (页选择位)提供。使 用 CALL 或 GOTO 指令时,用户必须确保已对页选择位 编程,以便寻址时访问到所需的目标程序存储器页。执 行 CALL 指令(或中断)时,PC 返回地址的全部 13 位 都将被压入 (PUSH)堆栈。因此,对于 (将地址从堆 栈中弹出 (POP)的) RETURN 或 RETFIE 指令,不需 要对 PCLATH 位进行操作。  2006 Microchip Technology Inc. 8 PC 以 PCL 寄存器作为目标寄存器执行任何指令,会同时使 程序计数器 PC 位 (PCH)被 PCLATH 寄存器 的内容所取代。这使得可通过先将所需的高 5 位数据写 入 PCLATH 寄存器,来改变程序计数器的整个内容。当 低 8 位随后被写入 PCL 寄存器时,程序计数器的所有 13 位将更改为 PCLATH 寄存器包含的值以及写入 PCL 寄存器中的值。 2.3.2 PCL 12 只要发生复位,PC 就将被清零。图 2-3 显示了装载 PC 值 的 两 种 情 形。图 2-3 上 方 的 例 子 说 明 在 写 PCL (PCLATH → PCH)时是如何装载 PC 的。图 2-3 下方的例子说明了在执行 CALL 或 GOTO 指令期间 (PCLATH → PCH),是如何装载 PC 的。 2.3.1 不同情况下 PC 的装载 PCH 初稿 DS41249D_CN 第 21 页 PIC16F785/HV785 2.4 间接寻址、 INDF 和 FSR 寄存器 例 2-1 给出了一个使用间接寻址将 RAM 地址单元 20h2Fh 清零的简单程序。 INDF 寄存器不是实际存在的寄存器,对 INDF 寄存器进 行寻址将产生间接寻址。 例 2-1: 使用 INDF 寄存器可进行间接寻址。任何使用 INDF 寄 存器的指令,实际上是对文件选择寄存器 (FSR)所指 向的数据进行存取。间接对 INDF 进行读操作将返回 00h。间接对 INDF 寄存器进行写操作将导致空操作(尽 管可能会影响状态标志位)。通过将 8 位的 FSR 寄存器 与 IRP 位(STATUS)进行组合可得到一个有效的 9 位地址,如图 2-4 所示。 图 2-4: 间接寻址 MOVLW MOVWF NEXT CLRF INCF BTFSS GOTO CONTINUE 0x20 FSR INDF FSR FSR,4 NEXT 直接 / 间接寻址 PIC16F785/HV785 直接寻址 RP1RP0 ;initialize pointer ;to RAM ;clear INDF register ;increment pointer ;all done? ;no clear next ;yes continue 间接寻址 来自操作码 6 存储区选择 0 IRP 7 存储区选择 存储单元选择 00 01 10 文件选择寄存器 0 存储单元选择 11 00H 180H 数据存储器 7FH 1FFH Bank 0 注: Bank 1 Bank 2 Bank 3 关于存储器映射图的详细信息,请参见图 2-2。 DS41249D_CN 第 22 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 3.0 时钟源 PIC16F785/HV785 可配置为以下 8 种时钟模式之一。 3.1 概述 1. 2. PIC16F785/HV785 器件具有多种时钟源和选择特性, 广泛使用于各种应用中,同时最大限度地发挥应用性能 并降低功耗。图 3-1 为 PIC16F785/HV785 时钟源的框 图。 3. 4. 5. 6. 7. 时钟源可配置为来自外部振荡器、石英晶体谐振器、陶 瓷谐振器以及阻容 (Resistor-Capacitor, RC)电路。 此外,系统时钟源可配置为两个内部振荡器之一,并通 过软件来选择速度。其他时钟特性包括: 8. • 可通过软件选择外部或内部系统时钟源。 • 双速时钟启动模式,最大限度地缩短外部振荡器起 振与代码执行之间的延时。 • 故障保护时钟监控器 (Fail-Safe Clock Monitor, FSCM),用来检测外部时钟源 (LP、 XT、 HS、 EC 或 RC 模式)故障以及切换到内部振荡器。 图 3-1: EC——外部时钟, I/O 在 RA4 上。 LP——32.768 kHz 监视晶振或陶瓷谐振振荡器 模式。 XT——中等增益晶振或陶瓷谐振振荡器模式。 HS——高增益晶振或陶瓷谐振器模式。 RC——外部阻容(RC),FOSC/4 输出到 RA4。 RCIO——外部阻容, I/O 在 RA4 上。 INTOSC——内部振荡器,FOSC/4 输出到 RA4 且 I/O 在 RA5 上。 INTOSCIO——内部振荡器,I/O 在 RA4 和 RA5 上。 通过配置字寄存器的 FOSC 位来配置时钟源模式 (见第15.0节“CPU的特殊功能”)。一旦对PIC16F785/ HV785 进行编程且配置了时钟源模式,则无法在软件中 进行更改。 PIC16F785/HV785 时钟源框图 FOSC (配置字) SCS (OSCCON) 外部振荡器 OSC2 休眠 IRCF (OSCCON) 8 MHz 内部振荡器 4 MHz MUX LP, XT, HS, RC, RCIO, EC OSC1 系统时钟 (CPU 和外设) 111 110 1 MHz 500 kHz 250 kHz 125 kHz LFINTOSC 31 kHz 31 kHz 101 100 011 MUX HFINTOSC 8 MHz 后分频器 2 MHz 010 001 000 上电延时定时器(PWRT) 看门狗定时器(WDT) 故障保护时钟监控器(FSCM)  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 23 页 PIC16F785/HV785 3.2 3.3 外部时钟模式 时钟源模式可分为外部和内部模式。 3.3.1 振荡器起振定时器 (OST) • 外部时钟模式依靠外部电路提供时钟源。例如,振 荡器模块 (EC 模式)、石英晶体谐振器或陶瓷谐 振器 (LP、 XT 和 HS 模式)以及阻容 (RC 模 式)电路。 • 内部时钟源内置于 PIC16F785/HV785 中。 PIC16F785/HV785 有两个内部振荡器,一个是 8 MHz 高频内部振荡器 (HFINTOSC),另一个 是 31 kHz 低频内部振荡器 (LFINTOSC)。 如果 PIC16F785/HV785 配置为任何一种晶体振荡器模 式 (LP、 XT 或 HS) ,将使能振荡器起振定时器 (OST) ,该定时器可延长复位周期以使振荡器有更长 的稳定时间。在上电复位 (POR)或从休眠中唤醒后, 或上电延时定时器 (PWRT)到期 (如果 PWRT 被使 能)后,OST 对来自 OSC1 引脚的振荡计数 1024 次。 在此期间,程序计数器不递增,程序执行暂停。OST 确 保使用石英晶体谐振器或陶瓷谐振器的振荡器电路已经 启动并向 PIC16F785/HV785 提供稳定的系统时钟信 号。表 3-1 给出了执行振荡器延时的例子。 时钟源模式 可通过系统时钟选择 (SCS)位,在外部或内部时钟源 之间选择系统时钟 (见第 3.5 节 “时钟切换”)。 为了使外部振荡器起振和代码执行之间的延时最小,可 选择双速时钟启动模式(见第 3.6 节“双速时钟启动模 式”)。 表 3-1: 振荡器延时示例 切换自 切换到 频率 休眠 /POR INTRC INTOSC 31 kHz 125 kHz 到 8 MHz 休眠 LFINTOSC (31 kHz) EC, RC DC - 20 MHz EC, RC DC - 20 MHz 休眠 /POR LP, XT, HS 31 kHz 到 20 MHz 1024 个时钟周期 (OST) LFINTOSC (31 kHz) INTOSC 125 kHz 到 8 MHz 1 µs (近似值) 注 3.3.2 振荡器延时 5 µs-10 µs (近似值) CPU 启动 (1) 说明 从休眠模式唤醒或 POR 后, CPU 被启动,以 便作好执行代码的准备。 1: 5 µs 到 10 µs 起振延时是基于 1 MHz 系统时钟的。 EC 模式 图 3-2: 外部时钟 (EC)模式允许外部产生的逻辑电平作为系 统 时 钟 源。工 作 在 此 模 式 下 时,外 部 时 钟 源 连 接 到 OSC1 引脚, RA4 引脚可用作通用 I/O。图 3-2 给出了 EC 模式的引脚连接。 外部时钟 (EC)模式的工作原理 OSC1/CLKIN PIC16F785/HV785 来自外部 系统的时钟 RA4 I/O(OSC2) 当选取 EC 模式时,振荡器起振定时器 (OST)被禁 止。因此,上电复位(POR)后或者从休眠中唤醒后的 操作不存在延时。因为 PIC16F785/HV785 的设计是全 静态的,停止外部时钟输入将使器件暂停工作并保持所 有数据完整。当再次启动外部时钟时,器件恢复工作, 就好像没有停止过一样。 DS41249D_CN 第 24 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 3.3.3 LP、 XT 和 HS 模式 图 3-4: LP、XT 和 HS 模式支持连接到 OSC1 和 OSC2 引脚的 石英晶体谐振器或陶瓷谐振器的使用 (图 3-1)。模式 选择内部反相放大器的低、中或高增益设定,以支持各 种谐振器类型及速度。 OSC1 RP(3) C2 注 表 3-2: 石英晶振的工作原理 (LP、 XT 或 HS 模式) C1 1:对于低驱动电平的陶瓷谐振器,可能需要串联 一个电阻 (RS)。 至内部 逻辑 陶瓷谐振器 OSC2 (C2) XT 455 kHz 2.0 MHz 68-100 pF 15-68 pF 68-100 pF 15-68 pF HS 4.0 MHz 8.0 MHz 16.0 MHz 10-68 pF 15-68 pF 10-22 pF 10-68 pF 15-68 pF 10-22 pF 注: RS(1) 注 至内部 逻辑 OSC1 (C1) 休眠 OSC2 C2 陶瓷 谐振器 频率 模式 PIC16F785/HV785 RF RS(1) 3:对于适当的陶瓷谐振器工作,可能需要并联一 个反馈电阻 (RP)(典型值 1 MΩ)。 图 3-3 和图 3-4 分别给出了石英晶体谐振器和陶瓷谐振 器的典型电路。 (2) 休眠 2:RF 的值随选取的振荡模式而变化 (典型值在 2 MΩ 到 10 MΩ 之间)。 HS 振荡器模式选择内部反相放大器的最高增益设定。 HS 模式的电流消耗在三种模式中最大。该模式较适用 于驱动需要高驱动设定的谐振器,例如,AT 切割石英晶 体谐振器或陶瓷谐振器。 石英 晶振 RF(2) OSC2 XT 振荡器模式选择内部反相放大器的中等增益设定。 XT 模式的电流消耗在三种模式中居中。该模式较适用 于驱动具备中等驱动电平规格要求的谐振器,例如,AT 切割石英晶体谐振器。 OSC1 PIC16F785/HV785 C1 LP振荡器模式选择内部反相放大器的最低增益设定。LP 模式的电流消耗在三种模式中最小。该模式较适用于驱 动 具 备 低 驱 动 电 平 规 格 要 求 的 谐 振 器,例 如,音 叉 (Tuning Fork)式晶振。 图 3-3: 陶瓷谐振器的工作原理 (XT 或 HS 模式) 这些值仅供设计参考。请参见表格下方的 注。 1: 对于低驱动电平的石英晶振,可能需要串联 一个电阻 (RS)。 2: RF 的值随选取的振荡模式而变化(典型值在 2 MΩ 到 10 MΩ 之间)。 注 1: 石英晶振的特性随类型、封装和制造商而 变化。要了解规范值和推荐应用,应查阅制 造商提供的数据手册。 2: 应始终验证振荡器在应用预期的 VDD 和温 度范围内的性能。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 25 页 PIC16F785/HV785 表 3-3: 在 RCIO 模式下, RC 电路连接到 OSC1 引脚。 OSC2 引脚成为额外的通用 I/O 引脚。I/O 引脚成为 PORTA 的 bit 4 (RA4)。图 3-6 给出了 RCIO 模式的连接图。 晶体振荡器的电容选择 晶振 频率 电容范围 C1 电容范围 C2 LP 32 kHz 15-33 pF 15-33 pF 图 3-6: XT 200 kHz 47-68 pF 47-68 pF VDD 1 MHz 15-33 pF 15-33 pF 4 MHz 15-33 pF 15-33 pF 4 MHz 15-33 pF 15-33 pF 8 MHz 15-33 pF 15-33 pF 20 MHz 15-33 pF 15-33 pF 振荡器类型 HS 注: 注 REXT OSC1 内部时钟 CEXT PIC16F785/HV785 VSS RA4 这些值仅供设计参考。请参见表格下方的 注。 I/O(OSC2) 建议值: 3 kΩ ≤ REXT ≤ 100 kΩ (VDD ≥ 3.0V) 10 kΩ ≤ REXT ≤ 100 kΩ (VDD < 3.0V) CEXT > 20 pF 1: 较大的电容可以提高振荡器的稳定性,但 也延长了起振时间。 2: 由于每种谐振器/晶振都有其自身的特性, 用户应向谐振器 / 晶振制造商咨询有关外 部元件的适当值。 3: 可能需要 RS 避免对具有低驱动电平参数 的晶体造成过驱动。 3.3.4 RCIO 模式 RC 振荡器频率是供电电压、电阻 (REXT)和电容 (CEXT)值以及工作温度的函数。除此之外,由于门限 电压的正常差异,每个器件的振荡器频率也会变化。而 且,不同封装形式之间引线框电容的不同也将影响振荡 器频率, CEXT 值较小时也是如此。用户还应考虑因所 使用的外部 RC 元件的容差而导致的差异。 外部 RC 模式 外部阻容 (RC)模式支持使用外部 RC 电路。对时钟 精度要求不高时,这使设计人员有了很大的频率选择空 间,且保持成本最低。有 RC 和 RCIO 两种模式。 在 RC 模式下, RC 电路连接到 OSC1 引脚。 OSC2/ CLKOUT 引脚输出为 RC 振荡器频率的 4 分频。该信号 可用来为外部电路、同步、校准、测试或其他应用需求 提供时钟。图 3-5 给出了 RC 模式的连接图。 图 3-5: RC 模式 VDD REXT 内部 时钟 OSC1 CEXT PIC16F785/HV785 VSS FOSC/4 建议值: DS41249D_CN 第 26 页 OSC2/CLKOUT 3 kΩ ≤ REXT ≤ 100 kΩ(VDD ≥ 3.0V) 10 kΩ ≤ L ≤ 100 kΩ (VDD < 3.0V) CEXT > 20 pF 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 3.4 3.4.2.1 内部时钟模式 8 MHz 高频内部振荡器(HFINTOSC)在出厂时已校准。 HFINTOSC 校准位存储在程序存储器存储单元为 2008h 的 校 准 字 (CALIB)中。使 用 “PIC16F785/HV785 Memory Programming Specification”(DS41237)中指 定的批量擦除序列时,校准字不会被擦除,因此也不需 要 编 程。关 于 校 准 字 寄 存 器 的 更 多 信 息,请 参 见 “PIC16F785/HV785 Memory Programming Specification”(DS41237)。 PIC16F785/HV785 有两个独立的内部振荡器,可配置 或选取为系统时钟源。 1. HFINTOSC (高频内部振荡器)在出厂时已校 准,工作频率为 8 MHz。使用 OSCTUNE 寄存器 (寄存器 3-1),可通过软件调整 HFINTOSC 的 频率,调整范围为 ±12%。 2. LFINTOSC (低频内部振荡器)未经校准,工作 频率约为 31 kHz。 使用内部振荡器频率选择 (IRCF)位,可用软件来选 择系统时钟速度。 注: 可通过系统时钟选择 (SCS)位,在外部或内部时钟源 之间选择系统时钟 (见第 3.5 节 “时钟切换”)。 3.4.1 校准位 INTRC 和 INTRCIO 模式 地址 2008h 超出了用户程序存储器空间范 围。它属于 特殊配置存储器空间 (2000h3FFFh),只能在编程时对其进行访问。更 多 信 息,请 参 见 “PIC16F785/HV785 Memory Programming Specification” (DS41237)。 当在配置字(寄存器 12-1)中使用振荡器选择(FOSC) 位对器件进行设置时,在 INTRC 和 INTRCIO 模式下将 内部振荡器配置为系统时钟源。 在 INTRC 模式下,OSC1 引脚可用作通用 I/O。OSC2/ CLKOUT 引脚输出所选内部振荡器频率的 4 分频。 CLKOUT 信号可用来为外部电路、同步、校准、测试或 其他应用需求提供时钟。 在 INTRCIO 模式下, OSC1 和 OSC2 引脚可用作通用 I/O。 3.4.2 HFINTOSC 高 频 内 部 振 荡 器 (HFINTOSC)是 出 厂 时 已 校 准 的 8 MHz 内部时钟源。使用 OSCTUNE 寄存器(寄存器 3-1), 可通过软件调整 HFINTOSC 的频率,调整范围约为 ±12%。 HFINTOSC 的输出连接到后分频器和多路复用器 (见 图 3-1)。使用 IRCF 位,可通过软件选择七种频率之一 (见第 3.4.4 节 “频率选择位 (IRCF)”)。 通过选择8 MHz到125 kHz之间的任一频率(IRCF ≠ 000) 作 为 系 统 时 钟源 (SCS = 1) ,或 当 双 速 启动使能 (IESO = 1 且 IRCF ≠ 000)时,HFINTOSC 将被使能。 HF 内 部 振 荡 器 (HTS)位 (OSCCON)指明 HFINTOSC 是否稳定。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 27 页 PIC16F785/HV785 3.4.2.2 OSCTUNE 寄存器 当 OSCTUNE 寄存器被修改时, HFINTOSC 频率将开 始转变为新频率。HFINTOSC 时钟将在 1 ms 之内稳定。 转变期间,代码将继续执行。是否已发生频率转变并无 明确的指示。 HFINTOSC 在出厂时已校准,但可通过在软件中写入 OSCTUNE 寄存器 (寄存器 3-1)来进行调节。 OSCTUNE 寄存器标称调节范围为 ±12%。 OSCTUNE 寄存器的缺省值为 0。该值是一个 5 位的二进制补码。 由于制造工艺的差异,可能无法确定单调性和频率步 进。 寄存器 3-1: OSCTUNE 不影响 LFINTOSC 频率。依赖于 LFINTOSC 时钟源频率的功能,如上电延时定时器 (PWRT)、看 门狗定时器 (WDT)、故障保护时钟监控器 (FSCM) 以及外设等,其工作不受频率改变的影响。 OSCTUNE:振荡器调节寄存器 (地址:90h) U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 — — — TUN4 TUN3 TUN2 TUN1 TUN0 bit 7 bit 7-5 bit 4-0 bit 0 未实现:读为 0 TUN:频率调节位 01111 = 最大频率 01110 = • • • 00001 = 00000 = 中心频率。振荡器模块运行在经过校准的频率上。 11111 = • • • 10000 = 最小频率 图注: R = 可读位 - n = POR 值 DS41249D_CN 第 28 页 W = 可写位 1=置1 初稿 U = 未实现位,读为 0 0 = 清零 x = 未知  2006 Microchip Technology Inc. PIC16F785/HV785 3.4.3 LFINTOSC 3.4.5 低频内部振荡器 (LFINTOSC)是未经校准的 31 kHz (近似值)内部时钟源。 当在 LFINTOSC 和 HFINTOSC 之间切换时,新的振荡 器可能为了省电已经关闭。在这种情况下, IRCF 位被 修改之后、频率选择生效之前,存在 10 µs 的延时。LTS/ HTS 位将反映 LFINTOSC 和 HFINTOSC 振荡器的当前 激活状态。频率选择时序如下: LFINTOSC 的输出连接到后分频器和多路复用器 (见 图 3-1)。可通过软件用 IRCF 位选取 31 kHz (见第 3.4.4 节 “频率选择位 (IRCF)”)。 LFINTOSC 还是 上电延时定时器 (PWRT)、看门狗定时器 (WDT)以 及故障保护时钟监控器 (FSCM)的时钟源。 1. 2. 通过选取 31 kHz(IRCF = 000)为系统时钟源(SCS = 1), 或者使能下列任一项时, LFINTOSC 将被使能: • • • • 3. 4. 双速启动 (IESO = 1 且 IRCF = 000) 上电延时定时器 (PWRT) 看门狗定时器 (WDT) 故障保护时钟监控器 (FSCM) 5. 6. LF 内 部 振 荡 器 (LTS)位 (OSCCON)指明 LFINTOSC 是否稳定。 3.4.4 HF 和 LF INTOSC 时钟切换时序 IRCF 位被修改。 如果新时钟是关闭的,开始 10 µs 的时钟启动延 时。 时钟切换电路等待当前时钟下降沿的到来。 CLKOUT 保持为低,时钟切换电路等待新时钟上 升沿的到来。 现在 CLKOUT 连接到新时钟。 HTS/LTS 位按要 求被更新。 时钟切换完成。 如果选取的内部振荡器速度在 8 MHz 到 125 kHz 之间, 选取新频率不存在启动延时。这是因为新旧频率都来自 经过后分频器和多路复用器的 HFINTOSC。 频率选择位 (IRCF) 8 MHz HFINTOSC 和 31 kHz LFINTOSC 的输出连接到 后分频器和多路复用器 (见图 3-1)。内部振荡器频率 选择位,IRCF(OSCCON),选择内部振荡 器的频率输出。可通过软件选择以下 8 种频率之一: 注: 必须小心确保没有选择无效的电压或频率 选项。例如,当 VDD 为 2.0V 时选择 8 MHz 便是无效的配置。 • 8 MHz • • • • • • • 4 MHz (复位后的缺省值) 2 MHz 1 MHz 500 kHz 250 kHz 125 kHz 31 kHz 注: 任一复位后,IRCF 位设置为 110 且频率选 择强制为 4 MHz。用户可修改 IRCF 位来选 择不同的频率。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 29 页 PIC16F785/HV785 3.5 当 PIC16F785/HV785 配置为 LP、 XT 或 HS 模式时, 振荡器起振定时器 (OST)使能 (见第 3.3.1 节 “振 荡器起振定时器 (OST)”)。 OST 定时器将暂停程序 执行,直到完成1024次振荡计数。双速启动模式在OST 计数时使用内部振荡器进行工作,最大限度地缩短了代 码执行的延时。当 OST 计数到 1024 且 OSTS 位 (OSCCON)置 1 时,程序执行切换至外部振荡器。 时钟切换 可通过软件用系统时钟选择(SCS)位在外部和内部时 钟源之间切换系统时钟源。 3.5.1 系统时钟选择 (SCS)位 系统时钟选择 (SCS)位 (OSCCON)选择用于 CPU 和外设的系统时钟源。 3.6.1 • SCS = 0 时,系统时钟源由配置字 (CONFIG)中 FOSC 位的配置决定。 • SCS = 1 时,根据 IRCF 位所选的内部振荡器频率 选取系统时钟源。复位后, SCS 总是被清零。 注: 3.5.2 通过以下设定来配置双速启动模式: • IESO = 1 (CONFIG)内部 / 外部切换位。 • SCS = 0。 • FOSC 配置为 LP、 XT 或 HS 模式。 任何自动时钟切换 (可能产生自双速启动 或故障保护时钟监控器)都不更新 SCS 位。用户可监控 OSTS (OSCCON) 以确定当前的系统时钟源。 在下列操作之后,进入双速启动模式: 振荡器起振超时状态位 如果外部时钟振荡器配置为除 LP、 XT 或 HS 模式以外 的任一模式,那么双速启动将被禁止。这是因为 POR 后 或从休眠中退出时,外部时钟振荡器不需要稳定时间。 • 上电复位 (POR)后以及在 PWRT 到期 (使能 时)后,或者 • 从休眠中唤醒。 振荡器起振超时状态 (OSTS)位 (OSCCON)指 明系统时钟是来自外部时钟源 (通过 FOSC 位定义), 还是来自内部时钟源。OSTS 还特别指明在 LP、XT 或 HS 模式下,振荡器起振定时器 (OST)是否已超时。 3.6.2 3.6 1. 2. 双速时钟启动模式 双速启动模式通过最大限度地缩短外部振荡器起振与代 码执行之间的延时,进一步节省了功耗。对于频繁使用 休眠模式的应用,双速启动模式将从器件唤醒的时间中 去除外部振荡器的起振时间,从而可降低器件的总体功 耗。 3. 4. 5. 6. 该模式使得应用能够从休眠中唤醒,将 INTOSC 用作时 钟源执行数条指令,然后再返回休眠状态而无需等待主 振荡器的稳定。 注: 双速启动模式配置 7. DS41249D_CN 第 30 页 从上电复位或休眠中唤醒。 使用内部振荡器以 IRCF 位 (OSCCON) 设置的频率开始执行指令。 OST 使能,计数 1024 个时钟周期。 OST 超时,等待内部振荡器下降沿的到来。 OSTS 置 1。 系统时钟保持为低,直到新时钟下一个下降沿的 到来 (LP、 XT 或 HS 模式)。 系统时钟切换到外部时钟源。 3.6.3 执行 SLEEP 指令将中止振荡器起振时间, 并使 OSTS 位(OSCCON)保持清零。 双速启动顺序 检查外部 / 内部时钟状态 通过检查 OSTS 位 (OSCCON)的状态,可以确 定 PIC16F785/HV785 是否如配置字 (CONFIG)中 FOSC 位定义的那样运行在外部时钟下,还是运行在内 部振荡器下。 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 图 3-7: 双速启动 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 INTOSC TOST OSC1 0 1 1022 1023 OSC2 PC 程序计数器 PC +1 PC + 2 系统时钟 3.7 内部振荡器的频率取决于 IRCF 位 (OSCCON) 中包含的值。一旦进入故障保护状态, OSTS 位 (OSCCON)会自动清零,表示内部振荡器已经激 活且 WDT 被清零。 SCS 位 (OSCCON)不会更 新。使能 FSCM 并不能影响 LTS 位。 故障保护时钟监控器 故障保护时钟监控器 (FSCM)使得器件在出现振荡器 故障时仍能继续工作。FSCM 能在器件退出复位或休眠 状态,以及振荡器起振定时器(OST)到期后的任一时 刻检测振荡器故障。 图 3-8: 将 LFINTOSC 时钟除以 64,得到 FSCM 采样时钟。这 就使得在FSCM采样时钟间隙有足够的时间可以发生系 统时钟边沿。图 3-8 给出了 FSCM 框图。 FSCM 框图 时钟监控器 锁存器(CM) (边沿触发) 主 时钟 LFINTOSC 振荡器 ÷ 64 31 kHz (~32 µs) 488 Hz (~2 ms) S Q C Q 在 采 样 时 钟 的 上 升 沿,监 视 锁 存 器 将 被 清 零 (CM = 0)。在主系统时钟的下降沿,监视锁存器将被 置 1 (CM = 1)。在采样时钟的下降沿发生且监视锁存 器未置 1 时,就检测到时钟故障。当由于 IRCF 位的影 响 FSCM 使能时,将使能分配的内部振荡器。 注: 使能故障保护时钟监控器模式时,将自动 使能双速启动。 检测到 时钟故障 FSCM 功能通过将配置字(CONFIG)中的 FCMEN 位 置 1 来使能。适用于所有外部时钟选项(LP、XT、HS、 EC、 RC 或 I/O 模式)。 当外部时钟出现故障时,FSCM将OSFIF位(PIR1) 置 1,并在 OSFIE 位(PIE1)置 1 时生成振荡器故 障中断。器件随后将系统时钟切换到内部振荡器。系统 时钟将继续来自内部振荡器,直到外部时钟恢复并退出 故障保护条件。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 31 页 PIC16F785/HV785 3.7.1 故障保护条件清除 在复位、执行 SLEEP 指令或修改 SCS 位后,故障保护 条 件 被 清 除。一 旦 进 入 故 障 保 护 状 态, PIC16F785/ HV785 就使用内部振荡器作为系统时钟源。可以修改 IRCF 位 (OSCCON)来调整内部振荡器频率, 而无需退出故障保护条件。 必须先清除故障保护条件,才能清零 OSFIF 标志位。 图 3-9: FSCM 时序图 采样时钟 振荡器 故障 系统 时钟 输出 CM 输出 (Q) 检测到 故障 OSCFIF CM 测试 注: 3.7.2 CM 测试 CM 测试 系统时钟频率通常远高于采样时钟频率。本例中选择了相对频率以便说明。 复位或从休眠中唤醒 FSCM 设计为能在器件退出复位或休眠状态,以及振荡 器起振定时器(OST)到期后的任一时刻检测振荡器故 障。如果外部时钟处于 EC 或 RC 模式,监视将立即跟 踪这些事件。 对于 LP、 XT 或 HS 模式,外部振荡器需要的起振时间 可能比FSCM采样时钟时间长;这就可能检测到假时钟 故障 (见图 3-9)。为防止这种情况,内部振荡器自动 配 置 为 系 统 时 钟,它将 工 作 直 到外 部 时 钟 稳定 为 止 (OST 已超时)。这和双速启动模式一样。一旦外部时 钟稳定,LFINTOSC 将返回其原来的角色,作为 FSCM 源。 注: 由于振荡器起振时间范围较大,在振荡器 起振期间(即,从复位或休眠中退出时), 故障保护电路不处于激活状态。经过一段 适 当 的 时 间 后,用 户 应 检 查 OSTS 位 (OSCCON),以验证振荡器是否已成 功起振以及系统时钟是否切换成功。 DS41249D_CN 第 32 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 寄存器 3-2: OSCCON:振荡器控制寄存器 (地址:8Fh) U-0 R/W-1 R/W-1 R/W-0 R-q R-0 R-0 R/W-0 — IRCF2 IRCF1 IRCF0 OSTS(1) HTS LTS SCS bit 7 bit 0 bit 7 bit 6-4 未实现:读为 0 IRCF:内部振荡器频率选择位 000 = 31 kHz 001 = 125 kHz 010 = 250 kHz 011 = 500 kHz 100 = 1 MHz 101 = 2 MHz 110 = 4 MHz 111 = 8 MHz bit 3 OSTS:振荡器起振超时状态位 (1) 1 = 器件运行在 FOSC 定义的外部系统时钟之下 0 = 器件运行在内部系统时钟之下 (HFINTOSC 或 LFINTOSC) HTS:HFINTOSC (高频——8 MHz 到 125 kHz)状态位 1 = HFINTOSC 稳定 0 = HFINTOSC 不稳定 LTS:LFINTOSC (低频——31 kHz)状态位 1 = LFINTOSC 稳定 0 = LFINTOSC 不稳定 SCS:系统时钟选择位 1 = 内部振荡器用于系统时钟 0 = 时钟源由 FOSC 决定 bit 2 bit 1 bit 0 注 表 3-4: 1: 双速启动且选取 LP、 XT 或 HS 为振荡器模式时,或者故障保护模式使能时,该位 将复位为 0,否则将复位为 1。 图注: q = 值取决于具体条件 R = 可读位 - n = POR 值 W = 可写位 1=置1 U = 未实现位,读为 0 0 = 清零 x = 未知 与时钟源相关的寄存器汇总 地址 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR/BOR 时的值 所有其他 复位值 0Ch PIR1 EEIF ADIF CCP1IF C2IF C1IF OSFIF TMR2IF TMR1IF 0000 0000 0000 0000 8Ch PIE1 EEIE ADIE CCP1IE C2IE C1IE OSFIE TMR2IE TMR1IE 0000 0000 0000 0000 8Fh OSCCON — IRCF2 IRCF1 IRCF0 OSTS HTS LTS SCS -110 q000 -110 q000 90h OSCTUNE — — — TUN4 TUN3 TUN2 TUN1 TUN0 ---0 0000 ---u uuuu 2007h(1) CONFIG CPD CP MCLRE PWRTE WDTE FOSC2 FOSC1 FOSC0 — — 图注: 注 1: x = 未知, u = 不变, – = 未实现,读为 0, q = 取值根据具体情况而定。振荡器不使用阴影单元。 关于所有配置字位的操作,请参见寄存器 15-1。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 33 页 PIC16F785/HV785 注: DS41249D_CN 第 34 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 4.0 I/O 端口 TRISA 寄存器控制着 PORTA 引脚的方向,即使它们用 作模拟输入引脚时也是如此。当引脚用于模拟输入时, 用户应确保 TRISA 寄存器中的各位保持置 1。配置为模 拟输入的 I/O 引脚总是读为 0。 器件有 17 个可用的通用 I/O 引脚和 1 个仅用于输入的引 脚。根据外设的使能情况,部分甚至全部引脚可能不能 用于通用 I/O。通常而言,当某个外设使能时,其相关 引脚可能不能用作通用 I/O 引脚。 注: 4.1 当 RA1 配置为参考电压输出时, RA1 数字输出驱动器 将自动被禁止而不影响 TRISA 值。 关于 I/O 端口的其他信息,请参见 《PIC® 中 档 单 片 机 系 列 参 考 手 册》 (DS33023_CN)。 注: 必须对 ANSEL(91h)寄存器进行初始化, 以将模拟通道配置为数字输入。配置为模 拟输入的引脚读为 0。 PORTA 和 TRISA 寄存器 PORTA 是一个 6 位宽的双向端口,对应的数据方向寄存 器是 TRISA (寄存器 4-2)。将 TRISA 某位置 1 (= 1) 时,会将 PORTA 的相应引脚设为输入 (即,使相应的 输出驱动器呈高阻状态)。将 TRISA 某位清零 (= 0) 时,会将 PORTA 的相应引脚设为输出 (即,将输出锁 存器中的内容置于选中引脚)。RA3 是个例外,仅可作为 输入引脚,其 TRIS 位总是读为 1。例 4-1 显示了如何初 始化 PORTA。 例 4-1: 读取 PORTA 寄存器 (寄存器 4-1)将读出相应引脚的 电平状态,而对其进行写操作则是写入其端口锁存器。 所有写操作都是 “读-修改-写”操作。因此,对端口 的写操作意味着总是先读端口引脚电平状态,然后修改 这个值,最后再写入该端口的数据锁存器。当 MCLRE = 1 时, RA3 读为 0。 寄存器 4-1: 初始化 PORTA BCF BCF CLRF MOVLW ANDWF BSF MOVLW MOVWF STATUS,RP0 STATUS,RP1 PORTA F8h ANSEL0,f STATUS,RP0 0Ch TRISA BCF STATUS,RP0 ;Bank 0 ; ;Init PORTA ;Set RA to ; digital I/O ;Bank 1 ;Set RA as inputs ; and set RA ; as outputs ;Bank 0 PORTA:PORTA 寄存器 (地址:05h 或 105h) U-0 U-0 R/W-x R/W-x(1) R/W-x R/W-x(1) R/W-x(1) R/W-x(1) — — RA5 RA4 RA3 RA2 RA1 RA0 bit 7 bit 0 bit 7-6 未实现:读为 0 bit 5-0 RA:PORTA I/O 引脚位 1 = 端口引脚大于 VIH 0 = 端口引脚小于 VIL 注 1: 上电复位后,数据锁存值是未知的,但当相应的模拟选择位为 1 时,每个端口位均 读为 0 (见寄存器 12-1)。 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 35 页 PIC16F785/HV785 寄存器 4-2: TRISA:PORTA 三态寄存器 (地址:85h 和 185h) U-0 U-0 — — R/W-1 R/W-1 R-1 TRISA5(2) TRISA4(2) TRISA3(1) R/W-1 R/W-1 R/W-1 TRISA2 TRISA1 TRISA0 bit 7 bit 0 bit 7-6 未实现:读为 0 bit 5-0 TRISA:PORTA 三态控制位 (1), (2) 1 = PORTA 引脚配置为输入 (三态) 0 = PORTA 引脚配置为输出 注 1: TRISA 总是读为 1。 2: 在 XT、 HS 和 LP 振荡器模式下, TRISA 总是读为 1。 图注: 4.2 R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 4.2.1 引脚的其他功能 弱上拉 每个 PORTA 引脚都具有单独配置的内部弱上拉功能。 控制位 WPUAx 用于使能或禁止每个上拉功能。请参见 寄存器 4-3。当端口引脚被配置为输出时,这些弱上拉 会自动关闭。上电复位时将禁止上拉功能, RAPU 位 (OPTION_REG)置 1。当 RA3 配置为 MCLR 时, RA3 上的弱上拉自动使能。 PIC16F785/HV785中每个PORTA引脚都具有电平变化 中断功能和弱上拉功能。以下三节将对这些功能进行介 绍。 寄存器 4-3: x = 未知 WPUA:弱上拉寄存器 (地址:95h) (1), (2) U-0 U-0 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 — WPUA5(4) WPUA4(4) WPUA3(3) WPUA2 WPUA1 WPUA0 — bit 7 bit 0 bit 7-6 未实现:读为 0 bit 5-0 WPUA:弱上拉寄存器位 (3), (4) 1 = 上拉使能 0 = 上拉禁止 注 1: 必须使能全局 RAPU 位才能使能单独的上拉功能。 2: 如果引脚处于输出模式,则自动禁止弱上拉器件 (TRISA = 0)。 3: 当在配置字中配置为 MCLR 时, RA3 上拉自动使能。 4: 在 XT、 HS 和 LP 振荡器模式下, WPUA 总是读为 1。 图注: DS41249D_CN 第 36 页 R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 初稿 x = 未知  2006 Microchip Technology Inc. PIC16F785/HV785 4.2.2 该中断可唤醒处于休眠状态中的器件。用户在中断服务 程序中可通过以下方式清除该中断: 电平变化中断 每个 PORTA 引脚均被单独配置具有电平变化中断功 能。控制位 IOCAx 用于允许或禁止各引脚的中断功能。 请参见寄存器 4-4。电平变化中断功能在上电复位时被 禁止。 a) 对 PORTA 的任何读或写操作。这将结束不匹配 条件,然后: 清零标志位 RAIF。 b) 对于允许电平变化中断功能的引脚,其值将与上次读取 的 PORTA 的旧锁存值相比较。所有与上次读取值不匹 配的输出进行或运算,运算结果用来设置 INTCON 寄存 器 (寄存器 2-3)中的 PORTA 电平变化中断标志位 (RAIF)。 不匹配条件将继续将标志位 RAIF 置 1。读 PORTA 将结 束不匹配条件并将标志位 RAIF 清零。保持上一次读取 值的锁存器不受 MCLR 或 BOR 复位的影响。在这些复 位之后,如果存在不匹配情况, RAIF 标志还将继续被 置 1。 注: 寄存器 4-4: 当读操作正在执行时发生了I/O引脚电平变 化 (Q2 周期的起始时刻),则 RAIF 中断 标志位可能不会被置 1。 IOCA:电平变化中断 PORTA 寄存器 (地址:96h) (1) U-0 U-0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 — — IOCA5(2) IOCA4(2) IOCA3 IOCA2 IOCA1 IOCA0 bit 7 bit 0 bit 7-6 未实现:读为 0 bit 5-0 IOCA:电平变化中断 PORTA 控制位 (2) 1 = 允许电平变化中断 0 = 禁止电平变化中断 注 1: 要使各中断能够被识别,必须使能全局中断允许控制位 (GIE)。 2: 在 XT、 HS 和 LP 振荡器模式下, IOCA 总是读为 1。 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 37 页 PIC16F785/HV785 4.2.3 4.2.3.2 PORTA 引脚说明和引脚图 每个 PORTA 引脚都与其他功能复用。这里将简要说明 引脚及其复合功能。各功能的具体信息 (如比较器或 A/D 转换器),请参见本数据手册中的相关章节。 4.2.3.1 图 4-1 给出了此引脚的引脚图。RA1 引脚可配置为下列 功能之一: • • • • • • RA0/AN0/C1IN+/ICSPDAT 图 4-1 给出了此引脚的引脚图。RA0 引脚可配置为下列 功能之一: • • • • RA1/AN1/C12IN0-/VREF/ICSPCLK 通用 I/O 连接至 A/D 的模拟输入 连接至比较器 1 的模拟输入 在线串行编程数据 通用 I/O 连接至 A/D 的模拟输入 连接至比较器 1 和 2 的模拟输入 A/D 的参考电压输入 经过缓冲或未经缓冲的参考电压输出 在线串行编程时钟 图 4-2: RA1 框图 VROUT 图 4-1: 数据总线 RA0 框图 D 写 WPUA Q VROE*VREN CVROE ANS0 ANS1 VDD 数据总线 CK Q 弱 D 写 WPUA RAPU 读 WPUA VDD 弱 Q CK Q RAPU 读 WPUA D 写 PORTA VDD Q D 写 PORTA CK Q VDD Q CK Q I/O 引脚 I/O 引脚 D 写 TRISA D Q CK Q 写 TRISA VSS ANS0 读 TRISA 读 PORTA Q D 写 IOCA CK Q VSS 读 TRISA 读 PORTA D Q D Q Q EN EN CK Q Q 读 IOCA Q 电平变化 中断 写 IOCA D EN Q1 CK Q Q 读 IOCA Q Q3 D EN D EN D Q 电平变化 中断 Q1 D EN Q3 读 PORTA 读 PORTA 至比较器 至 A/D 转换器 至比较器 至 A/D 转换器 DS41249D_CN 第 38 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 4.2.3.3 RA2/AN2/T0CKI/INT/C1OUT 4.2.3.4 RA3/MCLR/VPP 图 4-3 给出了此引脚的引脚图。RA2 引脚可配置为下列 功能之一: 图 4-4 给出了此引脚的引脚图。RA3 引脚可配置为下列 功能之一: • • • • • • 通用输入 • 带弱上拉的主清零复位 通用 I/O 连接至 A/D 的模拟输入 TMR0 的时钟输入 外部边沿触发的中断 来自比较器 1 的数字输出 图 4-3: 图 4-4: 数据总线 D 写 WPUA RA2 框图 C1OE CK Q ANS2 D 写 WPUA CK 弱 Q Q MCLRE 写 IOCA D 写 PORTA CK VDD Q Q 写 TRISA CK 读 IOCA CK Q Q 电平变化 中断 Q EN Q D Q Q1 D EN Q VSS D EN I/O 引脚 输入 引脚 Q 1 0 D MCLRE VSS D 读 WPUA 弱 RAPU 读 PORTA RAPU VDD 复位 读 TRISA VDD MCLRE Q 读 WPUA C1OUT 数据总线 RA3 框图 Q3 VSS 读 PORTA ANS2 读 TRISA 读 PORTA Q D CK 写 IOCA D Q EN Q Q 读 IOCA D EN Q 电平变化 中断 Q1 D EN Q3 读 PORTA 至 TMR0 至 INT 至 A/D 转换器  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 39 页 PIC16F785/HV785 4.2.3.5 RA4/AN3/T1G/OSC2/CLKOUT 4.2.3.6 RA5/T1CKI/OSC1/CLKIN 图 4-5 给出了此引脚的引脚图。RA4 引脚可配置为下列 功能之一: 图 4-6 给出了此引脚的引脚图。RA5 引脚可配置为下列 功能之一: • • • • • • • • • 通用 I/O 连接至 A/D 的模拟输入 TMR1 门控输入 晶振 / 谐振器连接 时钟输出 通用 I/O TMR1 时钟输入 晶振 / 谐振器连接 时钟输入 图 4-6: 图 4-5: ANS3 数据总线 写 WPUA RA5 框图 RA4 框图 D CK INTOSC 模式 CLK(1) 模式 Q VDD Q 数据总线 弱 写 WPUA D CK VDD Q 弱 Q RAPU 读 WPUA 振荡器 电路 OSC1 RAPU 读 WPUA VDD CLK 模式 (1) VDD 振荡器 电路 OSC2 FOSC/4 D 写 PORTA CK Q Q 1 D 0 I/O 引脚 CLKOUT 使能 INTOSC/ RC/EC(2) 写 PORTA VSS CK 写 TRISA ANS3 INTOSC 模式 (2) 读 PORTA D CK Q Q D 写 IOCA EN Q Q 读 IOCA Q 电平变化 中断 Q Q D EN Q D EN Q1 Q D EN CK Q 读 IOCA D EN VSS Q 读 TRISA CLKOUT 使能 读 PORTA 写 IOCA CK Q 读 TRISA D I/O 引脚 Q D S Q D S Q 写 TRISA CK Q 电平变化 中断 Q3 Q1 D EN Q3 读 PORTA 读 PORTA 至 TMR1 或 CLKGEN 至 T1G 至 A/D 转换器 注 注 1: CLK 模式为 XT、 HS、 LP 和 LPTMR1。 2: 在使用带 LP 振荡器的 Timer1 时,施密特触发器 被旁路。 1:CLK 模式为 XT、HS、LP 和 LPTMR1,且 CLKOUT 使 能。 2:带 CLKOUT 选项。 DS41249D_CN 第 40 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 表 4-1: 地址 05h, 105h 与 PORTA 相关的寄存器汇总 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR/BOR 时的值 所有其他 复位值 PORTA — — RA5 RA4 RA3 RA2 RA1 RA0 --xx xxxx --uu uuuu 名称 10h T1CON T1GINV 0Bh, 8Bh INTCON GIE PEIE 81h, 181h OPTION_REG RAPU INTEDG T0CS T0SE PSA PS2 85h, 185h TRISA — — TRISA5 TRISA4 TRISA3 TRISA2 91h ANSEL0 ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 95h WPUA — — WPUA5 WPUA4 WPUA3 WPUA2 96h IOCA — — IOCA5 IOCA4 IOCA3 IOCA2 98h REFCON — — BGST VRBB VREN VROE 119h CM1CON0 C1ON C1OUT C1OE C1POL C1SP C1R 11Bh CM2CON1 — — — — 图注: TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON MC1OUT MC2OUT T0IE INTE RAIE T0IF 0000 0000 0000 0000 RAIF 0000 0000 0000 0000 PS1 PS0 1111 1111 1111 1111 TRISA1 TRISA0 --11 1111 --11 1111 ANS1 ANS0 1111 1111 1111 1111 WPUA1 WPUA0 --11 1111 --11 1111 IOCA1 IOCA0 --00 0000 --00 0000 CVROE — --00 000- --00 000- C1CH1 C1CH0 0000 0000 0000 0000 T1GSS C2SYNC 00-- --10 00-- --10 INTF x = 未知, u = 不变, – = 未实现的存储单元,读为 0。 PORTA 不使用阴影单元。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 41 页 PIC16F785/HV785 4.3 PORTB 和 TRISB 寄存器 TRISB 寄存器控制着 PORTB 引脚的方向,即使它们用 作模拟输入引脚时也是如此。当引脚用于模拟输入时, 用户应确保 TRISB 寄存器中的各位保持置 1。对配置为 模拟输入的 I/O 引脚,总是读为 0。 PORTB 是一个 4 位宽的双向端口,对应的数据方向寄 存器是 TRISB(寄存器 4-6)。将 TRISB 某位置 1(= 1) 时,会将 PORTB 的相应引脚设为输入 (即,使相应的 输出驱动器呈高阻状态)。将 TRISB 某位清零 (= 0) 时,会将 PORTB 的相应引脚设为输出 (即,将输出锁 存器中的内容置于选中引脚)。例 4-2 显示了如何初始 化 PORTB。 注: 例 4-2: 读取 PORTB 寄存器 (寄存器 4-5)将读出相应引脚的 电平状态,而对其进行写操作则是写入其端口锁存器。 所有写操作都是 “读-修改-写”操作。因此,对端口 的写操作意味着总是先读端口引脚电平状态,然后修改 这个值,最后再写入该端口的数据锁存器。 引脚 RB6 是漏极开路输出。所有其他 PORTB 引脚具有 完整的 CMOS 输出驱动器。 寄存器 4-5: 必须对 ANSEL1 (93h)寄存器进行初始 化,以将模拟通道配置为数字输入。配置 为模拟输入的引脚读为 0。 初始化 PORTB BCF BCF CLRF BSF BCF BCF MOVLW MOVWF STATUS,RP0 STATUS,RP1 PORTB STATUS,RP0 ANSEL1,2 ANSEL1,3 30h TRISB BCF STATUS,RP0 ;Bank 0 ; ;Init PORTB ;Bank 1 ;digital I/O - RB4 ;digital I/O - RB5 ;Set RB as inputs ;and set RB ;as outputs ;Bank 0 PORTB:PORTB 寄存器 (地址:06h 或 106h) R/W-x R/W-x R/W-x(1) R/W-x(1) U-0 U-0 U-0 U-0 RB7 RB6 RB5 RB4 — — — — bit 7 bit 0 bit 7-4 RB:PORTB 通用 I/O 引脚位 1 = 端口引脚大于 VIH 0 = 端口引脚小于 VIL bit 3-0 未实现:读为 0 注 1: 上电复位后,数据锁存值是未知的,但当相应的模拟选择位为 1 时,每个端口位均读为 0 (见第 82 页的寄存器 12-2)。 图注: 寄存器 4-6: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 x = 未知 TRISB:PORTB 三态寄存器 (地址:86h 或 186h) R/W-1 R/W-1 R/W-1 R/W-1 U-0 U-0 U-0 U-0 TRISB7 TRISB6 TRISB5 TRISB4 — — — — bit 7 bit 0 bit 7-4 TRISB:PORTB 三态控制位 1 = PORTB 引脚配置为输入 (三态) 0 = PORTB 引脚配置为输出 bit 3-0 未实现:读为 0 图注: DS41249D_CN 第 42 页 R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 初稿 x = 未知  2006 Microchip Technology Inc. PIC16F785/HV785 4.3.1 4.3.1.3 PORTB 引脚说明和引脚图 每个 PORTB 引脚都与其他功能复用。这里将简要说明 引脚及其复合功能。各功能的具体信息 (如 PWM、运 算放大器或 A/D 转换器),请参见本数据手册中的相关 章节。 4.3.1.1 RB6 RA6 引脚可配置为下列功能之一: • 漏极开路通用 I/O 图 4-8: RB4/AN10/OP2- RB6 框图 数据总线 RB4/AN10/OP2- 引脚可配置为下列功能之一: • 通用 I/O • 连接至 A/D 的模拟输入 • 连接至运放 2 的模拟输入 4.3.1.2 D 写 PORTB RB5/AN11/OP2+ CK D RB5/AN11/OP2+ 引脚可配置为下列功能之一: 写 TRISB • 通用 I/O • 连接至 A/D 的模拟输入 • 连接至运放 2 的模拟输入 图 4-7: Q Q CK Q VSS VSS 读 TRISB Q RB4 和 RB5 框图 写 PORTB CK 读 PORTB VDD Q 4.3.1.4 Q 写 TRISB CK RB7/SYNC RB7/SYNC 引脚可配置为下列功能之一: • 通用 I/O • PWM 同步输入和输出 I/O 引脚 D D EN 数据总线 D I/O 引脚 N Q Q Q VSS 图 4-9: ANS10(RB4) ANS11(RB5) 读 TRISB RB7 框图 PH1EN PH2EN PWM 主控 Q D 同步输出 数据总线 EN 读 PORTB D 至 A/D 转换器 写 PORTB 至运放 2 CK VDD Q Q 1 0 D 写 TRISB CK I/O 引脚 Q Q VSS 读 TRISB Q D EN 读 PORTB 至 PWM 同步输入  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 43 页 PIC16F785/HV785 表 4-2: 地址 与 PORTB 相关的寄存器汇总 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR/BOR 时的值 所有其他 复位值 uuuu ---- 06h, 106h PORTB RB7 RB6 RB5 RB4 — — — — xxxx ---- 86h, 186h TRISB TRISB7 TRISB6 TRISB5 TRISB4 — — — — 1111 ---- 1111 ---- 93h ANSEL1 — — — — ANS11 ANS10 ANS9 ANS8 ---- 1111 ---- 1111 111h PWMCON0 PRSEN PASEN BLANK2 BLANK1 SYNC1 SYNC0 PH2EN PH1EN 0000 0000 0000 0000 11Dh OPA2CON OPAON — — — — — — — 0--- ---- 0--- ---- 图注: x = 未知, u = 不变, – = 未实现的存储单元,读为 0。 PORTB 不使用阴影单元。 DS41249D_CN 第 44 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 4.4 PORTC 和 TRISC 寄存器 当 RC4 或 RC5 配置为运放输出时,相应的 RC4 或 RC5 数字输出驱动器将自动被禁止,而无论 TRISC 或 TRISC 的值为何。 PORTC 是一个 8 位宽的双向端口,对应的数据方向寄 存器是 TRISC(寄存器 4-8)。将 TRISC 某位置 1(= 1) 时,会将 PORTC 的相应引脚设为输入 (即,使相应的 输出驱动器呈高阻状态)。将 TRISC 某位清零 (= 0) 时,会将 PORTC 的相应引脚设为输出 (即,将输出锁 存器中的内容置于选中引脚)。例 4-3 显示了如何初始 化 PORTC。 读取 PORTC 寄存器 (寄存器 4-7)将读出相应引脚的 电平状态,而对其进行写操作则是写入其端口锁存器。 所有写操作都是 “读-修改-写”操作。因此,对端口 的写操作意味着总是先读端口引脚电平状态,然后修改 这个值,最后再写入该端口的数据锁存器。 例 4-3: TRISC 寄存器控制着 PORTC 引脚的方向,即使它们用 作模拟输入引脚。当引脚用于模拟输入时,用户应确保 TRISC 寄存器中的各位保持置 1。对配置为模拟输入的 I/O 引脚,总是读为 0。 寄存器 4-7: 必须对 ANSEL0 (91h)和 ANSEL1 (93h)寄存器进行初始化,以将模拟通道 配 置 为 数 字 输 入。配 置 为 模 拟 输 入的 引 脚读为 0。 注: 初始化 PORTC BCF BCF CLRF BSF CLRF CLRF MOVLW MOVWF STATUS,RP0 STATUS,RP1 PORTC STATUS,RP0 ANSEL0 ANSEL1 0Ch TRISC BCF STATUS,RP0 ;Bank 0 ;Init PORTC ;Bank 1 ;digital I/O ;digital I/O ;Set RC as inputs ; and set RC ; as outputs ;Bank 0 PORTC:PORTC 寄存器 (地址:07h 或 107h) R/W-x(1) R/W-x(1) R/W-x R/W-x R/W-x(1) R/W-x(1) R/W-x(1) R/W-x(1) RC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0 bit 7 bit 7-0 bit 0 RC:PORTC 通用 I/O 引脚位 1 = 端口引脚大于 VIH 0 = 端口引脚小于 VIL 注 1: 上电复位后,数据锁存值是未知的,但当相应的模拟选择位为 1 时,每个端口位均读 为 0 (见第 82 页的寄存器 12-1 和寄存器 12-2)。 图注: 寄存器 4-8: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 x = 未知 TRISC:PORTC 三态寄存器 (地址:87h 或 187h) R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 bit 7 bit 7-0 bit 0 TRISC:PORTC 三态控制位 1 = PORTC 引脚配置为输入 (三态) 0 = PORTC 引脚配置为输出 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 45 页 PIC16F785/HV785 4.4.1 4.4.1.4 PORTC 引脚说明和引脚图 每个 PORTC 引脚都与其他功能复用。这里将简要说明 引脚及其复合功能。各功能的具体信息 (如比较器或 A/D 转换器),请参见本数据手册中的相关章节。 4.4.1.1 RC1/AN5/C12IN1-/PH1 RC1 引脚可配置为下列功能之一: • • • • RC0/AN4/C2IN+ RC0 引脚可配置为下列功能之一: • 通用 I/O • 连接至 A/D 转换器的模拟输入 • 连接至比较器 2 的同相输入 通用 I/O 连接至 A/D 转换器的模拟输入 连接至比较器 1 和 2 的模拟输入 来自双相 PWM 的数字输出 图 4-11: RC1 框图 PH1EN PH1 4.4.1.2 RC6/AN8/OP1数据总线 RC6/AN8/OP1- 引脚可配置为下列功能之一: D • 通用 I/O • 连接至 A/D 的模拟输入 • 连接至运放 1 的反相输入 写 PORTC CK VDD Q Q 1 0 4.4.1.3 RC7/AN9/OP1+ D RC7/AN9/OP1+ 引脚可配置为下列功能之一: 写 TRISC • 通用 I/O • 连接至 A/D 的模拟输入 • 连接至运放 1 的同相输入 CK Q VSS ANS5 读 TRISC Q 图 4-10: RC0、 RC6 和 RC7 框图 D EN 数据总线 读 PORTC D 写 PORTC I/O 引脚 Q CK VDD Q 至比较器 至 A/D 转换器 Q I/O 引脚 D 写 TRISC CK Q Q VSS ANS4(RC0) ANS8(RC6) ANS9(RC7) 读 TRISC Q D EN 读 PORTC 至比较器(RC0) 至 A/D 转换器 至运放 1(RC6 和 RC7) DS41249D_CN 第 46 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 4.4.1.5 RC2/AN6/C12IN2-/OP2 4.4.1.7 RC4/C2OUT/PH2 RC2 引脚可配置为下列功能之一: RC4 引脚可配置为下列功能之一: • • • • • 通用 I/O • 来自比较器 2 的数字输出 • 来自双相 PWM 的数字输出 通用 I/O 连接至 A/D 转换器的模拟输入 连接至比较器 1 和 2 的模拟输入 来自运放 2 的模拟输出 4.4.1.6 图 4-13: RC3/AN7/C12IN3-/OP1 C2OE PH2EN RC3 引脚可配置为下列功能之一: • • • • 通用 I/O 连接至 A/D 转换器的模拟输入 连接至比较器 1 和 2 的模拟输入 连接至运放 1 的模拟输出 图 4-12: RC4 框图 PH2 1 C2OUT 0 数据总线 RC2 和 RC3 框图 D VDD Q 运放输出 写 PORTC OPAON 数据总线 CK Q 1 0 D 写 PORTC CK D VDD Q 写 TRISC Q 写 TRISC CK Q VSS 读 TRISC I/O 引脚 D CK Q Q Q I/O 引脚 Q D VSS EN ANS6(RC2) ANS7(RC3) 读 TRISC Q 读 PORTC D EN 读 PORTC 至比较器 至 A/D 转换器  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 47 页 PIC16F785/HV785 4.4.1.8 RC5/CCP1 图 4-14: RC5 框图 RC5 引脚可配置为下列功能之一: CCP1CON CCP1CON • 通用 I/O • 连接至捕捉 / 比较的数字输入 • 连接至 CCP 的数字输出 CCP1CON CCP 输出 数据总线 D 写 PORTC VDD Q CK Q 1 0 D 写 TRISC I/O 引脚 Q CK Q VSS 读 TRISC Q D EN 读 PORTC 至 CCP 捕捉输入 表 4-3: 地址 与 PORTC 相关的寄存器汇总 名称 07h, 107h PORTC 15h CCP1CON Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 RC3 RC2 RC1 RC0 POR/BOR 时的值 所有其他 复位值 Bit 7 Bit 6 RC7 RC6 RC5 RC4 — — DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 1111 1111 1111 1111 ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0 1111 1111 1111 1111 xxxx xxxx uuuu uuuu 0000 0000 0000 0000 87h, 187h TRISC 91h ANSEL0 93h ANSEL1 — — — — ANS11 ANS10 ANS9 ANS8 ---- 1111 ---- 1111 111h PWMCON0 PRSEN PASEN BLANK2 BLANK1 SYNC1 SYNC0 PH2EN PH1EN 0000 0000 0000 0000 11Ch OPA1CON OPAON — — — — — — — 0--- ---- 0--- ---- 11Dh OPA2CON OPAON — — — — — — — 0--- ---- 0--- ---- 图注: x = 未知, u = 不变, – = 未实现的存储单元,读为 0。 PORTC 不使用阴影单元。 DS41249D_CN 第 48 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 5.0 TIMER0 模块 通过将 T0CS 位 (OPTION_REG)置 1 选择计数 器模式。在此模式下,Timer0 模块在 RA2/AN2/T0CKI/ INT/C1OUT 引脚的每个上升沿或下降沿递增计数。递 增 边 沿 取 决 于 时 钟 源 边 沿 (T0SE)控 制 位 (OPTION_REG)的设置。清零 T0SE 位选择上升 沿。 Timer0 模块定时器 / 计数器具有以下特性: • • • • • • 8 位定时器 / 计数器 可读写 8 位软件可编程预分频器 内部或外部时钟选择 从 FFh 至 00h 溢出时触发中断 外部时钟的边沿选择 注 图5-1是与WDT共用的Timer0模块和预分频器的框图。 5.1 2: 必须对 ANSEL0 (91h)寄存器进行初始 化,以将模拟通道配置为数字输入。配置 为模拟输入的引脚读为 0。 关于 Timer0 模块的更多信息,请参见 中 档 单 片 机 系 列 参 考手册》 《PIC® (DS33023_CN)。 注: 5.2 Timer0 工作原理 Timer0 中断 当 TMR0 寄存器定时器 / 计数器从 FFh 至 00h 溢出时, 产生 Timer0 中断。此溢出将 T0IF 位 (INTCON) 置 1。可以通过清零 T0IE 位 (INTCON)来屏蔽该 中断。在重新允许中断之前, T0IE 位 (INTCON) 必须通过 Timer0 模块的中断服务程序用软件清零。休 眠状态下,由于定时器被关闭,所以 Timer0 中断无法 唤醒处理器。 通过清零 T0CS 位 (OPTION_REG)选择定时器 模式。在定时器模式下,Timer0 模块在每个指令周期递 增 (不带预分频器)。如果对 TMR0 执行写操作,在接 下来的两个指令周期 TMR0 禁止递增。用户可将一个调 整值写入 TMR0 寄存器来避开这一问题。 图 5-1: 1: 计数器模式具有特定的外部时钟要求。关 于这些要求的更多信息,请参见《PIC® 中 档 单 片 机 系 列 参 考 手 册》 (DS33023_CN)。 TIMER0/WDT 预分频器的框图 CLKOUT (= FOSC/4) 数据总线 0 8 RA2/AN2/T0CKI/INT/C1OUT 1 SYNC 2 周期 1 TMR0 0 T0SE(1) T0CS(1) 0 8位 预分频器 溢出时 将标志位 T0IF 置 1 PSA(1) 1 WDTE 8 PSA(1) SWDTEN PS(1) 16 位 预分频器 31 kHz INTRC 1 WDT 超时 0 16 看门狗 定时器 PSA(1) (2) WDTPS 注 1: T0SE、 T0CS、 PSA 和 PS 是选项寄存器中的位 (见寄存器 2-2)。 2: WDTPS 是 WDTCON 寄存器中的位 (见寄存器 15-2)。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 49 页 PIC16F785/HV785 5.3 Timer0 与外部时钟配合使用 5.4.1 预分频器的分配完全由软件控制 (即,可以在程序执行 过程中 “随时”对预分频器的分配进行更改)。为避免 器件意外复位,当把预分频器在 Timer0 和 WDT 之间进 行分配时,必须执行以下指令序列(例 5-1 和例 5-2)。 不使用预分频器时,外部时钟输入等同于预分频器输 出。通过对内部相位时钟 Q2 和 Q4 周期的预分频器输出 进行采样,可实现 T0CKI 与内部相位时钟的同步。因此, 要求 T0CKI 的高电平状态和低电平状态分别保持至少 2 TOSC 的时间 (以及 20 ns 的短暂 RC 延时)。请参见 其相应器件的电气规范说明。 5.4 切换预分频器的分配 例 5-1: 预分频器 改变预分频器的分配 (TIMER0→WDT) BCF STATUS,RP0 BCF STATUS,RP1 CLRWDT CLRF TMR0 Timer0 模块使用一个 8 位计数器作为预分频器,该计数 器用于看门狗定时器时则为后分频器。为简化起见,该 计数器在本数据手册中统称为 “预分频器”。在软件中 通过设定控制位 PSA(OPTION_REG),可对预分 频器的分配进行控制。PSA 位清零可将预分频器分配给 Timer0。在 PS 位 (OPTION_REG)中可 选择预分频器的设定值。 BSF ;Bank 0 ; ;Clear WDT ;Clear TMR0 and ; prescaler ;Bank 1 STATUS,RP0 MOVLW b’00101111’ MOVWF OPTION_REG CLRWDT 预分频器是不可读写的。将其分配给 Timer0 模块时,所 有写入 TMR0 寄存器的指令(例如,CLRF 1、MOVWF 1 和 BSF 1,x 等),都会将预分频器清零。将预分频器分 配给 WDT 时,CLRWDT 指令会同时将预分频器和看门 狗定时器清零。 MOVLW MOVWF BCF ;Required if desired ; PS2:PS0 is ; 000 or 001 ; ;Set postscaler to ; desired WDT rate ;Bank 0 b’00101xxx’ OPTION_REG STATUS,RP0 将预分频器从 WDT 分配给 TMR0 模块时,使用例 5-2 所示的指令序列。即使禁止了 WDT,也应该执行该指 令序列以防误操作。 例 5-2: 改变预分频器的分配 (WDT→TIMER0) CLRWDT 表 5-1: 地址 BSF BCF STATUS,RP0 STATUS,RP1 MOVLW b’xxxx0xxx’ MOVWF BCF OPTION_REG STATUS,RP0 ;Clear WDT and ; prescaler ;Bank 1 ; ;Select TMR0, ; prescale, and ; clock source ; ;Bank 0 与 TIMER0 相关的寄存器 名称 01h, 101h TMR0 0Bh, 8Bh INTCON 81h, 181h Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Timer0 模块寄存器 POR/BOR 时的值 所有其他 复位值 xxxx xxxx uuuu uuuu GIE PEIE T0IE INTE RAIE T0IF INTF RAIF 0000 0000 0000 0000 OPTION_REG RAPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111 91h ANSEL0 ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0 1111 1111 1111 1111 85h, 185h TRISA — — 图注: TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 --11 1111 --11 1111 – = 未实现的存储单元,读为 0, u = 不变, x = 未知。 Timer0 模块不使用阴影单元。 DS41249D_CN 第 50 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 6.0 具备门控功能的 TIMER1 模块 如寄存器 6-1 所示, Timer1 控制寄存器 (T1CON)用 于使能/ 禁止 Timer1 以及选择 Timer1 模块的各种特性。 Timer1 模块是 PIC16F785/HV785 的 16 位计数器。图 6-1 给出了 Timer1 模块的基本框图。Timer1 具有以下特 性: 注: • • • • • • • 16 位定时器 / 计数器 (TMR1H:TMR1L) 可读写 内部或外部时钟选择 同步或异步工作 从 FFFFh 至 0000h 溢出时触发中断 溢出触发唤醒 (异步模式) 可选的外部使能输入: - 可选择门控源; T1G 或 C2 输出 (T1GSS) - 可选择门控极性 (T1GINV) • 可选的 LP 振荡器 图 6-1: 关 于 定 时 器 模 块 的 更 多 信 息,请 参 见 《PIC® 中档单片机系列参考手册》 (DS33023_CN)。 TIMER1 PIC16F785/HV785 框图 TMR1ON TMR1GE TMR1ON TMR1GE 溢出时将 TMR1IF 标志位置 1 至 C2 比较器模块 TMR1 时钟 TMR1(1) TMR1H RA5/T1CKI/OSC1/CLKIN 0 TMR1L 注 1 EN T1SYNC * 1 FOSC/4 内部 时钟 预分频器 1, 2, 4, 8 0 2 T1CKPS 同步 检测 休眠输入 TMR1CS T1OSCEN 1 LP 休眠 * 同步时钟输入 Q D 振荡器 RA4/AN3/T1G/OSC2/CLKOUT INTOSC 不带 CLKOUT T1GINV SYNCC2OUT(2) 在使用 LP 振荡器时, ST 缓冲器是低功耗型;在使用 T1CKI 时, ST 缓冲器是高 速型。 0 T1GSS 1: Timer1 在上升沿递增。 2: SYNCC2OUT 是来自比较器 2 的同步输出 (见第 66 页的图 9-2)。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 51 页 PIC16F785/HV785 6.1 Timer1 工作模式 在中断服务程序中将 TMR1IF 位清零将清除中断。 注: Timer1 可工作在以下三种模式之一: • 带预分频器的 16 位定时器 • 16 位同步计数器 • 16 位异步计数器 6.3 在定时器模式下,Timer1 在每个指令周期递增。在计数 器模式下, Timer1 在外部时钟输入 T1CKI 的上升沿递 增。而且,计数器模式时钟可以与单片机系统时钟同 步,也可以异步工作。 6.4 如果需要使用外部时钟振荡器(并且单片机正在使用LP 振荡器或不带 CLKOUT 的 INTOSC), Timer1 可以将 LP 振荡器用作时钟源。 Timer1 门控 Timer1 门控源可用软件配置为 T1G 引脚或比较器 2 的 输出。这使得器件能够使用 T1G 对外部事件进行直接计 时,或者使用比较器2对模拟事件进行直接计时。Timer1 门控源的选择,请参见 CM2CON1 (寄存器 9-3)。这个 特性可以简化 ∆-Σ A/D 转换器和许多其他应用的程序。 ∆-Σ A/D 转换器的更多信息,请参见 Microchip 网站 (www.microchip.com)。 在计数器模式下,在以下任意一个或多个 条件发生后,在第一个递增上升沿之前, 计数器应先记录对齐一个下降沿。 • 上电复位后 Timer1 被使能 • 写 TMR1H 或 TMR1L • 当 T1CKI 为高电平时,Timer1 被禁止 (TMR1ON = 0),当 T1CKI 为低电 平时, Timer1 (TMR1ON = 1)被使 能。请参见图 6-2。 6.2 Timer1 预分频器 Timer1 有四个预分频器选项,允许对时钟输入进行 1、 2、 4 或 8 分频。 T1CKPS 位 (T1CON)控制预 分频器计数。对预分频计数器不能直接进行读写操作; 但是,通过写入 TMR1H 或 TMR1L 可将预分频计数器 清零。 在计数器和定时器模块中,计数器 / 定时器时钟可以用 Timer1 门进行门控,可将其选择为 T1G 引脚或比较器 2 的输出。 注: 在 重 新 允 许 中 断 前,应 将 一 对 TMR1H:TMR1L 寄存器以及 TMR1IF 位清 零。 注: 将 T1G 或 C2OUT 用作 Timer1 门控源之 前,必须将 TMR1GE 位(T1CON)置 1。选择 Timer1 门控源的更多信息,请参 见寄存器 9-3。 无论门控源来自 T1G 引脚还是比较器 2 的输出,均可使 用 T1GINV 位 (T1CON)反转 Timer1 门控。这样 可将 Timer1 配置为测量事件之间的高电平有效或低电 平有效时间。 Timer1 中断 一对 Timer1 寄存器(TMR1H:TMR1L)递增到 FFFFh, 然后返回到 0000h。当 Timer1 计满返回时, Timer1 中 断标志位 (PIR1)将置 1。为使能计满返回时的中 断,必须将以下寄存器位置 1: • Timer1 中断允许位 (PIE1) • PEIE 位 (INTCON) • GIE 位 (INTCON) 图 6-2: TIMER1 递增边沿 T1CKI = 1 当 TMR1 使能时 T1CKI = 0 当 TMR1 使能时 注 1: 箭头表明计数器递增。 2: 请参见第 6.1 节 “Timer1 工作模式”的注。 DS41249D_CN 第 52 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 寄存器 6-1: T1CON:TIMER1 控制寄存器 (地址:10h) R/W0 R/W0 T1GINV(1) TMR1GE R/W0 (2) R/W0 T1CKPS1 R/W0 T1CKPS0 T1OSCEN R/W0 R/W0 R/W0 T1SYNC TMR1CS TMR1ON bit 7 bit 0 bit 7 T1GINV:Timer1 门控反转位 (1) 1 = Timer1 门控高电平有效 (见 bit 6) 0 = Timer1 门控低电平有效 (见 bit 6) bit 6 TMR1GE:Timer1 门控使能位 (2) 如果 TMR1ON = 0: 该位为无关位 如果 TMR1ON = 1: 1 = 如果 Timer1 门控有效 (见 bit 7),则开启 Timer1 0 = Timer1 与 Timer1 门控无关 bit 5-4 T1CKPS:Timer1 输入时钟预分频比选择位 11 = 1:8 预分频比 10 = 1:4 预分频比 01 = 1:2 预分频比 00 = 1:1 预分频比 bit 3 T1OSCEN:LP 振荡器使能控制位 如果系统时钟是不带 CLKOUT 的 INTOSC 或 LP 模式: 1 = LP 振荡器使能作为 Timer1 的时钟 0 = LP 振荡器关闭 否则: 该位为无关位 bit 2 T1SYNC:Timer1 外部时钟输入同步控制位 TMR1CS = 1: 1 = 不同步外部时钟输入 0 = 同步外部时钟输入 TMR1CS = 0: 该位为无关位。 Timer1 使用内部时钟。 bit 1 TMR1CS:Timer1 时钟源选择位 1 = 使用来自 T1CKI 引脚 (在上升沿)的外部时钟 0 = 内部时钟 (FOSC/4) bit 0 TMR1ON:Timer1 启动控制位 1 = 使能 Timer1 0 = 停止 Timer1 注 1: T1GINV 位反转 Timer1 门控逻辑,无论其来源为何。 2: 要将 T1G 引脚或 C2OUT(选择哪个由 T1GSS 位(CM2CON1)控制)用作 Timer1 门控源,必须将 TMR1GE 位置 1。 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 53 页 PIC16F785/HV785 6.5 Timer1 在异步计数器模式下的工作 原理 6.6 在引脚 OSC1 (输入)和 OSC2 (放大输出)之间接有 一个内置晶体振荡器电路。通过将控制位 T1OSCEN (T1CON)置 1 可使能该电路。该电路采用低功耗 振荡器,频率可达 32.768 kHz。在休眠模式下,它将继 续工作。该电路主要用于 32.768 kHz 音叉 (Tuning Fork)式晶振。 如果控制位 T1SYNC(T1CON)置 1,外部时钟输 入将不同步。定时器继续异步于内部相位时钟进行递增 计数。在休眠模式下,定时器将继续递增,并在溢出时 产生中断以唤醒处理器。但是,用软件对定时器进行读 / 写操作时,要特别当心 (第 6.5.1 节)。 注: 6.5.1 Timer1 振荡器 必须对 ANSEL0 (91h)寄存器进行初始 化,以将模拟通道配置为数字输入。配置 为模拟输入的引脚读为 0。 Timer1 振荡器与系统 LP 振荡器共用。因此,只有当主 系统时钟也是 LP 振荡器或来自于内部振荡器时, Timer1 才能采用该模式。与系统 LP 振荡器相同,用户 必须提供软件延时以保证振荡器能够正常起振。 在异步计数器模式下读写 TIMER1 当系统时钟与 Timer1 共用 LP 振荡器时,休眠模式将不 会禁止系统时钟。 当定 时 器 采 用 外 部 异 步 时 钟 工 作 时,对 TMR1H 或 TMR1L 的读操作将确保有效(由硬件实现)。但是,应 该注意的是,用两个 8 位值来读取 16 位定时器本身就 会产生某些问题,这是因为定时器可能在两次读操作之 间产生溢出。 当使能 Timer1 振荡器时, TRISA 和 TRISA 位 被置1。RA5和RA4位读为0,而TRISA和TRISA 位读为 1。 注: 对于写操作,建议用户直接停止计数器,然后写入所期 望的值。如果寄存器正进行递增计数,对定时器寄存器 进行写操作,可能会导致写入竞争,从而可能在定时器 寄存器中产生不可预测的值。 6.7 读 16 位值需要特别小心。 《PIC® 中档单片机参考手册》 (DS33023_CN)中的示例给出了当 Timer1 在异步模式 下运行时如何读写 Timer1。 在使用之前,振荡器需要一定的起振和稳 定时间。因此,T1OSCEN 应置 1,且在使 能 Timer1 之前确保有一定的延时。 Timer1 在休眠模式下的工作原理 只有在设定异步计数器模式时,Timer1 才能在休眠模式 下工作。在该模式下,可使用外部晶振或时钟源信号使 计数器递增。要设置定时器以唤醒器件,应: • Timer1 必须开启 (T1CON) • 必须将 TMR1IE 位 (PIE1)置 1 • 必须将 PEIE 位 (INTCON)置 1 器件将在溢出时被唤醒。如果将 GIE 位(INTCON) 置 1,溢出时器件将被唤醒并跳转至中断服务程 序 (0004h)。如果将 GIE 位清零,将继续执行下一条指 表 6-1: 地址 0Bh, 8Bh 与 TIMER1 相关的寄存器 名称 INTCON Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR/BOR 时的值 所有其他 复位值 GIE PEIE T0IE INTE RAIE T0IF INTF RAIF 0000 0000 0000 0000 EEIF ADIF CCP1IF C2IF C1IF OSFIF TMR2IF TMR1IF 0Ch PIR1 0000 0000 0000 0000 0Eh TMR1L 16 位 TMR1 寄存器低位字节的保持寄存器 xxxx xxxx uuuu uuuu 0Fh TMR1H 16 位 TMR1 寄存器高位字节的保持寄存器 xxxx xxxx uuuu uuuu 10h T1CON T1GINV TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON 0000 0000 uuuu uuuu 11Bh CM2CON1 MC1OUT MC2OUT — — — — T1GSS C2SYNC 00-- --10 00-- --10 8Ch PIE1 EEIE ADIE CCP1IE C2IE C1IE OSFIE TMR2IE TMR1IE 0000 0000 0000 0000 91h ANSEL0 ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0 1111 1111 1111 1111 图注: x = 未知, u = 不变, – = 未实现,读为 0。 Timer1 模块不使用阴影单元。 DS41249D_CN 第 54 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 7.0 TIMER2 模块 7.1 Timer2 可用作 CCP 模块的 PWM 模式的 PWM 时基。 TMR2 寄存器是可读写的,在任何器件复位时都会被清 零。输入时钟(FOSC/4)有一个由控制位 T2CKPS (T2CON)选择的预分频选项 (1:1、 1:4 或 1:16)。TMR2 的匹配输出通过一个 4 位的后分频器(提 供范围为 1:1 到 1:16 的分频比)产生 TMR2 中断 (锁 存在标志位 TMR2IF (PIR1)中)。 Timer2 模块定时器是 8 位定时器,具有以下特性: • • • • • • Timer2 工作原理 8 位定时器 (TMR2 寄存器) 8 位周期寄存器 (PR2) 可读写 (以上两个寄存器) 软件可编程预分频器 (1:1、 1:4 或 1:16) 软件可编程后分频器 (1:1 至 1:16) TMR2 与 PR2 匹配时中断 预分频和后分频计数器在发生以下情况时清零: • 对 TMR2 寄存器进行写操作 • 对 T2CON 寄存器进行写操作 • 任何器件复位 (上电复位、 MCLR 复位、看门狗 定时器复位或欠压复位) Timer2 具有一个控制寄存器,如寄存器 7-1 所示。可以 通过清零控制位 TMR2ON(T2CON)关闭 TMR2, 以实现功耗最小。图 7-1 是 Timer2 模块的简化框图。 Timer2 预分频器和后分频器的选择都由该寄存器控制。 写 T2CON 时 TMR2 不会清零。 寄存器 7-1: T2CON:TIMER2 控制寄存器 (地址:12h) U-0 R/W0 R/W0 R/W0 — TOUTPS3 TOUTPS2 TOUTPS1 R/W0 R/W0 R/W0 TOUTPS0 TMR2ON T2CKPS1 bit 7 R/W0 T2CKPS0 bit 0 bit 7 未实现:读为 0 bit 6-3 TOUTPS:Timer2 输出后分频比选择位 0000 = 1:1 后分频比 0001 = 1:2 后分频比 • • • 1111 = 1:16 后分频比 bit 2 TMR2ON:Timer2 启动控制位 1 = 开启 Timer2 0 = 关闭 Timer2 bit 1-0 T2CKPS:Timer2 时钟预分频值选择位 00 = 预分频值为 1 01 = 预分频值为 4 1x = 预分频值为 16 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 55 页 PIC16F785/HV785 7.2 Timer2 中断 Timer2 模块具有一个 8 位的周期寄存器 PR2。 Timer2 从 00h 开始递增直至与 PR2 匹配,然后在下一个递增 周期复位至 00h。PR2 是可读写寄存器。PR2 寄存器复 位后初始化到 FFh。 图 7-1: TIMER2 框图 标志位 TMR2IF 置 1 TMR2 输出 预分频器 1:1, 1:4, 1:16 FOSC/4 2 复位 TMR2 比较器 EQ 后分频器 1:1 至 1:16 T2CKPS 4 PR2 TOUTPS 表 7-1: 地址 0Bh, 8Bh 与 TIMER2 相关的寄存器 名称 INTCON 0Ch PIR1 11h TMR2 12h T2CON 8Ch PIE1 92h PR2 图注: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR/BOR 时的值 所有其他 复位值 GIE PEIE T0IE INTE RAIE T0IF INTF RAIF 0000 0000 0000 0000 EEIF ADIF CCP1IF C2IF C1IF OSFIF TMR2IF TMR1IF 8 位 TMR2 寄存器的保持寄存器 — EEIE TOUTPS3 TOUTPS2 ADIE CCP1IE TOUTPS1 TOUTPS0 C2IE C1IE TMR2ON T2CKPS1 T2CKPS0 OSFIE Timer2 模块周期寄存器 TMR2IE TMR1IE 0000 0000 0000 0000 0000 0000 0000 0000 -000 0000 -000 0000 0000 0000 0000 0000 1111 1111 1111 1111 x = 未知, u = 不变, – = 未实现,读为 0。 Timer2 模块不使用阴影单元。 DS41249D_CN 第 56 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 8.0 捕捉 / 比较 /PWM (CCP)模块 表 8-1: 捕捉 / 比较 /PWM(CCP)模块包含一个 16 位寄存器, 该寄存器可作为: CCP 模式——所需的定时器资源 CCP 模式 定时器资源 捕捉 Timer1 比较 PWM Timer1 • 16 位捕捉寄存器 • 16 位比较寄存器 • PWM 主 / 从占空比寄存器 Timer2 捕捉 / 比较 /PWM 寄存器 1(CCPR1)由两个 8 位寄存 器组成:CCPR1L (低字节)和 CCPR1H (高字节)。 CCP1CON 寄存器控制 CCP 的操作。比较匹配将产生 特殊事件触发并将 TMR1H 和 TMR1L 寄存器清零。 寄存器 8-1: CCP1CON:CCP 操作寄存器 (地址:15h) U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 — — DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 bit 7 bit 7-6 bit 5-4 bit 3-0 bit 0 未实现:读为 0。 DC1B:PWM 占空比最低有效位 捕捉模式: 未使用 比较模式: 未使用 PWM 模式: 这些位是 PWM 占空比的低 2 位。高 8 位在 CCPR1L 中。 CCP1M:CCP 模式选择位 0000 = 捕捉 / 比较 /PWM 关闭 (复位 CCP 模块) 0001 = 未使用 (保留) 0010 = 比较模式,匹配时输出电平翻转 (CCP1IF 位置 1) 0011 = 未使用 (保留) 0100 = 捕捉模式,每个下降沿 0101 = 捕捉模式,每个上升沿 0110 = 捕捉模式,每 4 个上升沿 0111 = 捕捉模式,每 16 个上升沿 1000 = 比较模式,匹配时输出置 1 (CCP1IF 位置 1) 1001 = 比较模式,匹配时输出清零 (CCP1IF 位置 1) 1010 = 比较模式,匹配时产生软件中断 (CCP1IF 位置 1, CCP1 引脚不受影响) 1011 = 比较模式,触发特殊事件(CCP1IF 位置 1 ; TMR1 复位,且如果 A/D 模块被使能,启动 一次 A/D 转换。 CCP1 引脚不受影响。) 110x = PWM 模式:CCP1 输出为高电平时有效。 111x = PWM 模式:CCP1 输出为低电平时有效。 图注: R = 可读位 - n = POR 值  2006 Microchip Technology Inc. W = 可写位 1=置1 初稿 U = 未实现位,读为 0 0 = 清零 x = 未知 DS41249D_CN 第 57 页 PIC16F785/HV785 8.1 8.1.4 捕捉模式 CCP 预分频器 在捕捉模式下,当在引脚 RC5/CCP1 上发生某一事件 时, CCPR1H:CCPR1L 捕捉 TMR1 寄存器中的 16 位 值。这些事件如下所示,可由 CCP1CON 位进行 配置: 通过设置 CCP1M (CCP1CON)位,可以 选择 4 种不同的预分频比。每当关闭 CCP 模块,或者 CCP 模块不在捕捉模式时,预分频计数器都会被清零。 任何复位都会将预分频计数器清零。 • • • • 从一个捕捉预分频比切换到另一个时可能产生一次中 断。而且,预分频计数器不会被清零;因此,第一次捕 捉时可能是一个非零的预分频比。例 8-1 给出了切换捕捉 预分频比的建议方法。这个示例在清零预分频计数器 时,不会产生误中断。 每个下降沿 每个上升沿 每 4 个上升沿 每 16 个上升沿 进行捕捉后,中断请求标志位 CCP1IF (PIR1)被 置 1。该中断标志位必须用软件清零。如果在寄存器 CCPR1 中的值被读出之前又发生另一次捕捉,那么原 来的捕捉值会被新捕捉值覆盖。 8.1.1 例 8-1: CLRF MOVLW 注: 图 8-1: CCP1CON ;Turn CCP module off NEW_CAPT_PS ;Load the W reg with ; the new prescaler ; move value and CCP ON CCP1CON ;Load CCP1CON with this ; value CCP1 引脚配置 MOVWF 在捕捉模式下,应该通过把 TRISC 位置 1 将 RC5/ CCP1 引脚配置为输入。 如果 RC5/CCP1 引脚配置为输出,则写端 口将产生一次捕捉条件。 8.2 标志位 CCP1IF 置 1 (PIR1) RC5/CCP1 引脚 CCPR1H 和 边沿检测 • 驱动为高电平 • 驱动为低电平 • 保持不变 CCPR1L 引脚的动作由控制位CCP1M(CCP1CON) 的值决定。同时,中断标志位 CCP1IF (PIR1)被 置 1。 捕捉 使能 TMR1H 比较模式 在比较模式下,16 位 CCPR1 寄存器的值持续不断与一 对 TMR1 寄存器的值作比较。如果二者匹配, RC5/ CCP1 引脚将: 捕捉模式工作原理框图 预分频器 ÷ 1, 4, 16 更改捕捉预分频比 TMR1L CCP1CON 图 8-2: Q’s 8.1.2 CCP1CON 模式选择 TIMER1 模式选择 为使 CCP 模块使用捕捉特性, Timer1 必须运行在定时 器模式或同步计数器模式。在异步计数器模式下,捕捉 操作可能无法进行。 8.1.3 比较模式工作原理框图 标志位 CCP1IF 置 1 (PIR1) 4 CCPR1H CCPR1L RC5/CCP1 引脚 Q 软件中断 S R 当捕捉模式改变时,可能会产生一次误捕捉中断。用户 应该保持 CCP1IE 位 (PIE1)清零以避免误中断, 且应在任何这种工作模式改变之后清零标志位 CCP1IF (PIR1)。 输出 逻辑 比较器 匹配 TMR1H TRISC 输出使能 TMR1L 特殊事件触发 特殊事件触发将: • • • DS41249D_CN 第 58 页 初稿 清零 TMR1H 和 TMR1L 寄存器 不会将中断标志位 TMR1IF (PIR1)置 1 将 GO/DONE 位 (ADCON0)置 1  2006 Microchip Technology Inc. PIC16F785/HV785 8.2.1 CCP1 引脚配置 8.2.4 用户必须通过把 TRISC 位清零将 RC5/CCP1 引脚 配置为输出。 在这种模式下 (CCP1M = 1011) ,将产生一个 内部 硬件触发信号,可用于启动一个动作。请参见 寄存器 8-1。 清零 CCP1CON 寄存器将把 RC5/CCP1 比 较输出锁存器强制设为缺省的低电平。这 不是 PORTC 的 I/O 数据锁存器。 注: 8.2.2 一旦 TMR1H:TMR1L 这对寄存器和 CCPR1H:CCPR1L 这对寄存器之间发生匹配,便会发生 CCP 的特殊事件 触发输出。TMR1H:TMR1L 寄存器在 TMR1 时钟的下一 个上升沿到来之前不会复位。这使 CCPR1H:CCPR1L 寄存器可作为 Timer1 的 16 位可编程周期寄存器。如果 A/D 模块被使能,特殊事件触发输出也会启动一次 A/D 转换。 TIMER1 模式选择 如果 CCP 模块使用比较功能,则 Timer1 必须运行在定 时器模式或同步计数器模式。在异步计数器模式下,比 较操作可能无法进行。 8.2.3 特殊事件触发 1: CCP模块的特殊事件触发不会将中断标志 位 TMR1IF (PIR1)置 1。 注 软件中断模式 当选择产生软件中断模式(CCP1M = 1010)时, RC5/CCP1 引脚不受影响。 CCP1IF (PIR1)位被 置1,产生一个CCP中断(如果使能)。请参见寄存器8-1。 表 8-2: 地址 0Bh 8Bh 2: 在产生特殊事件触发条件和 TMR1 复位的 时钟边沿之间改变 CCPR1H 和 CCPR1L 这对寄存器的内容将移除匹配条件,这样 可以防止复位发生。 与捕捉、比较和 TIMER1 相关的寄存器 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR/BOR 时的值 所有其他 复位值 INTCON GIE PEIE T0IE INTE RAIE T0IF INTF RAIF 0000 0000 0000 0000 EEIF ADIF CCP1IF C2IF C1IF OSFIF TMR2IF TMR1IF 0Ch PIR1 0000 0000 0000 0000 0Eh TMR1L 16 位 TMR1 寄存器低位字节的保持寄存器 xxxx xxxx uuuu uuuu 0Fh TMR1H 16 位 TMR1 寄存器高位字节的保持寄存器 xxxx xxxx uuuu uuuu 10h T1CON 11Bh CM2CON1 T1GINV TMR1GE MC1OUT MC2OUT T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON 0000 0000 uuuu uuuu — — — — T1GSS C2SYNC 00-- --10 00-- --10 13h CCPR1L 捕捉 / 比较 /PWM 寄存器 1 低位字节 xxxx xxxx uuuu uuuu 14h CCPR1H 捕捉 / 比较 /PWM 寄存器 1 高位字节 xxxx xxxx uuuu uuuu 15h CCP1CON 87h, 187h TRISC 8Ch PIE1 图注: — — DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 --00 0000 --00 0000 TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 --11 1111 --11 1111 EEIE ADIE CCP1IE C2IE C1IE OSFIE TMR2IE TMR1IE 0000 0000 0000 0000 – = 未实现的存储单元,读为 0, u = 不变, x = 未知。捕捉、比较或 Timer1 模块不使用阴影单元。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 59 页 PIC16F785/HV785 8.3 CCP PWM 模式 8.3.1 PWM 周期可通过写 PR2 寄存器来设定。 PWM 周期可 由公式 8-1 计算: 在脉宽调制(PWM)模式下,CCP 模块会在 RC5/CCP1 引脚上产生最多 10 位分辨率的 PWM 输出信号。由于 RC5/CCP1 引脚与 PORTC 数据锁存器复用,因此必须 清零 TRISC 以使 RC5/CCP1 引脚为输出引脚。 公式 8-1: 清零 CCP1CON 寄存器将把 PWM 输出锁 存 器 强 制 设 为 缺 省 的 无 效 电 平。这 不 是 PORTC 的 I/O 数据锁存器。 注: (TMR2 预分频比) PWM 频率定义为 1/[PWM 周期 ]。 关于如何设置 CCP 模块使之工作于 PWM 模式的步骤, 请参见第 8.3.5 节 “设置 PWM 操作”。 当 TMR2 中的值与 PR2 中的值相等时,在下一个递增 周期将发生以下 3 个事件: • TMR2 被清零 • RC5/CCP1 引脚被置 1。(例外:如果 PWM 占空 比 = 0%,引脚不会被置 1) • PWM 占空比从 CCPR1L 锁存到 CCPR1H 简化的 PWM 框图 占空比寄存器 CCP1CON CCPR1L 注: CCPR1H(从动) RC5/CCP1 R 比较器 在确定 PWM 频率时不使用 Timer2 后分频 器 (见第 7.1 节 “Timer2 工作原理”)。 后分频器可用于获得与PWM输出不同频率 的伺服更新速率。 Q S (1) TMR2 PWM 周期 PWM 周期 = [(PR2) + 1] • 4 • TOSC • 图 8-3 给出了 PWM 工作原理的简化框图。 图 8-3: PWM 周期 TRISC 比较器 清零 Timer2, 翻转 PWM 引脚并 锁存占空比 PR2 注 1: 8 位定时器 TMR2 寄存器和 2 位内部 Q 时钟 或 2 位预分频器组合成 10 位时基。 PWM 输出 (图 8-4)中包含一个时基 (周期)和一段 输出保持为高电平的时间 (占空比)。 PWM 的频率是 周期的倒数 (1/ 周期)。 图 8-4: CCP PWM 输出 周期 占空比 TMR2 = PR2 TMR2 = 占空比 TMR2 = 0 DS41249D_CN 第 60 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 8.3.2 PWM 占空比 可以在任何时候写入 CPR1L 和 DC1B,但是在 PR2 和 TMR2 发生匹配 (即周期结束)前占空比值不 会被锁存到 CCPR1H。在 PWM 模式下, CCPR1H 是 只读寄存器。 通过写入 CCPR1L 寄存器和 DC1B (CCP1CON)位可以设定 PWM 占空比。分辨率 最高可达 10 位。CCPR1L 中包含高 8 位而 DC1B 中包含低 2 位。CCPR1L 和 DC1B 可在任何时候 写入。在 PWM 模式下,CCPR1H 是只读寄存器。该 10 位值由 CCPR1L (CCP1CON)表示。 CCPR1H 寄存器和一个 2 位的内部锁存器用于为 PWM 占空比提供双重缓冲。这种双重缓冲结构非常重要,它 可以避免在 PWM 操作中产生毛刺。 由于缓冲作用,模块会一直等到定时器复位,而不是立 即开始。这意味着增强型 PWM 波形与标准 PWM 波形 并不完全一致,而是偏移一个指令周期 (4 TOSC)。 公式 8-2 用于计算 PWM 的占空比时间。 公式 8-2: PWM 占空比 当 CCPR1H 和 2 位锁存值与组合到内部 2 位 Q 时钟或 2 位 TMR2 预分频器的 TMR2 相匹配时,RC5/CCP1 引 脚被清零。 PWM 占空比 = (CCPR1L:CCP1CON) • TOSC •(TMR2 预分频比) 公式8-3给出了最大PWM分辨率的计算方法,它是PR2 的函数。 公式 8-3: PWM 分辨率 log [ 4 ( PR2 + 1 ) -] 位 分辩率 Resolution = ----------------------------------------bits log ( 2 ) 注: 表 8-3: PWM 频率和分辨率示例 (FOSC = 20 MHz) PWM 频率 定时器预分频比 (1, 4, 16) PR2 值 最大分辨率 (位) 注 如果 PWM 占空比的值比 PWM 周期长,则 指定的 PWM 引脚将保持不变。 1.22 kHz(1) 4.88 kHz(1) 19.53 kHz 78.12 kHz 156.3 kHz 208.3 kHz 16 4 1 1 1 1 0xFF 0xFF 0xFF 0x3F 0x1F 0x17 10 10 10 8 7 6.6 1: 更改占空比将导致毛刺。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 61 页 PIC16F785/HV785 8.3.3 8.3.5 休眠模式下的操作 设置 PWM 操作 在休眠模式下,所有时钟源都被禁止。 Timer2 不再递 增,模块的状态也不会改变。如果 RC5/CCP1 引脚正在 驱动一个值,则会继续驱动该值。当器件被唤醒时,将 从该状态继续。 如果要将 CCP 模块配置成工作于 PWM 模式,可采用 以下步骤: 8.3.3.1 2. 3. 1. 使用故障保护时钟监控器操作 如果使能故障保护时钟监控器,时钟故障将强制CCP从 内部振荡器时钟源(可能与主时钟的时钟频率不同)获 取时钟信号。 4. 更多详细信息,请参见第 3.0 节 “时钟源”。 8.3.4 5. 复位的影响 任何复位都将强制所有端口为输入模式,并强制CCP寄 存器为其复位状态。 6. 表 8-4: 通过把 TRISC 位置 1 将 PWM 引脚 (RC5/ CCP1)配置为输入。 通过装载 PR2 寄存器设置 PWM 周期。 通过装载相应的值到 CCP1CON 寄存器为 PWM 模式配置 CCP 模块。 通过装载 CCPR1L 寄存器和 CCP1CON 位 设置 PWM 占空比。 配置及启动 TMR2: • 通过清零 TMR2IF 位(PIR1)清零 TMR2 中断标志位。 • 通过装载 T2CKPS 位 (T2CON)设置 TMR2 预分频值。 • 通过将 TMR2ON 位置 1 (T2CON)使能 Timer2。 在新的 PWM 周期开始后使能 PWM 输出: • 等待直到 TMR2 溢出 (TMR2IF 位置 1)。 • 通过清零TRISC位使能RC5/CCP1引脚输 出。 与 CCP 和 TIMER2 相关的寄存器 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR/BOR 时的值 所有其他 复位值 0Bh, 8Bh INTCON GIE PEIE T0IE INTE RAIE T0IF INTF RAIF 0000 0000 0000 0000 0Ch PIR1 EEIF ADIF CCP1IF C2IF C1IF OSFIF TMR2IF TMR1IF 11h TMR2 地址 Timer2 模块寄存器 12h T2CON 13h CCPR1L 捕捉 / 比较 /PWM 寄存器 1 低位字节 捕捉 / 比较 /PWM 寄存器 1 高位字节 14h CCPR1H 15h CCP1CON 87h TRISC 8Ch PIE1 92h PR2 图注: — TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 0000 0000 0000 0000 0000 0000 0000 0000 -000 0000 -000 0000 xxxx xxxx uuuu uuuu xxxx xxxx uuuu uuuu — — DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 0000 0000 0000 0000 TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 --11 1111 --11 1111 EEIE ADIE CCP1IE C2IE C1IE OSFIE TMR2IE TMR1IE 0000 0000 0000 0000 1111 1111 1111 1111 Timer2 模块周期寄存器 – = 未实现的存储单元,读为 0, u = 不变, x = 未知。 CCP 或 Timer2 模块不使用阴影单元。 DS41249D_CN 第 62 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 9.0 将 C1R (CM1CON0)置 1 可将比较器参考电压模 块的 C1VREF 输出选择为比较器的参考电压。清零 C1R 可选择 RA0/AN0/C1IN+/ICSPDAT 引脚上的 C1IN+ 输 入。 比较器模块 比较器模块有两个独立的电压比较器:比较器 1 (C1) 和比较器 2 (C2)。 每个比较器可以提供下列功能: • • • • • • • • • • 通过 C1OUT 标志 (CM1CON0)使比较器的输出 内部有效。要使外部连接输出有效,必须将 C1OE 位 (CM1CON0)置 1。 控制和配置寄存器 比较器输出外部有效 可编程输出极性 电平变化中断标志 从休眠状态唤醒 可配置为 PWM 的反馈输入 可编程 4 输入复用器 可编程 2 输入参考选择 可编程速度 / 电源 输出同步到 Timer1 时钟输入 (仅限比较器 C2) 9.1 可以通过将 C1POL 位 (CM1CON0)置 1 使比较 器输出的极性反相。清零 C1POL 产生同相输出。 表9-1给出了输出状态与输入条件及极性位的完整表格。 表 9-1: 控制寄存器 两个比较器都有独立的控制和配置寄存器:C1 的 CM1CON0 和 C2 的 CM2CON0。此外,比较器 C2 还有 第二个控制寄存器 CM2CON1,用于两个比较器输出的 同步控制和同时读取。 9.1.1 C1POL C1OUT C1VN > C1VP 0 0 C1VN < C1VP 0 1 C1VN > C1VP 1 1 C1VN < C1VP 1 0 1: 比较器的内部输出在每个指令周期结束时 被锁存。外部输出不锁存。 2: C1 中断将正确处理 C1OE 置 1 或清零的 情况。 CM1CON0 寄存器(如寄存器 9-1 所示)包含以下控制 位和状态位: • • • • • 输入条件 注 比较器 C1 的控制寄存器 C1 输出状态与输入条件 3: 要在 RA2/AN2/T0CKI/INT/C1OUT 引脚输 出 C1:(C1OE = 1)、(C1ON = 1)且 (TRISA = 0)。 比较器使能 比较器输入选择 比较器参考选择 输出模式 比较器速度 C1SP (CM1CON0)用于配置比较器的速度。当 C1SP 被置 1 时,比较器以正常速度工作。清零 C1SP 使比较器在更慢的低功耗模式下工作。 将 C1ON(CM1CON0)置 1 可以使能比较器 C1。 C1CH (CM1CON0)位可以从 4 个模拟引 脚 AN 中选择比较器输入。 注: 要使用 AN 作为模拟输入,相应的 位必须在 ANSEL0 寄存器中编程为 1。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 63 页 PIC16F785/HV785 图 9-1: 比较器 C1 的简化框图 C1CH C1POL 2 RA1/AN1/C12IN0-/VREF/ICSPCLK RC1/AN5/C12IN1-/PH1 D Q1 0 RC2/AN6/C12IN2-/OP2 1 MUX 2 RC3/AN7/C12IN3-/OP1 3 Q EN 至 数据总线 RD_CM1CON0 D Q C1IF 置 1 Q3*RD_CM1CON0 C1ON(1) C1R EN CL NRESET 至 PWM 逻辑 C1OE C1SP C1VN RA0/AN0/C1IN+/ICSPDAT C1VREF 0 MUX 1 C1OUT C1VP C1 RA2/AN2/T0CKI/INT/C1OUT(2) C1POL 注 1: 当 C1ON = 0 时, C1 比较器将生成 0 输出到 XOR 门控。 2: 图中的输出仅供参考。更多详细信息,请参见图 4-3。 DS41249D_CN 第 64 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 寄存器 9-1: CM1CON0:比较器 C1 的控制寄存器 0 (地址:119h) R/W-0 R-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 C1ON C1OUT C1OE C1POL C1SP C1R C1CH1 C1CH0 bit 7 bit 0 bit 7 C1ON:比较器 C1 使能位 1 = C1 比较器使能 0 = C1 比较器禁止 bit 6 C1OUT:比较器 C1 输出位 如果 C1POL = 1 (极性反相): C1OUT = 1, C1VP < C1VN C1OUT = 0, C1VP > C1VN 如果 C1POL = 0 (极性同相): C1OUT = 1, C1VP > C1VN C1OUT = 0, C1VP < C1VN bit 5 C1OE:比较器 C1 输出使能位 1 = C1OUT 出现在 RA2/AN2/T0CKI/INT/C1OUT 引脚上 (1) 0 = C1OUT 仅在内部有效 bit 4 C1POL:比较器 C1 输出极性选择位 1 = C1OUT 逻辑反相 0 = C1OUT 逻辑未反相 bit 3 C1SP:比较器 C1 速度选择位 1 = C1 工作在正常速度模式下 0 = C1 工作在低功耗、慢速模式下 bit 2 C1R:比较器 C1 参考选择位 (同相输入) 1 = C1VP 连接至 C1VREF 输出 0 = C1VP 连接至 RA0/AN0/C1IN+/ICSPDAT bit 1-0 C1CH:比较器 C1 通道选择位 00 = C1 的 C1VN 连接至 RA1/AN1/C12IN0-/VREF/ICSPCLK 01 = C1 的 C1VN 连接至 RC1/AN5/C12IN1-/PH1 10 = C1 的 C1VN 连接至 RC2/AN6/C12IN2-/OP2 11 = C1 的 C1VN 连接至 RC3/AN7/C12IN3-/OP1 注 1: C1OUT 仅在以下情况时驱动 RA2/AN2/T0CKI/INT/C1OUT: (C1OE = 1)、(C1ON = 1)且 (TRISA = 0) 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 65 页 PIC16F785/HV785 9.1.2 比较器 C2 的控制寄存器 可以通过将 C2POL 位 (CM2CON0)置 1 使比较 器输出 C2OUT 反相。清零 C2POL 产生同相输出。 CM2CON0 寄存器和 CM1CON0 寄存器的功能相同,如 第 9.1.1 节 “比较器 C1 的控制寄存器”中所述。第二 个控制寄存器CM2CON1也用来控制另一个同步功能以 及两个比较器输出的镜像。 9.1.2.1 表9-2给出了输出状态与输入条件及极性位的完整表格。 表 9-2: 控制寄存器 CM2CON0 C2 输出状态与输入条件 输入条件 C2POL C2OUT CM2CON0 寄存器 (如寄存器 9-2 所示)包含比较器 C2 的控制位和状态位。 C2VN > C2VP 0 0 C2VN < C2VP 0 1 将 C2ON (CM2CON0)置 1 可以使能比较器 C2。 C2VN > C2VP 1 1 C2CH (CM2CON0)位可以从 4 个模拟引 脚 AN 中选择比较器输入。 C2VN < C2VP 1 0 注: 要使用 AN 作为模拟输入,相应的 位必须在 ANSEL0 寄存器中编程为 1。 注 C2R (CM2CON0)用于选择比较器要使用的参考 输入。将 C2R (CM2CON0)置 1 可将比较器参考 电压模块的 C2VREF 输出选择为比较器的参考电压。清 零 C2R 可选择 RC0/AN4/C2IN+ 引脚上的 C2IN+ 输入。 2: C2 中断将正确处理 C2OE 置 1 或清零的 情况。 C2 中断并不要求外部输出。 3: 对于 RC4/C2OUT/PH2 上的 C2 输出: (C2OE = 1)、(C2ON = 1)且 (TRISA = 0)。 通过 C2OUT 位 (CM2CON0)使比较器的输出内 部有效。要使外部连接输出有效,必须将 C2OE 位 (CM2CON0)置 1。 图 9-2: 1: 比较器的内部输出在每个指令周期结束时 被锁存。外部输出不锁存。 C2SP (CM2CON0)用于配置比较器的速度。当 C2SP 被置 1 时,比较器以正常速度工作。清零 C2SP 使比较器在低功耗模式下工作。 比较器 C2 的简化框图 C2POL D Q1 EN RD_CM2CON0 2 C2CH C2IF 置 1 D Q3*RD_CM2CON0 RA1/AN1/C12IN0-/VREF/ICSPCLK C2ON(1) 0 RC1/AN5/C12IN1-/PH1 RC2/AN6/C12IN2-/OP2 1 MUX 2 RC3/AN7/C12IN3-/OP1 3 C2R C2SP C2VREF 注 DS41249D_CN 第 66 页 1: 2: 3: 0 MUX 1 Q EN CL NRESET C2VN C2VP 至 PWM 逻辑 C2OUT C2 C2SYNC C2POL D RC0/AN4/C2IN+ 至 数据总线 Q 来自 TMR1 时钟 Q 0 MUX 1 C20E RC4/C2OUT/PH2(3) SYNCC2OUT(2) 当 C2ON = 0 时, C2 比较器将生成 0 输出到 XOR 门控。 Timer1 门控 (见图 6-1)。 图中的输出仅供参考。更多详细信息,请参见图 4-13。 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 寄存器 9-2: CM2CON0:比较器 C2 的控制寄存器 0 (地址:11Ah) R/W-0 R-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 C2ON C2OUT C2OE C2POL C2SP C2R C2CH1 C2CH0 bit 7 bit 0 bit 7 C2ON:比较器 C2 使能位 1 = C2 比较器使能 0 = C2 比较器禁止 bit 6 C2OUT:比较器 C2 输出位 如果 C2POL = 1 (极性反相): C2OUT = 1, C2VP < C2VN C2OUT = 0, C2VP > C2VN 如果 C2POL = 0 (极性同相): C2OUT = 1, C2VP > C2VN C2OUT = 0, C2VP < C2VN bit 5 C2OE:比较器 C2 输出使能位 1 = C2OUT 在 RC4/C2OUT/PH2 上 (1) 0 = C2OUT 仅在内部有效 bit 4 C2POL:比较器 C2 输出极性选择位 1 = C2OUT 逻辑反相 0 = C2OUT 逻辑未反相 bit 3 C2SP:比较器 C2 速度选择位 1 = C2 工作在正常速度模式下 0 = C2 工作在低功耗慢速模式下 bit 2 C2R:比较器 C2 参考选择位 (同相输入) 1 = C2VP 连接至 C2VREF 0 = C2VP 连接至 RC0/AN4/C2IN+ bit 1-0 C2CH:比较器 C2 通道选择位 00 = C2 的 C2VN 连接至 RA1/AN1/C12IN0-/VREF/ICSPCLK 01 = C2 的 C2VN 连接至 RC1/AN5/C12IN1-/PH1 10 = C2 的 C2VN 连接至 RC2/AN6/C12IN2-/OP2 11 = C2 的 C2VN 连接至 RC3/AN7/C12IN3-/OP1 注 1: C2OUT 仅在以下情况驱动 RC4/C2OUT/PH2: (C2OE = 1)、(C2ON = 1)且 (TRISC = 0)。 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 67 页 PIC16F785/HV785 9.1.2.2 控制寄存器 CM2CON1 比较器 C2 还有另外一项功能,即其输出可以与 Timer1 的时钟输入同步。将 C2SYNC (CM2CON1)置 1 使比较器 2 的输出与 Timer1 时钟输入的下降沿同步(见 图 9-2 和寄存器 9-3)。 CM2CON1 寄存器也包含两个比较器输出的镜像副本 MC1OUT 和 MC2OUT(CM2CON1)。从同一个 寄存器中同时读取两个输出的功能,可以消除从不同寄 存器读取的时间失真。 注: 通过读 CM2CON1 获取 C1OUT 或 C2OUT 的状态并不影响比较器中断不匹配寄存 器。 寄存器 9-3: CM2CON1:比较器 C2 的控制寄存器 1 (地址:11Bh) R-0 R-0 MC1OUT MC2OUT U-0 U-0 U-0 U-0 R/W-1 R/W-0 — — — — T1GSS C2SYNC bit 7 bit 7 bit 0 MC1OUT:C1OUT 位的镜像副本 (CM1CON0) bit 6 MC2OUT:C2OUT 位的镜像副本 (CM2CON0) bit 5-2 未实现:读为 0 bit 1 T1GSS:Timer1 门控源选择位 1 = Timer1 门控源为 RA4/AN3/T1G/OSC2/CLKOUT 0 = Timer1 门控源为 SYNCC2OUT bit 0 C2SYNC:C2 输出同步模式位 1 = C2 输出与 TMR1 时钟的下降沿同步 0 = C2 输出异步 图注: DS41249D_CN 第 68 页 R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 初稿 x = 未知  2006 Microchip Technology Inc. PIC16F785/HV785 9.2 9.3 比较器输出 通过 CM1CON0、COM2CON0 或 CM2CON1 寄存器读 取比较器输出。 CM1CON0 和 CM2CON0 都包含比较 器 1 和比较器 2 的独立比较器输出。CM2CON2 包含两 个比较器输出的镜像副本,便于从两个比较器同步读 取。这些位是只读的。比较器输出也可以直接输出到 RA2/AN2/T0CKI/INT/C1OUT 和 RC4/C2OUT/PH2 I/O 引脚。当被使能时,位于 RA2 和 RC4 引脚输出路 径中的多路复用器将切换,每个引脚输出均为比较器的 未同步输出。各个比较器的不确定性与规范中给出的输 入偏移电压和响应时间有关。图 9-1 和图 9-2 给出了比 较器 1 和 2 的输出框图。 只要比较器输出值发生变化,相应的比较器中断标志位 就会置 1。需要用软件保存这些输出位的状态 (从 CM2CON0 读取),以确定实际发生的变化。CxIF 位 (PIR1)是比较器中断标志。必须用软件将比 较器中断位清零以进行复位。由于可以对该寄存器写入 1,因此可产生仿真中断。 必须将CxIE位(PIE1)和PEIE位(INTCON) 置 1 以允许中断。此外,还必须将 GIE 位置 1。如果上 述位中有任何一位被清零,则无法允许中断,尽管中断 条件发生时仍会将 CxIF 位置 1。 PIC16F785/HV785 的比较器中断和早期设计的不同之 处在于,标志位是根据不匹配边沿而不是不匹配电平置 1 的。这意味着不需要额外的读取或写入 CMxCON0 寄 存器来将不匹配寄存器清零这一步骤,即可将中断标志 复位。当不匹配的寄存器尚未清零时,比较器输出返回 前一个状态时不发生中断。当不匹配的寄存器清零时, 比较器输出返回前一个状态将发生中断。 在此模式下, TRIS 位仍将用作 RA2/AN2/T0CKI/INT/ C1OUT 和 RC4/C2OUT/PH2 引脚输出的使能 / 禁止控 制位。 使用 C1POL 和 C2POL 位(CMxCON0)可改变比 较器输出的极性。 Timer1 门控源可配置为使用 T1G 引脚或比较器 2 输出, 具体由 T1GSS 位(CM2CON1)进行选择。Timer1 门控特性可用来对模拟事件的持续时间或时间间隔计 时。通过将 C2SYNC 位 (CM2CON1)置 1,比较 器 2 的输出还可以与 Timer1 同步。当被使能时,比较器 2 的输出在 Timer1 时钟源的下降沿被锁存。如果 Timer1 使用了预分频器,比较器 2 在经过预分频器后被锁存。 为了防止竞争条件,比较器 2 输出在 Timer1 时钟源的下 降沿被锁存,而 Timer1 在其时钟源的上升沿递增。更多 信息,请参见比较器 2 框图 (图 9-2)和 Timer1 框图 (图 6-1)。 注 1: 在读操作执行过程中 (Q2 周期的起始时 刻),如果 CMxCON0 寄存器(CxOUT) 发生变化,那么 CxIF (PIR1)中断 标志位可能不会被置 1。 2: 当两个比较器之一先使能时,比较器模块 中的偏置电路在稳定前可能产生比较器的 无效输出。应允许偏置电路有 1 µs 的稳定 时间,然后在使能比较器中断前将不匹配 条件和中断标志清零。 当比较器 2 用作 Timer1 门控源时,建议通过将 C2SYNC 位置 1 使比较器 2 与 Timer1 同步。这样做可确保 Timer1 不会在比较器 2 在递增期间发生变化时,错过递增。  2006 Microchip Technology Inc. 比较器中断 9.4 复位的影响 复位将强制所有寄存器进入复位状态。这会禁止两个比 较器。 初稿 DS41249D_CN 第 69 页 PIC16F785/HV785 10.0 10.1.1 参考电压 PIC16F785/HV785 有两种可用的参考电压:被称为比 较器参考电压 (CVREF)的电压是基于 VDD 的可变电 压;被称为 VR 参考电压 (VR)的电压是来自稳定带 隙源的固定电压。每个参考源都可以分别内部路由到 RA1/AN1/C12IN0-/VREF/ICSPCLK 引脚上的比较器或 输出,包括经过缓冲或未经缓冲的。 配置参考电压 参考电压能输出 32 种不同的电压电平,其中 16 种属于 高电平范围,其余 16 种属于低电平范围。 可以使用下列公式确定输出电压: 公式 10-1: CVREF 输出电压 VRR = 1 (低电平范围): CVREF = VR X VDD/24 10.1 比较器参考电压 比较器模块还允许为某一比较器输入选择内部产生的参 考电压。VRCON 寄存器(寄存器 10-1)用于控制参考 电压模块,如图 10-1 所示。 VRR = 0 (高电平范围): CVREF = (VDD/4) + (VR X VDD/32) 10.1.2 参考电压精度 / 误差 此模块的结构可以实现 VSS 到 VDD 的满量程。梯形电 阻网络上方和下方的晶体管 (图 10-1)使 CVREF 不会 达到 VSS 或 VDD。但通过清零所有 CVROE、C1VREN 和 C2VREN 禁止该模块时则例外。禁止时,参考电压 为 VSS,此时 VR 为 0000 且 VRR(VRCON) 位被置 1。这使得比较器可以检测到过零点,且不消耗 CVREF 模块的电流。 参考电压来自 VDD,因此, CVREF 输出会随着 VDD 的 变化而变化。经过测试的比较器参考电压的绝对精度请 参见表 19-8。 DS41249D_CN 第 70 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 图 10-1: 比较器参考电压框图 16 级 8R R R R R VDD VRR 8R 16-1 模拟 MUX CVREN(1) 15 CVREF · · · 0 VR3:VR0 CVROE C1VREN C1VREF 至 比较器 1 输入 1 0 C2VREN C2VREF 至 比较器 2 输入 寄存器 10-1: 1 VR 1.2 V 0 注 1: 请参见寄存器 10-1 的 bit 3-0。 VRCON:参考电压控制寄存器 (地址:99h) R/W-0 R/W-0 R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 C1VREN(1) C2VREN(1) VRR — VR3 VR2 VR1 VR0 bit 7 bit 0 bit 7 C1VREN:比较器 1 参考电压使能位 (1) 1 = CVREF 电路上电并路由到比较器 1 的 C1VREF 输入 0 = 1.2 伏 VR 路由到比较器 1 的 C1VREF 输入 bit 6 C2VREN:比较器 2 参考电压使能位 (1) 1 = CVREF 电路上电并路由到比较器 2 的 C2VREF 输入 0 = 1.2 伏 VR 路由到比较器 2 的 C2VREF 输入 bit 5 VRR:比较器参考电压 CVREF 范围选择位 1 = 低电平范围 0 = 高电平范围 bit 4 未实现:读为 0 bit 3-0 VR:比较器参考电压 CVREF 值选择 0 ≤ VR ≤ 15 当 VRR = 1 且 CVREN = 1 时:CVREF = (VR x VDD/24) 当 VRR = 0 且 CVREN = 1 时:CVREF = (VDD/4) + (VR x VDD/32) 当 CxVREN = 0 且 VREN = 1 时:CxVREF = 1.2V,来自 VR 模块 注 1: 当 C1VREN、 C2VREN 和 CVROE (寄存器 10-2)都为低电平时, CVREF 电路将 掉电且不提供 IDD 电流。 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 71 页 PIC16F785/HV785 10.2 VR 参考电压模块 VR 参考电压模块产生 1.2V 标称值输出电压,供 ADC 和 比较器使用。输出电压也可输送到 VREF 引脚,供用户 应用使用。该模块使用带隙值作为参考电压。关于详细 的规范,请参见表 19-9。寄存器 10-2 给出了 VR 模块的 控制寄存器。 寄存器 10-2: REFCON:参考电压控制寄存器 (地址:98h) U-0 U-0 R-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 — — BGST VRBB VREN VROE CVROE — bit 7 bit 0 bit 7-6 未实现:读为 0 bit 5 BGST:带隙参考电压稳定标志位 1 = 参考电压稳定 0 = 参考电压不稳定 bit 4 VRBB:参考电压缓冲旁路位 1 = VREF 输出没有经过缓冲。将电源从缓冲放大器移除。 0 = VREF 输出经过缓冲 (1) bit 3 VREN:参考电压使能位 (VR = 1.2V 标称值) (2) 1 = VR 参考电压被使能 0 = VR 参考电压被禁止,不消耗任何电流 bit 2 VROE:参考电压输出使能位 如果 CVROE = 0: 1 = RA1/AN1/C12IN0-/VREF/ICSPCLK 引脚上的 VREF 输出是 1.2 伏 VR 模拟参考电压 0 = 禁止, 1.2 伏 VR 模拟参考电压仅在内部使用 如果 CVROE = 1: VROE 没有影响。 bit 1 CVROE:比较器参考电压输出使能位 (见图 10-2) 1 = RA1/AN1/C12IN0-/VREF/ICSPCLK 引脚上的 VREF 输出是 CVREF 电压 0 = RA1/AN1/C12IN0-/VREF/ICSPCLK 引脚上的 VREF 输出由 VROE 控制 bit 0 未实现:读为 0 注 1: 缓冲放大器共模限制要求 VREF ≤ (VDD - 1.4)V,用于经过缓冲的输出。 2: PIC16HV785 器件的 VREN 位固定于高电平。 图注: DS41249D_CN 第 72 页 R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 初稿 x = 未知  2006 Microchip Technology Inc. PIC16F785/HV785 10.2.1 VR 稳定周期 当参考电压模块使能时,需要一段时间使参考电压及其 放大电路达到稳定。用户程序必须包含允许模块稳定的 延时小程序。关于最小延时要求,请参见第 19.0 节“电 气规范”。 图 10-2: VR 参考电压框图 VREN CVREF VRBB(1) CVROE (CVROE + (VREN*VROE)) 1 EN 1 参考电压 VRIN 0 1X VROUT RA1/AN1/C12IN0-/VREF 0 模拟 缓冲器 RDY VR 至 CVREF MUX BGST 1: 经缓冲的输出需要 VRIN = (VDD - 1.4)V。 2: PIC16HV785 器件的 VREN 位固定于高电平。 注 表 10-1: 地址 与比较器和参考电压模块相关的寄存器 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR/BOR 时的值 所有其他 复位值 119h CM1CON0 C1ON C1OUT C1OE C1POL C1SP C1R C1CH1 C1CH0 11Ah CM2CON0 C2ON C2OUT C2OE C2POL C2SP C2R C2CH1 C2CH0 0000 0000 0000 0000 11Bh CM2CON1 MC1OUT MC2OUT — — — — T1GSS C2SYNC 00-- --10 00-- --10 85h, 185h TRISA — TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 --11 1111 --11 1111 87h, 187h TRISC TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 1111 1111 1111 1111 05h, 105h PORTA — — RA5 RA4 RA3 RA2 RA1 RA0 --xx xxxx --uu uuuu 07h, 107h PORTC RC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0 xxxx xxxx uuuu uuuu ANS1 — 0000 0000 0000 0000 91h ANSEL0 ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 ANS0 1111 1111 1111 1111 0Ch PIR1 EEIF ADIF CCP1IF C2IF C1IF OSFIF TMR2IF TMR1IF 0000 ---0 0000 ---0 8Ch PIE1 EEIE ADIE CCP1IE C2IE C1IE OSFIE TMR2IE TMR1IE 0000 ---0 0000 ---0 98h REFCON — — BGST VRBB VREN VROE CVROE — --00 000- --00 000- VRR — VR3 VR2 VR1 VR0 000- 0000 000- 0000 99h VRCON 图注: x = 未知, u = 不变, - = 未实现,读为 0。比较器不使用阴影单元。 C1VREN C2VREN  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 73 页 PIC16F785/HV785 注: DS41249D_CN 第 74 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 11.0 11.2 运算放大器 (OPA)模块 通过将 OPAON 位 (OPAxCON)置 1 来使能 OPA 模块。 OPAON 被使能时,会将 OPA1 的 RC3/AN7/ C12IN3-/OP1 以及 OPA2 的 RC2/AN6/C12IN2-/OP2 的 输出驱动器强制为三态,从而防止驱动器和 OPA 输出之 间的竞争。 OPA 模块具有以下特性: • 两个独立的运算放大器 • 外部连接到所有端口 • 3 MHz 增益带宽积 (Gain Bandwidth Product, GBWP) 11.1 控制寄存器 注: OPA1CON 寄存器 (如 Register 11-1 中所示)用于控 制 OPA1。OPA2CON(如 Register 11-2 中所示)用于 控制 OPA2。 图 11-1: OPAxCON 寄存器 当 OPA1 或 OPA2 被使能时, RC3/AN7/ C12IN3-/OP1 引脚或 RC2/AN6/C12IN2-/ OP2 引脚分别由运放输出驱动,而不是由 PORTC 驱动器驱动。请参见表 19-11 以获 取有关运放输出驱动器兼容性的电气规 范。 OPA 模块框图 OPA1CON RC7/AN9/OP1+ RC6/AN8/OP1- OPA1 RC3/AN7/C12IN3-/OP1 至 ADC 和比较器 MUX OPA2CON RB5/AN11/OP2+ RB4/AN10/OP2- OPA2 RC2/AN6/C12IN2-/OP2 至 ADC 和比较器 MUX  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 75 页 PIC16F785/HV785 寄存器 11-1: OPA1CON:运放 1 的控制寄存器 (地址:11Ch) R/W-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 OPAON — — — — — — — bit 7 bit 0 bit 7 OPAON:运放使能位 1 = 使能运放 1 0 = 禁止运放 1 bit 6-0 未实现:读为 0 图注: 寄存器 11-2: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 x = 未知 OPA2CON:运放 2 的控制寄存器 (地址:11Dh) R/W-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 OPAON — — — — — — — bit 7 bit 7 OPAON:运放使能位 1 = 使能运放 2 0 = 禁止运放 2 bit 6-0 未实现:读为 0 bit 0 图注: DS41249D_CN 第 76 页 R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 初稿 x = 未知  2006 Microchip Technology Inc. PIC16F785/HV785 11.3 泄漏电流是 OPA+ 和 OPA- 输入上测得的小的拉电流或 灌电流。要最小化泄漏电流的影响,连接到 OPA+ 和 OPA- 输入的有效电阻应该尽可能小且相等。 复位的影响 器件复位将强制所有寄存器进入复位状态。这将同时禁 止两个运放。 11.4 输入失调电压是在闭环电路中,OPA 处在其线性区内时 测得的 OPA+ 和 OPA- 输入之间的压差。在输出中将显 示为 DC 失调的失调电压等于输入失调电压乘以电路增 益。输入失调电压还受共模电压的影响。 OPA 模块性能 OPA 模块的常用 AC 和 DC 性能规范: • • • • • 开环增益是输出电压与差分输入电压((OPA+) - (OPA-)) 的比率。增益在 DC 时最大,并且随频率降低而下降。 共模电压范围 泄漏电流 输入失调电压 开环增益 增益带宽积 (GBWP) 增益带宽积或GBWP是开环增益下降至0 dB时的频率。 11.5 运放被使能时,它会在处理器处于休眠模式时继续工作 并消耗电流。 共模电压范围是 OPA+ 和 OPA- 输入的指定电压范围, OPA 模块将在其规范内工作。 OPA 模块被设计为在 0 到 VDD-1.4V 之间的输入电压下工作。大于 VDD-1.4V 或 小于 0V 的共模电压就超出了正常工作范围。 表 11-1: 地址 休眠的影响 与 OPA 模块相关的寄存器 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR/BOR 时的值 所有其他 复位值 11Ch OPA1CON OPAON — — — — — — — 0--- ---- 0--- ---- 11Dh OPA2CON OPAON — — — — — — — 0--- ---- 0--- ---- 91h ANSEL0 ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0 1111 1111 1111 1111 93h ANSEL1 — — — — ANS11 ANS10 ANS9 ANS8 — — ---- 1111 ---- 1111 86h, 186h TRISB TRISB7 TRISB6 TRISB5 TRISB4 1111 ---- 1111 ---- 87h, 187h TRISC TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 1111 1111 1111 1111 图注: — — x = 未知, u = 不变, - = 未实现,读为 0。 OPA 模块不使用阴影单元。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 77 页 PIC16F785/HV785 注: DS41249D_CN 第 78 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 12.0 模数转换器 (A/D)模块 模数转换器(Analog-to-digital Converter,A/D)可将模 拟输入信号转换为相应的 10 位二进制表征值。 PIC16F785/HV785 有 12 个模拟 I/O 输入通道,加上 2 个内部输入通道,这些通道被多路转换到同一采样保持 电路。采样保持电路的输出与转换器的输入相连接。转 换器通过逐次逼近法产生二进制值,并将结果存入 10 位 寄存器。可通过软件方式选择 VDD 或施加在 VREF 引脚 上的电压作为转换使用的参考电压。图 12-1 给出了 PIC16F785/HV785 上 A/D 的框图。 图 12-1: A/D 框图 VDD VCFG = 0 VREF RA0/AN0/C1IN+/ICSPDAT VCFG = 1 0 RA1/AN1/C12IN0-/VREF/ICSPCLK RA2/AN2/T0CKI/INT/C1OUT RA4/AN3/T1G/OSC2/CLKOUT RC0/AN4/C2IN+ RC1/AN5/C12IN1-/PH1 RC2/AN6/C12IN2-/OP2 A/D RC3/AN7/C12IN3-/OP1 10 GO/DONE RC6/AN8/OP1RC7/AN9/OP1+ ADFM RB4/AN10/OP2CVREF VSS 13 VR CHS  2006 Microchip Technology Inc. 10 ADON(1) RB5/AN11/OP2+ ADRESH ADRESL 注 1: 当 ADON = 0 时,所有输入通道与 ADC 的连接被断开(不装入)。 初稿 DS41249D_CN 第 79 页 PIC16F785/HV785 12.1 A/D 配置和操作 12.1.3 A/D 转换器的参考电压有两种选择:使用 VDD,或使用 施加在 VREF 上的模拟电压。VCFG 位(ADCON0) 用于控制参考电压的选择。如果 VCFG 位置 1,则 VREF 引脚上的电压即为参考电压;否则,使用 VDD 作为参考 电压。 共有 4 个寄存器用于 A/D 模块各项功能的控制: 1. 2. 3. 4. ANSEL0 (寄存器 12-1) ANSEL1 (寄存器 12-2) ADCON0 (寄存器 12-3) ADCON1 (寄存器 12-4) 12.1.1 12.1.4 模拟端口引脚 • • • • • • 在任何定义为数字输入的引脚上施加模拟 电压可能导致输入缓冲器的电流增大。 12.1.2 通道选择 FOSC/2 FOSC/4 FOSC/8 FOSC/16 FOSC/32 FOSC/64 • FRC (专用内部振荡器) PIC16F785/HV785 上共有 14 个模拟通道。CHS 位 (ADCON0)用于控制与采样保持电路相连接 的通道。 表 12-1: 转换时钟 A/D转换周期需要11个TAD。可通过软件方式设置ADCS 位 (ADCON1)来选择转换时钟源。有以下 7 种 时钟频率可供选择: ANS 位 (ANSEL1 和 ANSEL0)和 TRISA、TRISB 与 TRISC> 位用 于控制 A/D 端口引脚的操作。将相应的 TRISx 位置 1 可 将引脚的输出驱动器置为高阻状态。同样,将相应的 ANSx 位置 1 可禁止数字输入缓冲器。 注: 参考电压 为保证转换正确进行,选择的 A/D 转换时钟 (1/TAD) 必须满足最小 1.6 µs 的 TAD 要求。表 12-1 给出了选定 频率下的几种 TAD 计算值。 TAD 与器件工作频率关系表 A/D 时钟源 (TAD) 器件频率 工作频率 2 TOSC ADCS2:ADCS0 20 MHz 000 100 4 TOSC 100 200 ns(2) 5 MHz ns(2) 4 MHz 1.25 MHz ns(2) 1.6 µs 800 ns(2) 1.0 µs(2) 3.2 µs ns(2) 400 ns(2) 500 8 TOSC 001 400 1.6 µs 2.0 µs 6.4 µs 16 TOSC 101 800 ns(2) 3.2 µs 4.0 µs 12.8 µs(3) 32 TOSC 010 1.6 µs 6.4 µs 8.0 µs(3) 25.6 µs(3) µs(3) 51.2 µs(3) 64 TOSC 110 3.2 µs A/D RC x11 2-6 µs(1), (4) 图注: 注 1: 2: 3: 4: 12.8 µs(3) 2-6 µs(1), (4) 16.0 2-6 µs(1), (4) 2-6 µs(1), (4) 阴影单元表示超出了建议范围。 VDD > 3.0V 时, A/D RC 源产生 4 µs 的典型 TAD 时间。 这些值均违反了所需的最小 TAD 时间。 为了加快转换速度,建议选用其他时钟源。 当器件频率高于 1 MHz 时,仅当在休眠状态下进行转换时才推荐使用 A/D RC 时钟源。 DS41249D_CN 第 80 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 12.1.5 如果必须要中止转换,则可用软件清零 GO/DONE 位。 在 A/D 转换采样全部结束之前, ADRESH:ADRESL 寄 存器中的内容将不会被更新,而是仍旧保留前一次的转 换结果。转换被中止后,必须经过 2 TAD 的延时后才能 开始下一次数据采集。延时结束后,将自动开始对选定 通道进行输入采集。 启动转换 通过将 GO/DONE 位(ADCON0)置 1 启动 A/D 转 换。转换完成时, A/D 模块将: • 将 GO/DONE 位清零 • 将 ADIF 标志位 (PIR1)置 1 • 产生中断 (如果使能) 图 12-2: 不应在启动 A/D 转换的同一条指令中将 GO/DONE 位置 1。 注: A/D 转换 TAD 周期 TCY 至 TAD TAD1 TAD2 TAD3 TAD4 TAD5 TAD6 TAD7 TAD8 b9 b8 b7 b6 b5 b4 b3 TAD9 TAD10 TAD11 b2 b1 b0 转换开始 保持电容从模拟输入通道断开连接(典型值为 100 ns) 将 GO 位置 1 12.1.6 ADRESH 和 ADRESL 寄存器被装入值, GO 位被清零, ADIF 位被置 1, 保持电容与模拟输入通道相连接 转换输出 A/D转换结果可以如下两种格式提供:左对齐或右对齐。 ADFM 位 (ADCON0)用于控制输出格式。图 123 所示为输出格式。 图 12-3: 10 位 A/D 结果格式 ADRESH (ADDRESS:1Eh) (ADFM = 0) ADRESL (ADDRESS:9Eh) MSB LSB bit 7 bit 0 bit 7 bit 0 10 位 A/D 结果 未实现:读为 0 MSB (ADFM = 1) bit 7 LSB bit 0 bit 0 10 位 A/D 结果 未实现:读为 0  2006 Microchip Technology Inc. bit 7 初稿 DS41249D_CN 第 81 页 PIC16F785/HV785 寄存器 12-1: ANSEL0:模拟选择寄存器 (地址:91h) R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0 bit 7 bit 7-0 bit 0 ANS:模拟选择位 可将 AN 引脚的功能分别选为模拟或数字。 1 = 模拟输入。分配引脚为模拟输入。 (1) 0 = 数字 I/O。分配引脚为端口或特殊功能。 1: 将引脚设置为模拟输入将自动禁止数字输入电路、弱上拉和电平变化中断 (如果可 用)。必须将相应的 TRIS 位设置为输入模式,以允许从外部控制引脚电压。分配为 模拟输入的引脚的端口读数将读为 0。 注 图注: 寄存器 12-2: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 x = 未知 ANSEL1:模拟选择寄存器 (地址:93h) U-0 U-0 U-0 U-0 R/W-1 R/W-1 R/W-1 R/W-1 — — — — ANS11 ANS10 ANS9 ANS8 bit 7 bit 0 bit 7-4 未实现:读为 0 bit 3-0 ANS:模拟选择位 可将 AN 引脚的功能分别选为模拟或数字。 1 = 模拟输入。分配引脚为模拟输入。 (1) 0 = 数字 I/O。分配引脚为端口或特殊功能。 1: 将引脚设置为模拟输入将自动禁止数字输入电路、弱上拉和电平变化中断 (如果可 用)。必须将相应的 TRIS 位设置为输入模式,以允许从外部控制引脚电压。分配为 模拟输入的引脚的端口读数将读为 0。 注 图注: 表 12-2: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 x = 未知 模拟选择对照表 模式 参考 模拟 选择 ANS11 ANS10 ANS9 ANS8 ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0 模拟 通道 AN11 AN10 AN9 AN8 AN7 AN6 AN5 AN4 AN3 AN2 AN1 AN0 I/O 引脚 RB5 RB4 RC7 RC6 RC3 RC2 RC1 RC0 RA4 RA2 RA1 RA0 DS41249D_CN 第 82 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 寄存器 12-3: ADCON0:A/D 控制寄存器 (地址:1Fh) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 ADFM VCFG CHS3 CHS2 CHS1 CHS0 GO/DONE ADON bit 7 bit 0 bit 7 ADFM:A/D 结果格式选择位 1 = 右对齐 0 = 左对齐 bit 6 VCFG:参考电压位 1 = VREF 引脚 0 = VDD bit 5-2 CHS:模拟通道选择位 0000 = 通道 00 (AN0) 0001 = 通道 01 (AN1) 0010 = 通道 02 (AN2) 0011 = 通道 03 (AN3) 0100 = 通道 04 (AN4) 0101 = 通道 05 (AN5) 0110 = 通道 06 (AN6) 0111 = 通道 07 (AN7) 1000 = 通道 08 (AN8) 1001 = 通道 09 (AN9) 1010 = 通道 10 (AN10) 1011 = 通道 11 (AN11) 1100 = CVREF 1101 = VR 1110 = 保留。不要使用。 1111 = 保留。不要使用。 bit 1 GO/DONE:A/D 转换状态位 1 = A/D 转换正在进行。将该位置 1 可启动 A/D 转换。 A/D 转换完成后,该位由硬件自动清零。 0 = A/D 转换已完成 / 未进行。 bit 0 ADON:A/D 使能位 1 = A/D 转换器模块正在运行 0 = A/D 转换器被关闭且不消耗工作电流 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 83 页 PIC16F785/HV785 寄存器 12-4: ADCCON1:A/D 控制寄存器 1 (地址:9Fh) U-0 R/W-0 R/W-0 R/W-0 U-0 U-0 U-0 U-0 — ADCS2 ADCS1 ADCS0 — — — — bit 7 bit 0 bit 7 未实现:读为 0 bit 6-4 ADCS:A/D 转换时钟选择位 000 = FOSC/2 001 = FOSC/8 010 = FOSC/32 x11 = FRC (由专用内部振荡器产生的时钟,其频率的最大值为 500 kHz) 100 = FOSC/4 101 = FOSC/16 110 = FOSC/64 bit 3-0 未实现:读为 0 图注: DS41249D_CN 第 84 页 R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 初稿 x = 未知  2006 Microchip Technology Inc. PIC16F785/HV785 12.1.7 配置 A/D 例 12-1: 按要求配置好 A/D 模块后,在开始转换之前必须获得选 定的通道。必须将该模拟输入通道相应的 TRIS 位选择 作为输入。 要确定采样时间,请参见表 19-15 和表 19-16。在采样 时间到达后, A/D 转换即可开始。 应按照以下步骤进行 A/D 转换: 1. 2. 3. 4. 5. 6. 7. 配置 A/D 模块: • 配置模拟 / 数字 I/O (ANSx) • 选择 A/D 转换时钟 (ADCON1) • 配置参考电压 (ADCON0) • 选择 A/D 输入通道 (ADCON0) • 选择结果格式 (ADCON0) • 开启 A/D 模块 (ADCON0) 配置 A/D 中断 (如果需要): • 将 ADIF 位 (PIR1)清零 • 将 ADIE 位 (PIE1)置 1 • 将 PEIE 和 GIE 位 (INTCON)置 1 等待所需采集时间。 启动转换: • 将 GO/DONE 位 (ADCON0)置 1 等待 A/D 转换完成,可通过以下两种方法之一来 判断: • 查询 GO/DONE 位是否被清零(已禁止中断); 或者 • 等待 A/D 转换完成中断 读 A/D 结果寄存器对(ADRESH:ADRESL),需 要时,将 ADIF 位清零。 要进行下一次转换,按要求转入步骤 1 或步骤 2。 每位的 A/D 转换时间定义为 TAD。在下一次采样 开始前需要等待至少 2 TAD 的时间。  2006 Microchip Technology Inc. A/D 转换 ;This code block configures the A/D ;for polling, Vdd reference, R/C clock ;and RA0 input. ; ;Conversion start and wait for complete ;polling code included. ; BCF STATUS,RP1 ;Bank 1 BSF STATUS,RP0 ; MOVLW B’01110000’ ;A/D RC clock MOVWF ADCON1 BSF TRISA,0 ;Set RA0 to input BSF ANSEL0,0 ;Set RA0 to analog BCF STATUS,RP0 ;Bank 0 MOVLW B’10000001’ ;Right, Vdd Vref, AN0 MOVWF ADCON0 CALL SampleTime ;Wait min sample time BSF ADCON0,GO ;Start conversion BTFSC ADCON0,GO ;Is conversion done? GOTO $-1 ;No, test again MOVF ADRESH,W ;Read upper 2 bits MOVWF RESULTHI BSF STATUS,RP0 ;Bank 1 MOVF ADRESL,W ;Read lower 8 bits BCF STATUS,RP0 ;Bank 0 MOVWF RESULTLO 初稿 DS41249D_CN 第 85 页 PIC16F785/HV785 12.2 A/D 采集要求 可以使用公式 12-1 来计算最小采集时间。该公式假设误 差为 1/2 LSb(A/D 转换需要 1024 步)。1/2 LSb 误差是 A/D 达到规定精度所允许的最大误差。 为了使 A/D 转换器达到规定的精度,必须使充电保持电 容 (CHOLD)充满至输入通道的电平。模拟输入模型见 图 12-4。源阻抗 (RS)和内部采样开关 (RSS)阻抗 直接影响电容 CHOLD 的充电时间。采样开关(RSS)阻 抗随器件电压 (VDD)的变化而变化,参见图 12-4。建 议模拟信号源的最大阻抗为 10 kΩ。采集时间随着阻抗 的降低而缩短。在选择 (改变)模拟输入通道后,必须 在开始转换前完成采集。 公式 12-1: 要计算最小采集时间 TACQ,请参见《PIC® 中档单片机 系列参考手册》(DS33023_CN)。 采集时间示例 假设: 温度 = 50°C,外部电阻 10 kΩ,5.0V VDD TACQ = 放大器稳定时间 + 保持电容充电时间 + 温度系数 = TAMP + TC + TCOFF = 5µs + TC + [( 温度 - 25°C)(0.05µs/°C)] TC 值可以用以下公式近似计算: 1 V APPLIED  1 – ------------ = V CHOLD  2047 ;[1] 在 1/2 lsb 误差范围内对 VCHOLD 充电 –T C ----------  RC V APPLIED  1 – e  = V CHOLD   ;[2] 依照 VAPPLIED 对 VCHOLD 充电 – Tc ---------  1 RC V APPLIED  1 – e  = V APPLIED  1 – ------------ 2047   ; 结合 [1] 和 [2] 求解 TC: TC = - CHOLD(R1C + RSS + RS)ln(1/2047) = - 10 pF(1 kΩ + 7 kΩ + 10 kΩ)ln(0.0004885) = 1.37 µs 因此: TACQ = 5 µs + 1.37µs + [(50°C - 25°C)(0.05 µs/°C)] = 7.67 µs 注 1: 因为参考电压 (VREF)自行抵消,因此它对该公式没有影响。 2: 充电保持电容 (CHOLD)在每次转换结束时不会放电。 3: 建议模拟信号源的最大阻抗为 10 kΩ.。这必须符合引脚泄漏电流规范。 DS41249D_CN 第 86 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 图 12-4: 模拟输入模型 VDD RS VA ANx CPIN 5 pF VT = 0.6V VT = 0.6V RIC ≤ 1k 采样开关 SS RSS CHOLD = DAC 电容 = 10 pF ILEAKAGE ±500 nA VSS 图注: 6V 5V VDD 4V 3V 2V 输入电容 CPIN = 门限电压 VT = ILEAKAGE = 由于各结点产生的引脚 泄漏电流 互连电阻 RIC = 采样开关 SS = CHOLD = 采样 / 保持电容(来自 DAC)  2006 Microchip Technology Inc. RSS 5 6 7 8 9 10 11 采样开关 (kΩ) 初稿 DS41249D_CN 第 87 页 PIC16F785/HV785 12.3 休眠状态下的 A/D 转换 如果 A/D 时钟源为非 RC 方式, SLEEP 指令将导致当 前转换操作中止,并使 A/D 模块关闭。ADON 位保持置 1 状态。 A/D 转换器模块可以在休眠状态下工作。这需要把 A/D 转换时钟设置成 FRC 选项。选择 RC 时钟源后,A/D 需 等待一个指令周期后才能启动转换操作。这就允许执行 一条 SLEEP 休眠指令,从而消除转换过程中的切换噪 声。转换结束后, GO/DONE 位被清零,且转换结果被 装入 ADRESH:ADRESL 寄存器。如果使能了 A/D 中断 (ADIE 和 PEIE 位置 1),器件将从休眠状态唤醒。如 果 GIE 位 (INTCON)被置 1,程序计数器将被设 置为中断向量 (0004h)。如果 GIE 位被清零,将执行 下一条指令。如果 A/D 中断未使能,即使 ADON 位保 持置 1, A/D 模块也将被关闭。 图 12-5: A/D 转换功能 满量程 3FFh 3FEh 3FDh A/D 输出代码 3FCh 1 LSB 理想状况 3FBh 满量程 转换 004h 003h 002h 001h 000h 模拟输入电压 1 LSB 理想状况 0V DS41249D_CN 第 88 页 VREF 零量程 转换 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 12.4 复位的影响 必须选择适当的模拟输入通道并在 “特殊事件触发器” 将 GO/DONE 位置 1(启动转换)前完成最小采集时间。 器件复位将强制所有寄存器进入复位状态。因此, A/D 模 块 将 被 关 闭,任 何 进 行 中 的 转 换 操 作 被 中 止。 ADRESH:ADRESL 寄存器中的值不变。 12.5 如果 A/D 模块未使能 (ADON 被清零),则 “特殊事件 触发器”将被A/D 模块忽略,但仍会使 Timer1 计数器复 位。更多信息,请参见第 8.0 节 “捕捉 / 比较 /PWM (CCP)模块”。 CCP 触发器的使用 A/D 转换可以通过 CCP 模块的 “特殊事件触发器”来 启 动。这 要 求 CCP1M3:CCP1M0 位 (CCP1CON)设置为 1011 并且使能 A/D 模块 (ADON 位置 1)。当触发信号产生后,GO/DONE 位被 置 1,启动 A/D 转换,并且 Timer1 计数器被复位为 0。 Timer1被复位以便用最小的软件开销自动重复A/D采集 周期 (将 ADRESH:ADRESL 移至目标位置)。 表 12-3: 地址 A/D 寄存器汇总 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR/BOR 时的值 所有其他 复位值 05h,105h PORTA — — RA5 RA4 RA3 RA2 RA1 RA0 --xx xxxx --uu uuuu 06h,106h PORTB RB7 RB6 RB5 RB4 — — — — xxxx ---- uuuu ---- 07h,107h PORTC RC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0 xxxx xxxx uuuu uuuu GIE PEIE T0IE INTE RAIE T0IF INTF RAIF 0000 0000 0000 0000 EEIF ADIF CCP1IF C2IF C1IF OSFIF TMR2IF TMR1IF 0000 0000 0000 0000 0Bh,8Bh, INTCON 10Bh,18Bh 0Ch PIR1 1Eh ADRESH 1Fh ADCON0 左对齐 A/D 结果的高 8 位或右对齐 A/D 结果的高 2 位 ADFM VCFG CHS3 CHS2 CHS1 CHS0 GO/DONE ADON xxxx xxxx uuuu uuuu 0000 0000 0000 0000 85h,185h TRISA — — TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 --11 1111 --11 1111 86h,186h TRISB TRISB7 TRISB6 TRISB5 TRISB4 — — — — 1111 ---- 1111 ---- 87h,187h TRISC TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 1111 1111 1111 1111 8Ch PIE1 EEIE ADIE CCP1IE C2IE C1IE OSFIE TMR2IE TMR1IE 0000 0000 0000 0000 91h ANSEL0 ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0 1111 1111 1111 1111 93h ANSEL1 — — — — ANS11 ANS10 ANS9 ANS8 ---- 1111 ---- 1111 9Eh ADRESL 9Fh ADCON1 图注: 左对齐 A/D 结果的低 2 位或右对齐 A/D 结果的低 8 位 — ADCS2 ADCS1 ADCS0 — — — — xxxx xxxx uuuu uuuu -000 ---- -000 ---- x = 未知, u = 不变, - = 未实现,读为 0。 A/D 模块不使用阴影单元。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 89 页 PIC16F785/HV785 注: DS41249D_CN 第 90 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 13.0 双相 PWM 公式 13-2: 双相 PWM(脉宽调制器)是一种独立的外设,它支持: PhaseDEG = • 单相或双相 PWM • 带重叠 / 延时的单互补输出 PWM • 同步输入 / 输出到级联器件以获得更多相位 13.3 将 PWMCON0 寄存器的 PH1EN 或 PH2EN 这两位中的 一位或两位置 1 将激活 PWM 模块 (见寄存器 13-1)。 如果使用了 PH1,则必须清零 TRISC 才能将引脚配 置为输出。使用 PH2 时,也要对 TRISC 执行此操 作。使用互补模式时,必须同时将 PH1EN 和 PH2EN 置 1。 13.1 13.4 主控 / 从动操作 多个芯片可以一起运行(将一个作为主芯片,而其他的 作为从芯片运行)以获取更多相位。如果将 PWM 配置 为主控,则RB7/SYNC引脚为输出,并且将在每个PWM 周期结束时产生一个时长为pwm_clk周期的高电平输出 (见图 13-4)。 PWM 频率 FOSC (2PWMP • (PER + 1) 如果将 PWM 配置为从动,则 RB7/SYNC 引脚为输入。 此配置中来自于主器件的高电平输入将复位 PWM 周期 计数器,该计数器用于在每个 PWM 周期结束时同步从 单元。要正确运行从器件,需要有一个公共的外部 FOSC 时钟源来驱动主器件和从器件。从器件的 PWM 预分频 值必须与主器件的预分频值相同。如前所述,从动周期 计数值必须大于或等于主控周期计数值。 由于周期计数值必须大于 0,所以 PWM 的最大频率为 FOSC/2。 在从动模式下,周期计数器将 SYNC 输入复位,SYNC 输入会将主控器件周期计数器复位。为了确保操作正 确,从动周期计数值应该大于等于主控周期计数值。 13.2 PWM 占空比 使能各相位相应的 BLANK 位(BLANKx,见寄存器 13-1), 比较器的输出可被 “阻挡”或输出为空。 BLANK 位禁 止比较器输出长达 1/2 个系统时钟(FOSC),从而确保 PWM 输出至少有 Tosc/2 时间有效。空输出能够避免 PWM 输出因周期开始时的开关瞬态响应而导致的过早 终止。 PWM 周期产生自主时钟 (FOSC)、 PWM 预分频器和 周期计数器 (见图 13-1)。预分频位 (PWMP, 见寄存器 13-2)决定时钟分频的值,它会将系统时钟 (FOSC)分频为 pwm_clk。该 pwm_clk 用于驱动 PWM 计数器。在主控模式下,当计数达到决定 PWM 频率的 周期计数值 (PER,见寄存器 13-2)时, PWM 计数器将被复位。PWM频率、分频比和周期计数值之间 的关系如公式 13-1 所示。 PWM FREQ = 360 (PER + 1) 异步反馈信号经过内部比较器将每个 PWM 输出驱动为 无效,从而终止驱动周期。这样就可将占空比分辨率进 行无 极调整。将相 应的比较 器使能位 (CxEN,见 寄存器 13-3)置 1 可使用两个比较器中的一个或两个来 复位 PWM。可以通过禁止反馈信号来达到 100% 占空 比,否则反馈信号会终止脉冲。 PWM 周期 公式 13-1: 相位分辩率 当 PH1EN 和 PH2EN (PWMCON0)无效时, PWM 计数器被复位并保持为零。如果将 PWM 配置为 从动,则 PWM 计数器将保持复位为零,直到接收到第 一个 SYNC 输入信号为止。 PWM 相位 当相位计数器与相应的 PWM 相位计数值(PH, 见寄存器 13-3 和寄存器 13-4)匹配时,所有使能的相 位输出都将被驱动为有效。相位输出始终保持有效,直 到被比较器或自动关闭激活信号的任一反馈信号终止为 止。 相位粒度 (Granularity)是周期计数值的函数。例如, 如果 PER = 3,则所有输出都将移位 90 度 (见 公式 13-2)。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 91 页 PIC16F785/HV785 13.5 有效的 PWM 输出电平 当关闭事件发生时,PWMASE 位(见寄存器 13-2)由 硬件置 1。如果自动重新启动未使能 (PRSEN = 0,见 寄存器 13-1),则 PWM 操作将不会恢复,直到在关闭 条件被清除后 PWMASE 位被固件清零为止。只要关闭 条件存在就不能清零 PWMASE 位。如果自动重新启动 未使能,则可通过向 PWMASE 位写入 1 来强制执行自 动关闭模式。 可以通过置 1 或复位相应的 POL 位(见寄存器 13-3 和 寄存器 13-4)可将 PWM 输出信号设置为高电平有效或 低电平有效。如果 POL 为 1,则有效输出状态为 VOL。 如果 POL 为 0,则有效输出状态为 VOH。 13.6 自动关闭与自动重新启动 如果使能了自动重新启动(PRSEN = 1),则 PWMASE 位将自动清零,并且 PWM 操作将在自动关闭事件被清 零后恢复 (VIH 在 RA2/AN2/T0CKI/INT/C1OUT 引脚 上)。 使能 PWM 时,可通过将 PASEN 位置 1(见寄存器 13-1) 将 PWM 输出配置为自动关闭模式。如果使能了自动关 闭,则 RA2/AN2/T0CKI/INT/C1OUT 引脚上的 VIL 能够 引发关闭事件。自动关闭事件会立即使 PWM 输出处于 无效状态 (见第 13.5 节 “有效的 PWM 输出电平”), 而且 PWM 相位和周期计数器被复位并保持为零。 图 13-1: 双相 PWM 简化框图 PH1EN PH2EN PWMP PWMASE ÷1,2,4,8 FOSC 预分频 pwm_clk 主控 关闭 PASEN S 相位 计数器 0 1 M 5 RB7/SYNC PER pwm_count 5 PWMPH1 5 BLANK1 S PWMPH1 关闭 PH1EN C1OUT C2OUT R(1) Q pha1 RC1/AN5/C12IN1-/PH1 PWMPH1 PWMPH1 PWMPH2 5 BLANK2 PWMPH2 关闭 PH2EN S R(1) Q pha2 RC4/C2OUT/PH2 PWMPH2 PWMPH2 注 1: 复位优先。 DS41249D_CN 第 92 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 寄存器 13-1: PWMCON0:PWM 控制寄存器 0 (地址:111h) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 PRSEN PASEN BLANK2 BLANK1 SYNC1 SYNC0 PH2EN PH1EN bit 7 bit 0 bit 7 PRSEN:PWM 重新启动使能位 1 = 自动关闭时,一旦清除了关闭条件,PWMASE 关闭位将自动清零。PWM 将自动重新启动。 0 = 自动关闭时,必须在固件中清零 PWMASE 以重新启动 PWM。 bit 6 PASEN:PWM 自动关闭使能位 0 = 禁止 PWM 自动关闭 1 = INT 引脚上的VIL 将引发自动关闭事件 bit 5 BLANK2:PH2 空输出位 (1) 1 = 置 1 后, PH2 引脚至少在 1/2 个 FOSC 时钟周期内有效 0 = 比较器触发有效后立即复位 PH2 引脚 bit 4 BLANK1:PH1 空输出位 (1) 1 = 置 1 后, PH1 引脚至少在 1/2 个 FOSC 时钟周期内有效 0 = 比较器触发有效后立即复位 PH1 引脚 bit 3-2 SYNC:SYNC 引脚功能位 0X = SYNC 引脚不用于 PWM。PWM 充当其自身的主单元。RB7/SYNC 引脚可用于通用 I/O。 10 = SYNC 引脚充当系统从单元,接收 PWM 计数器复位脉冲 11 = SYNC 引脚充当系统主单元,驱动 PWM 计数器复位脉冲 bit 1 PH2EN:PH2 引脚使能位 1 = PH2 引脚由 PWM 信号驱动 0 = PH2 引脚不用于 PWM 功能 bit 0 PH1EN:PH1 引脚使能位 1 = PH1 引脚由 PWM 信号驱动 0 = PH1 引脚不用于 PWM 功能 注 1: 在互补模式下操作时空输出被禁止。更多信息,请参见 PWMCON1 寄存器 (寄存器 13-5)中的 COMOD 位。 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 93 页 PIC16F785/HV785 寄存器 13-2: PWMCLK:PWM 时钟控制寄存器 (地址:112h) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 PWMASE PWMP1 PWMP0 PER4 PER3 PER2 PER1 PER0 bit 7 bit 0 bit 7 PWMASE:PWM 自动关闭事件状态位 0 = PWM 输出正在工作 1 = 关闭事件已发生。 PWM 输出无效。 bit 6-5 PWMP:PWM 时钟预分频位 00 = pwm_clk = FOSC ÷ 1 01 = pwm_clk = FOSC ÷ 2 10 = pwm_clk = FOSC ÷ 4 11 = pwm_clk = FOSC ÷ 8 bit 4-0 PER:PWM 周期位 00000 = 不使用。(周期 = 1/pwm_clk) 00001 = 周期 = 2/pwm_clk2 0.... = . . . 01111 = 周期 = 16/pwm_clk 10000 = 周期 = 17/pwm_clk 1.... = . . . 11110 = 周期 = 31/pwm_clk 11111 = 周期 = 32/pwm_clk 图注: DS41249D_CN 第 94 页 R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 初稿 x = 未知  2006 Microchip Technology Inc. PIC16F785/HV785 寄存器 13-3: PWMPH1:PWM 第 1 相的控制寄存器 (地址:113h) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 POL C2EN C1EN PH4 PH3 PH2 PH1 PH0 bit 7 bit 0 bit 7 POL:PH1 输出极性位 1 = PH1 引脚低电平有效 0 = PH1 引脚高电平有效 bit 6 C2EN:比较器 2 使能位 当 COMOD = 00 时 (1) 1 = 当 C2OUT 变为高电平时 PH1 将复位 0 = PH1 将忽略比较器 2 当 COMOD = X1 时 (1) 1 = 当 C2OUT 变为高电平时互补驱动器将终止 0 = 比较器 2 被忽略 当 COMOD = 10 时 (1) C2EN 不起作用 bit 5 C1EN:比较器 1 使能位 当 COMOD = 00 时 (1) 1 = 当 C1OUT 变为高电平时 PH1 将复位 0 = PH1 将忽略比较器 1 当 COMOD = X1 时 (1) 1 = 当 C1OUT 变为高电平时互补驱动器将终止 0 = 比较器 1 被忽略 当 COMOD = 10 时 (1) C1EN 不起作用 bit 4-0 PH:PWM 相位位 当 COMOD = 00 时 (1) 00000 = 在SYNC脉冲的下降沿后,PH1将开始1个pwm_clk周期。所有其他PH1延时都是 相对于该时间表示的。 00001 = PH1 有 1 个 pwm_clk 脉冲延时 ..... = . . . 11111 = PH1 有 31 个 pwm_clk 脉冲延时 当 COMOD = X1 或 1X 时 (1) 00000 = 在SYNC脉冲的下降沿后,互补驱动器将开始1个pwm_clk周期。所有其他延时都 是相对于该时间表示的。 00001 = 互补驱动器的启动有 1 个 pwm_clk 脉冲延时 ..... = . . . 11111 = 互补驱动器的启动有 31 个 pwm_clk 脉冲延时 注 1: 请参见 PWMCON1 寄存器 (寄存器 13-5)。 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 95 页 PIC16F785/HV785 寄存器 13-4: PWMPH2:PWM 第 2 相的控制寄存器 (地址:114h) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 POL C2EN C1EN PH4 PH3 PH2 PH1 PH0 bit 7 bit 0 bit 7 POL:PH2 输出极性位 1 = PH2 引脚低电平有效 0 = PH2 引脚高电平有效 bit 6 C2EN:比较器 2 使能位 当 COMOD = 00 时 (1) 1 = 当 C2OUT 变为高电平时 PH2 将复位 0 = PH2 将忽略比较器 2 当 COMOD = 1X 或 X1 时 (1) C2EN 不起作用 bit 5 C1EN:比较器 1 使能位 当 COMOD = 00 时 (1) 1 = 当 C1OUT 变为高电平时 PH2 将复位 0 = PH2 将忽略比较器 1 当 COMOD = 1X 或 X1 时 (1) C1EN 不起作用 bit 4-0 PH:PWM 相位位 当 COMOD = 00 时 (1) 00000 = 在SYNC脉冲的下降沿后,PH2将开始1个pwm_clk周期。所有其他PH2延时都是 相对于该时间表示的。 00001 = PH2 有 1 个 pwm_clk 脉冲延时 ..... = . . . 11111 = PH2 有 31 个 pwm_clk 脉冲延时 当 COMOD = 1X 时 (1) 00000 = 在 SYNC 脉冲的下降沿后,互补驱动器将终止 1 个 pwm_clk 周期。所有其他 PH2 延时都是相对于该时间表示的。 00001 = 互补驱动器的终止有 1 个 pwm_clk 脉冲延时 ..... = . . . 11111 = 互补驱动器的终止有 31 个 pwm_clk 脉冲延时 当 COMOD = 01 时 (1) PH 不起作用 注 1: 请参见 PWMCON1 寄存器 (寄存器 13-5)。 图注: DS41249D_CN 第 96 页 R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 初稿 x = 未知  2006 Microchip Technology Inc. PIC16F785/HV785 图 13-2: 双相 PWM 自动关闭与同步时序 FOSC PWMP = 0X01, PER = 0X03 pwm_clk 主控 pwm_count 0 1 2 0 1 2 1 2 3 0 1 2 1 2 3 0 SYNC Phase1 设置:PH = 0x00, C1EN = 1, BLANK1 = 0 pha1 SHUTDOWN 从动 pwm_clk pwm_count 0 1 2 0 3 0 3 0 Phase2 设置:PH = 0x02, C2EN = 1, BLANK2 = 1 pha2 图 13-3: 双相 PWM 启动时序 FOSC PWMP = 0X01, PER = 0X03 主控 pwm_clk pwm_count 0 1 2 0 1 2 3 0 1 2 0 SYNC PHnEN 从动 pwm_clk pwm_count 3 0 1 2 3 PHnEN  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 97 页 PIC16F785/HV785 13.7 电阻分压器 R5 和 R6 按比例调整输出电压,输出电压 是由运放 1 反相并放大,与运放的同相引脚处的参考电 压相关。 R3、 C5 和 C2 组成了放大器的反相稳定增益 反馈电路。 VR 参考电压向运放的同相输入提供稳定的 参考电压,它是由电压源 (由 CCP 的基于辅助时基的 PWM 输出以及 R1 和 C1 建立)调整的。 单相应用示例 图 13-4 给出了单相降压稳压器应用的示例。PWM 输出 通过脉冲驱动 Q1 交替对 L1 充放电。在驱动周期无效循 环期间,C4 将存储 L1 的电荷。R4 和 C3 形成斜波发生 器。 在 PWM 周期开始时,PWM 输出将变为高电平,使 C3 的电压与 L1 的电流同时上升。如果 C3 两端的电压达到 比较器 1 正极输入处的门限电平,则比较器输出将发生 变化,并终止 PWM 向 Q1 的驱动输出。如果不驱动 Q1, 则 Q1 至 L1 的电流路径将被中断,但是由于 L1 中的电 流不能立即停止,所以在 L1 向 C4 放电时,电荷会继续 流过 D2。 D1 将快速使 C3 放电以准备进行下一个充电 周期。 图 13-4: 输出稳定度根据以下原则发生:如果稳压器输出电压过 低,则比较器 1 的同相输入的电压就会上升,从而提高 门限电压而使进入 Q1 的 PWM 驱动脉冲加宽。如果输出 电压过高,则比较器 1 的同相输入的电压就会降低,使 进入 Q1 的 PWM 驱动脉冲变窄。 单相应用示例 CCP PIC16F785 VR R1 R2 C1 OPA1 VUNREG FOSC FET 驱动器 R3 双相 C2 C5 PH1 Q1 PWM L1 C4 C1 D2 R4 D1 R5 C3 R6 DS41249D_CN 第 98 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 13.8 PWM 配置 配置双相 PWM 时要格外小心,避免在 PWM 完全配置 好之前从 PH1 和 PH2 引脚输出有效电平。在首先配置 TRISC 寄存器或任何双相 PWM 控制寄存器之前,建议 采用以下顺序: • 向 PORTC RC1/AN5/C12IN1-/PH1 和 RC4/ C2OUT/PH2 引脚输出无效 (OFF)电平。 • 清零 TRISC bits 1 和 4 以将 PH1 和 PH2 引脚配置为 输出。 • 配置 PWMCLK、 PWMPH1、 PWMPH2 和 PWMCON1 寄存器。 • 配置 PWMCON0 寄存器。 例 13-1: PWM 设置示例 ;Example to configure PH1 as a free running PWM output using the SYNC output as the duty cycle ;termination feedback. ;This requires an external connection between the SYNC output and the comparator input. ;SYNC out = RB7 on pin 10 ;C1 inverting input = RC2/AN6 on pin 14 ;Configure PH1, PH2 and SYNC pins as outputs ;First, ensure output latches are low BCF PORTC,1;PH1 low BCF PORTC,4;PH2 low BCF PORTB,7;SYNC low ;Configure the I/Os as outputs BANKSELTRISB BCF TRISC,1;PH1 output BCF TRISC,4;PH2 output BCF TRISB,7;SYNC output ;PH1 shares its function with AN5 ;Configure AN5 as digital I/O BCF ANSEL0,5;AN5 is digital, all others default as analog ;Configure the PWM but don't enable PH1 or PH2 yet BANKSELPWMCLK ;PWM control setup MOVLWB'00001100';auto shutdown off, no blanking, SYNC on, PH1 and PH2 off MOVWFPWMCON0;see data sheet page 93 ;PWM clock setup MOVLWB'00111101';pwm_clk = Fosc, 30 clocks in PWM period MOVWFPWMCLK;see data sheet page 94 ;PH1 setup MOVLWB'00101111';non-inverted, terminate on C1, Start on clock 15 MOVWFPWMPH1;see data sheet page 95 ;PH2 setup MOVLWB'00110101';non-inverted, terminate on C1, Start on clock 21 MOVWFPWMPH2;see data sheet page 96 ;Configure Comparator 1 MOVLWB'10011110';C1 on, internal, inverted, normal speed, +:C1VREF, -:AN6 MOVWFCM1CON0;see data sheet page 68 ;Configure comparator voltage reference BANKSELVRCON MOVLWB'10101100';C1VREN on, low range, CVREF= VDD/2 MOVWFVRCON;see data sheet page 71 ;Everything is setup at this point so now it is time to enable PH1 BANKSELPWMCON0 BSF PWMCON0,PH1EN;enable PH1 ;Module is running autonomously at this point  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 99 页 PIC16F785/HV785 13.9 13.9.2 互补输出模式 重叠控制 可以将双相 PWM 模块配置为在互补输出模式下运行, 这时 PH1 和 PH2 总是异相 180 度(见图 13-5)。有三 种互 补 模 式 可 用,可 通 过 PWMCON1 寄 存 器 中的 COMOD 位选择 (见寄存器 13-5)。这些模式的 不同之处在于在 PWM 周期内, PH1 和 PH2 输出从有 效切换到无效时使用的方法。 要实现重叠时序需要执行以下操作:配置互补模式为期 望的输出极性和重叠时间 (即死区时间),然后交换输 出连接并反相输出。例如,要将互补驱动的重叠时间配 置为 55 ns,并在 PH1 上输出高电平有效的驱动信号而 在 PH2 上输出低电平有效的驱动信号,请按如下所示设 置 PWM 控制寄存器: 使用互补模式时,有三种方法可以控制占空比。这些模 式是用 COMOD 位 (见寄存器 13-5)选择的。在 这 三 种 模 式 中,占 空 比 会 在 pwm_count = PWMPH1时启动,并在满足以下任 一条件时终止: • • • • • • • • 将 PH1 驱动器连接到 PH2 输出 将 PH2 驱动器连接到 PH1 输出 将 PORTC 初始化为 1 (PH2 驱动器关闭) 将 PORTC 初始化为 0 (PH1 驱动器关闭) 将 TRISC 置 0 (输出) 将 PWMPH1 置 1 (反相 PH1) 将 PWMPH2 置 1 (同相 PH2) 将 PWMCON1 设置为 55 ns 延时和期望的终止(比 较器和 / 或计数) • 将 PWMCON0 设置为期望的 SYNC 和自动关闭配 置,使能 PH1 和 PH2 • 通过 C1 或 C2 反馈。 • 当 pwm_count 等于 PWMPH1 时。 • 复合反馈与 pwm_count 匹配。 如果 COMOD = 01,则只有通过比较器 C1 或 C2 的反馈才能控制占空比。此模式下,有效的驱动循环将 在 pwm_count 等于 PWMPH1 时启动,并在比较 器 C1 的输出变为高电平时 (如果由 PWMPH1 = 1 使能)或比 较 器 C2 的 输出 变 为 高电 平 时 (如 果 由 PWMPH1 = 1 使能)终止。 13.9.3 关闭互补模式 关闭时, PH1 和 PH2 互补输出被强制为无效状态 (见 图 13-5)。关闭停止时, PWM 输出会恢复为它在首个 周期时的启动状态,即 PH1 无效(未驱动输出)和 PH2 有效 (驱动输出)。 如果 COMOD = 10,则只有 PWM 相位计数器才 能 控 制 占 空 比。此 模 式 下,有 效 的 驱 动 循 环 将 在 pwm_count 等 于 PWMPH1 时 启 动,并在 pwm_count 等于 PWMPH2 时终止。例如,可以 通过设置 COMOD = 10 并为 PWMPH1 和 PWMPH2 选择适当的值达到自由运行 50% 的占 空比。 如果 COMOD = 11,则将使用相位计数器或通过 比较器 C1 或 C2 的反馈来控制占空比。例如,此模式 下,最大的占空比由 PWMPH1(占空比开始)和 PWMPH2 (占空比结束)的值确定。可以通过比 较器C1或C2的反馈提早终止占空比(相对于最大值)。 13.9.1 死区控制 互补输出模式在每个相位输出之间提供死区驱动时序, 因此可用于驱动串联的 MOSFET 驱动器(见图 13-6)。 死区时间可通过 PWMCON1 寄存器的 CMDLY 位 选择。分辨率为 5 纳秒(典型值)时,死区延时为 0 到 155 纳秒 (典型值)。 DS41249D_CN 第 100 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 寄存器 13-5: PWMCON1:PWM 控制寄存器 1 (地址:110h) U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 — COMOD1 COMOD0 CMDLY4 CMDLY3 CMDLY2 CMDLY1 CMDLY0 bit 7 bit 0 bit 7 未实现:读为 0 bit 6-5 COMOD:互补模式选择位 (1) 00 = 正常的双相操作。禁止互补模式。 01 = 互补操作。占空比由 C1OUT 或 C2OUT 终止。 10 = 互补操作。占空比由 PWMPH2 = pwm_count 终止。 11 = 互补操作。占空比由 PWMPH2 = pwm_count 或 C1OUT 或 C2OUT 终止。 bit 4-0 CMDLY:互补驱动死区时间位 (典型值) 00000 = 延时 = 0 00001 = 延时 = 5 ns 00010 = 延时 = 10 ns ..... = . . . 11111 = 延时 = 155 ns 注 1: 必须将 PWMCON0 设置为 11,才能以互补模式操作。 图注: 图 13-5: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 x = 未知 互补输出 PWM 框图 PH1EN pwm_reset PH2EN PS PWMASE 关闭 PASEN FOSC 主控 S pwm_clk 0 相位复位 计数器 预分频 1 M 5 RB7/SYNC PER pwm_count 5 PWMPH1 5 延时 PWMPH1 S Q 5 pha1 RC1/AN5/C12IN1-/PH1 R (1) CMDLY 5 5 PWMPH2 11 PWMPH2 延时 10 PWMPH1 C1OUT S 01 Q pwm_reset PWMPH1 C2OUT 注 1: pha2 RC4/C2OUT/PH2 COMOD 关闭 R(1) 复位优先。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 101 页 PIC16F785/HV785 图 13-6: 互补输出 PWM 时序 FOSC PWMP = 0X01, PER = 0X03 pwm_clk 3 pwm_count 0 1 2 3 0 1 0 2 1 3 0 1 SYNC C1OUT 第 1 相的设置:PH = 0x00, C1EN = 1, BLANKx = X, COMOD = 0x01 第1相 第2相 延时 延时 关闭 表 13-1: 地址 与 PWM 相关的寄存器 / 位 Bit 7 名称 98h REFCON 99h VRCON 119h Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR/ BOR 时的值 所有其他 复位值 --00 000- — — BGST VRBB VREN VROE CVROE — --00 000- C1VREN C2VREN VRR — VR3 VR2 VR1 VR0 000- 0000 000- 0000 CM1CON0 C1ON C1OUT C1OE C1POL C1SP C1R C1CH1 C1CH0 0000 0000 0000 0000 C2OUT C2OE C2POL 11Ah CM2CON0 C2ON 110h PWMCON1 — 111h PWMCON0 PRSEN PASEN BLANK2 112h PWMCLK PWMASE PWMP1 PWMP0 113h PWMPH1 POL C2EN 114h PWMPH2 POL C2EN 图注: x = 未知, u = 不变, – = 未实现,读为 0, q = 值取决于具体条件。数据 PWM 模块不使用阴影单元。 DS41249D_CN 第 102 页 C2SP C2R C2CH1 C2CH0 0000 0000 0000 0000 CMDLY3 CMDLY2 CMDLY1 CMDLY0 -000 0000 -000 0000 BLANK1 SYNC1 SYNC0 PH2EN PH1EN 0000 0000 0000 0000 PER4 PER3 PER2 PER1 PER0 0000 0000 0000 0000 C1EN PH4 PH3 PH2 PH1 PH0 0000 0000 0000 0000 C1EN PH4 PH3 PH2 PH1 PH0 0000 0000 0000 0000 COMOD1 COMOD0 CMDLY4 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 14.0 数据 EEPROM 存储器 EEPROM 数据存储器允许以字节为单位读写。字节写 操作会自动擦除地址单元并写入新数据 (在写入前擦 除)。EEPROM 数据存储器可用于高速擦除 / 写周期的 操作。写操作时间由一个片内定时器控制,并随电压、 温度以及芯片的差异而有所变化。具体的限定值,请参 见第 19.0 节 “电气规范”中的 AC 技术规范。 在正常操作期间 (整个 VDD 范围内), EEPROM 数据 存储器是可读写的。该存储器并不直接映射到寄存器文 件空间,而是通过特殊功能寄存器来间接寻址。共有 4 个 SFR 可用于对该存储器进行读写操作,如下: • EECON1 当数据存储器处于代码保护状态时, CPU 仍可对数据 EEPROM 存储器进行读写操作。器件编程器不能再访 问数据 EEPROM 的数据,将读为 0。 • EECON2 (不是实际存在的寄存器) • EEDAT • EEADR 关于数据 EEPROM 的更多信息,请参见 《PIC® 中档 单片机系列参考手册》(DS33023_CN)。 EEDAT 存放 8 位读 / 写数据,而 EEADR 存放被访问的 EEPROM 存储单元的地址。PIC16F785/HV785 器件有 256 字节的数据 EEPROM,地址范围从 0h 到 FFh。 寄存器 14-1: EEDAT:EEPROM 数据寄存器 (地址:9Ah) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 EEDAT7 EEDAT6 EEDAT5 EEDAT4 EEDAT3 R/W-0 R/W-0 EEDAT2 EEDAT1 bit 7 bit 7-0 R/W-0 EEDAT0 bit 0 EEDATn:写入或读取数据 EEPROM 位的字节值 图注: 寄存器 14-2: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零 x = 未知 EEADR:EEPROM 地址寄存器 (地址:9Bh) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 EEADR7 EEADR6 EEADR5 EEADR4 EEADR3 R/W-0 R/W-0 EEADR2 EEADR1 EEADR0 bit 7 bit 7-0 R/W-0 bit 0 EEADR:指定 EEPROM 读 / 写操作位的 256 个地址单元之一 图注: R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 1=置1 0 = 清零  2006 Microchip Technology Inc. 初稿 x = 未知 DS41249D_CN 第 103 页 PIC16F785/HV785 14.1 EECON1 和 EECON2 寄存器 当写操作完成时,中断标志位 EEIF (PIR1)被置 1。该位必须用软件清零。 EECON1 为控制寄存器,但实际只使用了其中的低 4 位。该寄存器中的高 4 位未使用,读为 0。 EECON2 不是实际存在的寄存器。读 EECON2 将得到 全 0。EECON2 是数据 EEPROM 写操作序列的专用寄 存器。 控制位 RD 和 WR 分别用于启动读和写操作。这些位不 能清零,只能通过软件置 1。在读或写操作完成后,由 硬件将它们清零。由于无法用软件将 WR 位清零,可避 免写操作意外过早终止。 注: 当 WREN 位置 1 时,允许进行写操作。上电时,WREN 位被清零。当正常工作期间,如果写操作被 MCLR 复位 或 WDT 超时复位中断,则 WRERR 位将被置 1。在这 些情形下,用户可在复位结束后检查 WRERR 位,将其 清零并重新写入地址单元。EEDAT 和 EEADR 寄存器通 过复位被清零。因此,需要对 EEDAT 和 EEADR 寄存 器进行重新初始化。 寄存器 14-3: EECON1、EEDAT 和 EEADR 寄存器应在 数据 EEPROM 写操作期间 (WR 位 = 1) 进行修改。 EECON1:EEPROM 控制寄存器 (地址:9Ch) U-0 U-0 U-0 U-0 R/W-x R/W-0 R/S-0 R/S-0 — — — — WRERR WREN WR RD bit 7 bit 0 bit 7-4 未实现:读为 0 bit 3 WRERR:EEPROM 出错标志位 1 = 写操作过早终止 (由正常工作期间任何 MCLR 复位或 WDT 复位;或 BOR 复位所致) 0 = 写操作完成 bit 2 WREN:EEPROM 写使能位 1 = 允许写周期 0 = 禁止写入数据 EEPROM bit 1 WR:写控制位 1 = 启动写周期(一旦写操作完成,该位就硬件清零。用软件只能将 WR 位置 1,但不能清零。) 0 = 数据 EEPROM 写周期完成 bit 0 RD:读控制位 1 = 启动 EEPROM 读操作(读操作为一个周期。RD 位由硬件清零。用软件只能将 RD 位置 1, 但不能清零。) 0 = 不启动 EEPROM 读操作 图注: DS41249D_CN 第 104 页 R = 可读位 W = 可写位 U = 未实现位,读为 0 - n = POR 值 S = 只能置 1 的位 0 = 清零 初稿 x = 未知  2006 Microchip Technology Inc. PIC16F785/HV785 14.2 从 EEPROM 数据存储器读取数据 一个写序列启动后,将 WREN 位清零不会影响此写周 期。除非 WREN 位置 1,否则 WR 位将被禁止置 1。 如例 14-1 中所示,为了读取数据存储器的地址,用户必 须先将地址写到 EEADR 寄存器中,并将控制位 RD (EECON1)置 1。在 紧 接 着 的 下 一 个周期, EEDAT 寄存器中的数据即可使用。因此,可在下一条指 令读取。 EEDAT 将保留该值直至另一次读操作开始或 用户写入新值 (在写操作期间)。 例 14-1: BSF BCF MOVLW MOVWF BSF MOVF 写周期完成时, WR 位由硬件清零并且 EE 写完成中断 标志位 (EEIF)被置 1。用户可以使能此中断或查询此 位。 EEIF 位 (PIR1)寄存器必须用软件清零。 14.4 写校验 根据具体应用,将写入数据 EEPROM 的值与期望写入 值相校验 (见例 14-3)是一个很好的编程习惯。 读数据 EEPROM STATUS,RP0 ;Bank 1 STATUS,RP1 ; CONFIG_ADDR ; EEADR ;Address to read EECON1,RD ;EE Read EEDAT,W ;Move data to W 例 14-3: BSF BCF MOVF BSF 14.3 向 EEPROM 数据存储器写入数据 XORWF BTFSS GOTO 要向 EEPROM 数据存储单元写入数据,用户应首先将 地址写入 EEADR 寄存器,并将数据写入 EEDAT 寄存 器。随后,用户应按照例 14-2 中所示的特定序列对每一 字节的写操作进行初始化。 必需的顺序 例 14-2: BSF BCF BSF BCF BTFSC GOTO MOVLW MOVWF MOVLW MOVWF BSF BSF 14.4.1 写数据 EEPROM STATUS,RP0 STATUS,RP1 EECON1,WREN INTCON,GIE INTCON,GIE $-2 55h EECON2 AAh EECON2 EECON1,WR INTCON,GIE 写校验 STATUS,RP0 ;Bank 1 STATUS,RP1 ; EEDAT,W ;EEDAT not changed ; from previous write EECON1,RD ;YES, Read the ; value written EEDAT,W ; STATUS,Z ;Is data the same WRITE_ERR ;No, handle error ;Yes, continue 数据 EEPROM 的使用 数据 EEPROM 是高耐久性可字节寻址的阵列,已将其 优化以便存储频繁变动的信息(例如,程序变量或其他 经常更新的数据) 。如果一个段中的变量经常发生改 变,而另一个段中的变量不发生改变,就可能造成超出 对 EEPROM 的总写周期数(规范 D124),而不超出对 某个字节的总写周期数 (规范 D120 和 D120A)。这种 情况下,必须执行一次阵列刷新。基于此原因,应将不 经常改变的变量(如常量、ID 和校准值等)存储到闪存 程序存储器中。 ;Bank 1 ; ;Enable write ;Disable INTs ;See AN-576 ; ;Unlock write ; ; ; ;Start the write ;Enable INTs 14.5 防止误写操作的保护措施 在有些情况下,用户并不希望写入数据 EEPROM 存储 器。为防止 EEPROM 误写操作,芯片内嵌了各种保护 机制。上电时,WREN 位被清零。而且,上电延时定时 器 (延时 64 ms)也会阻止对 EEPROM 进行写操作。 如果没有完全按照例 14-2 中的指令序列(即首先将 55h 写入 EECON2,随后将 AAh 写入 EECON2,最后将 WR 位置 1)写每个字节,将不会启动写操作。我们强 烈建议在上述代码段的执行期间禁止所有中断。在执行 所需序列的同时执行一次周期计数操作。如果周期计数 值与指令序列执行时所需周期数不符,则将禁止数据写 入 EEPROM。 写操作的启动顺序和 WREN 位有助于防止欠压、电源 毛刺和软件故障期间意外误写操作的发生。 此外,必须将 EECON1 中的 WREN 位置 1 以使能写操 作。这种机制可防止由于代码执行错误 (异常)(即程 序跑飞)导致误写数据 EEPROM。除对 EEPROM 进行 更新时,用户应该始终保持 WREN 位清零。 WREN 位 不会被硬件清零。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 105 页 PIC16F785/HV785 14.6 代码保护期间的数据 EEPROM 操作 在配置字 (寄存器 15-1)中将 CPD 设定为 0,可对数 据存储器进行代码保护。 数据存储器被代码保护时,CPU 可以对数据 EEPROM 进行读写操作。建议用户在对数据存储器进行代码保护 的同时,也对程序存储器进行代码保护。这将防止有人 通过在已有代码上写入零(作为 NOP 执行),进入在未 使用的程序存储器中加出的程序代码段,从而达到导出 数据存储器内容的目的。在未使用的地址单元中写入 0 也可防止数据存储器的代码保护遭受破坏。 表 14-1: 地址 与数据 EEPROM 相关的寄存器 / 位 名称 0Bh,8Bh, INTCON 10Bh,18Bh Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR/BOR 时的值 所有其他 复位值 GIE PEIE T0IE INTE RAIE T0IF INTF RAIF 0000 0000 0000 0000 0Ch PIR1 EEIF ADIF CCP1IF C2IF C1IF OSFIF TMR2IF TMR1IF 0000 0000 0000 0000 8Ch PIE1 EEIE ADIE CCP1IE C2IE C1IE OSFIE TMR2IE TMR1IE 0000 0000 0000 0000 9Ah EEDAT EEDAT7 EEDAT6 EEDAT5 EEDAT4 EEDAT3 EEDAT2 EEDAT1 EEDAT0 0000 0000 0000 0000 9Bh EEADR EEADR7 EEADR6 EEADR5 EEADR4 EEADR3 EEADR2 EEADR1 EEADR0 0000 0000 0000 0000 9Ch EECON1 ---- x000 ---- q000 9Dh EECON2 ---- ---- ---- ---- 图注: — — — — WRERR EEPROM 控制寄存器 2 (不是实际存在的寄存器) WREN WR RD x = 未知, u = 不变, – = 未实现,读为 0, q = 值取决于具体条件。数据 EEPROM 模块不使用阴影单元。 DS41249D_CN 第 106 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 15.0 CPU 的特殊功能 15.1 配置位 可以通过对配置位编程 (读为 0)或不编程 (读为 1) 来选择不同的器件配置,如寄存器 15-1 所示。这些位映 射到程序存储器地址单元 2007h 中。 PIC16F785/HV785 有许多功能,旨在最大限度地提高 系统可靠性,通过减少外部元件将成本降至最低,并提 供省电工作模式和代码保护功能。 这些功能包括: 注: • 复位: - 上电复位 (POR) - 上电延时定时器 (PWRT) - 振荡器起振定时器 (OST) - 欠压复位 (BOR) • 中断 • 看门狗定时器 (WDT) • 振荡器选择 • 休眠 • 代码保护 • ID 地址单元 • 在线串行编程 (ICSP™) 地址 2007h 超出了用户程序存储器空间范 围。它属于 特殊配置存储器空间 (2000h3FFFh),只能在编程时对其进行访问。更 多 信 息,请 参 见 “PIC16F785/HV785 Memory Programming Specification” (DS41237)。 PIC16F785/HV785 有两个定时器提供必要的上电延 时。一个是振荡器起振定时器 (OST),旨在确保芯片 在晶体振荡器达到稳定之前始终处于复位状态。另一个 是上电延时定时器 (PWRT),仅在上电时提供 64 ms (标称值)的固定延时,用来确保器件在供电电压稳定 之前处于复位状态。还有当器件发生欠压时使器件复位 的 电 路,该 电 路 可 使 用 上 电 延 时 定 时 器,提 供 至 少 64 ms 的复位延时。有了这三种片上功能,绝大多数应 用就无需再外接复位电路了。 休眠模式的设计是为了提供了电流极低的掉电模式。用 户可通过外部复位、看门狗定时器唤醒或中断将器件从 休眠模式唤醒。 有几种振荡器模式可供选择,以使器件适应各种应用。 选择 INTOSC 可节约系统成本,而选择 LP 晶振可以节 能。通过配置位的设定可选择不同选项(见寄存器 15-1)。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 107 页 PIC16F785/HV785 寄存器 15-1: — — CONFIG:配置字 (地址:2007h) FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE PWRTE WDTE FOSC2 FOSC1 FOSC0 bit 13 bit 0 bit 13-12 未实现:读为 1 bit 11 FCMEN:故障保护时钟监控器使能位 (5) 1 = 使能故障保护时钟监控器 0 = 禁止故障保护时钟监控器 bit 10 IESO:内 / 外部切换位 1 = 使能内 / 外部切换模式 0 = 禁止内 / 外部切换模式 bit 9-8 BOREN:欠压复位选择位 (1) 11 = 使能 BOR 10 = 运行时使能 BOR,休眠时禁止 BOR 01 = SBOREN 位 (PCON)控制 BOR 00 = 禁止 BOR CPD:数据代码保护位 (2), (3) 1 = 禁止数据存储器代码保护 0 = 使能数据存储器代码保护 bit 7 bit 6 CP:代码保护位 (2) 1 = 禁止程序存储器代码保护 0 = 使能程序存储器代码保护 bit 5 MCLRE: RA3/MCLR 引脚功能选择位 (4) 1 = RA3/MCLR 引脚功能为 MCLR 0 = RA3/MCLR 引脚功能为数字输入, MCLR 内部连接到 VDD bit 4 PWRTE:上电延时定时器使能位 1 = 禁止 PWRT 0 = 使能 PWRT bit 3 WDTE:看门狗定时器使能位 (5) 1 = 使能 WDT 0 = 禁止 WDT,但可以通过 SWDTEN 位 (WDTCON)使能 bit 2-0 FOSC:振荡器选择位 111 = RC 振荡器:RA4/AN3/T1G/OSC2/CLKOUT 引脚为 CLKOUT 功能, RA5/T1CKI/OSC1/CLKIN 引脚上连接 RC 110 = RCIO 振荡器:RA4/AN3/T1G/OSC2/CLKOUT 引脚为 I/O 功能, RA5/T1CKI/OSC1/CLKIN 引脚上连接 RC 101 = INTOSC 振荡器:RA4/AN3/T1G/OSC2/CLKOUT 引脚为 CLKOUT 功能,RA5/T1CKI/OSC1/CLKIN 引脚为 I/O 功能 100 = INTOSCIO 振荡器:RA4/AN3/T1G/OSC2/CLKOUT 引脚为 I/O 功能,RA5/T1CKI/OSC1/CLKIN 引脚为 I/O 功能 011 = EC:RA4/AN3/T1G/OSC2/CLKOUT 引脚为 I/O 功能, RA5/T1CKI/OSC1/CLKIN 引脚上为 CLKIN 010 = HS 振荡器:RA4/AN3/T1G/OSC2/CLKOUT 和 RA5/T1CKI/OSC1/CLKIN(5) 引脚上连接高速晶振 / 谐振器 001 = XT 振荡器:RA4/AN3/T1G/OSC2/CLKOUT 和 RA5/T1CKI/OSC1/CLKIN(5) 引脚上连接晶振 / 谐振器 000 = LP 振荡器:RA4/AN3/T1G/OSC2/CLKOUT 和 RA5/T1CKI/OSC1/CLKIN(5) 引脚上连接低功耗晶振 注 1: 2: 3: 4: 5: 使能欠压复位并不能自动使能上电延时定时器。 必须执行程序存储器批量擦除以关闭代码保护。 当关闭代码保护时,将擦除整个数据 EEPROM 的内容。 当 MCLR 在 INTOSC 或 RC 模式下被拉为低电平时,将禁止内部时钟振荡器。 如果 HS、 XT 或 LP 振荡器在故障保护模式下发生故障,看门狗超时仅会发生一次,发生超时后看门狗被 禁止,直至振荡器恢复。 图注: R = 可读位 -n = POR 值 DS41249D_CN 第 108 页 W = 可写位 1=置1 U = 未实现位,读为 0 0 = 清零 初稿 x = 未知  2006 Microchip Technology Inc. PIC16F785/HV785 15.2 它们不受 WDT 唤醒的影响,因为这被视为恢复正常工 作。如表 15-2 所示,TO 和 PD 位在不同的复位情形下 会分别被置 1 或清零。这些位在软件中用于判断复位的 性质。关于所有寄存器的复位状态的完整说明,请参见 表 15-4。 复位 PIC16F785/HV785 有以下几种不同类型的复位: • • • • • • 上电复位 (POR) 正常工作期间的 WDT 复位 休眠期间的 WDT 复位 正常工作期间的 MCLR 复位 休眠期间的 MCLR 复位 欠压复位 (BOR) 图 15-1 给出了片上复位电路的简化框图。 MCLR 复位路径上有一个噪声滤波器,用来检测并滤除 小脉冲。关于脉冲宽度规范,请参见第 19.0 节 “电气 规范”。 有些寄存器不受任何复位的影响;在上电复位时它们的 状态未知,而在其他复位时状态不变。大多数寄存器在 以下复位时会复位到各自的 “复位状态”: • • • • • 上电复位 MCLR 复位 休眠期间的 MCLR 复位 WDT 复位 欠压复位 (BOR) 图 15-1: 片上复位电路的简化框图 外部复位 MCLR/VPP 引脚 Sleep WDT 模块 WDT 超时复位 上电复位 VDD 上升沿 检测 VDD 欠压 (1) 复位 BOREN SBOREN S 10 位纹波计数器 R OST/PWRT OST Chip_Reset Q OSC1/ CLKI 引脚 PWRT LFINTOSC 11 位纹波计数器 使能 PWRT 使能 OST 注 1: 请参见配置字寄存器 (寄存器 15-1)。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 109 页 PIC16F785/HV785 15.2.1 通过清零配置字中的 MCLRE 位,可使能内部 MCLR 选 项。清零后,MCLR 将内部连接到 VDD,且 MCLR 引脚 将使能内部弱上拉。通过选择内部 MCLR 选项, RA3/ MCLR/VPP 引脚的 VPP 功能将不受影响。 上电复位 在 VDD 达到足以使器件正常工作的电平之前,片上上电 复位电路将使器件保持在复位状态。需要一个最小上升 速率才能达到 VDD。详见第 19.0 节 “电气规范”。如 果使能了欠压复位,那么该最小上升速率规范将不再适 用。欠压复位电路将使器件保持在复位状态,直到 VDD 达到 VBOR (见第 15.2.4 节 “欠压复位 (BOR)”)。 15.2.3 上电延时定时器仅在上电(上电复位或欠压复位)时提 供一个 64 ms (标称值)的固定延时。上电延时定时器 采用 LFINTOSC 振荡器作为时钟源,工作频率为 31 kHz。更多信息,请参见第 3.4 节“内部时钟模式”。 只要 PWRT 处于活动状态,芯片就保持在复位状态。 PWRT 延时使 VDD 有足够的时间上升到所需的电平。配 置位 PWRTE 可以禁止 (如果置 1)或使能 (如果清 零)上电延时定时器。虽然不是必需的,但是在使能欠 压复位时也应使能上电延时定时器。 该器件上的 POR 电路具有 POR 重新装配(Rearm)的 电路。该电路的设计旨在当 VDD 降至低于预设的重新装 配电压 (VPARM)时,确保重新装配 POR 电路所需的 最小时间。一旦 VDD 低于重新装配点达到所需的最小时 间时,将重新激活 POR 复位并在 VDD 回到大于 VPOR 值之前保持复位。此时,需要经过 1 µs (典型值)延 时,使 VDD 可以继续上升到高于 VPOR 的安全电压。 当器件开始正常工作 (退出复位条件)时,器件的工作 参数 (即电压、频率和温度等)必须得到满足,以确保 其正常工作。如果不满足这些条件,那么器件必须保持 在复位状态,直到满足工作条件为止。 由于以下原因不同芯片的上电延时定时器的延时也各不 相同: • VDD 差异 • 温度差异 • 制造工艺差异 更多 信 息,请 参 见应 用 笔 记 AN607,“Power-up Trouble Shooting”(DS00607)。 15.2.2 详见直流参数 (第 19.0 节 “电气规范”)。 主清零 (MCLR) 15.2.4 PIC16F785/HV785 在 MCLR 复位路径中有一个噪声滤 波器。该滤波器检测并滤除小脉冲。 MCLR 引脚上 ESD 保护的工作原理与该系列早期器件 有所不同。施加在该引脚上的电压超过规范值将导致 MCLR 复位,并且在 ESD 事件中产生的电流也将超过 器件的规范值。因此, Microchip 建议不要把 MCLR 引 脚直接连接到 VDD。建议使用图 15-2 给出的 RC 网络。 如果 VDD 下降到 VBOR 以下,且持续时间超过参数值 (TBOR)(见第 19.0 节 “电气规范”),欠压状况将使 器件复位。无论 VDD 的变化速率如何,上述情况都会发 生。如果 VDD 低于 VBOR 的时间少于参数值(TBOR), 则不一定会发生复位。 建议的 MCLR 电路 VDD 欠压复位 (BOR) 配置字中的 BOREN0 和 BOREN1 位用于选择 4 种欠压 复位模式中的一种。其中增加了两种模式,允许使用软 件或硬件控制 BOR 的使能。当 BOREN = 01 时, 可由 SBOREN 位 (PCON)使能 / 禁止 BOR,从 而能用软件对其进行控制。通过选择 BOREN,可 使欠压复位在休眠时被自动禁止,从而节约功耗;而在 唤醒后被重新使能。在此模式下,SBOREN 位被禁止。关 于配置字的定义,请参见寄存器 15-1。 应该注意,WDT 复位不会将 MCLR 引脚驱动为低电平。 图 15-2: 上电延时定时器 (PWRT) PIC16F785/HV785 R1 1 kΩ(或更大) 任何复位 (上电复位、欠压复位和看门狗定时器复位 等)都会使器件保持复位状态,直到 VDD 上升到 VBOR 以上 (见图 15-3)。如果使能了上电延时定时器,此时 它 将 启 动,并 且 会 使 器 件 保 持 复 位 状 态 的 时 间 延 长 64 ms。 MCLR C1 0.1 µF (可选,非关键元件) 注: 配置字中的 PWRTE 位用于使能上电延时 定时器。 如果在上电延时定时器运行过程中, VDD 降低到 VBOR 以下,芯片将重新回到欠压复位状态并且上电延时定时 器会恢复为初始状态。一旦 VDD 上升到 VBOR 以上,上 电延时定时器将执行一段 64 ms 的复位。 DS41249D_CN 第 110 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 15.2.5 BOR 校准 PIC16F785/HV785 将 BOR 校准值存储在校准字 (2008h)的熔丝中。使用“PIC16F785/HV785 Memory Programming Specification”(DS41237)中指定的批量 擦除序列时,校准字不会被擦除,因此也不需要编程。 注: 图 15-3: 地址 2008h 超出了用户程序存储器空间范 围。它属于 特殊配置存储器空间 (2000h3FFFh),只能在编程时对其进行访问。更 多 信 息,请 参 见 “PIC16F785/HV785 Memory Programming Specification” (DS41237)。 欠压情形 VDD 内部 复位 VBOR 64 ms(1) VDD 内部 复位 VBOR VDD)................................................................................................................±20 mA 任一 I/O 引脚的最大输出灌电流 ........................................................................................................................ 25 mA 任一 I/O 引脚的最大输出拉电流 ........................................................................................................................ 25 mA PORTA、 PORTB 和 PORTC 的 (联合)最大灌电流 ................................................................................... 200 mA PORTA、 PORTB 和 PORTC 的 (联合)最大拉电流 ................................................................................... 200 mA 注 1: 功耗计算公式为:PDIS = VDD x {IDD – ∑ IOH} + ∑ {(VDD – VOH) x IOH} + ∑(VOl x IOL) † 注意:如果运行条件超过了上述 “绝对极限参数值”,即可能对器件造成永久性损坏。上述值仅为运行条件的极大 值,我们不建议器件运行在该规范范围以外。器件长时间工作在绝对极限参数条件下,其稳定性可能受到影响。 注: MCLR 引脚上若出现低于 VSS 的尖峰电压,感应电流超过 80 mA,可能导致闭锁。因此,在 MCLR 引脚上 施加低电平时,应使用一个 50-100Ω 的串联电阻,而不是将该引脚直接与 VSS 连接。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 141 页 PIC16F785/HV785 图 19-1: 带有模拟禁止的 PIC16F785/HV785 电压-频率图, -40°C ≤ TA ≤ +125°C(2) 5.5 5.0 (3) 4.5 Vdd (伏) 4.0 3.5 3.0 2.5 2.0 0 4 10 8 12 16 20 频率(MHz)(2) 注 1: 阴影区域表示允许的电压频率组合。 2: 频率表示系统时钟频率。使用 HFINTOSC 时,系统时钟为后分频后的时钟。 3: PIC16HV785 的内部并联稳压器使 VDD 保持在 5.0V (标称值)或以下。 DS41249D_CN 第 142 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 19.1 直流特性:PIC16F785/HV785-I (工业级), PIC16F785/HV785-E (扩展级) 标准运行条件 (除非另外说明) 工作温度 工业级为 -40°C ≤ TA ≤ +85°C 扩展级为 -40°C ≤ TA ≤ +125°C 直流特性 参数 编号 最小 值 典型 值† 最大 值 单位 2.0 2.2 2.5 3.0 4.5 — — — — — 5.5 5.5 5.5 5.5 5.5 V V V V V FOSC ≤ 4 MHz: PIC16F785/HV785,关闭 A/D PIC16F785,打开 A/D, 0°C 至 +125°C PIC16F785,打开 A/D, -40°C 至 +125°C 4 MHz ≤ FOSC ≤ 10 MHz 10 MHz ≤ FOSC ≤ 20 MHz 1.5* — — V 器件处于休眠模式 VDD 电压,高于此电压时 内部 POR 释放 — 1.8 — V 详见第 15.2.1 节 “上电复位”。 D003A VPARM VDD 电压,低于此电压时 内部 POR 重新启动 D004 SVDD 确保内部上电复位信号的 VDD 上升率 D005 VBOR 欠压复位 — 1.0 — V 详见第 15.2.1 节 “上电复位”。 0.05* — — — 2.1 — 符号 VDD D001 D001A D001B D001C D001D D002 VDR D003 VPOR 注 特性 供电电压 (2) RAM 数据保持电压 (1) 条件 V/ms 详见第 15.2.1 节 “上电复位”。 V * 这些参数为特性值,但未经测试。 † 除非另外说明,否则 “典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参 考,未经测试。 1: 这是在不丢失 RAM 数据的前提下,休眠模式中 VDD 所能降到的最小电压值。 2: PIC16HV785 器件的最大供电电压为 VSHUNT (见表 19-14)。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 143 页 PIC16F785/HV785 19.2 直流特性:PIC16F785/HV785-I (工业级) (1), (2) 标准运行条件 (除非另外说明) 工作温度 工业级为 -40°C ≤ TA ≤ +85°C 直流 特性 参数 编号 器件特性 D010 供电电流 (IDD) D011 D012 D013 D014 D015 D016 D017 D018 图注: † 注 条件 最小值 典型值 † 最大值 单位 — 9 TBD µA 2.0 — 17 TBD µA 3.0 5.0 VDD — 33 TBD µA — 110 TBD µA 2.0 — 190 TBD µA 3.0 — 330 TBD µA 5.0 — 220 TBD µA 2.0 — 300 TBD µA 3.0 — 540 TBD µA 5.0 — 70 TBD µA 2.0 — 140 TBD µA 3.0 — 260 TBD µA 5.0 — 180 TBD µA 2.0 — 320 TBD µA 3.0 — 580 TBD µA 5.0 — 9 TBD µA 2.0 — 18 TBD µA 3.0 — 35 TBD mA 5.0 — 340 TBD µA 2.0 — 500 TBD µA 3.0 — 0.8 TBD mA 5.0 — 180 TBD µA 2.0 — 320 TBD µA 3.0 — 580 TBD µA 5.0 — 2.8 TBD mA 4.5 — 3.3 TBD mA 5.0 注释 Fosc = 32 kHz LP 振荡器模式 FOSC = 1 MHz XT 振荡器模式 FOSC = 4 MHz XT 振荡器模式 FOSC = 1 MHz EC 振荡器模式 FOSC = 4 MHz EC 振荡器模式 FOSC = 31 kHz INTRC 模式 FOSC = 4 MHz INTOSC 模式 FOSC = 4 MHz EXTRC 模式 FOSC = 20 MHz HS 振荡器模式 TBD = 待定。 除非另外说明,否则“典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参考,未经测试。 1: 上电工作模式下,所有 IDD 测量值的测试条件为:OSC1 = 外部方波,轨到轨摆幅;所有 I/O 引脚为三态引脚,上拉至 VDD ; MCLR = VDD ; WDT 禁止。 2: 供电电流主要受工作电压和频率的影响。其他因素,如 I/O 引脚负载和开关速率、振荡器类型、内部代码执行模式以及 温度等,也会对电流消耗产生影响。 3: 外设电流为基本 IDD 或 IPD 与该外设使能时所额外消耗的电流之和。可通过从该极限值中减去基本 IDD 或 IPD,以确定 外设Δ电流。在计算总电流消耗时应使用最大值。 4: 在休眠模式下,掉电电流并不取决于振荡器的类型。掉电电流的测量条件为器件处于休眠模式,且所有 I/O 引脚处于高 阻状态并接至 VDD。当 A/D 关闭时,它除了消耗很少的泄漏电流外,不消耗任何其他电流。掉电电流参数中包括源自 A/D 模块的任何泄漏电流。 DS41249D_CN 第 144 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 19.2 直流特性:PIC16F785/HV785-I (工业级) (1), (2) (续) 标准运行条件 (除非另外说明) 工作温度 工业级为 -40°C ≤ TA ≤ +85°C 直流 特性 参数 编号 器件特性 D020 掉电基电流 (IPD) (4) D021 D022 D023 D023A D024 D024A D025 D026 D027 D028 图注: † 注 条件 典型值 † 最大值 — 25 TBD nA 2.0 — 45 TBD nA 3.0 最小值 单位 VDD 注释 WDT、 BOR、比较器、 VREF、 T1OSC、运放和 VR 均被禁止 — 85 TBD nA 5.0 — 0.3 TBD µA 2.0 — 1.2 TBD µA 3.0 — 2.2 TBD µA 5.0 — 50 TBD µA 3.0 — 100 TBD µA 5.0 — 150 TBD µA 2.0 — 170 TBD µA 3.0 — 200 TBD µA 5.0 — 3.3 TBD µA 2.0 — 6.1 TBD µA 3.0 — 35 TBD µA 5.0 — 58 TBD µA 2.0 — 85 TBD µA 3.0 — 104 TBD µA 5.0 — 35 TBD µA 2.0 — 45 TBD µA 3.0 — 80 TBD µA 5.0 — 1.8 TBD µA 2.0 — 2.0 TBD µA 3.0 — 3.2 TBD µA 5.0 — 1.2 TBD nA 3.0 — 2.2 TBD nA 5.0 A/D 电流 (3) (未转换) — 10 TBD µA 2.0 VR 电流 (3) — 11 TBD µA 3.0 — 12 TBD µA 5.0 — 150 TBD µA 3.0 — 250 TBD µA 5.0 WDT 电流 (3) BOR 电流 (3) 比较器电流 (3) CxSP = 1 比较器电流 (3) CxSP = 0 CVREF 电流 (3) 低电平范围 CVREF 电流 (3) 高电平范围 (VRR = 0) T1 OSC 电流 (3) 运算放大器电流 (3) TBD = 待定。 除非另外说明,否则“典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参考,未经测试。 1: 上电工作模式下,所有 IDD 测量值的测试条件为:OSC1 = 外部方波,轨到轨摆幅;所有 I/O 引脚为三态引脚,上拉至 VDD ; MCLR = VDD ; WDT 禁止。 2: 供电电流主要受工作电压和频率的影响。其他因素,如 I/O 引脚负载和开关速率、振荡器类型、内部代码执行模式以及 温度等,也会对电流消耗产生影响。 3: 外设电流为基本 IDD 或 IPD 与该外设使能时所额外消耗的电流之和。可通过从该极限值中减去基本 IDD 或 IPD,以确定 外设Δ电流。在计算总电流消耗时应使用最大值。 4: 在休眠模式下,掉电电流并不取决于振荡器的类型。掉电电流的测量条件为器件处于休眠模式,且所有 I/O 引脚处于高 阻状态并接至 VDD。当 A/D 关闭时,它除了消耗很少的泄漏电流外,不消耗任何其他电流。掉电电流参数中包括源自 A/D 模块的任何泄漏电流。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 145 页 PIC16F785/HV785 19.3 直流特性:PIC16F785/HV785-E (扩展级) (1), (2) 标准运行条件 (除非另外说明) 工作温度 扩展级为 -40°C ≤ TA ≤ +125°C 直流 特性 条件 参数 编号 器件特性 D010E 供电电流 (IDD) D011E D012E D013E D014E D015E D016E D017E D018E 图注: † 注 最小值 典型值† — 9 最大值 单位 TBD µA VDD 2.0 — 17 TBD µA 3.0 — 33 TBD µA 5.0 — 110 TBD µA 2.0 — 190 TBD µA 3.0 — 330 TBD µA 5.0 — 220 TBD µA 2.0 — 300 TBD µA 3.0 — 540 TBD µA 5.0 — 70 TBD µA 2.0 — 140 TBD µA 3.0 — 260 TBD µA 5.0 — 180 TBD µA 2.0 — 320 TBD µA 3.0 — 580 TBD µA 5.0 — 9 TBD µA 2.0 — 18 TBD µA 3.0 5.0 — 35 TBD mA — 340 TBD µA 2.0 — 500 TBD µA 3.0 — 0.8 TBD mA 5.0 — 180 TBD µA 2.0 — 320 TBD µA 3.0 — 580 TBD µA 5.0 — 2.8 TBD mA 4.5 — 3.3 TBD mA 5.0 注释 Fosc = 32 kHz LP 振荡器模式 FOSC = 1 MHz XT 振荡器模式 FOSC = 4 MHz XT 振荡器模式 FOSC = 1 MHz EC 振荡器模式 FOSC = 4 MHz EC 振荡器模式 FOSC = 31 kHz INTRC 模式 FOSC = 4 MHz INTOSC 模式 FOSC = 4 MHz EXTRC 模式 FOSC = 20 MHz HS 振荡器模式 TBD = 待定 除非另外说明,否则“典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参考,未经测试。 1: 上电工作模式下,所有 IDD 测量值的测试条件为:OSC1 = 外部方波,轨到轨摆幅;所有 I/O 引脚为三态引脚,上拉至 VDD ; MCLR = VDD ; WDT 禁止。 2: 供电电流主要受工作电压和频率的影响。其他因素,如 I/O 引脚负载和开关速率、振荡器类型、内部代码执行模式以及 温度等,也会对电流消耗产生影响。 3: 外设电流为基本 IDD 或 IPD 与该外设使能时所额外消耗的电流之和。可通过从该极限值中减去基本 IDD 或 IPD,以确定 外设Δ电流。在计算总电流消耗时应使用最大值。 4: 在休眠模式下,掉电电流并不取决于振荡器的类型。掉电电流的测量条件为器件处于休眠模式,且所有 I/O 引脚处于高 阻状态并接至 VDD。当 A/D 关闭时,它除了消耗很少的泄漏电流外,不消耗任何其他电流。掉电电流参数中包括源自 A/D模块的任何泄漏电流。 DS41249D_CN 第 146 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 19.3 直流特性:PIC16F785/HV785-E (扩展级) (1), (2) (续) 标准运行条件 (除非另外说明) 工作温度 扩展级为 -40°C ≤ TA ≤ +125°C 直流 特性 条件 参数 编号 器件特性 D020E 掉电基电流 (IPD) (4) D021E D022E D023E D023E D024E D024E D025E D026E D027E D028E 图注: † 注 最小值 典型值† 最大值 单位 VDD 注释 WDT、 BOR、比较器、 VREF、 T1OSC、运算放大器和 VR 均被禁 止 — 25 TBD nA 2.0 — 45 TBD nA 3.0 — 85 TBD nA 5.0 — 0.3 TBD µA 2.0 — 1.2 TBD µA 3.0 — 2.2 TBD µA 5.0 — 50 TBD µA 3.0 — 100 TBD µA 5.0 — 50 TBD µA 2.0 — 170 TBD µA 3.0 — 200 TBD µA 5.0 — 3.3 TBD µA 2.0 — 6.1 TBD µA 3.0 — 35 TBD µA 5.0 — 58 TBD µA 2.0 — 85 TBD µA 3.0 — 104 TBD µA 5.0 — 35 TBD µA 2.0 — 45 TBD µA 3.0 — 80 TBD µA 5.0 — 1.8 TBD µA 2.0 WDT 电流 (3) BOR 电流 (3) 比较器电流 (3) CxSP = 1 比较器电流 (3) CxSP = 0 CVREF 电流 (3) 低电平范围 CVREF 电流 (3) 高电平范围 T1 OSC 电流 (3) — 2.0 TBD µA 3.0 — 3.2 TBD µA 5.0 — 1.2 TBD nA 3.0 — 2.2 TBD nA 5.0 A/D 电流 (3) (未转换) — 10 TBD µA 3.0 VR 电流 (3) — 11 TBD µA 3.0 — 12 TBD µA 5.0 — 150 TBD µA 3.0 — 250 TBD µA 5.0 运算放大器电流 (3) TBD = 待定 除非另外说明,否则“典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参考,未经测试。 1: 上电工作模式下,所有 IDD 测量值的测试条件为:OSC1 = 外部方波,轨到轨摆幅;所有 I/O 引脚为三态引脚,上拉至 VDD ; MCLR = VDD ; WDT 禁止。 2: 供电电流主要受工作电压和频率的影响。其他因素,如 I/O 引脚负载和开关速率、振荡器类型、内部代码执行模式以及 温度等,也会对电流消耗产生影响。 3: 外设电流为基本 IDD 或 IPD 与该外设使能时所额外消耗的电流之和。可通过从该极限值中减去基本 IDD 或 IPD,以确定 外设Δ电流。在计算总电流消耗时应使用最大值。 4: 在休眠模式下,掉电电流并不取决于振荡器的类型。掉电电流的测量条件为器件处于休眠模式,且所有 I/O 引脚处于高 阻状态并接至 VDD。当 A/D 关闭时,它除了消耗很少的泄漏电流外,不消耗任何其他电流。掉电电流参数中包括源自 A/D模块的任何泄漏电流。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 147 页 PIC16F785/HV785 19.4 直流特性:PIC16F785/HV785-I (工业级), PIC16F785/HV785-E (扩展级) 标准工作条件 (除非另外说明) 工作温度 工业级为 -40°C ≤ TA ≤ +85°C 扩展级为 -40°C ≤ TA ≤ +125°C 直流特性 参数 编号 符号 VIL 特性 最小值 典型值 † 最大值 单位 条件 输入低电压 I/O 端口 D030 带 TTL 缓冲器 D030A D031 带施密特触发器缓冲器 VSS — 0.8 V 4.5V ≤ VDD ≤ 5.5V VSS — 0.15 VDD V 其他情况下 VSS — 0.2 VDD V 整个范围 0.2 VDD V D032 MCLR, OSC1 (RC 模式) (1) VSS — D033 OSC1 (XT 和 LP 模式) VSS — 0.3 V OSC1 (HS 模式) VSS — 0.3 VDD V 2.0 (0.25 VDD + 0.8) — — VDD VDD V V 4.5V ≤ VDD ≤ 5.5V 其他情况下 整个范围 D033A VIH 输入高电压 — I/O 端口 D040 D040A 带 TTL 缓冲器 D041 带施密特触发器缓冲器 MCLR 0.8 VDD — VDD V D042 0.8 VDD — VDD V D043 OSC1 (XT 和 LP 模式) 1.6 — VDD V D043A OSC1 (HS 模式) 0.7 VDD — VDD V D043B OSC1 (RC 模式) 0.9 VDD — VDD V (注 1) IPUR PORTA 弱上拉电流 50* 250 400* µA VDD = 5.0V, VPIN = VSS IIL 输入泄漏电流 (2) D070 D060 I/O 端口 — ±0.1 ±1 µA D060A — ±0.1 ±1 µA D060B 模拟输入 VREF VSS ≤ VPIN ≤ VDD, 引脚处于高阻抗 VSS ≤ VPIN ≤ VDD — ±0.1 ±1 µA VSS ≤ VPIN ≤ VDD D061 MCLR(3) — ±0.1 ±5 µA VSS ≤ VPIN ≤ VDD D063 OSC1 — ±0.1 ±5 µA VSS ≤ VPIN ≤ VDD, XT、 HS 和 LP 振荡器配置 VOL 输出低电压 D080 I/O 端口 — — 0.6 V IOL = 8.5 mA, VDD = 4.5V D083 OSC2/CLKOUT (RC 模式) — — 0.6 V IOL = 1.6 mA, VDD = 4.5V (工业级) IOL = 1.2 mA, VDD = 4.5V (扩展级) VOH 输出高电压 D090 I/O 端口 VDD – 0.7 — — V IOH = -3.0 mA, VDD = 4.5V D092 OSC2/CLKOUT (RC 模式) VDD – 0.7 — — V IOH = -1.3 mA, VDD = 4.5V (工业级) IOH = -1.0 mA, VDD = 4.5V (扩展级) — — 8.5 V RB6 引脚 D193* VOD 图注: * † 注 漏极开路高电压 TBD = 待定 这些参数为特性值,但未经测试。 除非另外说明,否则“典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参考,未经测试。 1: 在 RC 振荡器配置中, OSC1/CLKIN 引脚是施密特触发器输入。不推荐在 RC 模式下使用外部时钟。 2: 负电流定义引脚拉电流。 3: MCLR 引脚上泄漏电流主要取决于所施加电平。规定的电压等级表示正常的运行条件。在不同的输入电压条件下,可能 会测得更大的泄漏电流。 4: 请参见第 105 页的第 14.4.1 节 “数据 EEPROM 的使用”。 DS41249D_CN 第 148 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 19.4 直流特性:PIC16F785/HV785-I (工业级), PIC16F785/HV785-E (扩展级)(续) 标准工作条件 (除非另外说明) 工作温度 工业级为 -40°C ≤ TA ≤ +85°C 扩展级为 -40°C ≤ TA ≤ +125°C 直流特性 参数 编号 符号 特性 最小值 典型值 † 最大值 单位 条件 在 XT、 HS 和 LP 模式下,当 外部时钟用来驱动 OSC1 时 D100 输出引脚的容性负载规范 COSC2 OSC2 引脚 — — 15* pF D101 CIO — — 50* pF 所有 I/O 引脚 数据 EEPROM 存储器 D120 ED 字节擦写次数 100K 1M — E/W -40°C ≤ TA ≤ +85°C D120A ED 字节擦写次数 10K 100K — E/W +85°C ≤ TA ≤ +125°C D121 VDRW 用于读 / 写的 VDD VMIN — 5.5 V 用 EECON1 来读 / 写 VMIN = 最小工作电压 D122 TDEW 擦除 / 写周期时间 — 5 6 ms D123 TRETD 特性保存期 40 — — D124 TREF 刷新之前,总擦除 / 写周期数 (4) 1M 10M — 年 E/W 不违反其他规范的前提下 -40°C ≤ TA ≤ +85°C D130 EP 单元擦写次数 10K 100K — E/W -40°C ≤ TA ≤ +85°C 程序闪存 1K 10K — E/W +85°C ≤ TA ≤ +125°C VMIN — 5.5 V VMIN = 最小工作电压 用于擦除 / 写的 VDD 4.5 — 5.5 V 擦除 / 写周期时间 — 2 2.5 ms 特性保存期 40 — — 年 D130A EP 单元擦写次数 D131 VPR 用于读取的 VDD D132 VPEW D133 TPEW D134 TRETD 图注: * † 注 不违反其他规范的前提下 TBD = 待定 这些参数为特性值,但未经测试。 除非另外说明,否则“典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参考,未经测试。 1: 在 RC 振荡器配置中, OSC1/CLKIN 引脚是施密特触发器输入。不推荐在 RC 模式下使用外部时钟。 2: 负电流定义引脚拉电流。 3: MCLR 引脚上泄漏电流主要取决于所施加电平。规定的电压等级表示正常的运行条件。在不同的输入电压条件下,可能 会测得更大的泄漏电流。 4: 请参见第 105 页的第 14.4.1 节 “数据 EEPROM 的使用”。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 149 页 PIC16F785/HV785 19.5 时序参数符号体系 时序参数符号采用以下格式之一进行创建: 1. TppS2ppS 2. TppS T F 频率 小写字母 (pp)及其含义: pp cc CCP1 ck CLKOUT cs CS T 时间 osc rd OSC1 RD RD 或 WR SCK SS T0CKI di do SDI SDO dt 数据输入 rw sc ss t0 io mc I/O 端口 MCLR t1 T1CKI wr WR 大写字母及其含义: S F 下降 P 周期 H 高 R 上升 I 无效 (高阻) V 有效 L 低 Z 高阻 图 19-2: 负载条件 负载条件 1 负载条件 2 VDD/2 RL CL 引脚 VSS 图注: CL 引脚 VSS RL = 464Ω CL = 50 pF 15 pF DS41249D_CN 第 150 页 对于所有引脚 对于 OSC2 输出 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 图 19-3: 外部时钟时序 Q4 Q1 Q2 Q3 Q4 Q1 OSC1 1 3 4 3 4 2 CLKOUT 表 19-1: 参数 编号 外部时钟时序要求 符号 FOSC 特性 外部 CLKIN 频率 (1) 振荡器频率 (1) 1 TOSC 外部 CLKIN 周期 (1) 振荡器周期 (1) 注 2 3 TCY TosL, TosH 指令周期时间 (1) 外部 CLKIN (OSC1)高 外部 CLKIN 低 4 TosR, TosF 外部 CLKIN 上升时间 外部 CLKIN 下降时间 最小值 典型值 † 最大值 单位 条件 — DC DC DC — — DC 0.1 1 — 32.768 — — — 32.768 4 — — — 0.3052 — 4 20 20 — — 4 4 20 — kHz MHz MHz MHz kHz MHz MHz MHz MHz µs 50 — ∞ ns HS 振荡器模式 50 — ∞ ns EC 振荡器模式 LP 模式 (仅限互补输入) XT 模式 HS 模式 EC 模式 LP 振荡器模式 INTOSC 模式 RC 振荡器模式 XT 振荡器模式 HS 振荡器模式 LP 模式 (仅限互补输入) 250 — ∞ ns XT 振荡器模式 — — 250 250 50 0.3052 250 — — — — — — 10,000 1,000 µs ns ns ns ns LP 振荡器模式 INTOSC 模式 RC 振荡器模式 XT 振荡器模式 HS 振荡器模式 200 2* 20* 100 * — — — TCY — — — — — — DC — — — 50* 25* 15* ns µs ns ns ns ns ns TCY = 4/FOSC LP 振荡器, TOSC L/H 占空比 HS 振荡器, TOSC L/H 占空比 XT 振荡器, TOSC L/H 占空比 LP 振荡器 XT 振荡器 HS 振荡器 * 这些参数为特性值,但未经测试。 † 除非另外说明,否则 “典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参 考,未经测试。 1: 指令循环周期 (TCY)等于输入振荡器时基周期的四倍。所有规定值都是基于特定振荡器类型的特性数据, 并在特定振荡器处于标准运行条件下且器件在代码执行阶段。超出这些规定的限定值,可能导致振荡器运 行不稳定和 / 或导致电流消耗超出预期值。所有器件的测试都是在 “最小”值条件下进行的,且外部时钟加 载在 OSC1 引脚。对于所有器件,当采用外部时钟输入时,“最大”周期时间极限为 “DC”(无时钟)。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 151 页 PIC16F785/HV785 图 19-4: CLKOUT 和 I/O 时序 Q1 Q4 Q2 Q3 OSC1 11 10 22 23 CLKOUT 13 19 14 12 18 16 I/O 引脚 (输入) 15 17 I/O 引脚 (输出) 新值 旧值 20, 21 表 19-2: 参数 编号 CLKOUT 和 I/O 时序要求 符号 特性 10 TOSH2CKL OSC1↑ 到 CLOUT↓ 最小值 典型值 † 最大值 — 75 200 单位 条件 ns (注 1) 11 TOSH2CKH OSC1↑ 到 CLOUT↑ — 75 200 ns (注 1) 12 TCKR CLKOUT 上升时间 — 35 100 ns (注 1) 13 TCKF CLKOUT 下降时间 — 35 100 ns (注 1) 14 TCKL2IOV CLKOUT↓ 到端口输出有效 — — 20 ns (注 1) 15 TIOV2CKH CLKOUT↑ 之前端口输入有效 TOSC + 200 ns — — ns (注 1) 16 TCKH2IOI 0 — — ns (注 1) 17 TOSH2IOV OSC1↑ (Q1 周期)到端口输出有效 — 50 150 * ns — — 300 ns 100 — — ns CLKOUT↑ 之后端口输入保持 18 TOSH2IOI 19 TIOV2OSH 端口输入有效到 OSC1↑ (I/O 输入建立时间) 0 — — ns 20 TIOR 端口输出上升时间 — 10 40 ns 21 TIOF 端口输出下降时间 — 10 40 ns 22 TINP INT 引脚高电平或低电平时间 25 — — ns 23 TRBP PORTA 电平变化中断高或低时间 TCY — — ns OSC1↑ (Q2 周期)到端口输入无效 (I/O 输入保持时间) * 这些参数为特性值,但未经测试。 † 除非另外说明,否则 “典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。 注 1: 测量在 RC 模式下进行, CLKOUT 输出为 4 x TOSC。 DS41249D_CN 第 152 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 表 19-3: 参数 编号 F10 F14 注 高精度内部振荡器参数 符号 FOSC 频率 容差 特性 内部已校准 INTOSC 频率 (1) TIOSCST 振荡器从休眠模式唤 醒的启动时间 * 最小值 典型值 † 最大值 ±1% ±2% 7.92 7.84 8.00 8.00 8.08 8.16 ±5% 7.60 8.00 8.40 — — — — — — 10.3 9.0 6.5 TBD TBD TBD 单位 条件 MHz VDD = 3.5V, 25°C MHz 2.5V ≤ VDD ≤ 5.5V 0°C ≤ TA ≤ +85°C MHz 2.0V ≤ VDD ≤ 5.5V -40°C ≤ TA ≤ +85°C (工业级) -40°C ≤ TA ≤ +125°C (扩展级) µs VDD = 2.0V,-40°C 至 +85°C µs VDD = 3.0V,-40°C 至 +85°C µs VDD = 5.0V,-40°C 至 +85°C * 这些参数为特性值,但未经测试。 † 除非另外说明,否则 “典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参 考,未经测试。 1: 为了确保振荡器频率容差, VDD 和 VSS 必须进行电容解藕,应尽可能地靠近器件。建议并联 0.1 µF 和 0.01 µF 的电容。 图 19-5: 复位、看门狗定时器、振荡器起振定时器和上电延时定时器时序 VDD MCLR 30 内部 POR PWRT 超时 33 32 OSC 超时 内部 复位 看门狗 定时器 复位 34 31 34 I/O 引脚  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 153 页 PIC16F785/HV785 图 19-6: 欠压复位时序和特性 VDD VBOR (器件未处于欠压复位) (器件处于欠压复位) 36 复位(由于 BOR) 64 ms 超时 (1) 1: 仅在配置字寄存器中 PWRTE 位设定为 0 时才有 64 ms 延时。 注 表 19-4: 参数 编号 复位、看门狗定时器、振荡器起振定时器、上电延时定时器和欠压复位要求 符号 特性 最小值 典型值 † 最大值 单位 条件 30 TMCL MCLR 脉冲宽度 (低) 2 11 — 18 — 24 µs ms VDD = 5.0V,-40°C 至 +85°C 扩展级温度 31 TWDT 看门狗定时器超时周期 (无预分频器) 10 10 17 17 25 30 ms ms VDD = 5.0V,-40°C 至 +85°C 扩展级温度 32 TOST 振荡器起振定时器周期 — 1024 TOSC — — TOSC = OSC1 周期 33* TPWRT 上电延时定时器周期 28* TBD 64 TBD 132* TBD ms ms VDD = 5.0V,-40°C 至 +85°C 扩展级温度 34 TIOZ MCLR 低电平或看门狗定时 器复位时, I/O 处于高阻状态 的时间 — — 2.0 µs 35 VBOR 欠压复位电压 2.025 — 2.175 V 36 TBOR 欠压复位脉冲宽度 100* — — µs 图注: VDD ≤ VBOR (D005) TBD = 待定。 * 这些参数为特性值,但未经测试。 † 除非另外说明,否则 “典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参 考,未经测试。 DS41249D_CN 第 154 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 图 19-7: TIMER0 和 TIMER1 外部时钟时序 T0CKI 40 41 42 T1CKI 45 46 49 47 TMR0 或 TMR1 表 19-5: TIMER0 和 TIMER1 外部时钟要求 参数 编号 40* 符号 TT0H 特性 T0CKI 高脉冲宽度 41* TT0L T0CKI 低脉冲宽度 42* TT0P T0CKI 周期 45* TT1H T1CKI 高电平时间 最小值 0.5 TCY + 20 — — 带预分频器 10 — — ns 无预分频器 0.5 TCY + 20 — — ns T1CKI 低电平时间 10 — — ns — — ns 同步,无预分频器 0.5 TCY + 20 — — ns 同步,带预分频器 15 — — ns 30 — — ns 同步,无预分频器 0.5 TCY + 20 — — ns 同步,带预分频器 15 — — ns 异步 30 — — ns 同步 取较大值: 30 或 TCY + 40 N — — ns 47* TT1P T1CKI 输入周期 48 FT1 Timer1 振荡器输入频率范围 (通过将 T1OSCEN 位置 1,使能振荡器) 异步 49 TCKEZTMR1 从外部时钟边沿到定时器递增的延时 * † 条件 ns 取较大值: 20 或 TCY + 40 N 异步 TT1L 单位 无预分频器 带预分频器 46* 典型值 † 最大值 60 — — ns DC — 200* kHz 2 TOSC* — 7 TOSC* — N = 预分频值 (2, 4, ..., 256) N = 预分频值 (1, 2, 4, 8) 这些参数为特性值,但未经测试。 除非另外说明,否则 “典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参考,未经测试。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 155 页 PIC16F785/HV785 图 19-8: 捕捉 / 比较 /PWM 时序 (CCP) CCP1 (捕捉模式) 50 51 52 CCP1 (比较或 PWM 模式) 53 54 注:负载条件请参见图 19-2。 表 19-6: 参数 编号 捕捉 / 比较 /PWM 要求 (CCP) 符号 特性 50* TCCL 51* TCCH 52* TCCP CCP1 输入周期 53* TCCR 54* TCCF CCP1 输入低电平时间 CCP1 输入高电平时间 最小值 典型值 † 最大值 单位 0.5TCY + 20 — — ns 带预分频器 20 — — ns 无预分频器 0.5TCY + 20 — — ns 无预分频器 20 — — ns 3TCY + 40 N — — ns CCP1 输出上升时间 — 25 50 ns CCP1 输出下降时间 — 25 45 ns 带预分频器 条件 N = 预分频值 (1、 4 或 16) * 这些参数为特性值,但未经测试。 † 除非另外说明,否则 “典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参 考,未经测试。 DS41249D_CN 第 156 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 表 19-7: 比较器规范 标准运行条件 (除非另外说明) 工作温度 -40°C ≤ TA ≤ +125°C 比较器规范 参数 编号 符号 C01 特性 VOS 输入失调电压 最小值 典型值 最大值 单位 — ±5 TBD mV C02 VCM 输入共模电压 0 — VDD – 1.5 V C03 ILC 输入泄漏电流 — — 200* nA C04 CMRR 共模抑制比 +70* — — dB C05 TRT — — — — 20* 40* ns ns 注 响应时间 (1) 说明 内部输出至引脚 * 这些参数为特性值,但未经测试。 1: 响应时间是在比较器有一个输入端为 (VDD – 1.5)/2,同时另一个输入端电平从 VSS 变化到 VDD - 1.5V 时测 量的。 表 19-8: 比较器参考电压 (CVREF)规范 标准运行条件 (除非另外说明) 工作温度 -40°C ≤ TA ≤ +125°C 比较器参考电压规范 参数 编号 符号 最小值 典型值 最大值 单位 分辨率 — — VDD/24* VDD/32 — — LSb LSb 低量程 (VRR = 1) 高量程 (VRR = 0) CV02 绝对精度 — — — — ±1/4* ±1/2* LSb LSb 低量程 (VRR = 1) 高量程 (VRR = 0) CV03 单位电阻值 (R) — 2k* — Ω CV04 稳定时间 (1) — — 10* µs CV01 注 特性 CVRES 说明 * 这些参数为特性值,但未经测试。 1: 稳定时间是在 VRR = 1 且 VR 的状态从 0000 跃变至 1111 时测量的。 表 19-9: 参考电压 (VR)规范 标准运行条件 (除非另外说明) 工作温度 -40°C ≤ TA ≤ +125°C 工作电压 3.0V ≤ VDD ≤ 5.5V VR 参考电压规范 参数 编号 符号 特性 最小值 典型值 最大值 单位 1.188 1.176 1.164 1.200 1.200 1.200 1.212 1.224 1.236 V V V VR01 VROUT VR 电压输入 VR02* TCVOUT — 150 TBD ppm/°C ∆VROUT/ ∆VDD 电压温度漂移系数 VR03* 相对于 VDD 稳压的电压漂移 — 200 — µV/V VR04 TSTABLE 稳定时间 — 10 100* µs VR05* IVROUT VR 输出电流 — — TBD µA 图注: * 说明 TA = 25°C 0°C ≤ TA ≤ +85°C -40°C ≤ TA ≤ +125°C 未经缓冲的 1.2V 输出 TBD = 待定 这些参数为特性值,但未经测试。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 157 页 PIC16F785/HV785 表 19-10: 参考电压输出 (VREF)缓冲规范 标准运行条件 (除非另外说明) 工作温度 -40°C ≤ TA ≤ +125°C 工作电压 3.0V ≤ VDD ≤ 5.5V 参考电压输出缓冲规范 参数 编号 符号 特性 VB01* CL 外部容性负载 VB02* ∆VOUT/ ∆IOUT 负载稳定度 图注: * 典型值 最大值 单位 — — 200 pF mV/mA 说明 — 1 TBD — 1 TBD VREF=0.5V, IREF=±1mA — 1 TBD VREF=3.6V, IREF=±1mA VREF=1.2V, IREF=±1mA TBD = 待定 这些参数为特性值,但未经测试。 表 19-11: 运算放大器 (OPA)模块直流规范 标准运行条件 (除非另外说明) VCM = 0V, VOUT = VDD/2, VDD = 5.0V, VSS = 0V, CL = 50pF, RL = 100kΩ 工作温度 -40°C ≤ TA ≤ +125°C OPA 直流特性 参数 编号 最小值 符号 特性 最小值 典型值 最大值 单位 说明 OPA01 VOS 输入失调电压 — ±5 — mV OPA02* OPA03* IB IOS 输入电流和阻抗 输入偏置电流 输入失调偏置电流 — — ±2* ±1* — — nA pA OPA04* OPA05* VCM CMR 共模 共模输入范围 共模抑制 VSS TBD — 70 VDD – 1.4 — V dB VDD = 5.0V VCM = VDD/2,频率 = DC OPA06A* AOL OPA06B* AOL 开环增益 直流开环增益 直流开环增益 — — 90 60 — — dB dB 空载 标准负载 OPA07* Vout 输出 输出电压漂移 VSS+100 — VDD – 100 mV OPA08* Isc 输出短路电流 — 25 TBD mA 至 VDD/2 (连接到 VDD 为 20 kΩ,连接到 Vss 为 20 kΩ + 20 pF) OPA10 PSR 电源 电源抑制 80 — — dB 图注: * TBD = 待定 这些参数为特性值,但未经测试。 DS41249D_CN 第 158 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 表 19-12: 运算放大器 (OPA)模块交流规范 标准运行条件 (除非另外说明) VCM = 0V,VOUT = VDD/2,VDD = 5.0V,VSS = 0V,CL = 50 pF, RL = 100kΩ 工作温度 -40°C ≤ TA ≤ +125°C OPA 交流特性 参数 编号 符号 OPA11* GBWP 特性 最小值 典型值 最大值 单位 增益带宽积 — 3 — MHz OPA12* TON 开启时间 — 10 TBD µs OPA13* ΘM 相位容限 — 60 — deg 变化率 2 — — V/µs OPA14* SR 图注: * TBD = 待定 这些参数为特性值,但未经测试。 表 19-13: 双相 PWM 死区延时规范 标准运行条件 (除非另外说明) 工作温度 -40°C ≤ TA ≤ +125°C 死区延时特性 参数 编号 符号 PW01* TDLY 图注: * 特性 死区时间延时 最小值 典型值 最大值 单位 TBD 150 TBD ns 说明 Fosc = 4 MHz, 最大延时,互补模式 TBD = 待定 这些参数为特性值,但未经测试。 表 19-14: 并联稳压器规范 (仅限 PIC16HV785) 标准运行条件 (除非另外说明) 工作温度 -40°C ≤ TA ≤ +125°C 并联稳压器特性 参数 编号 说明 符号 最小值 典型值 最大值 单位 VSHUNT 并联电压 ISHUNT 并联电流 4.25 5 5.25 V 4 — 50 mA — — 150 ns 至最终值的 1% SR04* TSETTLE 稳定时间 CLOAD 负载容抗 0.01 — 10 µF VDD 引脚的旁路电流 SR05* ∆ISNT — — 180 µA 包括带隙参考电流 SR01 SR02 SR03* 图注: * 特性 稳压器工作电流 说明 TBD = 待定 这些参数为特性值,但未经测试。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 159 页 PIC16F785/HV785 表 19-15: 参数 编号 PIC16F785/HV785 A/D 转换器特性 符号 特性 最小值 典型值 † 最大值 单位 A01 NR 分辨率 — — 10 A03 EIL 积分线性误差 — — ±1 A04 EDL 微分线性误差 — — ±1 A06 EOFF 失调误差 EGN 增益误差 — — ±1 — — ±1 A20 A20A VREF 参考电压 2.2(4) 1.0 — — + 0.3 A25 VAIN 模拟输入电压 VSS — VREF(5) A30 ZAIN 模拟电压源的建议 阻抗 — — 10 kΩ A50 IREF VREF 输入电流 *(3) — — 150 µA — — 1 A07 注 条件 位 LSb VREF = 5.0V (扩展级) LSb 10 位不丢失代码 VREF = 5.0V (扩展级) LSb VREF = 5.0V (扩展级) LSb VREF = 5.0V (扩展级) V 绝对确保最小 10 位精度 V 在采集 VAIN 期间。 基于 VHOLD 到 VAIN 的微分。 mA 在 A/D 转换周期期间为瞬态电流。 * 这些参数为特性值,但未经测试。 † 除非另外说明,否则 “典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参 考,未经测试。 1: 总的绝对错误包含积分、微分、偏移和增益错误。 2: A/D 转换结果不会因输入电压的增加而减小,并且不会丢失代码。 3: VREF 电流均源自于外部 VREF 引脚或 VDD 引脚,取决于选择了哪个引脚作为参考输入引脚。 4: 仅限于 VDD 等于或低于 2.5V 时。如果 VDD 高于 2.5V, VREF 允许低至 1.0V。 5: 模拟输入电压可以高达 VDD,但转换精度仅限于 VSS 到 VREF 的范围内。 DS41249D_CN 第 160 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 图 19-9: PIC16F785/HV785 A/D 转换时序 (正常模式) BSF ADCON0, GO 134 1 TCY (TOSC/2)(1) 131 Q4 130 A/D CLK 9 A/D 数据 8 7 6 3 2 1 0 NEW_DATA OLD_DATA ADRES 1 TCY ADIF GO 采样 DONE 采样已停止 132 1: 如果选择 A/D 时钟源作为 RC,在 A/D 时钟启动前要加上一个 TCY 时间,用以执行 SLEEP 指令。 注 表 19-16: 参数 编号 PIC16F785/HV785 A/D 转换要求 符号 130 TAD 130 TAD 特性 A/D 时钟周期 A/D 内部 RC 振荡器周 期 131 TCNV 转换时间 (不包括采集 时间) (1) 132 TACQ 采集时间 134 TGO * † 注 Q4 到 A/D 时钟启动 最小值 典型值 † 最大值 单位 1.6 — — µs 3.0* — — µs 基于 TOSC, VREF 满量程 µs ADCS = 11 (RC 模式) VDD = 2.5V 条件 基于 TOSC, VREF ≥ 3.0V 3.0* 6.0 9.0* 2.0* 4.0 6.0* µs VDD = 5.0V — 11 — TAD 将 GO 位设定为 A/D 结果寄存器中的新 数据 (注 2) 11.5 — µs 5* — — µs 最小时间值是放大器的稳定时间。如果 “新的”输入电压相对于上一采样电压 (保存在 CHOLD 中)的改变不超过 1 LSb (即 4.096V 时为 4.1 mV),便可采用此 时间。 — TOSC/2 — — 如果选择 A/D 时钟源作为 RC,在 A/D 时钟启动前要加上一个 TCY 时间, 用以执行 SLEEP 指令。 这些参数为特性值,但未经测试。 除非另外说明,否则“典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参考,未经测试。 1: 可在后续 TCY 周期内读 ADRESH 和 ADRESL 寄存器。 2: 最小值的条件请参见第12.2节“A/D采集要求”。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 161 页 PIC16F785/HV785 图 19-10: PIC16F785/HV785 A/D 转换时序 (休眠模式) BSF ADCON0, GO 134 (TOSC/2 + TCY)(1) 1 TCY 131 Q4 130 A/D CLK 3 2 1 0 NEW_DATA 1 TCY GO DONE 采样已停止 132 1: 如果选择 A/D 时钟源作为 RC,在 A/D 时钟启动前要加上一个 TCY 时间,用以执行 SLEEP 指令。 注 表 19-17: 参数 编号 PIC16F785/HV785 A/D 转换要求 (休眠模式) 符号 TAD 特性 A/D 内部 RC 振荡 器周期 131 TCNV 转换时间 (不包括 采集时间) (1) 132 TACQ 采集时间 注 6 ADIF 采样 134 7 OLD_DATA ADRES 130 8 9 A/D 数据 TGO Q4 到 A/D 时钟启 动 最小值 典型值 † 最大值 单位 3.0* 6.0 9.0* µs ADCS = 11 (RC 模式) VDD = 2.5V 2.0* 4.0 6.0* µs VDD = 5.0V — 11 — TAD (注 2) 11.5 — µs 5* — — µs — TOSC/2 + TCY — — 条件 最小时间值是放大器的稳定时间。 如果 “新的”输入电压相对于上 一采样电压 (保存在 CHOLD 中) 的改变不超过 1 LSb (即 4.096V 时为 4.1 mV),便可采用此时间。 如果选择 A/D 时钟源作为 RC,在 A/D 时钟启动前要加上一个 TCY 时 间,用以执行 SLEEP 指令。 * 这些参数为特性值,但未经测试。 † 除非另外说明,否则 “典型值”一栏中的数据都是在 5.0V 和 25°C 的条件下给出的。这些参数仅供设计参 考,未经测试。 1: 可在后续 TCY 周期内读 ADRES 寄存器。 2: 最小条件请参见表 12-1。 DS41249D_CN 第 162 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 20.0 直流和交流特性图表 目前没有图表。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 163 页 PIC16F785/HV785 注: DS41249D_CN 第 164 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 21.0 封装信息 21.1 封装标识信息 以下部分将介绍各种封装的技术细节。 20 引脚 PDIP 示例 XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX YYWWNNN PIC16F785-I/P 0410017 20 引脚 SOIC (.300”) 示例 XXXXXXXXXXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXX PIC16F785 -E/SO 0410017 YYWWNNN 20 引脚 SSOP 示例 XXXXXXXXXXX XXXXXXXXXXX YYWWNNN 图注: XX...X Y YY WW NNN e3 * 注: * PIC16F785 -I/SS 0410017 客户指定信息 年代码 (公历年份的最后一位) 年代码 (公历年份的最后两位) 星期代码 (1 月 1 日的星期代码为 “01”) 字母数字追踪代码 雾锡 (Matte Tin, Sn)的无铅 JEDEC 标志 本封装为无铅封装。无铅 JEDEC 标志 ( e3 )标识于此种封装的 外包装上。 如果 Microchip 器件编号不能在一行中完全标出,它将换行继续标出。因此限制 了用户指定信息的可用字符数。 标准 PIC 器件标识包括 Microchip 器件编号、年份代码、星期代码和追踪代码。如需超过此范围的 PIC 器 件标识,需支付一定的附加费用。请向当地的 Microchip 销售办事处确认相关信息。对于 QTP 器件,任何 特殊标记的附加费用都已包含在 QTP 价格中。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 165 页 PIC16F785/HV785 封装标识信息 (续) 20 引脚 QFN 示例 XXXXXXX XXXXXXX 16F785 -I/ML YWWNNN 0410017 DS41249D_CN 第 166 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 20 引脚塑封双列直插式 (P)——300 mil 主体 (PDIP) 注: 最新封装图请至 http://www.microchip.com/packaging 查看 Microchip 封装规范。 E1 D 2 n α 1 E A2 A L c A1 β B1 eB p B 单位 尺寸范围 n p 最小 英寸 * 正常 20 .100 .155 .130 最大 最小 引脚数 引脚间距 顶端到底座平面距离 A .140 .170 3.56 塑模封装厚度 A2 .115 .145 2.92 基座到底座平面距离 A1 .015 0.38 肩角与肩角之间的宽度 E .295 .310 .325 7.49 塑模封装宽度 E1 .240 .250 .260 6.10 总长度 D 1.025 1.033 1.040 26.04 引脚尖到底座平面距离 L .120 .130 .140 3.05 c 引脚厚度 .008 .012 .015 0.20 引脚上部宽度 B1 .055 .060 .065 1.40 引脚下部宽度 B .014 .018 .022 0.36 总的行间距 § eB .310 .370 .430 7.87 α 塑模顶部锥度 5 10 15 5 β 塑模底部锥度 5 10 15 5 * 控制参数 § 重要特性 注: 尺寸 D 和 E1 不包括塑模毛边或突起。塑模每侧的毛边或突起不得超过 0.010 英寸(0.254 毫米)。 等同于 JEDEC 号:MS-001 图号 C04-019  2006 Microchip Technology Inc. 初稿 毫米 正常 20 2.54 3.94 3.30 7.87 6.35 26.24 3.30 0.29 1.52 0.46 9.40 10 10 最大 4.32 3.68 8.26 6.60 26.42 3.56 0.38 1.65 0.56 10.92 15 15 DS41249D_CN 第 167 页 PIC16F785/HV785 20 引脚塑封小外形 (SO)——宽条, 300 mil 主体 (SOIC) 注: 最新封装图请至 http://www.microchip.com/packaging 查看 Microchip 封装规范。 E E1 p D 2 B n 1 h α 45° c A2 A φ β 引脚数 引脚间距 总高度 塑模封装厚度 悬空间隙 § 总宽度 塑模封装宽度 总长度 斜面距离 底脚长度 底脚倾斜角 引脚厚度 引脚宽度 塑模顶部锥度 塑模底部锥度 * 控制参数 § 重要特性 A1 L 单位 尺寸范围 n p A A2 A1 E E1 D h L φ c B α β 最小 .093 .088 .004 .394 .291 .496 .010 .016 0 .009 .014 0 0 英寸 * 正常 20 .050 .099 .091 .008 .407 .295 .504 .020 .033 4 .011 .017 12 12 最大 .104 .094 .012 .420 .299 .512 .029 .050 8 .013 .020 15 15 最小 2.36 2.24 0.10 10.01 7.39 12.60 0.25 0.41 0 0.23 0.36 0 0 毫米 正常 20 1.27 2.50 2.31 0.20 10.34 7.49 12.80 0.50 0.84 4 0.28 0.42 12 12 最大 2.64 2.39 0.30 10.67 7.59 13.00 0.74 1.27 8 0.33 0.51 15 15 注: 尺寸 D 和 E1 不包括塑模毛边或突起。塑模每侧的毛边或突起不得超过 0.010 英寸(0.254 毫米)。 等同于 JEDEC 号:MS-013 图号 C04-094 DS41249D_CN 第 168 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 20 引脚塑封缩小型小外形 (SS)——209 mil 主体, 5.30 mm (SSOP) 注: 最新封装图请至 http://www.microchip.com/packaging 查看 Microchip 封装规范。 % % P $ "   N C ! ! F , ऩԡ ሎᇌ㣗ೈ N P ᳔ᇣ ! 㣅ᇌ ℷᐌ        ² ᳔໻ ↿㉇ ℷᐌ               ² ²  ᳔ᇣ ᓩ㛮᭄ ᓩ㛮䯈䎱 ᘏ催ᑺ !  ล῵ᇕ㺙८ᑺ !    ぎ䯈䱭 !  ᘏᆑᑺ %   ล῵ᇕ㺙ᆑᑺ %   ᘏ䭓ᑺ $   ᑩ㛮䭓ᑺ ,   C ᓩ㛮८ᑺ   F ᑩ㛮ؒ᭰㾦 ² ² ᓩ㛮ᆑᑺ "   ᥻ࠊখ᭄ ⊼˖ ሎᇌ$੠%ϡࣙᣀล῵↯䖍៪さ䍋DŽล῵↣ջⱘ↯䖍៪さ䍋ϡᕫ䍙䖛㣅ᇌ˄↿㉇˅DŽ ᳔໻        ²  ㄝৠѢ*%$%#ো˖-/  ೒ো#  ׂ䅶Ѣ  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 169 页 PIC16F785/HV785 20 引脚塑料四方形扁平无引脚封装 (ML) 4x4x0.9 mm 主体 (QFN)——切割分离 注: 最新封装图请至 http://www.microchip.com/packaging 查看 Microchip 封装规范。 D D2 裸露的 金属焊盘 e E2 E 2 b 1 n 可选 定位区 俯视图 L 仰视图 A3 A A1 引脚数 引脚间距 总高度 悬空间隙 触点厚度 总宽度 裸露的焊盘宽度 总高度 裸露的焊盘长度 触点宽度 触点长度 单位 尺寸范围 n e A A1 A3 E E2 D D2 b L 最小 .031 .000 .152 .090 .152 .090 .007 .012 英寸 正常 20 .020 BSC .035 .001 .008 REF .157 .104 .157 .104 .010 .016 最大 毫米 * 正常 最小 .039 .002 0.80 0.00 .163 .106 .163 .106 .012 .020 3.85 2.29 3.85 2.29 0.18 0.30 20 0.50 BSC 0.90 0.02 0.20 REF 4.00 2.64 4.00 2.64 0.25 0.40 最大 1.00 0.05 4.15 2.69 4.15 2.69 0.30 0.50 * 控制参数 注: 1. BSC:基本尺寸。理论为精确值,无公差。 请参见 ASME Y14.5M 2. REF:基本尺寸。理论为精确值,无公差,仅供参考。 请参见 ASME Y14.5M 裸露焊盘根据管芯附着的踏板尺寸变化。 等同于 JEDEC 号:未登记 图号 C04-126,修订于 05-05-05 DS41249D_CN 第 170 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 附录 A: 数据手册版本历史 附录 B: 从其他 PIC® 器件移植 版本 A 本节讨论从 PIC16F684 的 PIC 器件移植到 PIC16F785/ HV785 的某些问题。 这是新的数据手册。 B.1 版本 B PIC16F684 到 PIC16F785/HV785 表 B-1: 功能比较 更新了整个文档。 版本 C 修改了器件编号以包括“HV785”;增加了 PWM 设置 示例;增加了稳压器一节。 版本 D 修改了表 19-9 中的 VROUT 最小 / 最大极限值。 功能 PIC16F684 PIC16F785/ HV785 最大工作速度 20 MHz 20 MHz 最大程序存储器 (字) 2048 2048 SRAM (字节) 128 128 A/D 分辨率 10 位 256 10 位 256 2/1 2/1 数据 EEPROM (字节) 定时器 (8/16 位) 振荡器模式 8 8 欠压复位 Y Y 内部上拉 RA0/1/2/4/5 MCLR RA0/1/2/3/4/5 MCLR 电平变化中断 比较器 CCP  2006 Microchip Technology Inc. 初稿 RA0/1/2/3/4/5 RA0/1/2/3/4/5 2 ECCP Y 运算放大器 PWM N 2 N 超低功耗唤醒 Y 两相 N 扩展 WDT Y Y WDT/BOR 的软件控 制选项 Y Y INTOSC 频率 32 kHz 8 MHz 32 kHz 8 MHz 时钟切换 Y Y DS41249D_CN 第 171 页 PIC16F785/HV785 注: DS41249D_CN 第 172 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 索引 A 与捕捉 / 比较 /Timer1 相关寄存器 .............................. 59 预分频器 .................................................................... 58 捕捉模块。请参见捕捉 / 比较 /PWM (CCP) A/D ..................................................................................... 79 采集要求 ..................................................................... 86 参考电压 (VREF) ..................................................... 80 复位的影响 ................................................................. 89 规范 .......................................................... 160, 161, 162 计算采集时间 ............................................................. 86 框图 ............................................................................ 79 模拟端口引脚 ............................................................. 80 内部采样开关 (RSS)阻抗 ........................................ 86 配置 ............................................................................ 85 配置和操作 ................................................................. 80 配置中断 ..................................................................... 85 启动转换 ..................................................................... 81 使用 ECCP 触发器 ..................................................... 89 输出格式 ..................................................................... 81 特殊事件触发 ............................................................. 89 通道选择 ..................................................................... 80 相关寄存器 ................................................................. 89 源阻抗 ........................................................................ 86 在休眠模式下的工作原理 ........................................... 88 转换时钟 ..................................................................... 80 ADCON0 寄存器 ................................................................ 83 ANSEL0 寄存器 .................................................................. 82 ANSEL1 寄存器 .................................................................. 82 ANSEL 寄存器 ................................................ 93, 94, 96, 101 C C 编译器 MPLAB C18 ............................................................. 138 MPLAB C30 ............................................................. 138 CCP1CON 寄存器 ............................................................. 57 CCPR1H 寄存器 ................................................................ 57 CCPR1L 寄存器 ................................................................. 57 CCP。请参见捕捉 / 比较 /PWM (CCP) CM1CON0 ......................................................................... 65 CM2CON1 ......................................................................... 68 CONFIG 寄存器 ............................................................... 108 CPU 功能 ......................................................................... 107 参考电压 ............................................................................ 70 CVref 精度 ................................................................. 70 CVref (比较器参考电压) ......................................... 70 固定的 VR 参考电压 ................................................... 72 配置 CVref ................................................................. 70 VR 稳定 ..................................................................... 73 相关寄存器 ................................................................. 73 参考电压输出 (VREF)缓冲 规范 ......................................................................... 158 参考电压 (VR) 规范 ......................................................................... 157 操作码字段说明 ............................................................... 127 产品标识 .......................................................................... 181 程序存储器 ........................................................................... 9 从其他 PIC 器件移植 ........................................................ 171 存储器构成........................................................................... 9 程序 ............................................................................. 9 数据 ............................................................................. 9 数据 EEPROM 存储器 ............................................. 103 B 版本历史 ........................................................................... 171 比较模块。请参见捕捉 / 比较 /PWM (CCP) 比较器 C2OUT 作为 T1 门控 ................................................. 52 规范 .......................................................................... 157 比较器参考电压 (CVREF) 规范 .......................................................................... 157 比较器模块 ......................................................................... 63 比较器中断 ................................................................. 69 C1 输出状态与输入条件 ............................................. 63 C2 输出状态与输入条件 ............................................. 66 复位的影响 ................................................................. 69 相关寄存器 ................................................................. 73 变更通知客户服务 ............................................................ 178 捕捉 / 比较 /PWM (CCP) ................................................ 57 比较模式 ..................................................................... 58 CCP1 引脚配置 .................................................. 59 软件中断模式 ..................................................... 59 Timer1 模式选择 ................................................ 59 特殊事件触发和 A/D 转换 ................................... 59 捕捉模式 ..................................................................... 58 CCP1 引脚配置 .......................................................... 58 定时器资源 ................................................................. 57 规范 .......................................................................... 156 PWM 模式 .................................................................. 60 复位的影响 ......................................................... 62 功耗管理模式下的操作 ....................................... 62 PWM 频率和分辨率示例 .................................... 61 设置操作 ............................................................ 62 设置 PWM 操作 .................................................. 62 使用故障保护时钟监控器操作 ............................ 62 占空比 ................................................................ 61 相关寄存器 ................................................................. 62  2006 Microchip Technology Inc. D 代码保护 .......................................................................... 124 代码示例 初始化 A/D ................................................................. 85 初始化 PORTA ........................................................... 35 初始化 PORTB ........................................................... 42 初始化 PORTC .......................................................... 45 读数据 EEPROM ..................................................... 105 EEPROM 写校验 ..................................................... 105 改变捕捉预分频比 ...................................................... 58 间接寻址 .................................................................... 22 将预分频器分配给 Timer0 .......................................... 50 将预分频器分配给 WDT ............................................. 50 写数据 EEPROM ..................................................... 105 中断现场保护 ........................................................... 120 掉电模式 (休眠) ............................................................ 123 读-修改-写操作 ............................................................ 127 E EECON1 寄存器 .............................................................. 104 EECON2 寄存器 .............................................................. 104 EEDAT 寄存器 ................................................................. 103 EEPROM 数据存储器 读 ............................................................................. 105 防止误写 .................................................................. 105 写 ............................................................................. 105 写校验 ...................................................................... 105 初稿 DS41249D_CN 第 173 页 PIC16F785/HV785 F ID 地址单元 ...................................................................... 124 INTCON 寄存器 ................................................................. 17 INTOSC 规范 ................................................................... 153 IOCA 寄存器 ...................................................................... 37 IOCA (电平变化中断)..................................................... 37 间接寻址、 INDF 和 FSR 寄存器 ....................................... 22 交流特性 负载条件 .................................................................. 150 复位 .................................................................................. 109 上电复位 ................................................................... 110 复位的影响 A/D 模块 ..................................................................... 89 比较器模块 ................................................................. 69 OPA 模块 ................................................................... 77 PWM 模式 .................................................................. 62 负载条件 ........................................................................... 150 K G 开发支持 .......................................................................... 137 看门狗定时器 (WDT) .................................................... 121 规范 ......................................................................... 154 模式 ......................................................................... 121 时钟源 ...................................................................... 121 相关寄存器 ............................................................... 122 周期 ......................................................................... 121 勘误表 .................................................................................. 4 客户支持 .......................................................................... 178 框图 A/D ............................................................................. 79 比较模式工作原理 ...................................................... 58 比较器 1 ..................................................................... 64 比较器 2 ..................................................................... 66 CCP PWM ................................................................. 60 CVref ......................................................................... 70 故障保护时钟监控器 (FSCM) ................................. 31 看门狗定时器 (WDT) ............................................ 121 MCLR 电路 .............................................................. 110 模拟输入模型 ............................................................. 87 OPA 模块 ................................................................... 75 片上复位电路 ........................................................... 109 RA0 引脚 .................................................................... 38 RA1 引脚 .................................................................... 38 RA2 引脚 .................................................................... 39 RA3 引脚 .................................................................... 39 RA4 引脚 .................................................................... 40 RA5 引脚 .................................................................... 40 RB4 和 RB5 引脚 ....................................................... 43 RB6 引脚 .................................................................... 43 RB7 引脚 .................................................................... 43 RC0 和 RC1 引脚 ....................................................... 43 RC0、 RC6 和 RC7 引脚 ........................................... 46 RC1 引脚 ................................................................... 46 RC2 和 RC3 引脚 ....................................................... 47 RC4 引脚 ................................................................... 47 RC5 引脚 ................................................................... 48 时钟源 ........................................................................ 23 双相 PWM 单相示例 ............................................................ 98 互补输出模式 ................................................... 101 简化框图 ............................................................ 92 Timer2 ....................................................................... 56 Timer1 ....................................................................... 51 TMR0/WDT 预分频器 ................................................ 49 VR 参考电压 .............................................................. 73 谐振器工作原理 ......................................................... 25 在线串行编程连接 .................................................... 125 中断逻辑 .................................................................. 118 (CCP)捕捉模式工作原理 ........................................ 58 高精度内部振荡器参数 ..................................................... 153 故障保护时钟监控器 ........................................................... 31 复位和从休眠中唤醒 ................................................... 32 故障保护条件清除 ...................................................... 32 规范 .................................................................................. 159 H 汇编器 MPASM 汇编器 ........................................................ 138 J 寄存器 ADCON0 (A/D 控制 0) ............................................ 83 ANSEL0 (模拟选择 0) ............................................. 82 ANSEL1 (模拟选择 1) ............................................. 82 ANSEL (模拟选择) .............................. 93, 94, 96, 101 CCP1CON (CCP 操作) ........................................... 57 CCPR1H .................................................................... 57 CCPR1L ..................................................................... 57 CM1CON0 (C1 控制) .............................................. 65 CM1CON0 (C2 控制) CM2CON0 ......................................................... 67 CM2CON1 (C2 控制) .............................................. 68 CONFIG (配置字) ................................................. 108 EECON1 (EEPROM 控制 1) ................................ 104 EECON2 (EEPROM 控制 2) ................................ 104 EEDAT (EEPROM 数据) ...................................... 103 INTCON (中断控制) ................................................ 17 IOCA (电平变化中断 PORTA) ................................ 37 IOCA (电平变化中断) ............................................. 37 OPTION_REG (选项) ............................................. 16 OSCCON (振荡器控制) .......................................... 33 PCON (电源控制) ................................................. 112 PIE1 (外设中断允许 1) ............................................ 18 PIR1 (外设中断寄存器 1) ........................................ 19 PORTA ....................................................................... 35 PORTB ....................................................................... 42 PORTC ...................................................................... 45 PWMCLK (PWM 时钟控制) .................................... 94 PWMCON0 (PWM 控制 0) ..................................... 93 PWMCON1 (PWM 控制 1) ................................... 101 PWMPH1 (PWM 第 1 相控制) ................................ 95 PWMPH2 (PWM 第 2 相控制) ................................ 96 REFCON (VR 控制) ................................................ 72 数据存储器映射 .......................................................... 10 T1CON (Timer1 控制) ............................................ 53 T2CON (Timer2 控制) ............................................ 55 TRISA (三态 PORTA) ............................................. 36 TRISB (三态 PORTB)............................................. 42 TRISC (三态 PORTC) ............................................ 45 特殊功能寄存器 ............................................................ 9 WDTCON (看门狗定时器控制) ............................. 122 WPUA (弱上拉 PORTA) ......................................... 36 运算放大器 2 的控制寄存器 (OPA2CON) ............... 76 状态 ............................................................................ 15 DS41249D_CN 第 174 页 M MCLR ............................................................................... 110 内部 ......................................................................... 110 Microchip 因特网址 .......................................................... 178 MPLAB ASM30 汇编器、链接器和库管理器 .................... 138 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 Q MPLAB ICD 2 在线调试器 ................................................ 139 MPLAB ICE 2000 高性能通用在线仿真器 ........................ 139 MPLAB ICE 4000 高性能通用在线仿真器 ........................ 139 MPLAB PM3 器件编程器 .................................................. 139 MPLAB 集成开发环境软件 ............................................... 137 MPLINK 目标链接器 /MPLIB 目标库管理器 ...................... 138 模数转换器。请参见 A/D 欠压复位 (BOR) ........................................................... 110 规范 ......................................................................... 154 时序和特性 ............................................................... 154 相关寄存器 ............................................................... 112 校准 ......................................................................... 111 R N REFCON (VR 控制) ....................................................... 72 RRF 指令 ......................................................................... 133 熔丝。请参见配置位 软件模拟器 (MPLAB SIM) ............................................ 138 内部采样开关 (RSS)阻抗................................................ 86 内部振荡器模块 INTOSC 规范 .................................................................. 153 S O SLEEP 指令 ..................................................................... 133 SWAPF 指令 .................................................................... 134 SUBLW 指令 .................................................................... 134 SUBWF 指令 .................................................................... 134 上电定时延时 ................................................................... 112 上电延时定时器 (PWRT) .............................................. 110 规范 ......................................................................... 154 时序图 A/D 转换 .................................................................. 161 A/D 转换 (休眠模式) ............................................. 162 捕捉 / 比较 /PWM (CCP) ...................................... 156 CLKOUT 和 I/O ........................................................ 152 从中断唤醒 ............................................................... 124 复位、 WDT、 OST 和上电延时定时器 ................... 153 故障保护时钟监控器 (FSCM) ................................. 32 INT 引脚中断 ........................................................... 119 欠压复位情形 ........................................................... 111 欠压复位 (BOR) ................................................... 154 双速启动 .................................................................... 31 双相 PWM 互补输出 .......................................................... 102 启动 ................................................................... 97 自动关闭 ............................................................ 97 Timer0 和 Timer1 外部时钟 ...................................... 155 Timer1 递增边沿 ........................................................ 52 外部时钟 .................................................................. 151 延时时序 情形 1 .............................................................. 113 情形 2 .............................................................. 113 情形 3 .............................................................. 113 使用中断唤醒 ................................................................... 123 时钟源 ................................................................................ 23 数据存储器 ........................................................................... 9 数据 EEPROM 存储器 代码保护 .......................................................... 103, 106 相关寄存器 ............................................................... 106 双速时钟启动模式 .............................................................. 30 双相 PWM 91 第 1 相控制 (PWMPH1) ......................................... 95 第 2 相控制 (PWMPH1) ......................................... 96 关闭 ........................................................................... 92 激活 ........................................................................... 91 控制寄存器 0 (PWMCON0) .................................... 93 控制寄存器 1 (PWMCON1) .................................. 101 PWM 相位.................................................................. 91 PWM 相位分辨率 ....................................................... 91 PWM 占空比 .............................................................. 91 PWM 周期 .................................................................. 91 时钟控制 (PWMCLK) ............................................. 94 输出空白 .................................................................... 91 死区延时 .................................................................. 159 相关寄存器 ............................................................... 102 OPA2CON 寄存器 .............................................................. 76 OPTION_REG 寄存器 ........................................................ 16 OSCCON 寄存器................................................................ 33 P PCL 和 PCLATH ................................................................ 21 堆栈 ............................................................................ 21 PCON 寄存器 ................................................................... 112 PICSTART 2 开发编程器 ................................................. 140 PICSTART Plus 开发编程器 ............................................ 140 PIE1 寄存器 ........................................................................ 18 PIR1 寄存器 ....................................................................... 19 PORTA............................................................................... 35 规范 .......................................................................... 152 RA0 ............................................................................ 38 RA1 ............................................................................ 38 RA2 ............................................................................ 39 RA3 ............................................................................ 39 RA4 ............................................................................ 40 RA5 ............................................................................ 40 相关寄存器 ................................................................. 41 引脚的其他功能 .......................................................... 36 电平变化中断 ..................................................... 37 弱上拉 ................................................................ 36 引脚说明和引脚图 ...................................................... 38 PORTB ............................................................................... 42 RB4 ............................................................................ 43 RB5 ............................................................................ 43 RB6 ............................................................................ 43 RB7 ............................................................................ 43 相关寄存器 ................................................................. 44 引脚说明和引脚图 ...................................................... 43 PORTC .............................................................................. 45 规范 .......................................................................... 152 RC0 ............................................................................ 46 RC1 ............................................................................ 46 RC2 ............................................................................ 47 RC3 ............................................................................ 47 RC4............................................................................ 47 RC5 ............................................................................ 48 RC6 ............................................................................ 46 RC7 ............................................................................ 46 相关寄存器 ................................................................. 48 引脚说明和引脚图 ...................................................... 46 PWMCLK 寄存器 ................................................................ 94 PWMCON0 寄存器 ............................................................. 93 PWMCON1 寄存器 ........................................................... 101 PWMPH1 寄存器 ................................................................ 95 PWMPH2 寄存器 ................................................................ 96 PWM。请参见双相 PWM 配置位 .............................................................................. 107  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 175 页 PIC16F785/HV785 有效的输出电平 .......................................................... 92 主控 / 从动操作 ........................................................... 91 自动关闭 ..................................................................... 92 运算放大器 (OPA)模块 AC 规范 .................................................................... 159 DC 规范 ................................................................... 158 相关寄存器 ................................................................. 77 T Z Timer0 ................................................................................ 49 工作原理 ..................................................................... 49 规范 .......................................................................... 155 外部时钟 ..................................................................... 50 相关寄存器 ................................................................. 50 预分频器 ..................................................................... 50 中断 ............................................................................ 49 Timer2 ................................................................................ 55 工作原理 ..................................................................... 55 后分频器 ..................................................................... 55 PR2 寄存器 ................................................................ 55 TMR2 到 PR2 匹配中断 ........................................ 55, 56 TMR2 寄存器 .............................................................. 55 相关寄存器 ................................................................. 56 预分频器 ..................................................................... 55 Timer1 ................................................................................ 51 工作模式 ..................................................................... 52 规范 .......................................................................... 155 Timer1 门控 反转门控 ............................................................. 52 选择源 ................................................................ 52 TMR1H 寄存器 ........................................................... 51 TMR1L 寄存器 ............................................................ 51 相关寄存器 ................................................................. 54 异步计数器模式 .......................................................... 54 读写 .................................................................... 54 预分频器 ..................................................................... 52 在休眠模式下的工作原理 ........................................... 54 振荡器 ........................................................................ 54 中断 ............................................................................ 52 TRISA 寄存器 ..................................................................... 36 TRISB 寄存器 ..................................................................... 42 TRISC 寄存器 ..................................................................... 45 TRIS 指令 ......................................................................... 134 特殊功能寄存器 .................................................................... 9 特殊事件触发 ...................................................................... 89 通用寄存器文件 .................................................................... 9 通知客户服务 .................................................................... 178 在线串行编程 (ICSP) .................................................... 124 在线调试器 ....................................................................... 125 振荡器 相关寄存器 ................................................................. 33 振荡器规范 ....................................................................... 151 振荡器起振定时器 (OST) 规范 ......................................................................... 154 振荡器切换 故障保护时钟监控器 .................................................. 31 双速时钟启动 ............................................................. 30 指令格式 .......................................................................... 127 指令集 ADDLW .................................................................... 129 ADDWF .................................................................... 129 ANDLW .................................................................... 129 ANDWF .................................................................... 129 BCF ......................................................................... 129 BSF .......................................................................... 129 BTFSC ..................................................................... 130 BTFSS ..................................................................... 130 CALL ........................................................................ 130 CLRF ....................................................................... 130 CLRW ...................................................................... 130 CLRWDT ................................................................. 130 COMF ...................................................................... 131 DECF ....................................................................... 131 DECFSZ .................................................................. 131 GOTO ...................................................................... 131 INCF ........................................................................ 131 INCFSZ .................................................................... 131 IORLW ..................................................................... 132 IORWF ..................................................................... 132 MOVF ...................................................................... 132 MOVLW ................................................................... 132 MOVWF ................................................................... 132 NOP ......................................................................... 132 RETFIE .................................................................... 133 RETLW .................................................................... 133 RETURN .................................................................. 133 RLF .......................................................................... 133 RRF ......................................................................... 133 SLEEP ..................................................................... 133 SWAPF .................................................................... 134 SUBLW .................................................................... 134 SUBWF .................................................................... 134 TRIS ........................................................................ 134 XORLW ................................................................... 134 XORWF ................................................................... 135 汇总表 ...................................................................... 128 直流特性 工业级和扩展级 ....................................................... 143 中断 .................................................................................. 117 A/D ............................................................................. 85 比较器 ........................................................................ 69 电平变化中断 ............................................................. 37 PORTA 电平变化中断 .............................................. 118 RA2/INT ................................................................... 118 数据 EEPROM 存储器写 .......................................... 104 TMR0 ....................................................................... 118 TMR1 ......................................................................... 52 V VREF。请参见 A/D 参考电压 W WDTCON 寄存器 ............................................................. 122 WPUA 寄存器 ..................................................................... 36 WPUA (弱上拉 PORTA) ................................................. 36 WWW 网址 ....................................................................... 178 WWW,在线支持 ................................................................. 4 X XORLW 指令 .................................................................... 134 XORWF 指令 .................................................................... 135 Y 延时时序 ........................................................................... 112 引脚排列说明 PIC16F684/HV785 ....................................................... 6 引脚图 .................................................................................. 3 因特网址 ........................................................................... 178 预分频器 共用的 WDT/Timer0 ................................................... 50 切换预分频器的分配 ................................................... 50 DS41249D_CN 第 176 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 TMR2 到 PR2 匹配 ............................................... 55, 56 现场保护 ................................................................... 120 相关寄存器 ............................................................... 119 振荡器故障 (OSF).................................................. 31 (CCP)比较 .............................................................. 58 状态寄存器 ......................................................................... 15  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 177 页 PIC16F785/HV785 注: DS41249D_CN 第 178 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 MICROCHIP 网站 客户支持 Microchip 网站 (www.microchip.com)为客户提供在 线支持。客户可通过该网站方便地获取文件和信息。只 要使用常用的因特网浏览器即可访问。网站提供以下信 息: Microchip 产品的用户可通过以下渠道获得帮助: • • • • • 产品支持——数据手册和勘误表、应用笔记和样本 程序、设计资源、用户指南以及硬件支持文档、最 新的软件版本以及存档软件 • 一般技术支持——常见问题 (FAQ)、技术支持请 求、在线讨论组以及 Microchip 顾问计划成员名单 • Microchip 业务——产品选型和订购指南、最新 Microchip 新闻稿、研讨会和活动安排表、 Microchip 销售办事处、代理商以及工厂代表列表 代理商或代表 当地销售办事处 应用工程师 (FAE) 技术支持 客户应联系其代理商、代表或应用工程师 (FAE)寻求 支持。当地销售办事处也可为客户提供帮助。本文档后 附有销售办事处的联系方式。 也可通过 http://support.microchip.com 获得网上技 术支持。 变更通知客户服务 Microchip 的 变 更 通 知 客 户 服 务 有 助 于 客户了解 Microchip 产品的最新信息。注册客户可在他们感兴趣 的某个产品系列或开发工具发生变更、更新、发布新版 本或勘误表时,收到电子邮件通知。 欲注册,请登录 Microchip 网站 www.microchip.com, 点击“变更通知客户(Customer Change Notification)” 服务后按照注册说明完成注册。  2006 Microchip Technology Inc. 初稿 DS41249D_CN 第 179 页 PIC16F785/HV785 读者反馈表 我们努力为您提供最佳文档,以确保您能够成功使用 Microchip 产品。如果您对文档的组织、条理性、主题及其他有助 于提高文档质量的方面有任何意见或建议,请填写本反馈表并传真给我公司 TRC 经理,传真号码为 86-21-5407-5066。 请填写以下信息,并从下面各方面提出您对本文档的意见。 致: TRC 经理 总页数 ________ 关于: 读者反馈 发自: 姓名 公司 地址 国家 / 省份 / 城市 / 邮编 电话:(______) __________________ 传真:(______)__________________ 应用(选填): 您希望收到回复吗?是 器件: 否 PIC16F785/HV785 文献编号: DS41249D_CN 问题: 1. 本文档中哪些部分最有特色? 2. 本文档是否满足了您的软硬件开发要求?如何满足的? 3. 您认为本文档的组织结构便于理解吗?如果不便于理解,那么问题何在? 4. 您认为本文档应该添加哪些内容以改善其结构和主题? 5. 您认为本文档中可以删减哪些内容,而又不会影响整体使用效果? 6. 本文档中是否存在错误或误导信息?如果存在,请指出是什么信息及其具体页数。 7. 您认为本文档还有哪些方面有待改进? DS41249D_CN 第 180 页 初稿  2006 Microchip Technology Inc. PIC16F785/HV785 产品标识体系 欲订货或获取价格、交货等信息,请与我公司生产厂或各销售办事处联系。 器件编号 X /XX XXX 器件 温度范围 封装 模板 示例: a) b) c) 器件: PIC16F785, PIC16F785T(1), PIC16HV785, PIC16HV785T(1): VDD 范围为 2.0V 至 5.5V 温度范围: I E = -40°C 至 +85°C(工业) = -40°C 至 +125°C(扩展) 封装: ML SO SS P = = = = 模板: QTP、 SQTP、代码或特殊要求 (其他情况下空白) PIC16F785 - I/P 301 = 工业级温度, PDIP 封 装, QTP 模板 #301。 PIC16HV785 - I/SS = 工业级温度, SSOP 封 装,带并联稳压器。 PIC16F785 - E/ML = 扩展级温度,QFN 封装。 QFN SOIC SSOP PDIP 注  2006 Microchip Technology Inc. 初稿 1: T = 仅卷带式 SOIC 和 SSOP 封装。 DS41249D_CN 第 181 页 全球销售及服务网点 美洲 亚太地区 亚太地区 欧洲 公司总部 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 Habour 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-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 - Gumi Tel: 82-54-473-4301 Fax: 82-54-473-4302 韩国 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 或 82-2-558-5934 马来西亚 Malaysia - Penang Tel: 60-4-646-8870 Fax: 60-4-646-5086 荷兰 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 菲律宾 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-7250 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 12/08/06 DS41249D_CN 第 182 页 初稿  2006 Microchip Technology Inc.
PIC16F785-I/SO 价格&库存

很抱歉,暂时无法提供与“PIC16F785-I/SO”相匹配的价格&库存,您可以联系我们找货

免费人工找货
PIC16F785-I/SO
  •  国内价格 香港价格
  • 1+22.370411+2.90255
  • 25+21.9006225+2.84159

库存:966