当前位置:首页 >> 信息与通信 >>

12F629.675中文资料


PIC12F629/675 数据手册
8 引脚闪存 8 位 CMOS 单片机

? 2004 Microchip Technology Inc.

DS41190C_CN

请注意以下有关 Microchip 器件代码保护功能的要点: ? ? ? Microchip 的产品均达到 Microchip 数据手册中所述的技术指标。 Microchip 确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一。 目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以 Microchip 数据手册中规定的操 作规范来使用 Microchip 产品的。这样做的人极可能侵犯了知识产权。 Microchip 愿与那些注重代码完整性的客户合作。 Microchip 或任何其它半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是 “牢不可破”的。

? ?

代码保护功能处于持续发展中。 Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视 为违反了《数字器件千年版权法案(Digital Millennium Copyright Act) 。如果这种行为导致他人在未经授权的情况下,能访问您的软 》 件或其它受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。

提 供 本 文 档 的 中 文 版 本 仅 为 了 便 于 理 解。 Microchip Technology Inc. 及其分公司和相关公司、各级主管与员工及 事务代理机构对译文中可能存在的任何差错不承担任何责任。 建议参考 Microchip Technology Inc. 的原版文档。 本出版物中所述的器件应用信息及其它类似内容仅为您提供便 利,它们可能由更新之信息所替代。确保应用符合技术规范, 是您自身应负的责任。Microchip 对这些信息不作任何明示或 暗示、书面或口头的声明或担保,包括但不限于针对其使用情 况、质量、性能、适销性或特定用途的适用性的声明或担保。 Microchip 对因这些信息及使用这些信息而引起的后果不承担 任何责任。未经 Microchip 书面批准,不得将 Microchip 的产 品用作生命维持系统中的关键组件。在 Microchip 知识产权保 护下,不得暗中或以其它方式转让任何许可证。

商标 Microchip 的名称和徽标组合、 Microchip 徽标、 Accuron、 dsPIC、 KEELOQ、 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 位于美国亚利桑那州 Chandler 和 Tempe 及位于加利福尼亚州 Mountain View 的全球总部、 设计中心和晶圆生产厂均于 2003 年 10 月通 过了 ISO/TS-16949:2002 质量体系认证。公司在 PICmicro? 8 位单片 机、 KEELOQ? 跳码器件、串行 EEPROM、单片机外设、非易失性存储 器和模拟产品方面的质量体系流程均符合 ISO/TS-16949:2002。此外, Microchip 在开发系统的设计和生产方面的质量体系也已通过了 ISO 9001:2000 认证。

DS41190C_CN 第 ii 页

? 2004 Microchip Technology Inc.

PIC12F629/675
8 引脚闪存 8 位 CMOS 单片机
高性能的 RISC CPU
? 仅需学习 35 条指令 - 除了跳转指令以外所有指令都是单周期的 ? 工作速度: - DC - 20 MHz 振荡器 / 时钟输入 - DC - 200 ns 指令周期 ? 中断功能 ? 8 级深度硬件堆栈 ? 直接、间接和相对寻址方式

低功耗功能:
? 待机电流: - 当电压为 2.0V 时,典型值为 1 nA ? 工作电流: - 当频率为 32 kHz 时,典型值为 8.5 ?A - 当频率为 1 MHz 时,典型值为 100 ?A ? 看门狗定时器电流: - 当电压为 2.0V 时,典型值为 300 nA ? Timer1 振荡器电流: - 当频率为 32 kHz、电压为 2.0V 时,典型值为 4 ?A

特殊单片机功能:
? 可选择内部和外部振荡器 - 高精度内部 4 MHz 振荡器,其出厂时精度已 校准为± 1% - 可使用晶振和谐振器作为外部振荡器 - 电压典型值为 3.0V 时,将 CPU 从休眠模式 唤醒需 5 ?s ? 省电休眠模式 ? 宽工作电压范围,从 2.0V 到 5.5V ? 工业级和扩展级温度范围 ? 低功耗上电复位 (POR) ? 上电延时定时器 (PWRT)和振荡器起振定时器 (OST) ? 欠压检测 (BOD) ? 带有独立振荡器的看门狗定时器, 可以保证可靠的运行 ? 复用 MCLR 输入引脚 ? 引脚电平变化可触发中断 ? 独立的可编程弱上拉功能 ? 可编程代码保护 ? 高耐久性的闪存 /EEPROM 存储单元 - 闪存耐写次数达 100,000 次 - EEPROM 耐写次数达 1,000,000 次 - 闪存 / 数据 EEPROM 的数据保持期 >40 年
程序存储器 器件 PIC12F629 PIC12F675 闪存 (字) 1024 1024 数据存储器 SRAM ( 字节 ) 64 64 EEPROM ( 字节 ) 128 128

外设功能:
? 6 个具有独立方向控制功能的 I/O 引脚 ? 高灌 / 拉电流能力,可直接驱动 LED ? 模拟比较器模块带有: - 一个模拟比较器 - 片上可编程比较器参考电压 (CVREF)模块 - 来自器件输入引脚的可编程输入复用 - 可外部访问比较器输出 ? 模数转换器模块 (PIC12F675): - 10 位分辨率 - 可编程的 4 通道输入 - 参考电压输入 ? Timer0:带有 8 位可编程预分频器的 8 位定时器 / 计数器 ? 增强的 Timer1: - 带有预分频器的 16 位定时器 / 计数器 - 外部选通输入模式 - 如果已选用 INTOSC 模式的话,那么在 LP 模 式中可选择 OSC1 和 OSC2 作为 Timer1 的 振荡器 ? 通过两个引脚可实现在线串行编程 (ICSPTM)

I/O 6 6

10 位 A/D 转 换器 ( 通道 ) 4

比较器 1 1

8/16 位 定时器 1/1 1/1

* 8 位 8 引脚器件受 Microchip 的低引脚数专利(Low Pin Count Patent)保护: 美国专利号为 5847450。其它美国国内 或国外专利可能已获批准或正在申请之中。

? 2004 Microchip Technology Inc.

DS41190C_CN 第 1 页

PIC12F629/675
引脚示意图

8 引脚 PDIP、 SOIC和DFN-S 封装形式  
VDD GP5/T1CKI/OSC1/CLKIN GP4/T1G/OSC2/CLKOUT GP3/MCLR/VPP 1 8 VSS GP0/CIN+/ICSPDAT GP1/CIN-/ICSPCLK GP2/T0CKI/INT/COUT

PIC12F629

2 3 4

7 6 5

VDD GP5/T1CKI/OSC1/CLKIN GP4/AN3/T1G/OSC2/CLKOUT GP3/MCLR/VPP

1 2 3 4

8 7 6 5

VSS GP0/AN0/CIN+/ICSPDAT GP1/AN1/CIN-/VREF/ICSPCLK GP2/AN2/T0CKI/INT/COUT

PIC12F675

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? 器件移植 ................................................................................................................................................. 122 索引 ................................................................................................................................................................................................. 123 在线支持............................................................................................................................................................................................. 127 系统信息和升级热线 .......................................................................................................................................................................... 127 读者反馈表 ......................................................................................................................................................................................... 128 产品标识体系 .................................................................................................................................................................................... 129







我司旨在提供最佳文档供客户正确使用 Microchip 产品。 为此,我们将持续改善公司出版物以更好地满足您的要求。出版物的质量 将随新手册及更新版本的推出而得到改善。 如果您对本出版物有任何问题和建议,请通过电子邮件或传真联系我司 TRC 经理,电子邮件地址为 CTRC@microchip.com,传 真号码为 (8621)5407 5066。我们欢迎您的反馈。

最新数据手册
欲获得本数据手册的最新版本,请查询我公司的网站: http://www.microchip.com 您可通过检查数据手册中任意一页外侧下角的文献编号来确定其版本。文献编号的最后一个字母是版本编号,例如:DS30000A 是 DS30000 的 A 版本。

勘误表
现有器件可能带有一份勘误表,说明了 ( 与数据手册的 ) 小运行差异以及建议的工作条件。当器件 / 文档的差异为我们所知时,我 们将出版一份勘误表。 勘误表上将注明其所适用的硅片版本和文件版本。 欲了解某一器件是否存在勘误表,请通过以下方式之一查询: ? Microchip 网站 http://www.microchip.com ? 当地 Microchip 销售办事处 ( 见尾页 ) ? Microchip 总部文献中心;美国传真号码:001 (480) 792-7277 当致电销售办事处或文献中心时,请说明您所使用的器件名称、芯片和数据手册版本 ( 包括文献编号 )。

客户通知系统
欲接收我司产品的最新信息,请到我公司网站 www.microchip.com/cn 上注册。

? 2004 Microchip Technology Inc.

DS41190C_CN 第 3 页

PIC12F629/675
注:

DS41190C_CN 第 4 页

? 2004 Microchip Technology Inc.

PIC12F629/675
1.0 器件概述
以更好地理解芯片结构和外围模块的操作。 本数据手册包括了 PIC12F629 和 PIC12F675 器件。除 了 PIC12F675 具有 10 位 A/D 转换器以外,这两种器 件基本类似。它们均采用 8 引脚 PDIP、SOIC 和 MLFS 封装形式。图 1-1 为 PIC12F629/675 器件的框图。 表 1-1 所示为引脚排列说明。 本文档包含 PIC12F629/675 器件的具体信息。 其它信 息 可 参 见 《PICmicro? 中 档 单 片 机 系 列 参 考手册》 (DS33023A_CN) 您可向当地 Microchip 销售代表处 , 索取或从 Microchip 网站下载。此参考手册可视为是对 本数据手册的补充文档,我们极力推荐用户阅读该手册,

图 1-1:

PIC12F629/675 框图
13 闪存 程序 存储器 1K x 14 8 级堆栈 (13 位) 程序计数器 数据总线 8 GP0/AN0/CIN+ GP1/AN1/CIN-/VREF GP2/AN2/T0CKI/INT/COUT GP3/MCLR/VPP GP4/AN3/T1G/OSC2/CLKOUT GP5/T1CKI/OSC1/CLKIN

程序总线

RAM 文件 寄存器 64 x 8 9 RAM 地址 (1)

14

指令寄存器 直接寻址 7

地址 MUX

8

间接 寻址

FSR 寄存器 内部 4 MHz 振荡器 指令 译码与 控制 时序 发生 OSC1/CLKIN OSC2/CLKOUT VDD,

8 3
上电延时 定时器 振荡器 起振定时器 上电 复位 看门狗 定时器 欠压 检测

状态寄存器

MUX

ALU

8
W 寄存器

VSS

T1G T1CKI
Timer0 T0CKI

Timer1

模数转换器 (仅限 PIC12F675)

模拟比较器 和参考电压模块

EEDATA 8 128 字节 数据 EEPROM EEADDR

CIN- CIN+ COUT VREF AN0 AN1 AN2 AN3

注 1 高位来自状态寄存器。 :

? 2004 Microchip Technology Inc.

DS41190C_CN 第 5 页

PIC12F629/675
表 1-1:
名称 GP0/AN0/CIN+/ICSPDAT

PIC12F629/675 引脚排列说明
功能 GP0 AN0 CIN+ ICSPDAT GP1 AN1 CINVREF ICSPCLK GP2 AN2 T0CKI INT COUT GP3 MCLR VPP 输入 类型 TTL AN AN TTL TTL AN AN AN ST ST AN ST ST TTL ST HV TTL AN ST XTAL CMOS TTL ST XTAL ST 电源 电源 CMOS CMOS 输出 类型 CMOS 说明 双向 I/O,带可编程上拉和电平变化触发中断功能 A/D 通道 0 输入 比较器输入 串行编程 I/O 双向 I/O,带可编程上拉和电平变化触发中断功能 A/D 通道 1 输入 比较器输入 外部参考电压 串行编程时钟 双向 I/O,带可编程上拉和电平变化触发中断功能 A/D 通道 2 输入 TMR0 时钟输入 外部中断 比较器输出 输入端口,带电平变化触发中断功能 主清零 编程电压 双向 I/O,带可编程上拉和电平变化触发中断功能 A/D 通道 3 输入 TMR1 门电路 晶振 / 谐振器 FOSC/4 输出 双向 I/O,带可编程上拉和电平变化触发中断功能 TMR1 时钟 晶振 / 谐振器 外部时钟输入 /RC 振荡器连接 接地参考 正向电源

GP1/AN1/CIN-/VREF/ ICSPCLK

CMOS CMOS

GP2/AN2/T0CKI/INT/COUT

CMOS

CMOS

GP3/MCLR/VPP

GP4/AN3/T1G/OSC2/ CLKOUT

GP4 AN3 T1G OSC2 CLKOUT

GP5/T1CKI/OSC1/CLKIN

VSS VDD 图注:

GP5 T1CKI OSC1 CLKIN VSS VDD

阴影部分仅适用于 PIC12F675 TTL=TTL 输入缓冲器, ST= 施密特触发输入缓冲器。

DS41190C_CN 第 6 页

? 2004 Microchip Technology Inc.

PIC12F629/675
2.0
2.1

存储器组织结构
程序存储器组织结构

2.2

数据存储器组织结构

PIC12F629/675 器件具备一个 13 位程序计数器,可用 来寻址 8K x 14 的程序存储器空间。对于 PIC12F629/ 675 器件来说,只有第一个 1K x 14 (0000h - 03FFh) 存储单元是物理实现的。访问超出上述界限的存储单 元,将在第一个 1K x 14 空间内产生循环。复位矢量位 于 0000h,而中断矢量位于 0004h (参见图 2-1) 。

数据存储器 (参见图 2-2)被分成两个存储区,这两个 存储区中包含通用寄存器和特殊功能寄存器。特殊功能 寄存器位于每个存储区的前 32 个单元中。 寄存器中 20h 到 5Fh 的存储单元是通用寄存器,它们以静态 RAM 的 形式实现并同时映射到两个存储区中。所有其它 RAM 均未用,且读取时返回值为 0。RP0(STATUS<5>)是 存储区选择位。 ? RP0 = 0,选择存储区 0 ? RP0 = 1,选择存储区 1 注: IRP 和 RP1 位 STATUS<7:6> 是保留位并 始终保持 0。

图 2-1:

PIC12F629/675 的程序存储 器映射和堆栈
PC<12:0> 13 1 级堆栈 2 级堆栈 8 级堆栈 复位矢量 000h

CALL, RETURN RETFIE, RETLW

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 特殊功能寄存器 图 2-2:
特殊功能寄存器是 CPU 和外设功能用于控制器件执行 期望操作的寄存器 (参见表 2-1)。这些寄存器是静态 RAM。 特殊功能寄存器可以划分为两类,即:内核和外设。本 节介绍与 “内核”有关的特殊功能寄存器。与外设功能 操作有关的特殊功能寄存器将在相应的外设功能部件章 节中讲述。
间接寻址 (1) TMR0 PCL STATUS FSR GPIO

PIC12F629/675 的数据存储 器映射
数据 地址 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 1Ah 1Bh 1Ch 1Dh 1Eh 1Fh 20h 间接寻址 (1) OPTION_REG PCL STATUS FSR TRISIO 数据 地址 80h 81h 82h 83h 84h 85h 86h 87h 88h 89h 8Ah 8Bh 8Ch 8Dh 8Eh 8Fh 90h 91h 92h 93h 94h 95h 96h 97h 98h 99h 9Ah 9Bh 9Ch 9Dh 9Eh 9Fh A0h

PCLATH INTCON PIR1 TMR1L TMR1H T1CON

PCLATH INTCON PIE1 PCON OSCCAL

WPU IOC

CMCON

ADRESH(2) ADCON0(2)

VRCON EEDATA EEADR EECON1 EECON2(1) ADRESL(2) ANSEL(2)

通用 寄存器 64 Bytes

访问 20h-5Fh

5Fh 60h

DFh E0h

7Fh 存储区 0 存储区 1

FFh

1: 2:

未用的数据存储器单元,读做 0。 非实际存在的寄存器。 仅限于 PIC12F675。

DS41190C_CN 第 8 页

? 2004 Microchip Technology Inc.

PIC12F629/675
表 2-1:
地址 存储区 0 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 1Ah 1Bh 1Ch 1Dh 1Eh 1Fh INDF(1) TMR0 PCL STATUS FSR GPIO - - - - PCLATH INTCON PIR1 - TMR1L TMR1H T1CON - - - - - - - - CMCON - - - - ADRESH(3) ADCON0(3) 未用 未用 未用 未用 左对齐的 A/D 结果的高 8 位或右对齐的 A/D 结果的高 2 位 ADFM VCFG - - CHS1 CHS0 GO/DONE ADON 未用 未用 未用 未用 未用 未用 未用 未用 - 未用 未用 未用 未用 - GIE EEIF 未用 16 位 Timer1 低位字节的保持寄存器 16 位 Timer1 高位字节的保持寄存器 - TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON - PEIE ADIF - T0IE - 程序计数器的高 5 位的写缓冲器 INTE - GPIE CMIF T0IF - INTF - GPIF TMR1IF 用 FSR 的内容寻址数据存储器来寻址该数据单元 Timer0 模块的寄存器 程序计数器 (PC)的低位字节 IRP
(2)

特殊功能寄存器汇总表
名称 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 POR、 BOD 时的值 页

0000 0000 xxxx xxxx 0000 0000

18,53 25 17 11 18 17 - - - - 17 13 15 - 28 28 31 - - - - - - - - 33 - - - - 40 43,57

RP1

(2)

RP0 GPIO5

TO GPIO4

PD GPIO3

Z GPIO2

DC GPIO1

C GPIO0

0001 1xxx xxxx xxxx --xx xxxx - - - - ---0 0000 0000 0000 00-- 0--0 - xxxx xxxx xxxx xxxx -000 0000 - - - - - - - -

间接数据存储器地址指针 - -

COUT



CINV

CIS

CM2

CM1

CM0

-0-0 0000 - - - - xxxx xxxx 00-- 0000

图注: 注

- = 未用单元,读作 0, u = 未改变, x = 未知, q = 值根据条件而变。

阴影 = 未用 1: 非实际存在的寄存器。 2: 这些位是保留位且始终保持为 0。 3: 仅限 PIC12F675。

? 2004 Microchip Technology Inc.

DS41190C_CN 第 9 页

PIC12F629/675
表 2-1:
地址 存储区 1 80h 81h 82h 83h 84h 85h 86h 87h 88h 89h 8Ah 8Bh 8Ch 8Dh 8Eh 8Fh 90h 91h 92h 93h 94h 95h 96h 97h 98h 99h 9Ah 9Bh 9Ch 9Dh 9Eh 9Fh WPU IOC - - VRCON EEDATA EEADR EECON1 EECON2(1) ADRESL(3) ANSEL(3) 未用 未用 VREN - PCON - OSCCAL - - - - 未用 CAL5 未用 未用 未用 未用 - - - - WPU5 IOC5 WPU4 IOC4 - IOC3 WPU2 IOC2 WPU1 IOC1 WPU0 IOC0 CAL4 CAL3 CAL2 CAL1 CAL0 - - INDF(1) OPTION_REG PCL STATUS FSR TRISIO - - - - PCLATH INTCON PIE1 - 未用 未用 未用 未用 - GIE EEIE 未用 - - - - - - POR BOD - PEIE ADIE - T0IE - 程序计数器的高 5 位的写缓冲器 INTE - GPIE CMIE T0IF - INTF - GPIF TMR1IE 用 FSR 的内容寻址数据存储器来寻址该数据单元 GPPU
(2)

特殊功能寄存器汇总表 (续)
名称 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 POR、 BOD 时的值 页

0000 0000 PSA PD PS2 Z PS1 DC PS0 C 1111 1111 0000 0000

18,59 12,26 17 11 18 17 - - - - 17 13 14 - 16 - 16 - - - - 18 19 - - 38 45 45 46 46 40 40,61

INTEDG
(2)

T0CS RP0

T0SE TO

程序计数器 (PC)的低位字节 IRP RP1

0001 1xxx xxxx xxxx

间接数据存储器地址指针 - - TRISIO5 TRISIO4 TRISIO3 TRISIO2 TRISIO1 TRISIO0

--11 1111 - - - - ---0 0000 0000 0000 00-- 0--0 - ---- --0x - 1000 00-- - - - --11 -111 --00 0000 - -

VRR



VR3

VR2

VR1

VR0

0-0- 0000 0000 0000 -000 0000

数据 EEPROM 数据寄存器 - - 数据 EEPROM 地址寄存器 - - - WRERR WREN WR RD

---- x000 ---- ---xxxx xxxx

EEPROM 控制寄存器 2 左对齐的 A/D 结果的低 2 位或右对齐的 A/D 结果的低 8 位 - ADCS2 ADCS1 ADCS0 ANS3 ANS2 ANS1 ANS0

-000 1111

图注: 注

- = 未用单元,读作 0, u = 未改变, x = 未知, q = 值根据条件而变。 阴影 = 未用 1: 非实际存在的寄存器。 2: 这些位是保留位且始终保持为 0。 3: 仅限 PIC12F675。

DS41190C_CN 第 10 页

? 2004 Microchip Technology Inc.

