MICROCHIP PIC12F609, PIC12HV609, PIC12F615, PIC12HV615 User Manual

PIC12F609/HV609 PIC12F615/HV615
数据手册
8引脚 8
CMOS闪存单片机
* 8 位 8 引脚器件受 Microchip 的低引脚数专利 (美国专利号 5,847,450)保护。其他美国及外国的专利和应用可能已发 布或正在等待批准。
2008 Microchip Technology Inc. 初稿 DS41302A_CN
请注意以下有关 Microchip 器件代码保护功能的要点:
Microchip 的产品均达到 Microchip 数据手册中所述的技术指标。
Microchip 确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一。
目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以 Microchip 数据手册中规定的 操作规范来使用 Microchip 产品的。这样做的人极可能侵犯了知识产权。
Microchip 愿与那些注重代码完整性的客户合作。
Microchip 或任何其他半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是 “牢不可破”的。
代码保护功能处于持续发展中。 Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视 为违反了 《数字器件千年版权法案 (Digital Millennium Copyright Act)》。如果这种行为导致他人在未经授权的情况下,能访问您的 软件或其他受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。
情况的有用信息。Microchip Technology Inc. 及其分公司和相 关公司、各级主管与员工及事务代理机构对译文中可能存在的
任何差错不承担任何责任。建议参考 Microchip Technology Inc. 的英文原版文档。
本出版物中所述的器件应用信息及其他类似内容仅为您提供便 利,它们可能由更新之信息所替代。确保应用符合技术规范,
是您自身应负的责任。Microchip 对这些信息不作任何明示或 暗示、书面或口头、法定或其他形式的声明或担保,包括但不 限于针对其使用情况、质量、性能、适销性或特定用途的适用
性的声明或担保。 Microchip 对因这些信息及使用这些信息而 引起的后果不承担任何责任。如果将 Microchip 器件用于生命 维持和 / 或生命安全应用,一切风险由买方自负。买方同意在
由此引发任何一切伤害、索赔、诉讼或费用时,会维护和保障 Microchip 免于承担法律责任,并加以赔偿。在 Microchip 知识
产权保护下,不得暗中或以其他方式转让任何许可证。
商标
Microchip 的名称和徽标组合、 Microchip 徽标、 Accuron dsPIC、 K
EELOQ、 KEELOQ 徽标、 MPLAB、 PIC、
PICmicroPICSTARTPRO MATE、 rfPIC 和 SmartShunt
均为 Microchip Technology Inc. 在美国和其他国家或地区的 注册商标。
FilterLabLinear Active ThermistorMXDEVMXLAB SEEVAL、SmartSensor The Embedded Control Solutions Company 均为 Microchip Technology Inc.在美国的注册商
标。
Analog-for-the-Digital AgeApplication Maestro CodeGuarddsPICDEMdsPICDEM.net、 dsPICworks、
dsSPEAKECANECONOMONITORFanSense In-Circuit Serial Programming、 ICSP、 ICEPIC、 Mindi、
MiWi、MPASM、MPLAB Certified 徽标、MPLIBMPLINK mTouchPICkitPICDEMPICDEM.netPICtailPIC
32
徽标、 PowerCalPowerInfoPowerMatePowerTool REAL ICE、 rfLAB、 Select ModeTotal Endurance UNI/O、WiperLock ZENA 均为 Microchip Technology Inc.在
美国和其他国家或地区的商标。 SQTP Microchip Technology Inc. 在美国的服务标记。
在此提及的所有其他商标均为各持有公司所有。
© 2008, Microchip Technology Inc.版权所有。
Microchip Gresham
印度的设计中心均通过了
MCU与dsPIC® DSC、KEELOQ
设、非易失性存储器和模拟产品方面的质量体系流程均符合
16949:2002
系也已通过了
位于美国亚利桑那州
的全球总部、设计和晶圆生产厂及位于美国加利福尼亚州和
。此外,
ISO 9001:2000
Chandler和Te mp e
ISO/TS-16949:2002
®
跳码器件、串行
Microchip
在开发系统的设计和生产方面的质量体
认证。
与位于俄勒冈州
认证。公司在
EEPROM
®
PIC
、单片机外
ISO/TS-
DS41302A_CNii 初稿 2008 Microchip Technology Inc.
PIC12F609/615/12HV609/615
8 引脚 8 CMOS 闪存单片机
高性能 RISC CPU
仅需学习 35 条指令:
- 除了跳转指令以外,所有指令都是单周期的
工作速度:
-DC- 20 MHz 振荡器 / 时钟输入
-DC- 200 ns 指令周期
中断能力
•8层深硬件堆栈
直接、间接和相对寻址模式
单片机特性:
精确的内部振荡器:
- 出厂时精度已校准到 ±1%,典型值
- 软件可选择频率范围:4MHz或 8 MHz
省电休眠模式
电压范围:
- PIC12F609/615: 2.0V 至 5.5V
- PIC12HV609/615: 2.0V 到用户定义的最大
值 (见 “注”)
工业级和扩展级温度范围
上电复位 (Power-on ResetPOR
上电延时定时器 (Power-up TimerPWRT)和
振荡器起振定时器 (Oscillator Start-up Timer OST
欠压复位 (Brown-out ResetBOR
带独立振荡器的看门狗定时器 (Watchdog
TimerWDT)以保证可靠运行
带弱上拉的主复位引脚,与通用输入功能复用
可编程代码保护
高耐用性闪存:
- 闪存耐写次数达 100,000
- 闪存数据保存期:> 40
低功耗特性:
待机电流:
-2.0V时典型值为 50 nA
工作电流:
-32kHz、 2.0V 时典型值为 11 µA
-4MHz、 2.0V 时典型值为 260 µA
看门狗定时器电流:
-2.0V时典型值为 1 µA
外设特性:
并联稳压器 (仅限 PIC12HV609/615):
-5伏稳压
-4mA到 50 mA 并联电流范围
•5个 I/O 引脚和 1 个只用作输入的引脚
高灌 / 拉电流能力,可直接驱动 LED
- 引脚电平变化中断或引脚
- 可单独编程的弱上拉
模拟比较器模块,具有:
-1个模拟比较器
- 片上可编程参考电压 (CVREF)模块 (VDD %
- 可从外部访问比较器输入和输出
- 内置滞后 (软件可选择)
• Timer0 :带有 8位可编程预分频器的 8 位定时器/ 计
数器
增强型 Timer1
- 带有预分频器的 16 位定时器 / 计数器
- 外部 Timer1 门控 (计数使能)
- 如果选用 INTOSC 模式,可选择 OSC1 OSC2 之间的振荡器 (工作在 LP 模式下)作 Timer1 的振荡器
- 可选择系统时钟作为 Timer1 的振荡器
通过两个引脚进行在线串行编程 (In-Circuit
Serial Programming
仅限 PIC12F615/HV615
增强型捕捉、比较和 PWM 模块:
-16位捕捉,最大分辨率 12.5 ns
- 比较,最大分辨率 200 ns
-10位 PWM,带有 1 或 2 路输出通道,1路输出
通道可编程 “死区”,最高频率 20 kHz,自 动关闭
•A/D转换器:
-10位分辨率和 4 路通道,采样内部参考电压
•Timer2:带有 8 位周期寄存器、预分频器和后分频 器的 8 位定时器 / 计数器
TM
ICSPTM)
注: 并联稳压器两端的电压不应超过 5V
2008 Microchip Technology Inc. 初稿 DS41302A_CN 1
PIC12F609/615/12HV609/615
器件
PIC12F609 1024 64 5 0 1 1/1 2.0V-5.5V
PIC12HV609 1024 64 5 0 1 1/1
PIC12F615 1024 64 5 4 1 2/1 2.0V-5.5V
PIC12HV615 1024 64 5 4 1 2/1
程序存储器 数据存储器
闪存 (字) SRAM (字节)
I/O
10 A/D
(通道数)
比较器
8/16 位 定时器
电压范围
2.0V- 用户定义
2.0V- 用户定义
PIC12F609/HV609 8 引脚示意图 (PDIPSOICTSSOP DFN
GP5/T1CKI/OSC1/CLKIN
GP4/CIN1-/T1G
/OSC2/CLKOUT
GP3/MCLR
VDD
/VPP
1
2
PIC12F609/
HV609
3
4
1 PIC12F609/HV609 引脚汇总 (PDIP、 SOIC、 TSSOP DFN
I/O
GP0 7 CIN+ IOC
GP1 6 CIN0- IOC
GP2 5 COUT T0CKI INT/IOC
GP3
GP4 3 CIN1- T1G IOC
GP5 2 T1CKI IOC
1 VDD
8— ——— VSS
1: 仅用作输入。
引脚 比较器 定时器 中断 上拉 基本功能
(1)
4—
IOC
2: 仅当引脚被配置为外部 MCLR 时。
V
8
7
6
5
SS
GP0/CIN+/ICSPDAT
GP1/CIN0-/ICSPCLK
GP2/T0CKI/INT/COUT
有 有 有
(2)
有 有
ICSPDAT
ICSPCLK
MCLR/VPP
OSC2/CLKOUT
OSC1/CLKIN
DS41302A_CN 第 2 页 初稿 2008 Microchip Technology Inc.
PIC12F609/615/12HV609/615
PIC12F615/HV615 8 引脚示意图 (PDIPSOICTSSOP DFN
GP5/T1CKI/P1A*/OSC1/CLKIN
GP4/AN3/CIN1-/T1G
* 备用引脚功能。
VDD
/P1B*/OSC2/CLKOUT
GP3/T1G*/MCLR/VPP
1
2
PIC12F615/
HV615
3
4
V
8
7
6
5
SS
GP0/AN0/CIN+/P1B/ICSPDAT
GP1/AN1/CIN0-/V
GP2/AN2/T0CKI/INT/COUT/CCP1/P1A
REF/ICSPCLK
2 PIC12F615/HV615 引脚汇总 (PDIP、 SOIC、 TSSOP DFN
I/O
引脚 模拟 比较器 定时器
GP0 7 AN0 CIN+ P1B IOC
GP1 6 AN1 CIN0- IOC
GP2 5 AN2 COUT T0CKI CCP1/P1A INT/IOC
(1)
GP3
GP4 3 AN3 CIN1- T1G P1B* IOC
GP5 2 T1CKI P1A* IOC
1 VDD
—8 VSS
1: 仅用作输入。
4— — T1G*— IOC
* 备用引脚功能。
2: 仅当引脚被配置为外部 MCLR
时。
CCP
中断 上拉 基本功能
ICSPCLK/V
OSC2/CLKOUT
OSC1/CLKIN
有 有
(2)
有 有
ICSPDAT
REF
MCLR/VPP
2008 Microchip Technology Inc. 初稿 DS41302A_CN 第 3
PIC12F609/615/12HV609/615
目录
1.0 器件概述....................................................................................................................................................................................... 5
2.0 存储器构成 ................................................................................................................................................................................... 9
3.0 振荡器模块 ................................................................................................................................................................................. 25
4.0 I/O 端口....................................................................................................................................................................................... 31
5.0 Timer0 模块................................................................................................................................................................................ 41
6.0 带门控的 Timer1 模块................................................................................................................................................................. 45
7.0 Timer2 模块 (仅限 PIC12F615/HV615)................................................................................................................................... 51
8.0 比较器模块 ................................................................................................................................................................................. 53
9.0 模数转换器 (ADC)模块 (仅限 PIC12F615/HV615)............................................................................................................. 65
10.0 增强型捕捉 / 比较 /PWM (带自动关闭和死区)模块 (仅限 PIC12F615/HV615)................................................................... 75
11.0 CPU 的特殊功能......................................................................................................................................................................... 93
12.0 稳压器....................................................................................................................................................................................... 111
13.0 指令集汇总 ............................................................................................................................................................................... 113
14.0 开发支持 ................................................................................................................................................................................... 123
15.0 电气规范 ................................................................................................................................................................................... 127
16.0 直流和交流特性图表 ................................................................................................................................................................. 149
17.0 封装信息 ................................................................................................................................................................................... 151
附录 A 数据手册版本历史 .......................................................................................................................................................... 157
附录 B 从其他 PIC® 器件移植 ................................................................................................................................................... 157
索引 ................................................................................................................................................................................................... 159
Microchip 网站.................................................................................................................................................................................... 163
变更通知客户服务 .............................................................................................................................................................................. 163
客户支持............................................................................................................................................................................................. 163
读者反馈表 ......................................................................................................................................................................................... 164
产品标识体系...................................................................................................................................................................................... 165
致客户
我们旨在提供最佳文档供客户正确使用 Microchip 产品。为此,我们将不断改进出版物的内容和质量,使之更好地满足您的要求。出 版物的质量将随新文档及更新版本的推出而得到提升。
如果您对本出版物有任何问题和建议,请通过电子邮件联系我公司 TRC 经理,电子邮件地址为 docerrors@microchip.com,或将本数据手册后附的 《读者反馈表》传真到 86-21-5407 5066。我们期待您的反馈。
最新数据手册
欲获得本数据手册的最新版本,请查询我公司的网站:
http://www.microchip.com
查看数据手册中任意一页下边角处的文献编号即可确定其版本。文献编号中数字串后的字母是版本号,例如:DS30000A 是 DS30000A 版本。
勘误表
现有器件可能带有一份勘误表,描述了实际运行与数据手册中记载内容之间存在的细微差异以及建议的变通方法。一旦我们了解到器 件 / 文档存在某些差异时,就会发布勘误表。勘误表上将注明其所适用的硅片版本和文件版本。
欲了解某一器件是否存在勘误表,请通过以下方式之一查询:
Microchip 网站 http://www.microchip.com
当地 Microchip 销售办事处 (见最后一页)
在联络销售办事处时,请说明您所使用的器件型号、硅片版本和数据手册版本 (包括文献编号)。
客户通知系统
欲及时获知 Microchip 产品的最新信息,请到我公司网站 www.microchip.com 上注册。
DS41302A_CN 4 初稿 2008 Microchip Technology Inc.
PIC12F609/615/12HV609/615

1.0 器件概述

本数据手册涵盖PIC12F609/615/12HV609/615 器件。这 些器件采用 8 引脚 PDIP、SOIC、TSSOP 和 DFN 封装。

1-1 PIC12F609/HV609 框图

13
MCLR
INT
程序计数器
8 层堆栈
13 位)
直接地址
上电延时
定时器
振荡器
起振定时器
上电 复位
看门狗 定时器
欠压 复位
VDD
OSC1/CLKIN
OSC2/CLKOUT
T1G
程序 总线
内部
振荡器
模块
配置
闪存
1K X 14
程序
存储器
14
指令寄存器
指令
译码与
控制
时序 发生
8
这些器件的框图和引脚说明如下所示:
• PIC12F609/HV609 (图 1-1,表 1-1
• PIC12F615/HV615 (图 1-2,表 1-2
间接 地址
8
VSS
7
数据总线
RAM 地址
地址 MUX
3
8
W 寄存器
(仅限 PIC12HV609
RAM
64 字节
文件
寄存器
9
8
FSR 寄存器
STATUS 寄存器
MUX
ALU
并联稳压器
GPIO
GP0 GP1 GP2 GP3 GP4 GP5
T1CKI
T0CKI
Timer0 Timer1
比较器参考电压
绝对参考电压
模拟比较器 和参考电压
CIN0-
CIN1-
COUT
CIN+
2008 Microchip Technology Inc. 初稿 DS41302A_CN 第 5
PIC12F609/615/12HV609/615

1-2 PIC12F615/HV615 框图

OSC1/CLKIN
OSC2/CLKOUT
T1G*
T1G
程序 总线
内部
振荡器
模块
配置
闪存
1K X 14
程序
存储器
14
指令寄存器
指令
译码与
控制
时序 发生
8
13
MCLR
INT
程序计数器
8 层堆栈
13 位)
直接地址
上电延时
定时器
振荡器
起振定时器
上电 复位
看门狗 定时器
欠压 复位
VDD
VSS
7
数据总线
64 字节
RAM 地址
地址 MUX
3
ALU
8
W 寄存器
(仅限 PIC12HV615
RAM
文件
寄存器
9
8
FSR 寄存器
STATUS 寄存器
MUX
并联稳压器
间接 地址
8
GPIO
GP0 GP1 GP2 GP3 GP4 GP5
T1CKI
T0CKI
VREF
模数转换器
AN0
AN1
AN2
AN3
* 备用引脚功能。
Timer0 Timer1
比较器参考电压
绝对参考电压
Timer2
模拟比较器 和参考电压
CIN+
CIN0-
CIN1-
COUT
ECCP
P1B*
CCP1/P1A
P1B
P1A*
DS41302A_CN 第 6 页 初稿 2008 Microchip Technology Inc.
PIC12F609/615/12HV609/615

1-1 PIC12F609/HV609 引脚说明

名称 功能 输入类型 输出类型 说明
GP0/CIN+/ICSPDAT GP0 TTL CMOS
CIN+ AN
ICSPDAT ST CMOS
GP1/CIN0-/ICSPCLK GP1 TTL CMOS
CIN0- AN
ICSPCLK ST
GP2/T0CKI/INT/COUT GP2 ST CMOS
T0CKI ST
INT ST
COUT CMOS
GP3/MCLR
GP4/CIN1-/T1G CLKOUT
GP5/T1CKI/OSC1/CLKIN GP5 TTL CMOS
DD VDD
V
SS VSS
V
图注: AN = 模拟输入或输出 CMOS = CMOS 兼容输入或输出 HV = 高电压
/VPP GP3 TTL
MCLR
PP HV
V
/OSC2/
ST = CMOS 电平的施密特触发器输入 TTL = TTL 兼容输入 XTAL = 晶振
GP4 TTL CMOS
CIN1-
T1G
OSC2 XTAL
CLKOUT CMOS
T1CKI ST
OSC1 XTAL
CLKIN ST
ST
AN
ST
电源 电源
具有可编程上拉和电平变化中断功能的通用 I/O 比较器的同相输入 串行编程数据 I/O 具有可编程上拉和电平变化中断功能的通用 I/O 比较器的反相输入 串行编程时钟 具有可编程上拉和电平变化中断功能的通用 I/O Timer0 的时钟输入 外部中断 比较器输出
具有电平变化中断功能的通用输入
带内部上拉的主复位 编程电压
具有可编程上拉和电平变化中断功能的通用 I/O 比较器的反相输入
Timer1 门控 (计数使能) 晶振 / 谐振器
OSC/4 输出
F 具有可编程上拉和电平变化中断功能的通用 I/O Timer1 的时钟输入
晶振 / 谐振器 外部时钟输入 /RC 振荡器连接
正电源
参考地
2008 Microchip Technology Inc. 初稿 DS41302A_CN 7
PIC12F609/615/12HV609/615

1-2 PIC12F615/HV615 引脚说明

名称 功能 输入类型 输出类型 说明
GP0/AN0/CIN+/P1B/ICSPDAT GP0 TTL CMOS
AN0 AN
CIN+ AN
P1B CMOS
ICSPDAT ST CMOS
GP1/AN1/CIN0-/V
GP2/AN2/T0CKI/INT/COUT/CCP1/ P1A
GP3/T1G
GP4/AN3/CIN1-/T1G CLKOUT
GP5/T1CKI/P1A*/OSC1/CLKIN GP5 TTL CMOS
V
V
图注: AN = 模拟输入或输出 CMOS=CMOS 兼容输入或输出 HV = 高电压
*/MCLR/VPP GP3 TTL
DD VDD
SS VSS
* 备用引脚功能。
REF/ICSPCLK GP1 TTL CMOS
AN1 AN
CIN0- AN
REF AN
V
ICSPCLK ST
GP2 ST CMOS
AN2 AN
T0CKI ST
INT ST
COUT CMOS
CCP1 ST CMOS
P1A CMOS
*ST —
T1G
MCLR
V
PP HV
/P1B*/OSC2/
ST = CMOS 电平的施密特触发器输入 TTL = TTL 兼容输入 XTAL= 晶振
GP4 TTL CMOS
AN3 AN
CIN1-
T1G
P1B* CMOS
OSC2 XTAL
CLKOUT CMOS
T1CKI ST
P1A* CMOS
OSC1 XTAL
CLKIN ST
ST
AN
ST
电源 电源
具有可编程上拉和电平变化中断功能的通用 I/O A/D 通道 0 的输入
比较器的同相输入 PWM 输出 串行编程数据 I/O 具有可编程上拉和电平变化中断功能的通用 I/O A/D 通道 1 的输入 比较器的反相输入 A/D 的外部参考电压 串行编程时钟 具有可编程上拉和电平变化中断功能的通用 I/O
A/D 通道 2 的输入 Timer0 的时钟输入
外部中断 比较器输出 捕捉输入 / 比较输出 /PWM 输出 PWM 输出
具有电平变化中断功能的通用输入
Timer1 门控 (计数使能),备用引脚
带内部上拉的主复位 编程电压
具有可编程上拉和电平变化中断功能的通用 I/O A/D 通道 3 的输入 比较器的反相输入
Timer1 门控 (计数使能) PWM 输出,备用引脚 晶振 / 谐振器
OSC/4 输出
F 具有可编程上拉和电平变化中断功能的通用 I/O Timer1 的时钟输入 PWM 输出,备用引脚
晶振 / 谐振器 外部时钟输入 /RC 振荡器连接 正电源 参考地
DS41302A_CN 8 初稿 2008 Microchip Technology Inc.
PIC12F609/615/12HV609/615

2.0 存储器构成

2.1 程序存储器构成

PIC12F609/615/12HV609/615 器件具有一个 13 位程序计 数器,能够寻址 8K x 14 的程序存储空间。只有
PIC12F609/615/12HV609/615 的前 1K x 14 0000h­03FFh)存储空间是物理实现的。访问超出上述范围的存
储单元,将回到前 1K x 14 空间内。复位向量位于 0000h, 而中断向量位于 0004h (见图 2-1)。
2-1 PIC12F609/615/12HV609/615
的程序存储器映射和堆栈
PC<12:0>
CALL, RETURN RETFIE, RETLW
1 层堆栈 第 2 层堆栈
8 层堆栈
复位向量
中断向量
片上程序
存储器
折回到 0000h-07FFh
13
0000h
0004h
0005h
03FFh
0400h

2.2 数据存储器构成

数据存储器 (见图 2-2)被划分为两个存储区,每个存 储区由通用寄存器(General Purpose RegisterGPR) 和特殊功能寄存器 (Special Function Register,SFR 组成。特殊功能寄存器位于每个存储区的前 32 个单元 中。Bank 0 中的寄存器单元 40h-7Fh 是通用寄存器,以 静态 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 通用寄存器文件

PIC12F609/615/12HV609/615 的寄存器文件组织为 64 x 8
通过文件选择寄存器 (File Select RegisterFSR), 可以直接或间接地访问每个寄存器(见第 2.4 节“间接 寻址、 INDF FSR 寄存器”)。

2.2.2 特殊功能寄存器

特殊功能寄存器为 CPU 和外设模块用来对器件所需操 作进行控制的寄存器 (见表 2-2)。这些寄存器皆为静 态 RAM
特殊功能寄存器可分为两类,即:内核和外设。本节将 介绍与“内核”相关的特殊功能寄存器。与外设模块相 关的特殊功能寄存器将在相应的外设功能模块章节中 介绍。
1FFFh
2008 Microchip Technology Inc. 初稿 DS41302A_CN 第 9
PIC12F609/615/12HV609/615
2-2 PIC12F609/HV609 的数据
存储器映射
间接地址
TMR0
PCL
STATUS
FSR
GPIO
PCLATH
INTCON
PIR1
TMR1L
TMR1H
T1CON
VRCON
CMCON0
CMCON1
文件 地址
(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
TRISIO
PCLATH
INTCON
PIE1
PCON
OSCTUNE
WPU
IOC
ANSEL
文件 地址
(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-3 PIC12F615/HV615 的数据
存储器映射
间接地址
TMR0
PCL
STATUS
FSR
GPIO
PCLATH
INTCON
PIR1
TMR1L
TMR1H
T1CON
TMR2
T2CON
CCPR1L
CCPR1H
CCP1CON
PWM1CON
ECCPAS
VRCON
CMCON0
CMCON1
ADRESH
ADCON0
文件 地址
(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
TRISIO
PCLATH
INTCON
PIE1
PCON
OSCTUNE
PR2
APFCON
WPU
IOC
ADRESL
ANSEL
文件 地址
(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
3Fh
40h
通用
寄存器
64 字节
7Fh
Bank 0
未实现的数据存储单元,读为 0
1: 不是实际存在的寄存器。
访问 70h-7Fh
Bank 1
EFh F0h
FFh
通用
寄存器
64 字节
Bank 0
未实现的数据存储单元,读为 0
1: 不是实际存在的寄存器。
3Fh
40h
7Fh
访问 70h-7Fh
Bank 1
EFh F0h
FFh
DS41302A_CN 10 初稿 2008 Microchip Technology Inc.
PIC12F609/615/12HV609/615
2-1 PIC12F609/HV609 特殊功能寄存器汇总, BANK 0
地址 名称
Bank 0
00h INDF
01h TMR0
02h PCL
03h STATUS IRP
04h FSR
05h GPIO
06h
07h
08h
09h
0Ah PCLATH 0Bh INTCON GIE PEIE T0IE INTE GPIE T0IF INTF GPIF 0000 0000 17, 100
0Ch PIR1
0Dh
0Eh TMR1L
0Fh TMR1H
10h T1CON T1GINV TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC
11h
12h
13h
14h
15h
16h
17h
18h
19h VRCON CMVREN
1Ah CMCON0 CMON COUT CMOE CMPOL
1Bh
1Ch CMCON1
1Dh
1Eh
1Fh
图注: — = 未实现位 (读为 0), u = 不变, x = 未知, q = 值取决于具体条件,阴影 = 未实现 注 1IRP 和 RP1 位保留,始终保持这两位清零。
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
通过用 FSR 的内容寻址这个存储单元来寻址数据存储器 (不是实际存在的寄存器)
Timer0 模块寄存器
程序计数器 (PC)的低字节
(1)
间接数据存储器地址指针
GP5 GP4 GP3 GP2 GP1 GP0 --x0 x000 31, 100
未实现
未实现
未实现
未实现
—CMIF— —TMR1IF---- 0--0 19, 100
未实现
16 TMR1 寄存器低字节的保持寄存器
16 TMR1 寄存器高字节的保持寄存器
未实现
未实现
未实现
未实现
未实现
未实现
未实现
未实现
T1ACS CMHYS T1GSS CMSYNC ---0 0-10 59, 101
未实现
未实现
未实现
(1)
RP1
VRR FVREN VR3 VR2 VR1 VR0 0-00 0000 62, 101
RP0 TO PD ZDCC0001 1xxx 15, 100
程序计数器高 5 位的写缓冲器
TMR1CS TMR1ON 0000 0000 49, 100
—CMR—CMCH0000 -0-0 58, 101
POR/BOR
时的值
xxxx xxxx 22, 100 xxxx xxxx 41, 100 0000 0000 22, 100
xxxx xxxx 22, 100
---0 0000 22, 100
xxxx xxxx 45, 100 xxxx xxxx 45, 100
所在页
2008 Microchip Technology Inc. 初稿 DS41302A_CN 11
PIC12F609/615/12HV609/615
2-2 PIC12F615/HV615 特殊功能寄存器汇总, BANK 0
地址 名称
Bank 0
00h INDF
01h TMR0
02h PCL
03h STATUS IRP
04h FSR
05h GPIO
06h
07h
08h
09h
0Ah PCLATH 0Bh INTCON GIE PEIE T0IE INTE GPIE T0IF INTF GPIF 0000 0000 17, 101
0Ch PIR1
0Dh
0Eh TMR1L
0Fh TMR1H
10h T1CON T1GINV TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC
11h TM R2
12h T2CON
13h CCPR1L
14h CCPR1H
15h CCP1CON P1M 16h PWM1CON PRSEN PDC6 PDC5 PDC4 PDC3 PDC2 PDC1 PDC0 0000 0000 91, 101 17h ECCPAS ECCPASE ECCPAS2 ECCPAS1 ECCPAS0 PSSAC1 PSSAC0 PSSBD1 PSSBD0 0000 0000 88, 101
18h
19h VRCON CMVREN
1Ah CMCON0 CMON COUT CMOE CMPOL
1Bh
1Ch CMCON1
1Dh
1Eh ADRESH
1Fh ADCON0 ADFM VCFG
图注: — = 未实现位 (读为 0), u = 不变, x = 未知, q = 值取决于具体条件,阴影 = 未实现 注 1IRP 和 RP1 位保留,始终保持这两位清零。
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
通过用 FSR 的内容寻址这个存储单元来寻址数据存储器 (不是实际存在的寄存器)
Timer0 模块寄存器
程序计数器 (PC)的低字节
(1)
间接数据存储器地址指针
GP5 GP4 GP3 GP2 GP1 GP0 --x0 x000 31, 101
未实现
未实现
未实现
未实现
ADIF CCP1IF —CMIF— TMR2IF TMR1IF -00- 0-00 19, 101
未实现
16 TMR1 寄存器低字节的保持寄存器
16 TMR1 寄存器高字节的保持寄存器
Timer2 模块寄存器
TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 52, 101
捕捉 / 比较 /PWM 寄存器 1 的低字节
捕捉 / 比较 /PWM 寄存器 1 的高字节
未实现
T1ACS CMHYS T1GSS CMSYNC ---0 0-10 59, 101
未实现
左对齐 A/D 结果的高 8 位或右对齐 A/D 结果的高 2
(1)
RP1
DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 0-00 0000 75, 101
VRR FVREN VR3 VR2 VR1 VR0 0-00 0000 62, 101
RP0 TO PD ZDCC0001 1xxx 15, 101
程序计数器高 5 位的写缓冲器
TMR1CS TMR1ON 0000 0000 49, 101
—CMR—CMCH0000 -0-0 58, 101
CHS2 CHS1 CHS0 GO/DONE ADON 00-0 0000 70, 101
POR/BOR
时的值
xxxx xxxx 22, 101 xxxx xxxx 41, 101 0000 0000 22, 101
xxxx xxxx 22, 101
---0 0000 22, 101
xxxx xxxx 45, 101 xxxx xxxx 45, 101
0000 0000 51, 101
XXXX XXXX 76, 101 XXXX XXXX 76, 101
xxxx xxxx 71, 101
所在页
DS41302A_CN 12 初稿 2008 Microchip Technology Inc.
PIC12F609/615/12HV609/615
2-3 PIC12F609/HV609 特殊功能寄存器汇总, BANK 1
地址 名称
Bank 1
80h INDF
81h OPTION_REG GPPU
82h PCL
83h STATUS IRP
84h FSR
85h TRISIO
86h
87h
88h
89h
8Ah PCLATH
8Bh INTCON GIE PEIE T0IE INTE GPIE T0IF INTF GPIF
8Ch PIE1
8Dh
8Eh PCON
8Fh
90h OSCTUNE
91h
92h
93h
94h
95h WPU
96h IOC
97h
98h
99h
9Ah
9Bh
9Ch
9Dh
9Eh
9Fh ANSEL
图注: — = 未实现位 (读为 0), u = 不变, x = 未知, q = 值取决于具体条件,阴影 = 未实现 注 1IRP 和 RP1 位保留,始终保持这两位清零。
(2)
2: 当配置字寄存器中的 MCLRE 1 时, GP3 上拉使能。 3MCLR 4: 由于 TRISIO3 是仅输入引脚,因此它始终读为 1
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 16, 101
程序计数器 (PC)的低字节
(1)
间接数据存储器地址指针
TRISIO5 TRISIO4 TRISIO3
未实现
未实现
未实现
未实现
—CMIE— —TMR1IE---- 0--0 18, 101
未实现
—PORBOR ---- --qq 20, 101
未实现
TUN4 TUN3 TUN2 TUN1 TUN0 ---0 0000 29, 101
未实现
未实现
未实现
未实现
—WPU5WPU4— WPU2WPU1WPU0--11 -111 34, 101 IOC5 IOC4 IOC3 IOC2 IOC1 IOC0 --00 0000 34, 101
未实现
未实现
未实现
未实现
未实现
未实现
未实现
未实现
—ANS3— ANS1 ANS0 ---- 1-11 33, 101
WDT 复位不影响先前的数据锁存值。复位时 GPIF 位将清零,但如果存在不匹配则将置 1
RP1
(1)
RP0 TO PD ZDCC0001 1xxx 15, 101
(4)
TRISIO2 TRISIO1 TRISIO0 --11 1111 31, 101
程序计数器高 5 位的写缓冲器
POR/BOR
时的值
xxxx xxxx 22, 101
0000 0000 22, 101
xxxx xxxx 22, 101
---0 0000 22, 101
(3)
0000 0000 17, 101
所在页
2008 Microchip Technology Inc. 初稿 DS41302A_CN 13
PIC12F609/615/12HV609/615
2-4 PIC12F615/HV615 特殊功能寄存器汇总, BANK 1
地址 名称
Bank 1
80h INDF
81h OPTION_REG GPPU
82h PCL
83h STATUS IRP
84h FSR
85h TRISIO
86h
87h
88h
89h
8Ah PCLATH
8Bh INTCON GIE PEIE T0IE INTE GPIE T0IF INTF GPIF
8Ch PIE1
8Dh
8Eh PCON
8Fh
90h OSCTUNE
91h
92h PR2
93h APFCON
94h
95h WPU
96h IOC
97h
98h
99h
9Ah
9Bh
9Ch
9Dh
9Eh ADRESL
9Fh ANSEL
图注: — = 未实现位 (读为 0), u = 不变, x = 未知, q = 值取决于具体条件,阴影 = 未实现 注 1IRP 和 RP1 位保留,始终保持这两位清零。
(2)
2: 当在配置字寄存器中 MCLRE 1 时, GP3 上拉使能。 3MCLR 4: 由于 TRISIO3 是仅输入引脚,因此它始终读为 1
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 16, 101
程序计数器 (PC)的低字节
(1)
间接数据存储器地址指针
TRISIO5 TRISIO4 TRISIO3
未实现
未实现
未实现
未实现
ADIE CCP1IE —CMIE — TMR2IE TMR1IE -00- 0-00 18, 101
未实现
—PORBOR ---- --qq 20, 101
未实现
TUN4 TUN3 TUN2 TUN1 TUN0 ---0 0000 29, 101
未实现
Timer2 模块周期寄存器
T1GSEL P1BSEL P1ASEL ---0 --00 18, 101
未实现
—WPU5WPU4— WPU2 WPU1 WPU0 --11 -111 34, 101 — IOC5 IOC4 IOC3 IOC2 IOC1 IOC0 --00 0000 34, 101
未实现
未实现
未实现
未实现
未实现
未实现
未实现
左对齐结果的低 2 位或右对齐结果的低 8
ADCS2 ADCS1 ADCS0 ANS3 ANS2 ANS1 ANS0 -000 1111 33, 101
WDT 复位不影响先前的数据锁存值。复位时 GPIF 位将清零,但如果存在不匹配则将置 1
RP1
(1)
RP0 TO PD ZDCC0001 1xxx 15, 101
(4)
TRISIO2 TRISIO1 TRISIO0 --11 1111 31, 101
程序计数器高 5 位的写缓冲器
POR/BOR
时的值
xxxx xxxx 22, 101
0000 0000 22, 101
xxxx xxxx 22, 101
---0 0000 22, 101
(3)
0000 0000 17, 101
1111 1111 51, 101
xxxx xxxx 71, 101
所在页
DS41302A_CN 14 初稿 2008 Microchip Technology Inc.
PIC12F609/615/12HV609/615
2.2.2.1 STATUS 寄存器
状态 (STATUS)寄存器如寄存器 2-1 所示,包括:
•ALU的算术运算状态
复位状态
数据存储器 (RAM)的存储区选择位
STATUS 寄存器与任何其他寄存器一样,可作为任何指
令的目标寄存器。如果一条影响 ZDC C 位的指令 以 STATUS 寄存器作为目标寄存器,那么对这三个位的 写操作将被禁止。这些位根据器件逻辑被置 1 或清零。 而且, TOSTATUS 寄存器作为目标寄存器的指令时,运行结果 可能会与预想的不同。
PD 位均为不可写位。因此,当执行一条
例如,指令 CLRF STATUS 将会清零 STATUS 寄存器中 的高三位,并将 Z 位置 1。这将使 STATUS 寄存器中的 值成为 000u u1uu (其中 u = 不变)。
因此,建议仅使用 BCFBSFSWAPF MOVWF 指令 来改变 STATUS 寄存器的值,因为这些指令不会影响任 何状态位。关于其他不会影响任何状态位的指令,请参 见第 13.0 节 “指令集汇总”。
1PIC12F609/615/12HV609/615 器件未使
STATUS 寄存器的 IRP 和 RP1 位,它 们应保持清零。不建议使用这两位,因为 这可能会影响与未来产品的向上兼容性。
2: 在减法运算中, C DC 位分别作为借位
位和半借位位。请参见 SUBLW SUBWF 指令中的示例。
寄存器 2-1 STATUS:状态寄存器
保留 保留
IRP RP1 RP0 TO PD ZDCC
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: 对于借位,极性是相反的。减法是通过加上第二个操作数的二进制补码来执行的。对于移位指令 (RRF
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 = 结果中最高位未发生进位
RLF),此位装入源寄存器的最高位或最低位。
位(ADDWFADDLWSUBLW SUBWF 指令),对于借位,极性是相反的。
(1)
ADDWFADDLWSUBLW SUBWF 指令)
2008 Microchip Technology Inc. 初稿 DS41302A_CN 15
PIC12F609/615/12HV609/615
2.2.2.2 OPTION 寄存器
选项 (OPTION)寄存器是可读写寄存器,有各种控制 位,用来配置以下各项:
•Timer0/WDT预分频器
外部 GP2/INT 中断
•Timer0
•GPIO的弱上拉
寄存器 2-2 OPTION_REGOPTION 寄存器
R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1
GPPU
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
bit 6
bit 5
bit 4
bit 3
bit 2-0
GPPU
GPIO 上拉使能位
1 = 禁止 GPIO 上拉 0 = 通过各端口锁存值使能 GPIO 上拉
INTEDG:中断触发边沿选择位
1 = GP2/INT 引脚的上升沿触发中断 0 = GP2/INT 引脚的下降沿触发中断
T0CSTimer0 时钟源选择位
1 = GP2/T0CKI 引脚上的电平跳变 0 = 内部指令周期时钟 (F
OSC/4
T0SETimer0 时钟源边沿选择位
1 = GP2/T0CKI 引脚信号从高至低跳变时,递增计数 0 = GP2/T0CKI 引脚信号从低至高跳变时,递增计数
PSA:预分频器分配控制位
1 = 预分频器分配给 WDT 0 = 预分频器分配给 Timer0 模块
PS<2:0>:预分频比选择位
位值 TIMER0 预分频比 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
1 : 1 1 : 2 1 : 4 1 : 8 1 : 16 1 : 32 1 : 64 1 : 128
DS41302A_CN 16 初稿 2008 Microchip Technology Inc.
PIC12F609/615/12HV609/615
2.2.2.3 INTCON 寄存器
INTCON 寄存器是可读写的寄存器,它包含 TMR0 寄存
器溢出、GPIO 电平变化和外部 GP2/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 GPIE T0IF INTF GPIF
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 = 禁止所有外设中断
T0IETimer0 溢出中断允许位
1 = 允许 Timer0 中断 0 = 禁止 Timer0 中断
INTEGP2/INT 外部中断允许位
1 = 允许 GP2/INT 外部中断 0 = 禁止 GP2/INT 外部中断
GPIEGPIO 电平变化中断允许位
1 = 允许 GPIO 电平变化中断 0 = 禁止 GPIO 电平变化中断
T0IFTimer0 溢出中断标志位
1 = Timer0 寄存器溢出 (必须用软件清零) 0 = Timer0 寄存器未溢出
INTFGP2/INT 外部中断标志位
1 = GP2/INT 外部中断发生 (必须用软件清零) 0 = GP2/INT 外部中断没有发生
GPIFGPIO 电平变化中断标志位
1 = 至少有一个 GPIO <5:0> 引脚状态发生变化时 (必须用软件清零) 0 = GPIO <5:0> 引脚状态均未发生变化
(1)
(2)
1IOC 寄存器也必须被使能。
2: 当 TMR0 计数出现计满返回时, T0IF 位将被置 1TMR0 计数值在复位时不变,而且应在清零 T0IF 位之
前对其进行初始化。
2008 Microchip Technology Inc. 初稿 DS41302A_CN 17
PIC12F609/615/12HV609/615
2.2.2.4 PIE1 寄存器
PIE1 寄存器包含外设中断允许位,如寄存器 2-4 所示。
寄存器 2-4 PIE1:外设中断允许寄存器 1
U-0 R/W-0 R/W-0 U-0 R/W-0 U-0 R/W-0 R/W-0
—ADIE
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
(1)
CCP1IE
(1)
—CMIE —TMR2IE
注: 必须将 INTCON 寄存器的 PEIE 位置 1,以
允许外设中断。
(1)
TMR1IE
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
1:仅限 PIC12F615/HV615。在 PIC12F609/HV609 上未实现,读为 0
未实现:读为 0 ADIEA/D 转换器 (ADC)中断允许位
1 = 允许 ADC 中断 0 = 禁止 ADC 中断
CCP1IECCP1 中断允许位
1 = 允许 CCP1 中断 0 = 禁止 CCP1 中断
未实现:读为 0
CMIE:比较器中断允许位
1 = 允许比较器中断 0 = 禁止比较器中断
未实现:读为 0
TMR2IETimer2 PR2 匹配中断允许位
1 = 允许 Timer2 PR2 匹配中断 0 = 禁止 Timer2 PR2 匹配中断
TMR1IETimer1 溢出中断允许位
1 = 允许 Timer1 溢出中断 0 = 禁止 Timer1 溢出中断
(1)
(1)
(1)
DS41302A_CN 18 初稿 2008 Microchip Technology Inc.
PIC12F609/615/12HV609/615
2.2.2.5 PIR1 寄存器
PIR1 寄存器包含外设中断标志位,如寄存器 2-5 所示。
寄存器 2-5 PIR1:外设中断请求寄存器 1
U-0 R/W-0 R/W-0 U-0 R/W-0 U-0 R/W-0 R/W-0
—ADIF
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
(1)
CCP1IF
(1)
—CMIF —TMR2IF
注: 当中断条件发生时,无论相应中断允许位或
全局中断允许位 GIE (在 INTCON 寄存器 中)的状态如何,中断标志位都将被置 1。 用户软件应在允许一个中断前,先将相应的 中断标志位清零。
(1)
TMR1IF
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
未实现:读为 0 ADIFA/D 中断标志位
1 = A/D 转换完成 0 = A/D 转换未完成或尚未开始
CCP1IFCCP1 中断标志位 捕捉模式:
1 = 发生了 TMR1 寄存器捕捉 (必须用软件清零) 0 = 未发生 TMR1 寄存器捕捉
比较模式
1 = 发生了 TMR1 寄存器的比较匹配 (必须用软件清零) 0 = 未发生 TMR1 寄存器的比较匹配
PWM
在此模式下不使用 未实现:读为 0 CMIF 比较器中断标志位
1 = 比较器输出已改变 (必须用软件清零) 0 = 比较器输出未改变
未实现:读为 0
TMR2IFTimer2 PR2 匹配中断标志位
1 = Timer2 PR2 发生匹配 (必须用软件清零) 0 = Timer2 PR2 未发生匹配
TMR1IF Timer1 溢出中断标志位
1 = Timer1 寄存器溢出 (必须用软件清零) 0 = Timer1 寄存器未溢出
模式:
(1)
(1)
(1)
1:仅限 PIC12F615/HV615。在 PIC12F609/HV609 上未实现,读为 0
2008 Microchip Technology Inc. 初稿 DS41302A_CN 19
PIC12F609/615/12HV609/615
2.2.2.6 PCON 寄存器
电源控制 (PCON)寄存器 (见表 11-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
—PORBOR
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
DS41302A_CN 20 初稿 2008 Microchip Technology Inc.
PIC12F609/615/12HV609/615
2.2.2.7 APFCON 寄存器 (仅限 PIC12F615/HV615
备用引脚功能控制(APFCON)寄存器用于将特定的外 设输入和输出功能配置到不同的引脚上。对于这两款器 件,可将 P1AP1B Timer1 门控功能配置到不同的 引脚上。
APFCON 寄存器位如寄存器 2-7 所示。
寄存器 2-7 APFCON:电源控制寄存器
U-0 U-0 U-0 R/W-0 U-0 U-0 R/W-0 R/W-0
T1GSEL P1BSEL P1ASEL
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
bit 7-5
bit 4
bit 3-2
bit 1
bit 0
1:仅限 PIC12F615/HV615
2: 备用引脚功能。
未实现:读为 0 T1GSEL TMR1 输入引脚选择位
1 = GP3/T1G 0 = GP4/AN3/CIN1-/T1G
未实现:读为 0
P1BSEL P1B 输出引脚选择位
1 = GP4/AN3/CIN1-/T1G 0 = GP0/AN0/CIN+/P1B/ICSPDAT 上具有 P1B 功能
P1ASEL P1A 输出引脚选择位
1 = GP5/T1CKI/P1A 0 = GP2/AN2/T0CKI/INT/COUT/CCP1/P1A 上具有 P1A 功能
(2)
/MCLR/VPP 上具有 T1G 功能
/P1B
/P1B
(2)
/OSC1/CLKIN 上具有 P1A 功能
(1)
(2)
/OSC2/CLKOUT 上具有 T1G 功能
(2)
/OSC2/CLKOUT 上具有 P1B 功能
2008 Microchip Technology Inc. 初稿 DS41302A_CN 第 21
PIC12F609/615/12HV609/615

2.3 PCL PCLATH

程序计数器 (PC)为 13 位宽。其低 8 位来自可读写的 PCL 寄存器,高 5 位(PC<12:8>)来自 PCLATH,不
能直接读写。只要发生复位,PC 就将被清零。图 2-4 显 示了装入 PC 值的两种情形。图 2-4 上方的例子说明在写 PCL PCLATH<4:0> PCH)时是如何装入 PC 的。 图 2-4 下方的例子说明了在执行 CALL GOTO指令期间
PCLATH<4:3> PCH),是如何装入 PC 的。

2-4 不同情况下 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
8
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 为 目标寄存器 的指令
ALU 运算结果
GOTO, CALL
操作码 <10:0>

2.3.2 堆栈

PIC12F609/615/12HV609/615 系列具有8 层 x13位宽
的硬件堆栈 (见图 2-1)。堆栈空间既不占用程序存储 空间,也不占用数据存储空间,而且堆栈指针是不可读 写的。当执行 CALL 指令或当中断导致程序跳转时,PC 值将被压入堆栈。而在执行 RETURNRETLW RETFIE 指令时,将从堆栈中弹出 PC 值。 PCLATH 不 受压栈或出栈操作的影响。
堆栈的工作原理犹如循环缓冲区。这意味着当压栈 8 次 后,第 9 次压入堆栈的值将会覆盖第一次压栈时所保存 的值,而第 10 次压入堆栈的值将覆盖第二次压栈时保 存的值,依此类推。
1:不存在指明堆栈是否上溢或下溢的状态标
志位。
2: 不存在被称为 PUSH POP 的指令 /
记符。堆栈的压入或弹出是源于执行了 CALLRETURNRETLW RETFIE 指 令,或源于跳转到中断向量地址。

2.4 间接寻址、 INDF FSR 寄存器

INDF 寄存器不是实际存在的寄存器,对 INDF 寄存器进 行寻址将产生间接寻址。
使用 INDF 寄存器可进行间接寻址。任何使用 INDF 寄 存器的指令,实际上是对文件选择寄存器(FSR)所 指 向的数据进行存取。间接对 INDF 进行读操作将返回 00h。间接对 INDF 寄存器进行写操作将导致空操作(尽 管可能会影响状态位)。通过将 8 位的 FSR 寄存器与 STATUS 寄存器的 IRP 位进行组合可得到一个有效的 9 位地址,如图 2-5 所示。
2-1 给出了一个使用间接寻址将 RAM 地址单元 40h- 7Fh 清零的简单程序。

2-1:间

MOVLW 0x40 ;initialize pointer MOVWF FSR ;to RAM
NEXT CLRF INDF ;clear INDF register
INCF FSR ;inc pointer BTFSS FSR,7 ;all done? GOTO NEXT ;no clear next
CONTINUE ;yes continue
DS41302A_CN 22 初稿 2008 Microchip Technology Inc.
PIC12F609/615/12HV609/615

2-5 PIC12F609/615/12HV609/615 的直接 / 间接寻址

RP1
(1)
RP0 6
来自操作码
0
IRP
间接寻址直接寻址
(1)
7
文件选择寄存器
0
存储区选择 存储单元选择
00 01 10 11
00h
数据存储器
7Fh
Bank 0 Bank 1 Bank 2 Bank 3
关于存储器映射的详细信息,请参见图 2-2
1RP1 IRP 位保留;始终保持这两位清零。
2: 对该区域的访问会映射到 Bank 0 Bank 1
未使用
(2)
存储区选择
180h
1FFh
存储单元选择
2008 Microchip Technology Inc. 初稿 DS41302A_CN 23
PIC12F609/615/12HV609/615
注:
DS41302A_CN 24 初稿 2008 Microchip Technology Inc.
PIC12F609/615/12HV609/615

3.0 振荡器模块

3.1 概述

振荡器模块具有多种时钟源和选择特性,从而使之可广 泛使用于各种应用中,同时最大限度地发挥应用性能并 降低功耗。图 3-1 为振荡器模块的框图。
时钟源可配置为来自外部振荡器、石英晶体谐振器、陶 瓷谐振器以及阻容(Resistor-CapacitorRC)电路。此 外,系统时钟源还可配置为两种可选速度之一:内部或 外部系统时钟源。

3-1 PIC® MCU 时钟源框图

外部振荡器
OSC2
Sleep
OSC1
振荡器模块可配置为以下 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<7>
(配置字寄存器)
LP, XT, HS, RC, RCIO, EC
内部振荡器
INTOSC
8 MHz
后分频器
4 MHz
INTOSC
MUX
系统时钟
CPU 和外设)
2008 Microchip Technology Inc. 初稿 DS41302A_CN 25
PIC12F609/615/12HV609/615

3.2 时钟源模式

时钟源模式可分为外部和内部模式。
外部时钟模式依靠外部电路提供时钟源。例如:振 荡器模块 (EC 模式)、石英晶体谐振器或陶瓷谐 振器 (LPXT HS 模式)以及阻容 (RC)模 式电路。
内部时钟源内置于振荡器模块中。振荡器模块有两 种时钟频率供选择:4MHz和 8MHz
通过配置字寄存器的 FOSC<2:0> 位在外部或内部时钟 源之间选择系统时钟。

3.3 外部时钟模式

3.3.1 振荡器起振定时器 (OST

如果振荡器模块被配置为 LPXT HS 模式,则振荡 器起振定时器 (OST)对来自 OSC1 的振荡计数 1024 次。这发生在上电复位 (POR)和上电延时定时器
PWRT)超时 (如果配置了) ,或从休眠中唤醒后。
在此期间,程序计数器不递增,程序执行暂停。OST 确 保使用石英晶体谐振器或陶瓷谐振器的振荡器电路已经 起振并为 PIC12F609/HV609 和 PIC12F615/HV615 器 件提供稳定的系统时钟。当在时钟源之间切换时,需要 一定的延时以使新时钟稳定。表 3-1 给出了振荡器延时 的例子。
3-1 振荡器延时示例
切换自 切换到 频率 振荡器延时
休眠 /POR 休眠 /POR EC RC
INTOSC
125 kHz 8MHz 振荡器预热延时 (T DC – 20 MHz
2 个指令周期
WARM
休眠 /POR LPXT HS 32 kHz 20 MHz 1024 个时钟周期 (OST

3.3.2 EC 模式

外部时钟 (EC)模式允许外部产生的逻辑电平作为系 统时钟源。工作在此模式下时,外部时钟源连接到
OSC1 输入,OSC2 引脚可用作通用 I/O。图 3-2 给出了 EC 模式的引脚连接。
当选取 EC 模式时,振荡器起振定时器 (OST)被禁 止。因此,上电复位(POR)后或者从休眠中唤醒后的 操作不存在延时。因为 PIC 的,停止外部时钟输入将使暂停工作并保持所有数据完 整。当再次启动外部时钟时,器件恢复工作,就好像没 有停止过一样。
®
MCU 的设计是完全静态
3-2 外部时钟 (EC)模式的工作原理
来自外部 系统的时钟
I/O
1:第1.0 节 “器件概述”中列出了备用引脚功
能。
OSC1/CLKIN
®
MCU
PIC
OSC2/CLKOUT
(1)
DS41302A_CN 26 初稿 2008 Microchip Technology Inc.
PIC12F609/615/12HV609/615

3.3.3 LPXT HS 模式

LPXT HS 模式支持使用连接到 OSC1 OSC2
脚的石英晶体谐振器或陶瓷谐振器 (图 3-3)。模式选 择内部反相放大器的低、中或高增益设定,以支持各种 谐振器类型及速度。
LP 振荡器模式选择内部反相放大器的最低增益设定。 LP模式的电流消耗在三种模式中最小。该模式设计用来 驱动仅 32.768 kHz 的音叉(Tuning Fork)型晶振(钟 表晶振)。
XT 振荡器模式选择内部反相放大器的中等增益设定。 XT 模式的电流消耗在三种模式中居中。该模式最适合 驱动具备中等驱动级别规格要求的谐振器。
HS 振荡器模式选择内部反相放大器的最高增益设定。 HS 模式的电流消耗在三种模式中最大。该模式最适合 驱动需要高驱动设定的谐振器。
3-3 和图 3-4 分别给出了石英晶体谐振器和陶瓷谐振 器的典型电路。
3-3 石英晶振的工作原理
LPXT 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: 对于低驱动级别的石英晶振,可能需要串联一
2R
(1)
S
R
个电阻 (R
F 的值随选取的振荡模式而变化 (典型值在
2M到 10 M之间)。
S)。
OSC2/CLKOUT
C2
陶瓷 谐振器
1: 对于低驱动级别的陶瓷谐振器,可能需要串联
一个电阻 (R
F 的值随选取的振荡模式而变化 (典型值在
2R
2M到 10 M之间)。
3:为使陶瓷谐振器正常工作,可能需要并联一个
反馈电阻 (R
(1)
R
S
S)。
P)。
2008 Microchip Technology Inc. 初稿 DS41302A_CN 第 27
PIC12F609/615/12HV609/615

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
Fosc/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 k3-5V
EXT > 20 pF, 2-5V
内部
时钟

3.4 内部时钟模式

振荡器模块提供一个可选的系统时钟源, 4MHz 或 8MHz。通过配置字的 IOSCFS 位来配置可选频率。
内部振荡器的频率可通过OSCTUNE 寄存器中的校准值 来平衡。

3.4.1 INTOSC INTOSCIO 模式

当在配置字寄存器 (CONFIG)中使用振荡器选择或
FOSC<2:0> 位对器件进行编程时,在 INTOSC 和 INTOSCIO 模式下将内部振荡器配置为系统时钟源。更
多信息,请参见第 11.0 节“CPU 的特殊功能”。
INTOSC 模式下, OSC1/CLKIN 可用作通用 I/O
OSC2/CLKOUT 输出所选内部振荡器频率的 4 分频。 CLKOUT 信号可用来为外部电路、同步、校准、测试或
其他应用需求提供时钟。 在 INTOSCIO 模式下,OSC1/CLKIN 和 OSC2/CLKOUT
可用作通用 I/O
RCIO 模式下, RC 电路连接到 OSC1OSC2 成为 额外的通用 I/O 引脚。
RC 振荡器频率与供电电压、电阻(R
EXT)和电容(CEXT
值以及工作温度有关。影响振荡器频率的其他因素有:
电压门限值变化
元件容差
不同封装的电容
用户还应考虑因所使用的外部 RC 元件的容差而导致的 差异。
DS41302A_CN 28 初稿 2008 Microchip Technology Inc.
Loading...
+ 138 hidden pages