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.