PIC12F629/675
2.2.2.1 状态寄存器
变) 。 因此,若要改变状态寄存器的内容,建议仅使用 BCF、 BSF、 SWAPF 或 MOVWF 指令, 因为这些指令不影响任何 状态位。如需了解其它不影响状态位的指令,请参见 “指令集概述” 。 注 1:PIC12F629/675 不使用 IRP 和 RP1 位 (STATUS<7:6>) ,应 保 持 其 为 清 零 状 态。 建议不要使用这些位,因为这可能会 影响与未来产品的向上兼容性。 2:在减法操作中, C 和 DC 位分别作为借位 和半借位位。示例见 SUBLW 和 SUBWF 指 令。 如寄存器 2-1 所示,状态寄存器包含: ? ALU 的算术运算状态位 ? 复位状态位 ? 数据存储器 (SRAM)的存储区选择位 状态寄存器和其它寄存器一样,可以作为任何指令的目 标寄存器。如果状态寄存器作为一条指令的目标寄存 器,而影响了 Z、 DC 或 C 位,将禁止对这三个位的写 操作。 根据器件逻辑对这些位置 1 或清零。此外, TO 和 PD 位不可写。 因此,执行将状态寄存器作为目标寄 存器的指令得出的结果会与预期的有所不同。 例如, 执行 CLRF STATUS 会清零高三位并将 Z 位置 1。 这将使状态寄存器的值变为 000u u1uu (其中 u= 不

寄存器 2-1:

STATUS —状态寄存器 (地址:03h 或 83h)
保留 IRP bit 7 保留 RP1 R/W-0 RP0 R-1 TO R-1 PD R/W-x Z R/W-x DC R/W-x C bit 0

bit 7 bit 6 bit 5

IRP:这些位是保留位且应始终保持为 0 RP1:这些位是保留位且应始终保持为 0 RP0:寄存器存储区选择位 (用于直接寻址) 0 = 存储区 0 (00h - 7Fh) 1 = 存储区 1 (80h - FFh) TO:超时位 1 = 上电、执行 CLRWDT 或 SLEEP 指令后置位 0 = 发生了 WDT 超时 PD:掉电标志位 1 = 上电或执行 CLRWDT 指令之后置位 0 = 执行了 SLEEP 指令 Z:全零位 1 = 算术或逻辑操作的结果为零 0 = 算数或逻辑操作的结果不为零 DC:半进位 / 借位标志位 (ADDWF、 ADDLW、 SUBLW、 SUBWF 指令) 作为借位位时极性相反。 1 = 结果的低 4 位向高位发生了进位 0 = 结果的低 4 位向高位没有进位 C:进位 / 借位标志位 (ADDWF、 ADDLW、 SUBLW、 SUBWF 指令) 1 = 结果的最高位发生了进位 0 = 结果的最高位没有发生进位 注: 作为借位位时极性相反。减法指令通过加上第二个操作数的 2 的补码来实现的。对 于移位指令 (RRF、 RLF) ,此位的装载值为源寄存器的最高位或最低位。

bit 4

bit 3

bit 2

bit 1

bit 0

图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

? 2004 Microchip Technology Inc.

DS41190C_CN 第 11 页

PIC12F629/675
2.2.2.2 OPTION 寄存器
注: OPTION 寄存器是可读写寄存器,包含各种控制位以配 置: ? TMR0/WDT 预分频器 ? 外部 GP2/INT 中断 ? TMR0 ? GPIO 上的弱上拉 若需 TMR0 获得 1:1 的预分频值, 应将 PSA 位 (OPTION<3>)置 1,以将预分频器分 配给 WDT。参见第 4.4 节。

寄存器 2-2:

OPTION_REG—选项寄存器 (地址:81h)
R/W-1 GPPU bit 7 R/W-1 INTEDG R/W-1 T0CS R/W-1 T0SE R/W-1 PSA R/W-1 PS2 R/W-1 PS1 R/W-1 PS0 bit 0

bit 7

GPPU: GPIO 上拉使能位 1 = 禁止 GPIO 上拉 0 = 通过各个端口的锁存值使能 GPIO 上拉 INTEDG:中断边沿选择位 1 = GP2/INT 引脚上电平的上升沿触发中断 0 = GP2/INT 引脚上电平的下降沿触发中断 T0CS: TMR0 时钟源选择位 1 = 选择 GP2/T0CKI 引脚上的传输信号作为时钟源 0 = 选择内部指令周期时钟 (CLKOUT) T0SE: TMR0 时钟源边沿选择位 1 = 在 GP2/T0CKI 引脚上电平的下降沿递增 0 = 在 GP2/T0CKI 引脚上电平的上升沿递增 PSA:预分频器分配位 1 = 将预分频器分配给 WDT 0 = 将预分频器分配给 TIMER0 模块 PS2:PS0:预分频器的分频比选择位 位值 000 001 010 011 100 101 110 111 TMR0 分频比 WDT 分频比 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

bit 6

bit 5

bit 4

bit 3

bit 2-0

图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

DS41190C_CN 第 12 页

? 2004 Microchip Technology Inc.

PIC12F629/675
2.2.2.3 INTCON 寄存器
注: 当有中断条件产生时,无论相应中断使能 位或全局使能位 GIE (INTCON<7>)的状 态如何, 中断标志位都将置位。 用户软件应 确保在允许中断之前将相应的中断标志位 清零。 INTCON 寄存器是可读写寄存器, 包含对 TMR0 寄存器 溢出、GPIO 端口变化和外部 GP2/INT 引脚中断的各种 使能位和标志位。

寄存器 2-3:

INTCON—中断控制寄存器 (地址: 0Bh 或 8Bh)
R/W-0 GIE bit 7 R/W-0 PEIE R/W-0 T0IE R/W-0 INTE R/W-0 GPIE R/W-0 T0IF R/W-0 INTF R/W-0 GPIF bit 0

bit 7

GIE:全局中断使能位 1 = 使能所有未屏蔽的中断 0 = 禁止所有中断 PEIE:外设中断使能位 1 = 使能所有未屏蔽的外设中断 0 = 禁止所有外设中断 T0IE:TMR0 溢出中断使能位 1 = 使能 TMR0 溢出中断 0 = 禁止 TMR0 溢出中断 INTE:GP2/INT 外部中断使能位 1 = 使能 GP2/INT 外部中断 0 = 禁止 GP2/INT 外部中断 GPIE:端口电平变化时中断使能位 (1) 1 = 使能 GPIO 端口电平变化时中断 0 = 禁止 GPIO 端口电平变化时中断 T0IF:TMR0 溢出中断标志位 (2) 1 = TMR0 寄存器已经溢出 (必须用软件清零) 0 = TMR0 寄存器没有溢出 INTF: GP2/INT 外部中断标志位 1 = 发生 GP2/INT 外部中断 (必须用软件清零) 0 = 未发生 GP2/INT 外部中断 GPIF:端口电平变化时中断标志位 1 = GP5:GP0 引脚中至少有一个引脚电平发生了变化 (必须用软件清零) 0 = GP5:GP0 引脚电平均未发生变化 注 1:必须使能 IOC 寄存器以允许电平变化中断。 2:当 TIMER0 计满回零时, T0IF 位被置位。 复位时 TIMER0 的状态不变,应在清零 T0IF 位前初始化。 图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

bit 6

bit 5

bit 4

bit 3

bit 2

bit 1

bit 0

? 2004 Microchip Technology Inc.

DS41190C_CN 第 13 页

PIC12F629/675
2.2.2.4 PIE1 寄存器
注: 要使能任何一个外设中断,必须将 (INTCON<6>)位置 1。 PEIE 如寄存器 2-4 所示, PIE1 寄存器包含中断使能位。

寄存器 2-4:

PIE1 -外设中断使能寄存器 1 (地址: 8Ch)
R/W-0 EEIE bit 7 R/W-0 ADIE U-0


U-0


R/W-0 CMIE

U-0


U-0


R/W-0 TMR1IE bit 0

bit 7

EEIE:EE 写操作完成中断使能位 1 = 允许 EE 写操作完成中断 0 = 禁止 EE 写操作完成中断 ADIE: A/D 转换器中断使能位 (仅限 PIC12F675) 1 = 允许 A/D 转换器中断 0 = 禁止 A/D 转换器中断 未用:读作 0 CMIE:比较器中断使能位 1 = 使能比较器中断 0 = 禁止比较器中断 未用:读作 0 TMR1IE:TMR1 溢出中断使能位 1 = 使能 TMR1 溢出中断 0 = 禁止 TMR1 溢出中断 图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

bit 6

bit 5-4 bit 3

bit 2-1 bit 0

DS41190C_CN 第 14 页

? 2004 Microchip Technology Inc.

PIC12F629/675
2.2.2.5 PIR1 寄存器
注: 当有中断条件产生时,无论相应中断使能 位或全局使能位 GIE (INTCON<7>)的状 态如何,中断标志位都将置位。 用户软件 应确保在允许中断之前将相应的中断标志 位清零。 如寄存器 2-5 所示, PIR1 寄存器包含中断标志位。

寄存器 2-5:

PIR1—外设中断寄存器 1 (地址: 0Ch)
R/W-0 EEIF bit 7 R/W-0 ADIF U-0 - U-0 - R/W-0 CMIF U-0 - U-0 - R/W-0 TMR1IF bit 0

bit 7

EEIF:EEPROM 写操作中断标志位 1 = 写操作完成 (必须用软件清零) 0 = 写操作未完成或还没开始 ADIF: A/D 转换器中断标志位 (仅限 PIC12F675) 1 = A/D 转换完成 (必须用软件清零) 0 = A/D 转换未完成 未用:读作 0 CMIF:比较器中断标志位 1 = 比较器输入已改变 (必须用软件清零) 0 = 比较器输入未改变 未用:读作 0 TMR1IF: TMR1 溢出中断标志位 1 = TMR1 寄存器已溢出 (必须用软件清零) 0 = TMR1 寄存器没有溢出 图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

bit 6

bit 5-4 bit 3

bit 2-1 bit 0

? 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 - bit 7 U-0 ó U-0 - U-0 - U-0 - U-0 - R/W-0 POR R/W-x BOD bit 0

bit 7-2 bit 1

未用:读作 0 POR:上电复位状态位 1 = 未发生上电复位 0 = 发生上电复位 (必须在上电复位发生后用软件置位) BOD: 欠压检测状态位 1 = 没发生欠压检测 0 = 发生欠压检测 (必须在欠压检测发生后用软件置位) 图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

bit 0

2.2.2.7

OSCCAL 寄存器

振荡器校准寄存器 (OSCCAL)用于校准内部 4 MHz 振荡器。它包含 6 个位,可用于将频率向上或向下调整 至 4 MHz。 OSCCAL 寄存器位如寄存器 2-7 所示。

寄存器 2-7:

OSCCA—振荡器校准寄存器 (地址: 90h)
R/W-1 CAL5 bit 7 R/W-0 CAL4 R/W-0 CAL3 R/W-0 CAL2 R/W-0 CAL1 R/W-0 CAL0 U-0 - U-0 - bit 0

bit 7-2

CAL5:CAL0:6 位有符号振荡器校准位 111111 = 最大频率 100000 = 中间频率 000000 = 最小频率 未用:读作 0 图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

bit 1-0

DS41190C_CN 第 16 页

? 2004 Microchip Technology Inc.

PIC12F629/675
2.3 PCL 和 PCLATH
2.3.2 堆栈
程序计数器 (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 的过程。 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:
PCH 12 PC 5 8 7

在不同情况下装载 PC
PCL 0 以 PCL 作为目标寄存器的 指令 ALU 结果

PCLATH<4:0>

8

PCLATH PCH 12 PC 2 PCLATH<4:3> 11 操作码 <10:0> PCLATH 11 10 8 7 PCL 0 GOTO, CALL

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-1 所示为使用间接寻址清零 RAM 单元 20h-2Fh 的 简单程序。

例 2-1:
movlw movwf clrf incf btfss goto

间接寻址
0x20 FSR INDF FSR FSR,4 NEXT ;initialize pointer ;to RAM ;clear INDF register ;inc pointer ;all done? ;no clear next ;yes continue

NEXT

CONTINUE

图 2-4:

直接 / 间接寻址 PIC12F629/675
直接寻址 间接寻址 0 IRP
(1)

RP1(1)

RP0

6

来自操作码

7

FSR 寄存器

0

存储区选择

单元选择 00 00h 01 10 11

存储区选择 180h

单元选择

数据 存储器

未使用

7Fh 存储区 0 有关存储器映射的详细介绍,参见图 2-2。 注 1:RP1 和 IRP 位是保留位,始终保持清零。 存储区 1 存储区 2 存储区 3

1FFh

DS41190C_CN 第 18 页

? 2004 Microchip Technology Inc.

PIC12F629/675
3.0 GPIO 端口
状态。配置为模拟输入引脚的 I/O 引脚始终读作 0。 注: 要将模拟通道配置为数字输入通道,必须 初始化 ANSEL(9Fh)和 CMCON(19h) 寄存器。配置为模拟输入的引脚读作 0。 ANSEL 寄存器是为 PIC12F675 定义的。 可用的通用 I/O 引脚多达 6 个。根据使能外设的不同, 部分或所有引脚不一定能用作通用I/O引脚。 一般来说, 当使能某一外设时,与它相关的引脚可能不能用作通用 I/O 引脚。 注: 有关 I/O 端口的其他信息可参见 《PICmicro? 中档单片机系列参考手册 》 (DS33023A_CN)。

例 3-1:
bcf clrf movlw movwf bsf clrf movlw movwf STATUS,RP0 GPIO 07h CMCON STATUS,RP0 ANSEL 0Ch TRISIO

初始化 GPIO
;Bank 0 ;Init GPIO ;Set GP<2:0> to ;digital IO ;Bank 1 ;Digital I/O ;Set GP<3:2> as inputs ;and set GP<5:4,1:0> ;as outputs

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 寄存器中的位保持置位

3.2

引脚的其它功能

PIC12F629/675 上的所有 GPIO 引脚都具有引脚上电平 变化触发中断的功能,且所有的 GPIO 引脚 (除 GP3 以外)都具备弱上拉功能。在接下来的两个小节中将对 这些功能作出描述。

3.2.1

弱上拉

GPIO 的每个引脚(除 GP3 以外)都带有独立且可配置 的内部弱上拉功能。 控制位 WPUx 用以使能或禁止各个 上拉电路。参见寄存器 3-3。 当将端口引脚配置为输出 引脚时,将自动关闭弱上拉。在上电复位时,弱上拉由 GPPU 位 (OPTION<7>)禁止。

寄存器 3-1:

GPIO-GPIO 寄存器 ( 地址:05h)
U-0 — bit 7 U-0 — R/W-x GPIO5 R/W-x GPIO4 R/W-x GPIO3 R/W-x GPIO2 R/W-x GPIO1 R/W-x GPIO0 bit 0

bit 7-6: bit 5-0:

未用位:读作 0 GPIO<5:0>:通用 I/O 引脚。 1 = 端口引脚电平 >VIH 0 = 端口引脚电平 <VIL 图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

? 2004 Microchip Technology Inc.

DS41190C_CN 第 19 页

PIC12F629/675
寄存器 3-2: TRISO - GPIO 三态寄存器 (地址: 85h)
U-0 — bit 7 bit 7-6: bit 5-0: 未用位:读作 0 TRISIO<5:0>:通用 I/O 三态控制位 1 = GPIO 引脚被配置为输入引脚 (三态) 0 = GPIO 引脚被配置为输出引脚。 注: 图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位 TRISIO<3> 始终读做 1。 U-0 — R/W-x TRISIO5 R/W-x TRISIO4 R-1 TRISIO3 R/W-x R/W-x R/W-x TRISIO0 bit 0 TRISIO2 TRISIO1

寄存器 3-3:

WPU -弱上拉寄存器 (地址 : 95h)
U-0 — bit 7 U-0 — R/W-1 WPU5 R/W-1 WPU4 U-0 — R/W-1 WPU2 R/W-1 WPU1 R/W-1 WPU0 bit 0

bit 7-6 bit 5-4

未用位:读作 0 WPU<5:4>:弱上拉寄存器位 1= 使能上拉 0 = 禁止上拉 未用位:读作 0 WPU<2:0>:弱上拉寄存器位 1 = 使能上拉 0 = 禁止上拉 注 1:为了使能单个上拉必须先使能全局 GPPU。 2:如果引脚处于输出模式 (TRISIO = 0) ,则会自动禁止弱上拉器件。

bit 3 bit 2-0

图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

DS41190C_CN 第 20 页

? 2004 Microchip Technology Inc.

PIC12F629/675
3.2.2 引脚电平变化中断
每个 GPIO 引脚都可单独配置为电平变化中断引脚。控 制位 IOC 用来使能或禁止各个引脚的中断功能。 参见寄 存器 3-4。上电复位时引脚的电平变化中断被禁止。 对于已使能电平变化中断的引脚,引脚上的值与上次读 GPIO 的锁存值相比较。与上次读取值不匹配的输出将 执行 “或”运算,并根据运算结果设置 INTCON 寄存 器中的 GP 端口电平变化中断位 (GPIF) 。 该中断可将器件从休眠模式唤醒。用户可用以下方式在 中断服务程序中清除该中断: a) b) 任何对GPIO的读写操作。 这将结束不匹配状况。 将标志位 GPIF 清零。

不匹配状况将继续将标志位 GPIF 置 1。读 GPIO 将会 终止不匹配状况并将标志位 GPIF 清零。 注: 如果在执行一个读操作 (Q2 周期开始)时 发生了 I/O 引脚电平变化,那么 GPIF 中断 标志位可能不会被置 1。

寄存器 3-4:

IOC -电平变化中断 GPIO 寄存器 ( 地址 : 96h)
U-0 — bit 7 U-0 — R/W-0 IOC5 R/W-0 IOC4 R/W-0 IOC3 R/W-0 IOC2 R/W-0 IOC1 R/W-0 IOC0 bit 0

bit 7-6 bit 5-0

未用位:读作 0 IOC<5:0>:GPIO 引脚电平变化触发中断控制位 1 = 使能引脚电平变化触发中断 0 = 禁止引脚电平变化触发中断 注 1:为了识别单个中断,必须置位全局中断使能位 (GIE) 。

图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

? 2004 Microchip Technology Inc.

DS41190C_CN 第 21 页

PIC12F629/675
3.3 引脚描述及框图
图 3-1:
数据总线 写 WPU 读 WPU D CK Q Q GPPU

GPO 和 GP1 引脚示意图
模拟 输入模式 VDD 弱上拉

每个 GPIO 引脚都与其它功能复用。我们在此简要介绍 这些引脚及其复用功能。有关比较器或 A/D 等独立功能 的具体信息,请参见数据手册中的相关章节。

3.3.1

GP0/AN0/CIN+

图 3-1是该引脚的示意图。 GP0可配置为下列功能之一 : ? 通用 I/O 引脚 ? A/D 转换器的模拟输入引脚 (仅限 PIC12F675) ? 比较器的模拟输入引脚

D 写 端口 CK

Q Q

VDD

3.3.2
? ? ? ?

GP1/AN1/CIN-/VREF

图 3-1是该引脚的示意图。 GP1可配置为下列功能之一 : 通用 I/O 引脚 A/D 转换器的模拟输入引脚 (仅限 PIC12F675) 比较器的模拟输入引脚 A/D 转换器的参考电压输入引脚 (仅限 PIC12F675)
D 写 TRISIO 读 TRISIO 读 端口 D 写 IOC 读 IOC CK Q Q Q D EN Q D EN CK Q Q 模拟 输入模式 VSS

I/O 引脚

电平变化中断

读端口 到比较器 到 A/D 转换器

DS41190C_CN 第 22 页

? 2004 Microchip Technology Inc.

PIC12F629/675
3.3.3
? ? ? ? ?

GP2/AN2/T0CKI/INT/COUT

3.3.4

GP3/MCLR/VPP

图 3-2是该引脚的示意图。 GP2可配置为下列功能之一 : 通用 I/O 引脚 A/D 转换器的模拟输入引脚 (仅限 PIC12F675) TMR0 的时钟输入引脚 外部边沿触发中断 来自比较器的数字输出

图 3-3是该引脚的示意图。 GP3可配置为下列功能之一 : ? 通用输入引脚 ? 主清零复位引脚

图 3-3:
数据总线 复位

GP3 示意图
MCLRE VSS MCLRE VSS I/O 引脚

图 3-2:
数据总线 写 WPU 读 WPU D CK Q Q

GP2 示意图
模拟 输入模式 VDD 弱上拉 GPPU COUT 使能 D Q Q COUT 1 0 D Q Q 模拟 输入模式 VSS I/O 引脚 模拟 输入 模式

读 TRISIO 读 端口 D 写 IOC 读 IOC CK Q Q

Q

D EN

VDD

Q

D EN

写 端口

CK

电平变化中断

读端口

写 TRISIO 读 TRISIO 读 端口

CK

D 写 IOC 读 IOC CK

Q Q Q D EN Q D EN

电平变化中断

读端口

到 TMRO 到 INT 到 A/D 转换器

? 2004 Microchip Technology Inc.

DS41190C_CN 第 23 页

PIC12F629/675
3.3.5
? ? ? ? ?

GP4/AN3/T1G/OSC2/CLKOUT

3.3.6
? ? ? ?

GP5/T1CKI/OSC1/CLKIN

图 3-4是该引脚的示意图。 GP4可配置为下列功能之一 : 通用 I/O 引脚 A/D 转换器的模拟输入引脚 (仅限 PIC12F675) TMR1 选通输入引脚 连接晶振 / 谐振器 时钟输出引脚

图 3-5是该引脚的示意图。 GP5可配置为下列功能之一 : 通用 I/O 引脚 TMR1 的时钟输入引脚 连接晶振 / 谐振器 时钟输入引脚

图 3-5: GP4 示意图
模拟 输入模式 数据总线 写 WPU 读 WPU D CK Q Q CLK 模式 (1) VDD 弱上拉 数据总线 写 WPU 读 WPU

GP5 示意图
INTOSC/ 模式 TMR1LPEN(1) D CK Q Q GPPU 振荡 电路 VDD 弱上拉

图 3-4:

GPPU OSC1
FOSC/4 振荡 电路 VDD

OSC2 D 写 端口 I/O 引脚 写 TRISIO 读 TRISIO 读 端口 D 写 IOC CK Q Q Q D EN CK Q Q

CLKOUT 使能 D 写 端口 CK Q Q CLKOUT 使能 D 写 TRISIO 读 TRISIO 读 端口 D 写 IOC 读 IOC CK Q Q Q D EN Q D EN CK Q Q

VDD

1 0

I/O 引脚 D CK Q Q INTOSC/ 模式 (2) VSS

VSS INTOSC/ RC/EC(2) CLKOUT 使能 模拟 输入模式

读 IOC Q D EN

电平变化中断

电平变化中断

读端口 读端口 到 TMR1 或 CLKGEN

到 TMR1 T1G 到 A/D 转换器 注 1: CLK 模式是 XT、HS、LP、LPTMR1 和 CLKOUT 使能。 2: 带有 CLKOUT 选项。 注 1: 使能 Timer1 LP 振荡器 2: 当使用 LP 振荡器的 Timer1 时,施密特触发器被 旁路。

DS41190C_CN 第 24 页

? 2004 Microchip Technology Inc.

PIC12F629/675
表 3-1:
地址
05h 0Bh/8Bh 19h 81h 85h 95h 96h 9Fh

与 GPIO 相关的寄存器汇总
名称
GPIO INTCON CMCON OPTION_REG TRISIO WPU IOC ANSEL

bit 7
— GIE — GPPU — — — —

bit 6
— PEIE COUT INTEDG — — — ADCS2

bit 5
GP5 T0IE — T0CS TRISIO5 WPU5 IOC5 ADCS1

bit 4
GP4 INTE CINV T0SE TRISIO4 WPU4 IOC4 ADCS0

bit 3
GP3 GPIE CIS PSA TRISIO3 — IOC3 ANS3

bit 2
GP2 T0IF CM2 PS2 TRISIO2 WPU2 IOC2 ANS2

bit 1
GP1 INTF CM1 PS1 TRISIO1 WPU1 IOC1 ANS1

bit 0
GP0 GPIF CM0 PS0 TRISIO0 WPU0 IOC0 ANS0

POR、 BOD 时的值
--xx xxxx 0000 0000 -0-0 0000 1111 1111 --11 1111 --11 -111 --00 0000 -000 1111

所有其它复 位时的值
--uu uuuu 0000 000u -0-0 0000 1111 1111 --11 1111 --11 -111 --00 0000 -000 1111

图注:

x= 未知、 u= 未改变、 -= 未用的单元,读作 0。 阴影单元表示未被 GPIO 使用。

? 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 的溢出中断 外部时钟的边沿选择

通过置位 T0CS 位 (OPTION_REG<5>)选择计数器 模式。在计数器模式下, Timer0 模块可在 GP2/T0CKI 引脚的每个上升沿或下降沿加计数。具体是上升沿还是 下 降 沿 取 决 于 时 钟 源 边 沿 选 择 (TOSE)控 制 位 (OPTION_REG<4>) 。清零 TOSE 位选择上升沿。 注: 计数器模式对外部时钟信号有一定的要 求。有关这些要求的更多信息可参考 《PICmicro? 中档单片机系列参考手册》 (DS33023A_CN) 。

图 4-1 是 Timer0 模块和预分频器 (与 WDT 共用)的 框图。 注: 有关 Timer0 模块的更多信息可参考 《PICmicro? 中档单片机系列参考手册》 (DS33023A_CN) 。

4.2

Timer0 中断

4.1

Timer0 工作原理

通过清零 T0CS 位 (OPTION_REG<5>)选择定时器 模式。在定时器模式下,Timer0 模块在每个指令周期递 增 (不带预分频器) 。如果对 TMR0 执行写操作,在接 下来的两个指令周期 Timer0 禁止递增。用户可将一个 调整值写入 TMR0 寄存器来避开这一问题。

当 TMR0 寄存器定时器 / 计数器产生从 FFh 至 00h 的溢 出时,产生 Timer0 中断。此溢出将 T0IF 位置位。可以 通过清零 T0IE 位(INTCON<5>)来屏蔽该中断。在重 新允许中断之前,必须在软件中用 Timer0 模块的中断 服务程序将 T0IF 位 (INTCON<2>)清零。休眠状态 下,由于定时器被关闭,所以 Timer0 中断无法唤醒单 片机。

