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.