PIC12F629/675
深圳市粤原点科技有限公司
(Microchip Authorized Design Partner)指定授权
总部地址:深圳市福田区福虹路世贸广场C座1103座
Add: Room 1103,Block C,World Trade Plaza,
9Fuhong Road,Futian District Shen Zhen City
电话(tel) :86-755-83666321,83666320,83666325
传真(fax) :86-755-83666329
Web: WWW.ORIGIN-GD.COM
E-mail:01@LZmcu.com abc85185@163.com
联系人:马先生,王小姐,汤小姐
在线咨询:QQ:42513912 MSN:action_tech@hotmail.com
7x24小时在线产品咨询:13509674380 13798484366
数据手册
8 引脚闪存 8 位
CMOS 单片机
2004 Microchip Technology Inc. DS41190C_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
Technology Inc. 及其分公司和相关公司、各级主管与员工及
事务代理机构对译文中可能存在的任何差错不承担任何责任。
建议参考 Microchip Technology Inc. 的原版文档。
本出版物中所述的器件应用信息及其它类似内容仅为您提供便
利,它们可能由更新之信息所替代。确保应用符合技术规范,
是您自身应负的责任。Microchip 对这些信息不作任何明示或
暗示、书面或口头的声明或担保,包括但不限于针对其使用情
况、质量、性能、适销性或特定用途的适用性的声明或担保。
Microchip 对因这些信息及使用这些信息而引起的后果不承担
任何责任。未经 Microchip 书面批准,不得将 Microchip 的产
品用作生命维持系统中的关键组件。在 Microchip 知识产权保
护下,不得暗中或以其它方式转让任何许可证。
商标
Microchip 的名称和徽标组合、 Microchip 徽标、 Accuron、
dsPIC、 K
EEL OQ、 microID、 MPLAB、 PIC、 PICmicro、
PICSTART、 PRO MATE、 PowerSmart、 rfPIC 和
SmartShunt均为 Microchip Technology Inc.在美国和其它国家
或地区的注册商标。
AmpLab、 FilterLab、 Migratable Memory、 MXDEV、
MXLAB、 PICMASTER、 rfPIC、 SEEVAL、 SmartSensor
和 The Embedded Control Solutions Company 均为 Microchip
Technology Inc. 在美国的注册商标。
Analog-for-the-Digital Age、 Application Maestro、
dsPICDEM、 dsPICDEM.net、 dsPICworks、 ECAN、
ECONOMONITOR、 FanSense、 FlexROM、 fuzzyLAB、
In-Circuit Serial Programming、 ICSP、 ICEPIC、
Migratable Memory、 MPASM、 MPLIB、 MPLINK、
MPSIM、 PICkit、 PICDEM、 PICDEM.net、 PICLAB、
PICtail、 PowerCal、 PowerInfo、 PowerMate、
PowerTool、 rfLAB、 rfPICDEM、 Select Mode、 Smart
Serial、 SmartTel 和 Total Endurance 均为 Microchip
Technology Inc. 在美国和其它国家或地区的商标。
SQTP 是 Microchip Technology Inc. 在美国的服务标记。
在此提及的所有其它商标均为各持有公司所有。
© 2004, Microchip Technology Inc 。版权所有。
Microchip
Mountain View
过了
机、
器和模拟产品方面的质量体系流程均符合
Microchip
9001:2000
位于美国亚利桑那州
ISO/TS-16949:2002
KEE LOQ
的全球总部、设计中心和晶圆生产厂均于
®
跳码器件、串行
在开发系统的设计和生产方面的质量体系也已通过了
认证。
Chandler和Tem pe
质量体系认证。公司在
EEPROM
、单片机外设、非易失性存储
ISO/TS-16949:2002
PICmicro
及位于加利福尼亚州
2003年10
®
8
位单片
。此外,
月通
ISO
DS41190C_CN 第 ii 页 2004 Microchip Technology Inc.
PIC12F629/675
8 引脚闪存 8 位 CMOS 单片机
高性能的 RISC CPU
• 仅需学习 35 条指令
- 除了跳转指令以外所有指令都是单周期的
• 工作速度:
- DC - 20 MHz 振荡器 / 时钟输入
- DC - 200 ns 指令周期
• 中断功能
• 8 级深度硬件堆栈
• 直接、间接和相对寻址方式
特殊单片机功能:
• 可选择内部和外部振荡器
- 高精度内部 4MHz振荡器,其出厂时精度已
校准为± 1%
- 可使用晶振和谐振器作为外部振荡器
- 电压典型值为 3.0V 时,将 CPU 从休眠模式
唤醒需 5 µ s
• 省电休眠模式
• 宽工作电压范围,从 2.0V 到 5.5V
• 工业级和扩展级温度范围
• 低功耗上电复位 (POR)
• 上电延时定时器 (PWRT)和振荡器起振定时器
( OST)
• 欠压检测 (BOD)
• 带有独立振荡器的看门狗定时器,
可以保证可靠的运行
• 复用 MCLR
• 引脚电平变化可触发中断
• 独立的可编程弱上拉功能
• 可编程代码保护
• 高耐久性的闪存 /EEPROM 存储单元
- 闪存耐写次数达 100,000 次
- EEPROM 耐写次数达 1,000,000 次
- 闪存 / 数据 EEPROM 的数据保持期 >40 年
输入引脚
低功耗功能:
• 待机电流:
- 当电压为 2.0V 时,典型值为 1nA
• 工作电流:
- 当频率为 32 kHz 时,典型值为 8.5 µ A
- 当频率为 1MHz时,典型值为 100 µ A
• 看门狗定时器电流:
- 当电压为 2.0V 时,典型值为 300 nA
• Timer1 振荡器电流:
- 当频率为 32 kHz、电压为 2.0V 时,典型值为
4 µ A
外设功能:
• 6 个具有独立方向控制功能的 I/O 引脚
• 高灌 / 拉电流能力,可直接驱动 LED
• 模拟比较器模块带有:
- 一个模拟比较器
- 片上可编程比较器参考电压 ( CV
- 来自器件输入引脚的可编程输入复用
- 可外部访问比较器输出
• 模数转换器模块 (PIC12F675):
-10位分辨率
- 可编程的 4 通道输入
- 参考电压输入
• Timer0:带有 8 位可编程预分频器的 8 位定时器 /
计数器
• 增强的 Timer1:
- 带有预分频器的 16 位定时器 / 计数器
- 外部选通输入模式
- 如果已选用 INTOSC 模式的话,那么在 LP 模
式中可选择 OSC1 和 OSC2 作为 Timer1 的
振荡器
• 通过两个引脚可实现在线串行编程 (ICSP
REF)模块
TM
)
程序存储器 数据存储器
器件
PIC12F629 1024 64 128 6 - 1 1/1
PIC12F675 1024 64 128 6 4 1 1/1
*8位 8 引脚器件受 Microchip 的低引脚数专利(Low Pin Count Patent)保护: 美国专利号为 5847450。其它美国国内
或国外专利可能已获批准或正在申请之中。
2004 Microchip Technology Inc. DS41190C_CN 第 1 页
闪存
( 字 )
SRAM
( 字节 )
EEPROM
( 字节 )
I/O
10 位 A/D 转
换器 ( 通道 )
比较器
8/16 位
定时器
PIC12F629/675
引脚示意图
8 引脚 PDIP 、SOIC 和 DFN-S 封装形式
GP5/T1CKI/OSC1/CLKIN
GP4/T1G
/OSC2/CLKOUT
GP3/MCLR
GP5/T1CKI/OSC1/CLKIN
GP4/AN3/T1G
/OSC2/CLKOUT
GP3/MCLR
VDD
/VPP
VDD
/VPP
1
8
PIC12F629
2
7
3
6
45
1
8
PIC12F675
2
7
3
6
45
VSS
GP0/CIN+/ICSPDAT
GP1/CIN-/ICSPCLK
GP2/T0CKI/INT/COUT
VSS
GP0/AN0/CIN+/ICSPDAT
GP1/AN1/CIN-/V
GP2/AN2/T0CKI/INT/COUT
REF/ICSPCLK
DS41190C_CN 第 2 页 2004 Microchip Technology Inc.
PIC12F629/675
目录
1.0 器件概述 ...................................................................................................................................................................................... 5
2.0 存储器组织结构 ........................................................................................................................................................................... 7
3.0 GPIO 端口 .................................................................................................................................................................................. 19
4.0 Timer0 模块 ............................................................................................................................................................................... 27
5.0 带选通电路的 Timer1 模块 ......................................................................................................................................................... 30
6.0 比较器模块 ................................................................................................................................................................................ 35
7.0 模数转换器 ( A/D)模块 (仅限 PIC12F675)........................................................................................................................... 41
8.0 数据 EEPROM 存储器 ................................................................................................................................................................ 47
9.0 CPU 的特殊功能 ......................................................................................................................................................................... 51
10.0 指令集概述 ................................................................................................................................................................................. 69
11.0 开发支持 ..................................................................................................................................................................................... 77
12.0 电气规范 ..................................................................................................................................................................................... 83
13.0 DC 和 AC 特性图表 .................................................................................................................................................................. 105
14.0 封装信息 ................................................................................................................................................................................... 115
附录 A :数据表的版本历史 ................................................................................................................................................................ 121
附录 B :器件差异............................................................................................................................................................................... 121
附录 C :器件移植 .............................................................................................................................................................................. 122
附录 D :从其它 PICmicro
索引 ................................................................................................................................................................................................. 123
在线支持............................................................................................................................................................................................. 127
系统信息和升级热线 .......................................................................................................................................................................... 127
读者反馈表 ......................................................................................................................................................................................... 128
产品标识体系 .................................................................................................................................................................................... 129
®
器件移植................................................................................................................................................. 122
致 客 户
我司旨在提供最佳文档供客户正确使用 Microchip 产品。 为此,我们将持续改善公司出版物以更好地满足您的要求。出版物的质量
将随新手册及更新版本的推出而得到改善。
如果您对本出版物有任何问题和建议,请通过电子邮件或传真联系我司 TRC 经理,电子邮件地址为 CTRC@microchip.com ,传
真号码为 (8621)5407 5066 。我们欢迎您的反馈。
最新数据手册
欲获得本数据手册的最新版本,请查询我公司的网站:
http://www.microchip.com
您可通过检查数据手册中任意一页外侧下角的文献编号来确定其版本。文献编号的最后一个字母是版本编号
DS30000 的 A 版本。
勘误表
现有器件可能带有一份勘误表,说明了 ( 与数据手册的 ) 小运行差异以及建议的工作条件。当器件 / 文档的差异为我们所知时,我
们将出版一份勘误表。 勘误表上将注明其所适用的硅片版本和文件版本。
欲了解某一器件是否存在勘误表,请通过以下方式之一查询:
•Microchip网站 http://www.microchip.com
• 当地 Microchip 销售办事处 ( 见尾页 )
•Microchip总部文献中心;美国传真号码:001 (480) 792-7277
当致电销售办事处或文献中心时,请说明您所使用的器件名称、芯片和数据手册版本 ( 包括文献编号 )。
客户通知系统
欲接收我司产品的最新信息,请到我公司网站 www.microchip.com/cn 上注册。
,例如:DS30000A 是
2004 Microchip Technology Inc. DS41190C_CN 第 3 页
PIC12F629/675
注:
DS41190C_CN 第 4 页 2004 Microchip Technology Inc.
PIC12F629/675
1.0 器件概述
本文档包含 PIC12F629/675 器件的具体信息。 其它信
息可参见 《PICmicro
(DS33023A _CN ),您可向当地Microchip 销售代表处
索取或从 Microchip网站下载。此参考手册可视为是对
本数据手册的补充文档,我们极力推荐用户阅读该手册,
图 1-1 : PIC12F629/675 框图
程序总线
内部
4 MHz
振荡器
OSC1/CLKIN
OSC2/CLKOUT
T1G
闪存
程序
存储器
1K x 14
14
指令寄存器
指令
译码与
控制
时序
发生
DD, VSS
V
®
中档单片机系列参考手册》
13
程序计数器
8 级堆栈
(13 位)
直接寻址
7
8
上电延时
定时器
振荡器
起振定时器
上电
复位
看门狗
定时器
欠压
检测
3
8
W 寄存器
数据总线
RAM
文件
寄存器
64 x 8
9
地址 MUX
8
FSR 寄存器
状态寄存器
MUX
ALU
以更好地理解芯片结构和外围模块的操作。
本数据手册包括了PIC12F629 和 PIC12F675 器件。 除
了 PIC12F675 具有 10 位 A/D 转换器以外,这两种器
件基本类似。它们均采用 8 引脚 PDIP 、SOIC 和 MLF-
S 封装形式。图 1-1 为 PIC12F629/675 器件的框图。
表 1-1 所示为引脚排列说明。
8
GP0/AN0/CIN+
RAM
地址
间接
寻址
GP1/AN1/CIN-/V
GP2/AN2/T0CKI/INT/COUT
GP3/MCLR
GP4/AN3/T1G/OSC2/CLKOUT
GP5/T1CKI/OSC1/CLKIN
(1)
REF
/VPP
T1CKI
T0CKI
VREF
Timer0 Timer1
模数转换器
(仅限 PIC12F675 )
AN0 AN1 AN2 AN3
注 1: 高位来自状态寄存器。
模拟比较器
和参考电压模块
CIN- CIN+ COUT
EEDATA
128 字节
8
EEPROM
EEADDR
数据
2004 Microchip Technology Inc. DS41190C_CN 第 5 页
PIC12F629/675
表 1-1 : PIC12F629/675 引脚排列说明
名称 功能
GP0/AN0/CIN+/ICSPDAT GP0 TTL CMOS
AN0 AN
CIN+ AN
ICSPDAT TTL CMOS
GP1/AN1/CIN-/V
ICSPCLK
GP2/AN2/T0CKI/INT/COUT GP2 ST CMOS
GP3/MCLR
GP4/AN3/T1G/OSC2/
CLKOUT
GP5/T1CKI/OSC1/CLKIN
V
SS V SS
DD V DD
V
图注: 阴影部分仅适用于 PIC12F675
TTL=TTL 输入缓冲器, ST= 施密特触发输入缓冲器。
REF/
/VPP GP3 TTL
GP1 TTL CMOS
AN1 AN
CIN- AN
VREF AN
ICSPCLK ST
AN2 AN
T0CKI ST
INT ST
COUT CMOS
MCLR
PP HV
V
GP4 TTL CMOS
AN3 AN
T1G ST
OSC2 XTAL
CLKOUT CMOS
GP5 TTL CMOS
T1CKI ST
OSC1 XTAL
CLKIN ST
输入
类型
ST
电源 接地参考
电源 正向电源
输出
类型
说明
双向 I/O ,带可编程上拉和电平变化触发中断功能
A/D 通道 0 输入
比较器输入
串行编程 I/O
双向 I/O ,带可编程上拉和电平变化触发中断功能
A/D 通道 1 输入
比较器输入
外部参考电压
串行编程时钟
双向 I/O ,带可编程上拉和电平变化触发中断功能
A/D 通道 2 输入
TMR0 时钟输入
外部中断
比较器输出
输入端口,带电平变化触发中断功能
主清零
编程电压
双向 I/O ,带可编程上拉和电平变化触发中断功能
A/D 通道 3 输入
TMR1 门电路
晶振 / 谐振器
F
OSC/4 输出
双向 I/O,带可编程上拉和电平变化触发中断功能
TMR1 时钟
晶振 / 谐振器
外部时钟输入 /RC 振荡器连接
DS41190C_CN 第 6 页 2004 Microchip Technology Inc.
PIC12F629/675
2.0 存储器组织结构
2.1 程序存储器组织结构
PIC12F629/675 器件具备一个 13 位程序计数器,可用
来寻址 8K x 14 的程序存储器空间。对于 PIC12F629/
675 器件来说,只有第一个 1K x 14 (0000h - 03FFh )
存储单元是物理实现的。访问超出上述界限的存储单
元,将在第一个 1K x 14 空间内产生循环。复位矢量位
于 0000h ,而中断矢量位于 0004h (参见图 2-1 )。
图 2-1 : PIC12F629/675 的程序存储
器映射和堆栈
PC<12:0>
CALL, RETURN
RETFIE, RETLW
1 级堆栈
2 级堆栈
8 级堆栈
复位矢量
13
000h
2.2 数据存储器组织结构
数据存储器 (参见图 2-2 )被分成两个存储区,这两个
存储区中包含通用寄存器和特殊功能寄存器。特殊功能
寄存器位于每个存储区的前 32 个单元中。寄存器中 20h
到 5Fh 的存储单元是通用寄存器,它们以静态 RAM 的
形式实现并同时映射到两个存储区中。所有其它 RAM
均未用,且读取时返回值为 0 。RP0 (STATUS<5>)是
存储区选择位。
• RP0 = 0,选择存储区 0
• RP0 = 1,选择存储区 1
注: IRP 和 RP1 位 STATUS<7:6> 是保留位并
始终保持 0 。
2.2.1 通用寄存器数据
通用寄存器数据在PIC12F629/675 器件中的组织结构为
64 x 8。每个寄存器均可通过选择寄存器 ( File Select
Register, FSR)进行直接或者间接访问 (参见第 2.4
节)。
中断矢量
片上程序
存储器
0004
0005
03FFh
0400h
1FFFh
2004 Microchip Technology Inc. DS41190C_CN 第 7 页
PIC12F629/675
2.2.2 特殊功能寄存器
特殊功能寄存器是 CPU 和外设功能用于控制器件执行
期望操作的寄存器 (参见表 2-1 )。这些寄存器是静态
RAM 。
特殊功能寄存器可以划分为两类,即:内核和外设。本
节介绍与 “内核”有关的特殊功能寄存器。与外设功能
操作有关的特殊功能寄存器将在相应的外设功能部件章
节中讲述。
图 2-2 : PIC12F629/675 的数据存储
器映射
数据
地址
间接寻址
ADRESH
ADCON0
(1)
00h
TMR0
PCL
STATUS
FSR
GPIO
PCLATH
INTCON
PIR1
TMR1L
TMR1H
T1CON
CMCON VRCON
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
(2)
1Eh
(2)
1Fh
20h
间接寻址
OPTION_REG
PCL
STATUS
FSR
TRISIO
PCLATH
INTCON
PIE1
PCON
OSCCAL
WPU
IOC
EEDATA
EEADR
EECON1
EECON2
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
(1)
9Dh
(2)
9Eh
(2)
9Fh
A0h
通用
寄存器
64 Bytes
5Fh
60h
7Fh
存储区 0
未用的数据存储器单元,读做 0 。
1: 非实际存在的寄存器。
2: 仅限于 PIC12F675。
DS41190C_CN 第 8 页 2004 Microchip Technology Inc.
访问
20h-5Fh
DFh
E0h
FFh
存储区 1
PIC12F629/675
表 2-1 : 特殊功能寄存器汇总表
地址 名称
存储区 0
00h INDF
01h TMR0
02h PCL
03h STATUS
04h FSR
05h GPIO
06h
07h
08h
09h
0Ah PCLATH
0Bh INTCON GIE PEIE T0IE INTE GPIE T0IF INTF GPIF 0000 0000 13
0Ch PIR1
0Dh
0Eh TMR1L
0Fh TMR1H
10h T1CON
11h
12h
13h
14h
15h
16h
17h
18h
19h CMCON
1Ah
1Bh
1Ch
1Dh
1Eh ADRESH
1Fh ADCON0
(1)
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
(3)
(3)
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
用 FSR 的内容寻址数据存储器来寻址该数据单元
Timer0 模块的寄存器
程序计数器 ( PC)的低位字节
(2)
IRP
间接数据存储器地址指针
- -
- - - 程序计数器的高 5 位的写缓冲器
EEIF ADIF
16 位 Tim er1 低位字节的保持寄存器
16 位 Tim er1 高位字节的保持寄存器
-
-
左对齐的 A/D 结果的高 8 位或右对齐的 A/D 结果的高 2 位
ADFM VCFG
(2)
RP1
TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC
COUT
RP0 TO PD ZD CC
GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 GPIO0 --xx xxxx 17
- -
-
- -
CINV CIS CM2 CM1 CM0
CMIF
CHS1 CHS0 GO/DONE
- -
TMR1CS TMR1ON -000 0000 31
TMR1IF 00-- 0--0 15
ADON 00-- 0000 43,57
图注: - = 未用单元,读作 0, u = 未改变, x = 未知, q = 值根据条件而变。
阴影 = 未用
注 1 : 非实际存在的寄存器。
2: 这些位是保留位且始终保持为 0 。
3: 仅限 PIC12F675 。
POR、 BOD
时的值
0000 0000 18,53
xxxx xxxx 25
0000 0000 17
0001 1xxx 11
xxxx xxxx 18
---0 0000 17
xxxx xxxx 28
xxxx xxxx 28
-0-0 0000 33
xxxx xxxx 40
页
2004 Microchip Technology Inc. DS41190C_CN 第 9 页
PIC12F629/675
表 2-1 : 特殊功能寄存器汇总表 (续)
地址 名称
存储区 1
80h INDF
81h OPTION_REG GPPU
82h PCL
83h STATUS
84h FSR
85h TRISIO
86h
87h
88h
89h
8Ah PCLATH
8Bh INTCON GIE PEIE T0IE INTE GPIE T0IF INTF GPIF 0000 0000 13
8Ch PIE1 EEIE ADIE
8Dh
8Eh PCON
8Fh
9 0 h O S C C A L C A L 5C A L 4C A L 3C A L 2C A L 1C A L 0
91h
92h
93h
94h
95h WPU
96h IOC
97h
98h
99h VRCON VREN
9Ah EEDATA
9Bh EEADR
9Ch EECON1
9Dh EECON2
9Eh ADRESL
9Fh ANSEL
(1)
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
- 未用 - -
(1)
(3)
(3)
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 12,26
程序计数器 ( PC)的低位字节
(2)
IRP
间接数据存储器地址指针
- -
- - - 程序计数器的高 5 位的写缓冲器
- - - - - -
- -
- -
数据 EEPROM 数据寄存器
-数 据EEPROM 地址寄存器
- - - -
EEPROM 控制寄存器 2
左对齐的 A/D 结果的低 2 位或右对齐的 A/D 结果的低 8 位
-
(2)
RP1
-
ADCS2 ADCS1 ADCS0 ANS3 ANS2 ANS1 ANS0 -000 1111 40,61
RP0 TO PD ZD CC0001 1xxx 11
TRISIO5 TRISIO4 TRISIO3 TRISIO2 TRISIO1 TRISIO0 --11 1111 17
- -
WPU5 WPU4
IOC5 IOC4 IOC3 IOC2 IOC1 IOC0 --00 0000 19
VRR
-
CMIE
-
- -
POR
- -
WPU2 WPU1 WPU0 --11 -111 18
VR3 VR2 VR1 VR0
WRERR WREN WR RD ---- x000 46
TMR1IE 00-- 0--0 14
BOD ---- --0x 16
图注: - = 未用单元,读作 0, u = 未改变, x = 未知, q = 值根据条件而变。
阴影 = 未用
注 1 : 非实际存在的寄存器。
2: 这些位是保留位且始终保持为 0 。
3: 仅限 PIC12F675 。
POR、 BOD
时的值
0000 0000 18,59
0000 0000 17
xxxx xxxx 18
---0 0000 17
1000 00-- 16
0-0- 0000 38
0000 0000 45
-000 0000 45
---- ---- 46
xxxx xxxx 40
页
DS41190C_CN 第 10 页 2004 Microchip Technology Inc.
PIC12F629/675
2.2.2.1 状态寄存器
如寄存器 2-1 所示,状态寄存器包含:
• ALU 的算术运算状态位
• 复位状态位
• 数据存储器 (SRAM)的存储区选择位
状态寄存器和其它寄存器一样,可以作为任何指令的目
标寄存器。如果状态寄存器作为一条指令的目标寄存
器,而影响了 Z 、 DC 或 C 位,将禁止对这三个位的写
操作。 根据器件逻辑对这些位置 1 或清零。 此外, TO
和 PD 位不可写。 因此,执行将状态寄存器作为目标寄
存器的指令得出的结果会与预期的有所不同。
例如,执行 CLRF STATUS 会清零高三位并将 Z 位置 1 。
这将使状态寄存器的值变为 000u u1uu (其中 u= 不
变)。
因此,若要改变状态寄存器的内容,建议仅使用 BCF 、
BSF 、SWAPF 或 MOVWF 指令,因为这些指令不影响任何
状态位。如需了解其它不影响状态位的指令,请参见
“指令集概述”。
注 1 :PIC12F629/675 不使用 IRP 和 RP1 位
(STATUS<7:6>),应保持其为清零状
态。 建议不要使用这些位,因为这可能会
影响与未来产品的向上兼容性。
2 :在减法操作中, C 和 DC 位分别作为借位
和半借位位。示例见 SUBLW 和 SUBWF 指
令。
寄存器 2-1: STATUS —状态寄存器 (地址:03h 或 83h)
保留 保留
IRP RP1 RP0 TO PD ZD CC
bit 7 bit 0
bit 7 IRP:这些位是保留位且应始终保持为 0
bit 6 RP1:这些位是保留位且应始终保持为 0
bit 5 RP0:寄存器存储区选择位 (用于直接寻址)
0 = 存储区 0 (00h - 7Fh )
1 = 存储区 1 (80h - FFh )
bit 4 TO
bit 3 PD:掉电标志位
bit 2 Z:全零位
bit 1 DC:半进位 / 借位标志位 (ADDWF 、 ADDLW 、 SUBLW 、 SUBWF 指令)
bit 0 C: 进位 / 借位标志位 (ADDWF 、 ADDLW 、 SUBLW 、 SUBWF 指令)
:超时位
1 = 上电、执行 CLRWDT 或 SLEEP 指令后置位
0 = 发生了 WDT 超时
1 = 上电或执行 CLRWDT 指令之后置位
0 = 执行了 SLEEP 指令
1 = 算术或逻辑操作的结果为零
0 = 算数或逻辑操作的结果不为零
作为借位
1 = 结果的低 4 位向高位发生了进位
0 = 结果的低 4 位向高位没有进位
1 = 结果的最高位发生了进位
0 = 结果的最高位没有发生进位
位时极性相反。
注: 作为借位
于移位指令 (RRF 、 RLF ),此位的装载值为源寄存器的最高位或最低位。
R/W-0 R-1 R-1 R/W-x R/W-x R/W-x
位时极性相反。减法指令通过加上第二个操作数的 2 的补码来实现的。对
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
2004 Microchip Technology Inc. DS41190C_CN 第 11 页
PIC12F629/675
2.2.2.2 OPTION 寄存器
OPTION 寄存器是可读写寄存器,包含各种控制位以配
置:
• TMR0/WDT 预分频器
• 外部 GP2/INT 中断
• TMR0
• GPIO 上的弱上拉
寄存器 2-2: OPTION_REG—选项寄存器 (地址:81h)
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 INTEDG T0CS T0SE PSA PS2 PS1 PS0
bit 7 bit 0
bit 7 GPPU: GPIO 上拉使能位
1 = 禁止 GPIO 上拉
0 = 通过各个端口的锁存值使能 GPIO 上拉
bit 6 INTEDG:中断边沿选择位
1 = GP2/INT 引脚上电平的上升沿触发中断
0 = GP2/INT 引脚上电平的下降沿触发中断
bit 5 T0CS: TMR0 时钟源选择位
1 = 选择 GP2/T0CKI 引脚上的传输信号作为时钟源
0 = 选择内部指令周期时钟 (CLKOUT)
bit 4 T0SE: TMR0 时钟源边沿选择位
1 = 在 GP2/T0CKI 引脚上电平的下降沿递增
0 = 在 GP2/T0CKI 引脚上电平的上升沿递增
bit 3 PSA: 预分频器分配位
1 = 将预分频器分配给 WDT
0 = 将预分频器分配给 TIMER0 模块
bit 2-0 PS2:PS0:预分频器的分频比选择位
位值 WDT 分频比
000
001
010
011
100
101
110
111
TMR0 分频比
1 : 2
1 : 4
1 : 8
1 : 16
1 : 32
1 : 64
1 : 128
1 : 256
注: 若需 TMR0 获得 1:1 的预分频值,应将 PSA
位(OPTION<3>)置 1 ,以将预分频器分
配给 WDT 。 参见第 4.4 节。
1 : 1
1 : 2
1 : 4
1 : 8
1 : 16
1 : 32
1 : 64
1 : 128
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
DS41190C_CN 第 12 页 2004 Microchip Technology Inc.
PIC12F629/675
2.2.2.3 INTCON 寄存器
INTCON 寄存器是可读写寄存器,包含对 TMR0 寄存器
溢出、GPIO 端口变化和外部 GP2/INT 引脚中断的各种
使能位和标志位。
注: 当有中断条件产生时,无论相应中断使能
位或全局使能位 GIE (INTCON<7> )的状
态如何,中断标志位都将置位。用户软件应
确保在允许中断之前将相应的中断标志位
清零。
寄存器 2-3: INTCON—中断控制寄存器 (地址: 0Bh 或 8Bh)
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
bit 7 GIE: 全局中断使能位
1 = 使能所有未屏蔽的中断
0 = 禁止所有中断
bit 6 PEIE:外设中断使能位
1 = 使能所有未屏蔽的外设中断
0 = 禁止所有外设中断
bit 5 T0IE: TMR0 溢出中断使能位
1 = 使能 TMR0 溢出中断
0 = 禁止 TMR0 溢出中断
bit 4 INTE: GP2/INT 外部中断使能位
1 = 使能 GP2/INT 外部中断
0 = 禁止 GP2/INT 外部中断
bit 3 GPIE:端口电平变化时中断使能位
1 = 使能 GPIO 端口电平变化时中断
0 = 禁止 GPIO 端口电平变化时中断
bit 2 T0IF: TMR0 溢出中断标志位
1 = TMR0 寄存器已经溢出 (必须用软件清零)
0 = TMR0 寄存器没有溢出
bit 1 INTF: GP2/INT 外部中断标志位
1 = 发生 GP2/INT 外部中断 (必须用软件清零)
0 = 未发生 GP2/INT 外部中断
bit 0 GPIF:端口电平变化时中断标志位
1 = GP5:GP0 引脚中至少有一个引脚电平发生了变化 (必须用软件清零)
0 = GP5:GP0 引脚电平均未发生变化
(1 )
(2 )
注 1 :必须使能 IOC 寄存器以允许电平变化中断。
2 :当 TIMER0计满回零时, T0 IF 位被置位。 复位时 TIMER0的状态不变,应在清零
T0IF位前初始化。
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
2004 Microchip Technology Inc. DS41190C_CN 第 13 页
PIC12F629/675
2.2.2.4 PIE1 寄存器
如寄存器 2-4 所示, PIE1 寄存器包含中断使能位。
寄存器 2-4: PIE1 -外设中断使能寄存器 1 (地址: 8Ch)
R/W-0 R/W-0 U-0 U-0 R/W-0 U-0 U-0 R/W-0
EEIE ADIE
bit 7 bit 0
bit 7 EEIE: EE 写操作完成中断使能位
1 = 允许 EE 写操作完成中断
0 = 禁止 EE 写操作完成中断
bit 6 ADIE: A/D 转换器中断使能位 (仅限 PIC12F675)
1 = 允许 A/D 转换器中断
0 = 禁止 A/D 转换器中断
bit 5-4 未用:读作 0
bit 3 CMIE:比较器中断使能位
1 = 使能比较器中断
0 = 禁止比较器中断
bit 2-1 未用:读作 0
bit 0 TMR1IE: TMR1 溢出中断使能位
1 = 使能 TMR1 溢出中断
0 = 禁止 TMR1 溢出中断
- -
注: 要使能任何一个外设中断,必须将 PEIE
(INTCON<6> )位置 1 。
CMIE
- -
TMR1IE
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
DS41190C_CN 第 14 页 2004 Microchip Technology Inc.
2.2.2.5 PIR1 寄存器
如寄存器 2-5 所示, PIR1 寄存器包含中断标志位。
注: 当有中断条件产生时,无论相应中断使能
位或全局使能位 GIE (INTCON<7> )的状
态如何,中断标志位都将置位。 用户软件
应确保在允许中断之前将相应的中断标志
位清零。
寄存器 2-5: PIR1—外设中断寄存器 1 (地址: 0Ch)
R/W-0 R/W-0 U-0 U-0 R/W-0 U-0 U-0 R/W-0
EEIF ADIF
bit 7 bit 0
bit 7 EEIF: EEPROM 写操作中断标志位
1 = 写操作完成 (必须用软件清零)
0 = 写操作未完成或还没开始
bit 6 ADIF: A/D 转换器中断标志位 (仅限 PIC12F675)
1 = A/D 转换完成 (必须用软件清零)
0 = A/D 转换未完成
bit 5-4 未用: 读作 0
bit 3 CMIF: 比较器中断标志位
1 = 比较器输入已改变 (必须用软件清零)
0 = 比较器输入未改变
bit 2-1 未用: 读作 0
bit 0 TMR1IF: TMR1 溢出中断标志位
1 = TMR1 寄存器已溢出 (必须用软件清零)
0 = TMR1 寄存器没有溢出
- -
CMIF
PIC12F629/675
- -
TMR1IF
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
2004 Microchip Technology Inc. DS41190C_CN 第 15 页
PIC12F629/675
2.2.2.6 PCON 寄存器
电源控制(PCON )寄存器包含区分以下复位的标志位:
• 上电复位 (POR)
• 欠压检测 (BOD)
• 看门狗定时器复位 (WDT)
• 外部 MCLR
PCON 寄存器位如寄存器 2-6 所示。
寄存器 2-6: PCON—电源控制寄存器 (地址: 8Eh)
复位
U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-x
-
bit 7 bit 0
ó
- - - -
POR
BOD
bit 7-2
bit 1
bit 0
未用: 读作 0
POR
: 上电复位状态位
1 = 未发生上电复位
0 = 发生上电复位 (必须在上电复位发生后用软件置位)
BOD: 欠压检测状态位
1 = 没发生欠压检测
0 = 发生欠压检测 (必须在欠压检测发生后用软件置位)
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
2.2.2.7 OSCCAL 寄存器
振荡器校准寄存器 (OSCCAL )用于校准内部 4 MHz
振荡器。它包含 6 个位,可用于将频率向上或向下调整
至 4 MHz 。
OSCCAL 寄存器位如寄存器 2-7 所示。
寄存器 2-7: OSCCA—振荡器校准寄存器 (地址: 90h)
R/W-1 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0
CAL5 CAL4 CAL3 CAL2 CAL1 CAL0
bit 7 bit 0
- -
bit 7-2 CAL5:CAL0:6 位有符号振荡器校准位
111111 = 最大频率
100000 = 中间频率
000000 = 最小频率
bit 1-0 未用: 读作 0
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
DS41190C_CN 第 16 页 2004 Microchip Technology Inc.
PIC12F629/675
2.3 PCL 和 PCLATH
程序计数器 (PC )宽度为 13 位。其低位字节来自可读
写的 PCL 寄存器。其 高位(PC<12:8> )字节来自
PCLATH,不可直接读写。任何复位都将清零 PC。图 2-
3 显示了装载 PC 的两种情况。图 2-3 中上方的示例显
示了在写 PCL (PCLATH<4:0> → PCH)时装载 PC 的
过程。图 2-3 中下方的示例显示了执行 CALL 或 GOTO 指
令(PCLATH<4:3> → PCH)时装载 PC 的过程。
图 2-3 : 在不同情况下装载 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
8
以
PCL
作为目标寄存器
指令
ALU 结果
GOTO, CALL
操作码 <10:0>
2.3.2 堆栈
PIC12F629/675 系列有一个 8 级深、 13 位宽的硬件堆
栈 (参见图 2-1 )。该堆栈既不占用程序存储空间也不
占用数据存储空间,且栈指针不能读写。当执行 CALL
指令或中断引起程序跳转时,PC 值会被压入堆栈。执行
RETURN 、RETLW 或 RETFIE 指令时,PC 值会从堆栈弹
出。进 栈 (PUSH )或 出 栈 (POP )操作不会影响
PCLATH 。
此堆栈的工作原理犹如循环缓冲器。即当压栈 8 次之
后,第 9 次压栈时进栈的数据将覆盖第 1 次压栈存储的
数据,而第 10 次压栈时进栈的数据将覆盖第 2 次压栈
存储的数据 (依此类推)。
注 1 :不存在显示堆栈上溢或堆栈下溢情形的状
态位。
2 :不存在称为 PUSH 或 POP 的指令或助记
符。PUSH或POP是执行CALL 、RETURN、
RETLW 和 RETFIE 指令或指向中断向量地
址时发生的操作。
2.3.1 计算 GOTO 指令
计算 GOTO 指令是通过向程序计数器加一个偏移量
(ADDWF PCL )来实现的。 当通过执行计算 GOTO 指令
进行读表操作时,要注意表地址是否超过了 PCL 存储器
的寻址范围 (每块 256 个字节)。参见应用笔记
“
Implementing a Table Read”(AN556 )。
2004 Microchip Technology Inc. DS41190C_CN 第 17 页
PIC12F629/675
2.4 间接寻址、 INDF 和 FSR 寄存器
INDF 寄存器不是实际存在的寄存器。寻址 INDF 寄存器
会导致间接寻址。
使用 INDF 寄存器可以实现间接寻址。任何使用 INDF
寄存器的指令实际上访问的是文件选择寄存器 (File
Select register ,FSR )指向的数据。间接读 INDF 本身
会产生 00h 。 而使用间接寻址对 INDF 寄存器进行写操
作将导致执行一个空操作 (虽然可能会影响状态位)。
通过将 8 位 FSR 寄存器和 IRP 位(STATUS<7>)进 行
组合可获得有效的 9 位地址,如图 2-4 所示。
图 2-4 :直 接/ 间接寻址 PIC12F629/675
(1)
RP1
RP0 6
存储区选择 单元选择
来自操作码
00h
0
00 01 10 11
例 2-1 所示为使用间接寻址清零 RAM 单元 20h-2Fh 的
简单程序。
例 2-1 : 间接寻址
movlw 0x20 ;initialize pointer
movwf FSR ;to RAM
NEXT clrf INDF ;clear INDF register
incf FSR ;inc pointer
btfss FSR,4 ;all done?
goto NEXT ;no clear next
CONTINUE ;yes continue
间接寻址 直接寻址
(1)
IRP
存储区选择
180h
7
FSR 寄存器
单元选择
0
数据
存储器
7Fh
存储区 0 存储区 1 存储区 2 存储区 3
有关存储器映射的详细介绍,参见图 2-2 。
注 1 :RP1 和 IRP 位是保留位,始终保持清零。
未使用
1FFh
DS41190C_CN 第 18 页 2004 Microchip Technology Inc.
PIC12F629/675
3.0 GPIO 端口
可用的通用 I/O 引脚多达 6 个。根据使能外设的不同,
部分或所有引脚不一定能用作通用I/O 引脚。一般来说,
当使能某一外设时,与它相关的引脚可能不能用作通用
I/O 引脚。
注: 有关 I/O 端口的其他信息可参见
《PICmicro
(DS33023A _CN) 。
3.1 GPIO 和 TRISIO 寄存器
GPIO 是一个 6 位宽的双向端口。其相应数据方向寄存
器为 TRISIO 。将 TRISIO 中的相应位置 1 可将相应的
GPIO 引脚设置为输入引脚 (即可将相应的输出驱动器
设为高阻模式)。将 TRISIO 中相应位清零可将相应的
GPIO 引脚设置为输出引脚 (即将输出锁存器中的数据
置于所选定的引脚上)。GP3 是个例外,它只能作为输
入引脚,其 TRISIO 位始终读作 1 。例 3-1 显示了如何
初始化 GPIO 。
读 GPIO 寄存器将读取引脚的状态,而写该寄存器将会
写入端口锁存器。所有写操作都是读-修改-写操作。
因此,写一个端口就意味着读该端口引脚,修改读取
值,然后再写入端口数据锁存器。当 MCLREN 为 1 时,
GP3 读作 0。
TRISIO 寄存器控制 GP 引脚的方向,即便在它们作为
模拟输入引脚时也是如此。当将这些引脚作为模拟输入
引脚时,用户必须确保 TRISIO 寄存器中的位保持置位
®
中档单片机系列参考手册 》
状态。 配置为模拟输入引脚的 I/O 引脚始终读作 0。
注: 要将模拟通道配置为数字输入通道,必须
初始化 ANSEL (9Fh )和 CMCON(19h)
寄存器。配置为模拟输入的引脚读作 0。
ANSEL 寄存器是为 PIC12F675 定义的。
例 3-1 :初 始 化GPIO
bcf STATUS,RP0 ;Bank 0
clrf GPIO ;Init GPIO
movlw 07h ;Set GP<2:0> to
movwf CMCON ;digital IO
bsf STATUS,RP0 ;Bank 1
clrf ANSEL ;Digital I/O
movlw 0Ch ;Set GP<3:2> as inputs
movwf TRISIO ;and set GP<5:4,1:0>
;as outputs
3.2 引脚的其它功能
PIC12F629/675 上的所有 GPIO 引脚都具有引脚上电平
变化触发中断的功能,且所有的 GPIO 引脚 (除 GP3
以外)都具备弱上拉功能。在接下来的两个小节中将对
这些功能作出描述。
3.2.1 弱上拉
GPIO 的每个引脚(除 GP3 以外)都带有独立且可配置
的内部弱上拉功能。控制位 WPUx 用以使能或禁止各个
上拉电路。参见寄存器 3-3 。 当将端口引脚配置为输出
引脚时,将自动关闭弱上拉。在上电复位时,弱上拉由
位(OPTION<7>)禁止。
GPPU
寄存器 3-1: GPIO-GPIO 寄存器 ( 地址:05h)
U-0 U-0 R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
— —
bit 7 bit 0
bit 7-6: 未用位:读作 0
bit 5-0: GPIO<5:0>:通用 I/O 引脚。
1 = 端口引脚电平 >V
0 = 端口引脚电平 <VIL
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 GPIO0
IH
2004 Microchip Technology Inc. DS41190C_CN 第 19 页
PIC12F629/675
寄存器 3-2: TRISO - GPIO 三态寄存器 (地址: 85h)
U-0 U-0 R/W-x R/W-x R-1 R/W-x R/W-x R/W-x
— —
bit 7 bit 0
bit 7-6: 未用位:读作 0
bit 5-0: TRISIO<5:0>:通用 I/O 三态控制位
1 = GPIO 引脚被配置为输入引脚 (三态)
0 = GPIO 引脚被配置为输出引脚。
注: TRISIO<3> 始终读做 1 。
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
寄存器 3-3 : WPU -弱上拉寄存器 (地址 : 95h )
U-0 U-0 R/W-1 R/W-1 U-0 R/W-1 R/W-1 R/W-1
— — WPU5 WPU4 — WPU2 WPU1 WPU0
bit 7 bit 0
TRISIO5 TRISIO4 TRISIO3 TRISIO2 TRISIO1 TRISIO0
bit 7-6 未用位:读作 0
bit 5-4 WPU<5:4>:弱上拉寄存器位
1= 使能上拉
0 = 禁止上拉
bit 3 未用位:读作 0
bit 2-0
WPU<2:0>:弱上拉寄存器位
1 = 使能上拉
0 = 禁止上拉
注 1:为了使能单个上拉必须先使能全局 GPPU
2:如果引脚处于输出模式 (TRISIO = 0 ),则会自动禁止弱上拉器件。
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
。
DS41190C_CN 第 20 页 2004 Microchip Technology Inc.
PIC12F629/675
3.2.2 引脚电平变化中断
每个 GPIO 引脚都可单独配置为电平变化中断引脚。控
制位 IOC 用来使能或禁止各个引脚的中断功能。参见寄
存器 3-4 。上电复位时引脚的电平变化中断被禁止。
对于已使能电平变化中断的引脚,引脚上的值与上次读
GPIO 的锁存值相比较。与上次读取值不匹配的输出将
执行 “或”运算,并根据运算结果设置 INTCON 寄存
器中的 GP 端口电平变化中断位 (GPIF )。
该中断可将器件从休眠模式唤醒。用户可用以下方式在
中断服务程序中清除该中断:
a) 任何对 GPIO 的读写操作。这将结束不匹配状况。
b) 将标志位 GPIF 清零。
不匹配状况将继续将标志位 GPIF 置 1 。读 GPIO 将会
终止不匹配状况并将标志位 GPIF 清零。
注: 如果在执行一个读操作 (Q2 周期开始)时
发生了 I/O 引脚电平变化,那么 GPIF 中断
标志位可能不会被置 1 。
寄存器 3-4: IOC -电平变化中断 GPIO 寄存器 ( 地址 : 96h)
U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
— — IOC5 IOC4 IOC3 IOC2 IOC1 IOC0
bit 7 bit 0
bit 7-6 未用位:读作 0
bit 5-0 IOC<5:0>:GPIO 引脚电平变化触发中断控制位
1 = 使能引脚电平变化触发中断
0 = 禁止引脚电平变化触发中断
注 1 :为了识别单个中断,必须置位全局中断使能位 (GIE )。
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
2004 Microchip Technology Inc. DS41190C_CN 第 21 页
PIC12F629/675
3.3 引脚描述及框图
每个 GPIO 引脚都与其它功能复用。我们在此简要介绍
这些引脚及其复用功能。有关比较器或 A/D 等独立功能
的具体信息,请参见数据手册中的相关章节。
3.3.1 GP0/AN0/CIN+
图 3-1是该引脚的示意图。 GP0可配置为下列功能之一:
• 通用 I/O 引脚
• A/D 转换器的模拟输入引脚 (仅限 PIC12F675)
• 比较器的模拟输入引脚
3.3.2 GP1/AN1/CIN-/VREF
图 3-1是该引脚的示意图。 GP1可配置为下列功能之一:
• 通用 I/O 引脚
• A/D 转换器的模拟输入引脚 (仅限 PIC12F675)
• 比较器的模拟输入引脚
• A/D 转换器的参考电压输入引脚 (仅限
PIC12F675)
图 3-1 : GPO 和 GP1 引脚示意图
模拟
数据总线
写
WPU
读
WPU
写
端口
写
TRISIO
读
TRISIO
读
端口
写
IOC
读
IOC
D
Q
CK
Q
D
Q
CK
Q
D
Q
CK
Q
D
Q
CK
Q
输入模式
GPPU
模拟
输入模式
Q
Q
VDD
弱上拉
VDD
I/O 引脚
VSS
D
EN
D
电平变化中断
到比较器
到 A/D 转换器
EN
读端口
DS41190C_CN 第 22 页 2004 Microchip Technology Inc.
PIC12F629/675
3.3.3 GP2/AN2/T0CKI/INT/COUT
图 3-2是该引脚的示意图。 GP2可配置为下列功能之一:
• 通用 I/O 引脚
• A/D 转换器的模拟输入引脚 (仅限 PIC12F675)
• TMR0 的时钟输入引脚
• 外部边沿触发中断
• 来自比较器的数字输出
图 3-2 : GP2 示意图
模拟
数据总线
写
WPU
读
WPU
写
端口
写
TRISIO
读
TRISIO
D
Q
CK
Q
Q
D
CK
Q
D
Q
CK
Q
输入模式
COUT
使能
COUT
GPPU
1
0
模拟
输入模式
模拟
输入
模式
VDD
弱上拉
VDD
I/O 引
VSS
3.3.4 GP3/MCLR
/VPP
图 3-3是该引脚的示意图。 GP3可配置为下列功能之一:
• 通用输入引脚
• 主清零复位引脚
图 3-3 : GP3 示意图
数据总线
读
TRISIO
读
端口
写
IOC
读
IOC
电平变化中断
复位
VSS
Q
D
CK
Q
MCLRE
MCLRE
Q
EN
Q
EN
读端口
I/O 引
VSS
D
D
读
端口
写
IOC
读
IOC
电平变化中断
Q
D
CK
Q
到 TMRO
到 INT
到 A/D 转换器
Q
Q
读端口
D
EN
D
EN
2004 Microchip Technology Inc. DS41190C_CN 第 23 页
PIC12F629/675
3.3.5 GP4/AN3/T1G/OSC2/CLKOUT
图 3-4是该引脚的示意图。 GP4可配置为下列功能之一:
• 通用 I/O 引脚
• A/D 转换器的模拟输入引脚 (仅限 PIC12F675)
• TMR1 选通输入引脚
• 连接晶振 / 谐振器
• 时钟输出引脚
图 3-4 : GP4 示意图
模拟
数据总线
写
WPU
读
WPU
写
端口
写
TRISIO
读
TRISIO
读
端口
写
IOC
读
IOC
电平变化中断
输入模式
Q
D
CK
Q
OSC1
OSC/4
Q
D
CK
Q
Q
D
CK
Q
Q
D
CK
Q
F
GPPU
CLKOUT
使能
CLKOUT
使能
INTOSC/
RC/EC
CLKOUT
使能
模拟
输入模式
CLK
模式
1
0
(2)
Q
Q
振荡
电路
(1)
EN
EN
VDD
弱上拉
VDD
I/O 引
VSS
D
D
3.3.6 GP5/T1CKI/OSC1/CLKIN
图 3-5是该引脚的示意图。 GP5可配置为下列功能之一:
• 通用 I/O 引脚
• TMR1 的时钟输入引脚
• 连接晶振 / 谐振器
• 时钟输入引脚
图 3-5 : GP5 示意图
INTOSC/
数据总线
写
WPU
读
WPU
写
端口
写
TRISIO
读
TRISIO
读
端口
写
IOC
读
IOC
电平变化中断
模式
TMR1LPEN
Q
D
CK
Q
GPPU
Q
D
CK
Q
D
Q
CK
Q
Q
D
CK
Q
OSC2
INTOSC/
模式
振荡
电路
Q
Q
读端口
(1)
VDD
弱上拉
VDD
I/O 引
VSS
(2)
D
EN
D
EN
到 TMR1 T1G
读端口
到 A/D 转换器
注 1: CLK 模式是 XT 、HS 、LP 、LPTMR1 和 CLKOUT 使能。
2: 带有 CLKOUT 选项。
到 TMR1 或 CLKGEN
注 1: 使能 Timer1 LP 振荡器
2: 当使用 LP 振荡器的 Timer1 时,施密特触发器被
旁路。
DS41190C_CN 第 24 页 2004 Microchip Technology Inc.
表 3-1 :与GPIO 相关的寄存器汇总
PIC12F629/675
地址 名称
05h GPIO — — GP5 GP4 GP3 GP2 GP1 GP0 --xx xxxx --uu uuuu
0Bh/8Bh INTCON GIE
19h CMCON
81h OPTION_REG GPPU
85h TRISIO
95h WPU
96h IOC
9Fh ANSEL
图注: x= 未知、 u= 未改变、 -= 未用的单元,读作 0。 阴影单元表示未被 GPIO 使用。
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
PEIE T0IE INTE GPIE T0IF INTF GPIF 0000 0000 0000 000u
— COUT — CINV CIS CM2 CM1 CM0 -0-0 0000 -0-0 0000
INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111
— — TRISIO5 TRISIO4 TRISIO3 TRISIO2 TRISIO1 TRISIO0 --11 1111 --11 1111
— — WPU5 WPU4 — WPU2 WPU1 WPU0 --11 -111 --11 -111
— — I O C 5I O C 4I O C 3I O C 2I O C 1I O C 0--00 0000 --00 0000
— ADCS2 ADCS1 ADCS0 ANS3 ANS2 ANS1 ANS0 -000 1111 -000 1111
POR、
BOD 时的值
所有其它复
位时的值
2004 Microchip Technology Inc. DS41190C_CN 第 25 页
PIC12F629/675
注:
DS41190C_CN 第 26 页 2004 Microchip Technology Inc.
PIC12F629/675
4.0 TIMER0 模块
Timer0 模块定时器 / 计数器有如下特点:
• 8 位定时器 / 计数器
• 可读写
• 8 位软件可编程预分频器
• 内部或外部时钟选择
• FFh 到 00h 的溢出中断
• 外部时钟的边沿选择
图 4-1 是 Timer0 模块和预分频器 (与 WDT 共用)的
框图。
注: 有关 Timer0 模块的更多信息可参考
《PICmicro
(DS33023A _CN )。
4.1 Timer0 工作原理
通过清零 T0CS 位(OPTION_REG<5>)选择定时器
模式。在定时器模式下,Timer0 模块在每个指令周期递
增 (不带预分频器)。如果对 TMR0 执行写操作,在接
下来的两个指令周期 Timer0 禁止递增。用户可将一个
调整值写入 TMR0 寄存器来避开这一问题。
图 4-1 : TIMER0/WDT 预分频器的框图
CLKOUT
(= FOSC/4)
T0CKI
引脚
T0SE
®
中档单片机系列参考手册》
0
1
T0CS
0
1
8- 位
预分频器
通过置位 T0CS 位(OPTION_REG<5>)选择计数器
模式。在计数器模式下, Timer0 模块可在 GP2/T0CKI
引脚的每个上升沿或下降沿加计数。具体是上升沿还是
下降沿取决于时钟源边沿选择(TOSE)控 制 位
(OPTION_REG<4> )。清零 TOSE 位选择上升沿。
注: 计数器模式对外部时钟信号有一定的要
求。 有关这些要求的更多信息可参考
《PICmicro
®
中档单片机系列参考手册》
(DS33023A _CN )。
4.2 Timer0 中断
当 TMR0 寄存器定时器 / 计数器产生从 FFh 至 00h 的溢
出时,产生 Timer0 中断。此溢出将 T0IF 位置位。可以
通过清零 T0IE 位(INTCON<5> )来屏蔽该中断。在重
新允许中断之前,必须在软件中用 Timer0 模块的中断
服务程序将 T0IF 位(INTCON<2>)清零。休眠状态
下,由于定时器被关闭,所以 Timer0 中断无法唤醒单
片机。
数据总线
1
SYNC 2
周期
0
PSA
8
TMR0
溢出时
置位标志位 T0IF
PSA
看门狗
定时器
WDTE
注 1 : T0SE、 T0CS、 PSA、 PS0-PS2 是 Option 寄存器中的位。
2004 Microchip Technology Inc. DS41190C_CN 第 27 页
8
PS0 - PS2
1
0
PSA
WDT
超时
PIC12F629/675
4.3 Timer0 与外部时钟配合使用
当不使用预分频器时,外部时钟输入与预分频器输出相
同。在内部相位时钟的 Q2 和 Q4 周期对预分频器输出
进行采样可实现 T0CKI 与内部相位时钟的同步。 因此,
要求 T0CKI 引脚上的信号高、低电平分别至少保持
OSC(加上 20ns 的 RC 延时)。参阅所需器件的电气
2T
规范。
注: 要将模拟通道配置为数字输入通道,必须
对 ANSEL (9Fh )和 CMCON (19h )寄
存器进行初始化。配置为模拟输入的引脚
读作 0 。ANSEL 寄存器是为 PIC12F675 定
义的。
寄存器 4-1: OPTION_REG—OPTION 寄存器 (地址: 81h)
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
bit 7 GPPU
1 = GPIO 上拉被禁止
0 = GPIO 上拉通过端口锁存值使能
bit 6 INTEDG:中断边沿选择位
1 = 在 GP2/INT 引脚的上升沿发生中断
0 = 在 GP2/INT 引脚的下降沿发生中断
bit 5 T0CS: TMR0 时钟源选择位
1 = GP2/T0CKI 引脚上的传输
0 = 内部指令周期时钟 (CLKOUT )
bit 4 T0SE: TMR0 时钟源边沿选择位
1 = GP2/T0CKI 引脚的下降沿递增
0 = GP2/T0CKI 引脚的上升沿递增
bit 3 PSA: 预分频器分配位
1 = 将预分频器分配给 WDT
0 = 将预分频器分配给 TIMER0 模块
bit 2-0 PS2:PS0:预分频比率选择位
INTEDG T0CS T0SE PSA PS2 PS1 PS0
: GPIO 上拉使能位
位值 TMR0 比率 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
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
DS41190C_CN 第 28 页 2004 Microchip Technology Inc.
PIC12F629/675
4.4 预分频器
器件具备一个 8 位计数器,可作为 Timer0 模块的预分
频器,或看门狗定时器的后分频器。为简化起见,在本
数据手册中通称该计数器为 “预分频器”。通过软件设
置 PSA 控制位 (OPTION_REG<3> )来控制预分频器
的分配。清零 PSA 将预分频器分配给 Timer0 。预分频
值可通过 PS2:PS0 位(OPTION_REG<2:0>)选择。
该预分频器不可读写。当分配给 Timer0 模块时,所有
对 TMR0 寄存器执行写操作的指令 (例如 CLRF 1 、
MOVWF 1 、 BSF 1 、x 等)将清零预分频器。当分配给
WDT 时,执行 CLRWDT 指令将同时清零预分频器和看
门狗定时器。
4.4.1 预分频器分配的切换
预分频器分配是完全在软件控制下进行的(即它可以在
程序执行时进行实时修改)。为避免发生器件的意外复
位,在预分频器的分配从 Timer0 更改为 WDT 时,必须
执行以下指令序列 (例 4-1 )。
例 4-1 : 更改预分频器
(TIMER0→ WDT )
bcf STATUS,RP0 ;Bank 0
clrwdt ;Clear WDT
clrf TMR0 ;Clear TMR0 and
; prescaler
bsf STATUS,RP0 ;Bank 1
movlw bÕ0010 ;Required if desired
movwf OPTION_REG ; PS2:PS0 is
clrwdt ; 000 or 001
;
movlw bÕ0010 ;Set postscaler to
movwf OPTION_REG ; desired WDT rate
bcf STATUS,RP0 ;Bank 0
要将预分频器从 WDT 更改为 TMR0 模块,使用例 4-2
中的序列。 即使 WDT 禁止也必须执行该指令序列。
例 4-2 : 更改预分频器
(WDT→ TIMER0 )
clrwdt ;Clear WDT and
; postscaler
bsf STATUS,RP0 ;Bank 1
movlw b’xxxx0xxx’ ;Select TMR0,
; prescale, and
; clock source
movwf OPTION_REG ;
bcf STATUS,RP0 ;Bank 0
表 4-1 :与TIMER0 相关的寄存器
地址 名称
01h TMR0
0Bh/8Bh INTCON GIE PEIE T0IE
81h OPTION_REG GPPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111
85h TRISIO
图注: - = 未实现位,读做 0 、 u = 未改变、 x = 未知。
阴影单元表示未被 Timer0 模块使用。
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
Time r0 模块寄存器
INTE GPIE T0IF INTF GPIF 0000 0000 0000 000u
- -
TRISIO5 TRISIO4 TRISIO3 TRISIO2 TRISIO1 TRISIO0 --11 1111 --11 1111
POR、
BOD 时的值
xxxx xxxx uuuu uuuu
所有其它复
位时的值
2004 Microchip Technology Inc. DS41190C_CN 第 29 页
PIC12F629/675
5.0 带选通控制的 TIMER1 模块
PIC12F629/675 器件具备一个 16 位定时器。图 5-1 所
示为 Timer1 模块的基本框图。 Timer1 具有以下特点:
• 16 位定时器 / 计数器 (TMR1H:TMR1L)
• 可读写
• 内部或外部时钟选择
• 同步或异步操作
• 从 FFFFh 到 0000h 的溢出中断
• 溢出时唤醒 (异步模式)
• 可选择外部使能输入 (T1G
• 可选 LP 振荡器
图 5-1 : TIMER1 框图
)
溢出时置位
TMR1IF 标志位
TMR1H
TMR1
TMR1L
如寄存器 5-1 所示,Timer1 控制寄存器(T1CON )用
于使能 / 禁止 Timer1 并选择 Timer1 模块的不同功能。
注: 有关 Timer0 模块的更多信息可参考
《PICmicro ®中档单片机系列参考手册》
(DS33023A _CN )。
TMR1ON
TMR1GE
TMR1ON
TMR1GE
0
同步
时钟输入
T1G
1
OSC1
OSC2
不带 CLKOUT 的
INTOSC
T1OSCEN
LP
LP 振荡器
OSC/4
F
内部
时钟
1
0
TMR1CS
T1SYNC
预分频器
1, 2, 4, 8
2
T1CKPS<1:0>
同步
检测
休眠输入
DS41190C_CN 第 30 页 2004 Microchip Technology Inc.
PIC12F629/675
5.1 Timer1 工作模式
Timer1 可以有三种工作模式:
• 带有预分频器的 16 位定时器
• 16 位同步计数器
• 16 位异步计数器
在定时器工作模式下, Timer1 在每个指令周期进行递
增计数。在计数器工作模式下, Timer1 在外部时钟输
入 T1CKI 的每个上升沿进行递增计数。此外,计数器
模式时钟可以与单片机系统时钟同步或异步运行。
在计数器和定时器模块中,计数器 / 定时器时钟可通过
输入引脚进行选通控制。
T1G
如果需要外部时钟振荡器 (且单片机正在使用不带
CLKOUT 的 INTOSC ), Timer1 可以使用 LP 振荡器作
为时钟源。
注: 在计数器模式下,计数器第一次上升沿递
增计数之前必须先记录一个下降沿。
图 5-2 : TIMER1 加计数边沿
T1CKI = 1
当 TMR1
使能时
5.2 Timer1 中断
Timer1 寄存器 (TMR1H:TMR1L )递增到 FFFFh 时将
翻转返回到 0000h 。当 Timer1 计满回零时, Timer1 的
中断标志位 (PIR1<0> )将置 1 。要使能计满回零时产
生中断,用户应置位以下位:
• Timer1 中断使能位 (PIE1<0>)
• PEIE 位(INTCON<6>)
• GIE 位(INTCON<7>)。
在中断服务程序中将 TMR1IF 清零可以清除中断。
注: 再次允许中断前,应将 TMR1H:TTMR1L 寄
存器以及 TMR1IF 位进行清零。
5.3 Timer1 预分频器
Timer1 具有四个预分频器选项,允许对时钟输入进行
1、 2、 4、或 8 分频。 T1CKPS 位(T1CON<5:4>)对
预分频计数器进行控制。对预分频计数器不能直接进行
读写操作;但是,通过写入 TMR1H 或 TMR1L 可清零
预分频计数器。
T1CKI = 0
当 TMR1
使能时
注 1 : 箭头表示计数器递增。
2 : 在计数器模式下,计数器在第一次时钟信号上升沿进行递增计数前应记录一个下降沿。
2004 Microchip Technology Inc. DS41190C_CN 第 31 页
PIC12F629/675
寄存器 5-1: T1CON— TIMER1 控制寄存器 (地址: 10h)
U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
-
bit 7 bit 0
bit 7 未用位: 读作 0
bit 6 TMR1GE: Timer1 选通使能位
如果
此位被忽略
如果 TMR1ON = 1 :
1 = 如果 T1G 引脚为低电平,则启动 Timer1
0 = 启动 Timer1
bit 5-4 T1CKPS1:T1CKPS0: Timer1 输入时钟预分频选择位
11 = 预分频值为 1:8
10 = 预分频值为 1:4
01 = 预分频值为 1:2
00 = 预分频值为 1:1
bit 3 T1OSCEN: LP 振荡器使能控制位
如果不带 CLKOUT 振荡器的 INTOSC 处于激活状态:
1 = LP 振荡器使能作为 Timer1 的时钟源
0 = LP 振荡器关闭
否则:
此位被忽略
bit 2 T1SYNC: Timer1 外部时钟输入同步控制位
TMR1CS = 1:
1 = 不与外部时钟输入同步
0 = 与外部时钟输入同步
TMR1CS = 0
此位被忽略。 Timer1 使用内部时钟作为时钟源。
bit 1 TMR1CS: Timer1 时钟源选择位
1 = 使用来自 T1OSO/T1CKI 引脚 (在上升沿)上的外部时钟
0 = 内部时钟 (FOSC /4)
bit 0 TMR1ON: Timer1 启动控制位
1 = 使能 Timer1
0 = 停止 Timer1
TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC
TMR1ON = 0:
:
TMR1CS TMR1ON
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
DS41190C_CN 第 32 页 2004 Microchip Technology Inc.
PIC12F629/675
5.4 Timer1 工作在异步计数器模式
如果置位控制位 T1SYNC (T1CON<2> ),外部时钟输
入将不同步。定时器继续进行与内部相位时钟异步的加
计数。在休眠状态下,定时器将继续运行并在溢出时产
生中断,唤醒处理器。但是,在用软件对定时器进行读
/ 写操作时应该特别小心 (第 5.4.1 节)。
注: 要将模拟通道配置为数字输入通道,必须
将 ANSEL (9Fh )和 CMCON (19h )寄
存器初始化。配置为模拟输入的引脚读作
0。ANSEL寄存器是为 PIC12F675定义的。
5.4.1 在异步计数器模式下读写 TIMER1
当定时器采用外部异步时钟工作时,对 TMR1H 或
TMR1L 的读操作将确保有效 (由硬件完成)。但是用
户应注意,通过两个 8 位值来读取 16 位定时器本身就
会产生某些问题,因为定时器可能在读操作之间产生溢
出。
对于写操作,建议用户先停止定时器再写入期望值。如
果计数器正进行递增计数,此时向其写入可能会导致写
冲突的发生,从而在定时器寄存器中产生不可预测的
值。
®
用户在读 16 位值时应当谨慎对待。《PICmicro
片机系列参考手册》(DS33023A _CN )中的例 12-2 和
12-3 显示了如何对工作在异步模式下的 Timer1 进行读
写操作。
中档单
5.5 Timer1 振荡器
在 OSC1 (输入)和 OSC2 (放大器输出)引脚之间内
置有一个晶体振荡器电路。通过将控制位 T1OSCEN
(T1CON<3> )置 1 可使能该振荡电路。该振荡电路是
低功耗振荡电路,额定频率最高可达 37 kHz 。在休眠模
式中,它仍可继续工作。该振荡电路主要适用于 32 kHz
晶振。表 9-2 显示了 Timer1 振荡器的可选电容。
Timer1 的振荡器与系统 LP 振荡器共用。因此,只有当
系统时钟来自于内部振荡器时, Timer1 才能采用该模
式。与系统 LP 振荡器相同,用户必须提供软件延时以
确保振荡器的正常起振。
当 Timer1 振荡器被使能时,TRISIO4 和 TRISIO5 置 1 。
GP4 和 GP5 读作 0 ,而 TRISIO4 和 TRISIO5 读作 1 。
注: 使用前,振荡器需要一定的起振和稳定时
间。因此,在 使 能 Timer1 之前应确保
T1OSCEN 置 1 ,并允许适当的延时。
5.6 Timer1 工作在休眠模式
只有设定为异步计数器模式时,Timer1 才可在休眠模式
下工作。在该模式下,可使用外部晶振或时钟源使计数
器进行加计数。必须将定时器设定如下以唤醒器件:
• 使能 Timer1 (T1CON<0>)
• TMR1IE 位(PIE1<0>)置 1
• PEIE 位(INTCON<6>)置 1
器件将在溢出时被唤醒。 如果 GIE 位(INTCON<7>)
置 1 ,器件将在溢出时被唤醒并跳转至中断服务程序。
表 5-1 : TIMER1 作为定时器 / 计数器时的相关寄存器
地址 名称
0Bh/8Bh INTCON GIE PEIE
0Ch PIR1
0Eh TMR1L
0Fh TMR1H
10h T1CON
8Ch PIE1
图注: x = 未知、 u= 未改变、 -= 未实现位,读作 0。 阴影单元表示未被 Timer1 模块使用。
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
T0IE INTE GPIE T0IF INTF GPIF 0000 0000 0000 000u
EEIF ADIF
16 位 TMR1 寄存器低有效字节的保持寄存器
16 位 TMR1 寄存器高有效字节的保持寄存器
TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC
-
EEIE ADIE
- -
- -
CMIF
CMIE
- -
TMR1CS TMR1ON -000 0000 -uuu uuuu
- -
POR、
BOD 时的值
TMR1IF 00-- 0--0 00-- 0--0
xxxx xxxx uuuu uuuu
xxxx xxxx uuuu uuuu
TMR1IE 00-- 0--0 00-- 0--0
所有其它复
位时的值
2004 Microchip Technology Inc. DS41190C_CN 第 33 页
PIC12F629/675
注:
DS41190C_CN 第 34 页 2004 Microchip Technology Inc.
PIC12F629/675
6.0 比较器模块
PIC12F629/675 器件有一个模拟比较器。比较器的输
入端与 GPO 和 GP1 引脚复用。模块中带有片上比较
器参考电压,该电压也可作为比较器的输入电压。此
外,可以将 GP2 配置为比较器的输出引脚。如寄存
器 6-1 所示的比较器控制寄存器 (CMCON )包含比
较器的控制位。
寄存器 6-1: CMCON —比较器控制寄存器 (地址:19h)
U-0 R-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
—C O U T— CINV CIS CM2 CM1 CM0
bit 7 bit 0
bit 7 未用位:读作 0
bit 6 COUT:比较器输出位
CINV = 0 时:
当
1 = V
IN+ > V IN-
IN+ < V IN-
0 = V
当
CINV = 1 时:
1 = V
IN+ < V IN-
IN+ > V IN-
0 = V
bit 5 未用位:读作 0
bit 4 CINV:比较器输出翻转位
1 = 输出翻转
0 = 输出不翻转
bit 3 CIS:比较器输入开关位
当
CM2:CM0 = 110 或 101 时 :
1 = VIN - 连接到 CIN+
0 = VIN - 连接到 CIN-
bit 2-0 CM2:CM0:比较器模式位
图 6-2 给出比较器的几种模式以及相应的 CM2:CM0 位设置情况
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
2004 Microchip Technology Inc. DS41190C_CN 第 35 页
PIC12F629/675
6.1 比较器工作原理
图 6-1 所示为单比较器及模拟输入电平和数字输出之间
的关系。如果 VIN + 上的模拟输入小于 VIN - 上的模拟输
入,那么比较器将输出数字低电平。如果 VIN + 上的模
拟输入大于 V
高电平。图 6-1 中比较器输出的阴影部分表示由于输入
偏移和响应时间所造成的不确定区。
注: 要将 CIN+ 和CIN- 引脚用作模拟输入引脚,
通过置位 CINV 位(CMCON<4>)可以改变比较器输
出的极性。清零 CINV 将导致输出不翻转。表 6-1 所示
为不同输入条件和极性位的输出状态的完整信息。
IN - 上的模拟输入,那么比较器将输出数字
必须对 CMCON (19h )寄存器中的适当位
进行编程。
表 6-1 : 不同输入条件的输出状态
输入条件
IN- > V IN+ 00
V
V
IN- < V IN+ 01
V
IN- > V IN+ 11
VIN - < VIN + 10
CINV COUT
图 6-1: 单比较器
V
IN+
IN-
V
IN-
V
+
–
输出
VIN +
输出
注: CINV 位(CMCON<4>)已被清零。
DS41190C_CN 第 36 页 2004 Microchip Technology Inc.
PIC12F629/675
6.2 比较器配置
据方向。如果改变比较器模式,在指定的时间段内,比
较器的输出电平可能无效。参见第 12.0 节中的电气规
比较器有 8 种工作模式。寄存器 6-1 所示的 CMCON 寄
存器可用于选择工作模式。图 6-2 给出了这 8 种可能的
模式。 TRISIO 寄存器控制每种模式下比较器引脚的数
范。
注: 改变比较器模式期间应禁止比较器的中
断。否则可能会产生错误的中断。
图 6-2 :比 较 器I/O 工作模式
比较器复位 (POR 时的缺省值— 低功耗)
CM2:CM0 = 000 CM2:CM0 = 111
GP1/CIN-
GP0/CIN+
GP2/COUT D
A
A
关闭(读作 0 )
不带输出的比较器 使用内部参考电压的比较器,不带输出
CM2:CM0 = 010 CM2:CM0 = 100
GP1/CIN-
GP0/CIN+
GP2/COUT D
A
A
COUT
比较器关闭 (功耗最低)
GP1/CIN-
GP0/CIN+
GP2/COUT D
GP1/CIN-
GP0/CIN+
GP2/COUT D
D
D
A
D
来自 CVREF 模块
关闭(读作 0 )
COUT
使用内部参考电压且带有输出的比较器 输入端复用、使用内部参考电压并带有输出的比较器
CM2:CM0 =011 CM2:CM0 = 101
GP1/CIN-
GP0/CIN+
GP2/COUT D
A
D
来自 CVREF 模快
COUT
GP1/CIN-
GP0/CIN+
GP2/COUT D
A
CIS = 0
A
CIS = 1
来自 CVREF 模快
COUT
带有输出的比较器 输入端复用且使用内部参考电压
CM2:CM0 = 001 CM2:CM0 = 110
GP1/CIN-
GP0/CIN+
GP2/COUT D
A
A
COUT
GP1/CIN-
GP0/CIN+
GP2/COUT D
A
CIS = 0
A
CIS = 1
来自 CVREF 模块
COUT
A= 模拟输入,端口始终读作 0
D = 数字输入
CIS = 比较器输入切换开关 (CMCON<3>)
2004 Microchip Technology Inc. DS41190C_CN 第 37 页
PIC12F629/675
6.3 模拟输入连接注意事项
图 6-3 所示为一个简化的模拟输入电路。由于模拟引脚
和数字输出端相连,因而它们与 VDD 及 VSS 之间加有
反向偏置二极管。这样,模拟输入电压就必须限制在
SS 和 V DD 之间。如果输入电压超过 (或低于)这个
V
图 6-3 : 模拟输入模式
V
Rs < 10K
A
IN
VA
图注: CPIN = 输入电容
CPIN
5 pF
VT = 阈值电压
LEAKAGE = 由于不同的连接所引起的引脚上的泄漏电流
I
RIC = 连线电阻
RS = 源阻抗
VA = 模拟电压
DD
VT = 0.6V
T = 0.6V
V
电压范围 0.6V 以上,其中一个二极管就正向偏置,并
可能发生闭锁。建议模拟输入信号源的最大源阻抗为
10 k Ω。任何连接到模拟输入引脚的外部元件 (如电容
器、齐纳二极管等),应保证其泄漏电流极小。
R
IC
ILEAKAGE
± 500 nA
Vss
6.4 比较器输出
通过读 CMCON 寄存器的相应位 (COUT ),可以得到
比较器的输出。 该位是只读的。在 8 种可能模式中的 3
种模式下,比较器的输出可直接连接到 GP2 引脚,如
图 6-2 所示。当比较器处于上述3 种模式的任意一种时,
GP2 上的输出信号与内部时钟都是异步的。图 6-4 所示
为比较器输出框图。
图 6-4 : 改进的比较器输出框图
到 GP2/T0CKI 引脚
到数据总线
读 CMCON
CMIF 置 1
Q
Q
EN
EN
当比较器处于输出模式时, TRISIO<2> 位可作为 GP2
引脚的输出使能 / 禁止位。
注 1 :当读 GPIO 寄存器时,所有配置为模拟输
入的引脚都读作 0。 而配置为数字输入的
引脚将根据 TTL 输入规范对模拟输入信号
进行转换。
2: 在任何一个定义为数字输入的引脚上施加
模拟电平,可能导致输入缓冲器的电流消
耗超出规定值。
GP0/CIN+
GP1/CIN-
D
CINV
D
读 CMCON
复位
CM2:CM0
CVREF
DS41190C_CN 第 38 页 2004 Microchip Technology Inc.
PIC12F629/675
6.5 比较器参考电压
比较器模块还允许选择内部产生的参考电压作为比较器
的输入信号之一。内部参考电压信号可用于 8 种比较器
模式中的 4 种。VRCOM 寄存器(寄存器 6-2 )可控制
参考电压模块,如图 6-5 所示。
6.5.1 配置参考电压模块
参考电压模块可以输出 32 种不同的电平,其中 16 个高
电平和 16 个低电平。
图 6-5 : 比较器参考电压模块框图
8 RRR RR
VDD
16 选 1 模拟
多路选择器
VREN
CVREF 到
比较器的
输入
下面的等 式可用来计算输出电压:
VRR = 1 (低电平范围): CV
DD
x V
VRR = 0 (高电平范围) : CVREF = (VDD / 4) +
( VR3:VR0 x VDD / 32 )
REF = (VR3:VR0 / 24)
6.5.2 参考电压精度 / 误差
由于模块构造的原因 ,并不能实现从 VSS 到 VDD 的整
个电压范围。梯形电阻网络(图 6-5 )的顶端和底端晶
体管使 CVREF 的值无法达到 VSS 或 VDD 。由于参考电
压来源于 VDD ,因此 CVREF 的输出随着 VDD 的波动而
变化。经过测试的比较器参考电压绝对精度参见
第 12.0 节。
16 级
8R
VRR
VR3:VR0
6.6 比较器响应时间
响应时间是指选择了一个新的参考电压或是输入源后,
比较器输出确定达到有效电平的最短时间。如果内部参
考电压发生了改变,在使用比较器的输出时必须考虑到
内部参考电压的最大延时。否则,应使用比较器的最大
延时 (表 12-7 )。
6.7 休眠期间的操作
如果在进入休眠状态以前已使能了比较器和参考电压模
块,那么它们将在休眠期间继续保持活动状态。这将导
致休眠期间的电流高于电源关闭规范中的值。电气规范
中另行列出了由于比较器和参考电压模块所造成的额外
电流消耗。若要使休眠模式下最大限度地降低功耗,可
关闭比较器 (CM2:CM0 = 111 )和参考电压模块
(VRCON<7> = 0 )。
如果在休眠期间使能比较器,则中断将唤醒器件。当器
件从休眠状态下唤醒时,CMCON 和 VRCON 寄存器的
内容将不受影响。
6.8 复位的影响
器件复位将迫使 CMCON 和 VRCON 寄存器的值恢复到
其复位状态。这也将迫使比较器模块进入复位模式
(CM2:CM0 = 000 )并将关闭参考电压模块。这样,所
有可能的输入均为模拟输入,而比较器和参考电压模块
均被禁止,此时电流消耗最小。
2004 Microchip Technology Inc. DS41190C_CN 第 39 页
PIC12F629/675
寄存器 6-2: VRCON—参考电压控制寄存器 (地址: 99h)
R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
VREN
bit 7 bit 0
bit 7 VREN: CVREF 使能位
1 = CVREF 电路上电
REF 电路断电,无泄漏电流 I DD
0 = CV
bit 6 未用位:读作 0
bit 5 VRR: CV
1 = 低电平范围
0 = 高电平范围
bit 4 未用位:读作 0
bit 3-0 VR3:VR0:CV
当 VRR = 1 时:CVREF = (VR3:VR0 / 24 ) * VDD
当 VRR = 0 时:CVREF = VDD /4 + (VR3:VR0 / 32 ) * VDD
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
—V R R— VR3 VR2 VR1 VR0
REF 范围选择位
REF 值选择 0 ≤ VR [3:0] ≤ 15
6.9 比较器中断
只要比较器的输出值发生变化,比较器的中断标志位就
会置 1 。需要用软件来保持输出位的状态信息,即从
CMCON<6> 读取,以判断实际发生的变化。CMIF 位即
PIR1<3> 是比较器中断标志位。该位必须用软件清零来
将其复位。因为也可以把 “1 ”写入该寄存器,所以可
以启动模拟中断。
必须置位 CMIE 位(PIE1<3>)和 PEIE 位
(INTCON<6> )以允许中断。此外,也必须置位 GIE
位。只要清零这些位中的任何一位,尽管当发生中断条
用户可用以下方式在中断服务程序中清除该中断:
a) 对 CMCON 进行读或写。这将结束不匹配状况。
b) 将标志位 CMIF 清零。
不匹配的状况将持续将标志位 CMIF 置 1 。读 CMCON
将会终止不匹配状况并允许将标志位 CMIF 清零。
注: 如果在执行读操作时 (Q2 周期的开始)
CMCON 寄存器(COUT )的值发生改变,
则 CMIF (PIR1<3> )中断标志位可能不会
置位。
件时 CMIF 位仍会置位,却不会使能中断。
表 6-2 : 与比较器模块相关的寄存器
地址 名称
0Bh/8Bh INTCON GIE PEIE T0IE INTE GPIE T0IF INTF GPIF 0000 0000 0000 000u
0Ch PIR1 EEIF ADIF — —C M I F— — TMR1IF 00-- 0--0 00-- 0--0
19h CMCON
8Ch PIE1 EEIE ADIE — —C M I E— — TMR1IE 00-- 0--0 00-- 0--0
85h TRISIO — — TRISIO5 TRISIO4 TRISIO3 TRISIO2 TRISIO1 TRISIO0 --11 1111 --11 1111
99h VRCON VREN —V R R— VR3 VR2 VR1 VR0 0-0- 0000 0-0- 0000
图注: x = 未知, u = 未改变, - = 未用, 读作 0 。 阴影单元表示未被比较器模块使用。
b i t 7b i t 6b i t 5b i t 4b i t 3b i t 2b i t 1b i t 0
—C O U T— CINV CIS CM2 CM1 CM0
POR、
BOD 时的值
-0-0 0000 -0-0 0000
所有其它复
位时的值
DS41190C_CN 第 40 页 2004 Microchip Technology Inc.
PIC12F629/675
7.0 模数转换器 ( A/D)模块
(仅限 PIC12F675 )
模数转换器 (A/D )可以将模拟输入信号转换为表示该
信号的一个 10 位 2 进制数。PIC12F675 有四个模拟输
入通道,并复用到一个采样保持电路。采样保持电路的
图 7-1 : A/D 框图
VDD
VCFG = 0
VREF
GP0/AN0
GP1/AN1/VREF
GP2/AN2
GP4/AN3
CHS1:CHS0
VCFG = 1
GO/DONE
ADON
输出与模数转换器的输入相连。模数转换器通过逐次逼
近比较产生二进制数,并将结果存入 10 位寄存器。可
用软件选择转换所使用的参考电压为 V
引脚提供的电压。图 7-1 给出了 PIC12F675 上的 A/D
框图。
DD 或者是 V REF
ADC
10
ADFM
10
VSS
ADRESH ADRESL
7.1 A/D 的配置及操作
有两个用于控制 A/D 模块功能的寄存器:
1. ADCON0 (寄存器 7-1)
2. ANSEL (寄存器 7-2)
7.1.1 模拟端口引脚
ANS3:ANS0 位(ANSEL<3:0>)和 TRISIO 位控制 A/
D 端口引脚的操作。置位相应的 TRISIO 位,可将引脚
输出驱动器置为高阻态。同样,置位相应的 ANS 位可
禁止数字输入缓冲器。
注: 在定义为数字输入的引脚上施加模拟电压
可能使输入缓冲器消耗过多电流。
7.1.2 通道选择
PIC12F675 上有 4 个模拟通道 (AN0 到 AN3)。
CHS1:CHS0 位(ADCON0<3:2>)控制哪条通道与采
样保持电路相连。
7.1.3 参考电压
A/D 转换器的参考电压有两种选择: 使用 VDD ,或使用
施加在 V
(ADCON0<6> )控制参考电压的选择。如果置位VCFG
位,将选择 VREF 引脚上的电压作为参考电压,否则将
选择 V
REF 引脚上的模拟电压。VCFG 位
DD 作为参考电压。
7.1.4 转换时钟
A/D 转化周期需要 11 个 TAD。可通过软件设置 ADCS 位
(ANSEL<6:4> )来选择转换时钟源。有以下 7 种时钟
频率可供选择:
• F
OSC/2
OSC/4
• F
OSC/8
• F
• FOSC/16
OSC/32
• F
OSC/64
• F
• F
RC (专用内部 RC 振荡器)
为了保证转换结果正确,必须选择合适的 A/D 转换时钟
频率(1/T
表 7-1 所示为选定频率下的几种 T
AD)以确保最小转换时钟周期 TAD 为 1.6 µs 。
AD 计算结果。
2004 Microchip Technology Inc. DS41190C_CN 第 41 页
PIC12F629/675
表 7-1: 不同器件工作频率下的 TAD
A/D 时钟源 ( TAD ) 器件频率
工作频率
OSC 000 100 ns
2 T
OSC 100 200 ns
4 T
OSC 001 400 ns
8 T
16 TOSC 101 800 ns
32 TOSC 010 1.6 µ s6 . 4 µs 8.0 µs
64 TOSC 110 3.2 µs 12.8 µs
A/D RC x11 2 - 6 µs
图注: 阴影单元表示超出了建议范围。
注 1 :V
2:这些值均违反了所需的最小 T
3:为了加快转换速度,建议选用其它时钟源。
4:当器件的频率高于 1 MHz 时,仅当在休眠期间进行转换时才推荐使用 A/D RC 时钟源。
ADCS2:ADCS0 20 MHz 5 MHz 4 MHz 1.25 MHz
(2)
(2)
(2)
(2)
(1.4)
DD > 3.0V 时, A/D RC 源产生 4 µs 的典型 TAD 时间。
AD 时间。
2 - 6 µs
(2)
400 ns
(2)
800 ns
1.6 µ s2 . 0 µs6 . 4 µs
3.2 µ s4 . 0 µs 12.8 µs
(3)
(1.4)
500 ns
1.0 µs
16.0 µs
2 - 6 µs
(2)
(2)
(3)
(3)
(1.4)
1.6 µs
3.2 µs
25.6 µs
51.2 µs
2 - 6 µs
(3)
(3)
(3)
(1.4)
7.1.5 启动转换
通过置位 GO/DONE 位(ADCON0<1>)启动 A/D 转
换。转换完成时, A/D 模块将:
• 清零 GO/DONE
位
• 置位 ADIF 标志位 (PIR1<6>)
• 产生中断 (如果使能的话)
如果必须要中止转换,则可用软件清零 GO/DONE
位。
如果 A/D 转换采样只进行了一部分,则
ADRESH:ADRESL 寄存器的内容不会更新。而
ADRESH:ADRESL 寄存器将保持上次转换所得到的
图 7-2 : 10 位 A/D 结果的格式
ADRESH ADRESL
(ADFM = 0 )
(ADFM = 1 )
MSB LSB
bit 7 bit 0 bit 7 bit 0
10 位 A/D 转换的结果 未用位: 读作 0
bit 7 bit 0 bit 7 bit 0
未用位: 读作 01 0 位 A/D 转换的结果
值。如果转换发生异常中断,必须经过 2T
AD 的延时后
才可启动下一次采集。延时过后,将自动开始对选定通
道进行输入采集。
注: 不应在启动 A/D 转换的同一条指令中置位
GO/DONE 位。
7.1.6 转换输出
A/D 转换的结果可以如下两种格式提供:左对齐或右对
齐。ADFM 位(ADCON0<7>)控制输出格式。图 7-2
所示为输出的格式。
MSB LSB
DS41190C_CN 第 42 页 2004 Microchip Technology Inc.
寄存器 7-1 : ADCON0 —A/D 控制寄存器 (地址:1Fh )
R/W-0 R/W-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0
ADFM VCFG
bit 7 bit 0
bit 7 ADFM:A/D 结果格式选择位
1 = 右对齐
0 = 左对齐
bit 6 VCFG:参考电压位
1 = 选用 VREF 引脚上的电压
0 = 选用 V
bit 5-4 未用位: 读作 0
bit 3-2 CHS1:CHS0:模拟通道选择位
00 = 通道 00 (AN0 )
01 = 通道 01 (AN1 )
10 = 通道 02 (AN2 )
11 = 通道 03 (AN3 )
bit 1 GO/DONE
1 = A/D 转换正在进行。 将该位置 1 可启动 A/D 转换。
当 A/D 转换完成以后,该位由硬件自动清零。
0 = A/D 转换已完成 / 未进行。
bit 0 ADON:A/D 转换器状态位
1 = A/D 转换器模块正在运行
0 = A/D 转换器被关闭且不消耗工作电流
DD
: A/D 转换状态位
— — CHS1 CHS0 GO/DONE ADON
PIC12F629/675
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
2004 Microchip Technology Inc. DS41190C_CN 第 43 页
PIC12F629/675
寄存器 7-2: ANSEL— 模拟选择寄存器 (地址 : 9Fh)
U-0 R/W-0 R/W-0 R/W-0 R/W-1 R/W-1 R/W-1 R/W-1
— ADCS2 ADCS1 ADCS0 ANS3 ANS2 ANS1 ANS0
bit 7 bit 0
bit 7 未用位: 读作 0。
bit 6-4 ADCS<2:0>: A/D 转换时钟选择位
000 = FOSC/2
001 = FOSC/8
010 = F
x11 = F
100 = F
101 = F
110 = F
bit 3-0 ANS3:ANS0:模拟选择位
(可将 AN<3:0> 引脚的功能分别选为模拟或是数字)
1 = 模拟输入;分配引脚为模拟输入
0 = 数字 I/O ;分配引脚为端口引脚或特殊功能引脚
OSC/32
RC (由专用内部振荡器产生的时钟,其频率的最大值为 500 kHz)
OSC/4
OSC/16
OSC/64
(1)
注 1 : 将引脚设置为模拟输入端将自动禁止数字输入电路、弱上拉和引脚电平变化中断等
功能。相应的 TRISIO 位必须设置为输入模式以允许从外部控制引脚电压。
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
DS41190C_CN 第 44 页 2004 Microchip Technology Inc.
PIC12F629/675
7.2 A/D 采集要求
图 7-3 。 建议模拟信号源的最大阻抗为 10 k Ω。采集时
间随着阻抗的降低而缩短。在选择(改变)模拟输入通
为了使 A/D 转换器达到规定的精度,必须使充电保持电
容(CHOLD )充满至输入通道的电压电平。模拟输入模
型见图 7-3 。 源阻抗 (RS )和内部采样开关(RSS )阻
抗直接影响电容 C
HOLD 充电所需的时间。采样开关
(RSS )阻抗随器件电压 (VDD )的变化而变化,参见
道以后,必须在开始转换之前完成采集。
可以使用等式 7-1来计算最小采集时间。该等 式假设误
差为 1/2 LSb (A/D 转换需要 1024 步)。1/2 LSb 误差
是 A/D 达到规定精度所允许的最大误差。
要计算最短采集时间(T
档单片机系列参考手册》(DS33023A_CN )。
等式 7-1 : 采集时间
TACQ
TC
TACQ
注 1:因为参考电压(VREF )自行抵消,因此它对该 等 式没有影响。
=
放大器稳定时间 +
保持电容充电时间 +
温度系数
AMP + TC + T COFF
T
=
=
2 µ s + T C + [ (温度 -25 °C )( 0.05 µ s/ °C ) ]
=
C
HOLD ( R IC + R SS + R S)× (1/2047)
=
- 120pF (1kΩ + 7kΩ + 10kΩ )× (0.0004885)
16.47µs
=
=
2µ s + 16.47µ s + [ ( 50° C -25° C)( 0.05µ s/° C)
19.72µs
=
2: 充电保持电容 (C
HOLD)在每次转换结束时不会放电。
3: 建议模拟信号源的最大阻抗为 10 kΩ 。它必须符合引脚泄漏电流规范中的规定。
ACQ),请参见《PICmicro
®
中
图 7-3 : 模拟输入模型
ANx
S
R
VT
I LEAKAGE
RIC
SS
C
HOLD
CPIN
5 pF
= 输入电容
= 阈值电压
= 由于不同连接所造成的
泄漏电流
= 连线电阻
= 采样开关
= 采样 / 保持电容(来自 DAC)
VA
图注 CPIN
VDD
VT = 0.6V
V
T = 0.6V
RIC ≤ 1K
LEAKAGE
I
± 500 nA
V
采样
开关
SS
DD
6V
5V
4V
3V
2V
R
SS
CHOLD
= DAC 电容
= 120 pF
V
SS
567891011
采样开关
(kΩ )
2004 Microchip Technology Inc. DS41190C_CN 第 45 页
PIC12F629/675
7.3 休眠期间的 A/D 转换
当 A/D 时钟源不是 RC 时,执行 SLEEP 指令将中止当
前的转换,同时关闭 A/D 模块。ADON 位仍保持置位。
A/D 转换器可在休眠模式下运行。此时要求将内部 RC
振荡器作为 A/D 转换的时钟源。当选用 RC 时钟源时,
7.4 复位的影响
A/D 转换器会等待一个指令再开始转换。这使 SLEEP 指
令得以执行,从而消除了转换中的大多数开关噪声。当
转换完成时, GO/DONE
被清零,同时转换结果存入
ADRESH:ADRESL 寄存器。此时如果允许 A/D 中断,
器件复位将迫使所有的寄存器恢复到其复位状态。 因
此,复位会关闭 A/D 模块并且中止任何当前待处理的转
换。 ADRESH:ADRESL 寄存器的内容不变。
则器件将会从休眠状态下唤醒。如果 A/D 中断未被使
能,即使 ADON 保持置位,也还是会关闭 A/D 模块。
表 7-2 : A/D 寄存器汇总
地址 名称
05h GPIO — — GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 GPIO0 --xx xxxx --uu uuuu
0Bh, 8Bh INTCON GIE PEIE T0IE INTE GPIE T0IF INTF GPIF 0000 0000 0000 000u
0Ch PIR1 EEIF ADIF — — CMIF — — TMR1IF 00-- 0--0 00-- 0--0
1Eh ADRESH
1Fh ADCON0 ADFM VCFG — — CHS1 CHS0 GO ADON 00-- 0000 00-- 0000
85h TRISIO — — TRISIO5 TRISIO4 TRISIO3 TRISIO2 TRISIO1 TRISIO0 --11 1111 --11 1111
8Ch PIE1 EEIE ADIE — — CMIE — — TMR1IE 00-- 0--0 00-- 0--0
9Eh ADRESL
9Fh ANSEL — ADCS2 ADCS1 ADCS0 ANS3 ANS2 ANS1 ANS0 -000 1111 -000 1111
图注: x = 未知 , u = 未改变 , - = 未实现 , 读作 0。 阴影单元表示未被 A/D 转换器模块使用。
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
左对齐格式下 A/D 结果的高 8 位或右对齐格式下结果的高 2 位
左对齐格式下 A/D 结果的低 2 位或右对齐格式下结果的低 8 位
POR、
BOD 时的值
xxxx xxxx uuuu uuuu
xxxx xxxx uuuu uuuu
所有其它复位
时的值
DS41190C_CN 第 46 页 2004 Microchip Technology Inc.
PIC12F629/675
8.0 数据 EEPROM 存储器
数据 EEPROM 存储器在整个 VDD 范围内正常运行时是
可读写的。 其存储器并不直接映射到寄存器文件空间,
而是通过特殊功能寄存器来间接寻址。有四个 SFR 用于
读写该存储器,它们是:
• EECON1
• EECON2 (非实际存在的寄存器)
• EEDATA
• EEADR
EEDATA 内存放 8 位读写数据,而 EEADR 寄存器存放
要访问的 EEPROM 地址。PIC12F629/675 器件有 128
字节的数据 EEPROM 存储器,寻址范围从 0h 到 7Fh 。
EEPROM 数据存储器允许字节读写。字节写操作将自
动擦除该地址单元并写入新的值 (即先擦后写)。
EEPROM 是一种具有高擦 / 写周期的数据存储器。写入
的时间由片上定时器控制,还会随着电压、温度以及芯
片的不同而有所差异。具体限制请参阅 AC 规范。
当器件处于代码保护下时,CPU 可以继续对 EEPROM
存储器进行读写操作,但 器件编程器则不再能访问此寄
存器。
有关数据 EEPROM 更多的信息可以参考 《PICmicro
中档单片机系列参考手册》(DS33023A _CN )。
寄存器 8-1 : EEDAT —EEPROM 数据寄存器 (地址: 9Ah)
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
EEDAT7 EEDAT6 EEDAT5 EEDAT4 EEDAT3 EEDAT2 EEDAT1 EEDAT0
bit 7 bit 0
bit 7-0 EEDATn: 读 / 写数据 EEPROM 的字节值
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
®
寄存器 8-2 : EEADR — EEPROM 地址寄存器 (地址: 9Bh)
U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
- EADR6 EADR5 EADR4 EADR3 EADR2 EADR1 EADR0
bit 7 bit 0
bit 7 未用位: 应该清零
bit 6-0 EEADR: 指定 128 个地址单元之一进行 EEPROM 读 / 写操作
图注:
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
2004 Microchip Technology Inc. DS41190C_CN 第 47 页
PIC12F629/675
8.1 EEADR
EEADR 寄存器最多可寻址数据 EEPROM 的 128 字节。
仅使用了寄存器 8 位中的 7 位(EEADR<6:0>), 而
MSb (bit 7 )被忽略。
该寄存器的最高位应总是为 0 ,以向上兼容具有更大数
据 EEPROM 存储器的器件。
8.2 EECON1 和 EECON2 寄存器
EECON1 为控制寄存器,实际只使用了它的低四位。高
四位未被使用,并且读作 0 。
控制位 RD 和 WR 分别用于启动读写操作。这些位不能
用软件清零,只能用软件置 1 。它们在读写操作完成时
由硬件清零。WR 位不能用软件清零是为了防止写操作
的意外或过早中止。
当 WREN 位置 1 时,允许进行写操作。上电延时时,
WREN 位被清零。 正常工作期间,如果写操作被 MCLR
复位或 WDT 超时复位中断,则 WRERR 位被置 1 。上
述情形下,用户可在复位结束后检查 WRERR 的状态,
对其清零并重写该地址单元。数据和地址被清零,这样
EEDATA 和 EEADR 寄存器需要进行重新初始化。
当写操作完成时,PIR1 寄存器上的中断标志位 EEIF 置
1。此位必须用软件清零。
EECON2 不是实际存在的寄存器。读 EECON2 将得到
全零。EECON2 寄存器只在数据 EEPROM 写操作序列
中使用。
寄存器 8-3: EECON1—EEPROM 控制寄存器 (地址: 9Ch)
U-0 U-0 U-0 U-0 R/W-x R/W-0 R/S-0 R/S-0
- - - -
bit 7 bit 0
bit 7-4 未用位: 读作 0
bit 3 WRERR: EEPROM 错误标志位
1 = 写操作被过早中止 (正常操作或 BOD 检测期间发生 MCLR
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 读操作
WRERR WREN WR RD
复位、 WDT 复位)
图注:
S = 可以被置位
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
DS41190C_CN 第 48 页 2004 Microchip Technology Inc.
PIC12F629/675
8.3 读 EEPROM 数据存储器
要读取数据存储器地址单元,用户必须先把该地址写
到 EEADR 寄存器中,并将控制位 RD(EECON1<0> )
置 1 ,如 例 8-1 所示。在紧随其后的下一个指令周期,
EEDATA 寄存器中的数据即可使用。因此可以通过下一
条指令来读取。EEDATA将保留该数据直至另一次读操
作开始,或用户写入新值为止 (在写操作中)。
例 8-1 :读 数 据EEPROM
bsf STATUS,RP0 ;Bank 1
movlw CONFIG_ADDR ;
movwf EEADR ;Address to read
bsf EECON1,RD ;EE Read
movf EEDATA,W ;Move data to W
8.4 写 EEPROM 数据存储器
要写 EEPROM 数据存储器地址单元,用户必须首先将
该地址写入 EEADR 寄存器,并将数据写入 EEDATA 寄
存器。然后用户必须遵守特定的指令序列来写每一个字
节,如例 8-2 所示。
例 8-2 :写 数 据EEPROM
bsf STATUS,RP0 ;Bank 1
bsf EECON1,WREN ;Enable write
bcf INTCON,GIE ;Disable INTs
movlw 55h ;Unlock write
movwf EECON2 ;
movlw AAh ;
movwf EECON2 ;
要求序列
bsf EECON1,WR ;Start the write
bsf INTCON,GIE ;Enable INTS
在写序列启动后,清零 WREN 位不会影响写周期。除
非 WREN 置位,否则 WR 位不能被置位。
写周期完成时,WR 位被硬件清零,EE 写操作结束中断
标志位(EEIF )被置 1 。用户可以允许该中断或查询该
标志位。EEIF 位(PIR<7>)寄存器必须用软件清零。
8.5 写校验
根据具体应用,将写入数据 EEPROM 中的值与期望写
入值相校验 (见例 8-3 )是一个不错的编程习惯。
例 8-3 :写 校 验
bcf STATUS,RP0 ;Bank 0
: ;Any code
bsf STATUS,RP0 ;Bank 1 READ
movf EEDATA,W ;EEDATA not changed
;from previous write
bsf EECON1,RD ;YES, Read the
;value written
xorwf EEDATA,W
btfss STATUS,Z ;Is data the same
goto WRITE_ERR ;No, handle error
: ;Yes, continue
8.5.1 使用数据 EEPROM
数据 EEPROM 是高耐久性的、可字节寻址的阵列,已
经将其优化以便存储频繁变动的信息(例如,程序变量
或其它经常更新的数据)。通常,频繁变动值的更新频
率将超过 D120 或 D120A 中规定的参数值。如果并非如
此,则必须进行阵列刷新。 为此,不经常变动的变量
(如常数、ID、校准值等)应存放在闪存程序存储器中。
8.6 防止误写操作的保护措施
若未严格正确执行上述指令序列 (即写 55h 到
EECON2 ,写 AAh 到 EECON2 ,然后将 WR 位置 1 ),
则写操作不会启动。我们强烈建议在上述代码段中禁止
中断。在执行要求的指令序列同时,也将执行一次周期
计数操作。如果周期计数值不等于执行必需的指令序列
所需的周期数,则将禁止数据写入 EEPROM 。
此外,寄存器 EECON1 中的 WREN 位应被置 1 以使能
写操作。该机制有助于防止由于执行错误(意外的)代
码 (即丢失程序)而导致意外写入数据 EEPROM 。除
对 EEPROM 进行更新时,用户应始终保持 WREN 位为
清零状态。硬件不能清零 WREN 位。
在有些情况下,用户并不希望写入数据 EEPROM 存储
器。为防止 EEPROM 误写操作,芯片内嵌了各种保护
机制。上电时 WREN 位被清零。而且,上电延时定时
器 (延时 72ms )也会阻止对 EEPROM 进行写操作。
写操作的启动顺序以及 WREN 位将共同防止以下情况
下的意外误写操作发生:
• 欠压
• 电源毛刺
• 软件故障
2004 Microchip Technology Inc. DS41190C_CN 第 49 页
PIC12F629/675
8.7 代码保护期间数据 EEPROM 的操作
将 CPD 位编程为 “0 ”可对数据存储器进行代码保护。
数据存储器处于代码保护的情况下, CPU 可以对数据
EEPROM 进行读写操作。对数据存储器进行代码保护
的同时,建议用户也对程序存储器进行代码保护。这将
防止有人通过在已有代码上写入零 (作为 NOP 执行),
访问在未使用的程序存储器中编程的增加程序,从而达
到导出数据存储器内容的目的。将未使用的地址单元编
程为“0 ”有助于避免数据存储器的代码保护遭受破坏。
表 8-1 :与 数 据EEPROM 相关的寄存器 / 位
地址 名称
0Ch PIR1 EEIF
9Ah EEDATA
9Bh EEADR
9Ch EECON1
9Dh EECON2
图注: x = 未知、 u = 未改变、 - = 未用,读作 0 、 q = 其值根据条件变化。
阴影单元表示未被数据 EEPROM 模块使用。
注 1 : EECON2 不是实际存在的寄存器。
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
ADIF
EEPROM 数据寄存器
- EEPROM 地址寄存器
- - - -
(1)
EEPROM 控制寄存器 2
- -
CMIF
WRERR WREN WR RD ---- x000 ---- q000
- -
POR 、 BOD
时的值
TMR1IF 00-- 0--0 00-- 0--0
0000 0000 0000 0000
-000 0000 -000 0000
---- ---- ---- ----
其它复位时
的值
DS41190C_CN 第 50 页 2004 Microchip Technology Inc.
PIC12F629/675
9.0 CPU 的特殊功能
单片机内部集成了某些处理实时应用所需的特殊电路,
使之区别于其他处理器。 PIC12F629/675系列具有许多
这样的功能部件,它们旨在:
• 最大限度地提高系统可靠性
• 通过减少外部元件将成本降到最低
• 提供节能运行模式和代码保护
这些功能部件是:
• 振荡器选择
• 复位
- 上电复位 ( POR)
- 上电延时定时器 ( PWRT)
- 振荡器起振定时器 ( OST)
- 欠压检测 ( BOD)
• 中断
• 看门狗定时器 (WDT)
• 休眠
• 代码保护
• ID 地址单元
• 在线串行编程
PIC12F629/675 配备了一个看门狗定时器,可由配置位
来控制。该定时器依靠自带的 RC 振荡器来运行,提高
了可靠性。有两个定时器提供必要的上电延时。一个是
振荡器起振定时器 (OST ),旨在确保芯片在晶振达到
稳定之前始终处于复位状态。另一个是上电延时定时器
(PWRT ),仅在上电时提供 72 ms (标称值)的固定
延时,用来确保器件在供电电压稳定之前处于复位状
态。还有当器件发生欠压时使器件复位的电路,该电路
可提供至少 72 ms 的复位延时。片上具有了这三种功
能,使绝大多数应用无需再外接复位电路。
休眠模式的设计是为了提供电流极低的掉电模式。 用户
可通过以下方法将器件从休眠模式唤醒:
• 外部复位
• 看门狗定时器唤醒
• 中断
有几种振荡模式可供选择,以使器件适应各种应用。选
择 INTOSC 可节约系统成本,而选择 LP 晶振可以节能。
使用一组配置位可选择不同的晶振(参见寄存器 9-1 )。
2004 Microchip Technology Inc. DS41190C_CN 第 51 页
PIC12F629/675
9.1 配置位
可以通过对配置位编程 (读作 “0 ”)或不编程 (读作
“1 ”)来选择不同的器件配置,如寄存器 9-1 所示。这
些位映射到程序存储器地址单元 2007h 中。
寄存器 9-1 : CONFIG —配置字 (地址: 2007h)
R/P-1 R/P-1 U-0 U-0 U-0 R/P-1 R/P-1 R/P-1 R/P-1 R/P-1 R/P-1 R/P-1 R/P-1 R/P-1
BG1 BG0
bit 13 bit 0
- - -
CPD
CP BODEN MCLRE PWRTE WDTE F0SC2 F0SC1 F0SC0
注: 地址2007h 超过了用户程序存储器空间。 它
属于特殊配置存储器空间(2000h -
3FFFh ) ,只能在编程的时候对它进行访
问。 更多信息请参见 PIC12F629/675 编程规
范。
bit 13-12
bit 11-9
bit 8
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2-0
BG1:BG0 : BOD 和 POR 电压的带隙校准位
00 = 最低带隙电压
11 = 最高带隙电压
未用位: 读作 0
CPD
: 数据代码保护位
1 = 禁止数据存储器代码保护
0 = 使能数据存储器代码保护。
CP
: 代码保护位
1 = 禁止程序存储器代码保护
0 = 使能程序存储器代码保护
BODEN: 欠压检测使能位
1 = 使能 BOD
0 = 禁止 BOD
MCLRE: GP3/MCLR
1 = GP3/MCLR 引脚功能为 MCLR
0 = GP3/MCLR
PWRTE
1 = 禁止 PWRT
0 = 使能 PWRT
WDTE: 看门狗定时器使能位
1 = 使能 WDT
0 = 禁止 WDT
FOSC2:FOSC0: 振荡器选择位
111 = RC 振荡器: GP4/OSC2/CLKOUT 引脚为 CLKOUT 功能, GP5/OSC1/CLKIN 引脚上连接 RC
110 = RC 振荡器: GP4/OSC2/CLKOUT 引脚为 I/O 功能, GP5/OSC1/CLKIN 引脚连接 RC
101 = INTOSC 振荡器: GP4/OSC2/CLKOUT 引脚为 CLKOUT 功能, GP5/OSC1/CLKIN 引脚为 I/O 功能
100 = INTOSC 振荡器: GP4/OSC2/CLKOUT 引脚为 I/O 功能, GP5/OSC1/CLKIN 引脚为 I/O 功能
011 = EC : GP4/OSC2/CLKOUT 引脚为 I/O 功能, GP5/OSC1/CLKIN 引脚上为 CLKIN
010 = HS 振荡器: GP4/OSC2/CLKOUT 和 GP5/OSC1/CLKIN 引脚连接高速晶振 / 谐振器
001 = XT 振荡器: GP4/OSC2/CLKOUT 和 GP5/OSC1/CLKIN 引脚连接晶振 / 谐振器
001 = LP 振荡器: GP4/OSC2/CLKOUT 和 GP5/OSC1/CLKIN 引脚上连接低功耗晶振
注 1 :带隙校准位在出厂时已被编程,必须按照 PIC12F629/675 编程规范中的规定,在擦除之前要先读
图注:
P = 使用 ICSP 编程
R = 可读位 W = 可写位 U = 未用位,读作 0
- n = POR 时的值 1= 置位 0= 清零 x= 未知位
: 上电延时定时器使能位
出并保存器件程序。在导出配置字寄存器的内容时可以反映出这些位。 Microchip 开发工具保持所
有的校准位为出厂设置。
2:当关闭代码保护时,将擦除整个数据 EEPROM 的内容。
3:如果关闭代码保护功能,还会擦除整个程序存储器的内容,包括 OSCCAL 值。
4:使能欠压检测并不能自动使能上电延时定时器。
5:当 MCLR
(2 )
(3 )
(4 )
引脚功能选择
引脚功能为数字 I/O , MCLR 内部连接到 VDD
在 INTOSC 或者 RC 模式下被拉为低电平时,将禁止内部时钟振荡器。
(5 )
(1 )
DS41190C_CN 第 52 页 2004 Microchip Technology Inc.
PIC12F629/675
9.2 振荡器配置
9.2.1 振荡器类型
PIC12F629/675 可选择在 8 种不同的振荡模式下运行。
用户可对以下 3 个配置位(FOSC2 到 FOSC0 )编程来
选择这 8 种模式之一:
• LP 低功耗晶振
• XT 晶振 / 谐振器
• HS 高速晶振 / 谐振器
• RC 外部电阻 / 电容 (2 种模式)
• INTOSC 内部振荡器 (2 种模式)
• EC 外部时钟输入
注: 有关振荡器配置的其他信息可参见
《PICmicro ®中档单片机系列参考手册》
(DS33023A _CN )。
9.2.2 晶振 / 陶瓷谐振器
在 XT 、 LP 或 HS 模式下,晶振或陶瓷谐振器连接到
OSC1 和 OSC2 引脚以建立振荡 (参见图 9-14)。
PIC12F629/675 振荡器的设计要求使用平行切割的晶
体。 而采用顺序切割的晶体,可能使振荡器产生的频率
超出晶体制造厂商给出的范围。在 XT 、 LP 或 HS 模式
下,器件可用一个外部时钟源来驱动 OSC1 引脚(参见
图 9-14 )。
图 9-1 : 晶振 (或陶瓷振荡器)的操作
(HS 、 XT 或 LP 振荡器配置 )
OSC1
(1)
C1
XTAL
OSC2
(2)
RS
(1)
C2
注 1: C1 和 C2 的建议值,参见表 9-1 和表 9-2 。
2: 对于 AT 条形切割的晶体可能需要串联一个电阻。
3: RF 随振荡器模式的不同而变化 (大约值 10 M Ω)。
RF
(3)
到内部
逻辑电路
休眠
PIC12F629/675
图 9-2 : 外部时钟输入的操作
(HS 、XT、EC 或 LP 振荡器配置)
来自外部系统
的时钟信号
打开
注 1: 在 EC 振荡器模式下,该引脚作为 GP4 使用。
OSC1
PIC12F629/675
(1)
OSC2
表 9-1 : 陶瓷谐振器的电容选择
特性范围:
模式 频率
XT 455 kHz
2.0 MHz
4.0 MHz
HS 8.0 MHz
16.0 MHz
OSC1(C1) OSC2(C2)
68 - 100 pF
15 -68 pF
15 -68 pF
10 -68 pF
10 -22 pF
68 - 100 pF
15 -68 pF
15 -68 pF
10 -68 pF
10 -22 pF
注 1: 电容越大,振荡器的稳定性也越高,但同
时上电时间也会延长。这些值仅供设计参
考。由于每个谐振器的特性各不相同,因
此用户应向生产厂家咨询外部元件的正确
参数。
表 9-2 : 晶体振荡器的电容选择
模式 频率
LP 32 kHz 68 - 100 pF 68 - 100 pF
XT 100 kHz
2 MHz
4 MHz
HS 8 MHz
10 MHz
20 MHz
注 1: 电容越大,振荡器的稳定性也越高,但同
时上电时间也会延长。 这些值仅供设计参
考。为避免对要求低驱动的晶振造成过驱
动,在 HS 和 XT 模式下,可能需要串联电
阻(Rs)。由于每个谐振器的特性各不相
同,因此用户应向生产厂家咨询外部元件
的正确参数。
OSC1(C1) OSC2(C2)
68 -150 pF
15 -30 pF
15 -30 pF
15 -30 pF
15 -30 pF
15 -30 pF
150 -200 pF
15 -30 pF
15 -30 pF
15 -30 pF
15 -30 pF
15 -30 pF
2004 Microchip Technology Inc. DS41190C_CN 第 53 页
PIC12F629/675
9.2.3 外部时钟输入
对于已具备外部时钟的应用场合,只要该外部时钟源符
合第 12.0 节列出的 AC/DC 时序要求,用户就可以直接
使用它所提供的时钟信号来驱动 PIC12F629/675 。图 9-
14 显示了如何配置外部时钟电路。
9.2.4 RC 振荡器
如果对定时精度要求不高,可以选用 RC 振荡器。 RC
振荡器的工作和功能取决于许多变量。 RC 振荡器的频
率是以下参数的函数:
• 供电电压
• 电阻 (R
EXT)和电容 (C EXT)的值
• 工作温度。
由于正常的制造工艺参数存在差异,因此每个振荡器的
频率也会有所变化。 而不同封装类型的引线电容不同,
也会影响振荡频率,特别是当 C
EXT 值较小时。用户还
需要考虑外部元件 (电阻 R 和电容 C)的容差。图 914 显示了如何外接 R/C 组合电路。
在这种振荡模式下,GP4 有两种配置可供选择,可将其
作为通用 I/O 引脚或是输出 F
OSC /4。
图 9-3 : RC 振荡模式
9.2.5 内部 4 MH
Z 振荡器
经过校准后,内部振荡器可提供固定的 4 MHz (标称
值)系统时钟。有关随电压和温度变化的信息,请参见
第 12.0 节中的电气规范。
在这种振荡模式下,GP4 有两种配置可供选择,可将其
作为通用 I/O 引脚或是输出 F
OSC/4。
9.2.5.1 校准内部振荡器
校准指令被编程到程序存储器的最后一个地址单元中。
这条指令是 RETLW XX ,其中立即数为校准值。将立即
数放在 OSCCAL 寄存器中用来校准内部振荡器。例 9-
1 演示了如何校准内部振荡器。为了使器件能够工作在
最佳状态,应对 V
DD 和 V SS 去耦 (电容)并使之尽量
靠近器件。
注: 擦除器件的同时也会擦除为内部振荡器预
编程的内部校正值。必须按照 PIC12F629/
675 编程规范中的规定,在擦除部件之前保
存校准值。 Microchip 开发工具保持所有的
校准位为出厂设置。
例 9-1 : 校准内部振荡器
bsf STATUS, RP0 ;Bank 1
call 3FFh ;Get the cal value
movwf OSCCAL ;Calibrate
bcf STATUS, RP0 ;Bank 0
REXT
CEXT
VSS
VDD
OSC/4
F
PIC12F629/675
GP5/OSC1/
CLKIN
GP4/OSC2/CLKOUT
内部
时钟
9.2.6 CLKOUT
在INTOSC 和RC 振荡模式下,可配置 PIC12F629/675 ,
使之产生时钟输出信号。配置后,GP4/OSC2/CLKOUT
引脚上产生振荡器频率的 4 分频(F
4 可作测试用途或同步其它逻辑模块。
OSC/4)信号。FOSC /
DS41190C_CN 第 54 页 2004 Microchip Technology Inc.
9.3 复位
PIC12F629/675 可区分不同种类的复位:
a) 上电复位 ( POR)
b) 正常工作中的 WDT 复位
c) 休眠期间的 WDT 复位
d) 正常工作中的 MCLR
e) 休眠期间的 MCLR
f) 欠压检测 ( BOD)
有些寄存器不受任何复位条件的影响;它们在 POR 时
状态未知,而在任何其它复位时状态不变。发生下列复
位时,大多数其它寄存器返回 “复位”状态:
• 上电复位
• MCLR
复位
• WDT 复位
• 休眠期间的 WDT 复位
• 欠压检测 (BOD)复位
图 9-4 : 片上复位电路的简化框图
复位
复位
外部
复位
PIC12F629/675
因为 WDT 唤醒被视为是回复正常工作的操作,因此不
会影响这些寄存器。如表 9-4 所示,TO
不同的复位中分别被置位或清零。软件利用这些位来确
定复位的性质。表 9-7 对所有寄存器的复位状态作了完
整的描述。
图 9-14 所示为片上复位电路的简化框图。
复位路径中有一个噪声滤波器,用于检测或滤除
MCLR
小脉冲信号。有关脉宽规范可参见电气规范一节中的
表 12-4 。
和 PD 状态位在
MCLR/
PP 引脚
V
WDT
模块
DD 上升沿
V
检测
DD
V
OSC1
CLKIN
引脚
注 1: 该振荡器独立于 INTOSC/RC 振荡器。
欠压
检测
OST/PWRT
(1 )
片上
RC OSC
OST
PWRT
SLEEP
WDT
超时复位
上电复位
BODEN
10 位脉动计数器
10 位脉动计数器
使能 PWRT
使能 OST
S
R
有关超时的情况请参见表 9-3。
Q
Chip_Reset
Q
2004 Microchip Technology Inc. DS41190C_CN 第 55 页
PIC12F629/675
9.3.1 MCLR
PIC12F629/675 器件在 MCLR 复位路径中有一个噪声
滤波器, 用于检测和滤除小脉冲信号。
应该注意WDT 复位不会将MCLR
引脚上的 ESD 保护与该系列早先的器件有所不
MCLR
同。该引脚上电压超过规定值将导致 MCLR
引脚驱动输出低电平。
复位,并且
在 ESD 发生时产生超过器件规定值的电流。因此,
Microchip 建议不要把 V
DD 直接加在 MCLR 引脚上。建
议使用图 9-14 所示的 RC 网络。
通过置位配置字中 MCLRE 位可以使能内部 MCLR
项。使能时,MCLR
引脚内部连接到 VDD 。MCLR 引脚
选
没有内部上拉功能选项。
图 9-5 : 建议使用的 MCLR 电路
VDD
R1
1 kΩ (或更大)
C1
µf
0.1
(可选,非关键元件)
PIC12F629/675
MCLR
其它信息请参见应用笔记 AN607 “Power-up Trouble
Shooting”。
9.3.3 上电延时定时器 (PWRT )
上电延时定时器仅在上电时提供一个 72 ms (标称值)
的 POR 或欠压检测固定延时。上电延时定时器使用内
部 RC 振荡器。只要 PWRT 有效,芯片就处于复位状
态。PWRT 延时可以使 VDD 上升到适当的电平。配置位
PWRTE
可以使能(如果置位)或禁止(如果清零或被
编程)上电延时定时器。当欠压检测使能时应始终使能
上电延时定时器。
下列原因会造成各芯片之间上电延时的时间不同:
DD 不同
• V
• 温度变化
• 制造工艺的差异。
详情请参见 DC 参数 (第 12.0 节)。
9.3.4 振荡器起振定时器 ( OST)
在PWRT 延时结束以后,振荡器起振定时器将提供1024
个振荡周期(来自 OSC1 引脚)。这将确保晶振或谐振
器起振并达到稳定状态。
只有在 XT 、 LP 和 HS 模式下,且仅在上电复位或将器
件从休眠状态唤醒时,才会发生 OST 超时。
9.3.2 上电复位 (POR )
在 VDD 值达到能让芯片正常工作的足够高的电平值以
前,片上 POR 电路使芯片处于复位状态。欲有效利用
POR ,用户只须在 MCLR 引脚和 VDD 之间串联一个电
阻。这样就可无需使用通常产生上电复位所需的外接
RC 元件。 V
见电气规范(第 12.0 节)。如果 BOD 使能,则最大上
升时间规范不再适用。BOD电路将保持器件为复位状态
直到 V
注: 当 VDD 降低时,POR 电路不会产生内部复
当器件开始正常工作 (退出复位状态)时,器件的工作
参数 (即电压、频率和温度等)必须得到满足,以确保
其正常工作。如果不满足这些条件,器件必须保持在复
位状态,直到满足工作条件为止。
DD 需要一个最大上升时间。详细信息请参
DD 的值达到 V BOD (参见第 9.3.5 节)。
位。
DS41190C_CN 第 56 页 2004 Microchip Technology Inc.
PIC12F629/675
9.3.5 欠压检测 ( BOD)
PIC12F629/675 系列单片机都带有片上欠压检测电路。
配置位 BODEN 可以禁止 (如果清零 / 编程)或使能
(如果置位)欠压检测电路。 如果 V
DD 下降到 V BOD 以
下,且持续时间超过表 12-4 中的参数值 (TBOD )(见
第 12.0 节),欠压状况将使器件复位。 无论 VDD 的转
换率大小如何,上述情况都会发生。 如果 VDD 低于
BOD 的时间少于参数值 (T BOD),则不保证会发生复
V
位。
图 9-6 : 欠压情况
VDD
内部
复位
VDD
内部
复位
<72 ms
任何复位 (上电复位、欠压复位、看门狗定时器复位
等)发生时,器件将保持复位状态直到V
DD上升到BV DD
以上 (参见图 9-14 )。如果使能了上电延迟定时器,此
时它将启动,并将使器件保持复位状态的时间延长
72 ms 。
注: 如果置位配置字中的 PWRTE 位,那么欠压
检测将不会使能上电延迟定时器。
如果上电延迟定时器运行时, VDD 下降到 BVDD 以下,
芯片将重新回到欠压检测状态,且上电延迟定时器将被
重新初始化。一旦 VDD 上升到 BVDD 以上,上电延迟定
时器将执行一个 72 ms 的复位延时。
VBOD
(1)
72 ms
VBOD
(1)
72 ms
VDD
内部
复位
注 1: 仅当配置字中的 PWRTE 位被编程为 0 时,才产生 72 ms 延迟。
9.3.6 延时序列
上电延时序列如下: 首先, POR 结束后启动 PWRT 延
时。 然后,OST 被激活。总延时时间取决于振荡器的配
置和 PWRTE 位的状态。例如,在 EC 模式且 PWRTE
位清零(PWRT 禁止)的情况下,不会出现延时。图 9-
14 ,图 9-14 和图 9-14 给出了延时序列。
由于延时是由 POR 脉冲引起的,因此若 MCLR
持低电平的时间足够长,延时将结束。拉高 MCLR 将立
即执行延时 (见图 9-14 ) 。这在测试时或同步多个
PIC12F629/675 并行使用的器件来说非常有用。
表 9-6 给出了一些特殊寄存器的复位条件,而表 9-7 给
出了所有寄存器的复位条件。
引脚保
VBOD
(1)
72 ms
9.3.7 电源控制 ( PCON)状态寄存器
电源控制 / 状态寄存器 PCON(地址 8Eh)包含两个位。
Bit0 是 BOD
状态未知。用户必须将该位置 1 ,并在随后的复位发生
时检查 BOD 是否为 0 ,如果是,则表示已经发生过欠压
复位。如果欠压电路(通过在配置字中设置 BODEN 位
为 0 )被禁止,则 BOD
知其状态。
Bit1 是 POR
其它情况下该位不受影响。 用户必须在上电复位之后,
将 1 写入该位。在随后的复位中,如果 POR 为 0 ,则
表示发生过上电复位 (即 V
位(欠压复位)。 BOD 在发生上电复位后
状态位是一个无关位,也无法预
位(上电复位位)。上电复位时该位为 0 ,
DD 曾处于过低状态)。
2004 Microchip Technology Inc. DS41190C_CN 第 57 页
PIC12F629/675
表 9-3 : 不同情况下的延时
振荡器配置
PWRTE = 0 PWRTE = 1 PWRTE = 0 PWRTE = 1
上电延时 欠压检测
从休眠中唤醒
XT, HS, LP
RC, EC, INTOSC
TPWRT +
1024•TOSC
PWRT
T
1024•TOSC T PWRT +
1024•TOSC
PWRT
-
T
1024•TTOSC 1024•TOSC
--
表 9-4 : STATUS/PCON 位及其含义
POR BOD TO PD
0u11
1011
uu0u
uu00
uuuu
uu10
图注: u = 未改变, x = 未知
上电复位
欠压检测
WDT 复位
WDT 唤醒
在正常工作中的 MCLR
休眠期间的 MCLR 复位
复位
表 9-5 : 与欠压相关的寄存器汇总
地址 名称
03h STATUS IRP RP1 RPO TO PD Z DC C 0001 1xxx 000q quuu
8Eh PCON
图注: u = 未改变、 x = 未知、 - = 未实现位,读作 0 、 q = 值随条件而变。
注 1: 其它 (非上电)复位包括正常工作下的 MCLR
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
- - - - - -
复位、欠压检测和看门狗定时器复位。
POR
POR 、 BOD
时的值
BOD ---- --0x ---- --uq
其它复位时
(1 )
的值
表 9-6 : 特殊寄存器的初始化条件
条件 程序计数器 状态寄存器
上电复位
在正常工作中的 MCLR
休眠模式中的 MCLR
WDT 复位
WDT 唤醒
欠压检测
中断将器件从休眠模式唤醒
图注: u = 未改变、 x = 未知、 - = 未实现位,读作 0 。
注 1: 如果器件是由中断唤醒且全局使能位 GIE 置 1 ,则执行 PC+1 后中断矢量 (0004h )被装入 PC 。
DS41190C_CN 第 58 页 2004 Microchip Technology Inc.
复位
复位
000h 0001 1xxx ---- --0x
000h 000u uuuu ---- --uu
000h 0001 0uuu ---- --uu
000h 0000 uuuu ---- --uu
PC + 1 uuu0 0uuu ---- --uu
000h 0001 1uuu ---- --10
PC + 1
(1)
uuu1 0uuu ---- --uu
PCON
寄存器
PIC12F629/675
表 9-7: 寄存器的初始化条件
• 正常工作时的 MCLR
寄存器 地址 上电复位
W
-
xxxx xxxx uuuu uuuu uuuu uuuu
INDF 00h/80h
-- -
• 休眠期间的 MCLR
• WDT 复位
• 欠压检测
( 1)
TMR0 01h xxxx xxxx uuuu uuuu uuuu uuuu
PCL 02h/82h 0000 0000 0000 0000 PC + 1
STATUS 03h/83h 0001 1xxx 000q quuu
FSR 04h/84h xxxx xxxx uuuu uuuu uuuu uuuu
GPIO 05h --xx xxxx --uu uuuu --uu uuuu
PCLATH 0Ah/8Ah ---0 0000 ---0 0000 ---u uuuu
INTCON 0Bh/8Bh 0000 0000 0000 000u uuuu uuqq
PIR1 0Ch 00-- 0--0 00-- 0--0 qq-- q--q
T1CON 10h -000 0000 -uuu uuuu -uuu uuuu
CMCON 19h -0-0 0000 -0-0 0000 -u-u uuuu
ADRESH 1Eh xxxx xxxx uuuu uuuu uuuu uuuu
ADCON0 1Fh 00-- 0000 00-- 0000 uu-- uuuu
OPTION_REG 81h 1111 1111 1111 1111 uuuu uuuu
TRISIO 85h --11 1111 --11 1111 --uu uuuu
PIE1 8Ch 00-- 0--0 00-- 0--0 uu-- u--u
PCON 8Eh ---- --0x ---- --uu
OSCCAL 90h 1000 00-- 1000 00-- uuuu uu--
WPU 95h --11 -111 --11 -111 uuuu uuuu
IOC 96h --00 0000 --00 0000 --uu uuuu
VRCON 99h 0-0- 0000 0-0- 0000 u-u- uuuu
EEDATA 9Ah 0000 0000 0000 0000 uuuu uuuu
EEADR 9Bh -000 0000 -000 0000 -uuu uuuu
EECON1 9Ch ---- x000 ---- q000 ---- uuuu
EECON2 9Dh ---- ---- ---- ---- ---- ---ADRESL 9Eh xxxx xxxx uuuu uuuu uuuu uuuu
ANSEL 9Fh -000 1111 -000 1111 -uuu uuuu
图注 : u = 未改变, x = 未知, - = 未实现位,读作 0 , q = 值随条件而变。
注 1: 如果 V
DD 过低,上电复位将被激活,寄存器将受到不同的影响。
2: INTCON 和 / 或 PIR1 寄存器中的一位或多位将受到影响 (引起唤醒)。
3:如果器件由中断唤醒且全局使能位 GIE 置 1 ,则 PC 装入中断矢量 (0004h )。
4:关于特定条件的复位值,参见表 9-6 。
5: 如果器件是由于写数据 EEPROM完成而被唤醒,则 Bit 7 = 1;由 A/D转换结束而唤醒,则 Bit 6 = 1;由
比较器输入改变而唤醒,则 Bit 3 = 1 ;或由 Timer1 翻转回零时唤醒,由 Bit 0 = 1 。所有其它中断引起的唤
醒将使这些位不变 。
6 :如果复位是由于欠压造成的,则 bit 0 = 0。所有其它复位将使 bit 0 不变。
复位
复位
(4)
(1,6)
• 中断将器件从休眠状态唤醒
• WDT 超时溢出将器件从休眠
状态唤醒
uuuq quuu
---- --uu
(3)
(4)
(2)
(2,5)
2004 Microchip Technology Inc. DS41190C_CN 第 59 页
PIC12F629/675
图 9-7: 上电时的延时序列 ( MCLR 未连接到 VDD ): 情形 1
VDD
MCLR
内部 POR
TPWRT
PWRT 延时
OST 延时
内部复位
图 9-8 : 上电时的延时序列 (MCLR
VDD
MCLR
内部 POR
PWRT 延时
OST 延时
内部复位
未连接到 VDD ): 情形 2
PWRT
T
TOST
TOST
图 9-9 : 上电时的延时序列 (MCLR
VDD
MCLR
内部 POR
PWRT 延时
OST 延时
内部复位
DS41190C_CN 第 60 页 2004 Microchip Technology Inc.
连接到 VDD )
TPWRT
TOST
PIC12F629/675
9.4 中断
PIC12F629/675 有 7 个中断源:
• 外部中断 GP2/INT
• TMR0 溢出中断
• GPIO 电平变化中断
• 比较器中断
• A/D 中断 (仅限 PIC12F675)
• TMR1 溢出中断
• 数据 EEPROM 写中断
中断控制寄存器(INTCON )和外设中断寄存器(PIR )
在标志位中记录各个中断请求。 INTCON 寄存器还包
括各个中断使能位和全局中断使能位。
全局中断使能位, GIE (INTCON<7> )在置位时允许
所有未屏蔽的中断,在清零时,禁止所有中断。可以通
过各中断在 INTCON 寄存器和 PIE 寄存器中相应的使能
位来禁止单个中断。复位时将 GIE 清零。
执行 “中断返回”指令, RETFIE ,将退出中断服务程
序,同时置位 GIE 位,即重新允许未屏蔽的中断。
INTCON 寄存器中包含下列中断标志位:
• INT 引脚中断
• GP 端口电平变化时中断
• TMR0 溢出中断
外设中断标志位包含在特殊寄存器 PTR1 中。 相应的中
断使能位包含在特殊寄存器 PTR1 中。
PIR 寄存器中包含下列中断标志位:
• EEPROM 数据写中断
• A/D 中断
• 比较器中断
• Timer1 溢出中断
当响应一个中断时:
• 将 GIE 位清零以禁止其它中断发生
• 将返回地址压入堆栈
• PC 中装入 0004h
一旦进入中断服务程序,就可以通过查询中断标志位来
判断中断源。在重新允许中断前,必须用软件将中断标
志位清零,以避免 GP2/INT 重复请求中断。
对于外部中断事件,如 INT 引脚中断或 GP 端口电平变
化中断,中断响应延时将会是 3 到 4 个指令周期。确切
的延时时间取决于中断事件何时发生(见图 9-14 )。 对
于单周期或双周期指令,中断响应延时完全相同。一旦
进入中断服务程序,就可以通过查询中断标志位来判断
中断源。在重新允许中断前,必须用软件将中断标志位
清零,以避免出现多个中断请求。
注 1 :各中断标志位置 1 ,且不受相应中断屏蔽
位和 GIE 位的状态影响。
2: 当执行一条清零 GIE 位的指令后,任何等
待在下一周期执行的中断均将被忽略。这
些被忽略的中断会在 GIE 位被再次置位时
继续等待响应。
2004 Microchip Technology Inc. DS41190C_CN 第 61 页
PIC12F629/675
图 9-10: 中断逻辑电路
IOC-GP0
IOC0
IOC-GP1
IOC1
IOC-GP2
IOC2
IOC-GP3
IOC3
IOC-GP4
IOC4
IOC-GP5
IOC5
TMR1IF
TMR1IE
CMIF
CMIE
ADIF
ADIE
EEIF
EEIE
注 1: 仅限 PIC12F675 。
(1)
T0IF
T0IE
INTF
INTE
GPIF
GPIE
PEIE
GIE
唤醒(如果处于休眠模式)
中断 CPU
DS41190C_CN 第 62 页 2004 Microchip Technology Inc.
PIC12F629/675
9.4.1 GP2/INT 中断
GP2/INT 引脚上的外部中断是边沿触发的;当 INTEDG
位( OPTION<6>)被置位时在上升沿触发,而当
INTEDG 位被清零时在下降沿触发。当 GP2/INT 引脚上
出现有效边沿时,INTF 位(INTCON<1>)置位。可以
通过清零 INTE 控制位(INTCON<4> )来禁止该中断。
在重新允许该中断前,必须在中断服务程序中先用软件
将 INTF 位清零。如果器件进入休眠状态前将 INTE 位置
位,则 GP2/INT 中断能把处理器从休眠状态唤醒。GIE
位的状态决定在唤醒处理器之后程序是否会跳转到中断
向量地址。有关休眠的详细信息,请参阅第 9.7 节,而
有关GP2/INT 中断将处理器从休眠状态唤醒的时序请参
阅图 9-14 。
注: 必须对 ANSEL (9Fh )和 CMCON (19h )
寄存器进行初始化以便将模拟通道配置为
数字输入端。配置为模拟输入端的引脚将
读为 0 。ANSEL 寄存器是为 PIC12F675 定
义的。
图 9-11 : INT 引脚中断时序图
9.4.2 TMR0 中断
TMR0寄存器溢出(FFh→00h )将 T0IF(INTCON<2>)
置位。可以通过置位 / 清零 T0IE (INTCON<5> )位来
允许 / 禁止该中断。有关 Timer0 模块的工作情况,请参
见第 4.0 节。
9.4.3 GPIO 中断
GPIO 输入电平的变化将置位 GPIF(INTCON<0>)位 。
可以通过置位 / 清零 GPIE (INTCON<3> )位来允许 /
禁止该中断。而单个引脚可以通过 IOC 寄存器进行配
置。
注: 如果 I/O 引脚上的电平在执行一个读操作
(Q2 周期开始)时发生了变化,那么 GPIF
中断标志位可能不会被置位。
9.4.4 比较器中断
有关比较器中断的描述,请参阅第 6.9 节。
9.4.5 A/D 转换器中断
转换完成后 ADIF 标志位(PIR<6> )被置位。可以通过
置位或清零 ADIE (PIE<6> )位来允许 / 禁止该中断。
有关 A/D 转换器中断的操作,请参见第 7.0 节。
Q2 Q1 Q3 Q4 Q2 Q1 Q3 Q4 Q2 Q1 Q3 Q4 Q2 Q1 Q3 Q4 Q2 Q1 Q3 Q4
OSC1
CLKOUT
INT 引脚
INTF 标志
(INTCON<1>)
GIE 位
(INTCON<7>)
指令流
PC
取指
执行
指令
注 1 : 此时采样 INTF 标志 (每个 Q1 周期)
3
Inst (PC-1)
2 : 异步中断响应延时为 3-4 个 T
期指令还是双周期指令,中断响应延时都是相同的。
3: 只有在 RC 振荡器模式下, CLKOUT 才有效。
4: 关于 INT 脉冲的最小宽度要求,请参考 AC 规范。
5: 允许在 Q4-Q1 周期内的任何时间置位 INTF 。
1
PC
Inst (PC)
4
1
5
Inst (PC+1)
Inst (PC)
CY。 同步中断响应延时为 3 TCY ,其中 TCY 为指令周期时间。 不论 Inst ( PC)是单周
PC+1
中断响应延时
PC+1
—
无效周期
2
0004h
Inst (0004h)
无效周期
0005h
Inst (0005h)
Inst (0004h)
2004 Microchip Technology Inc. DS41190C_CN 第 63 页
PIC12F629/675
表 9-8 : 中断寄存器汇总
地址 名称
0Bh, 8Bh INTCON GIE PEIE T0IE INTE GPIE T0IF INTF GPIF 0000 0000 0000 000u
0Ch PIR1
8Ch PIE1 EEIE ADIE
图注: x = 未知、 u = 未改变、 - = 未实现,读作 0 、 q = 值随条件改变。
阴影单元表示未被中断模块使用。
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
EEIF ADIF
- -
- -
CMIF
CMIE
- -
- -
TMR1IF 00-- 0--0 00-- 0--0
TMR1IE 00-- 0--0 00-- 0--0
POR 、 BOD
时的值
所有其它复
位时的值
9.5 中断过程中的现场保护
在中断期间,仅将返回的 PC 值压入堆栈。通常情况下,
用户会希望保存中断过程的关键寄存器,例如,W 寄存
器和状态寄存器。这必须由软件实现。
例 9-2 说明了如何保存和恢复状态寄存器和 W 寄存器。
在两个存储区中都必须定义用户寄存器 W_TEMP ,且
它们相对于各自存储区基地址的偏移量必须相同。
(即,如果在存储区 0 中定义 W_TEMP 位于 0x20 地址
单元,那么在存储区 1 中必须定义 W_TEMP 位于 0xA0
地址单元)。用户寄存器 STATUS_TEMP,必须定义在
存储区 0 中。在例 9-2 中:
• 保存 W 寄存器的内容
• 将状态寄存器中的值保存到存储区 0 中
• 执行 ISR 代码
• 恢复状态寄存器 (和存储区选择位寄存器)内容
• 恢复 W 寄存器内容
例 9-2 :在RAM 中保存状态和 W 寄
MOVWF W_TEMP ;copy W to temp register,
SWAPF STATUS,W ;swap status to be saved into W
BCF STATUS,RP0 ;change to bank 0 regardless of
MOVWF STATUS_TEMP ;save status to bank 0 register
:
:(ISR)
:
SWAPF STATUS_TEMP,W;swap STATUS_TEMP register into
MOVWF STATUS ;move W into STATUS register
SWAPF W_TEMP,F ;swap W_TEMP
SWAPF W_TEMP,W ;swap W_TEMP into W
存器的内容
could be in either bank
current bank
W, sets bank to original state
9.6 看门狗定时器 (WDT )
看门狗定时器是可自行运行的片上 RC 振荡器,它无需
任何外接元件。该 RC 振荡器与 CLKIN 引脚上的 RC 振
荡器和 INTOSC 是相互独立的。这就意味着即使停止器
件 OSC1 和 OSC2 引脚上的时钟 (如执行 SLEEP 指
令), WDT 仍可工作。正常工作情况下,WDT 超时将
导致器件复位。如果器件处于休眠模式, WDT 超时将
唤醒器件并使其继续在正常状态下工作。通过将配置位
WDTE 编程为 0 可永久禁止 WDT (第 9.1 节)。
9.6.1 WDT 周期
WDT 的超时溢出周期标称值为 18 ms (不带预分频器
时)。每个器件的超时溢出周期随温度、 V
差异而各不相同 (参见 DC 规范)。如果希望得到更长
的超时溢出周期,可以在软件控制下通过写 OPTION 寄
存器,将分频比最高可达 1:128 的预分频器分配给
WDT 。这样就可以实现长达 2.3 秒的超时周期。
如果将预分频器分配给 WDT ,执行 CLRWDT 和 SLEEP
指令将会清零WDT 和预分频器,并阻止预分频器超时,
或产生器件复位。
看们狗定时器超时溢出时,将清零 STATUS 寄存器中的
位。
TO
9.6.2 WDT 编程注意事项
在最恶劣的情况下(即 VDD 最小、温度最高、WDT 预
分频比最大),WDT 发生超时溢出的时间可长达几秒,
因此在编程时应加以考虑。
DD 和工艺的
DS41190C_CN 第 64 页 2004 Microchip Technology Inc.
图 9-12 : 看门狗定时器框图
CLKOUT
(= FOSC/4)
0
1
T0CKI
引脚
T0SE
T0CS
0
1
8 位
预分频器
PIC12F629/675
数据总线
1
同步 2
周期
0
PSA
8
TMR0
溢出时置位
标志位 T0IF
8
PS0 - PS2
看门狗
定时器
WDTE
PSA
注 1: T0SE 、 T0CS 、 PSA 、 PS0-PS2 是 Option 寄存器中的位。
表 9-9 : 看门狗定时器寄存器汇总
地址 名称
81h OPTION_REG
2007h
图注: u = 未改变,阴影单元表示未被看门狗定时器使用。
配置位
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
GPPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111
CP BODEN MCLRE PWRTE WDTE F0SC2 F0SC1 F0SC0 uuuu uuuu uuuu uuuu
1
0
PSA
WDT
超时
POR 、 BOD
时的值
所有其他复
位时的值
2004 Microchip Technology Inc. DS41190C_CN 第 65 页
PIC12F629/675
9.7 掉电模式 (休眠)
执行 SLEEP 指令将进入掉电模式。
如果看门狗定时器被使能:
• WDT 将被清零并保持继续工作
• 状态寄存器中的 PD
位置 1
• TO
• 关闭振荡器驱动器
• I/O 端口保持执行 SLEEP 指令之前的状态 (驱动
输出高电平、低电平或者呈现高阻态)。
为了使该模式下的电流消耗最小,所有的 I/O 引脚都应
该保持为 V
DD 或 V SS 电平,以确保外部电路的驱动电
流不从 I/O 引脚输出,同时比较器和 CV
为了避免悬空输入端引起开关电流,应从外部拉高或拉
低高阻输入的 I/O 引脚。为了将电流消耗降至最低,
TOCKI 输入也应该保持为 V
到 GPIO 片内上拉造成的电流消耗。
引脚必须处于逻辑高电平状态 (VIHMC )。
MCLR
注: 注意,WDT 超时产生的复位不会将 MCLR
引脚拉至低电平。
9.7.1 从休眠状态唤醒
可以通过下列任一事件将器件从休眠状态唤醒:
1. MCLR
2. 看门狗定时器唤醒 (如果 WDT 使能)
3. GP2/INT 引脚中断、 GPIO 电平变化中断或外设
引脚上的外部复位输入
中断。
位被清零
REF 应被关闭。
DD 或 V SS 电平。还应考虑
第一种事件会导致器件复位。 后两种事件被认为是程序
执行的延续。可用状态寄存器中的 TO
件复位的原因。 PD
位在上电时置位,在进入休眠时清
和 PD 位判断器
零。如果发生了 WDT 唤醒将使 TO 位清零。
在执行 SLEEP 指令时,下一个指令 (PC+1 )被预取。
要通过中断事件唤醒器件,必须将相应的中断使能位置
位 (即允许中断)。唤醒与 GIE 位的状态无关。如果
GIE 位清零(禁止),器件仍继续执行 SLEEP 指令以后
的指令。 如果 GIE 位被置位(使能),器件执行 SLEEP
指令之后的指令,然后跳转到中断地址 (0004h )。 如
果不想执行SLEEP 指令以后的指令,用户应该在SLEEP
指令后面放置一条 NOP 指令。
注: 如果全局中断 (GIE 清零)被禁止,但所
有中断源都将其各自的中断使能位和相应
的中断标志位置位,器件将立即从休眠状
态唤醒。 SLEEP 指令被完整执行。
无论唤醒原因为何,器件从休眠状态唤醒时, WDT 都
将清零。
图 9-13 : 中断将器件从休眠状态唤醒
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1
OSC1
(4)
CLKOUT
INT 引脚
INTF 标志
(INTCON<1>)
GIE 位
(INTCON<7>)
指令流
PC
取指
执行
指令
注 1: 假定为 XT 、 HS 或 LP 振荡器模式。
2: T
3: 假设 GIE=1 。在这种情况下,处理器在被唤醒后将跳转至中断程序。如果 GIE=0 ,将按顺序继续执行。
4: 在 XT 、 HS 、 LP 或 EC 振荡器模式下, CLKOUT 无效,此处仅作为时序参考。
PC PC+1 PC+2
Inst(PC) = SLEEP
Inst (PC-1)
OST = 1024TOSC (图形未按比例绘制)。 RC 振荡器模式的延迟时间约为 1µ s。 INTCON 模式下从休眠模式唤醒的延时参见第 12 节。
Inst (PC+1)
休眠
处于休眠状态的
处理器
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
(2)
OST
T
中断响应延时
( 注 2)
PC+2
Inst (PC+2)
Inst (PC+1)
PC +2 0004h 0005h
Inst (0004h)
无效周期
无效周期
Inst (0005h)
Inst (0004h)
DS41190C_CN 第 66 页 2004 Microchip Technology Inc.
PIC12F629/675
9.8 代码保护
如果未编程代码保护位,可以通过读出片上程序存储器
进行验证。
注: 当代码保护被关闭时,整个数据 EEPROM
和闪存程序存储器的内容均将被擦除。同
时,INTOSC 校准数据也被擦除。更多信息
请参见 PIC12F629/675 编程规范。
9.9 ID 地址单元
将 4 个存储器单元 (2000h-2003h )指定为 ID 地址单
元,用户可在其中存放校验和或者其它识别代码。正常
执行时不能访问这些地址单元,但在编程 / 校验过程中
它们是可读写的。 ID 地址单元只有低 7 位被使用。
9.10 在线串行编程
在最终应用电路中可对PIC12F629/675 单片机进行串行
编程。可通过一根时钟线、一根数据线和以下三种其它
连线即可完成编程:
• 电源线
• 接地线
• 编程电压线
这使用户在制造电路板时得以使用未编程器件,并在产
品装运前才对单片机进行编程。这样还可使用最新固件
或用户定制的固件进行编程。
当将 MCLR
时,保持 GP0 和 GP1 引脚为低电平,可使器件进入编
程 / 校验模式(参见编程规范)。此时 GP0 成为编程数
据引脚而 GP1 成为编程时钟引脚。在这种模式下,GP0
和 GP1 均为施密特触发输入。
复位后,将器件置于编程 / 校验模式,程序计数器(PC )
处于地址单元 00h 。然后向器件发送一条 6 位命令。根
据具体命令是执行装载还是读取操作,可向器件提供一
个 14 位的程序数据或是从器件发出一个 14 位的程序数
据。有关串行编程的具体细节,请参阅编程规范。
图 9-14 所示为典型的在线串行编程连接。
(VPP )引脚电平从 VIL 提升到 VIHH 的同
图 9-14 : 典型在线串行编程连接
至正常
至正常
连接
连接
PIC12F629/675
DD
V
VSS
GP3/MCLR/VPP
GP1
GP0
DD
V
外部
连接器
信号
数据 I/O
+5V
0V
V
CLK
PP
9.11 在线调试器
由于在线调试需要占用时钟线、数据线和 MCLR 引脚,
因此实际应用中不采用 MPLAB ® ICD 2 调试 8 引脚器
件。一款特殊的 14 引脚 PIC12F675-ICD 器件与 MPLAB
配合使用,可以提供独立的时钟线、数据线以及 MCLR
引脚,因此释放了所有通常可用的引脚供用户使用。
该特殊的 ICD 器件被固定在主机的顶部,其信号被路由
到 MPLAB ICD2 连接器。主机底部是一个 8 引脚的插
槽,可通过一个 8 引脚转接器插入用户的目标板。
将 PIC12F675-ICD 上的 ICD
能在线调试器功能。这一功能在与 MPLAB ICD2 配合使
用时,即可进行一些简单的调试。当单片机的这项功能
使能时,某些资源就不再是通用的了。表 9-10 给出了
后台调试器所占用的资源。
表 9-10 : 调试器资源
I/O 引脚 ICDCLK , ICDDATA
堆栈 1 级
程序存储器 地址 0h 必须为 NOP
引脚保持为低电平,将使
300h - 3FEh
更多信息,参见 Microchip 网站(www.microchip.com )
上的 8-Pin MPLAB ICD 2 Header Information Sheet
(DS51292 )。
2004 Microchip Technology Inc. DS41190C_CN 第 67 页
PIC12F629/675
注:
DS41190C_CN 第 68 页 2004 Microchip Technology Inc.
PIC12F629/675
10.0 指令集概述
PIC12F629/675 的指令集具有高度正交性,可分为以下
三种基本类型:
• 针对字节的操作
• 针对位的操作
• 立即数和控制操作
每个 PIC12F629/675 指令都是 14 位字,可以分为指明
指令类型的操作码和进一步指明指令操作的一个或多个
操作数。图 10-1 中显示了每种指令类型的指令格式,而
表 10-1 则是不同操作码字段的汇总。
TM
表 10-2 列出了所有可被 MPASM
令。有关每条指令的完整说明还可参见《PICmicro ®中
档单片机系列参考手册》(DS33023A _CN )。
对于字节操作指令, f 是文件寄存器的标识符,而 d 是
目标寄存器的标识符。文件寄存器标识符指定了指令将
会使用哪个数据寄存器。
目标寄存器标识符指定了指令操作结果存放的地址。 如
果“d ”等于 0,结果就存放在 W 寄存器中。 如果“d”
等于 1 ,结果就存放在指令指定的文件寄存器中。
对于位操作类指令,“b ”代表位字段标识符,用于选择
操作影响到的位,而 “f ”代表相应位所在的数据寄存
器的地址。
对于立即数和控制操作,“k ”代表一个 8 位或 11 位常
数,即立即数的值。
一个指令周期包含四个振荡器周期;对于频率为 4 MHz
的振荡器,其正常指令执行时间为 1 µs 。所有指令都在
一个指令周期之内执行,除非条件测试为真或程序计数
器根据指令结果发生变化。当上述特殊情况发生时,指
令的执行就需要两个指令周期,第二个周期执行一条
NOP 指令。
注 : 为了保持与未来产品的向上兼容,请不要
使用 OPTION 和 TRISIO 指令。
所有指令示例都使用“0xhh ”的形式表示十六进制数,
其中 “h ”代表一个十六进制数。
10.1 读 - 修改 - 写操作
任何将文件寄存器作为指令的一部分的指令均执行读 修 - 写(R-M-W)操作。先读寄存器,然后修改数据,
再将结果存放到由指令或目标标识符 “d”指定的单元
中去。即使指令是写入某个寄存器,仍然会对此寄存器
执行读操作。
汇编器识别的指
例如,CLRF GPIO 指令会读 GPIO ,清零所有数据位,
然后将结果写回到 GPIO 。 这个例子会产生意外结果,
清除将 GPIF 置 1 的条件。 .
表 10-1 : 操作码字段说明
字段 说明
f
寄存器地址 (0x00 到 0x7F )
W
工作寄存器 (累加器)
b
某 8 位数据寄存器的位地址
k
立即数、常数或标号
x
与取值无关的位 (= 0 或 1 )。
汇编器将产生 x = 0 的代码。 为了与所有的
Microchip 软件工具兼容,建议使用这种格式。
d
目标寄存器选择; d = 0: 结果存储至 W ,
d = 1: 结果存储至数据寄存器 f。
默认值为 d = 1。
PC
程序计数器
TO
超时标志位
PD
掉电标志位
图 10-1 : 指令的一般格式
针对字节的文件寄存器操作指令
13 8 7 6 0
操作码 d f ( 数据寄存器地址 )
d = 0 表示目标寄存器是 W
d = 1 表示目标寄存器是 f
f = 7 位数据寄存器地址
针对位的文件寄存器操作指令
13 10 9 7 6 0
操作码 b( 位地址 ) f( 数据寄存器地址 )
b = 3 位位地址
f = 7 位数据寄存器地址
立即数和控制操作类指令
一般指令
13 8 7 0
操作码 k ( 立即数 )
k = 8 位立即数值
仅限 CALL 和 GOTO 指令
13 11 10 0
操作码 k ( 立即数 )
k = 11 位立即数的值
2004 Microchip Technology Inc. DS41190C_CN 第 69 页
PIC12F629/675
表 10-2 : PIC12F629/675 指令集
助记符,
操作数
ADDWF
ANDWF
CLRF
CLRW
COMF
DECF
DECFSZ
INCF
INCFSZ
IORWF
MOVF
MOVWF
NOP
RLF
RRF
SUBWF
SWAPF
XORWF
BCF
BSF
BTFSC
BTFSS
ADDLW
ANDLW
CALL
CLRWDT
GOTO
IORLW
MOVLW
RETFIE
RETLW
RETURN
休眠
SUBLW
XORLW
注 1: 当 I/O 寄存器作为自身的函数被修改时 (例如, MOVF
f, d
W 加 f
f, d
W 和 f 与运算
f
f 清零
-
W 清零
f, d
求 f 的补码
f, d
f 减 1
f, d
f 减 1,为 0 则跳过
f, d
f 加 1
f, d
f 加 1,为 0 则跳过
f, d
W 和 f 同或运算
f, d
移动 f
f
将 W 的内容移动至 f
-
空操作
f, d
f 带进位左循环
f, d
f 带进位右循环
f, d
f 减去 W
f, d
f 半字节交换
f, d
W 和 f 异或运算
f, b
f 位清零
f, b
f 位置 1
f, b
检测 f 的位,为 0 则跳过
f, b
检测 f 的位,为 1 则跳过
k
立即数加 W
k
立即数和 W 与运算
k
调用子程序
-
看门狗定时器清零
k
跳转
k
立即数和 W 同或运算
k
将立即数移动到 W 寄存器
-
从中断返回
k
返回时将立即数存入 W
-
从子程序返回
-
进入待机模式
k
立即数减去 W
k
立即数和 W 异或运算
脚配置为输入,其数据锁存器中的值为 “1 ”,被外部器件拉为低电平时,则写回的数据锁存值将是 “0 ”。
2: 当该指令的执行使用 TMR0 寄存器 (以及 d=1 )时,如果将预分频器分配给 Timer 0 模块,则将其清零。
3: 如果程序计数器 (PC )被修改或条件测试为真,则该指令需要执行两个周期。 第二个周期执行一条 NOP 指令。
说明 周期
针对字节的数据寄存器操作指令
1
1
1
1
1
1
1(2)
1
1(2)
1
1
1
1
1
1
1
1
1
针对位的数据寄存器操作
1
1
1 (2)
1 (2)
立即数和控制操作
1
1
2
1
2
1
1
2
2
2
1
1
1
GPIO, 1),使用的值将是该引脚上的当前值。例如,如果某引
14 位操作数
MSb LSb
ffff
dfff
0111
00
ffff
dfff
0101
00
ffff
lfff
0001
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
01
01
01
01
11
11
10
00
10
11
11
00
11
00
00
11
11
0001
1001
0011
1011
1010
1111
0100
1000
0000
0000
1101
1100
0010
1110
0110
00bb
01bb
10bb
11bb
111x
1001
0kkk
0000
1kkk
1000
00xx
0000
01xx
0000
0000
110x
1010
0xxx
dfff
dfff
dfff
dfff
dfff
dfff
dfff
lfff
0xx0
dfff
dfff
dfff
dfff
dfff
bfff
bfff
bfff
bfff
kkkk
kkkk
kkkk
0110
kkkk
kkkk
kkkk
0000
kkkk
0000
0110
kkkk
kkkk
xxxx
ffff
ffff
ffff
ffff
ffff
ffff
ffff
ffff
0000
ffff
ffff
ffff
ffff
ffff
ffff
ffff
ffff
ffff
kkkk
kkkk
kkkk
0100
kkkk
kkkk
kkkk
1001
kkkk
1000
0011
kkkk
kkkk
影响的
状态位
C,DC,Z
Z
Z
Z
Z
Z
Z
Z
Z
C
C
C,DC,Z
Z
C,DC,Z
Z
TO
,PD
Z
,PD
TO
C,DC,Z
Z
注释
1,2
1,2
2
1,2
1,2
1,2,3
1,2
1,2,3
1,2
1,2
1,2
1,2
1,2
1,2
1,2
1,2
1,2
3
3
注:有关中档单片机指令集的其 它 信息请参阅《 PICmicro®中档单片机系列参考手册》( DS33023A _CN )。
DS41190C_CN 第 70 页 2004 Microchip Technology Inc.
10.2 指令说明
PIC12F629/675
ADDLW
语法: [
操作数: 0 ≤ k ≤ 255
工作原理:
受影响的状态位:
说明: 8 位立即数 “k ”与 W 寄存器的
ADDWF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理: (W) + (f) → (目标寄存器)
受影响的状态位:
说明: W 寄存器与 “f ”寄存器的内容相
立即数加 W
标号
] ADDLW k
(W) + k → (W)
C, DC, Z
内容相加,结果存入 W 寄存器。
W 加 f
标号
] ADDWF f,d
d ∈ [0,1]
C, DC, Z
加。 如果 “d”为 0,结果存入 W
寄存器。 如果 “d”为 1,结果存
回到寄存器 “f ”。
BCF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理:
受影响的状态位: 无
说明: 寄存器 “f ”中的 “b ”位被清
BSF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理:
受影响的状态位: 无
说明: 寄存器 “f ”中的 “b ”位被置
f 位清零
标号
] BCF f,b
0 ≤ b ≤ 7
0 → (f<b>)
零。
f 位置 1
标号
] BSF f,b
0 ≤ b ≤ 7
1 → (f<b>)
1。
ANDLW
语法: [
操作数: 0 ≤ k ≤ 255
工作原理:
受影响的状态位:
说明: 寄存器 W 的内容与 8 位立即数
ANDWF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理: (W) .AND. (f) → (目标寄存器)
受影响的状态
位:
说明: W 寄存器和 f 寄存器进行与运算。
立即数和 W 与运算
标号
] ANDLW k
(W) .AND. (k) → (W)
Z
“k ”进行与运算,结果存入 W 寄
存器。
W 和 f 与运算
标号
] ANDWF f,d
d ∈ [0,1]
Z
如果 “ d”为 0,结果存入寄存器
W。如果 “ d”为 1,结果存回到
寄存器 “ f”。
BTFSS
语法: [
操作数: 0 ≤ f ≤ 127
工作原理: 如果 (f<b> ) = 1 则跳过
受影响的状态位:无
说明: 如果寄存器 “f ”的位 “b ”为
BTFSC
语法: [
操作数: 0 ≤ f ≤ 127
工作原理: 如果 (f<b> ) = 0 则跳过
受影响的状态位:无
说明: 如果寄存器 “f ”的位 “b ”为
检测 f 的位,为 1 跳过
标号
] BTFSS f,b
0 ≤ b < 7
“0 ”,则执行下一条指令。
如果位 “b ”为 “1 ”,则放弃执
行下一条指令而执行一条 NOP 指
令,使该指令成为 2T
检测位,为 0 则跳过
标号
] BTFSC f,b
0 ≤ b ≤ 7
“1 ”,则执行下一条指令。
如果寄存器 “f ”的位 “b ”为
“0 ”,则放弃执行下一条指令,而
执行一条 NOP 指令,使该指令变
CY 指令。
成 2T
CY 指令。
2004 Microchip Technology Inc. DS41190C_CN 第 71 页
PIC12F629/675
CALL
语法: [
操作数: 0 ≤ k ≤ 2047
工作原理:
受影响的状态
位:
说明: 调用子程序。 首先,将返回地址
CLRF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理:
受影响的状态位:
说明: 寄存器 f 已清零, Z 位置 1 。
调用子程序
标号
] CALL k
(PC)+ 1→ TOS,
k → PC<10:0>,
(PCLATH<4:3>) → PC<12:11>
无
(PC+1 )压入堆栈。 11 位立即数
地址被装入 PC 位 <10:0> 。 PC 高
位从 PCLATH 装入。 CALL 是双
周期指令。
f 清零
标号
] CLRF f
00h → (f)
1 → Z
Z
CLRWDT
语法: [ 标号] CLRWDT
操作数: 无
工作原理:
受影响的状态
位:
说明: CLRWDT 指令复位看门狗定时器。
COMF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理: (f
受影响的状态
位:
说明: 取寄存器 “f ”中内容的补码。 如
看门狗定时器清零
00h → WDT
0 → WDT 预分频器,
1 → TO
1 → PD
,PD
TO
而且还复位 WDT 预分频器。
状态位 TO
f 取反
标号
d ∈ [0,1]
) → ( 目标寄存器 )
Z
果“d”为 0,结果存入 W。如果
“d ”为 1 ,结果存回到寄存器
“f ”。
和 PD 置位。
] COMF f,d
CLRW
语法: [
操作数: 无
工作原理:
受影响的状态
位:
说明: W 寄存器被清零。 全零位 (Z)
W 清零
标号
] CLRW
00h → (W)
1 → Z
Z
置 1。
DECF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理: (f) - 1 → ( 目标寄存器 )
受影响的状态
位:
说明: 寄存器 “f ”减 1 。 如果 “d”为
f 减 1
标号
] DECF f,d
d ∈ [0,1]
Z
0,结果存入 W 寄存器。 如果
“d ”为 1 ,结果存回到寄存器
“f ”。
DS41190C_CN 第 72 页 2004 Microchip Technology Inc.
PIC12F629/675
DECFSZ
语法: [ 标号] DECFSZ f,d
操作数: 0 ≤ f ≤ 127
工作原理: (f) - 1 → ( 目标寄存器 ) ;
受影响的状态位:无
说明: 寄存器 “f ”的内容递减, 如果
GOTO
语法: [
操作数: 0 ≤ k ≤ 2047
工作原理:
受影响的状态位:无
说明: GOTO 是无条件转移指令。 11 位立
f 减 1 ,为 0 则跳过
d ∈ [0,1]
如果结果为 0 则跳过
“d ”为 0 ,结果存入 W 寄存器。
如果 “d”为 1,结果存回到
寄存器 “f”。
如果结果是 1,执行下一个指令。
如果结果为 0,则执行 NOP 指令,
使其成为 2T
无条件转移
标号
k → PC<10:0>
PCLATH<4:3> → PC<12:11>
即数被装入 PC 位 <10:0> 。 PC 高
位从 PCLATH<4:3> 装入。 GOTO
是双周期指令。
CY 的指令。
] GOTO k
INCFSZ
语法: [
操作数: 0 ≤ f ≤ 127
工作原理: (f) +1 → ( 目标寄存器 ),
受影响的状态位:无
说明: 寄存器 “f ”的内容递增。如果
IORLW
语法: [
操作数: 0 ≤ k ≤ 255
工作原理:
受影响的状态位:
说明: 寄存器 W 的内容与 8 位立即数
f 加 1 ,为 0 则跳过
标号
] INCFSZ f,d
d ∈ [0,1]
如果结果为 0 则跳过
“d ”为 0 ,结果存入 W 寄存器。
如果 “d ”为 1 ,结果存回到寄存
器“f”。
如果结果是 1 ,执行下一个指令。
如果结果为 0 ,则执行 NOP 指令,
使其成为一条 2T
立即数和 W 或运算
标号
] IORLW k
(W).OR. k → (W)
Z
“k ”进行或运算。结果存入 W
寄存器。
CY 的指令。
INCF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理: (f) +1 → ( 目标寄存器 )
受影响的状态
位:
说明: 寄存器 “f ”的内容递增。如果
2004 Microchip Technology Inc. DS41190C_CN 第 73 页
f 加 1
标号
] INCF f,d
d ∈ [0,1]
Z
“d ”为 0 ,结果存入 W 寄存器。
如果 “d ”为 1 ,结果存回到
寄存器 “f ”。
IORWF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理: (W) .OR. (f) → (目标寄存器)
受影响的状态
位:
说明: W 寄存器和 f 寄存器进行或运算。
W 和 f 或运算
标号
] IORWF f,d
d ∈ [0,1]
Z
如果 “d ”为 0 ,结果存入 W 寄
存器。 如果 “d”为 1,结果存回
到寄存器 “f ”。
PIC12F629/675
MOVF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理: (f) → 目标寄存器)
受影响的状态
位:
说明: 根据 d 的状态,将寄存器 f 的内容
MOVLW
语法: [
操作数: 0 ≤ k ≤ 255
工作原理:
受影响的状态位: 无
说明: 8 位立即数 k 送入 W 寄存器。 无
移动 f
标号
] MOVF f,d
d ∈ [0,1]
Z
移入目标寄存器。如果 d= 0,
目标寄存器是 W 寄存器。 如果
d=1 ,目标寄存器是 f 寄存器本身。
由于该指令影响状态标志位 Z ,可
用于在 d = 1 时检测数据寄存器的
内容是否为 0。
将立即数移动到 W 寄存器
标号
] MOVLW k
k → (W)
关的位置为 0。
NOP
语法: [
操作数: 无
工作原理: 空操作
受影响的状态
位:
说明: 空操作
RETFIE
语法: [
操作数: 无
工作原理:
受影响的状态
位:
空操作
标号
无
从中断返回
标号
TOS → PC,
1 → GIE
无
] NOP
] RETFIE
MOVWF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理:
受影响的状态位: 无
说明: 将数据从 W 寄存器送入
将 W 的内容移动至 f
标号
] MOVWF f
(W)→ (f)
寄存器 f。
RETLW
语法: [
操作数: 0 ≤ k ≤ 255
工作原理:
受影响的状态
位:
说明: 寄存器 W 的内容装入 8 位立即数
返回时将立即数送 W 寄存器
标号
] RETLW k
k → (W);
TOS → PC
无
“k ”。 将栈顶内容 (返回地址)
装入程序计数器。 这是双周期指
令。
DS41190C_CN 第 74 页 2004 Microchip Technology Inc.
PIC12F629/675
RLF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理: 参见下面的描述
受影响的状态
位:
说明: 寄存器 f 的内容连同进位标志位循环
RETURN
语法: [
操作数: 无
工作原理:
受影响的状态
位:
说明: 从子程序返回。 执行出栈操作,将
f 带进位左循环
标号
d ∈ [0,1]
C
左移 1 位。 如果 “d”为 0,结果存
入 W 寄存器。 如果 “d”为 1,结
果存回到寄存器 “f”。
从子程序返回
标号
TOS → PC
无
栈顶 (TOS )单元内容装入程序
计数器。 这是双周期指令。
RLF f,d
]
] RETURN
寄存器 fC
SLEEP
语法: [
操作数: 无
工作原理:
受影响的状态位:
说明: 掉电状态位,PD 被清零。 超时状
SUBLW
语法: [
操作数: 0 ≤ k ≤ 255
工作原理:
受影响的状态
位:
说明: 8 位立即数 “k ”减去 W 寄存器的
标号
00h → WDT,
0 → WDT 预分频器,
1 → TO
0 → PD
TO
态位 TO
器及其预分频器。振荡器停振,
单片机进入休眠模式。
立即数减去 W
标号
k - (W) → ( W)
C, DC, Z
内容 (使用 2 进制补码的方法)。
结果存入 W 寄存器。
SLEEP
]
,
,PD
置位。 清零看门狗定时
SUBLW k
]
RRF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理: 参见下面的描述
受影响的状态
位:
说明: 寄存器 f 的内容连同进位标志位循
f 带进位右循环
标号
] RRF f,d
d ∈ [0,1]
C
环右移 1 位。如果 “d ”为 0 ,结
果存入 W 寄存器。 如果 “d”为
1 ,结果存回到寄存器 “f ”。
寄存器 f C
SUBWF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理: (f) - (W) → ( 目标寄存器 )
受影响的状态
位:
说明: f 寄存器内容减去 W 寄存器内容
f 减去 W
标号
d ∈ [0,1]
C, DC, Z
(使用 2 进制补码的方法)。 如果
“d ”为 0 ,结果存入 W 寄存器。 如
果“d”为 1,结果存回到寄存器
“f ”。
SUBWF f,d
]
2004 Microchip Technology Inc. DS41190C_CN 第 75 页
PIC12F629/675
SWAPF
语法: [ 标号]
操作数: 0 ≤ f ≤ 127
工作原理: (f<3:0>) → ( 目标寄存器 <7:4>),
受影响的状态
位:
说明: 寄存器 “f ”的高半字节和低半字
XORLW
语法: [
操作数: 0 ≤ k ≤ 255
工作原理:
受影响的状态位:
说明: 寄存器 W 的内容与 8 位立即数
f 半字节交换
SWAPF f,d
d ∈ [0,1]
(f<7:4>) → ( 目标寄存器 <3:0>)
无
节交换。 如果 “d”为 0,结果存
入 W 寄存器。 如果 “d”为 1,
结果存回到寄存器 “f ”。
立即数和 W 异或运算
XORLW k
标号
]
(W) .XOR. k → ( W)
Z
“ k”进行异或运算。 结果存入
W 寄存器。
XORWF
语法: [
操作数: 0 ≤ f ≤ 127
工作原理: (W) .XOR. (f) →( 目标寄存器 )
受影响的状态
位:
说明: W 寄存器与 “f ”寄存器的内容进
W 和 f 异或运算
标号
d ∈ [0,1]
Z
行异或运算。 如果 “d”为 0,结
果存入 W 。 如果 “d”为 1,结果
存回到寄存器 “f ”。
XORWF f,d
]
DS41190C_CN 第 76 页 2004 Microchip Technology Inc.
PIC12F629/675
11. 0 开发支持
一系列硬件及软件开发工具对 PICmicro ®单片机提供支
持:
• 集成的开发环境
- MPLAB
• 汇编器 / 编译器 / 链接器
- MPASM
- MPLAB C17 和 MPLAB C18 C 编译器
-MPLINK
MPLIB
- MPLAB C30 C 编译器
- MPLAB ASM30 汇编器 / 链接器 / 库
• 模拟器
- MPLAB SIM 软件模拟器
- MPLAB dsPIC30 软件模拟器
• 仿真器
- MPLAB ICE 2000 在线仿真器
- MPLAB ICE 4000 在线仿真器
• 在线调试器
- MPLAB ICD 2
• 器件编程器
-PRO MATE
-PICSTART
- MPLAB PM3 器件编程器
• 低成本演示板
-PICDEM
-PICDEM.net
- PICDEM 2 Plus 演示板
-PICDEM 3演示板
-PICDEM 4演示板
-PICDEM 17演示板
-PICDEM 18R演示板
-PICDEM LIN演示板
- PICDEM USB 演示板
• 评估工具包
-K
-PICDEM MSC
-microID
-CAN
- PowerSmart
- 模拟
EEL OQ
®
IDE 软件
TM
汇编器
TM
目标链接器 /
TM
目标库管理器
®
II 通用器件编程器
®
Plus 开发编程器
TM
1 演示板
TM
演示板
®
®
®
11. 1 MP LAB 集成开发环境软件
MPLAB IDE 软件为 8/16 位单片机市场提供了前所未有
的软件开发平台。 MPLAB IDE 是基于 Windows ®平台
的应用软件,包括:
• 调试工具接口
- 模拟器
- 编程器 (单独销售)
- 仿真器 (单独销售)
- 在线调试器 (单独销售)
• 具有彩色上下文代码显示的全功能编辑器
• 多项目管理器
• 内容可直接编辑的可定制式数据窗口
• 高级源代码调试
• 鼠标停留在变量上进行查看的功能
• 丰富的在线帮助
MPLAB IDE 可以让您:
• 编辑源文件 (用汇编语言或 C 语言)
• 点击一次即可完成汇编 (或编译)并将代码下载
到 PICmicro 仿真器和模拟器工具中 (自动更新所
有项目信息)
• 可使用如下各项进行调试:
- 源文件 (汇编语言或 C 语言)
- 混合汇编语言和 C 语言
- 机器码
MPLAB IDE 在单个开发范例中支持使用多种调试工
具,包括从节约成本的模拟器到低成本的在线调试器,
再到全功能的仿真器。这样缩短了用户升级到更加灵活
而功能更强大的工具时的学习时间。
11.2 MPASM 汇编器
MPASM 汇编器是全功能通用宏汇编器,适用于所有的
PICmicro MCU。
MPASM 汇编器可生成用于 MPLINK 目标链接器的可重
定位目标文件、Intel
使用状况和符号参考的 MAP 文件、包含源代码行及生
成机器码的绝对 LST 文件以及用于调试的 COFF 文件。
MPASM 汇编器具有如下特征:
• 集成在 MPLAB IDE 项目中
• 用户定义的宏可对汇编代码进行流水线处理
• 对多用途源文件进行条件汇编
• 允许完全控制汇编过程的指令
®
标准 HEX 文件、有关存储器详细
2004 Microchip Technology Inc. DS41190C_CN 第 77 页
PIC12F629/675
11.3 MPLAB C17 和 MPLAB C18
C 编译器
MPLAB C17 和 MPLAB C18 代码开发系统是完全的
ANSI C 编译器,分别适用于 Microchip 的 PIC17CXXX
和 PIC18CXXX 系列单片机。这些编译器可提供其它编
译器所不具有的强大的集成功能和卓越的代码优化能
力,且使用方便。
为便于源代码调试,编译器提供了针对 MPLAB IDE 调
试器的优化符号信息。
11. 4 MPLINK 目标链接器 /MPLIB 目标库
管理器
MPLINK 目标链接器包含了由 MPASM 汇编器、MPLAB
C17 和 MPLAB C18 C 编译器产生的可重定位目标。通
过使用链接器脚本指令,它还可预编译库中的可重定位
目标进行链接。
MPLIB 目标库管理器管理预编译代码库文件的创建和修
改。当从源文件中调用库中的一段子程序时,只有该应
用程序中包含此子程序的模块被链接到应用中。这样可
使大型库在许多不同应用中被有效地利用。
目标链接器 / 库具有如下特征:
• 高效地连接单个的库而不是许多小文件
• 通过将相关的模块组合在一起来增强代码的可维护
性
• 通过简单的模块列表、替换、删除和抽取可灵活地
创建库
11.5 MPLAB C30 C 编译器
MPLAB C30 C 编译器是全功能符合 ANSI 标准的优化
编译器,它能将标准 ANSI C 程序转变成 dsPIC30F 汇
编语言源代码。该编译器还支持许多命令行选项和语言
扩展,以充分利用 dsPIC30F 器件的硬件功能,同时满
足编译器代码发生器较高的控制要求。
MPLAB C30 附带了一个完整的 ANSI C 标准库。所有
库函数已经过验证且符合 ANSI C 库标准。该库包括执
行字符串操作、动态存储器分配、数据转换、时间校准
等函数以及数学函数(三角函数、指数函数和双曲线函
数)。该编译器提供使用 MPLAB IDE 进行高级源代码
调试所用的符号信息。
11.6 MPLAB ASM30 汇编器、链接器和
库.
MPLAB ASM30 汇编器为 dsPIC30F 器件提供转换自符
号汇编语言的可重定位的机器码。 MPLAB C30 编译器
使用该汇编器生成目标文件。汇编器产生可重定位目标
文件之后,可将这些目标文件存档,或与其它可重定位
目标文件和存档链接以生成可执行文件。该汇编器有如
下显著特征:
• 支持整个 dsPIC30F 指令集
• 支持定点数据和浮点数据
• 命令行界面
• 丰富的指令集
• 灵活的宏语言
• MPLAB IDE 兼容性
11.7 MPLAB SIM 软件模拟器
MPLAB SIM 软件模拟器在指令级对 PICmicro 系列单片
机进行模拟,使用户可在 PC 主机的环境下进行代码开
发。对于任何给定的指令,用户均可对数据区进行检查
或修改,并通过文件或用户自定义的按键来激励任意引
脚。指令的执行可采用单步、运行到断点或跟踪模式。
MPLAB SIM 模拟器完全支持使用 MPLAB C17 和
MPLAB C18 C 编译器以及 MPASM汇编器的符号调试。
该软件模拟器为实验室环境外开发和调试代码提供了灵
活性,是一款完美且经济的软件开发工具。
11.8 MPLAB SIM30 软件模拟器
MPLAB SIM30 模拟器在指令级对 dsPIC30F 系列单片
机进行模拟,允许用户在 PC 主机的环境下进行开发。
对于任何给定的指令,用户可对数据区域进行检查或修
改,并通过文件或用户自定义的按键来激励任意引脚。
MPLAB SIM30 模拟器完全支持使用 MPLAB C30 C 编
译器和 MPLAB ASM30 汇编器的符号调试。该模拟器可
运行在命令行模式或自动批处理任务,或运行在
MPLAB IDE 中。此高速模拟器是为调试、分析及优化
时间密集型 DSP 程序而设计的。
DS41190C_CN 第78 页 2004 Microchip Technology Inc.
PIC12F629/675
11.9 MPLAB ICE 2000 高性能通用在线仿
真器
MPLAB ICE 2000 通用在线仿真器旨在为产品开发工程
师提供一整套用于 PICmicro 单片机的设计工具。
MPLAB ICE 2000 在线仿真器的软件控制由 MPLAB 集
成开发环境平台提供,它允许在单一环境下进行编辑、
创建、下载以及源代码调试。
MPLAB ICE 2000 是全功能仿真器系统,它具有增强的
跟踪、触发和数据监控功能。处理器模块可互换,使系
统可轻松进行重新配置以适应各种不同处理器的仿真需
要。 MPLAB ICE 在线仿真器的通用架构允许对其进行
扩展以支持新的 PICmicro 单片机。
MPLAB ICE 2000 在线仿真器系统设计为一款实时仿真
系统,该仿真系统具备通常只有昂贵的开发工具中才有
的高级功能。选择 PC 平台和 Microsoft
操作系统可使这些功能在一个简单而统一的应用中得到
很好的利用。
®
Windows 32 位
11.10 MPLAB ICE 4000 高性能通用在线仿
真器
MPLAB ICE 4000 通用在线仿真器旨在为产品开发工程
师提供一整套用于高端 PICmicro 单片机的开发设计工
具。MPLAB ICE 在线仿真器的软件控制由 MPLAB 集成
开发环境平台提供,它允许在单个环境下进行编辑、创
建、下载以及源代码调试。
MPLAB ICE 4000 是高级的仿真系统,除具备 MPLAB
ICE 2000 的所有功能外,它还增加了仿真存储容量以及
适用于 dsPIC30F 和 PIC18XXXX 器件的高速性能。该
仿真器的先进特性包括复杂触发和定时功能,高达2 Mb
的仿真存储容量以及实时变量监视功能。
MPLAB ICE 4000 在线仿真系统设计为一款实时仿真系
统,该仿真系统具备通常只有在更加昂贵的开发工具中
才有的高级功能。选择 PC 平台和 Microsoft Windows
32 位操作系统可使这些功能在一个简单而统一的应用
程序中得以很好的利用。
11.11 MPLAB ICD 2 在线调试器.
Microchip 的在线调试器 MPLAB ICD 2 是一款功能强大
而成本低廉的运行时开发工具,通过 RS-232 或高速
USB 接口与 PC 主机相连。该工具基于闪存 PICmicro
MCU,可用于开发本系列及其它 PICmicro 单片机。
MPLAB ICD 2 使用了闪存器件中内建的在线调试功能。
该功能结合 Microchip 的在线串行编程 (ICSP
议,可在 MPLAB 集成开发环境的图形用户界面上提供
成本效益很高的在线闪存调试。这使设计人员可通过设
置断点、单步运行以及对变量、CPU 状态以及外设寄存
器进行监视的方法实现源代码的开发和调试。其全速运
行特性可对硬件和应用进行实时测试。MPLAB ICD 2 还
可用作某些 PICmicro 器件的开发编程器。
TM
)协
11.12 PRO MATE II 通用器件编程器
PRO MATE II 是一款通用的、符合 CE 规范的器件编程
器,其可编程电压设置在 VDDMIN 和 VDDMAX 之间时可
获得最高可靠性。它有一个 LCD 显示器用来显示指令和
错误信息,以及一个支持各种封装类型的可拆卸模块化
插槽装置。在单机模式下,PRO MATE II 器件编程器不
必与 PC 相连即可对 PICmicro 器件进行读取、校验和编
程。在该模式下它还可设置代码保护。
11.13 MPLAB PM3 器件编程器
MPLAB PM3 是一款通用的、符合 CE 规范的器件编程
器,其可编程电压设置在 VDDMIN 和 VDDMAX 之间时可
获得最高可靠性。它有一个用来显示菜单和错误信息的
大 LCD 显示器(128 x 64 ),以及一个模块化可拆卸插
槽装置,用以支持各种封装类型。编程器标准配置中带
有一根 ICSP™ 电缆。在单机模式下, MPLAB PM3 器
件编程器不必与 PC 相连即可对 PICmicro 器件进行读
取、校验和编程。在该模式下它还可设置代码保护。
MPLAB PM3 通过 RS-232 或 USB 电缆连接到 PC 主机
上。MPLAB PM3 具备高速通信能力以及优化算法,可
对存储器很大的器件进行快速编程,它还采用 SD/MMC
卡用作文件存储及数据安全应用。
2004 Microchip Technology Inc. DS41190C_CN 第 79 页
PIC12F629/675
11.14 PICSTART Plus 开发编程器
PICSTART Plus 开发编程器是一款易于使用而成本低廉
的原型编程器。它通过 COM (RS-232) 端口与PC 相连。
MPLAB 集成开发环境软件使得该编程器的使用简便、
高效。PICSTART Plus开发编程器支持大部分PICmicro
器件,其引脚数最多可达 40 个。引脚数较多的器件,如
PIC16C92X 和 PIC17C76X ,可通过连接一个适配器插
槽来获得支持。PICSTART Plus 开发编程器符合 CE 规
范。
11.15 PICDEM 1 PICmicro 演示板
ICDEM 1 演示板可以演示 PIC16C5X (PIC16C54 到
PIC16C58A)、PIC16C61、PIC16C62X、PIC16C71、
PIC16C8X、PIC17C42、PIC17C43 和 PIC17C44 单片
机的功能。它包含运行基本演示程序所必需的软硬件。
借助于 PRO MATE II 器件编程器或 PICSTART Plus 开
发编程器,用户可对随 PICDEM 1 演示板一起提供的单
片机样片编程。可将 PICDEM 1 演示板与 MPLAB ICE
在线仿真器相连,进行测试。演示板所提供的试验布线
区可供用户添加应用元件来扩展电路。其它功能部件包
括一个RS-232 接口、一个用于仿真模拟输入的电位计、
按钮开关以及 8 个 LED 。
11.16 PICDEM.net 因特网 / 以太网演示板
PICDEM.net 演示板是一块使用 PIC18F452 单片机和
TCP/IP 固件的因特网 / 以太网演示板。该演示板支持所
有符合 PIC16F877 或 PIC18C452 标准引脚排列的 40
引脚 DIP 器件。该工具包具备方便使用的 TCP/IP 堆栈、
带 HTML 的网络服务器、一个用于 Xmodem 下载至网
页的 24L256 串行 EEPROM 、ICSP/MPLAB ICD 2 接口
连接器、一个以太网接口、 RS-232 接口以及一个 16 x
“
2 LCD 显示器。还包括 Jeremy Bentham 所著的
IP Lean, Web Servers for Embedded Systems”一书及
配套 CD-ROM 。
TCP/
11.17 PICDEM 2 Plus 演示板
PICDEM 2 Plus 演示板支持多种 18 、 28 和 40 引脚的
单片机,包括 PIC16F87X 和 PIC18FXX2 器件。该演示
板包含了运行基本演示程序所需的软硬件。借助于PRO
MATE II 器件编程器、PICSTART Plus 开发编程器或带
有通用编程器适配器的 MPLAB ICD 2 ,用户可对随
PICDEM 2 演示板一起提供的单片机样片编程。MPLAB
ICD 2 和 MPLAB ICE 在线仿真器也可以与 PICDEM 2
演示板一起使用,进行固件测试。演示板所提供的试验
布线区可用来添加应用元件以扩展电路。该演示板工具
包还包括一个 RS-232 接口、2 x 16 LCD 显示器、一个
压电扬声器、一个板上温度传感器、 4 个 LED 以及
PIC18F452 和 PIC16F877 闪存单片机样片。
11.18 PICDEM 3 PIC16C92X 演示板
PICDEM 3 演示板支持 PLCC 封装形式的 PIC16C923
和PIC16C924 。它包含运行基本演示程序所必需的软硬
件。
11.19 PICDEM 4 8/14/18 引脚演示板
PICDEM 4 可用于演示 8、14、18 引脚 PIC16XXXX 和
PIC18XXXX MCU,包括 PIC16F818/819、PIC16F87/
88、PIC16F62XA和 PIC18F1320单片机系列。PICDEM
4 旨在显示这些低引脚数器件的许多功能,包括 LIN 和
采用 ECCP 的电机控制功能。该演示板为低功耗操作特
别提供了一些装置,如超级电容电路以及跳线器,可禁
止电路板上的硬件以使低功耗模式下的电流减小。演示
板上包括晶振、 RC 或固定振荡器模式,以及用于连接
9 伏电源适配器或电池的 5 伏稳压器,DB-9 RS-232 接
口,用于通过 ICSP 和 MPLAB ICD 2 进行开发编程的
ICD 连接器,2 x 16 液晶显示器,用于 H 桥电机驱动器
的 PCB 引脚布局,以及 LIN 收发器和 EEPROM 。该 演
示板还具备:扩展用主机,8 个 LED,4 个电位器,3 个
按钮开关以及样机制作区。工具包内还提供
PIC16F627A 和 PIC18F1320 样片各一枚。教程软件以
及用户指南也含在演示板工具包中。
DS41190C_CN 第80 页 2004 Microchip Technology Inc.
PIC12F629/675
11.20 PICDEM 17 演示板
PICDEM 17 演示板是一种评估板,可以演示几种
Microchip 单片机的功能,包括 PIC17C752、
PIC17C756A、 PIC17C762 和 PIC17C766。它包含了
一枚已编程的样片。用户可使用 PRO MATE II 器件编程
器或 PICSTART Plus 开发编程器根据自己的应用对器
件进行再编程。 PICDEM 17 演示板支持从外部电路板
的闪存存储器下载或执行程序。板上还配置有宽大的实
验布线区供用户扩展硬件。
11.21 PICDEM 18R PIC18C601/801 演示
板
PICDEM 18R 演示板用于协助用户进行 Microchip
PIC18C601/801 系列单片机的开发。它用硬件实现了 8
位多路信号复用 / 信号分离和 16 位存储器模式。这块板
包含 2 MB 外部闪存存储器、128 KB SRAM 存储器以及
串行 EEPROM ,允许访问 PIC18C601/801 支持的各种
存储器类型。
11.22 PICDEM LIN PIC16C43X 演示板
功能强大的 LIN 软硬件工具包包括一系列电路板和 3 枚
PICmicro 单片机。外形小巧的 PIC16C432 和
PIC16C433 用作 LIN 通信中的从机,具备板上 LIN 收
发器。PIC16F874 闪存单片机作为主机。所有这三枚单
片机均经过固件编程以实现 LIN 总线通信。
11.24 PICDEM USB PIC16C7X5 演示板
PICDEM USB 演示板展示了 PIC16C745 和 PIC16C765
USB 单片机的功能。该板为将来的 USB 产品打下了基
础。
11. 2 5 评估和编程工具
除了 PICDEM 系列电路之外, Microchip 还为这些产品
提供了一系列评估工具包和演示软件。
• 用于 Microchip 的 HCS 数据安全产品的 K
评估和编程工具
• 用于汽车网络应用的 CAN 开发工具包
• 模拟电路设计板和滤波器设计软件
• PowerSmart 电池充电评估 / 校准工具包
®
• IrDA
• microID 开发和 rfLab
• 用于存储器评估和耐久性估算的 SEEVAL
• 用于开关模式电源供电、高功率 IR 驱动器、 Σ−∆
有关演示和评估工具包的完整列表,请查阅 Microchip
公司网页以及最新的产品选型指南。
开发工具包
TM
开发软件
具包
ADC 和流速传感器的 PICDEM MSC 演示板
EEL OQ
®
设计工
11.23 PICkitTM1 闪存入门工具包
作为一套完整的 “盒装开发系统”, PICkit 闪存入门工
具包中包含由多个部分组成的使用方便的电路板,可用
于 8/14 引脚闪存 PIC
电路板通过 USB 供电,可在简单的 Windows GUI 下工
作。PICkit 1 入门工具包中包括用户指南(在 CD ROM
上)、PICkit 1 教程软件和各种应用程序代码。该工具包
还包括 MPLAB
件“8 引脚闪存 PIC
根 USB 接口线缆。它支持目前所有的 8/14 引脚闪存 PIC
单片机,以及许多计划中将要推出的器件。
®
单片机的编程、评估以及开发。
®
IDE(集成开发环境)软件、软件和硬
®
单片机窍门和点子”小册子和一
2004 Microchip Technology Inc. DS41190C_CN 第 81 页
PIC12F629/675
注:
DS41190C_CN 第82 页 2004 Microchip Technology Inc.
PIC12F629/675
12.0 电气规范
绝对最大额定值
偏置电压下的环境温度 ......................................................................................................................-40°C 至 +125°C
储存温度............................................................................................................................................-65°C 至 +150°C
DD 相对于 V SS 的电压 ........................................................................................................................ -0.3 至 +6.5V
V
相对于 Vss 的电压 ..................................................................................................................... -0.3 至 +13.5V
MCLR
其他引脚相对于 V
(1)
总功耗
SS 引脚的最大输出电流................................................................................................................................. 300 mA
V
DD 引脚的最大输入电流 ................................................................................................................................250 mA
V
输入箝位电流, I
输出箝位电流, I
任一 I/O 引脚的最大输出灌电流 ........................................................................................................................25 mA
任一 I/O 引脚的最大输出拉电流 ........................................................................................................................25 mA
所有 GPIO 的最大灌电流 ................................................................................................................................ 125 mA
所有 GPIO 的最大拉电流 ................................................................................................................................ 125 mA
........................................................................................................................................................800 mW
SS 的电压 .................................................................................................. -0.3V 至(VDD + 0.3V)
IK (VI < 0 或 VI > V DD)................................................................................................... ± 20 mA
OK (Vo < 0 或 Vo >V DD)................................................................................................. ± 20 mA
注 1:功耗按如下公式计算: P
† 注: 如果工作条件超过上述 “绝对最大额定值”可能会对器件造成永久的损坏。 上述值仅为运行条件极大值,我们
建议器件不要在该极大值或该规范范围以外运行。 长时间在最大额定值条件下进行操作会影响器件的可靠性。
注: 如果 MCLR 引脚上的尖峰电压低于 VSS ,感应电流大于 80 mA ,可能引起死锁。 因此,当对 MCLR 施加低
电平时,应该使用一个 50-100 Ω 的串联电阻,而不是直接将引脚电平拉为 VSS 。
DIS = V DD x {I DD - ∑ I OH } + ∑ {(V DD -V OH ) x I OH } + ∑ (V Ol x I OL )。
2004 Microchip Technology Inc. DS41190C_CN 第 83 页
PIC12F629/675
图 12-1: PIC12F629/675 ( A/D 禁止)电压—频率关系图
A ≤ +125° C
V
DD
( V)
-40° C ≤ T
5.5
5.0
4.5
4.0
3.5
3.0
2.5
2.0
0
注 1 :阴影区域表示允许的电压 / 频率组合。
4
10
81 6 12 20
频率(MHz )
图 12-2: PIC12F675(A/D使能)电压—频率关系图
V
DD
( V)
-40° C ≤ T
5.5
5.0
4.5
4.0
3.5
3.0
2.5
A ≤ +125° C
2.0
0
注 1 :阴影区域表示允许的电压 / 频率组合。
DS41190C_CN 第 84 页 2004 Microchip Technology Inc.
4
10
81 6 12 20
频率(MHz )
图 12-3: PIC12F675 (A/D 使能)电压—频率关系图
0 °C ≤ T
5.5
5.0
4.5
A ≤ +125° C
PIC12F629/675
DD
4.0
3.5
3.0
2.5
V
( V)
2.2
2.0
0
注 1 :阴影区域表示允许的电压 / 频率组合。
4
81 6 12 20
10
频率(MHz )
2004 Microchip Technology Inc. DS41190C_CN 第 85 页
PIC12F629/675
12.1 DC 特性: PIC12F629/675-I (工业级), PIC12F629/675-E (扩展级)
标准工作条件 (除非另外说明)
DC 特性
工作温度 -40 °C ≤ T
-40 °C ≤ T A ≤ +125 °C( 扩展级 )
参数编
号
D001
D001A
D001B
D001C
D001D
符号 特性
DD
V
供电电压
最小值典型值最大
值
2.0
2.2
2.5
3.0
4.5
-
-
-
-
-
5.5
5.5
5.5
5.5
5.5
单位 条件
F
V
PIC12F629/675 的 A/D 模块关闭
V
PIC12F675 的 A/D 模块启动, 0°C 至
V
+125°C
V
PIC12F675 的 A/D 模块启动, -40°C 至
V
+125°C
4 MH
D002 V
DR
D003 VPOR
RAM 数据保持电压
VDD 启动电压确保能够产
(1)
1.5*
-
--
SS
V
-
V
器件处于休眠模式
V
详情请见上电复位的有关章节
生内部上电复位信号
D004 S
VDD
VDD 上升速率确保产生内
0.05*
--
V/ms
详情请见上电复位的有关章节
部上电复位信号
D005 V
BOD
-
2.1
-
V
* 这些参数仅为特征值,未经测试。
† 除非另外说明,“典型值”栏中的数据是在 5.0V、25°C 的条件下测得的。 这些参数仅供设计参考,未经测试。
注 1: 这是在不丢失 RAM 数据的前提下,休眠模式中 V
DD 所能降到的最小电压值。
A ≤ +85° C( 工业级 )
OSC < = 4 MHz:
Z < F OSC < = 10 MHz
DS41190C_CN 第 86 页 2004 Microchip Technology Inc.
12.2 DC 特性: PIC12F629/675-I (工业级)
标准工作条件 (除非另外说明)
工作温度 -40 °C ≤ TA ≤ +85 °C( 工业级 )
PIC12F629/675
参数
编号
D010
器件特性
供电电流 (IDD ) -
D011
D012
D013
D014
D015
D016
D017
† 除非另外说明,“典型值”栏的数据是在 5.0V 、25°C 条件下测得的。 这些参数仅供设计参考,未经测试。
注 1 :在有源工作模式下,所有 I
DD ; MCLR = V DD ; WDT 禁止;
至 V
2: 供电电流主要随工作电压和频率而变化。 其它因素,如 I/O 引脚负载和开关频率、振荡器类型、内部代码
执行模式和温度也会影响电流消耗。
最小值典型值最大
91 6µ A2 . 0F
18 28 µ A3 . 0
-
35 54 µ A5 . 0
-
110 1 50 µ A2 . 0F
-
190 280 µ A3 . 0
-
330 450 µ A5 . 0
-
220 280 µ A2 . 0F
-
370 650 µ A3 . 0
-
0.6 1.4 mA 5.0
-
70 110 µ A2 . 0F
-
140 250 µ A3 . 0
-
260 390 µ A5 . 0
-
180 250 µ A2 . 0F
-
320 470 µ A3 . 0
-
580 850 µ A5 . 0
-
340 450 µ A2 . 0F
-
500 700 µ A3 . 0
-
0.8 1.1 mA 5.0
-
180 250 µ A2 . 0F
-
320 450 µ A3 . 0
-
580 800 µ A5 . 0
-
2.1 2.95 mA 4.5 F
-
2.4 3.0 mA 5.0
-
DD 测量值的测试条件为: OSC1 为外部方波,满幅;所有 I/O 引脚均为三态,拉
值
单位
DD
V
OSC = 32 kHz
LP 振荡模式
OSC = 1 MHz
XT 振荡模式
OSC = 4 MHz
XT 振荡模式
OSC = 1 MHz
EC 振荡模式
OSC = 4 MHz
EC 振荡模式
OSC = 4 MHz
INTOSC 模式
OSC = 4 MHz
EXTRC 模式
OSC = 20 MHz
HS 振荡模式
条件
备注
2004 Microchip Technology Inc. DS41190C_CN 第 87 页
PIC12F629/675
12.3 DC 特性: PIC12F629/675-I (工业级)
标准工作条件 (除非另外说明)
工作温度 -40 °C ≤ TA ≤ +85 °C( 工业级 )
参数
编号
D020
器件特性
掉电基线电流
PD)
(I
D021
D022
D023
D024
D025
D026
† 除非另外说明,“典型值”栏的数据是在 5.0V, 25°C 条件下测得的。 这些参数仅设计参考,未经测试。
注 1 :外设电流是基本 I
IDD 或 IPD 电流得出。计算总电流消耗时应该使用最大值。
2: 休眠模式下的掉电电流与振荡器类型无关。掉电电流是在器件休眠时,所有 I/O 引脚处于高阻态并且连接
DD 时测得的。
到 V
(1)
SC 电流
(1)
条件
注
REF 和
(1)
(1)
(1)
(1)
最小值典型值最大
0.99 700 nA 2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
DD 或 I PD 电流与该外设时使能额外消耗的电流之和。外设 ∆ 电流可以从该有限值中减去
1.2 770 nA 3.0
2.9 995 nA 5.0
0.3 1.5 µ A2 . 0
1.8 3.5 µ A3 . 0
8.4 17 µ A5 . 0
58 70 µ A3 . 0
109 130 µ A5 . 0
3.3 6.5 µ A2 . 0
6.1 8.5 µ A3 . 0
11. 5 1 6 µ A5 . 0
58 70 µ A2 . 0
85 100 µ A3 . 0
138 160 µ A5 . 0
4.0 6.5 µ A2 . 0
4.6 7.0 µ A3 . 0
6.0 10.5 µ A5 . 0
1.2 775 nA 3.0
0.0022 1.0 µ A5 . 0
值
单位
DD
V
WDT、 BOD、比较器、 V
T1OSC 禁止
WDT 电流
BOD 电流
比较器电流
REF 电流
CV
T1 O
A/D 电流
DS41190C_CN 第 88 页 2004 Microchip Technology Inc.
12.4 DC 特性: PIC12F629/675 -E (扩展级)
标准工作条件 (除非另外说明)
工作温度 -40 °C ≤ TA ≤ +125 °C (扩展级)
PIC12F629/675
参数
编号
D010E
器件特性
供电电流 (IDD ) -
D011E
D012E
D013E
D014E
D015E
D016E
D017E
† 除非另外说明,“典型值”栏的数据是在 5.0V、25°C 条件下测得的。这些参数仅供设计参考,未经测试。
注 1 :在有源工作模式下,所有 I
DD ; MCLR = V DD ; WDT 禁止;
至 V
2: 供电电流主要随工作电压和频率而变化。 其它因素,如 I/O 引脚负载和开关频率、振荡器类型、内部代码
执行模式和温度也会影响电流消耗。
最小值典型值最大
91 6µ A2 . 0F
18 28 µ A3 . 0
-
35 54 µ A5 . 0
-
110 1 50 µ A2 . 0F
-
190 280 µ A3 . 0
-
330 450 µ A5 . 0
-
220 280 µ A2 . 0F
-
370 650 µ A3 . 0
-
0.6 1.4 mA 5.0
-
70 110 µ A2 . 0F
-
140 250 µ A3 . 0
-
260 390 µ A5 . 0
-
180 250 µ A2 . 0F
-
320 470 µ A3 . 0
-
580 850 µ A5 . 0
-
340 450 µ A2 . 0F
-
500 780 µ A3 . 0
-
0.8 1.1 mA 5.0
-
180 250 µ A2 . 0F
-
320 450 µ A3 . 0
-
580 800 µ A5 . 0
-
2.1 2.95 mA 4.5 F
-
2.4 3.0 mA 5.0
-
DD 测量值的测试条件为: OSC1 为外部方波,满幅;所有 I/O 引脚均为三态,拉
值
单位
DD
V
OSC = 32 kHz
LP 振荡模式
OSC = 1 MHz
XT 振荡模式
OSC = 4 MHz
XT 振荡模式
OSC = 1 MHz
EC 振荡模式
OSC = 4 MHz
EC 振荡模式
OSC = 4 MHz
INTOSC 模式
OSC = 4 MHz
EXTRC 模式
OSC = 20 MHz
HS 振荡器模式
条件
备注
2004 Microchip Technology Inc. DS41190C_CN 第 89 页
PIC12F629/675
12.5 DC 特性: PIC12F629/675 -E (扩展级)
标准工作条件 (除非另外说明)
工作温度 -40 °C ≤ TA ≤ +125 °C ( 扩展级 )
参数
编号
D020E
器件特性
基本断电电流 (IPD ) -
D021E
D022E
D023E
D024E
D025E
D026E
† 除非另外说明,“典型值”栏的数据是在 5.0V、25°C 条件下测得的。这些参数仅供设计参考,未经测试。
注 1 :外设电流等于基本 I
减去基本 IDD 或 IPD 电流得到。计算总电流消耗时应该使用最大值。
2: 休眠模式下的掉电电流与振荡器类型无关。 掉电电流是在器件休眠时,所有 I/O 引脚处于高阻态并且连接
DD 时测得的。
到 V
REF 电流
SC 电流
(1)
条件
注
(1)
(1)
(1)
(1)
(1)
最小值典型值最大
0.00099 3.5 µ A2 . 0
0.0012 4.0 µ A3 . 0
-
0.0029 8.0 µ A5 . 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
DD 或 I PD 电流与该外设使能时所额外消耗的电流之和。外设 ∆ 电流可以从此极限值中
0.3 6.0 µ A2 . 0
1.8 9.0 µ A3 . 0
8.4 20 µ A5 . 0
58 70 µ A3 . 0
109 130 µ A5 . 0
3.3 10 µ A2 . 0
6.1 13 µ A3 . 0
11. 5 2 4 µ A5 . 0
58 70 µ A2 . 0
85 100 µ A3 . 0
138 165 µ A5 . 0
4.0 10 µ A2 . 0
4.6 12 µ A3 . 0
6.0 20 µ A5 . 0
0.0012 6.0 µ A3 . 0
0.0022 8.5 µ A5 . 0
值
单位
DD
V
WDT、 BOD、比较器、 VREF 和
T1OSC 禁止
WDT 电流
BOD 电流
比较器电流
CV
T1 O
A/D 电流
DS41190C_CN 第 90 页 2004 Microchip Technology Inc.
PIC12F629/675
12.6 DC 特性: PIC12F629/675-I (工业级), PIC12F629/675-E (扩展级)
标准工作条件 (除非另外说明)
DC 特性
工作温度 -40 °C ≤ T
-40 °C ≤ T A ≤ +125 °C( 扩展级 )
参数
编号
符号 特性 最小值
典型
最大值 单位 条件
值
输入低电压
V
IL
I/O 端口
D030
带 TTL 缓冲器
D030A V
D031
带施密特触发缓冲器
D032 MCLR, OSC1 (RC mode) VSS
D033
D033A
OSC1 (XT 和 LP 模式 )
OSC1 (HS 模式 )
V
SS
SS
V
SS
SS
V
V
SS
-
-
-
-
-
-
0.8 V
0.15 VDD V
0.2 VDD V
0.2 VDD V
0.3 V
0.3 VDD V
输入高电压
IH
V
I/O 端口
D040
带 TTL 缓冲器
D040A
D041
带施密特触发缓冲器
D042 MCLR
D043
D043A
D043B
D070 I
OSC1 (XT 和 LP 模式 )
OSC1 (HS 模式 )
OSC1 (RC 模式 )
PUR
GPIO 弱上拉电流
输入泄漏电流
D060 IIL
D060A
D060B V
I/O 端口
模拟输入
REF
D061 MCLR
D063 OSC1
(2)
(3)
2.0
(0.25 VDD+0.8)
0.8 V
DD
0.8 VDD
1.6
0.7 V
DD
0.9 VDD
50* 250 400* µA
-
-
-
-
-
-
-
-
-
-
-
-
-
VDD
VDD
VDD
VDD V
VDD V
VDD V
VDD V
± 0.1 ± 1 µA
± 0.1 ± 1 µA
± 0.1 ± 1 µA
± 0.1 ± 5 µA
± 0.1 ± 5 µA
输出低电压
D080 V
D083
OL
I/O 端口
OSC2/CLKOUT (RC 模式 )
--
--
0.6 V IOL = 8.5 mA, VDD = 4.5V
0.6 V IOL = 1.6 mA, VDD = 4.5V
输出高电压
D090 V
D092
OH
I/O 端口
OSC2/CLKOUT (RC 模式 )
* 这些参数仅为特征值,未经测试。
DD - 0.7
V
V
DD - 0.7
--
--
† 除非另外说明,“典型值”栏的数据是在 5.0V 、 25 ° C 条件下测得的。这些参数仅供设计参考,未经测试。
注 1: 在 RC 振荡器配置中, OSC1/CLKI 引脚是施密特触发器输入。在 RC 模式下,建议不要使用外部时钟。
2 :MCLR 引脚上的泄漏电流和所施加的电压密切相关。指定的电平表示正常工作条件。当输入电压不同时,测
得的泄漏电流可能较大。
3 :负电流定义为引脚驱动电流。
A ≤ +85° C( 工业级 )
4.5V ≤ V
DD ≤ 5.5V
否则
整个范围
( 注 1)
( 注 1)
V
V
4.5V ≤ V
否则
DD ≤ 5.5V
整个范围
( 注 1)
( 注 1)
VDD = 5.0V, VPIN = VSS
V
SS ≤ V PIN ≤ V DD,
引脚处于高阻态
SS ≤ V PIN ≤ V DD
V
V
SS ≤ V PIN ≤ V DD
V
SS ≤ V PIN ≤ V DD
SS ≤ V PIN ≤ V DD、 XT、 HS
V
和 LP 振荡器配置
(Ind.)
(Ind.)
OL = 1.2 mA, V DD = 4.5V
I
(Ext.)
V
I
OH = -3.0 mA, V DD = 4.5V
(Ind.)
V
I
OH = -1.3 mA, V DD = 4.5V
(Ind.)
I
OH = -1.0 mA, V DD = 4.5V
(Ext.)
2004 Microchip Technology Inc. DS41190C_CN 第 91 页
PIC12F629/675
12.7 DC 特性: PIC12F629/675-I ( 工业级 ), PIC12F629/675-E ( 扩展级 ) ( 续 )
标准工作条件 (除非另外说明)
DC 特性
工作温度 -40 °C ≤ T
工作温度 -40 °C ≤ T
参数
编号
符号 特性 最小值 典型值 最大值 单位 条件
输出引脚上的容性负载要求
D100 C
D101 C
OSC2
OSC2 引脚 - -
IO
所有 I/O 引脚 - -
15* pF
50* pF
数据 EEPROM 存储器
D120 ED
D120A E
D121 V
D122 T
D123 T
D124 T
字节耐擦写次数
D
字节耐擦写次数
DRW
读写时的 VDD 电压
DEW
擦 / 写周期时间 -
RETD
特性保持
刷新
(1)
前的总擦 / 写周期数
REF
100K 1M
10K 100K
MIN
V
-
56 m s
40
- - 年 假定未违反其它规范
1M 10M
-
-
5.5 V
-
程序闪存存储器
D130 EP
D130A E
D131 V
D132 V
D133 T
D134 T
电池耐久性
D
电池耐久性
PR
读操作时的 VDD 电压
PEW
擦 / 写时的 VDD 电压
PEW
擦 / 写周期时间 -
RETD
特性保存期
10K 100K
1K 10K
MIN
V
4.5
-
-
22 . 5 m s
40
- - 年 假如未违反其它规范
-
-
5.5 V
5.5 V
* 这些参数仅为特征值,未经测试。
† 除非另外说明,“典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。
注 1 :更多信息请参阅第 8.5.1 节。
A ≤ +85° C( 工业级 )
A ≤ +125° C( 扩展级 )
当使用外部时钟驱动 OSC1 时
处于 XT 、 HS 和 LP 模式
E/W
-40° C ≤ TA ≤ +85° C
E/W
+85° C ≤ TA ≤ +125° C
使用 EECON 进行读写
VMIN = 最小工作电压
E/W
-40° C ≤ TA ≤ +85° C
E/W
-40° C ≤ TA ≤ +85° C
E/W
+85° C ≤ TA ≤ +125° C
VMIN = 最小工作电压
DS41190C_CN 第 92 页 2004 Microchip Technology Inc.
12.8 时序参数符号
可根据以下格式之一来创建时序参数符号:
1. TppS2ppS
2. TppS
T
F 频率 T 时间
小写字母 (pp )及其含义:
pp
cc CCP1 osc OSC1
ck CLKOUT rd RD
cs CS
di SDI sc SCK
do SDO ss SS
dt 数据输入
io I/O 端口
mc MCLR
大写字母及其含义:
S
F 下降 P 周期
H 高 R 上升
I 无效 (高阻态) V 有效
L 低 Z 高阻态
rw RD 或 WR
t0 T0CKI
t1 T1CKI
wr WR
PIC12F629/675
图 12-4: 负载条件
负载条件
引脚 引脚
RL =464Ω
CL = 50 pF 适用于所有引脚
15 pF 适用于 OSC2 输出引脚
1
VDD/2
R
L
L
C
V
SS
负载条件
2
C
L
V
SS
2004 Microchip Technology Inc. DS41190C_CN 第 93 页
PIC12F629/675
12.9 AC 特性: PIC12F629/675 (工业级,扩展级)
图 12-5: 外部时钟时序
Q4 Q1 Q2 Q3 Q4 Q1
OSC1
1
2
CLKOUT
表 12-1: 外部时钟时序要求
3
3
4
4
参数
编号
1T
2T
3T o s L ,
4
符号 特性 最小值 典型值 最大值 单位 条件
(1)
(1)
(1)
(1)
(1)
DC
DC
DC
DC
5
-
DC
0.1
1
27
50
50
250
-
-
-
-
-
4
-
-
-
-
-
-
-
37 kHz
4M H z
20 MHz
20 MHz
37 kHz
-
4M H z
4M H z
20 MHz
∞µs
∞ ns
∞ ns
∞ ns
27 200 µs
-
250
250
50
200 T
2*
20*
100 *
--
--
--
250
-
--nsRC 振荡模式
10,000 ns
-
1,000 ns
-
CY DC ns TCY = 4/F OSC
--µs LP 振荡器, T
--nsHS 振荡器, T
--nsXT 振荡器, T
50* ns
25* ns
15* ns
MHz
ns
LP 振荡模式
XT 模式
HS 模式
EC 模式
LP 振荡模式
INTOSC 模式
RC 振荡模式
XT 振荡模式
HS 振荡模式
LP 振荡模式
HS 振荡模式
EC 振荡模式
XT 振荡模式
LP 振荡模式
INTOSC 模式
XT 振荡模式
HS 振荡模式
OSC L/H 占空比
OSC L/H 占空比
OSC L/H 占空比
LP 振荡器
XT 振荡器
HS 振荡器
OSC
F
OSC
CY
To sH
To sR ,
To sF
外部 CLKIN 频率
振荡器频率
外部 CLKIN 周期
振荡器周期
指令周期时间
外部 CLKIN (OSC1) 高电平
外部 CLKIN 低电平
外部 CLKIN 上升时间
外部 CLKIN 下降时间
* 这些参数仅为特征值,未经测试。
† 除非另外说明,“典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。
注 1 : 指令周期时间 ( T
CY)等于输入振荡器时基周期的四倍。所有规定值都标准工作条件下代码执行过程中特定
振荡类型所产生的特征数据。超出这些规定的限定值可能导致振荡器工作不稳定和 / 或导致电流消耗超出预
期值。所有器件在 “最小值”条件下均经过测试,此时在 OSC1 引脚上施加外部时钟。 对于所有器件,当采
用外部时钟输入时,“最大”周期时间极限为 “DC ”(无时钟)。
DS41190C_CN 第 94 页 2004 Microchip Technology Inc.
表 12-2 : 内部高精度振荡器参数
PIC12F629/675
参数编号 符号 特性
F10
FOSC
内部校准 INTOSC 频率
频率容差最小
典型值 最大值 单位 条件
值
±1 3.96 4.00 4.04 MHz
±2 3.92 4.00 4.08 MHz
±5 3.80 4.00 4.20 MHz
V
DD = 3.5V, 25°C
2.5V ≤ VDD ≤ 5.5V
0° C ≤ T
A ≤ +85° C
2.0V ≤ VDD ≤ 5.5V
-40° C ≤ T
A ≤ +85° C
(工业级)
-40 °C ≤ T A ≤ +125 °C
(扩展级)
F14
TIOSC
振荡器从休眠模式唤醒
ST
的起振时间 *
--
--
68µs
46µs
DD = 2.0V,
V
-40°C 至 +85°C
V
DD = 3.0V,
-40°C 至 +85°C
--
35µs
V
DD = 5.0V,
-40°C 至 +85°C
* 这些参数仅为特征值,未经测试。
† 除非另外说明,“典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。
2004 Microchip Technology Inc. DS41190C_CN 第 95 页
PIC12F629/675
图 12-6: CLKOUT 和 I/O 时序
17
10
13
Q1
14
19
20, 21
OSC1
CLKOUT
I/O 引脚
(输入)
I/O 引脚
(输出)
Q4
旧值
表 12-3: CLKOUT 和 I/O 时序要求
参数
编号
10 TosH2ckL
11 TosH2ckH
12 TckR
13 TckF
14 TckL2ioV
15 TioV2ckH
16 TckH2ioI
17 TosH2ioV
18 TosH2ioI
19 TioV2osH
20 TioR
21 TioF
22 Tinp
23 Trbp
* 这些参数仅为特征值,未经测试。
† 除非另外说明,“典型值”栏的数据是在 5.0V、 25°C 条件下测得的。
注 1 :测量在 RC 模式下进行,其中 CLKOUT 输出为 4xT
符号 特性 最小值 典型值 最大值 单位 条件
OSC1 ↑至 CLKOUT ↓ -
OSC1 ↑至 CLKOUT ↑ -
CLKOUT 上升时间 -
CLKOUT 下降时间 -
CLKOUT ↓至端口输出有效 --
T
CLKOUT ↑前端口输入有效
OSC + 200
CLKOUT ↑后端口保持输入
OSC1 ↑(Q1 周期)至端口输出
有效
OSC1 ↑(Q2 周期)至端口输入
无效 (I/O 输入保持时间)
端口输入有效至 OSC1 ↑
(I/O 启动时间)
端口输出上升时间 -
端口输出下降时间 -
INT 引脚高电平或低电平时间
GPIO 改变时 INT 引脚高电平或低
电平时间
OSC。
Q2 Q3
22
23
18
15
75 200 ns
75 200 ns
35 100 ns
35 100 ns
--
ns
0
-
--
50 150 * ns
--
100
0
--
--
10 40 ns
10 40 ns
25
CY
T
--
--
11
12
新值
20 ns
ns
ns
300 ns
ns
ns
ns
ns
16
( 注 1)
( 注 1)
( 注 1)
( 注 1)
( 注 1)
( 注 1)
( 注 1)
DS41190C_CN 第 96 页 2004 Microchip Technology Inc.
PIC12F629/675
图 12-7: 复位、看门狗定时器、振荡器起振定时器和上电延时定时器时序
VDD
MCLR
内部
POR
PWRT
超时
OSC
超时
内部
复位
看门狗
定时器
复位
I/O 引脚
33
32
图 12-8: 欠压检测时序和特性
DD
V
34
30
31
34
BVDD
(器件处于欠压检测状态)
35
复位(由 BOD 造成)
注 1: 只在配置字中的 PWRTE 位设定为 0 时有 72 ms 延迟。
(器件不处于欠压检测状态)
72 ms 延时
(1)
2004 Microchip Technology Inc. DS41190C_CN 第 97 页
PIC12F629/675
表 12-4 : 复位、看门狗定时器、振荡器起振定时器、上电延时定时器以及欠压检测要求
参数
编号
30 T
31 TWDT
32 T
33* T
34 TIOZ
35 TBOD
* 这些参数仅为特征值,未经测试。
† 除非另外说明,“典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。
符号 特性
MCL
OST
PWRT
VDD
B
MCLR 脉宽 (低)
看门狗定时器超时溢出周期
(无预分频器)
振荡器起振定时器周期 -
上电延时定时器周期
MCLR
低电平或看门狗定时器
复位引起 I/O 高阻态
欠压检测电压
欠压滞后
欠压检测脉冲宽度
最小
值
2
TBD
10
10
28*
TBD
--
2.025
TBD
100*
典型
值
-
TBD
17
17
OSC
1024T
72
TBD
-
-- -
--µs VDD ≤ BVDD (D005)
最大
单位 条件
值
-
TBDµsms
2530ms
-- TOSC = OSC1 周期
132*
TBDmsms
2.0 µs
2.175 V
DD = 5V,
V
-40°C 至 +85°C
扩展级温度
VDD = 5V,
ms
-40°C 至 +85°C
扩展级温度
DD = 5V,
V
-40°C 至 +85°C
扩展级温度
DS41190C_CN 第 98 页 2004 Microchip Technology Inc.