图 4-1:
CLKOUT (= FOSC/4)

TIMER0/WDT 预分频器的框图
数据总线 0 1 1 SYNC 2 周期 0 8- 位 预分频器 1 8 0 溢出时 置位标志位 T0IF 8 TMR0

T0CKI 引脚 T0SE

T0CS

PSA

PSA

PS0 - PS2 看门狗 定时器

1 WDT 超时 0

WDTE 注 1: T0SE、 T0CS、 PSA、 PS0-PS2 是 Option 寄存器中的位。

PSA

? 2004 Microchip Technology Inc.

DS41190C_CN 第 27 页

PIC12F629/675
4.3 Timer0 与外部时钟配合使用
当不使用预分频器时,外部时钟输入与预分频器输出相 同。在内部相位时钟的 Q2 和 Q4 周期对预分频器输出 进行采样可实现 T0CKI 与内部相位时钟的同步。因此, 要求 T0CKI 引脚上的信号高、低电平分别至少保持 。参阅所需器件的电气 2TOSC(加上 20ns 的 RC 延时) 规范。 注: 要将模拟通道配置为数字输入通道,必须 对 ANSEL (9Fh)和 CMCON (19h)寄 存器进行初始化。配置为模拟输入的引脚 读作 0。 ANSEL 寄存器是为 PIC12F675 定 义的。

寄存器 4-1:

OPTION_REG—OPTION 寄存器 (地址:81h)
R/W-1 GPPU bit 7 R/W-1 INTEDG R/W-1 T0CS R/W-1 T0SE R/W-1 PSA R/W-1 PS2 R/W-1 PS1 R/W-1 PS0 bit 0

bit 7

GPPU: GPIO 上拉使能位 1 = GPIO 上拉被禁止 0 = GPIO 上拉通过端口锁存值使能 INTEDG:中断边沿选择位 1 = 在 GP2/INT 引脚的上升沿发生中断 0 = 在 GP2/INT 引脚的下降沿发生中断 T0CS: TMR0 时钟源选择位 1 = GP2/T0CKI 引脚上的传输 0 = 内部指令周期时钟 (CLKOUT) T0SE: TMR0 时钟源边沿选择位 1 = GP2/T0CKI 引脚的下降沿递增 0 = GP2/T0CKI 引脚的上升沿递增 PSA:预分频器分配位 1 = 将预分频器分配给 WDT 0 = 将预分频器分配给 TIMER0 模块 PS2:PS0:预分频比率选择位 位值 000 001 010 011 100 101 110 111 TMR0 比率 WDT 比率 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

bit 6

bit 5

bit 4

bit 3

bit 2-0

图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

DS41190C_CN 第 28 页

? 2004 Microchip Technology Inc.

PIC12F629/675
4.4 预分频器
例 4-1:
器件具备一个 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 指令将同时清零预分频器和看 门狗定时器。

更改预分频器 (TIMER0→WDT)
;Bank 0 ;Clear WDT ;Clear TMR0 and ; prescaler ;Bank 1

bcf STATUS,RP0 clrwdt clrf TMR0 bsf STATUS,RP0

4.4.1

预分频器分配的切换

movlw b&#xD5;0010 ;Required if desired movwf OPTION_REG ; PS2:PS0 is clrwdt ; 000 or 001 ; movlw b&#xD5;0010 ;Set postscaler to movwf OPTION_REG ; desired WDT rate bcf STATUS,RP0 ;Bank 0

预分频器分配是完全在软件控制下进行的(即它可以在 程序执行时进行实时修改)。为避免发生器件的意外复 位,在预分频器的分配从 Timer0 更改为 WDT 时,必须 执行以下指令序列 (例 4-1) 。

要将预分频器从 WDT 更改为 TMR0 模块,使用例 4-2 中的序列。即使 WDT 禁止也必须执行该指令序列。

例 4-2:
clrwdt bsf movlw

更改预分频器 (WDT→TIMER0)
;Clear WDT and ; postscaler ;Bank 1

STATUS,RP0

movwf bcf

b’xxxx0xxx’ ;Select TMR0, ; prescale, and ; clock source OPTION_REG ; STATUS,RP0 ;Bank 0

表 4-1:
地址
01h 0Bh/8Bh 81h 85h

与 TIMER0 相关的寄存器
名称
TMR0 INTCON OPTION_REG TRISIO

bit 7

bit 6

bit 5

bit 4

bit 3

bit 2

bit 1

bit 0

POR、 BOD 时的值
xxxx xxxx

所有其它复 位时的值
uuuu uuuu 0000 000u 1111 1111 --11 1111

Timer0 模块寄存器 GIE GPPU - PEIE INTEDG - T0IE T0CS INTE T0SE GPIE PSA T0IF PS2 INTF PS1 GPIF PS0

0000 0000 1111 1111

TRISIO5 TRISIO4 TRISIO3 TRISIO2 TRISIO1 TRISIO0 --11 1111

图注:

- = 未实现位,读做 0、 u = 未改变、 x = 未知。 阴影单元表示未被 Timer0 模块使用。

? 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 控制寄存器(T1CON)用 于使能 / 禁止 Timer1 并选择 Timer1 模块的不同功能。 注: 有关 Timer0 模块的更多信息可参考 《PICmicro? 中档单片机系列参考手册》 (DS33023A_CN) 。

图 5-1:

TIMER1 框图
TMR1ON TMR1GE TMR1ON TMR1GE T1G

溢出时置位 TMR1IF 标志位 TMR1 TMR1H TMR1L

0 1

同步 时钟输入

LP 振荡器 OSC1 FOSC/4 内部 时钟

1 0
TMR1CS

T1SYNC 预分频器 1, 2, 4, 8 同步 检测 休眠输入

OSC2 不带 CLKOUT 的 INTOSC T1OSCEN LP

2
T1CKPS<1:0>

DS41190C_CN 第 30 页

? 2004 Microchip Technology Inc.

PIC12F629/675
5.1 Timer1 工作模式 5.2 Timer1 中断
Timer1 可以有三种工作模式: ? 带有预分频器的 16 位定时器 ? 16 位同步计数器 ? 16 位异步计数器 在定时器工作模式下, Timer1 在每个指令周期进行递 增计数。在计数器工作模式下, Timer1 在外部时钟输 入 T1CKI 的每个上升沿进行递增计数。此外,计数器 模式时钟可以与单片机系统时钟同步或异步运行。 在计数器和定时器模块中,计数器 / 定时器时钟可通过 T1G 输入引脚进行选通控制。 如果需要外部时钟振荡器 (且单片机正在使用不带 CLKOUT 的 INTOSC) ,Timer1 可以使用 LP 振荡器作 为时钟源。 注: 在计数器模式下,计数器第一次上升沿递 增计数之前必须先记录一个下降沿。 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 可清零 预分频计数器。

图 5-2:
T1CKI = 1 当 TMR1 使能时

TIMER1 加计数边沿

T1CKI = 0 当 TMR1 使能时 注 1: 箭头表示计数器递增。 2: 在计数器模式下,计数器在第一次时钟信号上升沿进行递增计数前应记录一个下降沿。

? 2004 Microchip Technology Inc.

DS41190C_CN 第 31 页

PIC12F629/675
寄存器 5-1: T1CON—TIMER1 控制寄存器 (地址: 10h)
U-0 - bit 7 bit 7 bit 6 未用位:读作 0 TMR1GE:Timer1 选通使能位 如果 TMR1ON = 0: 此位被忽略 如果 TMR1ON = 1: 1 = 如果 T1G 引脚为低电平,则启动 Timer1 0 = 启动 Timer1 T1CKPS1:T1CKPS0:Timer1 输入时钟预分频选择位 11 = 预分频值为 1:8 10 = 预分频值为 1:4 01 = 预分频值为 1:2 00 = 预分频值为 1:1 T1OSCEN:LP 振荡器使能控制位 如果不带 CLKOUT 振荡器的 INTOSC 处于激活状态: 1 = LP 振荡器使能作为 Timer1 的时钟源 0 = LP 振荡器关闭 否则: 此位被忽略 T1SYNC:Timer1 外部时钟输入同步控制位 TMR1CS = 1: 1 = 不与外部时钟输入同步 0 = 与外部时钟输入同步 TMR1CS = 0: 此位被忽略。 Timer1 使用内部时钟作为时钟源。 TMR1CS: Timer1 时钟源选择位 1 = 使用来自 T1OSO/T1CKI 引脚 (在上升沿)上的外部时钟 0 = 内部时钟 (FOSC/4) TMR1ON:Timer1 启动控制位 1 = 使能 Timer1 0 = 停止 Timer1 图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 T1SYNC R/W-0 TMR1CS R/W-0 TMR1ON bit 0 TMR1GE T1CKPS1 T1CKPS0 T1OSCEN

bit 5-4

bit 3

bit 2

bit 1

bit 0

DS41190C_CN 第 32 页

? 2004 Microchip Technology Inc.

PIC12F629/675
5.4 Timer1 工作在异步计数器模式 5.5 Timer1 振荡器
如果置位控制位 T1SYNC(T1CON<2>) ,外部时钟输 入将不同步。定时器继续进行与内部相位时钟异步的加 计数。在休眠状态下,定时器将继续运行并在溢出时产 生中断,唤醒处理器。但是,在用软件对定时器进行读 / 写操作时应该特别小心 (第 5.4.1 节) 。 注: 要将模拟通道配置为数字输入通道,必须 将 ANSEL (9Fh)和 CMCON (19h)寄 存器初始化。配置为模拟输入的引脚读作 0。 ANSEL寄存器是为PIC12F675定义的。 在异步计数器模式下读写 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.4.1

当 定 时 器 采 用 外 部 异 步 时 钟 工 作 时,对 TMR1H 或 TMR1L 的读操作将确保有效 (由硬件完成)。但是用 户应注意,通过两个 8 位值来读取 16 位定时器本身就 会产生某些问题,因为定时器可能在读操作之间产生溢 出。 对于写操作,建议用户先停止定时器再写入期望值。如 果计数器正进行递增计数,此时向其写入可能会导致写 冲突的发生,从而在定时器寄存器中产生不可预测的 值。 用户在读 16 位值时应当谨慎对待。 《PICmicro? 中档单 片机系列参考手册》 (DS33023A_CN)中的例  12-2 和 12-3 显示了如何对工作在异步模式下的 Timer1 进行读 写操作。

5.6

Timer1 工作在休眠模式

只有设定为异步计数器模式时, Timer1 才可在休眠模式 下工作。在该模式下,可使用外部晶振或时钟源使计数 器进行加计数。必须将定时器设定如下以唤醒器件: ? 使能 Timer1 (T1CON<0>) ? TMR1IE 位 (PIE1<0>)置 1 ? PEIE 位 (INTCON<6>)置 1 器件将在溢出时被唤醒。 如果 GIE 位 (INTCON<7>) 置 1,器件将在溢出时被唤醒并跳转至中断服务程序。

表 5-1:
地址 名称

TIMER1 作为定时器 / 计数器时的相关寄存器
bit 7 GIE EEIF bit 6 PEIE ADIF bit 5 T0IE - bit 4 INTE - bit 3 GPIE CMIF bit 2 T0IF - bit 1 INTF - bit 0 GPIF POR、 所有其它复 BOD 时的值 位时的值 0000 0000 0000 000u xxxx xxxx uuuu uuuu xxxx xxxx uuuu uuuu

0Bh/8Bh INTCON 0Ch 0Eh 0Fh 10h 8Ch 图注: PIR1 TMR1L TMR1H T1CON PIE1

TMR1IF 00-- 0--0 00-- 0--0

16 位 TMR1 寄存器低有效字节的保持寄存器

16 位 TMR1 寄存器高有效字节的保持寄存器 TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON -000 0000 -uuu uuuu - EEIE ADIE - - CMIE - - TMR1IE 00-- 0--0 00-- 0--0

x = 未知、 u= 未改变、 -= 未实现位,读作 0。 阴影单元表示未被 Timer1 模块使用。

? 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 — bit 7 R-0 COUT U-0 — R/W-0 CINV R/W-0 CIS R/W-0 CM2 R/W-0 CM1 R/W-0 CM0 bit 0

bit 7 bit 6

未用位:读作 0 COUT:比较器输出位 当 CINV = 0 时: 1 = VIN+ > VIN0 = VIN+ < VIN当 CINV = 1 时: 1 = VIN+ < VIN0 = VIN+ > VIN未用位:读作 0 CINV:比较器输出翻转位 1 = 输出翻转 0 = 输出不翻转 CIS:比较器输入开关位 当 CM2:CM0 = 110 或 101 时 : 1 = VIN- 连接到 CIN+ 0 = VIN- 连接到 CINCM2:CM0:比较器模式位 图 6-2 给出比较器的几种模式以及相应的 CM2:CM0 位设置情况 图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

bit 5 bit 4

bit 3

bit 2-0

?2004 Microchip Technology Inc.

DS41190C_CN 第 35 页

PIC12F629/675
6.1 比较器工作原理
表 6-1: 不同输入条件的输出状态
CINV 0 0 1 1 COUT 0 1 1 0 图 6-1所示为单比较器及模拟输入电平和数字输出之间 的关系。如果 VIN+ 上的模拟输入小于 VIN- 上的模拟输 入,那么比较器将输出数字低电平。如果 VIN+ 上的模 那么比较器将输出数字 拟输入大于 VIN- 上的模拟输入, 高电平。图 6-1 中比较器输出的阴影部分表示由于输入 偏移和响应时间所造成的不确定区。 注: 要将 CIN+ 和 CIN- 引脚用作模拟输入引脚, 必须对 CMCON(19h)寄存器中的适当位 进行编程。 输入条件 VIN- > VIN+ VIN- < VIN+ VIN- > VIN+ VIN- < VIN+

图 6-1:
VIN+

单比较器
+ – 输出

通过置位 CINV 位 (CMCON<4>)可以改变比较器输 出的极性。清零 CINV 将导致输出不翻转。表 6-1 所示 为不同输入条件和极性位的输出状态的完整信息。
VIN-

VIN-

VIN+

输出

注:

CINV 位 (CMCON<4>)已被清零。

DS41190C_CN 第 36 页

? 2004 Microchip Technology Inc.

PIC12F629/675
6.2 比较器配置
比较器有 8 种工作模式。 寄存器 6-1 所示的 CMCON 寄 存器可用于选择工作模式。 6-2 给出了这 8 种可能的 图 模式。 TRISIO 寄存器控制每种模式下比较器引脚的数 据方向。如果改变比较器模式,在指定的时间段内,比 较器的输出电平可能无效。参见第 12.0 节中的电气规 范。 注: 改 变 比较 器模 式 期间 应 禁止 比较 器 的中 断。否则可能会产生错误的中断。

图 6-2:
CM2:CM0 = 000
GP1/CINGP0/CIN+ GP2/COUT A A D

比较器 I/O 工作模式
比较器关闭 (功耗最低) CM2:CM0 = 111
GP1/CIN关闭 (读作 0) GP0/CIN+ GP2/COUT D D D 关闭 (读作 0)

比较器复位 (POR 时的缺省值—低功耗)

不带输出的比较器 CM2:CM0 = 010
GP1/CINGP0/CIN+ GP2/COUT A A D COUT

使用内部参考电压的比较器,不带输出 CM2:CM0 = 100
GP1/CINGP0/CIN+ GP2/COUT A D D 来自 CVREF 模块 COUT

使用内部参考电压且带有输出的比较器 CM2:CM0 =011
GP1/CINGP0/CIN+ GP2/COUT A D D 来自 CVREF 模快 COUT

输入端复用、使用内部参考电压并带有输出的比较器 CM2:CM0 = 101
GP1/CINGP0/CIN+ GP2/COUT A A D 来自 CVREF 模快 CIS = 0 CIS = 1 COUT

带有输出的比较器 CM2:CM0 = 001
GP1/CINGP0/CIN+ GP2/COUT A A D COUT

输入端复用且使用内部参考电压 CM2:CM0 = 110
GP1/CINGP0/CIN+ GP2/COUT A A D 来自 CVREF 模块 CIS = 0 CIS = 1 COUT

A= 模拟输入,端口始终读作 0 D = 数字输入 CIS = 比较器输入切换开关 (CMCON<3>)

?2004 Microchip Technology Inc.

DS41190C_CN 第 37 页

PIC12F629/675
6.3 模拟输入连接注意事项
图 6-3 所示为一个简化的模拟输入电路。由于模拟引脚 和数字输出端相连,因而它们与 VDD 及 VSS 之间加有 反向偏置二极管。这样,模拟输入电压就必须限制在 VSS 和 VDD 之间。如果输入电压超过 (或低于)这个 电压范围 0.6V 以上,其中一个二极管就正向偏置,并 可能发生闭锁。建议模拟输入信号源的最大源阻抗为 10 k?。任何连接到模拟输入引脚的外部元件 (如电容 器、齐纳二极管等) ,应保证其泄漏电流极小。

图 6-3:

模拟输入模式
VDD Rs < 10K AIN VA CPIN 5 pF VT = 0.6V VT = 0.6V RIC

ILEAKAGE ± 500 nA

Vss 图注: CPIN VT ILEAKAGE RIC RS VA = 输入电容 = 阈值电压 = 由于不同的连接所引起的引脚上的泄漏电流 = 连线电阻 = 源阻抗 = 模拟电压 当比较器处于输出模式时, TRISIO<2> 位可作为 GP2 引脚的输出使能 / 禁止位。 注 1:当读 GPIO 寄存器时,所有配置为模拟输 入的引脚都读作 0。 而配置为数字输入的 引脚将根据 TTL 输入规范对模拟输入信号 进行转换。 2: 在任何一个定义为数字输入的引脚上施加 模拟电平,可能导致输入缓冲器的电流消 耗超出规定值。

6.4

比较器输出

通过读 CMCON 寄存器的相应位 (COUT) ,可以得到 比较器的输出。 该位是只读的。在 8 种可能模式中的 3 种模式下,比较器的输出可直接连接到 GP2 引脚,如 图 6-2所示。 当比较器处于上述3种模式的任意一种时, GP2 上的输出信号与内部时钟都是异步的。 6-4 所示 图 为比较器输出框图。

图 6-4:

改进的比较器输出框图
GP0/CIN+ 到 GP2/T0CKI 引脚 到数据总线 读 CMCON Q D EN CINV GP1/CINCVREF

CM2:CM0

CMIF 置 1

Q

D EN 复位 读 CMCON

DS41190C_CN 第 38 页

? 2004 Microchip Technology Inc.

PIC12F629/675
6.5 比较器参考电压
下面的等式可用来计算输出电压: VRR = 1 (低电平范围): CVREF = (VR3:VR0 / 24) x VDD VRR = 0 (高电平范围) : CVREF = (VDD / 4) + (VR3:VR0 x VDD / 32) 比较器模块还允许选择内部产生的参考电压作为比较器 的输入信号之一。内部参考电压信号可用于 8 种比较器 模式中的 4 种。VRCOM 寄存器(寄存器 6-2)可控制 参考电压模块,如图 6-5 所示。

6.5.1

配置参考电压模块 6.5.2 参考电压精度 / 误差
由于模块构造的原因 ,并不能实现从 VSS 到 VDD 的整 个电压范围。梯形电阻网络(图 6-5)的顶端和底端晶 体管使 CVREF 的值无法达到 VSS 或 VDD。由于参考电 压来源于 VDD,因此 CVREF 的输出随着 VDD 的波动而 变 化。经 过 测 试 的 比 较 器 参 考 电 压绝 对 精 度 参 见 第 12.0 节。

参考电压模块可以输出 32 种不同的电平, 其中 16 个高 电平和 16 个低电平。

图 6-5:

比较器参考电压模块框图
16 级 8R R R R R

VDD 8R 16 选 1 模拟 多路选择器 VREN CVREF 到 比较器的 输入 VRR

VR3:VR0

6.6

比较器响应时间

6.8

复位的影响

响应时间是指选择了一个新的参考电压或是输入源后, 比较器输出确定达到有效电平的最短时间。如果内部参 考电压发生了改变,在使用比较器的输出时必须考虑到 内部参考电压的最大延时。否则,应使用比较器的最大 延时 (表 12-7) 。

器件复位将迫使 CMCON 和 VRCON 寄存器的值恢复到 其 复 位状 态。这 也 将 迫使 比 较 器 模块 进 入 复 位模 式 (CM2:CM0 = 000)并将关闭参考电压模块。这样,所 有可能的输入均为模拟输入,而比较器和参考电压模块 均被禁止,此时电流消耗最小。

6.7

休眠期间的操作

如果在进入休眠状态以前已使能了比较器和参考电压模 块,那么它们将在休眠期间继续保持活动状态。这将导 致休眠期间的电流高于电源关闭规范中的值。电气规范 中另行列出了由于比较器和参考电压模块所造成的额外 电流消耗。若要使休眠模式下最大限度地降低功耗,可 关 闭 比 较 器 (CM2:CM0 = 111)和 参 考 电 压模块 (VRCON<7> = 0) 。 如果在休眠期间使能比较器,则中断将唤醒器件。当器 件从休眠状态下唤醒时,CMCON 和 VRCON 寄存器的 内容将不受影响。

?2004 Microchip Technology Inc.

DS41190C_CN 第 39 页

PIC12F629/675
寄存器 6-2: VRCON—参考电压控制寄存器 (地址:99h)
R/W-0 VREN bit 7 bit 7 VREN: CVREF 使能位 1 = CVREF 电路上电 0 = CVREF 电路断电,无泄漏电流 IDD 未用位:读作 0 VRR: CVREF 范围选择位 1 = 低电平范围 0 = 高电平范围 未用位:读作 0 VR3:VR0:CVREF 值选择 0 ≤ VR [3:0] ≤ 15 当 VRR = 1 时:CVREF = (VR3:VR0 / 24) * VDD 当 VRR = 0 时:CVREF = VDD/4 + (VR3:VR0 / 32)* VDD 图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位 U-0 — R/W-0 VRR R/W-0 — R/W-0 VR3 R/W-0 VR2 R/W-0 VR1 R/W-0 VR0 bit 0

bit 6 bit 5

bit 4 bit 3-0

6.9

比较器中断

用户可用以下方式在中断服务程序中清除该中断: a) b) 对 CMCON 进行读或写。这将结束不匹配状况。 将标志位 CMIF 清零。

只要比较器的输出值发生变化,比较器的中断标志位就 会置 1。需要用软件来保持输出位的状态信息,即从 CMCON<6> 读取, 以判断实际发生的变化。 CMIF 位即 PIR1<3> 是比较器中断标志位。该位必须用软件清零来 将其复位。因为也可以把 “1”写入该寄存器,所以可 以启动模拟中断。 必须 置 位 CMIE 位 (PIE1<3>)和 PEIE 位 (INTCON<6>)以允许中断。此外,也必须置位 GIE 位。只要清零这些位中的任何一位,尽管当发生中断条 件时 CMIF 位仍会置位,却不会使能中断。

不匹配的状况将持续将标志位 CMIF 置 1。读 CMCON 将会终止不匹配状况并允许将标志位 CMIF 清零。 注: 如果在执行读操作时 (Q2 周期的开始) CMCON 寄存器 (COUT)的值发生改变, 则 CMIF (PIR1<3>)中断标志位可能不会 置位。

表 6-2:
地址 0Bh/8Bh 0Ch 19h 8Ch 85h 99h 图注: 名称

