PIC16F610/16HV610
PIC16F616/16HV616
数据手册
14 引脚 8 位
CMOS 闪存单片机
2007 Microchip Technology Inc. 初稿 DS41288B_CN
请注意以下有关 Microchip 器件代码保护功能的要点:
•M i c r o c h i p的产品均达到 Microchip 数据手册中所述的技术指标。
•M i c r o c h i p确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一。
• 目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以 Microchip 数据手册中规定的
操作规范来使用 Microchip 产品的。这样做的人极可能侵犯了知识产权。
•M i c r o c h i p愿与那些注重代码完整性的客户合作。
•M i c r o c h i p或任何其他半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是 “牢不可破”的。
代码保护功能处于持续发展中。 Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视
为违反了 《数字器件千年版权法案 (Digital Millennium Copyright Act )》。如果这种行为导致他人在未经授权的情况下,能访问您的
软件或其他受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。
提供本文档的中文版本仅为了便于理解。请勿忽视文档中包含
的英文部分,因为其中提供了有关 Microchip 产品性能和使用
情况的有用信息。Microchip Technology Inc. 及其分公司和相
关公司、各级主管与员工及事务代理机构对译文中可能存在的
任何差错不承担任何责任。建议参考 Microchip Technology
Inc. 的英文原版文档。
本出版物中所述的器件应用信息及其他类似内容仅为您提供便
利,它们可能由更新之信息所替代。确保应用符合技术规范,
是您自身应负的责任。Microchip 对这些信息不作任何明示或
暗示、书面或口头、法定或其他形式的声明或担保,包括但不
限于针对其使用情况、质量、性能、适销性或特定用途的适用
性的声明或担保。 Microchip 对因这些信息及使用这些信息而
引起的后果不承担任何责任。如果将 Microchip 器件用于生命
维持和 / 或生命安全应用,一切风险由买方自负。买方同意在
由此引发任何一切伤害、索赔、诉讼或费用时,会维护和保障
Microchip 免于承担法律责任,并加以赔偿。在 Microchip 知识
产权保护下,不得暗中或以其他方式转让任何许可证。
商标
Microchip 的名称和徽标组合、 Microchip 徽标、 Accuron、
dsPIC、 K
EEL OQ、 K EEL OQ 徽标、 microID 、MPLAB、 PIC、
PICmicro、 PICSTART、 PRO MATE、 rfPIC 和 SmartShunt
均为 Microchip Technology Inc. 在美国和其他国家或地区的
注册商标。
AmpLab、 FilterLab、 Linear Active Thermistor、 Migratable
Memory、 MXDEV、 MXLAB、 SEEVAL、 SmartSensor 和
The Embedded Control Solutions Company 均为 Microchip
Technology Inc. 在美国的注册商标。
Analog-for-the-Digital Age、 Application Maestro、
CodeGuard、 dsPICDEM、 dsPICDEM.net、 dsPICworks、
dsSPEAK、 ECAN、 ECONOMONITOR、 FanSense、
FlexROM、 fuzzyLAB、 In-Circuit Serial Programming、
ICSP、 ICEPIC、 Mindi、 MiWi、 MPASM、 MPLAB Certified
徽标、 MPLIB、 MPLINK、 PICkit、 PICDEM、 PICDEM.net、
PICLAB、 PICtail、 PowerCal、 PowerInfo、 PowerMate、
PowerTool、 REAL ICE、 rfLAB、 Select Mode、 Smart
Serial、 SmartTel、 Total Endurance、 UNI/O、 WiperLock 和
ZENA 均为 Microchip Technology Inc. 在美国和其他国家或地
区的商标。
SQTP 是 Microchip Technology Inc . 在美国的服务标记。
在此提及的所有其他商标均为各持有公司所有。
© 2007, Microchip Technology Inc . 版权所有。
Microchip
Gresham
和晶圆生产厂均通过了
与
片机外设、非易失性存储器和模拟产品方面的质量体系流程均符合
ISO/TS-16949:2002
的质量体系也已通过了
位于美国亚利桑那州
及位于加利福尼亚州
®
dsPIC
数字信号控制器、
Chandler和Tem pe
Mountain View
ISO/TS-16949:2002
KEE LOQ
。此外,
Microchip
ISO 9001:2000
、位于俄勒冈州
的全球总部、设计中心
认证。公司在
®
跳码器件、串行
在开发系统的设计和生产方面
认证。
PIC
EEPROM
®
单片机
、单
DS41288B_CN 第 ii 页 初稿 2007 Microchip Technology Inc.
PIC16F610/616/16HV610/616
14 引脚 8 位 CMOS 闪存单片机
高性能 RISC CPU :
• 仅需学习 35 条指令:
- 除了跳转指令以外,所有指令都是单周期的
• 工作速度:
-DC- 20 MHz 振荡器 / 时钟输入
-DC- 200 ns 指令周期
• 中断能力
•8层深硬件堆栈
• 直接、间接和相对寻址模式
单片机特性:
• 精确的内部振荡器:
- 出厂时精度已校准到 ±1%,典型值
- 用户可选择频率范围: 4MHz或 8 MHz
• 省电休眠模式
• 电压范围:
- PIC16F610/616: 2.0V 到 5.5V
- PIC16HV610/616: 2.0V 到用户定义的最大
值 (见 “注”)
• 工业级和扩展级温度范围
• 上电复位 ( Power-on Reset, POR)
• 上电延时定时器 ( Power-up Timer, PWRT)和
振荡器起振定时器 ( Oscillator Start-up Timer,
OST)
• 欠压复位 ( Brown-out Reset, BOR)
• 带独立振荡器的看门狗定时器 ( Watchdog
Timer, WDT)以保证可靠运行
• 带弱上拉的主复位引脚,可复用为输入引脚
• 可编程代码保护
• 高耐用性闪存:
- 闪存耐写次数达 100,000 次
- 闪存数据保存期: > 40 年
低功耗特性:
• 待机电流:
-2.0V时典型值为 50 nA
• 工作电流:
-32kHz、 2.0V 时典型值为 20 µA
-4MHz、 2.0V 时典型值为 220 µA
• 看门狗定时器电流:
-2.0V时典型值为 1 µ A
外设特性:
• 并联稳压器 (仅限 PIC16HV610/616):
-5伏稳压
-4mA到 50 mA 并联电流范围
•11个 I/O 引脚和 1 个只能用作输入的引脚
- 高灌 / 拉电流能力,可直接驱动 LED
- 电平变化中断引脚
- 可单独编程的弱上拉
• 模拟比较器模块,具有:
-2个模拟比较器
- 片上可编程参考电压 ( CV
的 %)
- 固定参考电压
- 可从外部访问比较器输入和输出
-SR锁存器
- 内建滞后 (用户可选择)
• Timer0 :带 有 8 位可编程预分频器的 8 位定时器 / 计
数器
• 增强型 Timer1:
- 带有预分频器的 16 位定时器 / 计数器
- 外部 Timer1 门控 (计数使能)
- 如果选用 INTOSC 模式,可选择 OSC1 和
OSC2 之间的振荡器 (工作在 LP 模式下)作
为 Timer1 的振荡器
-Timer1振荡器
• 通过两个引脚进行在线串行编程 ( In-Circuit
Serial Programming
仅限 PIC16F616/16HV616 :
•A/D转换器:
-10位精度
-8路外部输入通道
-2路内部参考通道
•Timer2:带有 8 位周期寄存器、预分频器和后分频
器的 8 位定时器 / 计数器
• 增强型捕捉、比较和 PWM 模块:
-16位捕捉,最大精度 12.5 ns
-16位比较,最大精度 200 ns
-10位 PWM,带有 1、 2 或 4 路输出通道及可
编程 “死区”,最高频率 20 kHz
TM
REF)模块 (V DD
, ICSP TM)
注: 通过内部并联稳压器的电压不能超过 5V 。
2007 Microchip Technology Inc. 初稿 DS41288B_CN 第 1 页
PIC16F610/616/16HV610/616
器件
PIC16F610 1024 64 11 — 2 1/1 2.0-5.5V
PIC16HV610 1024 64 11 — 2 1/1
PIC16F616 2048 128 11 8 2 2/1 2.0-5.5V
PIC16HV616 2048 128 11 8 2 2/1
程序存储器 数据存储器
闪存 (字) SRAM (字节)
I/O
10 位 A/D
(通道)
比较器
8/16 位
定时器
电压范围
2.0- 用户定义
2.0- 用户定义
PIC16F610/16HV610 14 引脚示意图 ( PDIP、 SOIC 和 TSSOP)
VDD
RA5/T1CKI/OSC1/CLKIN
RA4/T1G
/OSC2/CLKOUT
RA3/MCLR/VPP
RC5
RC4/C2OUT
RC3/C12IN3-
1
2
3
4
5
6
7
14
13
12
11
10
9
PIC16F610/16HV610
8
表 1: PIC16F610/16HV610 14 引脚汇总
I/O
RA0 13 C1IN+ — IOC
RA1 12 C12IN0- — IOC
RA2 11 C1OUT T0CKI INT/IOC
RA3
RA4 3 — T1G IOC
RA5 2 — T1CKI IOC
RC0 10 C2IN+ — — — —
RC1 9 C12IN1- — — — —
RC2 8 C12IN2- — — — —
RC3 7 C12IN3- — — — —
RC4 6 C2OUT — — — —
RC5 5 — — — — —
— 1 — — — — VDD
—1 4 — — — — VSS
注 1 : 仅用作输入。
引脚 比较器 定时器 中断 上拉 基本
(1)
4— —I O C
2 : 仅当引脚被配置为外部 MCLR 时。
VSS
RA0/C1IN+/ICSPDAT
RA1/C12IN0-/ICSPCLK
RA2/T0CKI/INT/C1OUT
RC0/C2IN+
RC1/C12IN1-
RC2/C12IN2-
有
有
有
(2)
有
有
有
ICSPDAT
ICSPCLK
—
MCLR/VPP
OSC2/CLKOUT
OSC1/CLKIN
DS41288B_CN 第 2 页 初稿 2007 Microchip Technology Inc.
PIC16F610/616/16HV610/616
PIC16F616/16HV616 14 引脚示意图 ( PDIP、 SOIC 和 TSSOP)
VDD
RA5/T1CKI/OSC1/CLKIN
RA4/AN3/T1G/OSC2/CLKOUT
RA3/MCLR
RC5/CCP1/P1A
RC4/C2OUT/P1B
RC3/AN7/C12IN3-/P1C
/VPP
1
2
3
4
5
6
7
14
13
12
11
10
9
PIC16F616/16HV616
8
VSS
RA0/AN0/C1IN+/ICSPDAT
RA1/AN1/C12IN0-/VREF /ICSPCLK
RA2/AN2/T0CKI/INT/C1OUT
RC0/AN4/C2IN+
RC1/AN5/C12IN1-
RC2/AN6/C12IN2-/P1D
表 2: PIC16F616/16HV616 14 引脚汇总
I/O
引脚 模拟 比较器 定时器
RA0 13 AN0 C1IN+ — — IOC
RA1 12 AN1/VREF C12IN0- — — IOC
RA2 11 AN2 C1OUT T0CKI — INT/IOC
(1)
RA3
RA4 3 AN3 — T1G — IOC
RA5 2 — — T1CKI — IOC
RC0 10 AN4 C2IN+ — — — — —
RC1 9 AN5 C12IN1- — — — — —
RC2 8 AN6 C12IN2- — P1D — — —
RC3 7 AN7 C12IN3- — P1C — — —
RC4 6 — C2OUT — P1B — — —
RC5 5 — — — CCP1/P1A — — —
— 1 — — — — — — VDD
—1 4 — — — — — — VSS
注 1 : 仅用作输入。
4— — — — I O C
2 : 仅当引脚被配置为外部 MCLR
时。
CCP
中断 上拉 基本
ICSPDAT
ICSPCLK
MCLR/VPP
OSC2/CLKOUT
OSC1/CLKIN
有
有
有
有
(2)
有
有
—
2007 Microchip Technology Inc. 初稿 DS41288B_CN 第 3 页
PIC16F610/616/16HV610/616
PIC16F610/16HV610 16 引脚示意图 ( QFN)
SS
NC
V
14
13
12
11
10
9
7
8
RC2/C12IN2-
RC1/C12IN1-
RA0/C1IN+/ICSPDAT
RA1/C12IN0-/ICSPCLK
RA2/T0CKI/INT/C1OUT
RC0/C2IN1+
RA5/T1CKI/OSC1/CLKIN
RA4/T1G
/OSC2/CLKOUT
RA3/MCLR
/VPP
RC5
VDD
16
1
2
PIC16F610/
PIC16HV610
3
4
5
RC4/C2OUT
NC
15
6
RC3/C12IN3-
表 3: PIC16F610/16HV610 16 引脚汇总
I/O
RA0 12 C1IN+ — IOC
RA1 11 C12IN0- — IOC
RA2 10 C1OUT T0CKI INT/IOC
RA3
RA4 2 — T1G IOC
RA5 1 — T1CKI IOC
RC0 9 C2IN+ — — — —
RC1 8 C12IN1- — — — —
RC2 7 C12IN2- — — — —
RC3 6 C12IN3- — — — —
RC4 5 C2OUT — — — —
RC5 4 — — — — —
— 16 — — — — VDD
—1 3 — — — — VSS
注 1 : 仅用作输入。
引脚 比较器 定时器 中断 上拉 基本
有
有
有
(1)
3— —I O C
有
(2)
有
有
2 : 仅当引脚被配置为外部 MCLR 时。
ICSPDAT
ICSPCLK
MCLR/VPP
OSC2/CLKOUT
OSC1/CLKIN
—
DS41288B_CN 第 4 页 初稿 2007 Microchip Technology Inc.
PIC16F610/616/16HV610/616
PIC16F616/16HV616 16 引脚示意图 ( QFN)
SS
NC
V
14
13
12
11
10
9
7
8
RC1/AN5/C12IN1-
RC2/AN6/C12IN2-/P1D
RA0/AN0/C1IN+/ICSPDAT
RA1/AN1/C12IN0-/V
RA2/AN2/T0CKI/INT/C1OUT
RC0/AN4/C2IN1+
REF/ICSPCLK
RA5/T1CKI/OSC1/CLKIN
RA4/AN3/T1G
/OSC2/CLKOUT
RA3/MCLR
RC5/CCP/P1A
/VPP
VDD
16
1
2
PIC16HV616
3
4
5
RC4/C2OUT/P1B
NC
15
PIC16F616/
6
RC3/AN7/C12IN3-/P1C
表 4: PIC16F616/16HV616 16 引脚汇总
I/O
引脚 模拟 比较器 定时器
RA0 12 AN0 C1IN+ — — IOC
RA1 11 AN1/V
REF C12IN0- — — IOC
RA2 10 AN2 C1OUT T0CKI — INT/IOC
(1)
RA3
3— — — — I O C
RA4 2 AN3 — T1G — IOC
RA5 1 — — T1CKI — IOC
RC0 9 AN4 C2IN+ — — — — —
RC1 8 AN5 C12IN1- — — — — —
RC2 7 AN6 C12IN2- — P1D — — —
RC3 6 AN7 C12IN3- — P1C — — —
RC4 5 — C2OUT — P1B — — —
RC5 4 — — — CCP1/P1A — — —
— 16 — — — — — — VDD
—1 3 — — — — — — VSS
注 1: 仅用作输入。
2: 仅当引脚被配置为外部 MCLR 时。
CCP
中断 上拉 基本
有
有
ICSPDAT
ICSPCLK
有
有
(2)
有
有
MCLR/VPP
OSC2/CLKOUT
OSC1/CLKIN
—
2007 Microchip Technology Inc. 初稿 DS41288B_CN 第 5 页
PIC16F610/616/16HV610/616
目录
1.0 器件概述 ....................................................................................................................................................................................... 7
2.0 存储器构成 ................................................................................................................................................................................. 11
3.0 振荡器模块 ................................................................................................................................................................................. 25
4.0 I/O 端口 ....................................................................................................................................................................................... 31
5.0 Timer0 模块 ................................................................................................................................................................................ 43
6.0 带门控的 Timer1 模块 ................................................................................................................................................................. 47
7.0 Timer2 模块 ................................................................................................................................................................................ 53
8.0 比较器模块 ................................................................................................................................................................................. 55
9.0 模数转换器 ( A/D)模块 ............................................................................................................................................................ 71
10.0 增强型捕捉 / 比较 /PWM (带自动关闭和死区)模块 ................................................................................................................. 83
11.0 稳压器 ....................................................................................................................................................................................... 105
12.0 CPU 的特殊功能 ....................................................................................................................................................................... 106
13.0 指令集汇总 ............................................................................................................................................................................... 125
14.0 开发支持 ................................................................................................................................................................................... 135
15.0 电气规范 ................................................................................................................................................................................... 139
16.0 直流和交流特性图表 ................................................................................................................................................................. 161
17.0 封装信息 ................................................................................................................................................................................... 163
附录 A : 数据手册版本历史 .......................................................................................................................................................... 169
附录 B : 从其他 PIC
索引 ................................................................................................................................................................................................... 171
Microchip 网站.................................................................................................................................................................................... 175
变更通知客户服务 .............................................................................................................................................................................. 175
客户支持............................................................................................................................................................................................. 175
读者反馈表 ......................................................................................................................................................................................... 176
产品标识体系...................................................................................................................................................................................... 177
®
器件移植.................................................................................................................................................... 169
致客户
我们旨在提供最佳文档供客户正确使用 Microchip 产品。为此,我们将不断改进出版物的内容和质量,使之更好地满足您的要求。出
版物的质量将随新文档及更新版本的推出而得到提升。
如果您对本出版物有任何问题和建议,请通过电子邮件联系我公司 TRC 经理,电子邮件地址为
docerrors@microchip.com ,或将本数据手册后附的 《读者反馈表》传真到 86-21-5407 5066 。我们期待您的反馈。
最新数据手册
欲获得本数据手册的最新版本,请查询我公司的网站:
http://www.microchip.com
查看数据手册中任意一页下边角处的文献编号即可确定其版本。文献编号中数字串后的字母是版本号,例如:DS30000A 是 DS30000
的 A 版本。
勘误表
现有器件可能带有一份勘误表,描述了实际运行与数据手册中记载内容之间存在的细微差异以及建议的变通方法。一旦我们了解到器
件 / 文档存在某些差异时,就会发布勘误表。勘误表上将注明其所适用的硅片版本和文件版本。
欲了解某一器件是否存在勘误表,请通过以下方式之一查询:
•Microchip网站 http://www.microchip.com
• 当地 Microchip 销售办事处 (见最后一页)
在联络销售办事处时,请说明您所使用的器件型号、硅片版本和数据手册版本 (包括文献编号)。
客户通知系统
欲及时获知 Microchip 产品的最新信息,请到我公司网站 www.microchip.com 上注册。
DS41288B_CN 第 6 页 初稿 2007 Microchip Technology Inc.
PIC16F610/616/16HV610/616
1.0 器件概述
本数据手册涵盖 PIC16F610/616/16HV610/616 器件。
这些器件采用 14 引脚 PDIP 、 SOIC 、TSSOP 和 16 引
脚 QFN 封装。
这些器件的框图和引脚说明如下所示:
• PIC16F610/16HV610 (图 1-1,表 1-1)
• PIC16F616/16HV616 (图 1-2,表 1-2)
图 1-1 : PIC16F610/16HV610 框图
OSC1/CLKIN
OSC2/CLKOUT
T1G
程序
总线
内部
振荡器
模块
配置
闪存
1K X 14
程序
存储器
14
指令寄存器
指令
译码与
控制
时序
发生
8
13
MCLR
INT
程序计数器
8 层堆栈
(13 位)
直接地址
上电延时
定时器
振荡器
起振定时器
上电
复位
看门狗
定时器
欠压
复位
VDD
V
7
SS
数据总线
RAM
64 字节
文件
寄存器
RAM 地址
地址 MUX
3
ALU
8
W 寄存器
并联稳压器
(仅限PIC16HV610 )
9
间接
8
地址
FSR 寄存器
STATUS 寄存器
MUX
8
PORTA
RA0
RA1
RA2
RA3
RA4
RA5
PORTC
RC0
RC1
RC2
RC3
RC4
RC5
T1CKI
T0CKI
Timer0
Timer1
比较器参考电压
固定参考电压
2 个模拟比较器
C12IN2-
C12IN3-
C1OUT
C2IN+
C2OUT
C1IN+
C12IN0-
C12IN1-
2007 Microchip Technology Inc. 初稿 DS41288B_CN 第 7 页
PIC16F610/616/16HV610/616
图 1-2: PIC16F616/16HV616 框图
OSC1/CLKIN
OSC2/CLKOUT
T1G
程序
总线
内部
振荡器
模块
配置
闪存
2K X 14
程序
存储器
14
指令寄存器
指令
译码与
控制
时序
发生
8
13
MCLR
INT
程序计数器
8 层堆栈
(13 位)
直接地址
上电延时
定时器
振荡器
起振定时器
上电
复位
看门狗
定时器
欠压
复位
VDD
V
7
SS
数据总线
RAM
128 字节
文件
寄存器
RAM 地址
地址 MUX
STATUS 寄存器
3
ALU
8
W 寄存器
并联稳压器
(仅限 PIC16HV616 )
9
间接
8
地址
FSR 寄存器
MUX
8
PORTA
RA0
RA1
RA2
RA3
RA4
RA5
PORTC
RC0
RC1
RC2
RC3
RC4
RC5
T1CKI
T0CKI
VREF
AN7
AN6
模数转换器
AN3
AN4
AN5
AN2
AN1
AN0
Timer0
Timer1
比较器参考电压
固定参考电压
Timer2
2 个模拟比较器
C12IN2-
C12IN3-
C1OUT
C2IN+
C2OUT
C12IN1-
C12IN0-
C1IN+
ECCP
P1C
P1D
CCP1/P1A
P1B
DS41288B_CN 第 8 页 初稿 2007 Microchip Technology Inc.
PIC16F610/616/16HV610/616
表 1-1 : PIC16F610/16HV610 引脚说明
名称 功能 输入类型 输出类型 说明
RA0/C1IN+/ICSPDAT RA0 TTL CMOS
C1IN+ AN —
ICSPDAT ST CMOS
RA1/C12IN0-/ICSPCLK RA1 TTL CMOS
C12IN0- AN —
ICSPCLK ST —
RA2/T0CKI/INT/C1OUT RA2 ST CMOS
T0CKI ST —
INT ST —
C1OUT — CMOS
RA3/MCLR
RA4/T1G
RA5/T1CKI/OSC1/CLKIN RA5 TTL CMOS
RC0/C2IN+ RC0 TTL CMOS PORTC I/O
RC1/C12IN1- RC1 TTL CMOS PORTC I/O
RC2/C12IN2- RC2 TTL CMOS PORTC I/O
RC3/C12IN3- RC3 TTL CMOS PORTC I/O
RC4/C2OUT RC4 TTL CMOS PORTC I/O
RC5 RC5 TTL CMOS PORTC I/O
V
DD V DD
V
SS V SS
图注: AN = 模拟输入或输出 CMOS = CMOS 兼容输入或输出 HV = 高电压
/VPP RA3 TTL —
MCLR
V
PP HV —
/OSC2/CLKOUT RA4 TTL CMOS
T1G
OSC2 — XTAL
CLKOUT — CMOS
T1CKI ST —
OSC1 XTAL —
CLKIN ST —
C2IN+ AN —
C12IN1- AN —
C12IN2- AN —
C12IN3- AN —
C2OUT — CMOS
ST = CMOS 电平的施密特触发器输入 TTL = TTL 兼容输入 XTAL = 晶振
ST —
ST —
电源
电源
具有可编程上拉和电平变化中断功能的 PORTA I/O
比较器 C1 的同相输入
串行编程数据 I/O
具有可编程上拉和电平变化中断功能的 PORTA I/O
比较器 C1 和 C2 的反相输入
串行编程时钟
具有可编程上拉和电平变化中断功能的 PORTA I/O
Timer0 的时钟输入
外部中断
比较器 C1 的输出
具有电平变化中断功能的 PORTA 输入
带内部上拉的主复位
编程电压
具有可编程上拉和电平变化中断功能的 PORTA I/O
Timer1 门控 (计数使能)
晶振 / 谐振器
F
OSC/4 输出
具有可编程上拉和电平变化中断功能的 PORTA I/O
Timer1 的时钟输入
晶振 / 谐振器
外部时钟输入 /RC 振荡器连接
比较器 C2 的同相输入
比较器 C1 和 C2 的反相输入
比较器 C1 和 C2 的反相输入
比较器 C1 和 C2 的反相输入
比较器 C2 的输出
—
正电源
—
参考地
2007 Microchip Technology Inc. 初稿 DS41288B_CN 第 9 页
PIC16F610/616/16HV610/616
表 1-2 : PIC16F616/16HV616 引脚说明
名称 功能 输入类型 输出类型 说明
RA0/AN0/C1IN+/ICSPDAT RA0 TTL CMOS
AN0 AN —
C1IN+ AN —
ICSPDAT ST CMOS
RA1/AN1/C12IN0-/V
RA2/AN2/T0CKI/INT/C1OUT RA2 ST CMOS
RA3/MCLR
RA4/AN3/T1G
RA5/T1CKI/OSC1/CLKIN RA5 TTL CMOS
RC0/AN4/C2IN+ RC0 TTL CMOS PORTC I/O
RC1/AN5/C12IN1- RC1 TTL CMOS PORTC I/O
RC2/AN6/C12IN2-/P1D RC2 TTL CMOS PORTC I/O
RC3/AN7/C12IN3-/P1C RC3 TTL CMOS PORTC I/O
RC4/C2OUT/P1B RC4 TTL CMOS PORTC I/O
RC5/CCP1/P1A RC5 TTL CMOS PORTC I/O
V
DD V DD
V
SS V SS
图注: AN = 模拟输入或输出 CMOS = CMOS 兼容输入或输出 HV = 高电压
REF/ICSPCLK RA1 TTL CMOS
AN1 AN —
C12IN0- AN —
V
REF AN —
ICSPCLK ST —
AN2 AN —
T0CKI ST —
INT ST —
C1OUT — CMOS
/VPP RA3 TTL —
MCLR
V
PP HV —
/OSC2/CLKOUT RA4 TTL CMOS
AN3 AN —
T1G
OSC2 — XTAL
CLKOUT — CMOS
T1CKI ST —
OSC1 XTAL —
CLKIN ST —
AN4 AN —
C2IN+ AN —
AN5 AN —
C12IN1- AN —
AN6 AN —
C12IN2- AN —
P1D — CMOS
AN7 AN —
C12IN3- AN —
P1C — CMOS
C2OUT — CMOS
P1B — CMOS
CCP1 ST CMOS
P1A — CMOS
ST = CMOS 电平的施密特触发器输入 TTL = TTL 兼容输入 XTAL = 晶振
ST —
ST —
电源
电源
具有可编程上拉和电平变化中断功能的 PORTA I/O
A/D 通道 0 的输入
比较器 C1 的同相输入
串行编程数据 I/O
具有可编程上拉和电平变化中断功能的 PORTA I/O
A/D 通道 1 的输入
比较器 C1 和 C2 的反相输入
A/D 的外部参考电压
串行编程时钟
具有可编程上拉和电平变化中断功能的 PORTA I/O
A/D 通道 2 的输入
Timer0 的时钟输入
外部中断
比较器 C1 的输出
具有电平变化中断功能的 PORTA 输入
带内部上拉的主复位
编程电压
具有可编程上拉和电平变化中断功能的 PORTA I/O
A/D 通道 3 的输入
Timer1 门控 (计数使能)
晶振 / 谐振器
F
OSC/4 输出
具有可编程上拉和电平变化中断功能的 PORTA I/O
Timer1 的时钟输入
晶振 / 谐振器
外部时钟输入 /RC 振荡器连接
A/D 通道 4 的输入
比较器 C2 的同相输入
A/D 通道 5 的输入
比较器 C1 和 C2 的反相输入
A/D 通道 6 的输入
比较器 C1 和 C2 的反相输入
PWM 输出
A/D 通道 7 的输入
比较器 C1 和 C2 的反相输入
PWM 输出
比较器 C2 的输出
PWM 输出
捕捉输入 / 比较输出
PWM 输出
—
正电源
—
参考地
DS41288B_CN 第 10 页 初稿 2007 Microchip Technology Inc.
PIC16F610/616/16HV610/616
2.0 存储器构成
2.1 程序存储器构成
PIC16F610/616/16HV610/616 器件具有一个 13 位程序计
数器,能够 寻 址 8k x 14 的程序存储空间。只有
PIC16F610/16HV610 中的前 1k x 14 (0000h-3FF )空间
和 PIC16F616/16HV616 中的前 2k x 14 (0000h-07FFh )
空间是物理实现的。访问超出上述范围的存储单元,将回
到前 1k x 14 空间内(PIC16F610/16HV610 )和前 2K x 14
空间内 (PIC16F616/16HV616 )。复位向量位于 0000h ,
而中断向量位于 0004h (见图 2-1 )。
图 2-1 : PIC16F610/16HV610 的程
序存储器映射和堆栈
PC<12:0>
CALL, RETURN
RETFIE, RETLW
第 1 层堆栈
第 2 层堆栈
第 8 层堆栈
复位向量
13
0000h
图 2-2 : PIC16F616/16HV616 的程
序存储器映射和堆栈
PC<12:0>
CALL, RETURN
RETFIE, RETLW
第 1 层堆栈
第 2 层堆栈
第 8 层堆栈
复位向量
中断向量
片上程序
存储器
13
0000h
0004h
0005h
07FFh
0800h
1FFFh
中断向量
片上程序
存储器
0004h
0005h
03FFh
0400h
1FFFh
2007 Microchip Technology Inc. 初稿 DS41288B_CN 第 11 页
PIC16F610/616/16HV610/616
2.2 数据存储器构成
数据存储器 (见图 2-4 )被划分为两个存储区,每个存
储区由通用寄存器(General Purpose Register ,GPR)
和特殊功能寄存器(Special Function Register,SFR )
组成。特殊功能寄存器位于每个存储区的前 32 个单元
中。 PIC16F610/16HV610 Bank 0 中的寄存器单元
40h-7Fh 是通用寄存器,以静态 RAM 的形式实现。
PIC16F616/16HV616 Bank 0 中的 20h-7Fh 和 Bank 1
中的 A0h-BFh 寄存器单元是通用寄存器,以静态 RAM
的形式实现。 Bank 1 中的寄存器单元 F0h-FFh 指向
Bank 0 中的地址 70h-7Fh 。所有其他 RAM 均未实现,
读取时返回 0 。STATUS 寄存器的 RP0 位是存储区选择
位。
RP0
0 → 选择 Bank 0
1 → 选择 Bank 1
注: STATUS 寄存器的 IRP 和 RP1 位保留,且
应始终保持为 0。
2.2.1 通用寄存器文件
PIC16F610/16HV610 的寄存器文件组织为 64 x 8,而
PIC16F616/16HV616 的寄存器文件则组织为 128 x 8。
通过文件选择寄存器 (File Select Register , FSR ),
可以直接或间接地访问每个寄存器(见第 2.4 节“间接
寻址、 INDF 和 FSR 寄存器”)。
2.2.2 特殊功能寄存器
特殊功能寄存器为 CPU 和外设模块用来对器件所需操
作进行控制的寄存器 (见表 2-1 )。这些寄存器皆为静
态 RAM 。
特殊功能寄存器可分为两类,即:内核和外设。本节将
介绍与 “内核”相关的特殊功能寄存器。与外设模块相
关的特殊功能寄存器将在相应的外设功能模块章节中介
绍。
DS41288B_CN 第 12 页 初稿 2007 Microchip Technology Inc.
PIC16F610/616/16HV610/616
图 2-3 : PIC16F610/16HV610 的数
据存储器映射
间接地址
TMR0
PCL
STATUS
FSR
PORTA
PORTC
PCLATH
INTCON
PIR1
TMR1L
TMR1H
T1CON
VRCON
CM1CON0
CM2CON0
CM2CON1
文件
地址
(1)
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
1Dh
1Eh
1Fh
20h
3Fh
40h
间接地址
OPTION_REG
PCL
STATUS
FSR
TRISA
TRISC
PCLATH
INTCON
PIE1
PCON
OSCTUNE
ANSEL
WPUA
IOCA
SRCON0
SRCON1
文件
地址
(1)
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
9Dh
9Eh
9Fh
A0h
图 2-4 : PIC16F616/16HV616 的数
据存储器映射
间接地址
TMR0
PCL
STATUS
FSR
PORTA
PORTC
PCLATH
INTCON
PIR1
TMR1L
TMR1H
T1CON
TMR2
T2CON
CCPR1L
CCPR1H
CCP1CON
PWM1CON
ECCPAS
VRCON
CM1CON0
CM2CON0
CM2CON1
ADRESH
ADCON0
通用
寄存器
96 字节
文件
地址
(1)
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
1Dh
1Eh
1Fh
20h
间接地址
OPTION_REG
PCL
STATUS
FSR
TRISA
TRISC
PCLATH
INTCON
PIE1
PCON
OSCTUNE
ANSEL
PR2
WPUA
IOCA
SRCON0
SRCON1
ADRESL
ADCON1
通用
寄存器
32 字节
文件
地址
(1)
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
9Dh
9Eh
9Fh
A0h
BFh
C0h
通用
寄存器
64 字节
7Fh
Bank 0
未实现的数据存储单元,读为 0。
注 1 : 不是实际存在的寄存器。
访问 70h-7Fh
Bank 1
F0h
FFh
Bank 0
未实现的数据存储单元,读为 0。
注 1 : 不是实际存在的寄存器。
6Fh
70h
7Fh
访问 70h-7Fh
Bank 1
F0h
FFh
2007 Microchip Technology Inc. 初稿 DS41288B_CN 第 13 页
PIC16F610/616/16HV610/616
表 2-1 : PIC16F610/616/16HV610/616 特殊功能寄存器汇总, BANK 0
地址 名称
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Bank 0
00h INDF
01h TMR0
02h PCL
03h STATUS IRP
04h FSR
05h PORTA
06h —
07h PORTC
08h —
09h —
0Ah PCLATH
通过用 FSR 的内容寻址这个存储单元来寻址数据存储器 (不是实际存在的寄存器)
Timer0 模块寄存器
程序计数器 ( PC)的低字节
(1)
RP1
(1)
RP0 TO PD ZD CC0001 1xxx 16, 114
间接数据存储器地址指针
— — RA5 RA4 RA3 RA2 RA1 RA0 --x0 x000 31, 114
未实现
— — RC5 RC4 RC3 RC2 RC1 RC0 --xx 00xx 40, 114
未实现
未实现
— — —
程序计数器高 5 位的写缓冲器
0Bh INTCON GIE PEIE T0IE INTE RAIE T0IF INTF RAIF 0000 0000 18, 114
0Ch PIR1
0Dh —
0Eh TMR1L
0Fh TMR1H
—A D I F
未实现
16 位 TMR1 寄存器低字节的保持寄存器
16 位 TMR1 寄存器高字节的保持寄存器
(2)
10h T1CON T1GINV TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC
11h T MR2
12h T2CON
13h CCPR1L
14h CCPR1H
15h CCP1CON
16h PWM1CON
17h ECCPAS
18h —
(2)
Timer2 模块寄存器
(2)
(2)
(2)
(2)
— TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 54, 114
捕捉 / 比较 /PWM 寄存器 1 的低字节
捕捉 / 比较 /PWM 寄存器 1 的高字节
(2)
P1M1 P1M0 DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 0000 0000 83, 114
(2)
PRSEN PDC6 PDC5 PDC4 PDC3 PDC2 PDC1 PDC0 0000 0000 83, 114
ECCPASE ECCPAS2 ECCPAS1 ECCPAS0 PSSAC1 PSSAC0 PSSBD1 PSSBD0 0000 0000 100, 114
未实现
19h VRCON C1VREN C2VREN
1Ah CM1CON0 C1ON C1OUT
1Bh CM2CON0 C2ON C2OUT
1Ch CM2CON1 MC1OUT MC2OUT
1Dh —
1Eh ADRESH
1Fh ADCON0
图注: – = 未实现位 (读为 0 ), u = 不变, x = 未知, q = 值取决于具体条件,阴影 = 未实现
注 1 : IRP 和 RP1 位保留,始终保持这两位清零。
未实现
(2)
左对齐 A/D 结果的高 8 位或右对齐 A/D 结果的高 2 位
(2)
ADFM VCFG CHS3 CHS2 CHS1 CHS0 GO/DONE ADON 0000 0000 76, 114
CCP1IF
(2)
C2IF C1IF —T M R 2 I F
(2)
TMR1IF -000 0-00 20, 114
TMR1CS TMR1ON 0000 0000 50, 114
VRR FVREN VR3 VR2 VR1 VR0 0000 0000 70, 114
C1OE C1POL — C1R C1CH1 C1CH0 0000 -000 60, 114
C2OE C2POL — C2R C2CH1 C2CH0 0000 -000 61, 114
— T1ACS C1HYS C2HYS T1GSS C2SYNC 00-0 0010 63, 114
2: 仅限 PIC16F616/16HV616 。
POR/BOR
时的值
所在页
xxxx xxxx 22, 114
xxxx xxxx 43, 114
0000 0000 22, 114
xxxx xxxx 22, 114
— —
— —
— —
---0 0000 22, 114
— —
xxxx xxxx 47, 114
xxxx xxxx 47, 114
0000 0000 53, 114
XXXX XXXX 84, 114
XXXX XXXX 84, 114
— —
— —
xxxx xxxx 78, 114
DS41288B_CN 第 14 页 初稿 2007 Microchip Technology Inc.
PIC16F610/616/16HV610/616
表 2-2 : PIC16F610/616/16HV610/616 特殊功能寄存器汇总, BANK 1
地址 名称
Bank 1
80h INDF
81h OPTION_REG RAPU
82h PCL
83h STATUS IRP
84h FSR
85h TRISA
86h —
87h TRISC
88h —
89h —
8Ah PCLATH
8Bh INTCON GIE PEIE T0IE INTE RAIE T0IF INTF RAIF 0000 0000 18, 114
8Ch PIE1
8Dh —
8Eh PCON
8Fh —
90h OSCTUNE
91h ANSEL ANS7 ANS6 ANS5 ANS4 ANS3
92h PR2
93h —
94h —
95h WPUA
96h IOCA
97h —
98h —
99h SRCON0 SR1 SR0 C1SEN C2REN PULSS PULSR
9Ah SRCON1 SRCS1 SRCS0
9Bh —
9Ch —
9Dh —
9Eh ADRESL
9Fh ADCON1
图注: – = 未实现位 (读为 0 ), u = 不变, x = 未知, q = 值取决于具体条件,阴影 = 未实现
注 1 : IRP 和 RP1 位保留,始终保持这两位清零。
(3)
(3)
(3)
2: 当在配置字寄存器中 MCLRE 为 1 时, RA3 上拉使能。
3: 仅限 PIC16F616/16HV616 。
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
通过用 FSR 的内容寻址这个存储单元来寻址数据存储器 (不是实际存在的寄存器)
INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 17, 114
程序计数器 ( PC)的低字节
(1)
间接数据存储器地址指针
— — TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 --11 1111 31, 114
未实现
— — TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 --11 1111 40, 114
未实现
未实现
— — —
—A D I E
未实现
— — — — — —P O RBOR ---- --qq 21, 114
未实现
— — — TUN4 TUN3 TUN2 TUN1 TUN0 ---0 0000 29, 114
Timer2 模块周期寄存器
未实现
未实现
— — WPUA5 WPUA4 — WPUA2 WPUA1 WPUA0 --11 -111 33, 114
— — IOCA5 IOCA4 IOCA3 IOCA2 IOCA1 IOCA0 --00 0000 33, 115
未实现
未实现
未实现
未实现
未实现
左对齐结果的低 2 位或右对齐结果的低 8 位
— ADCS2 ADCS1 ADCS0 — — — — -000 ---- 77, 115
RP1
(1)
RP0 TO PD ZD CC0001 1xxx 16, 114
程序计数器高 5 位的写缓冲器
(3)
(3)
CCP1IE
— — — — — — 00-- ---- 67, 115
C2IE C1IE —T M R 2 I E
(3)
ANS2
(3)
(3)
TMR1IE -000 0-00 19, 114
ANS1 ANS0 1111 1111 32, 114
— SRCLKEN 0000 00-0 67, 115
POR/BOR
时的值
xxxx xxxx 22, 114
0000 0000 22, 114
xxxx xxxx 22, 114
— —
— —
— —
---0 0000 22, 114
— —
— —
1111 1111 53, 114
— —
— —
— —
— —
— —
— —
— —
xxxx xxxx 78, 115
所在页
2007 Microchip Technology Inc. 初稿 DS41288B_CN 第 15 页
PIC16F610/616/16HV610/616
2.2.2.1 STATUS 寄存器
STATUS 寄存器如寄存器 2-1 所示,包括:
•ALU的算术运算状态
• 复位状态
• 数据存储器 ( RAM)的存储区选择位
STATUS 寄存器与任何其他寄存器一样,可作为任何指
令的目标寄存器。如果一条影响 Z 、 DC 或 C 位的指令
以 STATUS 寄存器作为目标寄存器,那么对这三个位的
写操作将被禁止。这些位根据器件逻辑被置 1 或清零。
而且, TO
将 STATUS 寄存器作为目标寄存器的指令时,运行结果
和 PD 位均为不可写位。因此,当执行一条
因此,建议仅使用 BCF 、 BSF 、 SWAPF 和 MOVWF 指令
来改变 STATUS 寄存器的值,因为这些指令不会影响任
何状态位。关于其他不会影响任何状态位的指令,请参
见第 13.0 节 “指令集汇总”。
注 1 : PIC16F610/616/16HV610/616 未使用
STATUS 寄存器的 IRP 和 RP1 位,它们
应保持清零。不建议使用这些位,因为这
可能会影响与未来产品的向上兼容性。
2 : 在减法运算中, C 和 DC 位分别作为借位
位和半借位位。请参见 SUBLW 和 SUBWF
指令中的示例。
可能会与预想的不同。
例如,指令 CLRF STATUS 将会清除 STATUS 寄存器中
的高三位,并将 Z 位置 1 。这将使 STATUS 寄存器中的
值成为 000u u1uu (其中 u = 不变)。
寄存器 2-1 : STATUS:状态寄存器
保留 保留
IRP RP1 RP0 TO PD ZD CC
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 置 10 = 清零 x = 未知
R/W-0 R-1 R-1 R/W-x R/W-x R/W-x
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
注 1: 对于借位
IRP:该位保留且应保持为 0 。
RP1:该位保留且应保持为 0 。
RP0:寄存器存储区选择位 (用于直接寻址)
1 = Bank 1 (80h–FFh)
0 = Bank 0 (00h–7Fh)
TO
1 = 在上电、执行 CLRWDT 或 SLEEP 指令后
0 = 产生了 WDT 超时
PD
1 = 在上电或执行 CLRWDT 指令后
0 = 执行 SLEEP 指令
Z:全零标志位
1 = 算术运算或逻辑运算的结果为零
0 = 算术运算或逻辑运算的结果不为零
DC:半进位 / 借位
1 = 结果的第 4 个低位发生了进位
0 = 结果的第 4 个低位未发生进位
C:进位 / 借位
1 = 结果的最高位发生了进位
0 = 结果的最高位未发生进位
装入源寄存器的最高位或最低位。
:超时位
:掉电位
位(ADDWF、 ADDLW、 SUBLW 和 SUBWF 指令),对于借位,极性是相反的。
(1)
位
(ADDWF 、 ADDLW 、 SUBLW 和 SUBWF 指令)
,极性是相反的。减法是通过加上第二个操作数的二进制补码来执行的。对于移位指令 (RRF 和 RLF ), 此 位
DS41288B_CN 第 16 页 初稿 2007 Microchip Technology Inc.
PIC16F610/616/16HV610/616
2.2.2.2 OPTION 寄存器
OPTION 寄存器是可读写寄存器,有各种控制位,用来
配置以下各项:
• Timer0/WDT 预分频器
• 外部 RA2/INT 中断
•Timer0
•PORTA的弱上拉
寄存器 2-2 : OPTION_REG :OPTION 寄存器
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
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 置 10 = 清零 x = 未知
INTEDG T0CS T0SE PSA PS2 PS1 PS0
注: 要使 Timer0 获得 1:1 的预分频比,可将
OPTION 寄存器的 PSA 位置为 1,以将预
分频器分配给 WDT 。请参见第 5.1.3 节“可
软件编程的预分频器”。
bit 7
RAPU
:PORTA 上拉使能位
1 = 禁止 PORTA 上拉
0 = 通过各端口锁存值使能 PORTA 上拉
bit 6
INTEDG:中断触发边沿选择位
1 = RA2/INT 引脚的上升沿触发中断
0 = RA2/INT 引脚的下降沿触发中断
bit 5
T0CS : Timer0 时钟源选择位
1 = RA2/T0CKI 引脚上的电平跳变
0 = 内部指令周期时钟 (F
bit 4
T0SE : Timer0 时钟源边沿选择位
1 = 在 RA2/T0CKI 引脚信号从高至低跳变时,递增计数
0 = 在 RA2/T0CKI 引脚信号从低至高跳变时,递增计数
bit 3
PSA:预分频器分配控制位
1 = 预分频器分配给 WDT
0 = 预分频器分配给 Timer0 模块
bit 2-0 PS<2:0>:预分频比选择位
位值 TIM ER0 预分频比 WDT 预分频比
000
001
010
011
100
101
110
111
1 : 2
1 : 4
1 : 8
1 : 16
1 : 32
1 : 64
1 : 128
1 : 256
OSC/4)
1 : 1
1 : 2
1 : 4
1 : 8
1 : 16
1 : 32
1 : 64
1 : 128
2007 Microchip Technology Inc. 初稿 DS41288B_CN 第 17 页
PIC16F610/616/16HV610/616
2.2.2.3 INTCON 寄存器
INTCON 寄存器是可读写的寄存器,它包含 TMR0 寄存
器溢出、PORTA 电平变化和外部 RA2/INT 引脚中断等
各种使能控制位和标志位。
注: 当中断条件发生时,无论相应中断允许位
或全局中断允许位 GIE (在 INTCON 寄存
器中)的状态如何,中断标志位都将被置
1 。用户软件应在允许一个中断前,先将相
应的中断标志位清零。
寄存器 2-3 : INTCON :中断控制寄存器
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 T0IF INTF RAIF
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 置 10 = 清零 x = 未知
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
GIE:全局中断允许位
1 = 允许所有未被屏蔽的中断
0 = 禁止所有中断
PEIE:外设中断允许位
1 = 允许所有未被屏蔽的外设中断
0 = 禁止所有外设中断
T0IE: Timer0 溢出中断允许位
1 = 允许 Timer0 中断
0 = 禁止 Timer0 中断
INTE: RA2/INT 外部中断允许位
1 = 允许 RA2/INT 外部中断
0 = 禁止 RA2/INT 外部中断
RAIE: PORTA 电平变化中断允许位
1 = 允许 PORTA 电平变化中断
0 = 禁止 PORTA 电平变化中断
T0IF: Timer0 溢出中断标志位
1 = Timer0 寄存器溢出 (必须用软件清零)
0 = Timer0 寄存器未溢出
INTF: RA2/INT 外部中断标志
1 = RA2/INT 外部中断发生 (必须用软件清零)
0 = RA2/INT 外部中断没有发生
RAIF: PORTA 电平变化中断标志位
1 = 至少有一个 PORTA <5:0> 引脚状态发生变化时 (必须用软件清零)
0 = PORTA <5:0> 引脚状态均未发生变化
(1)
(2)
注 1: IOCA 寄存器也必须被使能。
2: 当 TMR0 计数出现计满返回时, T0IF 位将被置 1 。 TMR0 计数值在复位时不变,而且应在清除 T0IF 位之
前对其进行初始化。
DS41288B_CN 第 18 页 初稿 2007 Microchip Technology Inc.
PIC16F610/616/16HV610/616
2.2.2.4 PIE1 寄存器
PIE1 寄存器包含外设中断允许位,如寄存器 2-4 所示。
寄存器 2-4 : PIE1 :外设中断允许寄存器 1
U-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0 R/W-0
—A D I E
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 置 10 = 清零 x = 未知
(1)
CCP1IE
(1)
C2IE C1IE —T M R 2 I E
注: 必须将 INTCON 寄存器的 PEIE 位置 1 ,以
允许外设中断。
(1)
TMR1IE
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
注 1 : 仅限 PIC16F616/16HV616 。 PIC16F610/16HV610 未实现,读为 0 。
未实现:读为 0
ADIE :A/D 转换器 (ADC )中断允许位
1 = 允许 ADC 中断
0 = 禁止 ADC 中断
CCP1IE: CCP1 中断允许位
1 = 允许 CCP1 中断
0 = 禁止 CCP1 中断
C2IE:比较器 C2 中断允许位
1 = 允许比较器 C2 中断
0 = 禁止比较器 C2 中断
C1IE:比较器 C1 中断允许位
1 = 允许比较器 C1 中断
0 = 禁止比较器 C1 中断
未实现:读为 0
TMR2IE: Timer2 与 PR2 匹配中断允许位
1 = 允许 Timer2 与 PR2 匹配中断
0 = 禁止 Timer2 与 PR2 匹配中断
TMR1IE: Timer1 溢出中断允许位
1 = 允许 Timer1 溢出中断
0 = 禁止 Timer1 溢出中断
(1)
(1)
(1)
2007 Microchip Technology Inc. 初稿 DS41288B_CN 第 19 页
PIC16F610/616/16HV610/616
2.2.2.5 PIR1 寄存器
PIR1 寄存器包含外设中断标志位,如寄存器 2-5 所示。
寄存器 2-5 : PIR1 :外设中断请求寄存器 1
U-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0 R/W-0
—A D I F
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 置 10 = 清零 x = 未知
(1)
CCP1IF
(1)
C2IF C1IF —T M R 2 I F
注: 当中断条件发生时,无论相应中断允许位或
全局中断允许位 GIE (在 INTCON 寄存器
中)的状态如何,中断标志位都将被置 1。
用户软件应在允许一个中断前,先将相应的
中断标志位清零。
(1)
TMR1IF
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
未实现:读为 0
ADIF :A/D 中断标志位
1 = A/D 转换完成
0 = A/D 转换未完成或尚未开始
CCP1IF :CCP1 中断标志位
捕捉模式:
1= 发生了 TMR1 寄存器捕捉 (必须用软件清零)
0= 未发生 TMR1 寄存器捕捉
比较模式:
1= 发生了 TMR1 寄存器的比较匹配 (必须用软件清零)
0= 未发生 TMR1 寄存器的比较匹配
模式:
PWM
在此模式下不使用
C2IF : 比较器 C2 中断标志位
1 = 比较器 C2 输出已改变 (必须用软件清零)
0 = 比较器 C2 输出未改变
C1IF: 比较器 C1 中断标志位
1 = 比较器 C1 输出已改变 (必须用软件清零)
0 = 比较器 C1 输出未改变
未实现:读为 0
TMR2IF: Timer2 与 PR2 匹配中断标志位
1 = Timer2 与 PR2 发生匹配 (必须用软件清零)
0 = Timer2 与 PR2 未发生匹配
TMR1IF: Timer1 溢出中断标志位
1 = Timer1 寄存器溢出 (必须用软件清零)
0 = Timer1 寄存器未溢出
(1)
(1)
(1)
注 1 : 仅限 PIC16F616/16HV616。 PIC16F610/16HV610 未实现,读为 0 。
DS41288B_CN 第 20 页 初稿 2007 Microchip Technology Inc.
PIC16F610/616/16HV610/616
2.2.2.6 PCON 寄存器
电源控制 (PCON )寄存器 (见表 12-2 )包含区分以
下各种复位的标志位:
• 上电复位 ( POR
• 欠压复位 ( BOR
• 看门狗定时器复位 ( WDT)
• 外部 MCLR
PCON 寄存器还控制 BOR
PCON 寄存器位如寄存器 2-6 所示。
寄存器 2-6 : PCON :电源控制寄存器
U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0
— — — — — —P O RBOR
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 置 10 = 清零 x = 未知
)
)
复位
的软件使能。
(1)
bit 7-2
bit 1
bit 0
注 1 : 如果禁止欠压复位,则读为 0 。
未实现:读为 0
POR
:上电复位状态位
1 = 未发生上电复位
0 = 发生上电复位 (上电复位发生后,必须用软件置 1 )
BOR:欠压复位状态位
1 = 未发生欠压复位
0 = 发生欠压复位 (欠压复位发生后,必须用软件置 1 )
2007 Microchip Technology Inc. 初稿 DS41288B_CN 第 21 页
PIC16F610/616/16HV610/616
2.3 PCL 和 PCLATH
程序计数器 ( PC)为 13 位宽。其低 8 位来自可读写的
PCL 寄存器,高 5 位(PC<12:8>)来自 PCLATH,不
能直接读写。只要发生复位,PC 就将被清零。图 2-5 显
示了装入 PC 值的两种情形。图 2-5 上方的例子说明在写
PCL (PCLATH<4:0> → PCH )时是如何装入 PC 的。
图 2-5 下方的例子说明了在执行 CALL 或 GOTO 指令期间
(PCLATH<4:3> → PCH),是如何装入 PC 的。
图 2-5 : 不同情况下 PC 的装入
PCH PCL
12 8 7 0
PC
PCLATH<4:0>
5
PCLATH
PCH PCL
12 11 10 0
PC
2
87
PCLATH<4:3>
PCLATH
11
2.3.1 修改 PCL
在执行以 PCL 寄存器作为目标寄存器的任何指令的同
时,也会使程序计数器的 PC<12:8> 位(PCH)被
PCLATH 寄存器的内容所代替。这使得可以通过将所需
的高 5 位写入PCLATH 寄存器来改变程序计数器的整个
内容。当将低 8 位写入 PCL 寄存器时,程序计数器的所
有 13 位都将变为 PCLATH 寄存器中和那些被写入 PCL
寄存器的值。
计算 GOTO 指令是通过向程序计数器加一个偏移量
(ADDWF PCL )来实现的。当通过修改 PCL 寄存器跳
转到查找表或程序转移表 (计算 GOTO )时,应特别注
意。假设 PCLATH 被设置为表起始地址,如果表长度大
于 255 条指令,或如果在表中间存储器地址的低 8 位从
0xFF 计满返回到 0x00 ,那 么 PCLATH 必须为在表起始
和表中的目标存储单元之间发生计满返回的每个地址进
行递增。
更多信息,请参见应用笔记 AN556 ,“Implementing a
Table Read ”(DS00556 )。
以 PCL 为目标
寄存器的指令
8
ALU 运算结果
GOTO, CALL
操作码 <10:0>
2.3.2 堆栈
PIC16F610/616/16HV610/616 系列具有8 层 x13位宽
的硬件堆栈 (见图 2-1 )。堆栈空间既不占用程序存储
空间,也不占用数据存储空间,而且堆栈指针是不可读
写的。当执行 CALL 指令或当中断导致程序跳转时,PC
值将被压入堆栈。而在执行 RETURN 、RETLW或RETFIE
指令时,将从堆栈中弹出 PC 值。PCLATH 不受压栈或
出栈操作的影响。
堆栈的工作原理犹如循环缓冲区。这意味着当压栈 8 次
后,第 9 次压入堆栈的值将会覆盖第一次压栈时所保存
的值,而第 10 次压入堆栈的值将覆盖第二次压栈时保
存的值,依此类推。
注 1 : 不存在指明堆栈是否上溢或下溢的状态标
志位。
2 : 不存在被称为 PUSH 或 POP 的指令 / 助
记符。堆栈的压入或弹出是源于执行了
CALL 、RETURN、RETLW和 RETFIE 指令,
或源于跳转到中断向量地址。
2.4 间接寻址、 INDF 和 FSR 寄存器
INDF 寄存器不是实际存在的寄存器,对 INDF 寄存器进
行寻址将产生间接寻址。
使用 INDF 寄存器可进行间接寻址。任何使用 INDF 寄
存器的指令,实际上是对文件选择寄存器(FSR )所 指
向的数据进行存取。间接对 INDF 进行读操作将返回
00h 。间接对 INDF 寄存器进行写操作将导致空操作(尽
管可能会影响状态位)。通过将 8 位的 FSR 寄存器与
STATUS 寄存器的 IRP 位进行组合可得到一个有效的 9
位地址,如图 2-7 所示。
例 2-1 给出了一个使用间接寻址将 RAM 地址单元
40h-4Fh 清零的简单程序。
例 2-1 : 间接寻址
MOVLW 0x40 ;initialize pointer
MOVWF FSR ;to RAM
NEXT CLRF INDF ;clear INDF register
INCF FSR, F ;inc pointer
BTFSS FSR,4 ;all done?
GOTO NEXT ;no clear next
CONTINUE ;yes continue
DS41288B_CN 第 22 页 初稿 2007 Microchip Technology Inc.
PIC16F610/616/16HV610/616
图 2-6 : PIC16F610/16HV610 的直接 / 间接寻址
直接寻址
RP1
(1)
RP0 6
来自操作码
0
IRP
间接寻址
(1)
7
文件选择寄存器
0
存储区选择
关于存储器映射的详细信息,请参见图 2-3 。
未实现的数据存储单元,读为 0 。
注 1 : RP1 和 IRP 位保留;始终保持这两位清零。
2 : 对 Bank 2 和 Bank 3 的访问会分别映射到 Bank 0 和 Bank 1 。
存储单元选择
数据存储器
00h
00 01 10 11
20h
40h
70h
7Fh
Bank 0 Bank 1 Bank 2 Bank 3
未使用
图 2-7 : PIC16F616/16HV616 的直接 / 间接寻址
RP1
(1)
RP0 6
来自操作码
0
存储区选择
180h
(2)
1FFh
间接寻址 直接寻址
(1)
7
IRP
文件选择寄存器
存储单元选择
0
存储区选择 存储单元选择
00h
数据存储器
40h
70h
7Fh
关于存储器映射的详细信息,请参见图 2-4 。
未实现的数据存储单元,读为 0 。
注 1 : RP1 和 IRP 位保留;始终保持这两位清零。
2 : 对 Bank 2 和 Bank 3 的访问会分别映射到 Bank 0 和 Bank 1 。
2007 Microchip Technology Inc. 初稿 DS41288B_CN 第 23 页
00 01 10 11
(2)
未使用
Bank 0 Bank 1 Bank 2 Bank 3
存储区选择
180h
1FFh
存储单元选择
PIC16F610/616/16HV610/616
注:
DS41288B_CN 第 24 页 初稿 2007 Microchip Technology Inc.
PIC16F610/616/16HV610/616
3.0 振荡器模块
3.1 概述
振荡器模块具有多种时钟源和选择特性,从而使之可广
泛使用于各种应用中,同时最大限度地发挥应用性能并
降低功耗。图 3-1 为振荡器模块的框图。
时钟源可配置为来自外部振荡器、石英晶体谐振器、陶
瓷谐振器以及阻容(Resistor-Capacitor ,RC )电路。此
外,系统时钟源还可配置为两种可选速度之一:内部或
外部系统时钟源。
图 3-1 : PIC ® MCU 时钟源框图
外部振荡器
OSC2
振荡器模块可配置为以下 8 种时钟模式之一。
1. EC——外部时钟, OSC2/CLKOUT 用作 I/O 引
脚。
2. LP—— 32 kHz 低功耗晶振模式。
3. XT——中等增益晶振或陶瓷谐振器模式。
4. HS——高增益晶振或陶瓷谐振器模式。
5. RC——外部阻容 ( RC), 通 过 OSC2/CLKOUT
引脚输出 F
OSC/4 信号。
6. RCIO——外部阻容(RC), OSC2/CLKOUT 用
作 I/O 引脚。
7. INTOSC——内部振荡器,通过 OSC2 引脚输出
OSC/4 信号, OSC1/CLKIN 用作 I/O 引脚。
F
8. INTOSCIO——内部振荡器, OSC1/CLKIN 和
OSC2/CLKOUT 用作 I/O 引脚。
通过配置字寄存器 (CONFIG )中的 FOSC<2:0> 位来
配置时钟源模式。内部振荡器模块提供一种可选的系统
时钟模式,4MHz(后分频器)或 8MHz(INTOSC )。
FOSC<2:0>
IOSCFS
(配置字寄存器)
OSC1
Sleep
INTOSC
8 MHz
内部振荡器
后分频器
4 MHz
LP, XT, HS, RC, RCIO, EC
INTOSC
MUX
系统时钟
(CPU 和外设)
2007 Microchip Technology Inc. 初稿 DS41288B_CN 第 25 页
PIC16F610/616/16HV610/616
3.2 时钟源模式
时钟源模式可分为外部和内部模式。
• 外部时钟模式依靠外部电路提供时钟源。例如:振
荡器模块 (EC 模式)、石英晶体谐振器或陶瓷谐
振器 (LP 、 XT 和 HS 模式)以及阻容 (RC )模
式电路。
• 内部时钟源内置于振荡器模块中。振荡器模块有两
种时钟频率供选择:4MHz和 8MHz
通过配置字寄存器的 FOSC<2:0> 位在外部或内部时钟
源之间选择系统时钟。
3.3 外部时钟模式
3.3.1 EC 模式
外部时钟 (EC )模式允许外部产生的逻辑电平作为系
统时钟源。工作在此模式下时,外部时钟源连接到
OSC1 输入,OSC2 引脚可用作通用 I/O。图 3-2 给出了
EC 模式的引脚连接。
当选取 EC 模式时,振荡器起振定时器 (OST )被禁
止。因此,上电复位(POR )后或者从休眠中唤醒后的
操作不存在延时。因为 PIC
的,停止外部时钟输入将使器件暂停工作并保持所有数
据完整。当再次启动外部时钟时,器件恢复工作,就好
像没有停止过一样。
®
MCU 的设计是完全静态
3.3.2 振荡器起振定时器 ( OST)
如果振荡器模块被配置为 LP 、 XT 或 HS 模式,则振荡
器起振定时器 (OST )对来自 OSC1 的振荡计数 1024
次。这发生在上电复位(POR )和上电延时定时器
(PWRT )超时 (如果配置了) ,或从休眠中唤醒后。
在此期间,程序计数器不递增,程序执行暂停。OST 确
保使用石英晶体谐振器或陶瓷谐振器的振荡器电路已经
起振并为PIC16F610/16HV610 和PIC16F616/16HV616
器件提供稳定的系统时钟。当在时钟源之间切换时,需
要一定的延时以使新时钟稳定。表 3-1 给出了振荡器延
时的例子。
图 3-2 :外 部 时 钟 (EC)模式的工作原理
来自外部
系统的时钟
I/O
注 1 :第1.0 节 “器件概述”中列出了备用引脚功
能。
OSC1/CLKIN
®
MCU
PIC
OSC2/CLKOUT
(1)
表 3-1 : 振荡器延时示例
切换自 切换到 频率 振荡器延时
休眠 /POR
休眠 /POR EC 或 RC
休眠 /POR LP 、 XT 或 HS 32 kHz 到 20 MHz 1024 个时钟周期 (OST )
INTOSC
4MHz到 8MHz 振荡器预热延时 (T
DC – 20 MHz
2 个指令周期
WARM)
DS41288B_CN 第 26 页 初稿 2007 Microchip Technology Inc.
PIC16F610/616/16HV610/616
3.3.3 LP、 XT 和 HS 模式
LP、 XT 和 HS 模式支持使用连接到 OSC1 和 OSC2 引
脚的石英晶体谐振器或陶瓷谐振器 (图 3-3 )。模式选
择内部反相放大器的低、中或高增益设定,以支持各种
谐振器类型及速度。
LP 振荡器模式选择内部反相放大器的最低增益设定。
LP 模式的电流消耗在三种模式中最小。该模式设计用来
驱动仅 32.768 kHz 的音叉(Tuning Fork )型晶振(钟
表晶振)。
XT 振荡器模式选择内部反相放大器的中等增益设定。
XT 模式的电流消耗在三种模式中居中。该模式最适合
驱动具备中等驱动级别规格要求的谐振器。
HS 振荡器模式选择内部反相放大器的最高增益设定。
HS 模式的电流消耗在三种模式中最大。该模式最适合
驱动需要高驱动设定的谐振器。
图 3-3 和图 3-4 分别给出了石英晶体谐振器和陶瓷谐振
器的典型电路。
图 3-3 : 石英晶振的工作原理 (LP 、
XT 或 HS 模式)
PIC® MCU
OSC1/CLKIN
C1
石英
晶振
RF
(2)
至内部
逻辑
Sleep
注 1 : 石英晶振的特性随类型、封装和制造商而
变化。要了解规格说明和推荐应用,应查阅
制造商提供的数据手册。
2 : 应始终验证振荡器在应用要求的 V
度范围内的性能。
3 : 如需获取振荡器设计帮助,请参见以下
Microchip 应用笔记:
• AN826,“Crystal Oscillator Basics and
Crystal Selection for rfPIC® and PIC®
Devices”(DS00826 )
®
• AN849 ,“Basic PIC
Oscillator
Design”(DS00849 )
®
• AN943 ,“Practical PIC
Oscillator
Analysis and Design”(DS00943 )
• AN949 ,“Making Your Oscillator
Work”(DS00949 )
图 3-4 : 陶瓷谐振器的工作原理
(XT 或 HS 模式)
PIC® MCU
OSC1/CLKIN
C1
RP
(3)
RF
(2)
至内部
逻辑
Sleep
DD 和温
OSC2/CLKOUT
C2
注 1: 对于低驱动级别的石英晶振,可能需要串联一
2: R
(1)
R
S
个电阻 ( R
F 的值随选取的振荡模式而变化 (典型值在
2MΩ 到 10 M Ω 之间)。
S)。
OSC2/CLKOUT
C2
陶瓷
谐振器
注 1 : 对于低驱动级别的陶瓷谐振器,可能需要串联
一个电阻 (R
F 的值随选取的振荡模式而变化 (典型值在
2 : R
2MΩ 到 10 M Ω 之间)。
3 :为使陶瓷谐振器正常工作,可能需要并联一个
反馈电阻 (R
(1)
S
R
S)。
P)。
2007 Microchip Technology Inc. 初稿 DS41288B_CN 第 27 页
PIC16F610/616/16HV610/616
3.3.4 外部 RC 模式
外部阻容 (RC )模式支持使用外部 RC 电路。对时钟
精度要求不高时,这使设计人员有了很大的频率选择空
间,且保持成本最低。有以下两种模式:RC 和 RCIO。
在 RC 模式下, RC 电路连接到 OSC1 引脚。 OSC2/
CLKOUT 引脚输出为 RC 振荡器频率的 4 分频。该信号
可用来为外部电路、同步、校准、测试或其他应用需求
提供时钟。图 3-5 给出了外部 RC 模式的连接图。
图 3-5 :外 部RC 模式
VDD
REXT
OSC1/CLKIN
CEXT
VSS
F
OSC/4 或
(2)
I/O
推荐值: 10 k Ω ≤ REXT ≤ 100 k Ω , <3V
注 1 :第1.0 节 “器件概述”中列出了备用引脚功
能。
2 : 输出取决于 RC 或 RCIO 时钟模式。
OSC2/CLKOUT
PIC® MCU
(1)
3 kΩ ≤ R
C
EXT ≤ 100 kΩ, 3-5V
EXT > 20 pF, 2-5V
内部
时钟
3.4 内部时钟模式
振荡器模块提供一个可选的系统时钟源,4MHz 或
8MHz 。通过配置字的 IOSCFS 位来配置可选频率。
内部振荡器的频率可使用 OSCTUNE 寄存器通过软件由
用户来调节。
3.4.1 INTOSC 和 INTOSCIO 模式
当在配置字寄存器 (CONFIG )中使用振荡器选择或
FOSC<2:0> 位对器件进行编程时,在 INTOSC 和
INTOSCIO 模式下将内部振荡器配置为系统时钟源。更
多信息,请参见第 12.0 节“CPU 的特殊功能”。
在 INTOSC 模式下, OSC1/CLKIN 可用作通用 I/O 。
OSC2/CLKOUT 输出所选内部振荡器频率的 4 分频。
CLKOUT 信号可用来为外部电路、同步、校准、测试或
其他应用需求提供时钟。
在 INTOSCIO 模式下,OSC1/CLKIN 和 OSC2/CLKOUT
可用作通用 I/O 。
在 RCIO 模式下, RC 电路连接到 OSC1 。 OSC2 成为
额外的通用 I/O 引脚。
RC 振荡器频率与供电电压、电阻 (R
EXT)值以及工作温度有关。影响振荡器频率的其他
( C
EXT)和电容
因素有:
• 电压门限值变化
• 元件容差
• 不同封装的电容
用户还应考虑因所使用的外部 RC 元件的容差而导致的
差异。
DS41288B_CN 第 28 页 初稿 2007 Microchip Technology Inc.