与比较器模块相关的寄存器
bit 7 GIE EEIF — EEIE — VREN bit 6 PEIE ADIF COUT ADIE — — bit 5 T0IE — — — VRR bit 4 INTE — CINV — — bit 3 GPIE CMIF CIS CMIE VR3 bit 2 T0IF — CM2 — VR2 bit 1 INTF — CM1 — VR1 bit 0 GPIF TMR1IF CM0 TMR1IE VR0 POR、 BOD 时的值 0000 0000 00-- 0--0 -0-0 0000 00-- 0--0 --11 1111 0-0- 0000 所有其它复 位时的值 0000 000u 00-- 0--0 -0-0 0000 00-- 0--0 --11 1111 0-0- 0000

INTCON PIR1 CMCON PIE1 TRISIO VRCON

TRISIO5 TRISIO4 TRISIO3 TRISIO2 TRISIO1 TRISIO0

x = 未知,u = 未改变,- = 未用,读作 0。阴影单元表示未被比较器模块使用。

DS41190C_CN 第 40 页

? 2004 Microchip Technology Inc.

PIC12F629/675
7.0 模数转换器 (A/D)模块 (仅限 PIC12F675)
输出与模数转换器的输入相连。模数转换器通过逐次逼 近比较产生二进制数,并将结果存入 10 位寄存器。可 用软件选择转换所使用的参考电压为 VDD 或者是 VREF 引脚提供的电压。图 7-1 给出了 PIC12F675 上的 A/D 框图。

模数转换器 (A/D)可以将模拟输入信号转换为表示该 信号的一个 10 位 2 进制数。PIC12F675 有四个模拟输 入通道,并复用到一个采样保持电路。采样保持电路的

图 7-1:

A/D 框图 VDD
VCFG = 0

VREF

VCFG = 1

GP0/AN0 GP1/AN1/VREF GP2/AN2 GP4/AN3
CHS1:CHS0

ADC GO/DONE
ADFM 10

ADON
ADRESH VSS

10 ADRESL

7.1
1. 2.

A/D 的配置及操作
ADCON0 (寄存器 7-1) ANSEL (寄存器 7-2)

7.1.4

转换时钟

有两个用于控制 A/D 模块功能的寄存器:

A/D 转化周期需要 11 个 TAD。 可通过软件设置 ADCS 位 (ANSEL<6:4>)来选择转换时钟源。有以下 7 种时钟 频率可供选择: ? ? ? ? ? ? FOSC/2 FOSC/4 FOSC/8 FOSC/16 FOSC/32 FOSC/64

7.1.1

模拟端口引脚

ANS3:ANS0 位 (ANSEL<3:0>)和 TRISIO 位控制 A/ D 端口引脚的操作。置位相应的 TRISIO 位,可将引脚 输出驱动器置为高阻态。同样,置位相应的 ANS 位可 禁止数字输入缓冲器。 注: 在定义为数字输入的引脚上施加模拟电压 可能使输入缓冲器消耗过多电流。

? FRC (专用内部 RC 振荡器) 为了保证转换结果正确,必须选择合适的 A/D 转换时钟 频率(1/TAD)以确保最小转换时钟周期 TAD 为 1.6 ?s。 表 7-1 所示为选定频率下的几种 TAD 计算结果。

7.1.2

通道选择

PIC12F675 上有 4 个 模拟通道 (AN0 到 AN3) 。 CHS1:CHS0 位 (ADCON0<3:2>)控制哪条通道与采 样保持电路相连。

7.1.3

参考电压

A/D 转换器的参考电压有两种选择:使用 VDD,或使用 引 脚 上 的 模 拟 电 压。 VCFG 位 施加在 VREF (ADCON0<6>) 控制参考电压的选择。 如果置位VCFG 位,将选择 VREF 引脚上的电压作为参考电压,否则将 选择 VDD 作为参考电压。

? 2004 Microchip Technology Inc.

DS41190C_CN 第 41 页

PIC12F629/675
表 7-1:
工作频率 2 TOSC 4 TOSC 8 TOSC 16 TOSC 32 TOSC 64 TOSC A/D RC

不同器件工作频率下的 TAD
器件频率 20 MHz 100 ns(2) 200 ns(2) 400 ns(2) 800 ns(2) 1.6 ?s 3.2 ?s 2 - 6 ?s(1.4) 5 MHz 400 ns(2) 800 ns(2) 1.6 ?s 3.2 ?s 6.4 ?s 12.8 ?s(3) 2 - 6 ?s(1.4) 4 MHz 500 ns(2) 1.0 ?s(2) 2.0 ?s 4.0 ?s 8.0 ?s(3) 16.0 ?s(3) 2 - 6 ?s(1.4) 1.25 MHz 1.6 ?s 3.2 ?s 6.4 ?s 12.8 ?s(3) 25.6 ?s(3) 51.2 ?s(3) 2 - 6 ?s(1.4) ADCS2:ADCS0 000 100 001 101 010 110 x11

A/D 时钟源 (TAD)

图注: 阴影单元表示超出了建议范围。 注 1:VDD > 3.0V 时, A/D RC 源产生 4 ?s 的典型 TAD 时间。 2:这些值均违反了所需的最小 TAD 时间。 3:为了加快转换速度,建议选用其它时钟源。 4:当器件的频率高于 1 MHz 时,仅当在休眠期间进行转换时才推荐使用 A/D RC 时钟源。

7.1.5

启动转换

通过置位 GO/DONE 位 (ADCON0<1>)启动 A/D 转 换。转换完成时, A/D 模块将: ? 清零 GO/DONE 位 ? 置位 ADIF 标志位 (PIR1<6>) ? 产生中断 (如果使能的话) 如果必须要中止转换,则可用软件清零 GO/DONE 位。 如果 A/D 转 换 采 样 只 进 行 了 一 部 分,则 ADRESH:ADRESL 寄 存 器 的 内 容 不 会 更 新。而 ADRESH:ADRESL 寄存器将保持上次转换所得到的

值。如果转换发生异常中断,必须经过 2 TAD 的延时后 才可启动下一次采集。延时过后,将自动开始对选定通 道进行输入采集。 注: 不应在启动 A/D 转换的同一条指令中置位 GO/DONE 位。

7.1.6

转换输出

A/D 转换的结果可以如下两种格式提供:左对齐或右对 齐。 ADFM 位 (ADCON0<7>)控制输出格式。图 7-2 所示为输出的格式。

图 7-2:

10 位 A/D 结果的格式
ADRESH ADRESL LSB bit 0 bit 7 bit 0

(ADFM = 0)

MSB bit 7

10 位 A/D 转换的结果 (ADFM = 1) bit 7 MSB bit 0 bit 7

未用位: 读作 0 LSB bit 0

未用位: 读作 0

10 位 A/D 转换的结果

DS41190C_CN 第 42 页

? 2004 Microchip Technology Inc.

PIC12F629/675
寄存器 7-1: ADCON0—A/D 控制寄存器 (地址:1Fh)
R/W-0 ADFM bit 7 bit 7 ADFM:A/D 结果格式选择位 1 = 右对齐 0 = 左对齐 VCFG:参考电压位 1 = 选用 VREF 引脚上的电压 0 = 选用 VDD 未用位:读作 0 CHS1:CHS0:模拟通道选择位 00 = 通道 00 (AN0) 01 = 通道 01 (AN1) 10 = 通道 02 (AN2) 11 = 通道 03 (AN3) GO/DONE:A/D 转换状态位 1 = A/D 转换正在进行。 将该位置 1 可启动 A/D 转换。 当 A/D 转换完成以后,该位由硬件自动清零。 0 = A/D 转换已完成 / 未进行。 ADON:A/D 转换器状态位 1 = A/D 转换器模块正在运行 0 = A/D 转换器被关闭且不消耗工作电流 图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位 R/W-0 VCFG U-0 — U-0 — R/W-0 CHS1 R/W-0 CHS0 R/W-0 GO/DONE R/W-0 ADON bit 0

bit 6

bit 5-4 bit 3-2

bit 1

bit 0

? 2004 Microchip Technology Inc.

DS41190C_CN 第 43 页

PIC12F629/675
寄存器 7-2: ANSEL— 模拟选择寄存器 (地址: 9Fh)
U-0 — bit 7 bit 7 bit 6-4 未用位:读作 0。 ADCS<2:0>:A/D 转换时钟选择位 000 = FOSC/2 001 = FOSC/8 010 = FOSC/32 x11 = FRC (由专用内部振荡器产生的时钟,其频率的最大值为 500 kHz) 100 = FOSC/4 101 = FOSC/16 110 = FOSC/64 ANS3:ANS0:模拟选择位 (可将 AN<3:0> 引脚的功能分别选为模拟或是数字) 1 = 模拟输入;分配引脚为模拟输入 (1) 0 = 数字 I/O ;分配引脚为端口引脚或特殊功能引脚 注 1: 将引脚设置为模拟输入端将自动禁止数字输入电路、弱上拉和引脚电平变化中断等 功能。相应的 TRISIO 位必须设置为输入模式以允许从外部控制引脚电压。 R/W-0 ADCS2 R/W-0 ADCS1 R/W-0 ADCS0 R/W-1 ANS3 R/W-1 ANS2 R/W-1 ANS1 R/W-1 ANS0 bit 0

bit 3-0

图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

DS41190C_CN 第 44 页

? 2004 Microchip Technology Inc.

PIC12F629/675
7.2 A/D 采集要求
为了使 A/D 转换器达到规定的精度,必须使充电保持电 容 (CHOLD)充满至输入通道的电压电平。模拟输入模 型见图 7-3。源阻抗(RS)和内部采样开关(RSS)阻 抗直接影响电容 CHOLD 充电所需的时间。采样开关 (RSS)阻抗随器件电压 (VDD)的变化而变化,参见 图 7-3。 建议模拟信号源的最大阻抗为 10 k?。采集时 间随着阻抗的降低而缩短。在选择 (改变)模拟输入通 道以后,必须在开始转换之前完成采集。 可以使用等式 7-1来计算最小采集时间。 该等式假设误 差为 1/2 LSb(A/D 转换需要 1024 步) 。1/2 LSb 误差 是 A/D 达到规定精度所允许的最大误差。 ,请参见《PICmicro? 中 要计算最短采集时间(TACQ) 档单片机系列参考手册》 (DS33023A_CN) 。

等式 7-1:
TACQ

采集时间

= 放大器稳定时间 + 保持电容充电时间 + 温度系数 = = = = = = = TAMP + TC + TCOFF 2?s + TC + [ (温度 -25°C) (0.05?s/°C) ] CHOLD (RIC + RSS + RS)× (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

TC

TACQ



1:因为参考电压 (VREF)自行抵消,因此它对该等式没有影响。 2: 充电保持电容 (CHOLD)在每次转换结束时不会放电。 3: 建议模拟信号源的最大阻抗为 10 k?。它必须符合引脚泄漏电流规范中的规定。

图 7-3:

模拟输入模型 VDD
RS VA ANx CPIN 5 pF VT = 0.6V 采样 开关 RIC ≤ 1K SS RSS I LEAKAGE ± 500 nA CHOLD = DAC 电容 = 120 pF VSS 图注 CPIN VT I LEAKAGE RIC SS CHOLD

VT = 0.6V

= 输入电容 = 阈值电压 = 由于不同连接所造成的 = 连线电阻 = 采样开关 = 采样 / 保持电容(来自 DAC)
泄漏电流

6V 5V VDD 4V 3V 2V 5 6 7 8 9 10 11 采样开关 (k?)

? 2004 Microchip Technology Inc.

DS41190C_CN 第 45 页

PIC12F629/675
7.3 休眠期间的 A/D 转换
A/D 转换器可在休眠模式下运行。此时要求将内部 RC 振荡器作为 A/D 转换的时钟源。当选用 RC 时钟源时, A/D 转换器会等待一个指令再开始转换。 这使 SLEEP 指 令得以执行,从而消除了转换中的大多数开关噪声。当 转换完成时, GO/DONE 被清零,同时转换结果存入 ADRESH:ADRESL 寄存器。此时如果允许 A/D 中断, 则器件将会从休眠状态下唤醒。如果 A/D 中断未被使 能,即使 ADON 保持置位,也还是会关闭 A/D 模块。 当 A/D 时钟源不是 RC 时,执行 SLEEP 指令将中止当 前的转换,同时关闭 A/D 模块。ADON 位仍保持置位。

7.4

复位的影响

器件复位将迫使所有的寄存器恢复到其复位状态。 因 此,复位会关闭 A/D 模块并且中止任何当前待处理的转 换。 ADRESH:ADRESL 寄存器的内容不变。

表 7-2:
地址 05h 0Ch 1Eh 1Fh 85h 8Ch 9Eh 9Fh 图注: 名称 GPIO PIR1 ADCON0 TRISIO PIE1 ADRESL ANSEL

A/D 寄存器汇总
bit 7 — GIE EEIF ADFM — EEIE — bit 6 — PEIE ADIF VCFG — ADIE ADCS2 bit 5 GPIO5 T0IE — — TRISIO5 — ADCS1 bit 4 GPIO4 INTE — — TRISIO4 — ADCS0 bit 3 GPIO3 GPIE CMIF CHS1 TRISIO3 CMIE ANS3 bit 2 GPIO2 T0IF — CHS0 — ANS2 bit 1 GPIO1 INTF — GO — ANS1 bit 0 GPIO0 GPIF TMR1IF ADON TMR1IE ANS0 POR、 所有其它复位 BOD 时的值 时的值 --xx xxxx 0000 0000 00-- 0--0 xxxx xxxx 00-- 0000 --11 1111 00-- 0--0 xxxx xxxx -000 1111 --uu uuuu 0000 000u 00-- 0--0 uuuu uuuu 00-- 0000 --11 1111 00-- 0--0 uuuu uuuu -000 1111

0Bh, 8Bh INTCON

ADRESH 左对齐格式下 A/D 结果的高 8 位或右对齐格式下结果的高 2 位 TRISIO2 TRISIO1 TRISIO0

左对齐格式下 A/D 结果的低 2 位或右对齐格式下结果的低 8 位

x = 未知 , u = 未改变 , - = 未实现,读作 0。阴影单元表示未被 A/D 转换器模块使用。

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 EEDAT7 bit 7 R/W-0 EEDAT6 R/W-0 EEDAT5 R/W-0 EEDAT4 R/W-0 EEDAT3 R/W-0 R/W-0 R/W-0 EEDAT0 bit 0 EEDAT2 EEDAT1

bit 7-0

EEDATn:读 / 写数据 EEPROM 的字节值 图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

寄存器 8-2:

EEADR—EEPROM 地址寄存器 (地址: 9Bh)
U-0 bit 7 R/W-0 EADR6 R/W-0 EADR5 R/W-0 EADR4 R/W-0 EADR3 R/W-0 EADR2 R/W-0 EADR1 R/W-0 EADR0 bit 0

bit 7 bit 6-0

未用位:应该清零 EEADR:指定 128 个地址单元之一进行 EEPROM 读 / 写操作 图注: R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 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 存储器的器件。 当 WREN 位置 1 时,允许进行写操作。上电延时时, WREN 位被清零。正常工作期间, 如果写操作被 MCLR 复位或 WDT 超时复位中断,则 WRERR 位被置 1。上 述情形下,用户可在复位结束后检查 WRERR 的状态, 对其清零并重写该地址单元。数据和地址被清零,这样 EEDATA 和 EEADR 寄存器需要进行重新初始化。 当写操作完成时,PIR1 寄存器上的中断标志位 EEIF 置 1。此位必须用软件清零。 EECON2 不是实际存在的寄存器。读 EECON2 将得到 全零。EECON2 寄存器只在数据 EEPROM 写操作序列 中使用。

8.2

EECON1 和 EECON2 寄存器

EECON1 为控制寄存器,实际只使用了它的低四位。高 四位未被使用,并且读作 0。 控制位 RD 和 WR 分别用于启动读写操作。这些位不能 用软件清零,只能用软件置 1。它们在读写操作完成时 由硬件清零。WR 位不能用软件清零是为了防止写操作 的意外或过早中止。

寄存器 8-3:

EECON1—EEPROM 控制寄存器 (地址: 9Ch)
U-0 - bit 7 U-0 - U-0 - U-0 - R/W-x WRERR R/W-0 WREN R/S-0 WR R/S-0 RD bit 0

bit 7-4 bit 3

未用位:读作 0 WRERR: EEPROM 错误标志位 1 = 写操作被过早中止 (正常操作或 BOD 检测期间发生 MCLR 复位、 WDT 复位) 0 = 写操作完成 WREN: EEPROM 写操作使能位 1 = 允许写周期 0 = 禁止写入数据 EEPROM WR:写操作控制位 1 = 启动写周期 (一旦写操作完成,该位被硬件清零。 WR 位只能用软件置 1 而不能清零) 0 = 写入数据 EEPROM 的写周期完成 RD:读控制位 1 = 启动 EEPROM读操作 (读操作占用一个周期。 RD由硬件清零, RD只能用软件置1 而不能清 零) 。 0 = 不启动 EEPROM 读操作 图注: S = 可以被置位 R = 可读位 - n = POR 时的值 W = 可写位 1= 置位 U = 未用位,读作 0 0= 清零 x= 未知位

bit 2

bit 1

bit 0

DS41190C_CN 第 48 页

? 2004 Microchip Technology Inc.

PIC12F629/675
8.3 读 EEPROM 数据存储器
要读取数据存储器地址单元,用户必须先把该地址写 到 EEADR 寄存器中, 并将控制位 RD (EECON1<0>) 置 1,如例 8-1 所示。在紧随其后的下一个指令周期, EEDATA寄存器中的数据即可使用。 因此可以通过下一 条指令来读取。 EEDATA将保留该数据直至另一次读操 作开始,或用户写入新值为止 (在写操作中) 。 在写序列启动后,清零 WREN 位不会影响写周期。除 非 WREN 置位,否则 WR 位不能被置位。 写周期完成时, WR 位被硬件清零, 写操作结束中断 EE 标志位 (EEIF)被置 1。用户可以允许该中断或查询该 标志位。EEIF 位(PIR<7>)寄存器必须用软件清零。

8.5

写校验

例 8-1:
bsf movlw movwf bsf movf

读数据 EEPROM
STATUS,RP0 CONFIG_ADDR EEADR EECON1,RD EEDATA,W ;Bank 1 ; ;Address to read ;EE Read ;Move data to W

根据具体应用,将写入数据 EEPROM 中的值与期望写 入值相校验 (见例 8-3)是一个不错的编程习惯。

例 8-3:
bcf : bsf movf bsf

写校验
STATUS,RP0 STATUS,RP0 EEDATA,W EECON1,RD ;Bank 0 ;Any code ;Bank 1 READ ;EEDATA not changed ;from previous write ;YES, Read the ;value written ;Is data the same ;No, handle error ;Yes, continue

8.4

写 EEPROM 数据存储器

要写 EEPROM 数据存储器地址单元,用户必须首先将 该地址写入 EEADR 寄存器, 并将数据写入 EEDATA 寄 存器。然后用户必须遵守特定的指令序列来写每一个字 节,如例 8-2 所示。

xorwf EEDATA,W btfss STATUS,Z goto WRITE_ERR :

例 8-2:
bsf bsf bcf movlw movwf movlw movwf bsf bsf

写数据 EEPROM
STATUS,RP0 EECON1,WREN INTCON,GIE 55h EECON2 AAh EECON2 EECON1,WR INTCON,GIE ;Bank 1 ;Enable write ;Disable INTs ;Unlock write ; ; ; ;Start the write ;Enable INTS

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:
地址 0Ch 9Ah 9Bh 9Ch 9Dh 图注: 注

与数据 EEPROM 相关的寄存器 / 位
名称 PIR1 EEDATA EEADR bit 7 EEIF - bit 6 ADIF bit 5 - bit 4 - bit 3 CMIF bit 2 - bit 1 - bit 0 POR、 BOD 其它复位时 时的值 的值

TMR1IF 00-- 0--0 00-- 0--0 0000 0000 0000 0000 -000 0000 -000 0000

EEPROM 数据寄存器 EEPROM 地址寄存器 - WRERR WREN WR RD

EECON1 - - - EECON2(1) EEPROM 控制寄存器 2

---- x000 ---- q000 ---- ---- ---- ----

x = 未知、 u = 未改变、 - = 未用,读作 0 、 q = 其值根据条件变化。 阴影单元表示未被数据 EEPROM 模块使用。 1: EECON2 不是实际存在的寄存器。

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 配置位
注: 地址2007h超过了用户程序存储器空间。 它 属 于特 殊 配 置 存 储 器 空 间 (2000h 3FFFh) ,只能在编程的时候对它进行访 问。更多信息请参见PIC12F629/675编程规 范。 可以通过对配置位编程 (读作 “0” )或不编程 (读作 “1” )来选择不同的器件配置,如寄存器 9-1 所示。这 些位映射到程序存储器地址单元 2007h 中。

寄存器 9-1:
R/P-1 R/P-1 BG1 bit 13 BG0 U-0 -

CONFIG—配置字 (地址: 2007h)
U-0 - U-0 - R/P-1 CPD R/P-1 CP R/P-1 R/P-1 R/P-1 R/P-1 R/P-1 R/P-1 R/P-1 BODEN MCLRE PWRTE WDTE F0SC2 F0SC1 F0SC0 bit 0

bit 13-12

BG1:BG0:BOD 和 POR 电压的带隙校准位 (1) 00 = 最低带隙电压 11 = 最高带隙电压 未用位:读作 0 CPD:数据代码保护位 (2) 1 = 禁止数据存储器代码保护 0 = 使能数据存储器代码保护。 CP:代码保护位 (3) 1 = 禁止程序存储器代码保护 0 = 使能程序存储器代码保护 BODEN:欠压检测使能位 (4) 1 = 使能 BOD 0 = 禁止 BOD MCLRE:GP3/MCLR 引脚功能选择 (5) 1 = GP3/MCLR 引脚功能为 MCLR 0 = GP3/MCLR 引脚功能为数字 I/O, MCLR 内部连接到 VDD 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 编程规范中的规定,在擦除之前要先读 出并保存器件程序。在导出配置字寄存器的内容时可以反映出这些位。 Microchip 开发工具保持所 有的校准位为出厂设置。 2:当关闭代码保护时,将擦除整个数据 EEPROM 的内容。 3:如果关闭代码保护功能,还会擦除整个程序存储器的内容,包括 OSCCAL 值。 4:使能欠压检测并不能自动使能上电延时定时器。 5:当 MCLR 在 INTOSC 或者 RC 模式下被拉为低电平时,将禁止内部时钟振荡器。 图注: P = 使用 ICSP 编程 R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 x= 未知位

bit 11-9 bit 8

bit 7

bit 6

bit 5

bit 4

bit 3

bit 2-0

DS41190C_CN 第 52 页

? 2004 Microchip Technology Inc.

PIC12F629/675
9.2
9.2.1

振荡器配置
振荡器类型

图 9-2:

外部时钟输入的操作 (HS、 XT、 或 LP 振荡器配置) EC
OSC1 PIC12F629/675 OSC2(1)

PIC12F629/675 可选择在 8 种不同的振荡模式下运行。 用户可对以下 3 个配置位(FOSC2 到 FOSC0)编程来 选择这 8 种模式之一: ? ? ? ? ? ? LP 低功耗晶振 XT 晶振 / 谐振器 HS 高速晶振 / 谐振器 RC 外部电阻 / 电容 (2 种模式) INTOSC 内部振荡器 (2 种模式) EC 外部时钟输入 注: 有关振荡器配置的其他信息可参见 《PICmicro? 中档单片机系列参考手册》 (DS33023A_CN) 。

来自外部系统 的时钟信号 打开

注 1 在 EC 振荡器模式下, : 该引脚作为 GP4 使用。

表 9-1:
模式 XT

陶瓷谐振器的电容选择
特性范围: 频率 455 kHz 2.0 MHz 4.0 MHz 8.0 MHz 16.0 MHz OSC1(C1) 68 - 100 pF 15 -68 pF 15 -68 pF 10 -68 pF 10 -22 pF OSC2(C2) 68 - 100 pF 15 -68 pF 15 -68 pF 10 -68 pF 10 -22 pF

9.2.2

晶振 / 陶瓷谐振器

在 XT、 LP 或 HS 模式下,晶振或陶瓷谐振器连接到 OSC1 和 OSC2 引脚以建立振荡 (参见图 9-14) 。 PIC12F629/675 振荡器的设计要求使用平行切割的晶 体。 而采用顺序切割的晶体,可能使振荡器产生的频率 超出晶体制造厂商给出的范围。在 XT、 LP 或 HS 模式 下,器件可用一个外部时钟源来驱动 OSC1 引脚(参见 图 9-14) 。

HS 注

图 9-1:

晶振 (或陶瓷振荡器)的操作 (HS、 XT 或 LP 振荡器配置 )
OSC1 到内部 逻辑电路 XTAL OSC2 RF(3) 休眠

1: 电容越大,振荡器的稳定性也越高,但同 时上电时间也会延长。这些值仅供设计参 考。由于每个谐振器的特性各不相同,因 此用户应向生产厂家咨询外部元件的正确 参数。

表 9-2:
模式 LP XT

晶体振荡器的电容选择
频率 32 kHz 100 kHz 2 MHz 4 MHz 8 MHz 10 MHz 20 MHz OSC1(C1) 68 - 100 pF 68 -150 pF 15 -30 pF 15 -30 pF 15 -30 pF 15 -30 pF 15 -30 pF OSC2(C2) 68 - 100 pF 150 -200 pF 15 -30 pF 15 -30 pF 15 -30 pF 15 -30 pF 15 -30 pF

C1(1)

C2(1)

RS(2)

PIC12F629/675

HS

注 1: C1 和 C2 的建议值,参见表 9-1 和表 9-2。 2: 对于 AT 条形切割的晶体可能需要串联一个电阻。 3: RF 随振荡器模式的不同而变化 (大约值 10 M?) 。



1: 电容越大,振荡器的稳定性也越高,但同 时上电时间也会延长。这些值仅供设计参 考。为避免对要求低驱动的晶振造成过驱 动,在 HS 和 XT 模式下,可能需要串联电 阻 (Rs) 。由于每个谐振器的特性各不相 同,因此用户应向生产厂家咨询外部元件 的正确参数。

?2004 Microchip Technology Inc.

DS41190C_CN 第 53 页

PIC12F629/675
9.2.3 外部时钟输入 9.2.5 内部 4 MHZ 振荡器
对于已具备外部时钟的应用场合,只要该外部时钟源符 合第 12.0 节列出的 AC/DC 时序要求, 用户就可以直接 使用它所提供的时钟信号来驱动 PIC12F629/675。 9图 14 显示了如何配置外部时钟电路。 经过校准后,内部振荡器可提供固定的 4 MHz (标称 值)系统时钟。有关随电压和温度变化的信息,请参见 第 12.0 节中的电气规范。 在这种振荡模式下,GP4 有两种配置可供选择,可将其 作为通用 I/O 引脚或是输出 FOSC/4。

9.2.4

RC 振荡器

如果对定时精度要求不高,可以选用 RC 振荡器。 RC 振荡器的工作和功能取决于许多变量。 RC 振荡器的频 率是以下参数的函数: ? 供电电压 ? 电阻 (REXT)和电容 (CEXT)的值 ? 工作温度。 由于正常的制造工艺参数存在差异,因此每个振荡器的 频率也会有所变化。 而不同封装类型的引线电容不同, 也会影响振荡频率,特别是当 CEXT 值较小时。用户还 需要考虑外部元件 (电阻 R 和电容 C)的容差。图 914 显示了如何外接 R/C 组合电路。 在这种振荡模式下,GP4 有两种配置可供选择,可将其 作为通用 I/O 引脚或是输出 FOSC/4。

9.2.5.1

校准内部振荡器

校准指令被编程到程序存储器的最后一个地址单元中。 这条指令是 RETLW XX,其中立即数为校准值。将立即 数放在 OSCCAL 寄存器中用来校准内部振荡器。例 91 演示了如何校准内部振荡器。为了使器件能够工作在 最佳状态,应对 VDD 和 VSS 去耦 (电容)并使之尽量 靠近器件。 注: 擦除器件的同时也会擦除为内部振荡器预 编程的内部校正值。必须按照 PIC12F629/ 675 编程规范中的规定, 在擦除部件之前保 存校准值。 Microchip 开发工具保持所有的 校准位为出厂设置。

例 9-1:
bsf call movwf bcf

校准内部振荡器
STATUS, RP0 3FFh OSCCAL STATUS, RP0 ;Bank 1 ;Get the cal value ;Calibrate ;Bank 0

图 9-3:
VDD REXT

RC 振荡模式

PIC12F629/675 GP5/OSC1/ CLKIN 内部 时钟

9.2.6

CLKOUT

CEXT VSS FOSC/4 GP4/OSC2/CLKOUT

在INTOSC和RC振荡模式下, 可配置PIC12F629/675, 使之产生时钟输出信号。配置后,GP4/OSC2/CLKOUT 信号。 OSC/ F 引脚上产生振荡器频率的 4 分频 OSC/4) (F 4 可作测试用途或同步其它逻辑模块。

DS41190C_CN 第 54 页

? 2004 Microchip Technology Inc.

PIC12F629/675
9.3
a) b) c) d) e) f)

复位
上电复位 (POR) 正常工作中的 WDT 复位 休眠期间的 WDT 复位 正常工作中的 MCLR 复位 休眠期间的 MCLR 复位 欠压检测 (BOD) 因为 WDT 唤醒被视为是回复正常工作的操作,因此不 会影响这些寄存器。 如表 9-4 所示, 和 PD 状态位在 TO 不同的复位中分别被置位或清零。软件利用这些位来确 定复位的性质。表 9-7 对所有寄存器的复位状态作了完 整的描述。 图 9-14 所示为片上复位电路的简化框图。 MCLR 复位路径中有一个噪声滤波器,用于检测或滤除 小脉冲信号。有关脉宽规范可参见电气规范一节中的 表 12-4。

PIC12F629/675 可区分不同种类的复位:

有些寄存器不受任何复位条件的影响;它们在 POR 时 状态未知,而在任何其它复位时状态不变。发生下列复 位时,大多数其它寄存器返回 “复位”状态: ? ? ? ? ? 上电复位 MCLR 复位 WDT 复位 休眠期间的 WDT 复位 欠压检测 (BOD)复位

图 9-4:

片上复位电路的简化框图
外部 复位

MCLR/ VPP 引脚 WDT 模块 VDD 上升沿 检测 VDD 欠压 检测 WDT

SLEEP

超时复位

上电复位 S Q

BODEN

OST/PWRT OST 10 位脉动计数器 OSC1 CLKIN 引脚 PWRT 片上(1) RC OSC 10 位脉动计数器 R Q Chip_Reset

使能 PWRT 使能 OST

有关超时的情况请参见表 9-3。



1:

该振荡器独立于 INTOSC/RC 振荡器。

?2004 Microchip Technology Inc.

DS41190C_CN 第 55 页

PIC12F629/675
9.3.1
MCLR PIC12F629/675 器件在 MCLR 复位路径中有一个噪声 滤波器, 用于检测和滤除小脉冲信号。 应该注意WDT复位不会将MCLR引脚驱动输出低电平。 MCLR 引脚上的 ESD 保护与该系列早先的器件有所不 同。该引脚上电压超过规定值将导致 MCLR 复位,并且 在 ESD 发生时产生超过器件规定值的电流。因此, Microchip 建议不要把 VDD 直接加在 MCLR 引脚上。建 议使用图 9-14 所示的 RC 网络。 通过置位配置字中 MCLRE 位可以使能内部 MCLR 选 项。使能时,MCLR 引脚内部连接到 VDD。MCLR 引脚 没有内部上拉功能选项。 其它信息请参见应用笔记 AN607 “Power-up Trouble Shooting”。

9.3.3

上电延时定时器 (PWRT)

上电延时定时器仅在上电时提供一个 72 ms (标称值) 的 POR 或欠压检测固定延时。上电延时定时器使用内 部 RC 振荡器。只要 PWRT 有效,芯片就处于复位状 态。 PWRT 延时可以使 VDD 上升到适当的电平。 配置位 PWRTE 可以使能 (如果置位)或禁止 (如果清零或被 编程)上电延时定时器。当欠压检测使能时应始终使能 上电延时定时器。 下列原因会造成各芯片之间上电延时的时间不同: ? VDD 不同 ? 温度变化 ? 制造工艺的差异。 详情请参见 DC 参数 (第 12.0 节) 。

图 9-5:
VDD

建议使用的 MCLR 电路
PIC12F629/675

9.3.4

振荡器起振定时器 (OST)

R1 1 k?(或更大) MCLR C1 0.1 ?f (可选, 非关键元件)

在PWRT延时结束以后, 振荡器起振定时器将提供1024 个振荡周期 (来自 OSC1 引脚) 。这将确保晶振或谐振 器起振并达到稳定状态。 只有在 XT、 LP 和 HS 模式下,且仅在上电复位或将器 件从休眠状态唤醒时,才会发生 OST 超时。

9.3.2

上电复位 (POR)

在 VDD 值达到能让芯片正常工作的足够高的电平值以 前,片上 POR 电路使芯片处于复位状态。欲有效利用 POR,用户只须在 MCLR 引脚和 VDD 之间串联一个电 阻。这样就可无需使用通常产生上电复位所需的外接 RC 元件。 VDD 需要一个最大上升时间。详细信息请参 见电气规范(第 12.0 节) 。如果 BOD 使能,则最大上 升时间规范不再适用。 BOD电路将保持器件为复位状态 。 直到 VDD 的值达到 VBOD (参见第 9.3.5 节) 注: 当 VDD 降低时,POR 电路不会产生内部复 位。

当器件开始正常工作 (退出复位状态)时,器件的工作 参数 (即电压、频率和温度等)必须得到满足,以确保 其正常工作。如果不满足这些条件,器件必须保持在复 位状态,直到满足工作条件为止。

DS41190C_CN 第 56 页

? 2004 Microchip Technology Inc.

PIC12F629/675
9.3.5 欠压检测 (BOD)
PIC12F629/675 系列单片机都带有片上欠压检测电路。 配置位 BODEN 可以禁止 (如果清零 / 编程)或使能 (如果置位)欠压检测电路。 如果 VDD 下降到 VBOD 以 下,且持续时间超过表 12-4 中的参数值 (TBOD) (见 第 12.0 节) ,欠压状况将使器件复位。 无论 VDD 的转 换率大小如何,上述情况都会发生。 如果 VDD 低于 ,则不保证会发生复 VBOD 的时间少于参数值 (TBOD) 位。 任何复位 (上电复位、欠压复位、看门狗定时器复位 等) 发生时, 器件将保持复位状态直到VDD 上升到BVDD 以上 (参见图 9-14) 。如果使能了上电延迟定时器,此 时 它 将 启 动,并 将 使 器 件 保 持 复 位 状 态 的 时 间延 长 72 ms。 注: 如果置位配置字中的 PWRTE 位, 那么欠压 检测将不会使能上电延迟定时器。

如果上电延迟定时器运行时, VDD 下降到 BVDD 以下, 芯片将重新回到欠压检测状态,且上电延迟定时器将被 重新初始化。一旦 VDD 上升到 BVDD 以上,上电延迟定 时器将执行一个 72 ms 的复位延时。

图 9-6:
VDD

欠压情况
VBOD

内部 复位

72 ms(1)

VDD

VBOD

内部 复位

<72 ms

72 ms(1)

VDD

VBOD

内部 复位

72 ms(1)



1: 仅当配置字中的 PWRTE 位被编程为 0 时,才产生 72 ms 延迟。

9.3.6

延时序列

9.3.7

电源控制 (PCON)状态寄存器

上电延时序列如下: 首先, POR 结束后启动 PWRT 延 时。 然后,OST 被激活。总延时时间取决于振荡器的配 置和 PWRTE 位的状态。例如,在 EC 模式且 PWRTE 位清零(PWRT 禁止)的情况下,不会出现延时。图 914,图 9-14 和图 9-14 给出了延时序列。 由于延时是由 POR 脉冲引起的,因此若 MCLR 引脚保 持低电平的时间足够长,延时将结束。拉高 MCLR 将立 即执行延时 (见图 9-14) 。这在测试时或同步多个 PIC12F629/675 并行使用的器件来说非常有用。 表 9-6 给出了一些特殊寄存器的复位条件, 而表 9-7 给 出了所有寄存器的复位条件。

电源控制 / 状态寄存器 PCON (地址 8Eh) 包含两个位。 。 Bit0 是 BOD 位(欠压复位) BOD 在发生上电复位后 状态未知。用户必须将该位置 1,并在随后的复位发生 时检查 BOD 是否为 0, 如果是, 则表示已经发生过欠压 复位。如果欠压电路(通过在配置字中设置 BODEN 位 为 0)被禁止,则 BOD 状态位是一个无关位,也无法预 知其状态。 。上电复位时该位为 0 , Bit1 是 POR 位(上电复位位) 其它情况下该位不受影响。 用户必须在上电复位之后, 将 1 写入该位。在随后的复位中,如果 POR 为 0,则 。 表示发生过上电复位 (即 VDD 曾处于过低状态)

?2004 Microchip Technology Inc.

DS41190C_CN 第 57 页

PIC12F629/675
表 9-3: 不同情况下的延时
上电延时 振荡器配置 XT, HS, LP RC, EC, INTOSC PWRTE = 0 TPWRT + 1024?TOSC TPWRT PWRTE = 1 1024?TOSC - 欠压检测 PWRTE = 0 TPWRT + 1024?TOSC TPWRT PWRTE = 1 1024?TTOSC - 从休眠中唤醒 1024?TOSC -

表 9-4:
POR 0 1 u u u u 图注: u 0 u u u u

STATUS/PCON 位及其含义
BOD TO 1 1 0 0 u 1 PD 1 1 u 0 u 0 上电复位 欠压检测 WDT 复位 WDT 唤醒 在正常工作中的 MCLR 复位 休眠期间的 MCLR 复位

u = 未改变, x = 未知

表 9-5:
地址 03h 8Eh

与欠压相关的寄存器汇总
名称 STATUS PCON bit 7 IRP - bit 6 RP1 - bit 5 RPO - bit 4 TO - bit 3 PD - bit 2 Z - bit 1 DC POR bit 0 C BOD POR、 BOD 其它复位时 时的值 的值 (1) 0001 1xxx 000q quuu ---- --0x ---- --uq

图注: u = 未改变、 x = 未知、- = 未实现位,读作 0、 q = 值随条件而变。 注 1: 其它 (非上电)复位包括正常工作下的 MCLR 复位、欠压检测和看门狗定时器复位。

表 9-6:

特殊寄存器的初始化条件
条件 程序计数器 000h 000h 000h 000h PC + 1 000h PC + 1
(1)

状态寄存器 0001 1xxx 000u uuuu 0001 0uuu 0000 uuuu uuu0 0uuu 0001 1uuu uuu1 0uuu

PCON 寄存器 ---- --0x ---- --uu ---- --uu ---- --uu ---- --uu ---- --10 ---- --uu

上电复位 在正常工作中的 MCLR 复位 休眠模式中的 MCLR 复位 WDT 复位 WDT 唤醒 欠压检测 中断将器件从休眠模式唤醒

图注: u = 未改变、 x = 未知、 - = 未实现位,读作 0。 注 1: 如果器件是由中断唤醒且全局使能位 GIE 置 1,则执行 PC+1 后中断矢量 (0004h)被装入 PC。

DS41190C_CN 第 58 页

? 2004 Microchip Technology Inc.

PIC12F629/675
表 9-7:
寄存器

寄存器的初始化条件
地址 上电复位 ? ? ? ? 正常工作时的 MCLR 复位 休眠期间的 MCLR 复位 WDT 复位 欠压检测 (1) uuuu uuuu - uuuu uuuu 0000 0000 000q quuu(4) uuuu uuuu --uu uuuu ---0 0000 0000 000u 00-- 0--0 -uuu uuuu -0-0 0000 uuuu uuuu 00-- 0000 1111 1111 --11 1111 00-- 0--0 ---- --uu(1,6) 1000 00---11 -111 --00 0000 0-0- 0000 0000 0000 -000 0000 ---- q000 ---- ---uuuu uuuu -000 1111 ? 中断将器件从休眠状态唤醒 ? WDT 超时溢出将器件从休眠 状态唤醒 uuuu uuuu - uuuu uuuu PC + 1(3) uuuq quuu(4) uuuu uuuu --uu uuuu ---u uuuu uuuu uuqq(2) qq-- q--q(2,5) -uuu uuuu -u-u uuuu uuuu uuuu uu-- uuuu uuuu uuuu --uu uuuu uu-- u--u ---- --uu uuuu uu-uuuu uuuu --uu uuuu u-u- uuuu uuuu uuuu -uuu uuuu ---- uuuu ---- ---uuuu uuuu -uuu uuuu

W INDF TMR0 PCL STATUS FSR GPIO PCLATH INTCON PIR1 T1CON CMCON ADRESH ADCON0 OPTION_REG TRISIO PIE1 PCON OSCCAL WPU IOC VRCON EEDATA EEADR EECON1 EECON2 ADRESL ANSEL

- 00h/80h 01h 02h/82h 03h/83h 04h/84h 05h 0Ah/8Ah 0Bh/8Bh 0Ch 10h 19h 1Eh 1Fh 81h 85h 8Ch 8Eh 90h 95h 96h 99h 9Ah 9Bh 9Ch 9Dh 9Eh 9Fh

xxxx xxxx - xxxx xxxx 0000 0000 0001 1xxx xxxx xxxx --xx xxxx ---0 0000 0000 0000 00-- 0--0 -000 0000 -0-0 0000 xxxx xxxx 00-- 0000 1111 1111 --11 1111 00-- 0--0 ---- --0x 1000 00---11 -111 --00 0000 0-0- 0000 0000 0000 -000 0000 ---- x000 ---- ---xxxx xxxx -000 1111

图注 : u = 未改变,x = 未知,- = 未实现位,读作 0, q = 值随条件而变。 注 1: 如果 VDD 过低,上电复位将被激活,寄存器将受到不同的影响。 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 不变。

?2004 Microchip Technology Inc.

DS41190C_CN 第 59 页

PIC12F629/675
图 9-7:
VDD MCLR 内部 POR TPWRT PWRT 延时 OST 延时 内部复位 TOST

上电时的延时序列 (MCLR 未连接到 VDD) 情形 1 :

图 9-8:
VDD MCLR 内部 POR

: 上电时的延时序列 (MCLR 未连接到 VDD) 情形 2

TPWRT PWRT 延时 OST 延时 内部复位 TOST

图 9-9:
VDD MCLR 内部 POR

上电时的延时序列 (MCLR 连接到 VDD)

TPWRT PWRT 延时 OST 延时 内部复位 TOST

DS41190C_CN 第 60 页

? 2004 Microchip Technology Inc.

PIC12F629/675
9.4
? ? ? ? ? ? ?

中断

PIC12F629/675 有 7 个中断源: 外部中断 GP2/INT TMR0 溢出中断 GPIO 电平变化中断 比较器中断 A/D 中断 (仅限 PIC12F675) TMR1 溢出中断 数据 EEPROM 写中断

一旦进入中断服务程序,就可以通过查询中断标志位来 判断中断源。在重新允许中断前,必须用软件将中断标 志位清零,以避免 GP2/INT 重复请求中断。 对于外部中断事件,如 INT 引脚中断或 GP 端口电平变 化中断,中断响应延时将会是 3 到 4 个指令周期。确切 的延时时间取决于中断事件何时发生(见图 9-14) 。对 于单周期或双周期指令,中断响应延时完全相同。一旦 进入中断服务程序,就可以通过查询中断标志位来判断 中断源。在重新允许中断前,必须用软件将中断标志位 清零,以避免出现多个中断请求。 注 1:各中断标志位置 1,且不受相应中断屏蔽 位和 GIE 位的状态影响。 2: 当执行一条清零 GIE 位的指令后,任何等 待在下一周期执行的中断均将被忽略。这 些被忽略的中断会在 GIE 位被再次置位时 继续等待响应。

中断控制寄存器(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

?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 T0IF T0IE INTF INTE GPIF GPIE PEIE
(1)

中断逻辑电路

唤醒 (如果处于休眠模式)

TMR1IF TMR1IE CMIF CMIE ADIF ADIE EEIF EEIE 注 1: 仅限 PIC12F675。

中断 CPU

GIE

DS41190C_CN 第 62 页

? 2004 Microchip Technology Inc.

PIC12F629/675
9.4.1 GP2/INT 中断 9.4.2 TMR0 中断
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 定 义的。 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 节。

图 9-11:
Q1 OSC1 CLKOUT 3 INT 引脚 INTF 标志 (INTCON<1>) GIE 位 (INTCON<7>) 指令流 PC 取指 执行 指令 注

INT 引脚中断时序图
Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4

4 1 1 5 中断响应延时 2

PC Inst (PC) Inst (PC-1)

PC+1 Inst (PC+1) Inst (PC)

PC+1 — 无效周期

0004h Inst (0004h) 无效周期

0005h Inst (0005h) Inst (0004h)

1: 此时采样 INTF 标志 (每个 Q1 周期) 2: 异步中断响应延时为 3-4 个 TCY。 同步中断响应延时为 3 TCY,其中 TCY 为指令周期时间。 不论 Inst (PC)是单周 期指令还是双周期指令,中断响应延时都是相同的。 3: 只有在 RC 振荡器模式下, CLKOUT 才有效。 4: 关于 INT 脉冲的最小宽度要求,请参考 AC 规范。 5: 允许在 Q4-Q1 周期内的任何时间置位 INTF。

?2004 Microchip Technology Inc.

DS41190C_CN 第 63 页

PIC12F629/675
表 9-8:
地址 名称

中断寄存器汇总
bit 7 GIE EEIF EEIE bit 6 PEIE ADIF ADIE bit 5 T0IE - - bit 4 INTE - - bit 3 GPIE CMIF CMIE bit 2 T0IF - - bit 1 INTF - - bit 0 GPIF POR、 BOD 时的值 所有其它复 位时的值

0Bh, 8Bh INTCON 0Ch 8Ch 图注: PIR1 PIE1

0000 0000 0000 000u

TMR1IF 00-- 0--0 00-- 0--0 TMR1IE 00-- 0--0 00-- 0--0

x = 未知、 u = 未改变、 - = 未实现,读作 0、 q = 值随条件改变。 阴影单元表示未被中断模块使用。

9.5

中断过程中的现场保护

9.6

看门狗定时器 (WDT)

在中断期间, 仅将返回的 PC 值压入堆栈。 通常情况下, 用户会希望保存中断过程的关键寄存器,例如,W 寄存 器和状态寄存器。这必须由软件实现。 例 9-2 说明了如何保存和恢复状态寄存器和 W 寄存器。 在两个存储区中都必须定义用户寄存器 W_TEMP,且 它 们 相 对 于 各 自 存 储 区 基 地 址 的 偏 移 量 必 须 相 同。 (即, 如果在存储区 0 中定义 W_TEMP 位于 0x20 地址 单元, 那么在存储区 1 中必须定义 W_TEMP 位于 0xA0 地址单元) 。用户寄存器 STATUS_TEMP,必须定义在 存储区 0 中。在例 9-2 中: ? ? ? ? ? 保存 W 寄存器的内容 将状态寄存器中的值保存到存储区 0 中 执行 ISR 代码 恢复状态寄存器 (和存储区选择位寄存器)内容 恢复 W 寄存器内容

看门狗定时器是可自行运行的片上 RC 振荡器,它无需 任何外接元件。 RC 振荡器与 CLKIN 引脚上的 RC 振 该 荡器和 INTOSC 是相互独立的。 这就意味着即使停止器 件 OSC1 和 OSC2 引脚上的时钟 (如执行 SLEEP 指 令) WDT 仍可工作。正常工作情况下, WDT 超时将 , 导致器件复位。如果器件处于休眠模式, WDT 超时将 唤醒器件并使其继续在正常状态下工作。通过将配置位 WDTE 编程为 0 可永久禁止 WDT (第 9.1 节) 。

9.6.1

WDT 周期

WDT 的超时溢出周期标称值为 18 ms (不带预分频器 时) 。每个器件的超时溢出周期随温度、 VDD 和工艺的 差异而各不相同 (参见 DC 规范) 。如果希望得到更长 的超时溢出周期, 可以在软件控制下通过写 OPTION 寄 存器,将分频比最高可达 1:128 的预分频器分配给 WDT。这样就可以实现长达 2.3 秒的超时周期。 如果将预分频器分配给 WDT,执行 CLRWDT 和 SLEEP 指令将会清零 WDT 和预分频器, 并阻止预分频器超时, 或产生器件复位。 看们狗定时器超时溢出时, 将清零 STATUS 寄存器中的 TO 位。

例 9-2:
MOVWF SWAPF BCF W_TEMP STATUS,W STATUS,RP0

在 RAM 中保存状态和 W 寄 存器的内容
;copy W to temp register, could be in either bank ;swap status to be saved into W ;change to bank 0 regardless of current bank ;save status to bank 0 register

MOVWF STATUS_TEMP : :(ISR) : SWAPF STATUS_TEMP,W;swap STATUS_TEMP register into W, sets bank to original state MOVWF STATUS ;move W into STATUS register SWAPF W_TEMP,F ;swap W_TEMP SWAPF W_TEMP,W ;swap W_TEMP into W

9.6.2

WDT 编程注意事项

在最恶劣的情况下 (即 VDD 最小、温度最高、 WDT 预 分频比最大) ,WDT 发生超时溢出的时间可长达几秒, 因此在编程时应加以考虑。

DS41190C_CN 第 64 页

? 2004 Microchip Technology Inc.

PIC12F629/675
图 9-12:
CLKOUT (= FOSC/4) 0 1 1 T0CKI 引脚 T0SE 0 8位 预分频器 1 8 0 溢出时置位 标志位 T0IF 同步 2 周期

看门狗定时器框图
数据总线 8 TMR0

T0CS

PSA

PSA

PS0 - PS2 看门狗 定时器

1 WDT 超时 0 PSA

WDTE



1: T0SE、 T0CS、 PSA、 PS0-PS2 是 Option 寄存器中的位。

表 9-9:
地址 81h 2007h 图注:

看门狗定时器寄存器汇总
名称 bit 7 bit 6 bit 5 T0CS bit 4 T0SE bit 3 PSA bit 2 PS2 F0SC2 bit 1 PS1 F0SC1 bit 0 PS0 F0SC0 POR、 BOD 时的值 所有其他复 位时的值

OPTION_REG GPPU INTEDG 配置位 CP

1111 1111 1111 1111 uuuu uuuu uuuu uuuu

BODEN MCLRE PWRTE WDTE

u = 未改变,阴影单元表示未被看门狗定时器使用。

?2004 Microchip Technology Inc.

DS41190C_CN 第 65 页

PIC12F629/675
9.7 掉电模式 (休眠)
执行 SLEEP 指令将进入掉电模式。 如果看门狗定时器被使能: ? ? ? ? ? WDT 将被清零并保持继续工作 状态寄存器中的 PD 位被清零 TO 位置 1 关闭振荡器驱动器 I/O 端口保持执行 SLEEP 指令之前的状态 (驱动 输出高电平、低电平或者呈现高阻态) 。 第一种事件会导致器件复位。后两种事件被认为是程序 执行的延续。可用状态寄存器中的 TO 和 PD 位判断器 件复位的原因。 PD 位在上电时置位,在进入休眠时清 零。如果发生了 WDT 唤醒将使 TO 位清零。 在执行 SLEEP 指令时,下一个指令 (PC+1)被预取。 要通过中断事件唤醒器件,必须将相应的中断使能位置 位 (即允许中断)。唤醒与 GIE 位的状态无关。如果 GIE 位清零(禁止) ,器件仍继续执行 SLEEP 指令以后 的指令。如果 GIE 位被置位(使能) ,器件执行 SLEEP 指令之后的指令,然后跳转到中断地址 (0004h)。 如 果不想执行SLEEP指令以后的指令, 用户应该在SLEEP 指令后面放置一条 NOP 指令。 注: 如果全局中断 (GIE 清零)被禁止,但所 有中断源都将其各自的中断使能位和相应 的中断标志位置位,器件将立即从休眠状 态唤醒。 SLEEP 指令被完整执行。

为了使该模式下的电流消耗最小,所有的 I/O 引脚都应 该保持为 VDD 或 VSS 电平,以确保外部电路的驱动电 流不从 I/O 引脚输出,同时比较器和 CVREF 应被关闭。 为了避免悬空输入端引起开关电流,应从外部拉高或拉 低高阻输入的 I/O 引脚。为了将电流消耗降至最低, TOCKI 输入也应该保持为 VDD 或 VSS 电平。还应考虑 到 GPIO 片内上拉造成的电流消耗。 。 MCLR 引脚必须处于逻辑高电平状态 (VIHMC) 注: 注意,WDT 超时产生的复位不会将 MCLR 引脚拉至低电平。

无论唤醒原因为何,器件从休眠状态唤醒时, WDT 都 将清零。

9.7.1
1. 2. 3.

从休眠状态唤醒

可以通过下列任一事件将器件从休眠状态唤醒: MCLR 引脚上的外部复位输入 看门狗定时器唤醒 (如果 WDT 使能) GP2/INT 引脚中断、 GPIO 电平变化中断或外设 中断。

图 9-13:
OSC1 CLKOUT(4) INT 引脚 INTF 标志 (INTCON<1>) GIE 位 (INTCON<7>) 指令流 PC 取指 执行 指令 注 1: 2: 3: 4: PC

中断将器件从休眠状态唤醒
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 TOST(2) Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4

中断响应延时 ( 注 2) 处于休眠状态的 处理器

PC+1 Inst (PC+1) 休眠

PC+2

PC+2 Inst (PC+2) Inst (PC+1)

PC +2

0004h Inst (0004h)

0005h Inst (0005h) Inst (0004h)

Inst(PC) = SLEEP Inst (PC-1)

无效周期

无效周期

假定为 XT、 HS 或 LP 振荡器模式。 。 TOST = 1024TOSC (图形未按比例绘制) RC 振荡器模式的延迟时间约为 1?s。 INTCON 模式下从休眠模式唤醒的延时参见第 12 节。 假设 GIE=1。在这种情况下,处理器在被唤醒后将跳转至中断程序。如果 GIE=0,将按顺序继续执行。 在 XT、 HS、 LP 或 EC 振荡器模式下, CLKOUT 无效,此处仅作为时序参考。

DS41190C_CN 第 66 页

? 2004 Microchip Technology Inc.

PIC12F629/675
9.8 代码保护
图 9-14: 典型在线串行编程连接
至正常 连接 PIC12F629/675 VDD VSS GP3/MCLR/VPP GP1 GP0

如果未编程代码保护位,可以通过读出片上程序存储器 进行验证。 注: 当代码保护被关闭时,整个数据 EEPROM 和闪存程序存储器的内容均将被擦除。同 时,INTOSC 校准数据也被擦除。更多信息 请参见 PIC12F629/675 编程规范。

外部 连接器 信号 +5V 0V VPP CLK 数据 I/O

9.9

ID 地址单元

将 4 个存储器单元 (2000h-2003h)指定为 ID 地址单 元,用户可在其中存放校验和或者其它识别代码。正常 执行时不能访问这些地址单元,但在编程 / 校验过程中 它们是可读写的。 ID 地址单元只有低 7 位被使用。

VDD 至正常 连接

9.10

在线串行编程

在最终应用电路中可对PIC12F629/675单片机进行串行 编程。可通过一根时钟线、一根数据线和以下三种其它 连线即可完成编程: ? 电源线 ? 接地线 ? 编程电压线 这使用户在制造电路板时得以使用未编程器件,并在产 品装运前才对单片机进行编程。这样还可使用最新固件 或用户定制的固件进行编程。 当将 MCLR (VPP)引脚电平从 VIL 提升到 VIHH 的同 时,保持 GP0 和 GP1 引脚为低电平,可使器件进入编 程 / 校验模式(参见编程规范) 。此时 GP0 成为编程数 据引脚而 GP1 成为编程时钟引脚。 在这种模式下, GP0 和 GP1 均为施密特触发输入。 复位后, 将器件置于编程 / 校验模式, 程序计数器 (PC) 处于地址单元 00h。然后向器件发送一条 6 位命令。根 据具体命令是执行装载还是读取操作,可向器件提供一 个 14 位的程序数据或是从器件发出一个 14 位的程序数 据。有关串行编程的具体细节,请参阅编程规范。 图 9-14 所示为典型的在线串行编程连接。

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 则是不同操作码字段的汇总。 表 10-2 列出了所有可被 MPASMTM 汇编器识别的指 令。有关每条指令的完整说明还可参见《PICmicro? 中 档单片机系列参考手册》 (DS33023A_CN) 。 对于字节操作指令, f 是文件寄存器的标识符,而 d 是 目标寄存器的标识符。文件寄存器标识符指定了指令将 会使用哪个数据寄存器。 目标寄存器标识符指定了指令操作结果存放的地址。如 果“d”等于 0,结果就存放在 W 寄存器中。如果“d” 等于 1,结果就存放在指令指定的文件寄存器中。 对于位操作类指令, “b”代表位字段标识符,用于选择 操作影响到的位,而 “f”代表相应位所在的数据寄存 器的地址。 对于立即数和控制操作, “k”代表一个 8 位或 11 位常 数,即立即数的值。 一个指令周期包含四个振荡器周期;对于频率为 4 MHz 的振荡器,其正常指令执行时间为 1 ?s。所有指令都在 一个指令周期之内执行,除非条件测试为真或程序计数 器根据指令结果发生变化。当上述特殊情况发生时,指 令的执行就需要两个指令周期,第二个周期执行一条 NOP 指令。 注: 为了保持与未来产品的向上兼容,请不要 使用 OPTION 和 TRISIO 指令。 例如,CLRF GPIO 指令会读 GPIO,清零所有数据位, 然后将结果写回到 GPIO。 这个例子会产生意外结果, 清除将 GPIF 置 1 的条件。 .

表 10-1:
字段
f W b k x

操作码字段说明
说明

寄存器地址 (0x00 到 0x7F) 工作寄存器 (累加器) 某 8 位数据寄存器的位地址 立即数、常数或标号 与取值无关的位 (= 0 或 1) 。 汇编器将产生 x = 0 的代码。为了与所有的 Microchip 软件工具兼容,建议使用这种格式。 目标寄存器选择; d = 0:结果存储至 W, d = 1: 结果存储至数据寄存器 f。 默认值为 d = 1。 程序计数器 超时标志位 掉电标志位

d

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 操作码 k = 8 位立即数值 仅限 CALL 和 GOTO 指令 13 操作码 k = 11 位立即数的值 11 10 k ( 立即数 ) 0 8 7 k ( 立即数 ) 0

所有指令示例都使用“0xhh”的形式表示十六进制数, 其中 “h”代表一个十六进制数。

10.1

读 - 修改 - 写操作

任何将文件寄存器作为指令的一部分的指令均执行读 修 - 写 (R-M-W)操作。先读寄存器,然后修改数据, 再将结果存放到由指令或目标标识符 “d”指定的单元 中去。即使指令是写入某个寄存器,仍然会对此寄存器 执行读操作。

? 2004 Microchip Technology Inc.

DS41190C_CN 第 69 页

PIC12F629/675
表 10-2:
助记符, 操作数

PIC12F629/675 指令集
说明 周期 针对字节的数据寄存器操作指令 14 位操作数 MSb LSb 影响的 状态位 注释

ADDWF ANDWF CLRF CLRW COMF DECF DECFSZ INCF INCFSZ IORWF MOVF MOVWF NOP RLF RRF SUBWF SWAPF XORWF

f, d f, d f f, d f, d f, d f, d f, d f, d f, d f f, d f, d f, d f, d f, d

W加f W 和 f 与运算 f 清零 W 清零 求 f 的补码 f减1 f 减 1,为 0 则跳过 f加1 f 加 1,为 0 则跳过 W 和 f 同或运算 移动 f 将 W 的内容移动至 f 空操作 f 带进位左循环 f 带进位右循环 f 减去 W f 半字节交换 W 和 f 异或运算

1 1 1 1 1 1 1(2) 1 1(2) 1 1 1 1 1 1 1 1 1 针对位的数据寄存器操作

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0111 0101 0001 0001 1001 0011 1011 1010 1111 0100 1000 0000 0000 1101 1100 0010 1110 0110

dfff dfff lfff 0xxx dfff dfff dfff dfff dfff dfff dfff lfff 0xx0 dfff dfff dfff dfff dfff

ffff ffff ffff xxxx ffff ffff ffff ffff ffff ffff ffff ffff 0000 ffff ffff ffff ffff ffff

C,DC,Z Z Z Z Z Z Z Z Z

1,2 1,2 2 1,2 1,2 1,2,3 1,2 1,2,3 1,2 1,2

C C C,DC,Z Z

1,2 1,2 1,2 1,2 1,2

BCF BSF BTFSC BTFSS ADDLW ANDLW CALL CLRWDT GOTO IORLW MOVLW RETFIE RETLW RETURN 休眠 SUBLW XORLW 注

f, b f, b f, b f, b k k k k k k k k k

f 位清零 f 位置 1 检测 f 的位,为 0 则跳过 检测 f 的位,为 1 则跳过 立即数加 W 立即数和 W 与运算 调用子程序 看门狗定时器清零 跳转 立即数和 W 同或运算 将立即数移动到 W 寄存器 从中断返回 返回时将立即数存入 W 从子程序返回 进入待机模式 立即数减去 W 立即数和 W 异或运算

1 1 1 (2) 1 (2) 立即数和控制操作 1 1 2 1 2 1 1 2 2 2 1 1 1

01 01 01 01 11 11 10 00 10 11 11 00 11 00 00 11 11

00bb 01bb 10bb 11bb 111x 1001 0kkk 0000 1kkk 1000 00xx 0000 01xx 0000 0000 110x 1010

bfff bfff bfff bfff kkkk kkkk kkkk 0110 kkkk kkkk kkkk 0000 kkkk 0000 0110 kkkk kkkk

ffff ffff ffff ffff kkkk kkkk kkkk 0100 kkkk kkkk kkkk 1001 kkkk 1000 0011 kkkk kkkk C,DC,Z Z TO,PD Z

1,2 1,2 3 3

TO,PD C,DC,Z Z

1: 当 I/O 寄存器作为自身的函数被修改时 (例如, MOVF GPIO, 1) ,使用的值将是该引脚上的当前值。例如,如果某引 脚配置为输入,其数据锁存器中的值为 “1” ,被外部器件拉为低电平时,则写回的数据锁存值将是 “0” 。 2: 当该指令的执行使用 TMR0 寄存器 (以及 d=1)时,如果将预分频器分配给 Timer0 模块,则将其清零。 3: 如果程序计数器 (PC)被修改或条件测试为真,则该指令需要执行两个周期。 第二个周期执行一条 NOP 指令。

注:

有关中档单片机指令集的其它信息请参阅 《PICmicro? 中档单片机系列参考手册》 (DS33023A_CN) 。

DS41190C_CN 第 70 页

? 2004 Microchip Technology Inc.

PIC12F629/675
10.2
ADDLW 语法: 操作数: 工作原理: 说明:

指令说明
立即数加 W [ 标号 ] ADDLW 0 ≤ k ≤ 255 (W) + k → (W) 工作原理: 说明: 8 位立即数 “k”与 W 寄存器的 内容相加,结果存入 W 寄存器。 k BCF 语法: 操作数: f 位清零 [ 标号 ] BCF 0 ≤ f ≤ 127 0≤b≤7 0 → (f<b>) 寄存器 “f”中的 “b”位被清 零。 f 位置 1 [ 标号 ] BSF 0 ≤ f ≤ 127 0≤b≤7 1 → (f<b>) 寄存器 “f”中的 “b”位被置 1。 f,b f,b

受影响的状态位: C, DC, Z

受影响的状态位: 无

ADDWF 语法: 操作数: 工作原理: 说明:

W加f [ 标号 ] ADDWF 0 ≤ f ≤ 127 d ∈ [0,1] (W) + (f) → (目标寄存器) W 寄存器与 “f”寄存器的内容相 加。如果 “d”为 0,结果存入 W 寄存器。如果 “d”为 1,结果存 回到寄存器 “f” 。 f,d

BSF 语法: 操作数: 工作原理: 说明:

受影响的状态位: C, DC, Z

受影响的状态位: 无

ANDLW 语法: 操作数: 工作原理: 说明:

立即数和 W 与运算 [ 标号 ] ANDLW 0 ≤ k ≤ 255 (W) .AND. (k) → (W) k

BTFSS 语法: 操作数: 工作原理: 受影响的状态 位: 说明:

检测 f 的位,为 1 跳过 [ 标号 ] BTFSS f,b 0 ≤ f ≤ 127 0≤b<7 如果 (f<b>) = 1 则跳过 无 如果寄存器 “f”的位 “b”为 “0” ,则执行下一条指令。 如果位 “b”为 “1” ,则放弃执 行下一条指令而执行一条 NOP 指 令,使该指令成为 2TCY 指令。 检测位,为 0 则跳过 [ 标号 ] BTFSC f,b 0 ≤ f ≤ 127 0≤b≤7 如果 (f<b>) = 0 则跳过 无 如果寄存器 “f”的位 “b”为 “1” ,则执行下一条指令。 如果寄存器 “f”的位 “b”为 “0” ,则放弃执行下一条指令,而 执行一条 NOP 指令,使该指令变 成 2TCY 指令。

受影响的状态位: Z 寄存器 W 的内容与 8 位立即数 “k”进行与运算,结果存入 W 寄 存器。

ANDWF 语法: 操作数: 工作原理: 受影响的状态 位: 说明:

W 和 f 与运算 [ 标号 ] ANDWF 0 ≤ f ≤ 127 d ∈ [0,1] (W) .AND. (f) → (目标寄存器) Z W 寄存器和 f 寄存器进行与运算。 如果 “d”为 0,结果存入寄存器 W。如果 “d”为 1,结果存回到 寄存器 “f” 。 f,d

BTFSC 语法: 操作数: 工作原理: 受影响的状态 位: 说明:

? 2004 Microchip Technology Inc.

DS41190C_CN 第 71 页

PIC12F629/675
CALL 语法: 操作数: 工作原理: 调用子程序 [ 标号 ] CALL k 0 ≤ k ≤ 2047 (PC)+ 1→ TOS, k → PC<10:0>, (PCLATH<4:3>) → PC<12:11> 无 调用子程序。 首先,将返回地址 (PC+1)压入堆栈。11 位立即数 地址被装入 PC 位 <10:0>。PC 高 位从 PCLATH 装入。CALL 是双 周期指令。 f 清零 [ 标号 ] CLRF 0 ≤ f ≤ 127 00h → (f) 1→Z 寄存器 f 已清零, Z 位置 1。 f 受影响的状态 位: 说明: CLRWDT 语法: 操作数: 工作原理: 看门狗定时器清零 [ 标号 ] CLRWDT 无 00h → WDT 0 → WDT 预分频器, 1 → TO 1 → PD TO,PD CLRWDT 指令复位看门狗定时器。 而且还复位 WDT 预分频器。 状态位 TO 和 PD 置位。

受影响的状态 位: 说明:

CLRF 语法: 操作数: 工作原理:

COMF 语法: 操作数: 工作原理: 受影响的状态 位: 说明:

f 取反 [ 标号 ] COMF 0 ≤ f ≤ 127 d ∈ [0,1] (f) → ( 目标寄存器 ) Z 取寄存器 “f”中内容的补码。如 果 “d”为 0,结果存入 W。如果 “d”为 1,结果存回到寄存器 “f” 。 f,d

受影响的状态位: Z 说明:

CLRW 语法: 操作数: 工作原理: 受影响的状态 位: 说明:

W 清零 [ 标号 ] CLRW 无 00h → (W) 1→Z Z W 寄存器被清零。全零位 (Z) 置 1。

DECF 语法: 操作数: 工作原理: 受影响的状态 位: 说明:

f减1 [ 标号 ] DECF f,d 0 ≤ f ≤ 127 d ∈ [0,1] (f) - 1 → ( 目标寄存器 ) Z 寄存器 “f”减 1。如果 “d”为 0,结果存入 W 寄存器。如果 “d”为 1,结果存回到寄存器 “f” 。

DS41190C_CN 第 72 页

? 2004 Microchip Technology Inc.

PIC12F629/675
DECFSZ 语法: 操作数: 工作原理: 受影响的状态 位: 说明: f 减 1,为 0 则跳过 [ 标号 ] DECFSZ f,d 0 ≤ f ≤ 127 d ∈ [0,1] (f) - 1 → ( 目标寄存器 ) ; 如果结果为 0 则跳过 无 寄存器 “f”的内容递减,如果 “d”为 0,结果存入 W 寄存器。 如果 “d”为 1,结果存回到 寄存器 “f” 。 如果结果是 1,执行下一个指令。 如果结果为 0,则执行 NOP 指令, 使其成为 2TCY 的指令。 INCFSZ 语法: 操作数: 工作原理: 受影响的状态 位: 说明: f 加 1,为 0 则跳过 [ 标号 ] INCFSZ f,d 0 ≤ f ≤ 127 d ∈ [0,1] (f) +1 → ( 目标寄存器 ), 如果结果为 0 则跳过 无 寄存器 “f”的内容递增。如果 “d”为 0,结果存入 W 寄存器。 如果 “d”为 1,结果存回到寄存 器 “f” 。 如果结果是 1,执行下一个指令。 如果结果为 0,则执行 NOP 指令, 使其成为一条 2TCY 的指令。

GOTO 语法: 操作数: 工作原理: 受影响的状态 位: 说明:

无条件转移 [ 标号 ] GOTO k

IORLW 语法: 操作数: 工作原理: 说明:

立即数和 W 或运算 [ 标号 ] IORLW k 0 ≤ k ≤ 255 (W).OR. k → (W) 寄存器 W 的内容与 8 位立即数 “k”进行或运算。结果存入 W 寄存器。

0 ≤ k ≤ 2047 k → PC<10:0> PCLATH<4:3> → PC<12:11> 无 GOTO 是无条件转移指令。 11 位立 即数被装入 PC 位 <10:0>。 PC 高 位从 PCLATH<4:3> 装入。 GOTO 是双周期指令。

受影响的状态位: Z

INCF 语法: 操作数: 工作原理: 受影响的状态 位: 说明:

f加1 [ 标号 ] INCF f,d 0 ≤ f ≤ 127 d ∈ [0,1] (f) +1 → ( 目标寄存器 ) Z 寄存器 “f”的内容递增。如果 “d”为 0,结果存入 W 寄存器。 如果 “d”为 1,结果存回到 寄存器 “f” 。

IORWF 语法: 操作数: 工作原理: 受影响的状态 位: 说明:

W 和 f 或运算 [ 标号 ] IORWF f,d 0 ≤ f ≤ 127 d ∈ [0,1] (W) .OR. (f) → (目标寄存器) Z W 寄存器和 f 寄存器进行或运算。 如果 “d”为 0,结果存入 W 寄 存器。如果 “d”为 1,结果存回 到寄存器 “f” 。

? 2004 Microchip Technology Inc.

DS41190C_CN 第 73 页

PIC12F629/675
MOVF 语法: 操作数: 工作原理: 受影响的状态 位: 说明: 移动 f [ 标号 ] MOVF f,d 0 ≤ f ≤ 127 d ∈ [0,1] (f) → 目标寄存器) Z 根据 d 的状态,将寄存器 f 的内容 移入目标寄存器。如果 d = 0, 目标寄存器是 W 寄存器。如果 d=1,目标寄存器是 f 寄存器本身。 由于该指令影响状态标志位 Z,可 用于在 d = 1 时检测数据寄存器的 内容是否为 0。 将立即数移动到 W 寄存器 [ 标号 ] k → (W) 8 位立即数 k 送入 W 寄存器。无 关的位置为 0。 MOVLW k 0 ≤ k ≤ 255 RETFIE 语法: 操作数: 工作原理: 受影响的状态 位: 从中断返回 [ 标号 ] 无 TOS → PC, 1 → GIE 无 RETFIE NOP 语法: 操作数: 工作原理: 受影响的状态 位: 说明: 空操作 [ 标号 ] 无 空操作 无 空操作 NOP

MOVLW 语法: 操作数: 工作原理: 说明:

受影响的状态位: 无

MOVWF 语法: 操作数: 工作原理: 说明:

将 W 的内容移动至 f [ 标号 ] (W)→ (f) 将数据从 W 寄存器送入 寄存器 f。 MOVWF f 0 ≤ f ≤ 127

RETLW 语法: 操作数: 工作原理: 受影响的状态 位: 说明:

返回时将立即数送 W 寄存器 [ 标号 ] RETLW k 0 ≤ k ≤ 255 k → (W); TOS → PC 无 寄存器 W 的内容装入 8 位立即数 “k” 将栈顶内容 (返回地址) 。 装入程序计数器。这是双周期指 令。

受影响的状态位: 无

DS41190C_CN 第 74 页

? 2004 Microchip Technology Inc.

PIC12F629/675
RLF 语法: 操作数: 工作原理: 受影响的状态 位: 说明: f 带进位左循环 [ 标号 ] RLF 0 ≤ f ≤ 127 d ∈ [0,1] 参见下面的描述 C 寄存器 f 的内容连同进位标志位循环 左移 1 位。如果 “d”为 0,结果存 入 W 寄存器。如果 “d”为 1,结 果存回到寄存器 “f” 。
C 寄存器 f

SLEEP f,d 语法: 操作数: 工作原理: [ 标号 ] SLEEP 无 00h → WDT, 0 →WDT 预分频器, 1 → TO, 0 → PD 掉电状态位,PD 被清零。超时状 态位 TO 置位。清零看门狗定时 器及其预分频器。振荡器停振, 单片机进入休眠模式。

受影响的状态位: TO,PD 说明:

RETURN 语法: 操作数: 工作原理: 受影响的状态 位: 说明:

从子程序返回 [ 标号 ] 无 TOS → PC 无 从子程序返回。 执行出栈操作,将 栈顶 (TOS)单元内容装入程序 计数器。 这是双周期指令。 RETURN

SUBLW 语法: 操作数: 工作原理: 受影响的状态 位: 说明:

立即数减去 W [ 标号 ] SUBLW k 0 ≤ k ≤ 255 k - (W) → (W) C, DC, Z 8 位立即数 “k”减去 W 寄存器的 内容 (使用 2 进制补码的方法) 。 结果存入 W 寄存器。

RRF 语法: 操作数: 工作原理: 受影响的状态 位: 说明:

f 带进位右循环 [ 标号 ] RRF f,d 0 ≤ f ≤ 127 d ∈ [0,1] 参见下面的描述 C 寄存器 f 的内容连同进位标志位循 环右移 1 位。如果 “d”为 0,结 果存入 W 寄存器。 如果 “d”为 1,结果存回到寄存器 “f” 。
C 寄存器 f

SUBWF 语法: 操作数: 工作原理: 受影响的状态 位: 说明:

f 减去 W [ 标号 ] SUBWF f,d 0 ≤ f ≤ 127 d ∈ [0,1] (f) - (W) → ( 目标寄存器 ) C, DC, Z f 寄存器内容减去 W 寄存器内容 (使用 2 进制补码的方法) 如果 。 “d”为 0,结果存入 W 寄存器。 如 果 “d”为 1,结果存回到寄存器 “f” 。

? 2004 Microchip Technology Inc.

DS41190C_CN 第 75 页

PIC12F629/675
SWAPF 语法: 操作数: 工作原理: 受影响的状态 位: 说明: f 半字节交换 [ 标号 ] SWAPF f,d 0 ≤ f ≤ 127 d ∈ [0,1] (f<3:0>) → ( 目标寄存器 <7:4>), (f<7:4>) → ( 目标寄存器 <3:0>) 无 寄存器 “f”的高半字节和低半字 节交换。如果 “d”为 0,结果存 入 W 寄存器。如果 “d”为 1, 结果存回到寄存器 “f” 。 XORWF 语法: 操作数: 工作原理: 受影响的状态 位: 说明: W 和 f 异或运算 [ 标号 ] XORWF 0 ≤ f ≤ 127 d ∈ [0,1] (W) .XOR. (f) →( 目标寄存器 ) Z W 寄存器与 “f”寄存器的内容进 行异或运算。如果 “d”为 0,结 果存入 W。如果 “d”为 1,结果 存回到寄存器 “f” 。 f,d

XORLW 语法: 操作数: 工作原理: 受影响的状态位: 说明:

立即数和 W 异或运算 [ 标号 ] XORLW k 0 ≤ k ≤ 255 (W) .XOR. k → (W) Z 寄存器 W 的内容与 8 位立即数 “k”进行异或运算。结果存入 W 寄存器。

DS41190C_CN 第 76 页

? 2004 Microchip Technology Inc.

PIC12F629/675
11.0 开发支持
11.1 MPLAB 集成开发环境软件
一系列硬件及软件开发工具对 PICmicro? 单片机提供支 持: ? 集成的开发环境 - MPLAB? IDE 软件 ? 汇编器 / 编译器 / 链接器 - MPASMTM 汇编器 - MPLAB C17 和 MPLAB C18 C 编译器 - MPLINKTM 目标链接器 / MPLIBTM 目标库管理器 - MPLAB C30 C 编译器 - MPLAB ASM30 汇编器 / 链接器 / 库 ? 模拟器 - MPLAB SIM 软件模拟器 - MPLAB dsPIC30 软件模拟器 ? 仿真器 - MPLAB ICE 2000 在线仿真器 - MPLAB ICE 4000 在线仿真器 ? 在线调试器 - MPLAB ICD 2 ? 器件编程器 - PRO MATE? II 通用器件编程器 - PICSTART? Plus 开发编程器 - MPLAB PM3 器件编程器 ? 低成本演示板 - PICDEMTM 1 演示板 - PICDEM.netTM 演示板 - PICDEM 2 Plus 演示板 - PICDEM 3 演示板 - PICDEM 4 演示板 - PICDEM 17 演示板 - PICDEM 18R 演示板 - PICDEM LIN 演示板 - PICDEM USB 演示板 ? 评估工具包 - KEELOQ? - PICDEM MSC - microID? - CAN - PowerSmart? - 模拟 MPLAB IDE 软件为 8/16 位单片机市场提供了前所未有 的软件开发平台。 MPLAB IDE 是基于 Windows? 平台 的应用软件,包括: ? 调试工具接口 - 模拟器 - 编程器 (单独销售) - 仿真器 (单独销售) - 在线调试器 (单独销售) ? 具有彩色上下文代码显示的全功能编辑器 ? 多项目管理器 ? 内容可直接编辑的可定制式数据窗口 ? 高级源代码调试 ? 鼠标停留在变量上进行查看的功能 ? 丰富的在线帮助 MPLAB IDE 可以让您: ? 编辑源文件 (用汇编语言或 C 语言) ? 点击一次即可完成汇编 (或编译)并将代码下载 到 PICmicro 仿真器和模拟器工具中 (自动更新所 有项目信息) ? 可使用如下各项进行调试: - 源文件 (汇编语言或 C 语言) - 混合汇编语言和 C 语言 - 机器码 MPLAB IDE 在单个开发范例中支持使用多种调试工 具,包括从节约成本的模拟器到低成本的在线调试器, 再到全功能的仿真器。这样缩短了用户升级到更加灵活 而功能更强大的工具时的学习时间。

11.2

MPASM 汇编器

MPASM 汇编器是全功能通用宏汇编器,适用于所有的 PICmicro MCU。 MPASM 汇编器可生成用于 MPLINK 目标链接器的可重 定位目标文件、Intel? 标准 HEX 文件、有关存储器详细 使用状况和符号参考的 MAP 文件、包含源代码行及生 成机器码的绝对 LST 文件以及用于调试的 COFF 文件。 MPASM 汇编器具有如下特征: ? ? ? ? 集成在 MPLAB IDE 项目中 用户定义的宏可对汇编代码进行流水线处理 对多用途源文件进行条件汇编 允许完全控制汇编过程的指令

? 2004 Microchip Technology Inc.

DS41190C_CN 第 77 页

PIC12F629/675
11.3 MPLAB C17 和 MPLAB C18 C 编译器 11.6 MPLAB ASM30 汇编器、链接器和 库 .

MPLAB C17 和 MPLAB C18 代码开发系统是完全的 ANSI C 编译器,分别适用于 Microchip 的 PIC17CXXX 和 PIC18CXXX 系列单片机。这些编译器可提供其它编 译器所不具有的强大的集成功能和卓越的代码优化能 力,且使用方便。 为便于源代码调试,编译器提供了针对 MPLAB IDE 调 试器的优化符号信息。

MPLAB ASM30 汇编器为 dsPIC30F 器件提供转换自符 号汇编语言的可重定位的机器码。 MPLAB C30 编译器 使用该汇编器生成目标文件。汇编器产生可重定位目标 文件之后,可将这些目标文件存档,或与其它可重定位 目标文件和存档链接以生成可执行文件。该汇编器有如 下显著特征: ? ? ? ? ? ? 支持整个 dsPIC30F 指令集 支持定点数据和浮点数据 命令行界面 丰富的指令集 灵活的宏语言 MPLAB IDE 兼容性

11.4

MPLINK 目标链接器 /MPLIB 目标库 管理器

MPLINK 目标链接器包含了由 MPASM 汇编器、 MPLAB C17 和 MPLAB C18 C 编译器产生的可重定位目标。通 过使用链接器脚本指令,它还可预编译库中的可重定位 目标进行链接。 MPLIB目标库管理器管理预编译代码库文件的创建和修 改。当从源文件中调用库中的一段子程序时,只有该应 用程序中包含此子程序的模块被链接到应用中。这样可 使大型库在许多不同应用中被有效地利用。 目标链接器 / 库具有如下特征: ? 高效地连接单个的库而不是许多小文件 ? 通过将相关的模块组合在一起来增强代码的可维护 性 ? 通过简单的模块列表、替换、删除和抽取可灵活地 创建库

11.7

MPLAB SIM 软件模拟器

MPLAB SIM 软件模拟器在指令级对 PICmicro 系列单片 机进行模拟,使用户可在 PC 主机的环境下进行代码开 发。对于任何给定的指令,用户均可对数据区进行检查 或修改,并通过文件或用户自定义的按键来激励任意引 脚。指令的执行可采用单步、运行到断点或跟踪模式。 MPLAB SIM 模拟器完全支持使用 MPLAB C17 和 MPLAB C18 C 编译器以及MPASM汇编器的符号调试。 该软件模拟器为实验室环境外开发和调试代码提供了灵 活性,是一款完美且经济的软件开发工具。

11.8

MPLAB SIM30 软件模拟器

11.5

MPLAB C30 C 编译器

MPLAB C30 C 编译器是全功能符合 ANSI 标准的优化 编译器,它能将标准 ANSI C 程序转变成 dsPIC30F 汇 编语言源代码。该编译器还支持许多命令行选项和语言 扩展,以充分利用 dsPIC30F 器件的硬件功能,同时满 足编译器代码发生器较高的控制要求。 MPLAB C30 附带了一个完整的 ANSI C 标准库。所有 库函数已经过验证且符合 ANSI C 库标准。该库包括执 行字符串操作、动态存储器分配、数据转换、时间校准 等函数以及数学函数(三角函数、指数函数和双曲线函 数) 。该编译器提供使用 MPLAB IDE 进行高级源代码 调试所用的符号信息。

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 高性能通用在线仿 真器 11.11 MPLAB ICD 2 在线调试器 .
Microchip 的在线调试器 MPLAB ICD 2 是一款功能强大 而成本低廉的运行时开发工具,通过 RS-232 或高速 USB 接口与 PC 主机相连。该工具基于闪存 PICmicro MCU,可用于开发本系列及其它 PICmicro 单片机。 MPLAB ICD 2使用了闪存器件中内建的在线调试功能。 该功能结合 Microchip 的在线串行编程 (ICSPTM)协 议,可在 MPLAB 集成开发环境的图形用户界面上提供 成本效益很高的在线闪存调试。这使设计人员可通过设 置断点、 单步运行以及对变量、CPU 状态以及外设寄存 器进行监视的方法实现源代码的开发和调试。其全速运 行特性可对硬件和应用进行实时测试。 MPLAB ICD 2 还 可用作某些 PICmicro 器件的开发编程器。

MPLAB ICE 2000 通用在线仿真器旨在为产品开发工程 师 提 供 一 整 套 用 于 PICmicro 单 片 机 的 设 计 工具。 MPLAB ICE 2000 在线仿真器的软件控制由 MPLAB 集 成开发环境平台提供,它允许在单一环境下进行编辑、 创建、下载以及源代码调试。 MPLAB ICE 2000 是全功能仿真器系统,它具有增强的 跟踪、触发和数据监控功能。处理器模块可互换,使系 统可轻松进行重新配置以适应各种不同处理器的仿真需 要。 MPLAB ICE 在线仿真器的通用架构允许对其进行 扩展以支持新的 PICmicro 单片机。 MPLAB ICE 2000 在线仿真器系统设计为一款实时仿真 系统,该仿真系统具备通常只有昂贵的开发工具中才有 的高级功能。 选择 PC 平台和 Microsoft? Windows 32 位 操作系统可使这些功能在一个简单而统一的应用中得到 很好的利用。

11.12 PRO MATE II 通用器件编程器
PRO MATE II 是一款通用的、符合 CE 规范的器件编程 器,其可编程电压设置在 VDDMIN 和 VDDMAX 之间时可 获得最高可靠性。 它有一个 LCD 显示器用来显示指令和 错误信息,以及一个支持各种封装类型的可拆卸模块化 插槽装置。在单机模式下,PRO MATE II 器件编程器不 必与 PC 相连即可对 PICmicro 器件进行读取、 校验和编 程。在该模式下它还可设置代码保护。

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.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.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.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.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 样片各一枚。教程软件以 及用户指南也含在演示板工具包中。

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 所著的“TCP/ IP Lean, Web Servers for Embedded Systems” 一书及 配套 CD-ROM。

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.24 PICDEM USB PIC16C7X5 演示板
PICDEM USB 演示板展示了 PIC16C745 和 PIC16C765 USB 单片机的功能。该板为将来的 USB 产品打下了基 础。

11.25 评估和编程工具
除了 PICDEM 系列电路之外, Microchip 还为这些产品 提供了一系列评估工具包和演示软件。 ? 用于 Microchip 的 HCS 数据安全产品的 KEELOQ 评估和编程工具 ? 用于汽车网络应用的 CAN 开发工具包 ? 模拟电路设计板和滤波器设计软件 ? PowerSmart 电池充电评估 / 校准工具包 ? IrDA? 开发工具包 ? microID 开发和 rfLabTM 开发软件 ? 用于存储器评估和耐久性估算的 SEEVAL? 设计工 具包 ? 用于开关模式电源供电、高功率 IR 驱动器、Σ?? ADC 和流速传感器的 PICDEM MSC 演示板 有关演示和评估工具包的完整列表,请查阅 Microchip 公司网页以及最新的产品选型指南。

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.23 PICkitTM1 闪存入门工具包
作为一套完整的 “盒装开发系统” PICkit 闪存入门工 , 具包中包含由多个部分组成的使用方便的电路板,可用 于 8/14 引脚闪存 PIC? 单片机的编程、评估以及开发。 电路板通过 USB 供电,可在简单的 Windows GUI 下工 作。PICkit 1 入门工具包中包括用户指南(在 CD ROM 上) PICkit 1 教程软件和各种应用程序代码。 、 该工具包 还包括 MPLAB? IDE (集成开发环境)软件、软件和硬 件 “8 引脚闪存 PIC? 单片机窍门和点子”小册子和一 根 USB 接口线缆。 它支持目前所有的 8/14 引脚闪存 PIC 单片机,以及许多计划中将要推出的器件。

? 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 VDD 相对于 VSS 的电压 ........................................................................................................................ -0.3 至 +6.5V MCLR 相对于 Vss 的电压..................................................................................................................... -0.3 至 +13.5V 其他引脚相对于 VSS 的电压 .................................................................................................. -0.3V 至 (VDD + 0.3V) 总功耗 (1) ........................................................................................................................................................ 800 mW VSS 引脚的最大输出电流................................................................................................................................. 300 mA VDD 引脚的最大输入电流 ................................................................................................................................ 250 mA ................................................................................................... ± 20 mA 输入箝位电流, IIK (VI < 0 或 VI > VDD) 输出箝位电流, IOK (Vo < 0 或 Vo >VDD)................................................................................................. ± 20 mA 任一 I/O 引脚的最大输出灌电流 ........................................................................................................................ 25 mA 任一 I/O 引脚的最大输出拉电流 ........................................................................................................................ 25 mA 所有 GPIO 的最大灌电流 ................................................................................................................................ 125 mA 所有 GPIO 的最大拉电流 ................................................................................................................................ 125 mA 注 1: 功耗按如下公式计算:PDIS = VDD x {IDD - ∑ IOH} + ∑ {(VDD-VOH) x IOH} + ∑ (VOl x IOL)。

? 注:如果工作条件超过上述 “绝对最大额定值”可能会对器件造成永久的损坏。上述值仅为运行条件极大值,我们 建议器件不要在该极大值或该规范范围以外运行。 长时间在最大额定值条件下进行操作会影响器件的可靠性。

注:

如果 MCLR 引脚上的尖峰电压低于 VSS,感应电流大于 80 mA,可能引起死锁。因此,当对 MCLR 施加低 电平时,应该使用一个 50-100 ? 的串联电阻,而不是直接将引脚电平拉为 VSS。

?2004 Microchip Technology Inc.

DS41190C_CN 第 83 页

PIC12F629/675
图 12-1: PIC12F629/675 (A/D 禁止)电压—频率关系图 -40°C ≤ TA ≤ +125°C
5.5 5.0 4.5 VDD (V) 4.0 3.5 3.0 2.5 2.0 0 4

8

10

12

16

20

频率 (MHz) 注 1:阴影区域表示允许的电压 / 频率组合。

图 12-2:

PIC12F675 (A/D 使能)电压—频率关系图 -40°C ≤ TA ≤ +125°C
5.5 5.0 4.5

VDD (V)

4.0 3.5 3.0 2.5 2.0 0 4

8

10

12

16

20

频率 (MHz) 注 1:阴影区域表示允许的电压 / 频率组合。

DS41190C_CN 第 84 页

? 2004 Microchip Technology Inc.

PIC12F629/675
图 12-3: PIC12F675 (A/D 使能)电压—频率关系图 0°C ≤ TA ≤ +125°C
5.5 5.0 4.5 VDD (V) 4.0 3.5 3.0 2.5

2.2
2.0 0 4

8

10

12

16

20

频率 (MHz) 注 1:阴影区域表示允许的电压 / 频率组合。

?2004 Microchip Technology Inc.

DS41190C_CN 第 85 页

PIC12F629/675
12.1 DC 特性:PIC12F629/675-I (工业级) PIC12F629/675-E (扩展级) ,
标准工作条件 (除非另外说明) 工作温度 -40°C ≤ TA ≤ +85°C( 工业级 ) -40°C ≤ TA ≤ +125°C( 扩展级 ) 符号 VDD D001 D001A D001B D001C D001D D002 D003 D004 D005 VDR VPOR SVDD VBOD RAM 数据保持电压 (1) VDD 启动电压确保能够产 生内部上电复位信号 VDD 上升速率确保产生内 部上电复位信号 供电电压 2.0 2.2 2.5 3.0 4.5 1.5* - 0.05* - - - - - - - VSS - 2.1 5.5 5.5 5.5 5.5 5.5 - - - - V V V V V V V V/ms V 特性 最小 值 典型 值 最大 值 单位 条件 FOSC < = 4 MHz: PIC12F629/675 的 A/D 模块关闭 PIC12F675 的 A/D 模块启动, 0°C 至 +125°C PIC12F675 的 A/D 模块启动, -40°C 至 +125°C 4 MHZ < FOSC < = 10 MHz 器件处于休眠模式 详情请见上电复位的有关章节 详情请见上电复位的有关章节 DC 特性 参数编 号

* 这些参数仅为特征值,未经测试。 ? 除非另外说明, “典型值” 栏中的数据是在 5.0V、 25°C 的条件下测得的。这些参数仅供设计参考, 未经测试。 注 1: 这是在不丢失 RAM 数据的前提下,休眠模式中 VDD 所能降到的最小电压值。

DS41190C_CN 第 86 页

? 2004 Microchip Technology Inc.

PIC12F629/675
12.2 DC 特性:PIC12F629/675-I (工业级)
标准工作条件 (除非另外说明) 工作温度 -40°C ≤ TA ≤ +85°C( 工业级 ) 参数 编号 D010 器件特性 供电电流 (IDD) 最小 值 - - - D011 - - - D012 - - - D013 - - - D014 - - - D015 - - - D016 - - - D017 - - 注 典型 值 9 18 35 110 190 330 220 370 0.6 70 140 260 180 320 580 340 500 0.8 180 320 580 2.1 2.4 最大 值 16 28 54 150 280 450 280 650 1.4 110 250 390 250 470 850 450 700 1.1 250 450 800 2.95 3.0 条件 单位 ?A ?A ?A ?A ?A ?A ?A ?A mA ?A ?A ?A ?A ?A ?A ?A ?A mA ?A ?A ?A mA mA VDD 2.0 3.0 5.0 2.0 3.0 5.0 2.0 3.0 5.0 2.0 3.0 5.0 2.0 3.0 5.0 2.0 3.0 5.0 2.0 3.0 5.0 4.5 5.0 FOSC = 20 MHz HS 振荡模式 FOSC = 4 MHz EXTRC 模式 FOSC = 4 MHz INTOSC 模式 FOSC = 4 MHz EC 振荡模式 FOSC = 1 MHz EC 振荡模式 FOSC = 4 MHz XT 振荡模式 FOSC = 1 MHz XT 振荡模式 FOSC = 32 kHz LP 振荡模式 备注

? 除非另外说明, “典型值” 栏的数据是在 5.0V 、 25°C 条件下测得的。这些参数仅供设计参考, 未经测试。 1:在有源工作模式下,所有 IDD 测量值的测试条件为:OSC1 为外部方波,满幅;所有 I/O 引脚均为三态,拉 至 VDD ; MCLR = VDD ; WDT 禁止; 2: 供电电流主要随工作电压和频率而变化。 其它因素,如 I/O 引脚负载和开关频率、振荡器类型、内部代码 执行模式和温度也会影响电流消耗。

?2004 Microchip Technology Inc.

DS41190C_CN 第 87 页

PIC12F629/675
12.3 DC 特性:PIC12F629/675-I (工业级)
标准工作条件 (除非另外说明) 工作温度 -40°C ≤ TA ≤ +85°C( 工业级 ) 参数 编号 D020 器件特性 掉电基线电流 (IPD) 最小 值 - - - D021 - - - D022 D023 - - - - - D024 - - - D025 - - - D026 - - 注 典型 值 0.99 1.2 2.9 0.3 1.8 8.4 58 109 3.3 6.1 11.5 58 85 138 4.0 4.6 6.0 1.2 0.0022 最大 值 700 770 995 1.5 3.5 17 70 130 6.5 8.5 16 70 100 160 6.5 7.0 10.5 775 1.0 条件 单位 nA nA nA ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A nA ?A VDD 2.0 3.0 5.0 2.0 3.0 5.0 3.0 5.0 2.0 3.0 5.0 2.0 3.0 5.0 2.0 3.0 5.0 3.0 5.0 A/D 电流 (1) T1 OSC 电流 (1) CVREF 电流 (1) 比较器电流 (1) BOD 电流 (1) WDT 电流 (1) 注 WDT、 BOD、比较器、 VREF 和 T1OSC 禁止

? 除非另外说明, “典型值”栏的数据是在 5.0V, 25°C 条件下测得的。 这些参数仅设计参考,未经测试。 1:外设电流是基本 IDD 或 IPD 电流与该外设时使能额外消耗的电流之和。外设 ? 电流可以从该有限值中减去 IDD 或 IPD 电流得出。计算总电流消耗时应该使用最大值。 2: 休眠模式下的掉电电流与振荡器类型无关。掉电电流是在器件休眠时,所有 I/O 引脚处于高阻态并且连接 到 VDD 时测得的。

DS41190C_CN 第 88 页

? 2004 Microchip Technology Inc.

PIC12F629/675
12.4
DC 特性: PIC12F629/675-E (扩展级)
标准工作条件 (除非另外说明) 工作温度 -40°C ≤ TA ≤ +125°C (扩展级) 参数 编号 D010E 器件特性 供电电流 (IDD) 最小 值 - - - D011E - - - D012E - - - D013E - - - D014E - - - D015E - - - D016E - - - D017E - - 注 典型 值 9 18 35 110 190 330 220 370 0.6 70 140 260 180 320 580 340 500 0.8 180 320 580 2.1 2.4 最大 值 16 28 54 150 280 450 280 650 1.4 110 250 390 250 470 850 450 780 1.1 250 450 800 2.95 3.0 条件 单位 ?A ?A ?A ?A ?A ?A ?A ?A mA ?A ?A ?A ?A ?A ?A ?A ?A mA ?A ?A ?A mA mA VDD 2.0 3.0 5.0 2.0 3.0 5.0 2.0 3.0 5.0 2.0 3.0 5.0 2.0 3.0 5.0 2.0 3.0 5.0 2.0 3.0 5.0 4.5 5.0 FOSC = 20 MHz HS 振荡器模式 FOSC = 4 MHz EXTRC 模式 FOSC = 4 MHz INTOSC 模式 FOSC = 4 MHz EC 振荡模式 FOSC = 1 MHz EC 振荡模式 FOSC = 4 MHz XT 振荡模式 FOSC = 1 MHz XT 振荡模式 FOSC = 32 kHz LP 振荡模式 备注

? 除非另外说明, “典型值”栏的数据是在 5.0V、25°C 条件下测得的。这些参数仅供设计参考,未经测试。 1:在有源工作模式下,所有 IDD 测量值的测试条件为:OSC1 为外部方波,满幅;所有 I/O 引脚均为三态,拉 至 VDD ; MCLR = VDD ; WDT 禁止; 2: 供电电流主要随工作电压和频率而变化。 其它因素,如 I/O 引脚负载和开关频率、振荡器类型、内部代码 执行模式和温度也会影响电流消耗。

?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 - - 注 典型 值 0.00099 0.0012 0.0029 0.3 1.8 8.4 58 109 3.3 6.1 11.5 58 85 138 4.0 4.6 6.0 0.0012 0.0022 最大 值 3.5 4.0 8.0 6.0 9.0 20 70 130 10 13 24 70 100 165 10 12 20 6.0 8.5 条件 单位 ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A VDD 2.0 3.0 5.0 2.0 3.0 5.0 3.0 5.0 2.0 3.0 5.0 2.0 3.0 5.0 2.0 3.0 5.0 3.0 5.0 A/D 电流 (1) T1 OSC 电流 (1) CVREF 电流 (1) 比较器电流 (1) BOD 电流 (1) WDT 电流 (1) 注 WDT、 BOD、比较器、 VREF 和 T1OSC 禁止

? 除非另外说明, “典型值”栏的数据是在 5.0V、25°C 条件下测得的。这些参数仅供设计参考,未经测试。 1:外设电流等于基本 IDD 或 IPD 电流与该外设使能时所额外消耗的电流之和。外设 ? 电流可以从此极限值中 减去基本 IDD 或 IPD 电流得到。计算总电流消耗时应该使用最大值。 2: 休眠模式下的掉电电流与振荡器类型无关。 掉电电流是在器件休眠时,所有 I/O 引脚处于高阻态并且连接 到 VDD 时测得的。

DS41190C_CN 第 90 页

? 2004 Microchip Technology Inc.

PIC12F629/675
12.6
DC 特性 参数 编号 符号 特性 输入低电压 I/O 端口 带 TTL 缓冲器 带施密特触发缓冲器 MCLR, OSC1 (RC mode) OSC1 (XT 和 LP 模式 ) OSC1 (HS 模式 ) 输入高电压 I/O 端口 带 TTL 缓冲器 带施密特触发缓冲器 MCLR OSC1 (XT 和 LP 模式 ) OSC1 (HS 模式 ) OSC1 (RC 模式 ) GPIO 弱上拉电流 输入泄漏电流 (3) D060 D060A D060B D061 D063 IIL I/O 端口 模拟输入 VREF MCLR(2) OSC1 输出低电压 I/O 端口 OSC2/CLKOUT (RC 模式 )
- - - - -

DC 特性:PIC12F629/675-I (工业级) PIC12F629/675-E (扩展级) ,
标准工作条件 (除非另外说明) 工作温度 -40°C ≤ TA ≤ +85°C( 工业级 ) -40°C ≤ TA ≤ +125°C( 扩展级 ) 最小值 典型 值 最大值 单位 条件

VIL D030 D030A D031 D032 D033 D033A VIH D040 D040A D041 D042 D043 D043A D043B D070 IPUR

VSS VSS VSS VSS VSS VSS

- - - - - - -

0.8 0.15 VDD 0.2 VDD 0.2 VDD 0.3 0.3 VDD

V V V V V V

4.5V ≤ VDD ≤ 5.5V 否则 整个范围 ( 注 1) ( 注 1)

2.0 (0.25 VDD+0.8) 0.8 VDD 0.8 VDD 1.6 0.7 VDD 0.9 VDD 50*

- - - - - - -

250 ± 0.1 ± 0.1 ± 0.1 ± 0.1 ± 0.1

VDD VDD VDD VDD VDD VDD VDD 400* ±1 ±1 ±1 ±5 ±5

V V V V V V ?A ?A ?A ?A ?A ?A

4.5V ≤ VDD ≤ 5.5V 否则 整个范围 ( 注 1) ( 注 1) VDD = 5.0V, VPIN = VSS VSS ≤ VPIN ≤ VDD, 引脚处于高阻态 VSS ≤ VPIN ≤ VDD VSS ≤ VPIN ≤ VDD VSS ≤ VPIN ≤ VDD VSS ≤ VPIN ≤ VDD、 XT、 HS 和 LP 振荡器配置 IOL = 8.5 mA, VDD = 4.5V (Ind.) IOL = 1.6 mA, VDD = 4.5V (Ind.) IOL = 1.2 mA, VDD = 4.5V (Ext.) IOH = -3.0 mA, VDD = 4.5V (Ind.) IOH = -1.3 mA, VDD = 4.5V (Ind.) IOH = -1.0 mA, VDD = 4.5V (Ext.)

D080 D083

VOL

- -

- -

0.6 0.6

V V

D090 D092

VOH

输出高电压 I/O 端口 OSC2/CLKOUT (RC 模式 )

VDD - 0.7 VDD - 0.7

- -

- -

V V

* 这些参数仅为特征值,未经测试。 ? 除非另外说明, “典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。



1: 在 RC 振荡器配置中, OSC1/CLKI 引脚是施密特触发器输入。在 RC 模式下,建议不要使用外部时钟。 2:MCLR 引脚上的泄漏电流和所施加的电压密切相关。指定的电平表示正常工作条件。当输入电压不同时,测 得的泄漏电流可能较大。 3:负电流定义为引脚驱动电流。

?2004 Microchip Technology Inc.

DS41190C_CN 第 91 页

PIC12F629/675
12.7
DC 特性 参数 编号 D100 D101 D120 D120A D121 D122 D123 D124

DC 特性:PIC12F629/675-I ( 工业级 ),PIC12F629/675-E ( 扩展级 ) ( 续 )
标准工作条件 (除非另外说明) 工作温度 -40°C ≤ TA ≤ +85°C( 工业级 ) 工作温度 -40°C ≤ TA ≤ +125°C( 扩展级 ) 符号 特性 最小值 典型值 最大值 单位 条件

输出引脚上的容性负载要求 COSC2 OSC2 引脚 CIO ED ED VDRW 所有 I/O 引脚 数据 EEPROM 存储器 字节耐擦写次数 字节耐擦写次数 读写时的 VDD 电压

- - 100K 10K VMIN

- - 1M 100K -

15* 50* - - 5.5

pF pF

当使用外部时钟驱动 OSC1 时 处于 XT、 HS 和 LP 模式

TDEW 擦 / 写周期时间 5 6 - 40 TRETD 特性保持 - - 年 假定未违反其它规范 1M 10M E/W -40°C ≤ TA ≤ +85°C TREF 刷新 (1) 前的总擦 / 写周期数 - 程序闪存存储器 D130 EP 10K 100K E/W -40°C ≤ TA ≤ +85°C 电池耐久性 - D130A ED 1K 10K E/W +85°C ≤ TA ≤ +125°C 电池耐久性 - D131 VPR VMIN 5.5 V 读操作时的 VDD 电压 - VMIN = 最小工作电压 D132 VPEW 擦 / 写时的 VDD 电压 4.5 5.5 V - D133 TPEW 擦 / 写周期时间 2 2.5 ms - 40 D134 TRETD 特性保存期 - - 年 假如未违反其它规范 * 这些参数仅为特征值,未经测试。 ? 除非另外说明, “典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。 注 1:更多信息请参阅第 8.5.1 节。

E/W -40°C ≤ TA ≤ +85°C E/W +85°C ≤ TA ≤ +125°C V 使用 EECON 进行读写 VMIN = 最小工作电压 ms

DS41190C_CN 第 92 页

? 2004 Microchip Technology Inc.

PIC12F629/675
12.8 时序参数符号
可根据以下格式之一来创建时序参数符号: 1. TppS2ppS 2. TppS T F 频率 T 时间 小写字母 (pp)及其含义: pp cc CCP1 ck CLKOUT cs CS di do dt io mc S F H I L 下降 高 无效 (高阻态) 低 P R V Z 周期 上升 有效 高阻态 SDI SDO 数据输入 I/O 端口 MCLR

osc rd rw sc ss t0 t1 wr

OSC1 RD RD 或 WR SCK SS T0CKI T1CKI WR

大写字母及其含义:

图 12-4:

负载条件
负载条件 1 VDD/2 RL 负载条件 2

引脚 VSS
RL = 464? CL = 50 pF 15 pF

CL

引脚 VSS

CL

适用于所有引脚 适用于 OSC2 输出引脚

?2004 Microchip Technology Inc.

DS41190C_CN 第 93 页

PIC12F629/675
12.9 AC 特性:PIC12F629/675 (工业级,扩展级)
外部时钟时序
Q4 Q1 Q2 Q3 Q4 Q1

图 12-5:

OSC1 1 2 CLKOUT 3 3 4 4

表 12-1:
参数 编号 符号 FOSC

外部时钟时序要求
特性 外部 CLKIN 频率 (1) 最小值 典型值 DC DC DC DC 5 - DC 0.1 1 - - - - - 4 - - - - - - - 250 - - - TCY - - - - - - 最大值 37 4 20 20 37 - 4 4 20 ∞ ∞ ∞ ∞ 200 - - 10,000 1,000 DC - - - 50* 25* 15* 单位 kHz MHz MHz MHz kHz MHz MHz MHz MHz ?s ns ns ns ?s ns ns ns ns ns ?s ns ns ns ns ns LP 振荡模式 XT 模式 HS 模式 EC 模式 LP 振荡模式 INTOSC 模式 RC 振荡模式 XT 振荡模式 HS 振荡模式 LP 振荡模式 HS 振荡模式 EC 振荡模式 XT 振荡模式 LP 振荡模式 INTOSC 模式 RC 振荡模式 XT 振荡模式 HS 振荡模式 TCY = 4/FOSC LP 振荡器, TOSC L/H 占空比 HS 振荡器, TOSC L/H 占空比 XT 振荡器, TOSC L/H 占空比 LP 振荡器 XT 振荡器 HS 振荡器 条件

振荡器频率 (1)

1

TOSC

外部 CLKIN 周期 (1)

振荡器周期 (1)

27 50 50 250 27 - 250 250 50

2 3

TCY TosL, TosH

指令周期时间 (1) 外部 CLKIN (OSC1) 高电平 外部 CLKIN 低电平

200 2* 20* 100 * - - -

4

TosR, 外部 CLKIN 上升时间 TosF 外部 CLKIN 下降时间

* 这些参数仅为特征值,未经测试。 ? 除非另外说明, “典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。 注 1: 指令周期时间 (TCY)等于输入振荡器时基周期的四倍。所有规定值都标准工作条件下代码执行过程中特定 振荡类型所产生的特征数据。超出这些规定的限定值可能导致振荡器工作不稳定和 / 或导致电流消耗超出预 期值。所有器件在 “最小值”条件下均经过测试,此时在 OSC1 引脚上施加外部时钟。对于所有器件,当采 用外部时钟输入时, “最大”周期时间极限为 “DC” (无时钟) 。

DS41190C_CN 第 94 页

? 2004 Microchip Technology Inc.

PIC12F629/675
表 12-2:
参数编号 F10 符号

内部高精度振荡器参数
特性 频率 容差 ±1 ±2 ±5 最小 值 3.96 3.92 3.80 典型值 4.00 4.00 4.00 最大值 4.04 4.08 4.20 单位 条件

FOSC 内部校准 INTOSC 频率

F14

TIOSC 振荡器从休眠模式唤醒
ST

- - -

- - -

6 4 3

8 6 5

的起振时间 *

MHz VDD = 3.5V, 25°C MHz 2.5V ≤ VDD ≤ 5.5V 0°C ≤ TA ≤ +85°C MHz 2.0V ≤ VDD ≤ 5.5V -40°C ≤ TA ≤ +85°C (工业级) -40°C ≤ TA ≤ +125°C (扩展级) ?s VDD = 2.0V, -40°C 至 +85°C ?s VDD = 3.0V, -40°C 至 +85°C ?s VDD = 5.0V, -40°C 至 +85°C

* 这些参数仅为特征值,未经测试。 ? 除非另外说明, “典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。

?2004 Microchip Technology Inc.

DS41190C_CN 第 95 页

PIC12F629/675
图 12-6: CLKOUT 和 I/O 时序
Q4 OSC1 10 CLKOUT 13 14 I/O 引脚 (输入) 17 I/O 引脚 (输出) 旧值 20, 21 15 新值 19 22 23 18 12 16 Q1 Q2 11 Q3

表 12-3:
参数 编号 10 11 12 13 14 15 16 17 18 19 20 21 22 23 * ? 注

CLKOUT 和 I/O 时序要求
符号 特性 最小值 - - - - - TOSC + 200 ns 0 - - 100 0 - - 25 TCY 典型值 75 75 35 35 - - - 50 - - - 10 10 - - 最大值 200 200 100 100 20 - - 150 * 300 - - 40 40 - - 单位 ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns 条件 ( 注 1) ( 注 1) ( 注 1) ( 注 1) ( 注 1) ( 注 1) ( 注 1)

TosH2ckL OSC1 ↑至 CLKOUT ↓ TosH2ckH OSC1 ↑至 CLKOUT ↑ TckR TckF TckL2ioV TioV2ckH TckH2ioI TosH2ioV TosH2ioI CLKOUT 上升时间 CLKOUT 下降时间 CLKOUT ↓至端口输出有效 CLKOUT ↑前端口输入有效 CLKOUT ↑后端口保持输入 OSC1 ↑ (Q1 周期)至端口输出 有效 OSC1 ↑ (Q2 周期)至端口输入 无效 (I/O 输入保持时间)

TioV2osH 端口输入有效至 OSC1 ↑ (I/O 启动时间) TioR TioF Tinp Trbp 端口输出上升时间 端口输出下降时间 INT 引脚高电平或低电平时间 GPIO 改变时 INT 引脚高电平或低 电平时间

这些参数仅为特征值,未经测试。 除非另外说明, “典型值”栏的数据是在 5.0V、 25°C 条件下测得的。 1: 测量在 RC 模式下进行,其中 CLKOUT 输出为 4xTOSC。

DS41190C_CN 第 96 页

? 2004 Microchip Technology Inc.

PIC12F629/675
图 12-7:
VDD MCLR 内部 POR PWRT 超时 OSC 超时 内部 复位 看门狗 定时器 复位 34 I/O 引脚 33 32 30

复位、看门狗定时器、振荡器起振定时器和上电延时定时器时序

31 34

图 12-8:

欠压检测时序和特性
VDD BVDD (器件处于欠压检测状态) (器件不处于欠压检测状态)

35

复位 (由 BOD 造成)

72 ms 延时 (1)



1:

只在配置字中的 PWRTE 位设定为 0 时有 72 ms 延迟。

?2004 Microchip Technology Inc.

DS41190C_CN 第 97 页

PIC12F629/675
表 12-4:
参数 编号 30

复位、看门狗定时器、振荡器起振定时器、上电延时定时器以及欠压检测要求
符号 TMCL 特性 MCLR 脉宽 (低) 最小 值 2 TBD 10 10 - 28* TBD - 2.025 TBD 100* 典型 值 - TBD 17 17 1024TOSC 72 TBD - - - - 最大 值 - TBD 25 30 - 132* TBD 2.0 2.175 - - 单位 ?s ms ms ms - ms ms ?s V - ?s VDD ≤ BVDD (D005) 条件 VDD = 5V, -40°C 至 +85°C 扩展级温度 VDD = 5V, -40°C 至 +85°C 扩展级温度 TOSC = OSC1 周期 VDD = 5V, -40°C 至 +85°C 扩展级温度

31

TWDT

看门狗定时器超时溢出周期 (无预分频器) 振荡器起振定时器周期 上电延时定时器周期

32 33*

TOST TPWRT

34

TIOZ BVDD

MCLR 低电平或看门狗定时器 复位引起 I/O 高阻态 欠压检测电压 欠压滞后 欠压检测脉冲宽度

35

TBOD

* 这些参数仅为特征值,未经测试。 ? 除非另外说明, “典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。

DS41190C_CN 第 98 页

? 2004 Microchip Technology Inc.

PIC12F629/675
图 12-9: TIMER0 和 TIMER1 外部时钟时序

T0CKI 40 42 41

T1CKI 45 47 TMR0 或 TMR1 46 48

表 12-5:
参数 编号
40* 41* 42*

TIMER0 和 TIMER1 外部时钟要求
符号 特性
T0CKI 高脉冲宽度 T0CKI 低脉冲宽度 T0CKI 周期 无预分频器 有预分频器 无预分频器 有预分频器

最小值
0.5 TCY + 20 10 0.5 TCY + 20 10 取较大值 20 或 TCY + 40 N

典型 最大 值 值
- - - - - - - - - -

单位
ns ns ns ns ns

条件

Tt0H Tt0L Tt0P

N = 预分频比 (2、4、...、256)

45*

Tt1H

T1CKI 高电平时 间 T1CKI 低电平时 间 T1CKI 输入周期

同步,无预分频器 同步,有预分频器 异步 同步,无预分频器 同步,有预分频器 异步 同步

0.5 TCY + 20 15 30 0.5 TCY + 20 15 30 取较大值 30 或 TCY + 40 N 60 DC 2 TOSC*

- - - - - - -

- - - - - - -

ns ns ns ns ns ns ns N = 预分频比 (1、 2、 4、 8)

46*

Tt1L

47*

Tt1P

异步 Ft1 48 * ? Timer1 振荡器输入频率范围 (通过置位 T1OSCEN 使能振荡器)

- - -

- 200* 7 TOSC*

ns kHz -

TCKEZtmr1 从外部时钟边沿到定时器递增的延时

这些参数仅为特征值,未经测试。 除非另外说明, “典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。

?2004 Microchip Technology Inc.

DS41190C_CN 第 99 页

PIC12F629/675
表 12-6:
比较器规范 符号 VOS VCM CMRR TRT 输入失调电压 共模输入电压 共模抑制比 响应时间 (1) 特性

比较器规范
标准工作条件 -40°C 至 +125°C (除非另外说明) 最小值 - 0 +55* - - 典型值 ± 5.0 - - 150 - 最大值 ± 10 VDD - 1.5 - 400* 10* 单位 mV V db ns ?s 备注

TMC2COV 比较器模式变化到输出有效的时 间 * 注 这些参数仅为特征值,未经测试。

1: 响应时间的测量是在比较器一个输入端处于 (VDD- 1.5) /2,同时另一个输入端电平从 VSS 变化到 VDD -1.5V 时进行的。

表 12-7:
参考电压规范 符号

比较器参考电压规范
标准工作条件 -40°C 至 +125°C (除非另外说明) 特性 准确度 绝对精度 单位电阻值 (R) 稳定时间 (1) 最小值 - - - - - - 典型值 VDD/24* VDD/32 - - 2k* - 最大值 - - ± 1/2 ± 1/2* - 10* 单位 LSb LSb LSb LSb ? ?s 备注 低量程 (VRR = 1) 高量程 (VRR = 0) 低量程 (VRR = 1) 高量程 (VRR = 0)

* 注

这些参数仅为特征值,未经测试。

1: 稳定时间是在 VRR = 1 且 VR<3:0> 的状态从 0000 跳变至 1111 时测量的。

DS41190C_CN 第 100 页

? 2004 Microchip Technology Inc.

PIC12F629/675
表 12-8:
参数 编号 A01 A02 A03 A04 A05 A06 A07 A10 A20 A20A A21 A25 A30 A50 符号 NR EABS EIL EDL EFS EOFF EGN - VREF VREF VAIN ZAIN IREF 准确度 总绝对误差 * 积分误差 微分误差 满刻度量程 偏置误差 增益误差 单一性 参考电压 高参考电压 (VDD 或 VREF) 模拟

相关文章:
更多相关标签: