PIC12F629/675 数据手册 8 引脚闪存 8 位 CMOS 单片机 深圳华夏芯科技有限公司 0755-88914723 QQ:2850125755 进口原装,公司大量现货,市场底价出售! 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 年 程序存储器 外设功能: • 6 个具有独立方向控制功能的 I/O 引脚 • 高灌 / 拉电流能力,可直接驱动 LED • 模拟比较器模块带有: - 一个模拟比较器 - 片上可编程比较器参考电压 (CVREF)模块 - 来自器件输入引脚的可编程输入复用 - 可外部访问比较器输出 • 模数转换器模块 (PIC12F675): - 10 位分辨率 - 可编程的 4 通道输入 - 参考电压输入 • Timer0:带有 8 位可编程预分频器的 8 位定时器 / 计数器 • 增强的 Timer1: - 带有预分频器的 16 位定时器 / 计数器 - 外部选通输入模式 - 如果已选用 INTOSC 模式的话,那么在 LP 模 式中可选择 OSC1 和 OSC2 作为 Timer1 的 振荡器 • 通过两个引脚可实现在线串行编程 (ICSPTM) 数据存储器 10 位 A/D 转 换器 ( 通道 ) 8/16 位 定时器 器件 闪存 (字) SRAM ( 字节 ) EEPROM ( 字节 ) I/O PIC12F629 1024 64 128 6 - 1 1/1 PIC12F675 1024 64 128 6 4 1 1/1 比较器 * 8 位 8 引脚器件受 Microchip 的低引脚数专利(Low Pin Count Patent)保护: 美国专利号为 5847450。其它美国国内 或国外专利可能已获批准或正在申请之中。 2004 Microchip Technology Inc. DS41190C_CN 第 1 页 PIC12F629/675 引脚示意图 8 引脚 PDIP、SOIC和 DFN-S 封装形式 GP5/T1CKI/OSC1/CLKIN 2 GP4/T1G/OSC2/CLKOUT 3 GP3/MCLR/VPP 4 VDD 1 GP5/T1CKI/OSC1/CLKIN 2 GP4/AN3/T1G/OSC2/CLKOUT 3 GP3/MCLR/VPP 4 PIC12F675 1 PIC12F629 DS41190C_CN 第 2 页 VDD 8 VSS 7 GP0/CIN+/ICSPDAT 6 GP1/CIN-/ICSPCLK 5 GP2/T0CKI/INT/COUT 8 VSS 7 GP0/AN0/CIN+/ICSPDAT 6 GP1/AN1/CIN-/VREF/ICSPCLK 5 GP2/AN2/T0CKI/INT/COUT 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 经理,电子邮件地址为 [email protected],传 真号码为 (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 数据总线 程序计数器 RAM 文件 寄存器 64 x 8 8 级堆栈 (13 位) 14 RAM 地址 (1) 9 GP0/AN0/CIN+ GP1/AN1/CIN-/VREF GP2/AN2/T0CKI/INT/COUT GP3/MCLR/VPP GP4/AN3/T1G/OSC2/CLKOUT GP5/T1CKI/OSC1/CLKIN 地址 MUX 指令寄存器 直接寻址 7 间接 寻址 8 FSR 寄存器 状态寄存器 8 内部 4 MHz 振荡器 指令 译码与 控制 时序 发生 OSC1/CLKIN OSC2/CLKOUT VDD, VSS T1G 3 上电延时 定时器 振荡器 起振定时器 上电 复位 看门狗 定时器 欠压 检测 MUX ALU 8 W 寄存器 T1CKI Timer0 Timer1 T0CKI 模数转换器 (仅限 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: PIC12F629/675 引脚排列说明 名称 GP0/AN0/CIN+/ICSPDAT GP1/AN1/CIN-/VREF/ ICSPCLK GP2/AN2/T0CKI/INT/COUT GP3/MCLR/VPP GP4/AN3/T1G/OSC2/ CLKOUT GP5/T1CKI/OSC1/CLKIN VSS VDD 图注: 输入 类型 输出 类型 GP0 AN0 CIN+ ICSPDAT GP1 AN1 CINVREF ICSPCLK GP2 AN2 T0CKI INT COUT TTL AN AN TTL TTL AN AN AN ST ST AN ST ST CMOS GP3 TTL 输入端口,带电平变化触发中断功能 MCLR VPP ST HV 主清零 编程电压 GP4 AN3 TTL AN T1G OSC2 CLKOUT ST GP5 T1CKI OSC1 CLKIN VSS VDD TTL ST XTAL ST 功能 CMOS CMOS CMOS CMOS CMOS XTAL 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 振荡器连接 接地参考 正向电源 阴影部分仅适用于 PIC12F675 TTL=TTL 输入缓冲器, ST= 施密特触发输入缓冲器。 DS41190C_CN 第 6 页 2004 Microchip Technology Inc. PIC12F629/675 2.0 存储器组织结构 2.2 2.1 程序存储器组织结构 数据存储器 (参见图 2-2)被分成两个存储区,这两个 存储区中包含通用寄存器和特殊功能寄存器。特殊功能 寄存器位于每个存储区的前 32 个单元中。寄存器中 20h 到 5Fh 的存储单元是通用寄存器,它们以静态 RAM 的 形式实现并同时映射到两个存储区中。所有其它 RAM 均未用,且读取时返回值为 0。RP0(STATUS<5>)是 存储区选择位。 PIC12F629/675 器件具备一个 13 位程序计数器,可用 来寻址 8K x 14 的程序存储器空间。对于 PIC12F629/ 675 器件来说,只有第一个 1K x 14 (0000h - 03FFh) 存储单元是物理实现的。访问超出上述界限的存储单 元,将在第一个 1K x 14 空间内产生循环。复位矢量位 于 0000h,而中断矢量位于 0004h (参见图 2-1)。 图 2-1: PIC12F629/675 的程序存储 器映射和堆栈 PC<12:0> • RP0 = 0,选择存储区 0 • RP0 = 1,选择存储区 1 注: 2.2.1 13 CALL, RETURN RETFIE, RETLW 数据存储器组织结构 IRP 和 RP1 位 STATUS<7:6> 是保留位并 始终保持 0。 通用寄存器数据 通用寄存器数据在PIC12F629/675器件中的组织结构为 64 x 8。每个寄存器均可通过选择寄存器 (File Select Register, FSR)进行直接或者间接访问 (参见第 2.4 节)。 1 级堆栈 2 级堆栈 8 级堆栈 复位矢量 000h 中断矢量 0004 0005 片上程序 存储器 03FFh 0400h 1FFFh 2004 Microchip Technology Inc. DS41190C_CN 第 7 页 PIC12F629/675 2.2.2 特殊功能寄存器 图 2-2: PIC12F629/675 的数据存储 器映射 特殊功能寄存器是 CPU 和外设功能用于控制器件执行 期望操作的寄存器 (参见表 2-1)。这些寄存器是静态 RAM。 数据 地址 间接寻址 (1) TMR0 PCL STATUS FSR GPIO 特殊功能寄存器可以划分为两类,即:内核和外设。本 节介绍与 “内核”有关的特殊功能寄存器。与外设功能 操作有关的特殊功能寄存器将在相应的外设功能部件章 节中讲述。 PCLATH INTCON PIR1 TMR1L TMR1H T1CON CMCON ADRESH(2) ADCON0(2) 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 PCLATH INTCON PIE1 PCON OSCCAL WPU IOC VRCON EEDATA EEADR EECON1 EECON2(1) ADRESL(2) ANSEL(2) 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 访问 20h-5Fh 64 Bytes 5Fh 60h DFh E0h 7Fh 存储区 0 1: 2: DS41190C_CN 第 8 页 FFh 存储区 1 未用的数据存储器单元,读做 0。 非实际存在的寄存器。 仅限于 PIC12F675。 2004 Microchip Technology Inc. PIC12F629/675 表 2-1: 特殊功能寄存器汇总表 地址 名称 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 POR、 BOD 时的值 页 存储区 0 00h INDF(1) 用 FSR 的内容寻址数据存储器来寻址该数据单元 0000 0000 18,53 01h TMR0 Timer0 模块的寄存器 xxxx xxxx 25 02h PCL 程序计数器 (PC)的低位字节 0000 0000 17 03h STATUS 11 04h FSR 05h GPIO (2) IRP (2) RP1 RP0 TO PD Z DC C 0001 1xxx xxxx xxxx 18 GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 GPIO0 --xx xxxx 17 间接数据存储器地址指针 - - 06h - 未用 - - 07h - 未用 - - 08h - 未用 - - 09h - 未用 - - ---0 0000 17 0Ah PCLATH 0Bh 0Ch 0Dh 0Eh 程序计数器的高 5 位的写缓冲器 - - - INTCON GIE PEIE T0IE INTE GPIE T0IF INTF GPIF 0000 0000 13 PIR1 EEIF ADIF - - CMIF - - TMR1IF 00-- 0--0 15 - 未用 TMR1L 16 位 Timer1 低位字节的保持寄存器 0Fh TMR1H 16 位 Timer1 高位字节的保持寄存器 10h T1CON - TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON - - xxxx xxxx 28 xxxx xxxx 28 -000 0000 31 11h - 未用 - - 12h - 未用 - - 13h - 未用 - - 14h - 未用 - - 15h - 未用 - - 16h - 未用 - - 17h - 未用 - - 18h - 未用 - - -0-0 0000 33 19h CMCON - COUT - CINV CIS CM2 CM1 CM0 1Ah - 未用 - - 1Bh - 未用 - - 1Ch - 未用 - - 1Dh - 未用 - - xxxx xxxx 40 00-- 0000 43,57 1Eh ADRESH(3) 1Fh ADCON0(3) 图注: 注 左对齐的 A/D 结果的高 8 位或右对齐的 A/D 结果的高 2 位 ADFM VCFG - - CHS1 CHS0 GO/DONE ADON - = 未用单元,读作 0, u = 未改变, x = 未知, q = 值根据条件而变。 阴影 = 未用 1: 非实际存在的寄存器。 2: 这些位是保留位且始终保持为 0。 3: 仅限 PIC12F675。 2004 Microchip Technology Inc. DS41190C_CN 第 9 页 PIC12F629/675 表 2-1: 特殊功能寄存器汇总表 (续) 地址 名称 bit 7 bit 3 bit 2 bit 1 bit 0 POR、 BOD 时的值 0000 0000 18,59 T0SE PSA PS2 PS1 PS0 1111 1111 12,26 0000 0000 17 RP0 TO PD Z DC C 0001 1xxx 11 xxxx xxxx 18 TRISIO5 TRISIO4 TRISIO3 TRISIO2 TRISIO1 TRISIO0 --11 1111 17 bit 6 bit 5 bit 4 页 存储区 1 80h INDF(1) 81h OPTION_REG 82h PCL 83h STATUS 84h FSR 85h TRISIO 用 FSR 的内容寻址数据存储器来寻址该数据单元 GPPU INTEDG T0CS 程序计数器 (PC)的低位字节 (2) IRP (2) RP1 间接数据存储器地址指针 - - 86h - 未用 - - 87h - 未用 - - 88h - 未用 - - 89h - 未用 - - ---0 0000 17 8Ah PCLATH 8Bh INTCON 8Ch PIE1 8Dh 8Eh - - 程序计数器的高 5 位的写缓冲器 - - GIE PEIE T0IE INTE GPIE T0IF INTF GPIF 0000 0000 13 EEIE ADIE - - CMIE - - TMR1IE 00-- 0--0 14 - - - - - - - - POR BOD ---- --0x 16 - - CAL5 CAL4 CAL3 CAL2 CAL1 CAL0 - - 1000 00-- 16 未用 PCON 8Fh - 90h OSCCAL 91h - 未用 - - 92h - 未用 - - 93h - 未用 - - 94h - 未用 - - 95h WPU 96h IOC 未用 - - WPU5 WPU4 - WPU2 WPU1 WPU0 --11 -111 18 - - IOC5 IOC4 IOC3 IOC2 IOC1 IOC0 --00 0000 19 97h - 未用 - - 98h - 未用 - - 0-0- 0000 38 VR3 VR2 VR1 VR0 VRCON 9Ah EEDATA 9Bh EEADR 9Ch EECON1 9Dh EECON2(1) EEPROM 控制寄存器 2 ---- ---- 46 9Eh ADRESL(3) 左对齐的 A/D 结果的低 2 位或右对齐的 A/D 结果的低 8 位 xxxx xxxx 40 9Fh ANSEL(3) -000 1111 40,61 图注: 注 VREN VRR 99h - - 数据 EEPROM 数据寄存器 - - - 数据 EEPROM 地址寄存器 - ADCS2 - ADCS1 - ADCS0 WRERR ANS3 WREN ANS2 WR ANS1 RD ANS0 0000 0000 45 -000 0000 45 ---- x000 46 - = 未用单元,读作 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 指令,因为这些指令不影响任何 状态位。如需了解其它不影响状态位的指令,请参见 “指令集概述”。 如寄存器 2-1 所示,状态寄存器包含: • ALU 的算术运算状态位 • 复位状态位 • 数据存储器 (SRAM)的存储区选择位 注 状态寄存器和其它寄存器一样,可以作为任何指令的目 标寄存器。如果状态寄存器作为一条指令的目标寄存 器,而影响了 Z、 DC 或 C 位,将禁止对这三个位的写 操作。 根据器件逻辑对这些位置 1 或清零。此外, TO 和 PD 位不可写。 因此,执行将状态寄存器作为目标寄 存器的指令得出的结果会与预期的有所不同。 2:在减法操作中, C 和 DC 位分别作为借位 和半借位位。示例见 SUBLW 和 SUBWF 指 令。 例如,执行 CLRF STATUS 会清零高三位并将 Z 位置 1。 这将使状态寄存器的值变为 000u u1uu (其中 u= 不 寄存器 2-1: 1:PIC12F629/675 不使用 IRP 和 RP1 位 (STATUS<7:6>) ,应 保 持 其 为 清 零 状 态。 建议不要使用这些位,因为这可能会 影响与未来产品的向上兼容性。 STATUS —状态寄存器 (地址:03h 或 83h) 保留 IRP 保留 RP1 R/W-0 R-1 R-1 R/W-x R/W-x R/W-x RP0 TO PD Z DC C bit 7 bit 0 bit 7 IRP:这些位是保留位且应始终保持为 0 bit 6 RP1:这些位是保留位且应始终保持为 0 bit 5 RP0:寄存器存储区选择位 (用于直接寻址) 0 = 存储区 0 (00h - 7Fh) 1 = 存储区 1 (80h - FFh) bit 4 TO:超时位 1 = 上电、执行 CLRWDT 或 SLEEP 指令后置位 0 = 发生了 WDT 超时 bit 3 PD:掉电标志位 1 = 上电或执行 CLRWDT 指令之后置位 0 = 执行了 SLEEP 指令 bit 2 Z:全零位 1 = 算术或逻辑操作的结果为零 0 = 算数或逻辑操作的结果不为零 bit 1 DC:半进位 / 借位标志位 (ADDWF、 ADDLW、 SUBLW、 SUBWF 指令) 作为借位位时极性相反。 1 = 结果的低 4 位向高位发生了进位 0 = 结果的低 4 位向高位没有进位 bit 0 C:进位 / 借位标志位 (ADDWF、 ADDLW、 SUBLW、 SUBWF 指令) 1 = 结果的最高位发生了进位 0 = 结果的最高位没有发生进位 注: 作为借位位时极性相反。减法指令通过加上第二个操作数的 2 的补码来实现的。对 于移位指令 (RRF、 RLF),此位的装载值为源寄存器的最高位或最低位。 图注: R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 2004 Microchip Technology Inc. x= 未知位 DS41190C_CN 第 11 页 PIC12F629/675 2.2.2.2 OPTION 寄存器 若需 TMR0 获得 1:1 的预分频值,应将 PSA 位 (OPTION<3>)置 1,以将预分频器分 配给 WDT。参见第 4.4 节。 注: OPTION 寄存器是可读写寄存器,包含各种控制位以配 置: • TMR0/WDT 预分频器 • 外部 GP2/INT 中断 • TMR0 • GPIO 上的弱上拉 寄存器 2-2: OPTION_REG—选项寄存器 (地址:81h) R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 GPPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 bit 7 bit 0 bit 7 GPPU: GPIO 上拉使能位 1 = 禁止 GPIO 上拉 0 = 通过各个端口的锁存值使能 GPIO 上拉 bit 6 INTEDG:中断边沿选择位 1 = GP2/INT 引脚上电平的上升沿触发中断 0 = GP2/INT 引脚上电平的下降沿触发中断 bit 5 T0CS: TMR0 时钟源选择位 1 = 选择 GP2/T0CKI 引脚上的传输信号作为时钟源 0 = 选择内部指令周期时钟 (CLKOUT) bit 4 T0SE: TMR0 时钟源边沿选择位 1 = 在 GP2/T0CKI 引脚上电平的下降沿递增 0 = 在 GP2/T0CKI 引脚上电平的上升沿递增 bit 3 PSA:预分频器分配位 1 = 将预分频器分配给 WDT 0 = 将预分频器分配给 TIMER0 模块 bit 2-0 PS2:PS0:预分频器的分频比选择位 位值 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 图注: DS41190C_CN 第 12 页 R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 x= 未知位 2004 Microchip Technology Inc. PIC12F629/675 2.2.2.3 INTCON 寄存器 注: INTCON 寄存器是可读写寄存器,包含对 TMR0 寄存器 溢出、GPIO 端口变化和外部 GP2/INT 引脚中断的各种 使能位和标志位。 寄存器 2-3: 当有中断条件产生时,无论相应中断使能 位或全局使能位 GIE (INTCON<7>)的状 态如何,中断标志位都将置位。用户软件应 确保在允许中断之前将相应的中断标志位 清零。 INTCON—中断控制寄存器 (地址: 0Bh 或 8Bh) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 GIE PEIE T0IE INTE GPIE T0IF INTF GPIF bit 7 bit 0 bit 7 GIE:全局中断使能位 1 = 使能所有未屏蔽的中断 0 = 禁止所有中断 bit 6 PEIE:外设中断使能位 1 = 使能所有未屏蔽的外设中断 0 = 禁止所有外设中断 bit 5 T0IE:TMR0 溢出中断使能位 1 = 使能 TMR0 溢出中断 0 = 禁止 TMR0 溢出中断 bit 4 INTE:GP2/INT 外部中断使能位 1 = 使能 GP2/INT 外部中断 0 = 禁止 GP2/INT 外部中断 bit 3 GPIE:端口电平变化时中断使能位 (1) 1 = 使能 GPIO 端口电平变化时中断 0 = 禁止 GPIO 端口电平变化时中断 bit 2 T0IF:TMR0 溢出中断标志位 (2) 1 = TMR0 寄存器已经溢出 (必须用软件清零) 0 = TMR0 寄存器没有溢出 bit 1 INTF: GP2/INT 外部中断标志位 1 = 发生 GP2/INT 外部中断 (必须用软件清零) 0 = 未发生 GP2/INT 外部中断 bit 0 GPIF:端口电平变化时中断标志位 1 = GP5:GP0 引脚中至少有一个引脚电平发生了变化 (必须用软件清零) 0 = GP5:GP0 引脚电平均未发生变化 注 1:必须使能 IOC 寄存器以允许电平变化中断。 2:当 TIMER0 计满回零时, T0IF 位被置位。 复位时 TIMER0 的状态不变,应在清零 T0IF 位前初始化。 图注: R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 2004 Microchip Technology Inc. x= 未知位 DS41190C_CN 第 13 页 PIC12F629/675 2.2.2.4 PIE1 寄存器 如寄存器 2-4 所示, PIE1 寄存器包含中断使能位。 寄存器 2-4: 注: 要使能任何一个外设中断,必须将 (INTCON<6>)位置 1。 PEIE PIE1 -外设中断使能寄存器 1 (地址: 8Ch) R/W-0 R/W-0 EEIE ADIE U-0 U-0 R/W-0 - CMIE - U-0 - U-0 R/W-0 - TMR1IE bit 7 bit 0 bit 7 EEIE:EE 写操作完成中断使能位 1 = 允许 EE 写操作完成中断 0 = 禁止 EE 写操作完成中断 bit 6 ADIE: A/D 转换器中断使能位 (仅限 PIC12F675) 1 = 允许 A/D 转换器中断 0 = 禁止 A/D 转换器中断 bit 5-4 未用:读作 0 bit 3 CMIE:比较器中断使能位 1 = 使能比较器中断 0 = 禁止比较器中断 bit 2-1 未用:读作 0 bit 0 TMR1IE:TMR1 溢出中断使能位 1 = 使能 TMR1 溢出中断 0 = 禁止 TMR1 溢出中断 图注: DS41190C_CN 第 14 页 R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 x= 未知位 2004 Microchip Technology Inc. PIC12F629/675 2.2.2.5 PIR1 寄存器 如寄存器 2-5 所示, PIR1 寄存器包含中断标志位。 寄存器 2-5: 注: 当有中断条件产生时,无论相应中断使能 位或全局使能位 GIE (INTCON<7>)的状 态如何,中断标志位都将置位。 用户软件 应确保在允许中断之前将相应的中断标志 位清零。 PIR1—外设中断寄存器 1 (地址: 0Ch) R/W-0 R/W-0 U-0 U-0 R/W-0 U-0 U-0 R/W-0 EEIF ADIF - - CMIF - - TMR1IF bit 7 bit 0 bit 7 EEIF:EEPROM 写操作中断标志位 1 = 写操作完成 (必须用软件清零) 0 = 写操作未完成或还没开始 bit 6 ADIF: A/D 转换器中断标志位 (仅限 PIC12F675) 1 = A/D 转换完成 (必须用软件清零) 0 = A/D 转换未完成 bit 5-4 未用:读作 0 bit 3 CMIF:比较器中断标志位 1 = 比较器输入已改变 (必须用软件清零) 0 = 比较器输入未改变 bit 2-1 未用:读作 0 bit 0 TMR1IF: TMR1 溢出中断标志位 1 = TMR1 寄存器已溢出 (必须用软件清零) 0 = TMR1 寄存器没有溢出 图注: R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 2004 Microchip Technology Inc. x= 未知位 DS41190C_CN 第 15 页 PIC12F629/675 2.2.2.6 PCON 寄存器 电源控制(PCON)寄存器包含区分以下复位的标志位: • • • • 上电复位 (POR) 欠压检测 (BOD) 看门狗定时器复位 (WDT) 外部 MCLR 复位 PCON 寄存器位如寄存器 2-6 所示。 寄存器 2-6: PCON—电源控制寄存器 (地址: 8Eh) U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-x ó - - - - POR BOD - bit 7 bit 0 bit 7-2 未用:读作 0 bit 1 POR:上电复位状态位 1 = 未发生上电复位 0 = 发生上电复位 (必须在上电复位发生后用软件置位) bit 0 BOD: 欠压检测状态位 1 = 没发生欠压检测 0 = 发生欠压检测 (必须在欠压检测发生后用软件置位) 图注: 2.2.2.7 R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 x= 未知位 OSCCAL 寄存器 振荡器校准寄存器 (OSCCAL)用于校准内部 4 MHz 振荡器。它包含 6 个位,可用于将频率向上或向下调整 至 4 MHz。 OSCCAL 寄存器位如寄存器 2-7 所示。 寄存器 2-7: OSCCA—振荡器校准寄存器 (地址: 90h) R/W-1 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0 CAL5 CAL4 CAL3 CAL2 CAL1 CAL0 - - bit 0 bit 7 bit 7-2 CAL5:CAL0:6 位有符号振荡器校准位 111111 = 最大频率 100000 = 中间频率 000000 = 最小频率 bit 1-0 未用:读作 0 图注: DS41190C_CN 第 16 页 R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 x= 未知位 2004 Microchip Technology Inc. PIC12F629/675 2.3 PCL 和 PCLATH 2.3.2 程序计数器 (PC)宽度为 13 位。其低位字节来自可读 写的 PCL 寄存 器。其高 位 (PC<12:8>)字节来自 PCLATH,不可直接读写。任何复位都将清零 PC。图 23 显示了装载 PC 的两种情况。图 2-3 中上方的示例显 示了在写 PCL(PCLATH<4:0> → PCH)时装载 PC 的 过程。图 2-3 中下方的示例显示了执行 CALL 或 GOTO 指 令 (PCLATH<4:3> → PCH)时装载 PC 的过程。 图 2-3: 在不同情况下装载 PC PCH PCL 12 8 7 0 PC 8 PCLATH<4:0> 5 以 PCL 作为目标寄存器的 指令 ALU 结果 PCLATH PCH 12 11 10 PCL 8 堆栈 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 指令或指向中断向量地 址时发生的操作。 0 7 GOTO, CALL PC 2 PCLATH<4:3> 11 操作码 <10:0> PCLATH 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 寄存器 例 2-1 所示为使用间接寻址清零 RAM 单元 20h-2Fh 的 简单程序。 INDF 寄存器不是实际存在的寄存器。寻址 INDF 寄存器 会导致间接寻址。 例 2-1: 使用 INDF 寄存器可以实现间接寻址。任何使用 INDF 寄存器的指令实际上访问的是文件选择寄存器 (File Select register,FSR)指向的数据。间接读 INDF 本身 会产生 00h。 而使用间接寻址对 INDF 寄存器进行写操 作将导致执行一个空操作 (虽然可能会影响状态位)。 通过将 8 位 FSR 寄存器和 IRP 位(STATUS<7>)进行 组合可获得有效的 9 位地址,如图 2-4 所示。 图 2-4: 间接寻址 movlw movwf clrf incf btfss goto NEXT 0x20 FSR INDF FSR FSR,4 NEXT CONTINUE 直接 / 间接寻址 PIC12F629/675 直接寻址 RP1(1) ;initialize pointer ;to RAM ;clear INDF register ;inc pointer ;all done? ;no clear next ;yes continue RP0 存储区选择 间接寻址 来自操作码 6 (1) 0 IRP 7 存储区选择 单元选择 00 01 10 FSR 寄存器 0 单元选择 11 00h 180h 数据 存储器 未使用 7Fh 1FFh 存储区 0 存储区 1 存储区 2 存储区 3 有关存储器映射的详细介绍,参见图 2-2。 注 1:RP1 和 IRP 位是保留位,始终保持清零。 DS41190C_CN 第 18 页 2004 Microchip Technology Inc. PIC12F629/675 3.0 GPIO 端口 状态。配置为模拟输入引脚的 I/O 引脚始终读作 0。 注: 可用的通用 I/O 引脚多达 6 个。根据使能外设的不同, 部分或所有引脚不一定能用作通用I/O引脚。一般来说, 当使能某一外设时,与它相关的引脚可能不能用作通用 I/O 引脚。 注: 3.1 有关 I/O 端口的其他信息可参见 《PICmicro® 中档单片机系列参考手册 》 (DS33023A_CN)。 例 3-1: bcf clrf movlw movwf bsf clrf movlw movwf GPIO 和 TRISIO 寄存器 GPIO 是一个 6 位宽的双向端口。其相应数据方向寄存 器为 TRISIO。将 TRISIO 中的相应位置 1 可将相应的 GPIO 引脚设置为输入引脚 (即可将相应的输出驱动器 设为高阻模式)。将 TRISIO 中相应位清零可将相应的 GPIO 引脚设置为输出引脚 (即将输出锁存器中的数据 置于所选定的引脚上)。GP3 是个例外,它只能作为输 入引脚,其 TRISIO 位始终读作 1。例 3-1 显示了如何 初始化 GPIO。 3.2 初始化 GPIO STATUS,RP0 GPIO 07h CMCON STATUS,RP0 ANSEL 0Ch TRISIO ;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 引脚的其它功能 PIC12F629/675 上的所有 GPIO 引脚都具有引脚上电平 变化触发中断的功能,且所有的 GPIO 引脚 (除 GP3 以外)都具备弱上拉功能。在接下来的两个小节中将对 这些功能作出描述。 读 GPIO 寄存器将读取引脚的状态,而写该寄存器将会 写入端口锁存器。所有写操作都是读-修改-写操作。 因此,写一个端口就意味着读该端口引脚,修改读取 值,然后再写入端口数据锁存器。当 MCLREN 为 1 时, GP3 读作 0。 3.2.1 弱上拉 GPIO 的每个引脚(除 GP3 以外)都带有独立且可配置 的内部弱上拉功能。控制位 WPUx 用以使能或禁止各个 上拉电路。参见寄存器 3-3。 当将端口引脚配置为输出 引脚时,将自动关闭弱上拉。在上电复位时,弱上拉由 GPPU 位 (OPTION<7>)禁止。 TRISIO 寄存器控制 GP 引脚的方向,即便在它们作为 模拟输入引脚时也是如此。当将这些引脚作为模拟输入 引脚时,用户必须确保 TRISIO 寄存器中的位保持置位 寄存器 3-1: 要将模拟通道配置为数字输入通道,必须 初始化 ANSEL(9Fh)和 CMCON(19h) 寄存器。配置为模拟输入的引脚读作 0。 ANSEL 寄存器是为 PIC12F675 定义的。 GPIO-GPIO 寄存器 ( 地址:05h) U-0 U-0 R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x — — GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 GPIO0 bit 7 bit 0 bit 7-6: 未用位:读作 0 bit 5-0: GPIO<5:0>:通用 I/O 引脚。 1 = 端口引脚电平 >VIH 0 = 端口引脚电平 <VIL 图注: R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 2004 Microchip Technology Inc. x= 未知位 DS41190C_CN 第 19 页 PIC12F629/675 寄存器 3-2: TRISO - GPIO 三态寄存器 (地址: 85h) U-0 U-0 R/W-x R/W-x R-1 — — TRISIO5 TRISIO4 TRISIO3 R/W-x R/W-x TRISIO2 TRISIO1 bit 7 R/W-x TRISIO0 bit 0 bit 7-6: 未用位:读作 0 bit 5-0: TRISIO<5:0>:通用 I/O 三态控制位 1 = GPIO 引脚被配置为输入引脚 (三态) 0 = GPIO 引脚被配置为输出引脚。 TRISIO<3> 始终读做 1。 注: 图注: 寄存器 3-3: R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 x= 未知位 WPU -弱上拉寄存器 (地址 : 95h) U-0 U-0 R/W-1 R/W-1 U-0 R/W-1 R/W-1 R/W-1 — — WPU5 WPU4 — WPU2 WPU1 WPU0 bit 7 bit 0 bit 7-6 未用位:读作 0 bit 5-4 WPU<5:4>:弱上拉寄存器位 1= 使能上拉 0 = 禁止上拉 bit 3 未用位:读作 0 bit 2-0 WPU<2:0>:弱上拉寄存器位 1 = 使能上拉 0 = 禁止上拉 注 1:为了使能单个上拉必须先使能全局 GPPU。 2:如果引脚处于输出模式 (TRISIO = 0),则会自动禁止弱上拉器件。 图注: DS41190C_CN 第 20 页 R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 x= 未知位 2004 Microchip Technology Inc. PIC12F629/675 3.2.2 该中断可将器件从休眠模式唤醒。用户可用以下方式在 中断服务程序中清除该中断: 引脚电平变化中断 每个 GPIO 引脚都可单独配置为电平变化中断引脚。控 制位 IOC 用来使能或禁止各个引脚的中断功能。参见寄 存器 3-4。上电复位时引脚的电平变化中断被禁止。 a) b) 不匹配状况将继续将标志位 GPIF 置 1。读 GPIO 将会 终止不匹配状况并将标志位 GPIF 清零。 对于已使能电平变化中断的引脚,引脚上的值与上次读 GPIO 的锁存值相比较。与上次读取值不匹配的输出将 执行 “或”运算,并根据运算结果设置 INTCON 寄存 器中的 GP 端口电平变化中断位 (GPIF)。 寄存器 3-4: 任何对GPIO的读写操作。这将结束不匹配状况。 将标志位 GPIF 清零。 注: 如果在执行一个读操作 (Q2 周期开始)时 发生了 I/O 引脚电平变化,那么 GPIF 中断 标志位可能不会被置 1。 IOC -电平变化中断 GPIO 寄存器 ( 地址 : 96h) U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 — — IOC5 IOC4 IOC3 IOC2 IOC1 IOC0 bit 7 bit 0 bit 7-6 未用位:读作 0 bit 5-0 IOC<5:0>:GPIO 引脚电平变化触发中断控制位 1 = 使能引脚电平变化触发中断 0 = 禁止引脚电平变化触发中断 注 1:为了识别单个中断,必须置位全局中断使能位 (GIE)。 图注: R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 2004 Microchip Technology Inc. x= 未知位 DS41190C_CN 第 21 页 PIC12F629/675 3.3 引脚描述及框图 每个 GPIO 引脚都与其它功能复用。我们在此简要介绍 这些引脚及其复用功能。有关比较器或 A/D 等独立功能 的具体信息,请参见数据手册中的相关章节。 3.3.1 GP0/AN0/CIN+ 图 3-1是该引脚的示意图。GP0可配置为下列功能之一: 图 3-1: 数据总线 写 WPU GP1/AN1/CIN-/VREF D CK Q VDD 弱上拉 GPPU D 写 端口 模拟 输入模式 Q 读 WPU • 通用 I/O 引脚 • A/D 转换器的模拟输入引脚 (仅限 PIC12F675) • 比较器的模拟输入引脚 3.3.2 GPO 和 GP1 引脚示意图 CK VDD Q Q 图 3-1是该引脚的示意图。GP1可配置为下列功能之一: • • • • 通用 I/O 引脚 A/D 转换器的模拟输入引脚 (仅限 PIC12F675) 比较器的模拟输入引脚 A/D 转换器的参考电压输入引脚 (仅限 PIC12F675) I/O 引脚 D 写 TRISIO CK Q Q VSS 模拟 输入模式 读 TRISIO 读 端口 D 写 IOC CK Q Q Q D EN 读 IOC Q D EN 电平变化中断 读端口 到比较器 到 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可配置为下列功能之一: 图 3-3是该引脚的示意图。GP3可配置为下列功能之一: • • • • • • 通用输入引脚 • 主清零复位引脚 通用 I/O 引脚 A/D 转换器的模拟输入引脚 (仅限 PIC12F675) TMR0 的时钟输入引脚 外部边沿触发中断 来自比较器的数字输出 图 3-3: GP3 示意图 数据总线 图 3-2: 数据总线 写 WPU GP2 示意图 D CK Q VDD Q 弱上拉 模拟 输入 模式 COUT 使能 D CK Q Q COUT 写 TRISIO CK CK VSS Q Q Q D EN 读 IOC VDD 电平变化中断 1 0 D MCLRE D 写 IOC I/O 引脚 VSS 读 端口 GPPU 读 WPU 写 端口 读 TRISIO 模拟 输入模式 MCLRE 复位 I/O 引脚 Q D EN 读端口 Q Q VSS 模拟 输入模式 读 TRISIO 读 端口 D 写 IOC CK Q Q Q D EN 读 IOC 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可配置为下列功能之一: 图 3-5是该引脚的示意图。GP5可配置为下列功能之一: • • • • • • • • • 通用 I/O 引脚 A/D 转换器的模拟输入引脚 (仅限 PIC12F675) TMR1 选通输入引脚 连接晶振 / 谐振器 时钟输出引脚 通用 I/O 引脚 TMR1 的时钟输入引脚 连接晶振 / 谐振器 时钟输入引脚 图 3-5: 图 3-4: GP4 示意图 模拟 输入模式 数据总线 写 WPU D CK CLK 模式 (1) 数据总线 Q VDD Q 弱上拉 CK Q 写 TRISIO CK 写 端口 0 Q VSS INTOSC/ RC/EC(2) CK 写 TRISIO CK Q Q VSS INTOSC/ 模式 (2) D 写 IOC Q Q D 读 端口 读 端口 写 IOC Q 读 TRISIO 模拟 输入模式 D CK CK Q Q Q Q 电平变化中断 D EN Q D 读 IOC EN 读 IOC VDD Q I/O 引脚 I/O 引脚 CLKOUT 使能 读 TRISIO GPPU D 1 Q Q 弱上拉 Q OSC2 VDD CLKOUT 使能 D CK VDD Q 振荡 电路 CLKOUT 使能 D D 振荡 电路 OSC1 FOSC/4 写 WPU INTOSC/ 模式 TMR1LPEN(1) 读 WPU GPPU 读 WPU 写 端口 GP5 示意图 D Q D EN 电平变化中断 EN 读端口 读端口 到 TMR1 或 CLKGEN 到 TMR1 T1G 到 A/D 转换器 注 1: CLK 模式是 XT、HS、LP、LPTMR1 和 CLKOUT 使能。 2: 带有 CLKOUT 选项。 DS41190C_CN 第 24 页 注 1: 使能 Timer1 LP 振荡器 2: 当使用 LP 振荡器的 Timer1 时,施密特触发器被 旁路。 2004 Microchip Technology Inc. PIC12F629/675 表 3-1: 与 GPIO 相关的寄存器汇总 地址 名称 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 POR、 BOD 时的值 所有其它复 位时的值 05h GPIO — — GP5 GP4 GP3 GP2 GP1 GP0 --xx xxxx --uu uuuu 0Bh/8Bh INTCON GIE PEIE T0IE INTE GPIE T0IF INTF GPIF 0000 0000 0000 000u 19h CMCON — COUT — CINV CIS CM2 CM1 CM0 -0-0 0000 -0-0 0000 81h OPTION_REG GPPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111 --11 1111 85h TRISIO — — TRISIO5 TRISIO4 TRISIO3 TRISIO2 TRISIO1 TRISIO0 --11 1111 95h WPU — — WPU5 WPU4 — WPU2 WPU1 WPU0 --11 -111 --11 -111 96h IOC — — IOC5 IOC4 IOC3 IOC2 IOC1 IOC0 --00 0000 --00 0000 9Fh ANSEL — ADCS2 ADCS1 ADCS0 ANS3 ANS2 ANS1 ANS0 -000 1111 -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 模块 通过置位 T0CS 位 (OPTION_REG<5>)选择计数器 模式。在计数器模式下, Timer0 模块可在 GP2/T0CKI 引脚的每个上升沿或下降沿加计数。具体是上升沿还是 下 降 沿 取 决 于 时 钟 源 边 沿 选 择 (TOSE)控 制 位 (OPTION_REG<4>)。清零 TOSE 位选择上升沿。 Timer0 模块定时器 / 计数器有如下特点: • • • • • • 8 位定时器 / 计数器 可读写 8 位软件可编程预分频器 内部或外部时钟选择 FFh 到 00h 的溢出中断 外部时钟的边沿选择 注: 4.2 图 4-1 是 Timer0 模块和预分频器 (与 WDT 共用)的 框图。 4.1 Timer0 工作原理 通过清零 T0CS 位 (OPTION_REG<5>)选择定时器 模式。在定时器模式下,Timer0 模块在每个指令周期递 增 (不带预分频器)。如果对 TMR0 执行写操作,在接 下来的两个指令周期 Timer0 禁止递增。用户可将一个 调整值写入 TMR0 寄存器来避开这一问题。 图 4-1: Timer0 中断 当 TMR0 寄存器定时器 / 计数器产生从 FFh 至 00h 的溢 出时,产生 Timer0 中断。此溢出将 T0IF 位置位。可以 通过清零 T0IE 位(INTCON<5>)来屏蔽该中断。在重 新允许中断之前,必须在软件中用 Timer0 模块的中断 服务程序将 T0IF 位 (INTCON<2>)清零。休眠状态 下,由于定时器被关闭,所以 Timer0 中断无法唤醒单 片机。 有关 Timer0 模块的更多信息可参考 《PICmicro® 中档单片机系列参考手册》 (DS33023A_CN)。 注: 计数器模式对外部时钟信号有一定的要 求。有关这些要求的更多信息可参考 《PICmicro® 中档单片机系列参考手册》 (DS33023A_CN)。 TIMER0/WDT 预分频器的框图 CLKOUT (= FOSC/4) 数据总线 0 8 1 SYNC 2 周期 1 T0CKI 引脚 T0SE T0CS 0 8- 位 预分频器 8 PS0 - PS2 看门狗 定时器 WDTE 注 溢出时 置位标志位 T0IF PSA 1 PSA TMR0 0 1 WDT 超时 0 PSA 1: T0SE、 T0CS、 PSA、 PS0-PS2 是 Option 寄存器中的位。 2004 Microchip Technology Inc. DS41190C_CN 第 27 页 PIC12F629/675 4.3 Timer0 与外部时钟配合使用 要求 T0CKI 引脚上的信号高、低电平分别至少保持 2TOSC(加上 20ns 的 RC 延时)。参阅所需器件的电气 规范。 当不使用预分频器时,外部时钟输入与预分频器输出相 同。在内部相位时钟的 Q2 和 Q4 周期对预分频器输出 进行采样可实现 T0CKI 与内部相位时钟的同步。因此, 寄存器 4-1: 注: 要将模拟通道配置为数字输入通道,必须 对 ANSEL (9Fh)和 CMCON (19h)寄 存器进行初始化。配置为模拟输入的引脚 读作 0。ANSEL 寄存器是为 PIC12F675 定 义的。 OPTION_REG—OPTION 寄存器 (地址:81h) R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 GPPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 bit 7 bit 0 bit 7 GPPU: GPIO 上拉使能位 1 = GPIO 上拉被禁止 0 = GPIO 上拉通过端口锁存值使能 bit 6 INTEDG:中断边沿选择位 1 = 在 GP2/INT 引脚的上升沿发生中断 0 = 在 GP2/INT 引脚的下降沿发生中断 bit 5 T0CS: TMR0 时钟源选择位 1 = GP2/T0CKI 引脚上的传输 0 = 内部指令周期时钟 (CLKOUT) bit 4 T0SE: TMR0 时钟源边沿选择位 1 = GP2/T0CKI 引脚的下降沿递增 0 = GP2/T0CKI 引脚的上升沿递增 bit 3 PSA:预分频器分配位 1 = 将预分频器分配给 WDT 0 = 将预分频器分配给 TIMER0 模块 bit 2-0 PS2:PS0:预分频比率选择位 位值 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 图注: DS41190C_CN 第 28 页 R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 x= 未知位 2004 Microchip Technology Inc. PIC12F629/675 4.4 例 4-1: 预分频器 器件具备一个 8 位计数器,可作为 Timer0 模块的预分 频器,或看门狗定时器的后分频器。为简化起见,在本 数据手册中通称该计数器为 “预分频器”。通过软件设 置 PSA 控制位 (OPTION_REG<3>)来控制预分频器 的分配。清零 PSA 将预分频器分配给 Timer0。预分频 值可通过 PS2:PS0 位 (OPTION_REG<2:0>)选择。 bcf STATUS,RP0 clrwdt clrf TMR0 bsf 该预分频器不可读写。当分配给 Timer0 模块时,所有 对 TMR0 寄存器执行写操作的指令 (例如 CLRF 1、 MOVWF 1、BSF 1、x 等)将清零预分频器。当分配给 WDT 时,执行 CLRWDT 指令将同时清零预分频器和看 门狗定时器。 4.4.1 STATUS,RP0 要将预分频器从 WDT 更改为 TMR0 模块,使用例 4-2 中的序列。即使 WDT 禁止也必须执行该指令序列。 例 4-2: 更改预分频器 (WDT→TIMER0) clrwdt 地址 ;Clear WDT and ; postscaler ;Bank 1 bsf STATUS,RP0 movlw b’xxxx0xxx’ ;Select TMR0, ; prescale, and ; clock source OPTION_REG ; STATUS,RP0 ;Bank 0 movwf bcf 表 4-1: ;Bank 0 ;Clear WDT ;Clear TMR0 and ; prescaler ;Bank 1 movlw bÕ0010 ;Required if desired movwf OPTION_REG ; PS2:PS0 is clrwdt ; 000 or 001 ; movlw bÕ0010 ;Set postscaler to movwf OPTION_REG ; desired WDT rate bcf STATUS,RP0 ;Bank 0 预分频器分配的切换 预分频器分配是完全在软件控制下进行的(即它可以在 程序执行时进行实时修改)。为避免发生器件的意外复 位,在预分频器的分配从 Timer0 更改为 WDT 时,必须 执行以下指令序列 (例 4-1)。 更改预分频器 (TIMER0→WDT) 与 TIMER0 相关的寄存器 名称 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 01h TMR0 0Bh/8Bh INTCON 81h OPTION_REG 85h TRISIO 图注: - = 未实现位,读做 0、 u = 未改变、 x = 未知。 阴影单元表示未被 Timer0 模块使用。 Timer0 模块寄存器 POR、 BOD 时的值 所有其它复 位时的值 xxxx xxxx uuuu uuuu GIE PEIE T0IE INTE GPIE T0IF INTF GPIF 0000 0000 0000 000u GPPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111 - - TRISIO5 TRISIO4 TRISIO3 TRISIO2 TRISIO1 TRISIO0 --11 1111 --11 1111 2004 Microchip Technology Inc. DS41190C_CN 第 29 页 PIC12F629/675 5.0 带选通控制的 TIMER1 模块 如寄存器 5-1 所示,Timer1 控制寄存器(T1CON)用 于使能 / 禁止 Timer1 并选择 Timer1 模块的不同功能。 PIC12F629/675 器件具备一个 16 位定时器。图 5-1 所 示为 Timer1 模块的基本框图。 Timer1 具有以下特点: • • • • • • • • 注: 16 位定时器 / 计数器 (TMR1H:TMR1L) 可读写 内部或外部时钟选择 同步或异步操作 从 FFFFh 到 0000h 的溢出中断 溢出时唤醒 (异步模式) 可选择外部使能输入 (T1G) 可选 LP 振荡器 图 5-1: 有关 Timer0 模块的更多信息可参考 《PICmicro® 中档单片机系列参考手册》 (DS33023A_CN)。 TIMER1 框图 TMR1ON TMR1GE T1G TMR1ON TMR1GE 溢出时置位 TMR1IF 标志位 TMR1 TMR1H 同步 时钟输入 0 TMR1L 1 LP 振荡器 1 OSC1 OSC2 不带 CLKOUT 的 INTOSC T1OSCEN FOSC/4 内部 时钟 T1SYNC 预分频器 1, 2, 4, 8 0 2 T1CKPS<1:0> 同步 检测 休眠输入 TMR1CS LP DS41190C_CN 第 30 页 2004 Microchip Technology Inc. PIC12F629/675 5.1 Timer1 工作模式 Timer1 可以有三种工作模式: • 带有预分频器的 16 位定时器 • 16 位同步计数器 • 16 位异步计数器 在定时器工作模式下, Timer1 在每个指令周期进行递 增计数。在计数器工作模式下, Timer1 在外部时钟输 入 T1CKI 的每个上升沿进行递增计数。此外,计数器 模式时钟可以与单片机系统时钟同步或异步运行。 在计数器和定时器模块中,计数器 / 定时器时钟可通过 T1G 输入引脚进行选通控制。 如果需要外部时钟振荡器 (且单片机正在使用不带 CLKOUT 的 INTOSC),Timer1 可以使用 LP 振荡器作 为时钟源。 注: 在计数器模式下,计数器第一次上升沿递 增计数之前必须先记录一个下降沿。 图 5-2: 5.2 Timer1 中断 Timer1 寄存器 (TMR1H:TMR1L)递增到 FFFFh 时将 翻转返回到 0000h。当 Timer1 计满回零时, Timer1 的 中断标志位 (PIR1<0>)将置 1。要使能计满回零时产 生中断,用户应置位以下位: • Timer1 中断使能位 (PIE1<0>) • PEIE 位 (INTCON<6>) • GIE 位 (INTCON<7>)。 在中断服务程序中将 TMR1IF 清零可以清除中断。 注: 5.3 再次允许中断前,应将 TMR1H:TTMR1L 寄 存器以及 TMR1IF 位进行清零。 Timer1 预分频器 Timer1 具有四个预分频器选项,允许对时钟输入进行 1、2、4、或 8 分频。T1CKPS 位(T1CON<5:4>)对 预分频计数器进行控制。对预分频计数器不能直接进行 读写操作;但是,通过写入 TMR1H 或 TMR1L 可清零 预分频计数器。 TIMER1 加计数边沿 T1CKI = 1 当 TMR1 使能时 T1CKI = 0 当 TMR1 使能时 注 1: 箭头表示计数器递增。 2: 在计数器模式下,计数器在第一次时钟信号上升沿进行递增计数前应记录一个下降沿。 2004 Microchip Technology Inc. DS41190C_CN 第 31 页 PIC12F629/675 寄存器 5-1: T1CON—TIMER1 控制寄存器 (地址: 10h) U-0 - R/W-0 R/W-0 R/W-0 R/W-0 TMR1GE T1CKPS1 T1CKPS0 T1OSCEN R/W-0 R/W-0 R/W-0 T1SYNC TMR1CS TMR1ON bit 7 bit 0 bit 7 未用位:读作 0 bit 6 TMR1GE:Timer1 选通使能位 如果 TMR1ON = 0: 此位被忽略 如果 TMR1ON = 1: 1 = 如果 T1G 引脚为低电平,则启动 Timer1 0 = 启动 Timer1 bit 5-4 T1CKPS1:T1CKPS0:Timer1 输入时钟预分频选择位 11 = 预分频值为 1:8 10 = 预分频值为 1:4 01 = 预分频值为 1:2 00 = 预分频值为 1:1 bit 3 T1OSCEN:LP 振荡器使能控制位 如果不带 CLKOUT 振荡器的 INTOSC 处于激活状态: 1 = LP 振荡器使能作为 Timer1 的时钟源 0 = LP 振荡器关闭 否则: 此位被忽略 bit 2 T1SYNC:Timer1 外部时钟输入同步控制位 TMR1CS = 1: 1 = 不与外部时钟输入同步 0 = 与外部时钟输入同步 TMR1CS = 0: 此位被忽略。 Timer1 使用内部时钟作为时钟源。 bit 1 TMR1CS: Timer1 时钟源选择位 1 = 使用来自 T1OSO/T1CKI 引脚 (在上升沿)上的外部时钟 0 = 内部时钟 (FOSC/4) bit 0 TMR1ON:Timer1 启动控制位 1 = 使能 Timer1 0 = 停止 Timer1 图注: DS41190C_CN 第 32 页 R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 x= 未知位 2004 Microchip Technology Inc. PIC12F629/675 5.4 Timer1 工作在异步计数器模式 5.5 如果置位控制位 T1SYNC(T1CON<2>),外部时钟输 入将不同步。定时器继续进行与内部相位时钟异步的加 计数。在休眠状态下,定时器将继续运行并在溢出时产 生中断,唤醒处理器。但是,在用软件对定时器进行读 / 写操作时应该特别小心 (第 5.4.1 节)。 注: 5.4.1 Timer1 振荡器 在 OSC1 (输入)和 OSC2 (放大器输出)引脚之间内 置有一个晶体振荡器电路。通过将控制位 T1OSCEN (T1CON<3>)置 1 可使能该振荡电路。该振荡电路是 低功耗振荡电路,额定频率最高可达 37 kHz。在休眠模 式中,它仍可继续工作。该振荡电路主要适用于 32 kHz 晶振。表 9-2 显示了 Timer1 振荡器的可选电容。 要将模拟通道配置为数字输入通道,必须 将 ANSEL (9Fh)和 CMCON (19h)寄 存器初始化。配置为模拟输入的引脚读作 0。ANSEL寄存器是为PIC12F675定义的。 Timer1 的振荡器与系统 LP 振荡器共用。因此,只有当 系统时钟来自于内部振荡器时, Timer1 才能采用该模 式。与系统 LP 振荡器相同,用户必须提供软件延时以 确保振荡器的正常起振。 在异步计数器模式下读写 TIMER1 当 Timer1 振荡器被使能时,TRISIO4 和 TRISIO5 置 1。 GP4 和 GP5 读作 0,而 TRISIO4 和 TRISIO5 读作 1。 当 定 时 器 采 用 外 部 异 步 时 钟 工 作 时,对 TMR1H 或 TMR1L 的读操作将确保有效 (由硬件完成)。但是用 户应注意,通过两个 8 位值来读取 16 位定时器本身就 会产生某些问题,因为定时器可能在读操作之间产生溢 出。 注: 5.6 对于写操作,建议用户先停止定时器再写入期望值。如 果计数器正进行递增计数,此时向其写入可能会导致写 冲突的发生,从而在定时器寄存器中产生不可预测的 值。 使用前,振荡器需要一定的起振和稳定时 间。因此,在使能 Timer1 之前应 确保 T1OSCEN 置 1,并允许适当的延时。 Timer1 工作在休眠模式 只有设定为异步计数器模式时,Timer1 才可在休眠模式 下工作。在该模式下,可使用外部晶振或时钟源使计数 器进行加计数。必须将定时器设定如下以唤醒器件: 用户在读 16 位值时应当谨慎对待。《PICmicro® 中档单 片机系列参考手册》(DS33023A_CN)中的例 12-2 和 12-3 显示了如何对工作在异步模式下的 Timer1 进行读 写操作。 • 使能 Timer1 (T1CON<0>) • TMR1IE 位 (PIE1<0>)置 1 • PEIE 位 (INTCON<6>)置 1 器件将在溢出时被唤醒。 如果 GIE 位 (INTCON<7>) 置 1,器件将在溢出时被唤醒并跳转至中断服务程序。 表 5-1: 地址 TIMER1 作为定时器 / 计数器时的相关寄存器 名称 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 POR、 所有其它复 BOD 时的值 位时的值 GPIF 0000 0000 0000 000u 0Bh/8Bh INTCON GIE PEIE T0IE INTE GPIE T0IF INTF 0Ch PIR1 EEIF ADIF - - CMIF - - 0Eh TMR1L 16 位 TMR1 寄存器低有效字节的保持寄存器 xxxx xxxx uuuu uuuu 16 位 TMR1 寄存器高有效字节的保持寄存器 TMR1GE T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON -000 0000 -uuu uuuu - xxxx xxxx uuuu uuuu 0Fh TMR1H 10h T1CON 8Ch PIE1 图注: x = 未知、 u= 未改变、 -= 未实现位,读作 0。 阴影单元表示未被 Timer1 模块使用。 EEIE ADIE 2004 Microchip Technology Inc. - - CMIE TMR1IF 00-- 0--0 00-- 0--0 - - TMR1IE 00-- 0--0 00-- 0--0 DS41190C_CN 第 33 页 PIC12F629/675 注: DS41190C_CN 第 34 页 2004 Microchip Technology Inc. PIC12F629/675 6.0 外,可以将 GP2 配置为比较器的输出引脚。如寄存 器 6-1 所示的比较器控制寄存器 (CMCON)包含比 较器的控制位。 比较器模块 PIC12F629/675 器件有一个模拟比较器。比较器的输 入端与 GPO 和 GP1 引脚复用。模块中带有片上比较 器参考电压,该电压也可作为比较器的输入电压。此 寄存器 6-1: CMCON —比较器控制寄存器 (地址:19h) U-0 R-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 — COUT — CINV CIS CM2 CM1 CM0 bit 7 bit 0 bit 7 未用位:读作 0 bit 6 COUT:比较器输出位 当 CINV = 0 时: 1 = VIN+ > VIN0 = VIN+ < VIN当 CINV = 1 时: 1 = VIN+ < VIN0 = VIN+ > VIN- bit 5 未用位:读作 0 bit 4 CINV:比较器输出翻转位 1 = 输出翻转 0 = 输出不翻转 bit 3 CIS:比较器输入开关位 当 CM2:CM0 = 110 或 101 时 : 1 = VIN- 连接到 CIN+ 0 = VIN- 连接到 CIN- bit 2-0 CM2:CM0:比较器模式位 图 6-2 给出比较器的几种模式以及相应的 CM2:CM0 位设置情况 图注: R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 2004 Microchip Technology Inc. x= 未知位 DS41190C_CN 第 35 页 PIC12F629/675 6.1 比较器工作原理 表 6-1: 图 6-1所示为单比较器及模拟输入电平和数字输出之间 的关系。如果 VIN+ 上的模拟输入小于 VIN- 上的模拟输 入,那么比较器将输出数字低电平。如果 VIN+ 上的模 拟输入大于 VIN- 上的模拟输入,那么比较器将输出数字 高电平。图 6-1 中比较器输出的阴影部分表示由于输入 偏移和响应时间所造成的不确定区。 注: 要将 CIN+ 和 CIN- 引脚用作模拟输入引脚, 必须对 CMCON(19h)寄存器中的适当位 进行编程。 输入条件 CINV COUT VIN- > VIN+ 0 0 VIN- < VIN+ 0 1 VIN- > VIN+ 1 1 VIN- < VIN+ 1 0 图 6-1: 通过置位 CINV 位 (CMCON<4>)可以改变比较器输 出的极性。清零 CINV 将导致输出不翻转。表 6-1 所示 为不同输入条件和极性位的输出状态的完整信息。 不同输入条件的输出状态 单比较器 VIN+ + VIN- – 输出 VIN- VIN+ 输出 注: DS41190C_CN 第 36 页 CINV 位 (CMCON<4>)已被清零。 2004 Microchip Technology Inc. PIC12F629/675 6.2 比较器配置 比较器有 8 种工作模式。寄存器 6-1 所示的 CMCON 寄 存器可用于选择工作模式。图 6-2 给出了这 8 种可能的 模式。 TRISIO 寄存器控制每种模式下比较器引脚的数 图 6-2: 据方向。如果改变比较器模式,在指定的时间段内,比 较器的输出电平可能无效。参见第 12.0 节中的电气规 范。 注: 改 变 比较 器模 式 期间 应 禁止 比较 器 的中 断。否则可能会产生错误的中断。 比较器 I/O 工作模式 比较器复位 (POR 时的缺省值—低功耗) 比较器关闭 (功耗最低) CM2:CM0 = 000 CM2:CM0 = 111 GP1/CIN- A GP0/CIN+ A GP2/COUT D 关闭(读作 0) 不带输出的比较器 CM2:CM0 = 010 GP1/CIN- A GP0/CIN+ A GP2/COUT D GP1/CIN- D GP0/CIN+ D GP2/COUT D 关闭(读作 0) 使用内部参考电压的比较器,不带输出 CM2:CM0 = 100 COUT GP1/CIN- A GP0/CIN+ D GP2/COUT D COUT 来自 CVREF 模块 使用内部参考电压且带有输出的比较器 CM2:CM0 =011 GP1/CIN- 输入端复用、使用内部参考电压并带有输出的比较器 CM2:CM0 = 101 A GP0/CIN+ D GP2/COUT D COUT GP1/CIN- A GP0/CIN+ A GP2/COUT D CIS = 0 CIS = 1 来自 CVREF 模快 带有输出的比较器 CM2:CM0 = 001 GP1/CIN- A GP0/CIN+ A GP2/COUT D COUT 来自 CVREF 模快 输入端复用且使用内部参考电压 CM2:CM0 = 110 COUT GP1/CIN- A GP0/CIN+ A GP2/COUT D CIS = 0 CIS = 1 COUT 来自 CVREF 模块 A= 模拟输入,端口始终读作 0 D = 数字输入 CIS = 比较器输入切换开关 (CMCON<3>) 2004 Microchip Technology Inc. DS41190C_CN 第 37 页 PIC12F629/675 6.3 电压范围 0.6V 以上,其中一个二极管就正向偏置,并 可能发生闭锁。建议模拟输入信号源的最大源阻抗为 10 kΩ。任何连接到模拟输入引脚的外部元件 (如电容 器、齐纳二极管等),应保证其泄漏电流极小。 模拟输入连接注意事项 图 6-3 所示为一个简化的模拟输入电路。由于模拟引脚 和数字输出端相连,因而它们与 VDD 及 VSS 之间加有 反向偏置二极管。这样,模拟输入电压就必须限制在 VSS 和 VDD 之间。如果输入电压超过 (或低于)这个 图 6-3: 模拟输入模式 VDD VT = 0.6V Rs < 10K RIC AIN CPIN 5 pF VA ILEAKAGE ± 500 nA VT = 0.6V Vss CPIN VT ILEAKAGE RIC RS VA 图注: 6.4 = 输入电容 = 阈值电压 = 由于不同的连接所引起的引脚上的泄漏电流 = 连线电阻 = 源阻抗 = 模拟电压 当比较器处于输出模式时, TRISIO<2> 位可作为 GP2 引脚的输出使能 / 禁止位。 比较器输出 通过读 CMCON 寄存器的相应位 (COUT),可以得到 比较器的输出。 该位是只读的。在 8 种可能模式中的 3 种模式下,比较器的输出可直接连接到 GP2 引脚,如 图 6-2所示。当比较器处于上述3种模式的任意一种时, GP2 上的输出信号与内部时钟都是异步的。图 6-4 所示 为比较器输出框图。 图 6-4: 注 1:当读 GPIO 寄存器时,所有配置为模拟输 入的引脚都读作 0。 而配置为数字输入的 引脚将根据 TTL 输入规范对模拟输入信号 进行转换。 2: 在任何一个定义为数字输入的引脚上施加 模拟电平,可能导致输入缓冲器的电流消 耗超出规定值。 改进的比较器输出框图 GP0/CIN+ GP1/CIN- 到 GP2/T0CKI 引脚 到数据总线 Q 读 CMCON CMIF 置 1 CVREF D EN Q CINV CM2:CM0 D 读 CMCON EN 复位 DS41190C_CN 第 38 页 2004 Microchip Technology Inc. PIC12F629/675 6.5 比较器参考电压 下面的等式可用来计算输出电压: 比较器模块还允许选择内部产生的参考电压作为比较器 的输入信号之一。内部参考电压信号可用于 8 种比较器 模式中的 4 种。VRCOM 寄存器(寄存器 6-2)可控制 参考电压模块,如图 6-5 所示。 6.5.1 VRR = 1 (低电平范围): CVREF = (VR3:VR0 / 24) x VDD VRR = 0 (高电平范围) : CVREF = (VDD / 4) + (VR3:VR0 x VDD / 32) 配置参考电压模块 参考电压模块可以输出 32 种不同的电平,其中 16 个高 电平和 16 个低电平。 图 6-5: 6.5.2 参考电压精度 / 误差 由于模块构造的原因 ,并不能实现从 VSS 到 VDD 的整 个电压范围。梯形电阻网络(图 6-5)的顶端和底端晶 体管使 CVREF 的值无法达到 VSS 或 VDD。由于参考电 压来源于 VDD,因此 CVREF 的输出随着 VDD 的波动而 变 化。经 过 测 试 的 比 较 器 参 考 电 压绝 对 精 度 参 见 第 12.0 节。 比较器参考电压模块框图 16 级 8R R R R R VDD 8R VRR 16 选 1 模拟 多路选择器 VREN CVREF 到 比较器的 输入 VR3:VR0 6.6 比较器响应时间 响应时间是指选择了一个新的参考电压或是输入源后, 比较器输出确定达到有效电平的最短时间。如果内部参 考电压发生了改变,在使用比较器的输出时必须考虑到 内部参考电压的最大延时。否则,应使用比较器的最大 延时 (表 12-7)。 6.7 6.8 复位的影响 器件复位将迫使 CMCON 和 VRCON 寄存器的值恢复到 其 复 位状 态。这 也 将 迫使 比 较 器 模块 进 入 复 位模 式 (CM2:CM0 = 000)并将关闭参考电压模块。这样,所 有可能的输入均为模拟输入,而比较器和参考电压模块 均被禁止,此时电流消耗最小。 休眠期间的操作 如果在进入休眠状态以前已使能了比较器和参考电压模 块,那么它们将在休眠期间继续保持活动状态。这将导 致休眠期间的电流高于电源关闭规范中的值。电气规范 中另行列出了由于比较器和参考电压模块所造成的额外 电流消耗。若要使休眠模式下最大限度地降低功耗,可 关 闭 比 较 器 (CM2:CM0 = 111)和 参 考 电 压模块 (VRCON<7> = 0)。 如果在休眠期间使能比较器,则中断将唤醒器件。当器 件从休眠状态下唤醒时,CMCON 和 VRCON 寄存器的 内容将不受影响。 2004 Microchip Technology Inc. DS41190C_CN 第 39 页 PIC12F629/675 寄存器 6-2: VRCON—参考电压控制寄存器 (地址:99h) R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 VREN — VRR — VR3 VR2 VR1 VR0 bit 7 bit 0 bit 7 VREN: CVREF 使能位 1 = CVREF 电路上电 0 = CVREF 电路断电,无泄漏电流 IDD bit 6 未用位:读作 0 bit 5 VRR: CVREF 范围选择位 1 = 低电平范围 0 = 高电平范围 bit 4 未用位:读作 0 bit 3-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 图注: 6.9 R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 比较器中断 用户可用以下方式在中断服务程序中清除该中断: a) b) 只要比较器的输出值发生变化,比较器的中断标志位就 会置 1。需要用软件来保持输出位的状态信息,即从 CMCON<6> 读取,以判断实际发生的变化。CMIF 位即 PIR1<3> 是比较器中断标志位。该位必须用软件清零来 将其复位。因为也可以把 “1”写入该寄存器,所以可 以启动模拟中断。 对 CMCON 进行读或写。这将结束不匹配状况。 将标志位 CMIF 清零。 不匹配的状况将持续将标志位 CMIF 置 1。读 CMCON 将会终止不匹配状况并允许将标志位 CMIF 清零。 注: 必须 置 位 CMIE 位 (PIE1<3>)和 PEIE 位 (INTCON<6>)以允许中断。此外,也必须置位 GIE 位。只要清零这些位中的任何一位,尽管当发生中断条 件时 CMIF 位仍会置位,却不会使能中断。 表 6-2: x= 未知位 如果在执行读操作时 (Q2 周期的开始) CMCON 寄存器 (COUT)的值发生改变, 则 CMIF (PIR1<3>)中断标志位可能不会 置位。 与比较器模块相关的寄存器 名称 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 POR、 BOD 时的值 所有其它复 位时的值 0Bh/8Bh INTCON GIE PEIE T0IE INTE GPIE T0IF INTF GPIF 0000 0000 0000 000u 0Ch PIR1 EEIF ADIF — — CMIF — — TMR1IF 00-- 0--0 00-- 0--0 19h CMCON — COUT — CINV CIS CM2 CM1 CM0 -0-0 0000 -0-0 0000 8Ch PIE1 EEIE ADIE — — CMIE — — TMR1IE 00-- 0--0 00-- 0--0 85h TRISIO — — TRISIO5 TRISIO4 TRISIO3 TRISIO2 TRISIO1 TRISIO0 --11 1111 --11 1111 99h VRCON VREN — 0-0- 0000 0-0- 0000 地址 图注: VRR — VR3 VR2 VR1 VR0 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 GP0/AN0 GP1/AN1/VREF GP2/AN2 GP4/AN3 VCFG = 1 ADC 10 GO/DONE ADFM CHS1:CHS0 10 ADON ADRESH ADRESL VSS 7.1 A/D 的配置及操作 有两个用于控制 A/D 模块功能的寄存器: 1. 2. ADCON0 (寄存器 7-1) ANSEL (寄存器 7-2) 7.1.1 模拟端口引脚 ANS3:ANS0 位 (ANSEL<3:0>)和 TRISIO 位控制 A/ D 端口引脚的操作。置位相应的 TRISIO 位,可将引脚 输出驱动器置为高阻态。同样,置位相应的 ANS 位可 禁止数字输入缓冲器。 注: 7.1.2 在定义为数字输入的引脚上施加模拟电压 可能使输入缓冲器消耗过多电流。 通道选择 7.1.4 转换时钟 A/D 转化周期需要 11 个 TAD。可通过软件设置 ADCS 位 (ANSEL<6:4>)来选择转换时钟源。有以下 7 种时钟 频率可供选择: • • • • • • FOSC/2 FOSC/4 FOSC/8 FOSC/16 FOSC/32 FOSC/64 • FRC (专用内部 RC 振荡器) 为了保证转换结果正确,必须选择合适的 A/D 转换时钟 频率(1/TAD)以确保最小转换时钟周期 TAD 为 1.6 µs。 表 7-1 所示为选定频率下的几种 TAD 计算结果。 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: 不同器件工作频率下的 TAD A/D 时钟源 (TAD) 工作频率 2 TOSC 4 TOSC 8 TOSC 16 TOSC 32 TOSC 64 TOSC A/D RC 器件频率 ADCS2:ADCS0 000 100 001 101 010 110 x11 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) 图注: 阴影单元表示超出了建议范围。 注 1:VDD > 3.0V 时, A/D RC 源产生 4 µs 的典型 TAD 时间。 2:这些值均违反了所需的最小 TAD 时间。 3:为了加快转换速度,建议选用其它时钟源。 4:当器件的频率高于 1 MHz 时,仅当在休眠期间进行转换时才推荐使用 A/D RC 时钟源。 7.1.5 值。如果转换发生异常中断,必须经过 2 TAD 的延时后 才可启动下一次采集。延时过后,将自动开始对选定通 道进行输入采集。 启动转换 通过置位 GO/DONE 位 (ADCON0<1>)启动 A/D 转 换。转换完成时, A/D 模块将: 注: • 清零 GO/DONE 位 • 置位 ADIF 标志位 (PIR1<6>) • 产生中断 (如果使能的话) 7.1.6 如果必须要中止转换,则可用软件清零 GO/DONE 位。 如果 A/D 转 换 采 样 只 进 行 了 一 部 分,则 ADRESH:ADRESL 寄 存 器 的 内 容 不 会 更 新。而 ADRESH:ADRESL 寄存器将保持上次转换所得到的 图 7-2: 不应在启动 A/D 转换的同一条指令中置位 GO/DONE 位。 转换输出 A/D 转换的结果可以如下两种格式提供:左对齐或右对 齐。 ADFM 位 (ADCON0<7>)控制输出格式。图 7-2 所示为输出的格式。 10 位 A/D 结果的格式 ADRESH (ADFM = 0) ADRESL MSB LSB bit 7 bit 0 bit 7 10 位 A/D 转换的结果 未用位: 读作 0 MSB (ADFM = 1) bit 7 LSB bit 0 未用位: 读作 0 DS41190C_CN 第 42 页 bit 0 bit 7 bit 0 10 位 A/D 转换的结果 2004 Microchip Technology Inc. PIC12F629/675 寄存器 7-1: ADCON0—A/D 控制寄存器 (地址:1Fh) R/W-0 R/W-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 ADFM VCFG — — CHS1 CHS0 GO/DONE ADON bit 7 bit 0 bit 7 ADFM:A/D 结果格式选择位 1 = 右对齐 0 = 左对齐 bit 6 VCFG:参考电压位 1 = 选用 VREF 引脚上的电压 0 = 选用 VDD bit 5-4 未用位:读作 0 bit 3-2 CHS1:CHS0:模拟通道选择位 00 = 通道 00 (AN0) 01 = 通道 01 (AN1) 10 = 通道 02 (AN2) 11 = 通道 03 (AN3) bit 1 GO/DONE:A/D 转换状态位 1 = A/D 转换正在进行。 将该位置 1 可启动 A/D 转换。 当 A/D 转换完成以后,该位由硬件自动清零。 0 = A/D 转换已完成 / 未进行。 bit 0 ADON:A/D 转换器状态位 1 = A/D 转换器模块正在运行 0 = A/D 转换器被关闭且不消耗工作电流 图注: R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 2004 Microchip Technology Inc. x= 未知位 DS41190C_CN 第 43 页 PIC12F629/675 寄存器 7-2: ANSEL— 模拟选择寄存器 (地址: 9Fh) U-0 R/W-0 R/W-0 R/W-0 R/W-1 R/W-1 R/W-1 R/W-1 — ADCS2 ADCS1 ADCS0 ANS3 ANS2 ANS1 ANS0 bit 7 bit 0 bit 7 未用位:读作 0。 bit 6-4 ADCS<2:0>:A/D 转换时钟选择位 000 = FOSC/2 001 = FOSC/8 010 = FOSC/32 x11 = FRC (由专用内部振荡器产生的时钟,其频率的最大值为 500 kHz) 100 = FOSC/4 101 = FOSC/16 110 = FOSC/64 bit 3-0 ANS3:ANS0:模拟选择位 (可将 AN<3:0> 引脚的功能分别选为模拟或是数字) 1 = 模拟输入;分配引脚为模拟输入 (1) 0 = 数字 I/O ;分配引脚为端口引脚或特殊功能引脚 注 1: 将引脚设置为模拟输入端将自动禁止数字输入电路、弱上拉和引脚电平变化中断等 功能。相应的 TRISIO 位必须设置为输入模式以允许从外部控制引脚电压。 图注: DS41190C_CN 第 44 页 R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 x= 未知位 2004 Microchip Technology Inc. PIC12F629/675 7.2 A/D 采集要求 图 7-3。 建议模拟信号源的最大阻抗为 10 kΩ。采集时 间随着阻抗的降低而缩短。在选择 (改变)模拟输入通 道以后,必须在开始转换之前完成采集。 为了使 A/D 转换器达到规定的精度,必须使充电保持电 容 (CHOLD)充满至输入通道的电压电平。模拟输入模 型见图 7-3。源阻抗(RS)和内部采样开关(RSS)阻 抗直接影响电容 CHOLD 充电所需的时间。采样开关 (RSS)阻抗随器件电压 (VDD)的变化而变化,参见 等式 7-1: TACQ TC TACQ 注 可以使用等式 7-1来计算最小采集时间。该等式假设误 差为 1/2 LSb(A/D 转换需要 1024 步)。1/2 LSb 误差 是 A/D 达到规定精度所允许的最大误差。 要计算最短采集时间(TACQ),请参见《PICmicro® 中 档单片机系列参考手册》(DS33023A_CN)。 采集时间 = 放大器稳定时间 + 保持电容充电时间 + 温度系数 = = = = = = = 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 1:因为参考电压 (VREF)自行抵消,因此它对该等式没有影响。 2: 充电保持电容 (CHOLD)在每次转换结束时不会放电。 3: 建议模拟信号源的最大阻抗为 10 kΩ。它必须符合引脚泄漏电流规范中的规定。 图 7-3: 模拟输入模型 VDD RS ANx VA 采样 开关 RIC ≤ 1K SS RSS VT = 0.6V CPIN 5 pF VT = 0.6V CHOLD = DAC 电容 = 120 pF I LEAKAGE ± 500 nA VSS 图注 CPIN VT I LEAKAGE = 输入电容 = 阈值电压 = 由于不同连接所造成的 RIC SS CHOLD = 连线电阻 = 采样开关 = 采样 / 保持电容(来自 DAC) 2004 Microchip Technology Inc. 泄漏电流 6V 5V VDD 4V 3V 2V 5 6 7 8 9 10 11 采样开关 (kΩ) 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 模块。 表 7-2: 地址 05h 当 A/D 时钟源不是 RC 时,执行 SLEEP 指令将中止当 前的转换,同时关闭 A/D 模块。ADON 位仍保持置位。 7.4 复位的影响 器件复位将迫使所有的寄存器恢复到其复位状态。 因 此,复位会关闭 A/D 模块并且中止任何当前待处理的转 换。 ADRESH:ADRESL 寄存器的内容不变。 A/D 寄存器汇总 bit 7 名称 GPIO bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 POR、 所有其它复位 BOD 时的值 时的值 — — GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 GPIO0 --xx xxxx --uu uuuu 0Bh, 8Bh INTCON GIE PEIE T0IE INTE GPIE T0IF INTF GPIF 0000 0000 0000 000u 0Ch PIR1 EEIF ADIF — — CMIF — — TMR1IF 00-- 0--0 00-- 0--0 1Eh ADRESH 左对齐格式下 A/D 结果的高 8 位或右对齐格式下结果的高 2 位 xxxx xxxx uuuu uuuu 00-- 0000 00-- 0000 1Fh ADCON0 85h TRISIO 8Ch PIE1 ADFM VCFG — — CHS1 — — TRISIO5 TRISIO4 TRISIO3 EEIE ADIE — — CMIE CHS0 GO ADON TRISIO2 TRISIO1 TRISIO0 — — TMR1IE ANS2 ANS1 ANS0 9Eh ADRESL 9Fh ANSEL 图注: x = 未知 , u = 未改变 , - = 未实现,读作 0。阴影单元表示未被 A/D 转换器模块使用。 左对齐格式下 A/D 结果的低 2 位或右对齐格式下结果的低 8 位 DS41190C_CN 第 46 页 — ADCS2 ADCS1 ADCS0 ANS3 --11 1111 --11 1111 00-- 0--0 00-- 0--0 xxxx xxxx uuuu uuuu -000 1111 -000 1111 2004 Microchip Technology Inc. PIC12F629/675 8.0 数据 EEPROM 存储器 EEPROM 数据存储器允许字节读写。字节写操作将自 动擦 除该 地址 单元 并写入 新的 值 (即 先擦 后写) 。 EEPROM 是一种具有高擦 / 写周期的数据存储器。写入 的时间由片上定时器控制,还会随着电压、温度以及芯 片的不同而有所差异。具体限制请参阅 AC 规范。 数据 EEPROM 存储器在整个 VDD 范围内正常运行时是 可读写的。 其存储器并不直接映射到寄存器文件空间, 而是通过特殊功能寄存器来间接寻址。有四个 SFR 用于 读写该存储器,它们是: 当器件处于代码保护下时,CPU 可以继续对 EEPROM 存储器进行读写操作,但 器件编程器则不再能访问此寄 存器。 • EECON1 • EECON2 (非实际存在的寄存器) • EEDATA • EEADR 有关数据 EEPROM 更多的信息可以参考 《PICmicro® 中档单片机系列参考手册》(DS33023A_CN)。 EEDATA 内存放 8 位读写数据,而 EEADR 寄存器存放 要访问的 EEPROM 地址。PIC12F629/675 器件有 128 字节的数据 EEPROM 存储器,寻址范围从 0h 到 7Fh。 寄存器 8-1: EEDAT—EEPROM 数据寄存器 (地址: 9Ah) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 EEDAT7 EEDAT6 EEDAT5 EEDAT4 EEDAT3 R/W-0 R/W-0 EEDAT2 EEDAT1 bit 7 bit 7-0 R/W-0 EEDAT0 bit 0 EEDATn:读 / 写数据 EEPROM 的字节值 图注: 寄存器 8-2: R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 x= 未知位 EEADR—EEPROM 地址寄存器 (地址: 9Bh) U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 - EADR6 EADR5 EADR4 EADR3 EADR2 EADR1 EADR0 bit 7 bit 0 bit 7 未用位:应该清零 bit 6-0 EEADR:指定 128 个地址单元之一进行 EEPROM 读 / 写操作 图注: R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 2004 Microchip Technology Inc. x= 未知位 DS41190C_CN 第 47 页 PIC12F629/675 8.1 EEADR 当 WREN 位置 1 时,允许进行写操作。上电延时时, WREN 位被清零。正常工作期间,如果写操作被 MCLR 复位或 WDT 超时复位中断,则 WRERR 位被置 1。上 述情形下,用户可在复位结束后检查 WRERR 的状态, 对其清零并重写该地址单元。数据和地址被清零,这样 EEDATA 和 EEADR 寄存器需要进行重新初始化。 EEADR 寄存器最多可寻址数据 EEPROM 的 128 字节。 仅使用了寄存器 8 位中的 7 位 (EEADR<6:0>),而 MSb (bit 7)被忽略。 该寄存器的最高位应总是为 0,以向上兼容具有更大数 据 EEPROM 存储器的器件。 8.2 当写操作完成时,PIR1 寄存器上的中断标志位 EEIF 置 1。此位必须用软件清零。 EECON1 和 EECON2 寄存器 EECON2 不是实际存在的寄存器。读 EECON2 将得到 全零。EECON2 寄存器只在数据 EEPROM 写操作序列 中使用。 EECON1 为控制寄存器,实际只使用了它的低四位。高 四位未被使用,并且读作 0。 控制位 RD 和 WR 分别用于启动读写操作。这些位不能 用软件清零,只能用软件置 1。它们在读写操作完成时 由硬件清零。WR 位不能用软件清零是为了防止写操作 的意外或过早中止。 寄存器 8-3: EECON1—EEPROM 控制寄存器 (地址: 9Ch) U-0 U-0 - bit 7 - U-0 - U-0 R/W-x R/W-0 R/S-0 R/S-0 - WRERR WREN WR RD bit 0 bit 7-4 未用位:读作 0 bit 3 WRERR: EEPROM 错误标志位 1 = 写操作被过早中止 (正常操作或 BOD 检测期间发生 MCLR 复位、 WDT 复位) 0 = 写操作完成 bit 2 WREN: EEPROM 写操作使能位 1 = 允许写周期 0 = 禁止写入数据 EEPROM bit 1 WR:写操作控制位 1 = 启动写周期 (一旦写操作完成,该位被硬件清零。 WR 位只能用软件置 1 而不能清零) 0 = 写入数据 EEPROM 的写周期完成 bit 0 RD:读控制位 1 = 启动 EEPROM读操作(读操作占用一个周期。RD由硬件清零,RD只能用软件置1 而不能清 零)。 0 = 不启动 EEPROM 读操作 图注: S = 可以被置位 DS41190C_CN 第 48 页 R = 可读位 W = 可写位 U = 未用位,读作 0 - n = POR 时的值 1= 置位 0= 清零 x= 未知位 2004 Microchip Technology Inc. PIC12F629/675 8.3 读 EEPROM 数据存储器 在写序列启动后,清零 WREN 位不会影响写周期。除 非 WREN 置位,否则 WR 位不能被置位。 要读取数据存储器地址单元,用户必须先把该地址写 到 EEADR 寄存器中,并将控制位 RD(EECON1<0>) 置 1,如例 8-1 所示。在紧随其后的下一个指令周期, EEDATA寄存器中的数据即可使用。因此可以通过下一 条指令来读取。EEDATA将保留该数据直至另一次读操 作开始,或用户写入新值为止 (在写操作中)。 8.5 例 8-1: 根据具体应用,将写入数据 EEPROM 中的值与期望写 入值相校验 (见例 8-3)是一个不错的编程习惯。 bsf movlw movwf bsf movf 8.4 读数据 EEPROM STATUS,RP0 CONFIG_ADDR EEADR EECON1,RD EEDATA,W ;Bank 1 ; ;Address to read ;EE Read ;Move data to W 写周期完成时,WR 位被硬件清零,EE 写操作结束中断 标志位 (EEIF)被置 1。用户可以允许该中断或查询该 标志位。EEIF 位(PIR<7>)寄存器必须用软件清零。 例 8-3: 写 EEPROM 数据存储器 要写 EEPROM 数据存储器地址单元,用户必须首先将 该地址写入 EEADR 寄存器,并将数据写入 EEDATA 寄 存器。然后用户必须遵守特定的指令序列来写每一个字 节,如例 8-2 所示。 要求序列 例 8-2: bsf bsf bcf movlw movwf movlw movwf bsf bsf 写校验 写校验 bcf : bsf movf STATUS,RP0 bsf EECON1,RD STATUS,RP0 EEDATA,W xorwf EEDATA,W btfss STATUS,Z goto WRITE_ERR : ;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 写数据 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 若 未 严 格 正 确 执 行 上 述 指 令 序 列 (即 写 55h 到 EECON2,写 AAh 到 EECON2,然后将 WR 位置 1), 则写操作不会启动。我们强烈建议在上述代码段中禁止 中断。在执行要求的指令序列同时,也将执行一次周期 计数操作。如果周期计数值不等于执行必需的指令序列 所需的周期数,则将禁止数据写入 EEPROM。 此外,寄存器 EECON1 中的 WREN 位应被置 1 以使能 写操作。该机制有助于防止由于执行错误 (意外的)代 码 (即丢失程序)而导致意外写入数据 EEPROM。除 对 EEPROM 进行更新时,用户应始终保持 WREN 位为 清零状态。硬件不能清零 WREN 位 。 2004 Microchip Technology Inc. 8.5.1 使用数据 EEPROM 数据 EEPROM 是高耐久性的、可字节寻址的阵列,已 经将其优化以便存储频繁变动的信息(例如,程序变量 或其它经常更新的数据)。通常,频繁变动值的更新频 率将超过 D120 或 D120A 中规定的参数值。如果并非如 此,则必须进行阵列刷新。 为此,不经常变动的变量 (如常数、ID、校准值等)应存放在闪存程序存储器中。 8.6 防止误写操作的保护措施 在有些情况下,用户并不希望写入数据 EEPROM 存储 器。为防止 EEPROM 误写操作,芯片内嵌了各种保护 机制。上电时 WREN 位被清零。而且,上电延时定时 器 (延时 72ms)也会阻止对 EEPROM 进行写操作。 写操作的启动顺序以及 WREN 位将共同防止以下情况 下的意外误写操作发生: • 欠压 • 电源毛刺 • 软件故障 DS41190C_CN 第 49 页 PIC12F629/675 8.7 代码保护期间数据 EEPROM 的操作 将 CPD 位编程为 “0”可对数据存储器进行代码保护。 数据存储器处于代码保护的情况下, CPU 可以对数据 EEPROM 进行读写操作。对数据存储器进行代码保护 的同时,建议用户也对程序存储器进行代码保护。这将 防止有人通过在已有代码上写入零 (作为 NOP 执行), 访问在未使用的程序存储器中编程的增加程序,从而达 到导出数据存储器内容的目的。将未使用的地址单元编 程为“0”有助于避免数据存储器的代码保护遭受破坏。 表 8-1: 地址 与数据 EEPROM 相关的寄存器 / 位 名称 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 EEIF ADIF - - CMIF - - 0Ch PIR1 9Ah EEDATA 9Bh EEADR - 9Ch EECON1 - 9Dh 图注: 注 bit 0 TMR1IF 00-- 0--0 00-- 0--0 EEPROM 数据寄存器 0000 0000 0000 0000 EEPROM 地址寄存器 - - EECON2(1) EEPROM 控制寄存器 2 POR、 BOD 其它复位时 时的值 的值 -000 0000 -000 0000 - WRERR WREN WR RD ---- 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 地址单元 • 在线串行编程 2004 Microchip Technology Inc. PIC12F629/675 配备了一个看门狗定时器,可由配置位 来控制。该定时器依靠自带的 RC 振荡器来运行,提高 了可靠性。有两个定时器提供必要的上电延时。一个是 振荡器起振定时器 (OST),旨在确保芯片在晶振达到 稳定之前始终处于复位状态。另一个是上电延时定时器 (PWRT),仅在上电时提供 72 ms (标称值)的固定 延时,用来确保器件在供电电压稳定之前处于复位状 态。还有当器件发生欠压时使器件复位的电路,该电路 可提供至少 72 ms 的复位延时。片上具有了这三种功 能,使绝大多数应用无需再外接复位电路。 休眠模式的设计是为了提供电流极低的掉电模式。用户 可通过以下方法将器件从休眠模式唤醒: • 外部复位 • 看门狗定时器唤醒 • 中断 有几种振荡模式可供选择,以使器件适应各种应用。选 择 INTOSC 可节约系统成本,而选择 LP 晶振可以节能。 使用一组配置位可选择不同的晶振(参见寄存器 9-1)。 DS41190C_CN 第 51 页 PIC12F629/675 9.1 配置位 注: 可以通过对配置位编程 (读作 “0”)或不编程 (读作 “1”)来选择不同的器件配置,如寄存器 9-1 所示。这 些位映射到程序存储器地址单元 2007h 中。 寄存器 9-1: R/P-1 R/P-1 BG1 bit 13 BG0 bit 13-12 地址2007h超过了用户程序存储器空间。 它 属 于特 殊 配 置 存 储 器 空 间 (2000h 3FFFh) ,只能在编程的时候对它进行访 问。更多信息请参见PIC12F629/675编程规 范。 CONFIG—配置字 (地址: 2007h) U-0 U-0 U-0 R/P-1 R/P-1 - - - CPD 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 BG1:BG0:BOD 和 POR 电压的带隙校准位 (1) 00 = 最低带隙电压 bit 11-9 bit 8 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2-0 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= 未知位 DS41190C_CN 第 52 页 2004 Microchip Technology Inc. PIC12F629/675 9.2 图 9-2: 振荡器配置 9.2.1 振荡器类型 PIC12F629/675 可选择在 8 种不同的振荡模式下运行。 用户可对以下 3 个配置位(FOSC2 到 FOSC0)编程来 选择这 8 种模式之一: • • • • • • 外部时钟输入的操作 (HS、XT、EC 或 LP 振荡器配置) LP 低功耗晶振 XT 晶振 / 谐振器 HS 高速晶振 / 谐振器 RC 外部电阻 / 电容 (2 种模式) INTOSC 内部振荡器 (2 种模式) EC 外部时钟输入 注: 有关振荡器配置的其他信息可参见 《PICmicro® 中档单片机系列参考手册》 (DS33023A_CN)。 9.2.2 来自外部系统 的时钟信号 PIC12F629/675 图 9-1: 晶振 (或陶瓷振荡器)的操作 (HS、 XT 或 LP 振荡器配置 ) OSC1 到内部 逻辑电路 C1(1) XTAL RF(3) 注 1: 在 EC 振荡器模式下,该引脚作为 GP4 使用。 表 9-1: RS(2) 模式 频率 OSC1(C1) OSC2(C2) XT 455 kHz 2.0 MHz 4.0 MHz 68 - 100 pF 15 -68 pF 15 -68 pF 68 - 100 pF 15 -68 pF 15 -68 pF HS 8.0 MHz 16.0 MHz 10 -68 pF 10 -22 pF 10 -68 pF 10 -22 pF 1: 电容越大,振荡器的稳定性也越高,但同 时上电时间也会延长。这些值仅供设计参 考。由于每个谐振器的特性各不相同,因 此用户应向生产厂家咨询外部元件的正确 参数。 注 表 9-2: 晶体振荡器的电容选择 模式 频率 OSC1(C1) OSC2(C2) LP 32 kHz 68 - 100 pF 68 - 100 pF XT 100 kHz 2 MHz 4 MHz 68 -150 pF 15 -30 pF 15 -30 pF 150 -200 pF 15 -30 pF 15 -30 pF HS 8 MHz 10 MHz 20 MHz 15 -30 pF 15 -30 pF 15 -30 pF 15 -30 pF 15 -30 pF 15 -30 pF 休眠 PIC12F629/675 注 1: C1 和 C2 的建议值,参见表 9-1 和表 9-2。 2: 对于 AT 条形切割的晶体可能需要串联一个电阻。 3: RF 随振荡器模式的不同而变化 (大约值 10 MΩ)。 注 2004 Microchip Technology Inc. 陶瓷谐振器的电容选择 特性范围: OSC2 C2(1) OSC2(1) 打开 晶振 / 陶瓷谐振器 在 XT、 LP 或 HS 模式下,晶振或陶瓷谐振器连接到 OSC1 和 OSC2 引脚以建立振荡 (参见图 9-14) 。 PIC12F629/675 振荡器的设计要求使用平行切割的晶 体。 而采用顺序切割的晶体,可能使振荡器产生的频率 超出晶体制造厂商给出的范围。在 XT、 LP 或 HS 模式 下,器件可用一个外部时钟源来驱动 OSC1 引脚(参见 图 9-14)。 OSC1 1: 电容越大,振荡器的稳定性也越高,但同 时上电时间也会延长。这些值仅供设计参 考。为避免对要求低驱动的晶振造成过驱 动,在 HS 和 XT 模式下,可能需要串联电 阻 (Rs)。由于每个谐振器的特性各不相 同,因此用户应向生产厂家咨询外部元件 的正确参数。 DS41190C_CN 第 53 页 PIC12F629/675 9.2.3 9.2.5 外部时钟输入 对于已具备外部时钟的应用场合,只要该外部时钟源符 合第 12.0 节列出的 AC/DC 时序要求,用户就可以直接 使用它所提供的时钟信号来驱动 PIC12F629/675。图 914 显示了如何配置外部时钟电路。 9.2.4 RC 振荡器 如果对定时精度要求不高,可以选用 RC 振荡器。 RC 振荡器的工作和功能取决于许多变量。 RC 振荡器的频 率是以下参数的函数: • 供电电压 • 电阻 (REXT)和电容 (CEXT)的值 • 工作温度。 由于正常的制造工艺参数存在差异,因此每个振荡器的 频率也会有所变化。 而不同封装类型的引线电容不同, 也会影响振荡频率,特别是当 CEXT 值较小时。用户还 需要考虑外部元件 (电阻 R 和电容 C)的容差。图 914 显示了如何外接 R/C 组合电路。 在这种振荡模式下,GP4 有两种配置可供选择,可将其 作为通用 I/O 引脚或是输出 FOSC/4。 图 9-3: VDD REXT PIC12F629/675 GP5/OSC1/ CLKIN CEXT VSS FOSC/4 经过校准后,内部振荡器可提供固定的 4 MHz (标称 值)系统时钟。有关随电压和温度变化的信息,请参见 第 12.0 节中的电气规范。 在这种振荡模式下,GP4 有两种配置可供选择,可将其 作为通用 I/O 引脚或是输出 FOSC/4。 9.2.5.1 注: 擦除器件的同时也会擦除为内部振荡器预 编程的内部校正值。必须按照 PIC12F629/ 675 编程规范中的规定,在擦除部件之前保 存校准值。 Microchip 开发工具保持所有的 校准位为出厂设置。 例 9-1: 9.2.6 内部 时钟 校准内部振荡器 校准指令被编程到程序存储器的最后一个地址单元中。 这条指令是 RETLW XX,其中立即数为校准值。将立即 数放在 OSCCAL 寄存器中用来校准内部振荡器。例 91 演示了如何校准内部振荡器。为了使器件能够工作在 最佳状态,应对 VDD 和 VSS 去耦 (电容)并使之尽量 靠近器件。 bsf call movwf bcf RC 振荡模式 内部 4 MHZ 振荡器 校准内部振荡器 STATUS, RP0 3FFh OSCCAL STATUS, RP0 ;Bank 1 ;Get the cal value ;Calibrate ;Bank 0 CLKOUT 在INTOSC和RC振荡模式下,可配置PIC12F629/675, 使之产生时钟输出信号。配置后,GP4/OSC2/CLKOUT 引脚上产生振荡器频率的 4 分频(FOSC/4)信号。FOSC/ 4 可作测试用途或同步其它逻辑模块。 GP4/OSC2/CLKOUT DS41190C_CN 第 54 页 2004 Microchip Technology Inc. PIC12F629/675 9.3 复位 因为 WDT 唤醒被视为是回复正常工作的操作,因此不 会影响这些寄存器。如表 9-4 所示,TO 和 PD 状态位在 不同的复位中分别被置位或清零。软件利用这些位来确 定复位的性质。表 9-7 对所有寄存器的复位状态作了完 整的描述。 PIC12F629/675 可区分不同种类的复位: a) b) c) d) e) f) 上电复位 (POR) 正常工作中的 WDT 复位 休眠期间的 WDT 复位 正常工作中的 MCLR 复位 休眠期间的 MCLR 复位 欠压检测 (BOD) 图 9-14 所示为片上复位电路的简化框图。 有些寄存器不受任何复位条件的影响;它们在 POR 时 状态未知,而在任何其它复位时状态不变。发生下列复 位时,大多数其它寄存器返回 “复位”状态: • • • • • MCLR 复位路径中有一个噪声滤波器,用于检测或滤除 小脉冲信号。有关脉宽规范可参见电气规范一节中的 表 12-4。 上电复位 MCLR 复位 WDT 复位 休眠期间的 WDT 复位 欠压检测 (BOD)复位 图 9-4: 片上复位电路的简化框图 外部 复位 MCLR/ VPP 引脚 WDT WDT 模块 SLEEP 超时复位 VDD 上升沿 检测 上电复位 VDD 欠压 检测 BODEN S Q R Q OST/PWRT OST Chip_Reset 10 位脉动计数器 OSC1 CLKIN 引脚 PWRT 片上(1) RC OSC 10 位脉动计数器 使能 PWRT 有关超时的情况请参见表 9-3。 使能 OST 注 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 引脚 没有内部上拉功能选项。 图 9-5: 建议使用的 MCLR 电路 VDD PIC12F629/675 R1 1 kΩ(或更大) MCLR C1 0.1 µf (可选,非关键元件) 9.3.2 其它信息请参见应用笔记 AN607 “Power-up Trouble Shooting”。 9.3.3 上电延时定时器 (PWRT) 上电延时定时器仅在上电时提供一个 72 ms (标称值) 的 POR 或欠压检测固定延时。上电延时定时器使用内 部 RC 振荡器。只要 PWRT 有效,芯片就处于复位状 态。PWRT 延时可以使 VDD 上升到适当的电平。配置位 PWRTE 可以使能 (如果置位)或禁止 (如果清零或被 编程)上电延时定时器。当欠压检测使能时应始终使能 上电延时定时器。 下列原因会造成各芯片之间上电延时的时间不同: • VDD 不同 • 温度变化 • 制造工艺的差异。 详情请参见 DC 参数 (第 12.0 节)。 9.3.4 振荡器起振定时器 (OST) 在PWRT延时结束以后,振荡器起振定时器将提供1024 个振荡周期 (来自 OSC1 引脚)。这将确保晶振或谐振 器起振并达到稳定状态。 只有在 XT、 LP 和 HS 模式下,且仅在上电复位或将器 件从休眠状态唤醒时,才会发生 OST 超时。 上电复位 (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 任何复位 (上电复位、欠压复位、看门狗定时器复位 等)发生时,器件将保持复位状态直到VDD 上升到BVDD 以上 (参见图 9-14)。如果使能了上电延迟定时器,此 时 它 将 启 动,并 将 使 器 件 保 持 复 位 状 态 的 时 间延 长 72 ms。 欠压检测 (BOD) PIC12F629/675 系列单片机都带有片上欠压检测电路。 配置位 BODEN 可以禁止 (如果清零 / 编程)或使能 (如果置位)欠压检测电路。 如果 VDD 下降到 VBOD 以 下,且持续时间超过表 12-4 中的参数值 (TBOD)(见 第 12.0 节),欠压状况将使器件复位。 无论 VDD 的转 换率大小如何,上述情况都会发生。 如果 VDD 低于 VBOD 的时间少于参数值 (TBOD),则不保证会发生复 位。 图 9-6: 注: 如果上电延迟定时器运行时, VDD 下降到 BVDD 以下, 芯片将重新回到欠压检测状态,且上电延迟定时器将被 重新初始化。一旦 VDD 上升到 BVDD 以上,上电延迟定 时器将执行一个 72 ms 的复位延时。 欠压情况 VDD 内部 复位 VBOD 72 ms(1) VDD 内部 复位 VBOD <72 ms 72 ms(1) VDD 内部 复位 注 9.3.6 如果置位配置字中的 PWRTE 位,那么欠压 检测将不会使能上电延迟定时器。 VBOD 72 ms(1) 1: 仅当配置字中的 PWRTE 位被编程为 0 时,才产生 72 ms 延迟。 延时序列 上电延时序列如下: 首先, POR 结束后启动 PWRT 延 时。 然后,OST 被激活。总延时时间取决于振荡器的配 置和 PWRTE 位的状态。例如,在 EC 模式且 PWRTE 位清零(PWRT 禁止)的情况下,不会出现延时。图 914,图 9-14 和图 9-14 给出了延时序列。 由于延时是由 POR 脉冲引起的,因此若 MCLR 引脚保 持低电平的时间足够长,延时将结束。拉高 MCLR 将立 即执行延时 (见图 9-14) 。这在测试时或同步多个 PIC12F629/675 并行使用的器件来说非常有用。 表 9-6 给出了一些特殊寄存器的复位条件,而表 9-7 给 出了所有寄存器的复位条件。 2004 Microchip Technology Inc. 9.3.7 电源控制 (PCON)状态寄存器 电源控制 / 状态寄存器 PCON(地址 8Eh)包含两个位。 Bit0 是 BOD 位(欠压复位)。 BOD 在发生上电复位后 状态未知。用户必须将该位置 1,并在随后的复位发生 时检查 BOD 是否为 0,如果是,则表示已经发生过欠压 复位。如果欠压电路(通过在配置字中设置 BODEN 位 为 0)被禁止,则 BOD 状态位是一个无关位,也无法预 知其状态。 Bit1 是 POR 位(上电复位位)。上电复位时该位为 0 , 其它情况下该位不受影响。 用户必须在上电复位之后, 将 1 写入该位。在随后的复位中,如果 POR 为 0,则 表示发生过上电复位 (即 VDD 曾处于过低状态)。 DS41190C_CN 第 57 页 PIC12F629/675 表 9-3: 不同情况下的延时 上电延时 振荡器配置 欠压检测 从休眠中唤醒 PWRTE = 0 PWRTE = 1 PWRTE = 0 PWRTE = 1 XT, HS, LP TPWRT + 1024•TOSC 1024•TOSC TPWRT + 1024•TOSC 1024•TTOSC 1024•TOSC RC, EC, INTOSC TPWRT - TPWRT - - 表 9-4: STATUS/PCON 位及其含义 POR BOD TO PD 0 u 1 1 上电复位 1 0 1 1 欠压检测 u u 0 u WDT 复位 u u 0 0 WDT 唤醒 u u u u 在正常工作中的 MCLR 复位 u u 1 0 休眠期间的 MCLR 复位 图注: u = 未改变, x = 未知 表 9-5: 地址 与欠压相关的寄存器汇总 名称 03h STATUS 8Eh PCON bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 POR、 BOD 其它复位时 时的值 的值 (1) IRP RP1 RPO TO PD Z DC C 0001 1xxx 000q quuu - - - - - - POR BOD ---- --0x ---- --uq 图注: u = 未改变、 x = 未知、- = 未实现位,读作 0、 q = 值随条件而变。 注 1: 其它 (非上电)复位包括正常工作下的 MCLR 复位、欠压检测和看门狗定时器复位。 表 9-6: 特殊寄存器的初始化条件 程序计数器 状态寄存器 PCON 寄存器 上电复位 000h 0001 1xxx ---- --0x 在正常工作中的 MCLR 复位 000h 000u uuuu ---- --uu 休眠模式中的 MCLR 复位 000h 0001 0uuu ---- --uu WDT 复位 000h 0000 uuuu ---- --uu WDT 唤醒 PC + 1 uuu0 0uuu ---- --uu 欠压检测 000h 0001 1uuu ---- --10 uuu1 0uuu ---- --uu 条件 中断将器件从休眠模式唤醒 (1) PC + 1 图注: u = 未改变、 x = 未知、 - = 未实现位,读作 0。 注 1: 如果器件是由中断唤醒且全局使能位 GIE 置 1,则执行 PC+1 后中断矢量 (0004h)被装入 PC。 DS41190C_CN 第 58 页 2004 Microchip Technology Inc. PIC12F629/675 表 9-7: 寄存器 W 寄存器的初始化条件 地址 - 上电复位 xxxx xxxx • • • • 正常工作时的 MCLR 复位 休眠期间的 MCLR 复位 WDT 复位 欠压检测 (1) uuuu uuuu • 中断将器件从休眠状态唤醒 • WDT 超时溢出将器件从休眠 状态唤醒 uuuu uuuu INDF 00h/80h - - TMR0 01h xxxx xxxx uuuu uuuu uuuu uuuu PCL 02h/82h 0000 0000 0000 0000 PC + 1(3) STATUS 03h/83h 0001 1xxx 000q quuu(4) uuuq quuu(4) FSR 04h/84h xxxx xxxx uuuu uuuu uuuu uuuu GPIO 05h --xx xxxx --uu uuuu --uu uuuu PCLATH 0Ah/8Ah ---0 0000 ---0 0000 ---u uuuu INTCON 0Bh/8Bh 0000 0000 0000 000u uuuu uuqq(2) PIR1 0Ch 00-- 0--0 00-- 0--0 qq-- q--q(2,5) T1CON 10h -000 0000 -uuu uuuu -uuu uuuu CMCON 19h -0-0 0000 -0-0 0000 -u-u uuuu ADRESH 1Eh xxxx xxxx uuuu uuuu uuuu uuuu ADCON0 1Fh 00-- 0000 00-- 0000 uu-- uuuu OPTION_REG 81h 1111 1111 1111 1111 uuuu uuuu TRISIO 85h --11 1111 --11 1111 --uu uuuu PIE1 8Ch 00-- 0--0 00-- 0--0 - uu-- u--u (1,6) PCON 8Eh ---- --0x ---- --uu OSCCAL 90h 1000 00-- 1000 00-- uuuu uu-- WPU 95h --11 -111 --11 -111 uuuu uuuu IOC 96h --00 0000 --00 0000 --uu uuuu VRCON 99h 0-0- 0000 0-0- 0000 u-u- uuuu EEDATA 9Ah 0000 0000 0000 0000 uuuu uuuu EEADR 9Bh -000 0000 -000 0000 -uuu uuuu EECON1 9Ch ---- x000 ---- q000 ---- uuuu EECON2 9Dh ---- ---- ---- ---- ---- ---- ADRESL 9Eh xxxx xxxx uuuu uuuu uuuu uuuu ANSEL 9Fh -000 1111 -000 1111 -uuu uuuu ---- --uu 图注 : 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: 上电时的延时序列 (MCLR 未连接到 VDD): 情形 1 VDD MCLR 内部 POR TPWRT PWRT 延时 TOST OST 延时 内部复位 上电时的延时序列 (MCLR 未连接到 VDD): 情形 2 图 9-8: VDD MCLR 内部 POR TPWRT PWRT 延时 TOST OST 延时 内部复位 图 9-9: 上电时的延时序列 (MCLR 连接到 VDD) VDD MCLR 内部 POR TPWRT PWRT 延时 TOST OST 延时 内部复位 DS41190C_CN 第 60 页 2004 Microchip Technology Inc. PIC12F629/675 9.4 中断 PIC12F629/675 有 7 个中断源: • • • • • • • 外部中断 GP2/INT TMR0 溢出中断 GPIO 电平变化中断 比较器中断 A/D 中断 (仅限 PIC12F675) TMR1 溢出中断 数据 EEPROM 写中断 中断控制寄存器(INTCON)和外设中断寄存器(PIR) 在标志位中记录各个中断请求。 INTCON 寄存器还包 括各个中断使能位和全局中断使能位。 全局中断使能位, GIE (INTCON<7>)在置位时允许 所有未屏蔽的中断,在清零时,禁止所有中断。可以通 过各中断在 INTCON 寄存器和 PIE 寄存器中相应的使能 位来禁止单个中断。复位时将 GIE 清零。 一旦进入中断服务程序,就可以通过查询中断标志位来 判断中断源。在重新允许中断前,必须用软件将中断标 志位清零,以避免 GP2/INT 重复请求中断。 对于外部中断事件,如 INT 引脚中断或 GP 端口电平变 化中断,中断响应延时将会是 3 到 4 个指令周期。确切 的延时时间取决于中断事件何时发生(见图 9-14)。对 于单周期或双周期指令,中断响应延时完全相同。一旦 进入中断服务程序,就可以通过查询中断标志位来判断 中断源。在重新允许中断前,必须用软件将中断标志位 清零,以避免出现多个中断请求。 注 1:各中断标志位置 1,且不受相应中断屏蔽 位和 GIE 位的状态影响。 2: 当执行一条清零 GIE 位的指令后,任何等 待在下一周期执行的中断均将被忽略。这 些被忽略的中断会在 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 TMR1IF TMR1IE CMIF CMIE ADIF ADIE 唤醒(如果处于休眠模式) 中断 CPU PEIE (1) GIE EEIF EEIE 注 1: 仅限 PIC12F675。 DS41190C_CN 第 62 页 2004 Microchip Technology Inc. PIC12F629/675 9.4.1 GP2/INT 中断 9.4.2 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。 TMR0 寄存器溢出(FFh→00h)将 T0IF(INTCON<2>) 置位。可以通过置位 / 清零 T0IE (INTCON<5>)位来 允许 / 禁止该中断。有关 Timer0 模块的工作情况,请参 见第 4.0 节。 9.4.3 GPIO 中断 GPIO 输入电平的变化将置位 GPIF(INTCON<0>)位。 可以通过置位 / 清零 GPIE (INTCON<3>)位来允许 / 禁止该中断。而单个引脚可以通过 IOC 寄存器进行配 置。 注: 必须对 ANSEL(9Fh)和 CMCON(19h) 寄存器进行初始化以便将模拟通道配置为 数字输入端。配置为模拟输入端的引脚将 读为 0。ANSEL 寄存器是为 PIC12F675 定 义的。 注: TMR0 中断 如果 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: INT 引脚中断时序图 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 OSC1 CLKOUT 3 4 INT 引脚 INTF 标志 (INTCON<1>) 1 1 中断响应延时 2 5 GIE 位 (INTCON<7>) 指令流 PC 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 bit 6 bit 5 bit 4 0Bh, 8Bh INTCON GIE PEIE T0IE 0Ch PIR1 EEIF ADIF - PIE1 EEIE ADIE - 地址 名称 8Ch GPIF 0000 0000 0000 000u 所有其它复 位时的值 bit 1 INTE GPIE T0IF INTF - CMIF - - TMR1IF 00-- 0--0 00-- 0--0 - CMIE - - TMR1IE 00-- 0--0 00-- 0--0 中断过程中的现场保护 在中断期间,仅将返回的 PC 值压入堆栈。通常情况下, 用户会希望保存中断过程的关键寄存器,例如,W 寄存 器和状态寄存器。这必须由软件实现。 例 9-2 说明了如何保存和恢复状态寄存器和 W 寄存器。 在两个存储区中都必须定义用户寄存器 W_TEMP,且 它 们 相 对 于 各 自 存 储 区 基 地 址 的 偏 移 量 必 须 相 同。 (即,如果在存储区 0 中定义 W_TEMP 位于 0x20 地址 单元,那么在存储区 1 中必须定义 W_TEMP 位于 0xA0 地址单元)。用户寄存器 STATUS_TEMP,必须定义在 存储区 0 中。在例 9-2 中: • • • • • POR、 BOD 时的值 bit 2 x = 未知、 u = 未改变、 - = 未实现,读作 0、 q = 值随条件改变。 阴影单元表示未被中断模块使用。 图注: 9.5 bit 0 bit 3 保存 W 寄存器的内容 将状态寄存器中的值保存到存储区 0 中 执行 ISR 代码 恢复状态寄存器 (和存储区选择位寄存器)内容 恢复 W 寄存器内容 例 9-2: MOVWF W_TEMP SWAPF BCF 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 DS41190C_CN 第 64 页 9.6 看门狗定时器 (WDT) 看门狗定时器是可自行运行的片上 RC 振荡器,它无需 任何外接元件。该 RC 振荡器与 CLKIN 引脚上的 RC 振 荡器和 INTOSC 是相互独立的。这就意味着即使停止器 件 OSC1 和 OSC2 引脚上的时钟 (如执行 SLEEP 指 令), WDT 仍可工作。正常工作情况下, WDT 超时将 导致器件复位。如果器件处于休眠模式, WDT 超时将 唤醒器件并使其继续在正常状态下工作。通过将配置位 WDTE 编程为 0 可永久禁止 WDT (第 9.1 节)。 9.6.1 WDT 周期 WDT 的超时溢出周期标称值为 18 ms (不带预分频器 时)。每个器件的超时溢出周期随温度、 VDD 和工艺的 差异而各不相同 (参见 DC 规范)。如果希望得到更长 的超时溢出周期,可以在软件控制下通过写 OPTION 寄 存器,将分频比最高可达 1:128 的预分频器分配给 WDT。这样就可以实现长达 2.3 秒的超时周期。 如果将预分频器分配给 WDT,执行 CLRWDT 和 SLEEP 指令将会清零 WDT 和预分频器,并阻止预分频器超时, 或产生器件复位。 看们狗定时器超时溢出时,将清零 STATUS 寄存器中的 TO 位。 9.6.2 WDT 编程注意事项 在最恶劣的情况下 (即 VDD 最小、温度最高、 WDT 预 分频比最大),WDT 发生超时溢出的时间可长达几秒, 因此在编程时应加以考虑。 2004 Microchip Technology Inc. PIC12F629/675 图 9-12: 看门狗定时器框图 CLKOUT (= FOSC/4) 数据总线 0 8 1 同步 2 周期 1 T0CKI 引脚 T0CS T0SE 0 0 8位 预分频器 8 PSA 1 PS0 - PS2 WDT 超时 看门狗 定时器 0 PSA WDTE 1: T0SE、 T0CS、 PSA、 PS0-PS2 是 Option 寄存器中的位。 表 9-9: 地址 看门狗定时器寄存器汇总 名称 bit 7 bit 6 81h OPTION_REG GPPU INTEDG 2007h 配置位 图注: 溢出时置位 标志位 T0IF PSA 1 注 TMR0 CP bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 POR、 BOD 时的值 T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111 F0SC2 F0SC1 F0SC0 uuuu uuuu uuuu uuuu BODEN MCLRE PWRTE WDTE 所有其他复 位时的值 u = 未改变,阴影单元表示未被看门狗定时器使用。 2004 Microchip Technology Inc. DS41190C_CN 第 65 页 PIC12F629/675 9.7 掉电模式 (休眠) 第一种事件会导致器件复位。后两种事件被认为是程序 执行的延续。可用状态寄存器中的 TO 和 PD 位判断器 件复位的原因。 PD 位在上电时置位,在进入休眠时清 零。如果发生了 WDT 唤醒将使 TO 位清零。 执行 SLEEP 指令将进入掉电模式。 如果看门狗定时器被使能: • • • • • WDT 将被清零并保持继续工作 状态寄存器中的 PD 位被清零 TO 位置 1 关闭振荡器驱动器 I/O 端口保持执行 SLEEP 指令之前的状态 (驱动 输出高电平、低电平或者呈现高阻态)。 为了使该模式下的电流消耗最小,所有的 I/O 引脚都应 该保持为 VDD 或 VSS 电平,以确保外部电路的驱动电 流不从 I/O 引脚输出,同时比较器和 CVREF 应被关闭。 为了避免悬空输入端引起开关电流,应从外部拉高或拉 低高阻输入的 I/O 引脚。为了将电流消耗降至最低, TOCKI 输入也应该保持为 VDD 或 VSS 电平。还应考虑 到 GPIO 片内上拉造成的电流消耗。 MCLR 引脚必须处于逻辑高电平状态 (VIHMC)。 在执行 SLEEP 指令时,下一个指令 (PC+1)被预取。 要通过中断事件唤醒器件,必须将相应的中断使能位置 位 (即允许中断)。唤醒与 GIE 位的状态无关。如果 GIE 位清零(禁止),器件仍继续执行 SLEEP 指令以后 的指令。如果 GIE 位被置位(使能),器件执行 SLEEP 指令之后的指令,然后跳转到中断地址 (0004h)。 如 果不想执行SLEEP指令以后的指令,用户应该在SLEEP 指令后面放置一条 NOP 指令。 注: 如果全局中断 (GIE 清零)被禁止,但所 有中断源都将其各自的中断使能位和相应 的中断标志位置位,器件将立即从休眠状 态唤醒。 SLEEP 指令被完整执行。 无论唤醒原因为何,器件从休眠状态唤醒时, WDT 都 将清零。 注意,WDT 超时产生的复位不会将 MCLR 引脚拉至低电平。 注: 9.7.1 从休眠状态唤醒 可以通过下列任一事件将器件从休眠状态唤醒: 1. 2. 3. MCLR 引脚上的外部复位输入 看门狗定时器唤醒 (如果 WDT 使能) GP2/INT 引脚中断、 GPIO 电平变化中断或外设 中断。 图 9-13: 中断将器件从休眠状态唤醒 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 OSC1 TOST(2) CLKOUT(4) INT 引脚 INTF 标志 (INTCON<1>) 中断响应延时 ( 注 2) GIE 位 (INTCON<7>) 处于休眠状态的 处理器 指令流 PC 取指 执行 指令 注 PC Inst(PC) = SLEEP Inst (PC-1) 1: 2: 3: 4: PC+1 Inst (PC+1) 休眠 PC+2 PC+2 PC +2 Inst (PC+2) Inst (PC+1) 无效周期 0004h 0005h Inst (0004h) Inst (0005h) 无效周期 Inst (0004h) 假定为 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.9 当代码保护被关闭时,整个数据 EEPROM 和闪存程序存储器的内容均将被擦除。同 时,INTOSC 校准数据也被擦除。更多信息 请参见 PIC12F629/675 编程规范。 典型在线串行编程连接 至正常 连接 外部 连接器 信号 PIC12F629/675 +5V VDD 0V VSS VPP GP3/MCLR/VPP CLK GP1 数据 I/O GP0 ID 地址单元 将 4 个存储器单元 (2000h-2003h)指定为 ID 地址单 元,用户可在其中存放校验和或者其它识别代码。正常 执行时不能访问这些地址单元,但在编程 / 校验过程中 它们是可读写的。 ID 地址单元只有低 7 位被使用。 9.10 图 9-14: VDD 在线串行编程 至正常 连接 在最终应用电路中可对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 的指令集具有高度正交性,可分为以下 三种基本类型: • 针对字节的操作 • 针对位的操作 • 立即数和控制操作 例如,CLRF GPIO 指令会读 GPIO,清零所有数据位, 然后将结果写回到 GPIO。 这个例子会产生意外结果, 清除将 GPIF 置 1 的条件。 . 表 10-1: 操作码字段说明 字段 说明 f 寄存器地址 (0x00 到 0x7F) W 工作寄存器 (累加器) b 某 8 位数据寄存器的位地址 k 立即数、常数或标号 表 10-2 列出了所有可被 MPASMTM 汇编器识别的指 令。有关每条指令的完整说明还可参见《PICmicro® 中 档单片机系列参考手册》(DS33023A_CN)。 x 与取值无关的位 (= 0 或 1)。 汇编器将产生 x = 0 的代码。为了与所有的 Microchip 软件工具兼容,建议使用这种格式。 对于字节操作指令, f 是文件寄存器的标识符,而 d 是 目标寄存器的标识符。文件寄存器标识符指定了指令将 会使用哪个数据寄存器。 d 目标寄存器选择; d = 0:结果存储至 W, d = 1: 结果存储至数据寄存器 f。 默认值为 d = 1。 目标寄存器标识符指定了指令操作结果存放的地址。如 果“d”等于 0,结果就存放在 W 寄存器中。如果“d” 等于 1,结果就存放在指令指定的文件寄存器中。 PC 程序计数器 TO 超时标志位 PD 掉电标志位 每个 PIC12F629/675 指令都是 14 位字,可以分为指明 指令类型的操作码和进一步指明指令操作的一个或多个 操作数。图 10-1中显示了每种指令类型的指令格式,而 表 10-1 则是不同操作码字段的汇总。 对于位操作类指令,“b”代表位字段标识符,用于选择 操作影响到的位,而 “f”代表相应位所在的数据寄存 器的地址。 对于立即数和控制操作,“k”代表一个 8 位或 11 位常 数,即立即数的值。 一个指令周期包含四个振荡器周期;对于频率为 4 MHz 的振荡器,其正常指令执行时间为 1 µs。所有指令都在 一个指令周期之内执行,除非条件测试为真或程序计数 器根据指令结果发生变化。当上述特殊情况发生时,指 令的执行就需要两个指令周期,第二个周期执行一条 NOP 指令。 注: 为了保持与未来产品的向上兼容,请不要 使用 OPTION 和 TRISIO 指令。 图 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 位数据寄存器地址 所有指令示例都使用“0xhh”的形式表示十六进制数, 其中 “h”代表一个十六进制数。 10.1 读 - 修改 - 写操作 任何将文件寄存器作为指令的一部分的指令均执行读 修 - 写 (R-M-W)操作。先读寄存器,然后修改数据, 再将结果存放到由指令或目标标识符 “d”指定的单元 中去。即使指令是写入某个寄存器,仍然会对此寄存器 执行读操作。 指令的一般格式 立即数和控制操作类指令 一般指令 13 8 7 0 k ( 立即数 ) 操作码 k = 8 位立即数值 仅限 CALL 和 GOTO 指令 13 11 10 操作码 0 k ( 立即数 ) k = 11 位立即数的值 2004 Microchip Technology Inc. DS41190C_CN 第 69 页 PIC12F629/675 表 10-2: PIC12F629/675 指令集 助记符, 操作数 说明 周期 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 01 01 01 01 00bb 01bb 10bb 11bb bfff bfff bfff bfff ffff ffff ffff ffff 11 11 10 00 10 11 11 00 11 00 00 11 11 111x 1001 0kkk 0000 1kkk 1000 00xx 0000 01xx 0000 0000 110x 1010 kkkk kkkk kkkk 0110 kkkk kkkk kkkk 0000 kkkk 0000 0110 kkkk kkkk kkkk kkkk kkkk 0100 kkkk kkkk kkkk 1001 kkkk 1000 0011 kkkk kkkk C,DC,Z Z Z Z Z Z Z Z Z C C C,DC,Z Z 1,2 1,2 2 1,2 1,2 1,2,3 1,2 1,2,3 1,2 1,2 1,2 1,2 1,2 1,2 1,2 针对位的数据寄存器操作 BCF BSF BTFSC BTFSS f, b f, b f, b f, b f 位清零 f 位置 1 检测 f 的位,为 0 则跳过 检测 f 的位,为 1 则跳过 1 1 1 (2) 1 (2) 1,2 1,2 3 3 立即数和控制操作 ADDLW ANDLW CALL CLRWDT GOTO IORLW MOVLW RETFIE RETLW RETURN 休眠 SUBLW XORLW 注 注: k k k k k k k k k 立即数加 W 立即数和 W 与运算 调用子程序 看门狗定时器清零 跳转 立即数和 W 同或运算 将立即数移动到 W 寄存器 从中断返回 返回时将立即数存入 W 从子程序返回 进入待机模式 立即数减去 W 立即数和 W 异或运算 1 1 2 1 2 1 1 2 2 2 1 1 1 C,DC,Z Z TO,PD Z 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) BCF k 受影响的状态位: C, DC, Z 说明: 8 位立即数 “k”与 W 寄存器的 内容相加,结果存入 W 寄存器。 ADDWF W加f 语法: [ 标号 ] ADDWF f,d 操作数: 0 ≤ f ≤ 127 d ∈ [0,1] 工作原理: (W) + (f) → (目标寄存器) 受影响的状态位: C, DC, Z 说明: W 寄存器与 “f”寄存器的内容相 加。如果 “d”为 0,结果存入 W 寄存器。如果 “d”为 1,结果存 回到寄存器 “f”。 ANDLW 立即数和 W 与运算 语法: [ 标号 ] ANDLW f 位清零 语法: [ 标号 ] BCF 操作数: 0 ≤ f ≤ 127 0≤b≤7 工作原理: 0 → (f<b>) f,b 受影响的状态位: 无 说明: 寄存器 “f”中的 “b”位被清 零。 BSF f 位置 1 语法: [ 标号 ] BSF 操作数: 0 ≤ f ≤ 127 0≤b≤7 工作原理: 1 → (f<b>) f,b 受影响的状态位: 无 说明: 寄存器 “f”中的 “b”位被置 1。 BTFSS 检测 f 的位,为 1 跳过 语法: [ 标号 ] BTFSS f,b 操作数: 0 ≤ f ≤ 127 0≤b<7 工作原理: 如果 (f<b>) = 1 则跳过 寄存器 W 的内容与 8 位立即数 “k”进行与运算,结果存入 W 寄 存器。 受影响的状态 位: 无 说明: 如果寄存器 “f”的位 “b”为 “0”,则执行下一条指令。 如果位 “b”为 “1”,则放弃执 行下一条指令而执行一条 NOP 指 令,使该指令成为 2TCY 指令。 ANDWF W 和 f 与运算 BTFSC 检测位,为 0 则跳过 语法: [ 标号 ] ANDWF 语法: [ 标号 ] BTFSC f,b 操作数: 0 ≤ f ≤ 127 d ∈ [0,1] 操作数: 0 ≤ f ≤ 127 0≤b≤7 工作原理: (W) .AND. (f) → (目标寄存器) 工作原理: 如果 (f<b>) = 0 则跳过 受影响的状态 位: Z 受影响的状态 位: 无 说明: W 寄存器和 f 寄存器进行与运算。 如果 “d”为 0,结果存入寄存器 W。如果 “d”为 1,结果存回到 寄存器 “f”。 说明: 如果寄存器 “f”的位 “b”为 “1”,则执行下一条指令。 如果寄存器 “f”的位 “b”为 “0”,则放弃执行下一条指令,而 执行一条 NOP 指令,使该指令变 成 2TCY 指令。 k 操作数: 0 ≤ k ≤ 255 工作原理: (W) .AND. (k) → (W) 受影响的状态位: Z 说明: 2004 Microchip Technology Inc. f,d DS41190C_CN 第 71 页 PIC12F629/675 CALL 调用子程序 CLRWDT 看门狗定时器清零 语法: [ 标号 ] CALL k 语法: [ 标号 ] CLRWDT 操作数: 0 ≤ k ≤ 2047 操作数: 无 工作原理: (PC)+ 1→ TOS, k → PC<10:0>, (PCLATH<4:3>) → PC<12:11> 工作原理: 受影响的状态 位: 无 00h → WDT 0 → WDT 预分频器, 1 → TO 1 → PD 调用子程序。 首先,将返回地址 (PC+1)压入堆栈。11 位立即数 地址被装入 PC 位 <10:0>。PC 高 位从 PCLATH 装入。CALL 是双 周期指令。 受影响的状态 位: TO,PD 说明: 说明: CLRWDT 指令复位看门狗定时器。 而且还复位 WDT 预分频器。 状态位 TO 和 PD 置位。 COMF f 取反 语法: [ 标号 ] COMF CLRF f 清零 语法: [ 标号 ] CLRF f f,d 操作数: 0 ≤ f ≤ 127 操作数: 工作原理: 00h → (f) 1→Z 0 ≤ f ≤ 127 d ∈ [0,1] 工作原理: (f) → ( 目标寄存器 ) 受影响的状态 位: Z 说明: 取寄存器 “f”中内容的补码。如 果 “d”为 0,结果存入 W。如果 “d”为 1,结果存回到寄存器 “f”。 DECF f减1 受影响的状态位: Z 说明: 寄存器 f 已清零, Z 位置 1。 CLRW W 清零 语法: [ 标号 ] CLRW 语法: [ 标号 ] DECF f,d 操作数: 无 操作数: 工作原理: 00h → (W) 1→Z 0 ≤ f ≤ 127 d ∈ [0,1] 工作原理: (f) - 1 → ( 目标寄存器 ) 受影响的状态 位: Z 受影响的状态 位: Z 说明: W 寄存器被清零。全零位 (Z) 置 1。 说明: 寄存器 “f”减 1。如果 “d”为 0,结果存入 W 寄存器。如果 “d”为 1,结果存回到寄存器 “f”。 DS41190C_CN 第 72 页 2004 Microchip Technology Inc. PIC12F629/675 DECFSZ f 减 1,为 0 则跳过 INCFSZ 语法: [ 标号 ] DECFSZ f,d 语法: [ 标号 ] 操作数: 0 ≤ f ≤ 127 d ∈ [0,1] 操作数: 0 ≤ f ≤ 127 d ∈ [0,1] 工作原理: (f) - 1 → ( 目标寄存器 ) ; 如果结果为 0 则跳过 工作原理: (f) +1 → ( 目标寄存器 ), 如果结果为 0 则跳过 受影响的状态 位: 无 受影响的状态 位: 无 说明: 寄存器 “f”的内容递减,如果 “d”为 0,结果存入 W 寄存器。 如果 “d”为 1,结果存回到 寄存器 “f”。 如果结果是 1,执行下一个指令。 如果结果为 0,则执行 NOP 指令, 使其成为 2TCY 的指令。 说明: 寄存器 “f”的内容递增。如果 “d”为 0,结果存入 W 寄存器。 如果 “d”为 1,结果存回到寄存 器 “f”。 如果结果是 1,执行下一个指令。 如果结果为 0,则执行 NOP 指令, 使其成为一条 2TCY 的指令。 f 加 1,为 0 则跳过 INCFSZ f,d GOTO 无条件转移 IORLW 立即数和 W 或运算 语法: [ 标号 ] 语法: [ 标号 ] 操作数: 0 ≤ k ≤ 2047 操作数: 0 ≤ k ≤ 255 工作原理: k → PC<10:0> PCLATH<4:3> → PC<12:11> 工作原理: (W).OR. k → (W) 受影响的状态 位: 无 说明: 说明: GOTO 是无条件转移指令。 11 位立 即数被装入 PC 位 <10:0>。 PC 高 位从 PCLATH<4:3> 装入。 GOTO 是双周期指令。 寄存器 W 的内容与 8 位立即数 “k”进行或运算。结果存入 W 寄存器。 INCF f加1 IORWF W 和 f 或运算 语法: [ 标号 ] 语法: [ 标号 ] 操作数: 0 ≤ f ≤ 127 d ∈ [0,1] 操作数: 0 ≤ f ≤ 127 d ∈ [0,1] 工作原理: (f) +1 → ( 目标寄存器 ) 工作原理: (W) .OR. (f) → (目标寄存器) 受影响的状态 位: Z 受影响的状态 位: Z 说明: 寄存器 “f”的内容递增。如果 “d”为 0,结果存入 W 寄存器。 如果 “d”为 1,结果存回到 寄存器 “f”。 说明: W 寄存器和 f 寄存器进行或运算。 如果 “d”为 0,结果存入 W 寄 存器。如果 “d”为 1,结果存回 到寄存器 “f”。 GOTO k INCF f,d 2004 Microchip Technology Inc. IORLW k 受影响的状态位: Z IORWF f,d DS41190C_CN 第 73 页 PIC12F629/675 MOVF 移动 f NOP 语法: [ 标号 ] 操作数: 0 ≤ f ≤ 127 d ∈ [0,1] 工作原理: (f) → 目标寄存器) 受影响的状态 位: Z 说明: 根据 d 的状态,将寄存器 f 的内容 移入目标寄存器。如果 d = 0, 目标寄存器是 W 寄存器。如果 d=1,目标寄存器是 f 寄存器本身。 由于该指令影响状态标志位 Z,可 用于在 d = 1 时检测数据寄存器的 内容是否为 0。 MOVLW 空操作 语法: [ 标号 ] 操作数: 无 工作原理: 空操作 受影响的状态 位: 无 说明: 空操作 将立即数移动到 W 寄存器 RETFIE 从中断返回 MOVF f,d NOP 语法: [ 标号 ] 语法: [ 标号 ] 操作数: 0 ≤ k ≤ 255 操作数: 无 工作原理: k → (W) 工作原理: TOS → PC, 1 → GIE 受影响的状态 位: 无 RETLW 返回时将立即数送 W 寄存器 语法: [ 标号 ] MOVLW k 受影响的状态位: 无 RETFIE 说明: 8 位立即数 k 送入 W 寄存器。无 关的位置为 0。 MOVWF 将 W 的内容移动至 f 语法: [ 标号 ] 操作数: 0 ≤ f ≤ 127 操作数: 0 ≤ k ≤ 255 工作原理: (W)→ (f) 工作原理: k → (W); TOS → PC 受影响的状态 位: 无 说明: 寄存器 W 的内容装入 8 位立即数 “k”。将栈顶内容 (返回地址) 装入程序计数器。这是双周期指 令。 MOVWF f 受影响的状态位: 无 说明: 将数据从 W 寄存器送入 寄存器 f。 DS41190C_CN 第 74 页 RETLW k 2004 Microchip Technology Inc. PIC12F629/675 RLF f 带进位左循环 SLEEP 语法: [ 标号 ] RLF 操作数: 0 ≤ f ≤ 127 d ∈ [0,1] 工作原理: 参见下面的描述 受影响的状态 位: C 说明: 寄存器 f 的内容连同进位标志位循环 左移 1 位。如果 “d”为 0,结果存 入 W 寄存器。如果 “d”为 1,结 果存回到寄存器 “f”。 f,d C 语法: [ 标号 ] SLEEP 操作数: 无 工作原理: 00h → WDT, 0 →WDT 预分频器, 1 → TO, 0 → PD 受影响的状态位: TO,PD 说明: 寄存器 f 掉电状态位,PD 被清零。超时状 态位 TO 置位。清零看门狗定时 器及其预分频器。振荡器停振, 单片机进入休眠模式。 RETURN 从子程序返回 SUBLW 立即数减去 W 语法: [ 标号 ] 语法: [ 标号 ] SUBLW k 操作数: 无 工作原理: TOS → PC 受影响的状态 位: 无 说明: RETURN 操作数: 0 ≤ k ≤ 255 工作原理: k - (W) → (W) 受影响的状态 位: C, DC, Z 从子程序返回。 执行出栈操作,将 栈顶 (TOS)单元内容装入程序 计数器。 这是双周期指令。 说明: 8 位立即数 “k”减去 W 寄存器的 内容 (使用 2 进制补码的方法)。 结果存入 W 寄存器。 RRF f 带进位右循环 SUBWF f 减去 W 语法: [ 标号 ] 语法: [ 标号 ] 操作数: 0 ≤ f ≤ 127 d ∈ [0,1] 操作数: 0 ≤ f ≤ 127 d ∈ [0,1] 工作原理: 参见下面的描述 工作原理: (f) - (W) → ( 目标寄存器 ) 受影响的状态 位: C 受影响的状态 位: C, DC, Z 说明: 寄存器 f 的内容连同进位标志位循 环右移 1 位。如果 “d”为 0,结 果存入 W 寄存器。 如果 “d”为 1,结果存回到寄存器 “f”。 说明: f 寄存器内容减去 W 寄存器内容 (使用 2 进制补码的方法)。 如果 “d”为 0,结果存入 W 寄存器。 如 果 “d”为 1,结果存回到寄存器 “f”。 RRF f,d C 2004 Microchip Technology Inc. 寄存器 f SUBWF f,d DS41190C_CN 第 75 页 PIC12F629/675 SWAPF f 半字节交换 XORWF W 和 f 异或运算 语法: [ 标号 ] SWAPF f,d 语法: [ 标号 ] XORWF 操作数: 0 ≤ f ≤ 127 d ∈ [0,1] 操作数: 0 ≤ f ≤ 127 d ∈ [0,1] 工作原理: (f<3:0>) → ( 目标寄存器 <7:4>), (f<7:4>) → ( 目标寄存器 <3:0>) 工作原理: (W) .XOR. (f) →( 目标寄存器 ) 无 受影响的状态 位: Z 受影响的状态 位: 说明: 说明: 寄存器 “f”的高半字节和低半字 节交换。如果 “d”为 0,结果存 入 W 寄存器。如果 “d”为 1, 结果存回到寄存器 “f”。 W 寄存器与 “f”寄存器的内容进 行异或运算。如果 “d”为 0,结 果存入 W。如果 “d”为 1,结果 存回到寄存器 “f”。 XORLW 立即数和 W 异或运算 语法: [ 标号 ] XORLW k 操作数: 0 ≤ k ≤ 255 工作原理: (W) .XOR. k → (W) 受影响的状态位: Z 说明: 寄存器 W 的内容与 8 位立即数 “k”进行异或运算。结果存入 W 寄存器。 DS41190C_CN 第 76 页 f,d 2004 Microchip Technology Inc. PIC12F629/675 11.0 开发支持 一系列硬件及软件开发工具对 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® - 模拟 2004 Microchip Technology Inc. 11.1 MPLAB 集成开发环境软件 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 项目中 用户定义的宏可对汇编代码进行流水线处理 对多用途源文件进行条件汇编 允许完全控制汇编过程的指令 DS41190C_CN 第 77 页 PIC12F629/675 11.3 MPLAB C17 和 MPLAB C18 C 编译器 MPLAB C17 和 MPLAB C18 代码开发系统是完全的 ANSI C 编译器,分别适用于 Microchip 的 PIC17CXXX 和 PIC18CXXX 系列单片机。这些编译器可提供其它编 译器所不具有的强大的集成功能和卓越的代码优化能 力,且使用方便。 为便于源代码调试,编译器提供了针对 MPLAB IDE 调 试器的优化符号信息。 11.4 MPLINK 目标链接器 /MPLIB 目标库 管理器 MPLINK 目标链接器包含了由 MPASM 汇编器、MPLAB C17 和 MPLAB C18 C 编译器产生的可重定位目标。通 过使用链接器脚本指令,它还可预编译库中的可重定位 目标进行链接。 MPLIB目标库管理器管理预编译代码库文件的创建和修 改。当从源文件中调用库中的一段子程序时,只有该应 用程序中包含此子程序的模块被链接到应用中。这样可 使大型库在许多不同应用中被有效地利用。 目标链接器 / 库具有如下特征: 11.6 MPLAB ASM30 汇编器、链接器和 库. MPLAB ASM30 汇编器为 dsPIC30F 器件提供转换自符 号汇编语言的可重定位的机器码。 MPLAB C30 编译器 使用该汇编器生成目标文件。汇编器产生可重定位目标 文件之后,可将这些目标文件存档,或与其它可重定位 目标文件和存档链接以生成可执行文件。该汇编器有如 下显著特征: • • • • • • 支持整个 dsPIC30F 指令集 支持定点数据和浮点数据 命令行界面 丰富的指令集 灵活的宏语言 MPLAB IDE 兼容性 11.7 MPLAB SIM 软件模拟器 MPLAB SIM 软件模拟器在指令级对 PICmicro 系列单片 机进行模拟,使用户可在 PC 主机的环境下进行代码开 发。对于任何给定的指令,用户均可对数据区进行检查 或修改,并通过文件或用户自定义的按键来激励任意引 脚。指令的执行可采用单步、运行到断点或跟踪模式。 • 高效地连接单个的库而不是许多小文件 • 通过将相关的模块组合在一起来增强代码的可维护 性 • 通过简单的模块列表、替换、删除和抽取可灵活地 创建库 MPLAB SIM 模拟器完全支持使用 MPLAB C17 和 MPLAB C18 C 编译器以及MPASM汇编器的符号调试。 该软件模拟器为实验室环境外开发和调试代码提供了灵 活性,是一款完美且经济的软件开发工具。 11.5 MPLAB SIM30 模拟器在指令级对 dsPIC30F 系列单片 机进行模拟,允许用户在 PC 主机的环境下进行开发。 对于任何给定的指令,用户可对数据区域进行检查或修 改,并通过文件或用户自定义的按键来激励任意引脚。 MPLAB C30 C 编译器 MPLAB C30 C 编译器是全功能符合 ANSI 标准的优化 编译器,它能将标准 ANSI C 程序转变成 dsPIC30F 汇 编语言源代码。该编译器还支持许多命令行选项和语言 扩展,以充分利用 dsPIC30F 器件的硬件功能,同时满 足编译器代码发生器较高的控制要求。 MPLAB C30 附带了一个完整的 ANSI C 标准库。所有 库函数已经过验证且符合 ANSI C 库标准。该库包括执 行字符串操作、动态存储器分配、数据转换、时间校准 等函数以及数学函数(三角函数、指数函数和双曲线函 数)。该编译器提供使用 MPLAB IDE 进行高级源代码 调试所用的符号信息。 DS41190C_CN 第78 页 11.8 MPLAB SIM30 软件模拟器 MPLAB SIM30 模拟器完全支持使用 MPLAB C30 C 编 译器和 MPLAB ASM30 汇编器的符号调试。该模拟器可 运 行 在 命 令 行 模 式 或 自 动 批 处 理 任 务,或 运 行 在 MPLAB IDE 中。此高速模拟器是为调试、分析及优化 时间密集型 DSP 程序而设计的。 2004 Microchip Technology Inc. PIC12F629/675 11.9 MPLAB ICE 2000 高性能通用在线仿 真器 MPLAB ICE 2000 通用在线仿真器旨在为产品开发工程 师 提 供 一 整 套 用 于 PICmicro 单 片 机 的 设 计 工具。 MPLAB ICE 2000 在线仿真器的软件控制由 MPLAB 集 成开发环境平台提供,它允许在单一环境下进行编辑、 创建、下载以及源代码调试。 MPLAB ICE 2000 是全功能仿真器系统,它具有增强的 跟踪、触发和数据监控功能。处理器模块可互换,使系 统可轻松进行重新配置以适应各种不同处理器的仿真需 要。 MPLAB ICE 在线仿真器的通用架构允许对其进行 扩展以支持新的 PICmicro 单片机。 MPLAB ICE 2000 在线仿真器系统设计为一款实时仿真 系统,该仿真系统具备通常只有昂贵的开发工具中才有 的高级功能。选择 PC 平台和 Microsoft® Windows 32 位 操作系统可使这些功能在一个简单而统一的应用中得到 很好的利用。 11.10 MPLAB ICE 4000 高性能通用在线仿 真器 MPLAB ICE 4000 通用在线仿真器旨在为产品开发工程 师提供一整套用于高端 PICmicro 单片机的开发设计工 具。MPLAB ICE 在线仿真器的软件控制由 MPLAB 集成 开发环境平台提供,它允许在单个环境下进行编辑、创 建、下载以及源代码调试。 MPLAB ICE 4000 是高级的仿真系统,除具备 MPLAB ICE 2000 的所有功能外,它还增加了仿真存储容量以及 适用于 dsPIC30F 和 PIC18XXXX 器件的高速性能。该 仿真器的先进特性包括复杂触发和定时功能,高达 2 Mb 的仿真存储容量以及实时变量监视功能。 MPLAB ICE 4000 在线仿真系统设计为一款实时仿真系 统,该仿真系统具备通常只有在更加昂贵的开发工具中 才有的高级功能。选择 PC 平台和 Microsoft Windows 32 位操作系统可使这些功能在一个简单而统一的应用 程序中得以很好的利用。 2004 Microchip Technology Inc. 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 器件的开发编程器。 11.12 PRO MATE II 通用器件编程器 PRO MATE II 是一款通用的、符合 CE 规范的器件编程 器,其可编程电压设置在 VDDMIN 和 VDDMAX 之间时可 获得最高可靠性。它有一个 LCD 显示器用来显示指令和 错误信息,以及一个支持各种封装类型的可拆卸模块化 插槽装置。在单机模式下,PRO MATE II 器件编程器不 必与 PC 相连即可对 PICmicro 器件进行读取、校验和编 程。在该模式下它还可设置代码保护。 11.13 MPLAB PM3 器件编程器 MPLAB PM3 是一款通用的、符合 CE 规范的器件编程 器,其可编程电压设置在 VDDMIN 和 VDDMAX 之间时可 获得最高可靠性。它有一个用来显示菜单和错误信息的 大 LCD 显示器(128 x 64),以及一个模块化可拆卸插 槽装置,用以支持各种封装类型。编程器标准配置中带 有一根 ICSP™ 电缆。在单机模式下, MPLAB PM3 器 件编程器不必与 PC 相连即可对 PICmicro 器件进行读 取、校验和编程。在该模式下它还可设置代码保护。 MPLAB PM3 通过 RS-232 或 USB 电缆连接到 PC 主机 上。 MPLAB PM3 具备高速通信能力以及优化算法,可 对存储器很大的器件进行快速编程,它还采用 SD/MMC 卡用作文件存储及数据安全应用。 DS41190C_CN 第 79 页 PIC12F629/675 11.14 PICSTART Plus 开发编程器 11.17 PICDEM 2 Plus 演示板 PICSTART Plus开发编程器是一款易于使用而成本低廉 的原型编程器。它通过 COM (RS-232) 端口与 PC 相连。 MPLAB 集成开发环境软件使得该编程器的使用简便、 高效。PICSTART Plus开发编程器支持大部分PICmicro 器件,其引脚数最多可达 40 个。引脚数较多的器件,如 PIC16C92X 和 PIC17C76X,可通过连接一个适配器插 槽来获得支持。PICSTART Plus 开发编程器符合 CE 规 范。 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.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 页 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 样片各一枚。教程软件以 及用户指南也含在演示板工具包中。 2004 Microchip Technology Inc. PIC12F629/675 11.20 PICDEM 17 演示板 11.24 PICDEM USB PIC16C7X5 演示板 PICDEM 17 演 示 板 是 一 种 评 估 板,可 以 演示几种 Microchip 单 片 机 的 功 能,包 括 PIC17C752、 PIC17C756A、 PIC17C762 和 PIC17C766。它包含了 一枚已编程的样片。用户可使用 PRO MATE II 器件编程 器或 PICSTART Plus 开发编程器根据自己的应用对器 件进行再编程。 PICDEM 17 演示板支持从外部电路板 的闪存存储器下载或执行程序。板上还配置有宽大的实 验布线区供用户扩展硬件。 PICDEM USB 演示板展示了 PIC16C745 和 PIC16C765 USB 单片机的功能。该板为将来的 USB 产品打下了基 础。 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.25 评估和编程工具 除了 PICDEM 系列电路之外, Microchip 还为这些产品 提供了一系列评估工具包和演示软件。 • 用于 Microchip 的 HCS 数据安全产品的 KEELOQ 评估和编程工具 • 用于汽车网络应用的 CAN 开发工具包 • 模拟电路设计板和滤波器设计软件 • PowerSmart 电池充电评估 / 校准工具包 • IrDA® 开发工具包 • microID 开发和 rfLabTM 开发软件 • 用于存储器评估和耐久性估算的 SEEVAL® 设计工 具包 • 用于开关模式电源供电、高功率 IR 驱动器、Σ−∆ ADC 和流速传感器的 PICDEM MSC 演示板 有关演示和评估工具包的完整列表,请查阅 Microchip 公司网页以及最新的产品选型指南。 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 输入箝位电流, IIK (VI < 0 或 VI > VDD)................................................................................................... ± 20 mA 输出箝位电流, 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 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 频率(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( 扩展级 ) DC 特性 参数编 号 符号 VDD 特性 最小 值 典型 值 最大 值 单位 条件 2.0 2.2 2.5 3.0 4.5 - - - - - 5.5 5.5 5.5 5.5 5.5 V V V V 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 1.5* - V 器件处于休眠模式 - V 详情请见上电复位的有关章节 详情请见上电复位的有关章节 供电电压 D001 D001A D001B D001C D001D RAM 数据保持电压 (1) D002 VDR D003 VPOR VDD 启动电压确保能够产 生内部上电复位信号 - - VSS D004 SVDD VDD 上升速率确保产生内 部上电复位信号 0.05* - - V/ms D005 VBOD - 2.1 - V * 这些参数仅为特征值,未经测试。 † 除非另外说明,“典型值”栏中的数据是在 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 最小 值 典型 值 最大 值 条件 单位 VDD - 9 16 µA 2.0 - 18 28 µA 3.0 - 35 54 µA 5.0 - 110 150 µA 2.0 - 190 280 µA 3.0 - 330 450 µA 5.0 - 220 280 µA 2.0 - 370 650 µA 3.0 - 0.6 1.4 mA 5.0 - 70 110 µA 2.0 - 140 250 µA 3.0 - 260 390 µA 5.0 - 180 250 µA 2.0 - 320 470 µA 3.0 - 580 850 µA 5.0 - 340 450 µA 2.0 - 500 700 µA 3.0 - 0.8 1.1 mA 5.0 - 180 250 µA 2.0 - 320 450 µA 3.0 - 580 800 µA 5.0 - 2.1 2.95 mA 4.5 - 2.4 3.0 mA 5.0 备注 FOSC = 32 kHz LP 振荡模式 FOSC = 1 MHz XT 振荡模式 FOSC = 4 MHz XT 振荡模式 FOSC = 1 MHz EC 振荡模式 FOSC = 4 MHz EC 振荡模式 FOSC = 4 MHz INTOSC 模式 FOSC = 4 MHz EXTRC 模式 FOSC = 20 MHz HS 振荡模式 † 除非另外说明,“典型值”栏的数据是在 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 700 nA 2.0 - 1.2 770 nA 3.0 - 2.9 995 nA 5.0 - 0.3 1.5 µA 2.0 - 1.8 3.5 µA 3.0 - 8.4 17 µA 5.0 - 58 70 µA 3.0 - 109 130 µA 5.0 - 3.3 6.5 µA 2.0 - 6.1 8.5 µA 3.0 - 11.5 16 µA 5.0 - 58 70 µA 2.0 VDD - 85 100 µA 3.0 - 138 160 µA 5.0 - 4.0 6.5 µA 2.0 - 4.6 7.0 µA 3.0 - 6.0 10.5 µA 5.0 - 1.2 775 nA 3.0 - 0.0022 1.0 µA 5.0 注 WDT、 BOD、比较器、 VREF 和 T1OSC 禁止 WDT 电流 (1) BOD 电流 (1) 比较器电流 (1) CVREF 电流 (1) T1 OSC 电流 (1) A/D 电流 (1) † 除非另外说明,“典型值”栏的数据是在 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 最小 值 典型 值 最大 值 条件 单位 VDD - 9 16 µA 2.0 - 18 28 µA 3.0 - 35 54 µA 5.0 - 110 150 µA 2.0 - 190 280 µA 3.0 - 330 450 µA 5.0 - 220 280 µA 2.0 - 370 650 µA 3.0 - 0.6 1.4 mA 5.0 - 70 110 µA 2.0 - 140 250 µA 3.0 - 260 390 µA 5.0 - 180 250 µA 2.0 - 320 470 µA 3.0 - 580 850 µA 5.0 - 340 450 µA 2.0 - 500 780 µA 3.0 - 0.8 1.1 mA 5.0 - 180 250 µA 2.0 - 320 450 µA 3.0 - 580 800 µA 5.0 - 2.1 2.95 mA 4.5 - 2.4 3.0 mA 5.0 备注 FOSC = 32 kHz LP 振荡模式 FOSC = 1 MHz XT 振荡模式 FOSC = 4 MHz XT 振荡模式 FOSC = 1 MHz EC 振荡模式 FOSC = 4 MHz EC 振荡模式 FOSC = 4 MHz INTOSC 模式 FOSC = 4 MHz EXTRC 模式 FOSC = 20 MHz HS 振荡器模式 † 除非另外说明,“典型值”栏的数据是在 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 3.5 µA 2.0 - 0.0012 4.0 µA 3.0 - 0.0029 8.0 µA 5.0 - 0.3 6.0 µA 2.0 - 1.8 9.0 µA 3.0 - 8.4 20 µA 5.0 - 58 70 µA 3.0 - 109 130 µA 5.0 - 3.3 10 µA 2.0 - 6.1 13 µA 3.0 - 11.5 24 µA 5.0 - 58 70 µA 2.0 VDD - 85 100 µA 3.0 - 138 165 µA 5.0 - 4.0 10 µA 2.0 - 4.6 12 µA 3.0 - 6.0 20 µA 5.0 - 0.0012 6.0 µA 3.0 - 0.0022 8.5 µA 5.0 注 WDT、 BOD、比较器、 VREF 和 T1OSC 禁止 WDT 电流 (1) BOD 电流 (1) 比较器电流 (1) CVREF 电流 (1) T1 OSC 电流 (1) A/D 电流 (1) † 除非另外说明,“典型值”栏的数据是在 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 特性:PIC12F629/675-I (工业级), PIC12F629/675-E (扩展级) 标准工作条件 (除非另外说明) 工作温度 -40°C ≤ TA ≤ +85°C( 工业级 ) -40°C ≤ TA ≤ +125°C( 扩展级 ) DC 特性 参数 编号 符号 VIL D030 D030A D031 D032 D033 D033A IIL D060A D060B D061 D063 D080 D092 OSC1 (XT 和 LP 模式 ) OSC1 (HS 模式 ) 输入高电压 I/O 端口 带 TTL 缓冲器 VOL VOH 最小值 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 否则 整个范围 V V 4.5V ≤ VDD ≤ 5.5V 否则 整个范围 V V V V µA ( 注 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 VDD VDD VDD VDD VDD VDD VDD 400* - ± 0.1 ±1 µA - - ± 0.1 ± 0.1 ± 0.1 ± 0.1 ±1 ±1 ±5 ±5 µA µA µA µA 输出低电压 I/O 端口 - - 0.6 V OSC2/CLKOUT (RC 模式 ) - - 0.6 V 输出高电压 I/O 端口 VDD - 0.7 - - V IOH = -3.0 mA, VDD = 4.5V (Ind.) OSC2/CLKOUT (RC 模式 ) VDD - 0.7 - - V IOH = -1.3 mA, VDD = 4.5V (Ind.) IOH = -1.0 mA, VDD = 4.5V (Ext.) 带施密特触发缓冲器 MCLR OSC1 (XT 和 LP 模式 ) OSC1 (HS 模式 ) OSC1 (RC 模式 ) GPIO 弱上拉电流 输入泄漏电流 (3) I/O 端口 模拟输入 VREF MCLR(2) OSC1 D083 D090 输入低电压 I/O 端口 带 TTL 缓冲器 带施密特触发缓冲器 MCLR, OSC1 (RC mode) VIH D040 D040A D041 D042 D043 D043A D043B D070 IPUR D060 特性 - - - - - - - - - ( 注 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.) * 这些参数仅为特征值,未经测试。 † 除非另外说明,“典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。 注 1: 在 RC 振荡器配置中, OSC1/CLKI 引脚是施密特触发器输入。在 RC 模式下,建议不要使用外部时钟。 2:MCLR 引脚上的泄漏电流和所施加的电压密切相关。指定的电平表示正常工作条件。当输入电压不同时,测 得的泄漏电流可能较大。 3:负电流定义为引脚驱动电流。 2004 Microchip Technology Inc. DS41190C_CN 第 91 页 PIC12F629/675 12.7 DC 特性:PIC12F629/675-I ( 工业级 ),PIC12F629/675-E ( 扩展级 ) ( 续 ) 标准工作条件 (除非另外说明) 工作温度 -40°C ≤ TA ≤ +85°C( 工业级 ) 工作温度 -40°C ≤ TA ≤ +125°C( 扩展级 ) DC 特性 参数 编号 符号 特性 最小值 典型值 最大值 单位 D100 输出引脚上的容性负载要求 COSC2 OSC2 引脚 - - 15* pF D101 CIO - - 50* pF D120 D120A D121 ED ED VDRW 100K 10K VMIN 1M 100K - - 5.5 所有 I/O 引脚 数据 EEPROM 存储器 字节耐擦写次数 字节耐擦写次数 读写时的 VDD 电压 D122 D123 D124 - 条件 当使用外部时钟驱动 OSC1 时 处于 XT、 HS 和 LP 模式 E/W -40°C ≤ TA ≤ +85°C E/W +85°C ≤ TA ≤ +125°C V 使用 EECON 进行读写 VMIN = 最小工作电压 ms 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 节。 DS41190C_CN 第 92 页 2004 Microchip Technology Inc. PIC12F629/675 12.8 时序参数符号 可根据以下格式之一来创建时序参数符号: 1. TppS2ppS 2. TppS T F 频率 小写字母 (pp)及其含义: pp cc CCP1 ck CLKOUT cs CS di do SDI SDO dt 数据输入 io mc I/O 端口 MCLR T 时间 osc rd OSC1 RD rw sc ss t0 RD 或 WR SCK SS T0CKI t1 T1CKI wr WR 大写字母及其含义: S F 下降 P 周期 H 高 R 上升 I 无效 (高阻态) V 有效 L 低 Z 高阻态 图 12-4: 负载条件 负载条件 1 负载条件 2 VDD/2 RL CL 引脚 VSS CL 引脚 VSS RL = 464Ω CL = 50 pF 15 pF 2004 Microchip Technology Inc. 适用于所有引脚 适用于 OSC2 输出引脚 DS41190C_CN 第 93 页 PIC12F629/675 12.9 AC 特性:PIC12F629/675 (工业级,扩展级) 图 12-5: 外部时钟时序 Q4 Q1 Q2 Q3 Q4 Q1 OSC1 1 3 4 3 4 2 CLKOUT 表 12-1: 参数 编号 外部时钟时序要求 符号 FOSC 特性 外部 CLKIN 频率 (1) 振荡器频率 (1) 最小值 典型值 DC DC DC DC 5 - DC 0.1 1 1 TOSC 外部 CLKIN 周期 (1) 振荡器周期 (1) 2 TCY 3 TosL, TosH 4 TosR, 外部 CLKIN 上升时间 TosF 外部 CLKIN 下降时间 指令周期时间 (1) 外部 CLKIN (OSC1) 高电平 外部 CLKIN 低电平 - - - - - 4 - - - 最大值 单位 37 4 20 20 37 kHz MHz MHz MHz kHz MHz MHz MHz MHz LP 振荡模式 XT 模式 HS 模式 EC 模式 LP 振荡模式 INTOSC 模式 RC 振荡模式 XT 振荡模式 HS 振荡模式 µs ns ns ns µs ns ns ns ns LP 振荡模式 HS 振荡模式 EC 振荡模式 XT 振荡模式 LP 振荡模式 INTOSC 模式 RC 振荡模式 XT 振荡模式 HS 振荡模式 ns µs ns ns ns ns ns TCY = 4/FOSC - 4 4 20 27 50 50 250 27 - - - - ∞ ∞ ∞ ∞ 200 - 250 250 50 250 - - - - - 10,000 1,000 200 2* 20* 100 * TCY DC - - - - - - - - - 50* 25* 15* - - - 条件 LP 振荡器, TOSC L/H 占空比 HS 振荡器, TOSC L/H 占空比 XT 振荡器, TOSC L/H 占空比 LP 振荡器 XT 振荡器 HS 振荡器 * 这些参数仅为特征值,未经测试。 † 除非另外说明,“典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。 注 1: 指令周期时间 (TCY)等于输入振荡器时基周期的四倍。所有规定值都标准工作条件下代码执行过程中特定 振荡类型所产生的特征数据。超出这些规定的限定值可能导致振荡器工作不稳定和 / 或导致电流消耗超出预 期值。所有器件在 “最小值”条件下均经过测试,此时在 OSC1 引脚上施加外部时钟。对于所有器件,当采 用外部时钟输入时,“最大”周期时间极限为 “DC”(无时钟)。 DS41190C_CN 第 94 页 2004 Microchip Technology Inc. PIC12F629/675 表 12-2: 内部高精度振荡器参数 参数编号 符号 F10 FOSC 内部校准 INTOSC 频率 F14 特性 TIOSC 振荡器从休眠模式唤醒 ST 频率 容差 最小 值 典型值 最大值 ±1 3.96 4.00 4.04 ±2 3.92 4.00 4.08 ±5 3.80 4.00 4.20 - - 6 8 - - 4 6 - - 3 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 时序 Q1 Q4 Q2 Q3 OSC1 11 10 22 23 CLKOUT 13 19 14 12 18 16 I/O 引脚 (输入) 15 17 I/O 引脚 (输出) 新值 旧值 20, 21 表 12-3: 参数 编号 符号 特性 最小值 典型值 最大值 单位 条件 - 75 200 ns ( 注 1) 200 ns ( 注 1) 10 TosH2ckL OSC1 ↑至 CLKOUT ↓ 11 TosH2ckH OSC1 ↑至 CLKOUT ↑ - 75 12 TckR CLKOUT 上升时间 - 35 100 ns ( 注 1) CLKOUT 下降时间 - 35 100 ns ( 注 1) - 20 ns ( 注 1) - ns ( 注 1) ( 注 1) 13 TckF 14 TckL2ioV CLKOUT ↓至端口输出有效 - 15 TioV2ckH CLKOUT ↑前端口输入有效 TOSC + 200 ns 16 TckH2ioI CLKOUT ↑后端口保持输入 0 - - ns 17 TosH2ioV OSC1 ↑ (Q1 周期)至端口输出 有效 - 50 150 * ns - - 300 ns OSC1 ↑ (Q2 周期)至端口输入 无效 (I/O 输入保持时间) 100 - - ns - 18 TosH2ioI 19 TioV2osH 端口输入有效至 OSC1 ↑ (I/O 启动时间) 0 - - ns 20 TioR 端口输出上升时间 - 10 40 ns 21 TioF 端口输出下降时间 - 10 40 ns 22 Tinp INT 引脚高电平或低电平时间 25 - - ns 23 Trbp GPIO 改变时 INT 引脚高电平或低 电平时间 TCY - - ns * † 注 CLKOUT 和 I/O 时序要求 这些参数仅为特征值,未经测试。 除非另外说明,“典型值”栏的数据是在 5.0V、 25°C 条件下测得的。 1:测量在 RC 模式下进行,其中 CLKOUT 输出为 4xTOSC。 DS41190C_CN 第 96 页 2004 Microchip Technology Inc. PIC12F629/675 图 12-7: 复位、看门狗定时器、振荡器起振定时器和上电延时定时器时序 VDD MCLR 30 内部 POR 33 PWRT 超时 32 OSC 超时 内部 复位 看门狗 定时器 复位 34 31 34 I/O 引脚 图 12-8: 欠压检测时序和特性 VDD BVDD (器件不处于欠压检测状态) (器件处于欠压检测状态) 35 复位(由 BOD 造成) 注 1: 72 ms 延时 (1) 只在配置字中的 PWRTE 位设定为 0 时有 72 ms 延迟。 2004 Microchip Technology Inc. DS41190C_CN 第 97 页 PIC12F629/675 表 12-4: 参数 编号 复位、看门狗定时器、振荡器起振定时器、上电延时定时器以及欠压检测要求 符号 特性 最小 值 典型 值 最大 值 单位 2 TBD - TBD - TBD µs ms VDD = 5V, -40°C 至 +85°C 扩展级温度 25 30 ms ms VDD = 5V, -40°C 至 +85°C 扩展级温度 条件 30 TMCL MCLR 脉宽 (低) 31 TWDT 看门狗定时器超时溢出周期 (无预分频器) 10 10 17 17 32 TOST 振荡器起振定时器周期 - 1024TOSC - - TOSC = OSC1 周期 33* TPWRT 上电延时定时器周期 28* TBD 72 TBD 132* TBD ms ms VDD = 5V, -40°C 至 +85°C 扩展级温度 34 TIOZ MCLR 低电平或看门狗定时器 复位引起 I/O 高阻态 - - 2.0 µs BVDD 欠压检测电压 2.025 - 2.175 V 欠压滞后 TBD - - - 欠压检测脉冲宽度 100* - - µs 35 TBOD VDD ≤ BVDD (D005) * 这些参数仅为特征值,未经测试。 † 除非另外说明,“典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。 DS41190C_CN 第 98 页 2004 Microchip Technology Inc. PIC12F629/675 图 12-9: TIMER0 和 TIMER1 外部时钟时序 T0CKI 40 41 42 T1CKI 45 46 48 47 TMR0 或 TMR1 表 12-5: 参数 编号 TIMER0 和 TIMER1 外部时钟要求 符号 40* Tt0H 41* Tt0L 特性 T0CKI 高脉冲宽度 T0CKI 低脉冲宽度 42* Tt0P T0CKI 周期 45* Tt1H T1CKI 高电平时 间 46* Tt1L 47* T1CKI 低电平时 间 最小值 0.5 TCY + 20 - - ns 有预分频器 10 - - ns 无预分频器 0.5 TCY + 20 - - ns 有预分频器 10 - - ns 取较大值 20 或 TCY + 40 N - - ns 同步,无预分频器 0.5 TCY + 20 - - ns 同步,有预分频器 15 - - ns 异步 30 - - ns 同步,无预分频器 0.5 TCY + 20 - - ns 同步,有预分频器 15 - - ns 异步 30 - - ns 同步 取较大值 30 或 TCY + 40 N - - ns - 200* kHz Tt1P T1CKI 输入周期 Ft1 Timer1 振荡器输入频率范围 (通过置位 T1OSCEN 使能振荡器) TCKEZtmr1 从外部时钟边沿到定时器递增的延时 * † 单位 无预分频器 异步 48 典型 最大 值 值 60 - DC - 2 TOSC* - 7 TOSC* 条件 N = 预分频比 (2、4、...、256) N = 预分频比 (1、 2、 4、 8) ns - 这些参数仅为特征值,未经测试。 除非另外说明,“典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。 2004 Microchip Technology Inc. DS41190C_CN 第 99 页 PIC12F629/675 表 12-6: 比较器规范 标准工作条件 -40°C 至 +125°C (除非另外说明) 比较器规范 符号 特性 最小值 典型值 最大值 单位 VOS 输入失调电压 - ± 5.0 ± 10 mV VCM 共模输入电压 0 - VDD - 1.5 V CMRR 共模抑制比 TRT 响应时间 (1) TMC2COV 比较器模式变化到输出有效的时 间 * 注 - - db - 150 400* ns - - 10* µs 这些参数仅为特征值,未经测试。 1: 响应时间的测量是在比较器一个输入端处于 (VDD- 1.5) /2,同时另一个输入端电平从 VSS 变化到 VDD -1.5V 时进行的。 表 12-7: 比较器参考电压规范 标准工作条件 -40°C 至 +125°C (除非另外说明) 参考电压规范 符号 特性 最小值 典型值 最大值 单位 准确度 - - VDD/24* VDD/32 - - LSb LSb 低量程 (VRR = 1) 高量程 (VRR = 0) 绝对精度 - - - - ± 1/2 ± 1/2* LSb LSb 低量程 (VRR = 1) 高量程 (VRR = 0) - 2k* - Ω - 10* µs 单位电阻值 (R) 稳定时间 * 注 +55* 备注 (1) - 备注 这些参数仅为特征值,未经测试。 1: 稳定时间是在 VRR = 1 且 VR<3:0> 的状态从 0000 跳变至 1111 时测量的。 DS41190C_CN 第 100 页 2004 Microchip Technology Inc. PIC12F629/675 表 12-8: 参数 编号 PIC12F675 A/D 转换器特性: 符号 特性 最小值 典型值 最大值 单位 条件 - - 10 位 LSb VREF = 5.0V A01 NR A02 EABS 总绝对误差 * - - ±1 A03 EIL 积分误差 - - ±1 LSb VREF = 5.0V A04 EDL 微分误差 - - ±1 LSb 无丢失代码至 10 位 VREF = 5.0V A05 EFS 满刻度量程 2.2* - 5.5* A06 EOFF 偏置误差 - - ±1 LSb VREF = 5.0V A07 EGN 增益误差 - - ±1 LSb VREF = 5.0V 保证 (3) - - 准确度 位 V A10 - 单一性 - A20 A20A VREF 参考电压 2.0 2.5 - - VDD + 0.3 V A21 VREF 高参考电压 (VDD 或 VREF) VSS - VDD V A25 VAIN 模拟输入 电压 VSS - VREF V A30 ZAIN 建议的模拟电压 源阻抗 - - 10 kΩ A50 IREF VREF 输入 电流 (2) 10 - 1000 µA - - 10 µA Vss ϒ≤ VAIN ϒ≤ VREF+ 绝对最小参数以确保 10 位精度 在 VAIN 采集期间。 基于 VHOLD 对 VAIN 的微分。 在 A/D 转换周期内。 * 这些参数仅为特征值,未经测试。 † 除非另外说明,“典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。 注 1:除泄漏电流之外, A/D 在关闭时不消耗任何电流。掉电电流规范包括所有来自 A/D 模块的泄漏电流。 2: VREF 电流来自外部 VREF 或 VDD 引脚,具体取决于所选择的参考电压输入引脚。 3: A/D 转换结果不会因输入电压的递增而递减,并且不会丢失代码。 2004 Microchip Technology Inc. DS41190C_CN 第 101 页 PIC12F629/675 图 12-10: PIC12F675 A/D 转换时序 (正常模式) BSF ADCON0, GO 134 1 TCY (TOSC/2)(1) 131 Q4 130 A/D CLK 9 A/D DATA 8 7 6 3 2 1 0 新数据 旧数据 ADRES 1 TCY ADIF GO 采样 注 采样被停止 132 1: 如果选择 A/D 时钟源作为 RC,在 A/D 时钟开始前要加上一个 TCY 的时间。 这将使 SLEEP 指令得以执行。 表 12-9: 参数 编号 DONE PIC12F675 A/D 转换要求 符号 特性 130 TAD A/D 时钟周期 130 TAD A/D 内部 RC 振荡器 周期 131 TCNV 转换时间 (不包括 采集时间) (1) 132 TACQ 采集时间 134 TGO Q4 至 A/D 时钟开始 最小值 典型值 最大值 单位 条件 1.6 - - µs 3.0* - - µs 基于 TOSC, VREF 满量程 基于 TOSC, VREF ≥ 3.0V 3.0* 6.0 9.0* µs ADCS<1:0> = 11 (RC 模式) 当 VDD = 2.5V 2.0* 4.0 6.0* µs 当 VDD = 5.0V - 11 - TAD 将 A/D 结果寄存器中的 GO 位设置 为新的数据。 ( 注 2) 11.5 - µs 5* - - µs 最小时间为放大器的稳定时间。 如果 “新”的输入电压相比于上一采样电 压的变化不超过 1LSb (即,在 4.096V 时为 4.1 mV),就可使用该 参数 (存储在 CHOLD)。 - TOSC/2 - - 如果选择 A/D 时钟源作为 RC,在 A/ D 时钟开始前要加上一个 TCY 的时 间。这将允许执行 SLEEP 指令。 * 这些参数仅为特征值,未经测试。 † 除非另外说明,“典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。 注 1:ADRES 寄存器中的内容可在下一个 TCY 周期读出。 2:最小条件参见第 7.1 节。 DS41190C_CN 第 102 页 2004 Microchip Technology Inc. PIC12F629/675 图 12-11: PIC12F675 A/D 转换时序 (休眠模式) BSF ADCON0, GO 134 (TOSC/2 + TCY)(1) 1 TCY 131 Q4 130 A/D CLK 9 A/D DATA 7 6 3 2 1 0 新数据 旧数据 ADRES ADIF 1 TCY GO DONE 采样 停止采样 132 1: 如果选择 A/D 时钟源作为 RC,在 A/D 时钟开始前要加上一个 TCY 的时间。 这将使 SLEEP 指令得以执行。 注 表 12-10: 参数 编号 130 PIC12F675 A/D 转换要求 (休眠模式) 符号 TAD 130 TAD 特性 A/D 时钟周期 A/D 内部 RC 振荡 器周期 131 TCNV 转换时间 (不包括 采集时间) (1) 132 TACQ 采集时间 134 TGO * † 注 8 Q4 至 A/D 时钟启 动的时间 最小值 典型值 最大值 单位 条件 1.6 - - µs VREF ≥ 3.0V 3.0* - - µs VREF 满量程 3.0* 6.0 9.0* µs ADCS<1:0> = 11 (RC 模式) 当 VDD = 2.5V 2.0* 4.0 6.0* µs 当 VDD = 5.0V - 11 - TAD ( 注 2) 11.5 - µs 5* - - µs 最小时间为放大器的稳定时间。如 果 “新”的输入电压较上一采样 电压的变化不超过 1LSb (即,在 4.096V 时为 4.1 mV),就可使用 该参数 (存储在 CHOLD)。 - TOSC/2 + TCY - - 如果选择 A/D 时钟源作为 RC,在 A/D 时钟开始前要加上一个 TCY 的 时间。这将允许执行 SLEEP 指 令。 这些参数仅为特征值,未经测试。 除非另外说明,“典型值”栏的数据是在 5.0V、 25°C 条件下测得的。这些参数仅供设计参考,未经测试。 1:ADRES 寄存器中的内容可在下一个 TCY 周期读出。 2:最小条件参见第 7.1 节。 2004 Microchip Technology Inc. DS41190C_CN 第 103 页 PIC12F629/675 注: DS41190C_CN 第 104 页 2004 Microchip Technology Inc. PIC12F629/675 13.0 DC 和 AC 特性图表 本节提供的图表未经测试,仅供设计参考。 在某些图表中,出现的数据超出了规定的工作范围(即超出了规定的 VDD 范围)。这仅供参考,器件只有在规定范围下 工作才可确保正常运行。 本节中提供的数据是在一段时间内从不同批次进行矩阵抽样所收集的数据的统计汇总。“典型值”表示 25°C 下的平均 值。“最大值”和 “最小值”分别表示在整个温度范围内的 (平均值 + 3σ) 或 ( 平均值 - 3σ),其中 σ 表示标准偏差。 图 13-1: 不同温度下 (-40°C 至 +25°C) IPD 典型值与 VDD 的关系曲线 Typical Baseline IPD 6.0E-09 5.0E-09 IPD (A) 4.0E-09 -40 3.0E-09 0 25 2.0E-09 1.0E-09 0.0E+00 2 2.5 3 3.5 4 4.5 5 5.5 VDD (V) 温度 +85°C 时 IPD 典型值与 VDD 的关系曲线 图 13-2: Typical Baseline IPD 3.5E-07 3.0E-07 IPD (A) 2.5E-07 2.0E-07 85 1.5E-07 1.0E-07 5.0E-08 0.0E+00 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 VDD (V) 2004 Microchip Technology Inc. DS41190C_CN 第 105 页 PIC12F629/675 图 13-3: 温度为 +125°C 时 IPD 典型值与 VDD 的关系曲线 Typical Baseline IPD 4.0E-06 3.5E-06 3.0E-06 IPD (A) 2.5E-06 2.0E-06 125 1.5E-06 1.0E-06 5.0E-07 0.0E+00 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 VDD (V) 图 13-4: 温度为 -40°C 至 +25°C 时 IPD 最大值与 VDD 的关系曲线 Maximum Baseline IPD 1.0E-07 9.0E-08 IPD (A) 8.0E-08 7.0E-08 6.0E-08 -40 5.0E-08 0 4.0E-08 25 3.0E-08 2.0E-08 1.0E-08 0.0E+00 2 2.5 3 3.5 4 4.5 5 5.5 VDD (V) DS41190C_CN 第 106 页 2004 Microchip Technology Inc. PIC12F629/675 图 13-5: 温度 +85°C 时 IPD 最大值与 VDD 的关系曲线 Maximum Baseline IPD 9.0E-07 8.0E-07 IPD (A) 7.0E-07 6.0E-07 5.0E-07 4.0E-07 85 3.0E-07 2.0E-07 1.0E-07 0.0E+00 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 VDD (V) 图 13-6: 温度为 +125°C 时 IPD 最大值与 VDD 的关系曲线 Maximum Baseline IPD 9.0E-06 8.0E-06 IPD (A) 7.0E-06 6.0E-06 5.0E-06 125 4.0E-06 3.0E-06 2.0E-06 1.0E-06 0.0E+00 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 VDD (V) 2004 Microchip Technology Inc. DS41190C_CN 第 107 页 PIC12F629/675 图 13-7: BOD 使能时的 IPD 典型值与 VDD 的关系曲线 (温度范围:-40°C 至 +125°C) Typical BOD IPD 130 120 IPD (uA) 110 -40 100 0 90 25 80 85 125 70 60 50 3 3.5 4 4.5 5 5.5 VDD (V) 图 13-8: CMP 使能时的 IPD 典型值与 VDD 的关系曲线 (温度范围:-40°C 至 +125°C) Typical Comparator IPD 1.8E-05 1.6E-05 1.4E-05 -40 IPD (A) 1.2E-05 0 1.0E-05 25 8.0E-06 85 6.0E-06 125 4.0E-06 2.0E-06 0.0E+00 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 VDD (V) DS41190C_CN 第 108 页 2004 Microchip Technology Inc. PIC12F629/675 图 13-9: A/D 使能时的 IPD 典型值与 VDD 的关系曲线 (温度范围:-40°C 至 +25°C) IPD (A) Typical A/D IPD 5.0E-09 4.5E-09 4.0E-09 3.5E-09 3.0E-09 2.5E-09 2.0E-09 1.5E-09 1.0E-09 5.0E-10 0.0E+00 -40 0 25 2 2.5 3 3.5 4 4.5 5 5.5 VDD (V) 图 13-10: A/D 使能时的 IPD 典型值与 VDD 的关系曲线 (温度:+85°C) Typical A/D IPD 3.5E-07 3.0E-07 IPD (A) 2.5E-07 2.0E-07 85 1.5E-07 1.0E-07 5.0E-08 0.0E+00 2 2.5 3 3.5 4 4.5 5 5.5 VDD (V) 2004 Microchip Technology Inc. DS41190C_CN 第 109 页 PIC12F629/675 图 13-11: A/D 使能时的 IPD 典型值与 VDD 的关系曲线 (温度:+125°C) Typical A/D IPD 3.5E-06 IPD (A) 3.0E-06 2.5E-06 2.0E-06 125 1.5E-06 1.0E-06 5.0E-07 0.0E+00 2 2.5 3 3.5 4 4.5 5 5.5 VDD (V) 图 13-12: T1 OSC 使能时的 IPD 的典型值与 VDD 的关系曲线 (温度范围:-40°C 至 +125°C、振荡频率为 32 KHZ、 C1 和 C2=50 pF) Typical T1 IPD 1.20E-05 1.00E-05 -40 IPD (A) 8.00E-06 0 6.00E-06 25 85 4.00E-06 125 2.00E-06 0.00E+00 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 VDD (V) DS41190C_CN 第 110 页 2004 Microchip Technology Inc. PIC12F629/675 图 13-13: CVREF 使能时的 IPD 典型值与 VDD 的关系曲线 (温度范围:-40°C 至 +125°C) Typical CVREF IPD 160 IPD (uA) 140 -40 120 0 100 25 85 80 125 60 40 2 2.5 3 3.5 4 4.5 5 5.5 VDD (V) 图 13-14: WDT 使能时的 IPD 典型值与 VDD 的关系曲线 (温度范围:-40°C 至 +125°C) Typical WDT IPD 16 IPD (uA) 14 12 -40 10 0 8 25 6 85 4 125 2 0 2 2.5 3 3.5 4 4.5 5 5.5 V DD (V) 2004 Microchip Technology Inc. DS41190C_CN 第 111 页 PIC12F629/675 图 13-15: 最大和最小 INTOSC 振荡频率与温度的关系曲线 (去耦电容为 0.1µF 和 0.01µF, VDD = 3.5V ) Internal Oscillator Frequency vs Temperature 4.20E+06 Frequency (Hz) 4.15E+06 4.10E+06 4.05E+06 -3sigma 4.00E+06 average 3.95E+06 +3sigma 3.90E+06 3.85E+06 3.80E+06 -40°C 0°C 25°C 85°C 125°C Temperature (°C) 图 13-16: 最大和最小 INTOSC 振荡频率与 VDD 的关系曲线 (去耦电容为 0.1µF 和 0.01µF,温度为 +25°C) Internal Oscillator Frequency vs VDD Frequency (Hz) 4.20E+06 4.15E+06 4.10E+06 4.05E+06 4.00E+06 -3sigma 3.95E+06 3.90E+06 +3sigma average 3.85E+06 3.80E+06 2.0V 2.5V 3.0V 3.5V 4.0V 4.5V 5.0V 5.5V VDD (V) DS41190C_CN 第 112 页 2004 Microchip Technology Inc. PIC12F629/675 图 13-17: WDT 周期的典型值与 VDD 的关系曲线 (温度范围:-40°C 至 +125°C) WDT Time-out Time (mS) 50 45 40 35 -40 30 25 0 20 15 10 5 85 25 125 0 2 2.5 3 3.5 4 4.5 5 5.5 V DD (V) 2004 Microchip Technology Inc. DS41190C_CN 第 113 页 PIC12F629/675 注: DS41190C_CN 第 114 页 2004 Microchip Technology Inc. PIC12F629/675 14.0 封装信息 14.1 封装标识信息 8 引脚 PDIP 封装(窄型 DIP) XXXXXXXX XXXXXNNN YYWW 8 引脚 SOIC 封装 XXXXXXXX XXXXYYWW NNN 8 引脚 DFN-S 封装 XXXXXXX XXXXXXX XXYYWW NNN 图注: 注: * 示例 12F629-I /017 0215 示例 12F629-E /0215 017 示例 12F629 -E/021 0215 017 XX...X Y YY WW NNN 用户指定信息 * 年份代码 (公历年份的最后一位) 年份代码 (公历年份的最后 2 位) 星期代码 (一月一日的星期代码为 “01”) 字母数字的追踪代码 若 Microchip 芯片部件编号无法一行中完全标出,它将换行继续标出,因此限制 了用户指定信息的可用字符数量。 标准 PICmicro 器件标识由 Microchip 部件编号、年份代码、星期代码和追踪代码组成。若器件标识超出上 述内容,需支付一定的附加费用。 请向当地的 Microchip 销售办事处了解确认。 对于 QTP器件,任何特殊 标记的费用都已包含在QTP价格中。 2004 Microchip Technology Inc. DS41190C_CN 第 115 页 PIC12F629/675 14.2 封装详细信息 以下将介绍封装的技术细节。 8 引脚塑料双列直插封装 (P), 300 mil (PDIP) E1 D 2 n 1 α E A2 A L c A1 β B1 p eB 引脚数 封装引脚间距 顶端到底座平面的距离 塑模封装厚度 基座到底座平面的距离 肩角到肓角的宽度 塑模封装宽度 总长度 引脚端头到底座平面的距离 引线厚度 引线上部宽度 引线下部宽度 总的行间距 塑模顶部椎度 塑模底部椎度 * 控制参数 § 重要特性 B 单位 尺寸限制 n p A A2 A1 E E1 D L c § B1 B eB α β 最小值 .140 .115 .015 .300 .240 .360 .125 .008 .045 .014 .310 5 5 INCH* 正常值 MM 最大值 8 .100 .155 .130 .170 .145 .313 .250 .373 .130 .012 .058 .018 .370 10 10 .325 .260 .385 .135 .015 .070 .022 .430 15 15 最小值 3.56 2.92 0.38 7.62 6.10 9.14 3.18 0.20 1.14 0.36 7.87 5 5 正常值 最大值 8 2.54 3.94 3.30 4.32 3.68 7.94 6.35 9.46 3.30 0.29 1.46 0.46 9.40 10 10 8.26 6.60 9.78 3.43 0.38 1.78 0.56 10.92 15 15 注: 尺寸 D 和 E1 不包括模具毛边或突起。模具每侧毛边或突起不得超过 .010(0.254mm)。 同等 JEDEC 规范: MS-001 图号 C04-018 DS41190C_CN 第 116 页 2004 Microchip Technology Inc. PIC12F629/675 8 引脚塑封小型封装 (SN)- 窄型, 150 mil (SOIC) E E1 p D 2 B n 1 h α 45° c A2 A φ β 引脚数 封装引脚间距 总高度 塑模封装厚度 悬空间隙 § 总宽度 塑模封装宽度 总长度 倒棱距离 底脚长度 底脚倾角 引线厚度 引脚宽度 塑模顶部椎度 塑模底部椎度 * 控制参数 § 重要特性 L 单位 尺寸限制 n p A A2 A1 E E1 D h L φ c B α β 最小值 .053 .052 .004 .228 .146 .189 .010 .019 0 .008 .013 0 0 A1 INCH* 正常值 8 .050 .061 .056 .007 .237 .154 .193 .015 .025 4 .009 .017 12 12 MM 最大值 .069 .061 .010 .244 .157 .197 .020 .030 8 .010 .020 15 15 最小值 1.35 1.32 0.10 5.79 3.71 4.80 0.25 0.48 0 0.20 0.33 0 0 正常值 最大值 8 1.27 1.55 1.42 0.18 6.02 3.91 4.90 0.38 0.62 4 0.23 0.42 12 12 1.75 1.55 0.25 6.20 3.99 5.00 0.51 0.76 8 0.25 0.51 15 15 注: 尺寸 D 和 E1 不包括模具毛边或突起。 模块每边的毛边或突起不得超过 .010(0.254mm)。 同等 JEDEC 规范: MS-012 图号 C04-057 2004 Microchip Technology Inc. DS41190C_CN 第 117 页 PIC12F629/675 8 引脚塑料双列扁平无引出封装 (MF) 6x5 mm 外型 (DFN-S) E p B E1 n L R D1 1 D D2 引脚 1 ID 裸露的 金属焊垫 2 E2 俯视图 仰视图 a A2 A3 A A1 INCH 单位 尺寸限制 引脚数 最小值 MM* 正常值 n 最大值 最小值 正常值 最大值 8 8 封装引线间距 p 总高度 A .033 .039 0.85 1.00 塑模封装厚度 A2 .026 .031 0.65 0.80 县空间隙 A1 .0004 .002 0.01 0.05 基面厚度 A3 .008 REF. .20 REF. 4.92 BSC .050 BSC .000 E .194 BSC 塑模封装长度 E1 .184 BSC 外露焊垫长度 E2 总长度 总宽度 .152 D .158 1.27 BSC 0.00 4.67 BSC .163 3.85 4.00 4.15 5.99 BSC .236 BSC .226 BSC 5.74 BSC 塑模封装宽度 D1 外露焊垫宽度 D2 .085 .091 .097 2.16 2.31 2.46 引线宽度 B .014 .016 .019 0.35 0.40 0.47 引线长度 L .020 .024 .030 0.50 0.60 0.75 排气口宽度 R a 塑模顶部椎度 .014 .356 12 12 * 控制参数 注: 尺寸 D 和 E1 不包括模具毛边或突起。 模具每边的毛边或突起不能超过 .010(0.254mm)。 同等 JEDEC 规范: 待定 图号 C04-113 DS41190C_CN 第 118 页 2004 Microchip Technology Inc. PIC12F629/675 8 引脚塑料双列扁平无引脚封装 (MF) 6x5 mm 外型 (DFN-S) 焊盘结构和阻焊膜 M 阻焊膜 M p B 封装边沿 L INCH 单位 封装引线间距 尺寸限制 p 最小值 MM* 正常值 最大值 最小值 .050 BSC 正常值 最大值 1.27 BSC 焊垫宽度 B .014 .016 .019 0.35 0.40 0.47 焊垫长度 L .020 .024 .030 0.50 0.60 0.75 阻焊焊垫 M .005 .006 0.13 0.15 * 控制参数 图号 C04-2113 2004 Microchip Technology Inc. DS41190C_CN 第 119 页 PIC12F629/675 注: DS41190C_CN 第 120 页 2004 Microchip Technology Inc. PIC12F629/675 附录 A: 数据手册的版本历史 版本 A 附录 B: 器件差异 表 B-1 所示为数据手册中列出的 PIC12F629/675 器件 之间的差异。 这是新的数据手册。 版本 B 增加了特性图表。 更新了规范。 表 B-1: 器件差异 功能特性 PIC12F629 PIC12F675 A/D 无 有 增加了注解以表明 Microchip 编程器保存有所有校准位 为出厂设置,以及必须初始化 PIC12F675 ANSEL 寄存 器,以将所有引脚配置为数字 I/O。 将 MLF-S 封装名称更新为 DFN-S。 2004 Microchip Technology Inc. DS41190C_CN 第 121 页 PIC12F629/675 附录 C: 器件移植 本部分旨在说明两个功能相似的器件移植时,(如从 PIC16C74A 到 PIC16C74B),其功能和电气规范的差 异。 无 本部分讨论了从其它 PICmicro 器件迁移到 PIC12F6XX 系列器件的某些问题。 D.1 PIC12C67X 到 PIC12F6XX 表 1: 特征比较 特征 PIC12C67X PIC12F6XX 最大工作频率 10 MHz 20 MHz 程序存储器的最大容量 2048 字节 1024 字节 A/D 分辨率 8位 10 位 数据 EEPROM 振荡模式 16 字节 5 64 字节 8 欠压检测 N Y 内部上拉 GP0/1/3 GP0/1/2/4/5 电平变化中断 GP0/1/3 GP0/1/2/3/4/5 比较器 N Y 注: DS41190C_CN 第 122 页 从其它 PICmicro® 器件 移植 附录 D: 该器件设计为按照数据手册上的参数来工 作。它已通过电气规范测试,该规范用于确 定器件是否符合这些参数。由于存在器件 生产工艺上的差异,其工作特性可能与其 早期版本的产品有所不同。这些不同可能 导致此器件与其早期版本在应用中的性能 差异。 2004 Microchip Technology Inc. PIC12F629/675 索引 A A/D ..................................................................................... 41 采集要求..................................................................... 45 复位的影响 ................................................................. 46 寄存器汇总 ................................................................. 46 计算采集时间 ............................................................. 45 框图 ............................................................................ 41 内部采样开关 (Rss)阻抗 ........................................ 45 PIC12F675 转换器特性 ............................................ 101 源阻抗 ........................................................................ 45 AC 特性 工业级和扩展级 .......................................................... 94 B 版本历史 ........................................................................... 121 比较器 ................................................................................ 35 参考电压 ..................................................................... 39 复位的影响 ................................................................. 39 工作原理 ..................................................................... 36 I/O 工作模式 ............................................................... 37 配置 ............................................................................ 37 输出 ............................................................................ 38 响应时间 ..................................................................... 39 休眠状态下的工作原理 ............................................... 39 有关的寄存器 ............................................................. 40 中断 ............................................................................ 40 比较器电压参考模块规范 ................................................. 100 比较器规范 ....................................................................... 100 编程,器件指令 .................................................................. 69 C C 编译器 MPLAB C17 ............................................................... 78 MPLAB C18 ............................................................... 78 MPLAB C30 ............................................................... 78 CLKOUT ............................................................................ 54 CPU 的特殊功能 ................................................................. 51 参考电压精度 / 误差 ........................................................... 39 操作码字段说明 .................................................................. 69 程序存储器组织 .................................................................... 7 从其他 PICmicro 器件迁移 ............................................... 122 存储器组织 数据 EEPROM 存储器 ................................................ 47 D DC 特性 工业级 ........................................................................ 86 扩展级和工业级 .......................................................... 91 代码保护 ............................................................................. 67 代码示例 初始化 GPIO .............................................................. 19 更改预分频器 ............................................................. 29 数据 EEPROM 的写操作 ............................................ 49 数据 EEPROM 读 ....................................................... 49 写校验 ........................................................................ 49 在 RAM 中保存 STATUS 和 W 寄存器的内容 ............ 64 带门控制的 Timer1 模块 ..................................................... 30 电气规范 ............................................................................. 83 电源控制 (PCON)状态寄存器 ........................................ 57 掉电模式 (休眠) .............................................................. 66 读-修改-写操作 .............................................................. 69 E EEPROM 数据存储器 的读操作 ..................................................................... 49 的写操作..................................................................... 49 2004 Microchip Technology Inc. 误写 ........................................................................... 49 写校验 ........................................................................ 49 F 封装 ................................................................................. 115 标识 ......................................................................... 115 详细信息 .................................................................. 116 复位 ................................................................................... 55 G GPIO 端口.......................................................................... 19 GPIO\TRISIO 寄存器 ......................................................... 19 固件指令 ............................................................................ 69 H 汇编器 MPASM 汇编器 .......................................................... 77 J 寄存器 ANSEL ( 模拟选择寄存器 ) ........................................ 44 CMCON ( 比较器控制 ) .............................................. 35 CONFIG (配置字) ................................................... 52 EEADR (EEPROM 地址) ....................................... 47 EECON1 (EEPROM 控制) ..................................... 48 EEDAT (EEPROM 数据) ........................................ 47 INTCON (中断控制).............................................. 13 IOCB (GPIO 引脚电平改变触发中断)..................... 21 OPTION_REG (Option)......................................... 28 OPTION_REG (选项)............................................. 12 OSCCAL (振荡器校准) ........................................... 16 PCON (电源控制) ................................................... 16 PIE1 (外设中断使能 1) ........................................... 14 PIR1 (外设中断 1) ................................................. 15 STATUS .................................................................... 11 T1CON (imer1 控制).............................................. 32 WPU (弱上拉) ........................................................ 20 VRCON ( 参考电压控制 )........................................... 40 映射 PIC12F629 .......................................................... 8 PIC12F675 .......................................................... 8 ID 地址单元 ........................................................................ 67 间接寻址、 INDF 和 FSR 寄存器 ....................................... 18 晶振工作原理 ..................................................................... 53 绝对最大额定值 ................................................................. 83 K 开发支持 ............................................................................ 77 看门狗定时器 (WDT) ...................................................... 64 勘误表 .................................................................................. 3 框图 比较器参考电压模块 .................................................. 39 比较器输出 ................................................................. 38 GP0 和 GP1 引脚 ....................................................... 22 GP2 ........................................................................... 23 GP3 ........................................................................... 23 GP4 ........................................................................... 24 GP5 ........................................................................... 24 看门狗定时器 ............................................................. 65 模拟输入模块 ............................................................. 45 模拟输入模式 ............................................................. 38 片上复位电路 ............................................................. 55 RC 振荡器模式 ........................................................... 54 Timer1 ....................................................................... 30 TMR0/WDT 预分频器 ................................................ 27 M MCLR ................................................................................ 56 DS41190C_CN 第 123 页 PIC12F629/675 MPLAB ASM30 汇编器 / 链接器 / 库 .................................. 78 MPLAB ICD 2 在线调试器 .................................................. 79 MPLAB ICE 2000 高性能通用在线仿真器 .......................... 79 MPLAB ICE 4000 高性能通用在线仿真器 .......................... 79 MPLAB 集成开发环境软件 ................................................. 77 MPLINK 目标链接器 /MPLIB 目标库管理器 ........................ 78 模拟输入连接注意事项 ....................................................... 38 模数转换器模块。 参见 A/D N 内部 4 MHz 振荡器 ............................................................. 54 内部采样开关 (Rss)阻抗 ................................................ 45 P PCL 和 PCLATH ................................................................. 17 堆栈 ............................................................................ 17 计算 goto .................................................................... 17 PICkit 1 闪存入门工具包 .................................................... 81 PICSTART Plus 开发编程器 .............................................. 79 PRO MATE II 通用器件编程器 ........................................... 79 配置参考电压模块 .............................................................. 39 配置位 ................................................................................ 52 评估和编程工具 .................................................................. 81 Q 器件差异 ........................................................................... 121 器件移植 ........................................................................... 122 器件概述 ............................................................................... 5 欠压 相关寄存器 ................................................................. 58 欠压检测时序和特性 ........................................................... 97 欠压检测 (BOD) .............................................................. 57 R RC 振荡器 .......................................................................... 54 软件模拟器 (MPLAB SIM30).......................................... 78 软件模拟器 (MPLAB SIM).............................................. 78 S 上电复位 (POR) .............................................................. 56 上电延时定时器 (PWRT) ................................................ 56 时序参数符号 ...................................................................... 93 时序图 CLKOUT 和 I/O .......................................................... 96 复位、看门狗定时器、振荡器起振定时器和上电延时定时 器 ............................................................... 97 INT 引脚中断 .............................................................. 63 PIC12F675 A/D 转换时序 (休眠模式) ................... 103 PIC12F675 A/D 转换 (正常模式) .......................... 102 上电时的延时序列 (MCLR 连接到 VDD).................. 60 上电时的延时序列 (MCLR 未连接到 VDD) / 情形 1 ................................................................. 60 情形 2 ................................................................. 60 Timer0 和 Timer1 外部时钟 ........................................ 99 Timer1 加计数边沿 ..................................................... 31 外部时钟 ..................................................................... 94 数据存储器组织 .................................................................... 7 数据 EEPROM 存储器 代码保护 ..................................................................... 50 EEADR 寄存器 ........................................................... 47 EECON1 寄存器......................................................... 47 EECON2 寄存器......................................................... 47 EEDATA 寄存器 ......................................................... 47 T Timer0 ................................................................................ 27 工作原理 ..................................................................... 27 T0CKI ......................................................................... 28 DS41190C_CN 第 124 页 外部时钟 .................................................................... 28 有关的寄存器 ............................................................. 29 中断 ........................................................................... 27 Timer1 工作模式 .................................................................... 31 异步计数器模式 ......................................................... 33 读和写 ................................................................ 33 有关的寄存器 ............................................................. 33 预分频器 .................................................................... 31 在休眠状态下的工作原理 ........................................... 33 振荡器 ........................................................................ 33 中断 ........................................................................... 31 特殊功能寄存器.................................................................... 8 特殊功能寄存器汇总 ............................................................ 9 通用寄存器数据.................................................................... 7 W WWW 在线技术支持 ............................................................ 3 X 校准内部 RC 频率 .............................................................. 95 Y 演示板 PICDEM 1.................................................................. 80 PICDEM 17................................................................ 80 PICDEM 18R PIC18C601/801................................... 81 PICDEM 2 Plus.......................................................... 80 PICDEM 3 PIC16C92X.............................................. 80 PICDEM LIN PIC16C43X .......................................... 81 PICDEM USB PIC16C7X5 ........................................ 81 PICDEM.net 因特网 / 以太网 ..................................... 80 延时序列 ............................................................................ 57 引脚的其它功能 .................................................................. 19 弱上拉 ........................................................................ 19 引脚上电平改变时触发中断 ....................................... 21 引脚描述及框图.................................................................. 22 引脚排列说明 PIC12F629 .................................................................. 6 PIC12F675 .................................................................. 6 预分频器 ............................................................................ 29 预分频器分配的切换 .................................................. 29 与 GPIO 有关的寄存器 ............................................................. 25 与数据 EEPROM 存储器 相关的寄存器 / 位 ....................................................... 50 Z 在线串行编程 ..................................................................... 67 在线调试器 ......................................................................... 67 振荡器配置 ......................................................................... 53 振荡器起振定时器 (OST) ............................................... 56 指令格式 ............................................................................ 69 指令集 ................................................................................ 69 ADDLW...................................................................... 71 ADDWF...................................................................... 71 ANDLW...................................................................... 71 ANDWF...................................................................... 71 BCF ........................................................................... 71 BSF............................................................................ 71 BTFSC....................................................................... 71 BTFSS ....................................................................... 71 CALL.......................................................................... 72 CLRF ......................................................................... 72 CLRW ........................................................................ 72 CLRWDT ................................................................... 72 COMF ........................................................................ 72 2004 Microchip Technology Inc. PIC12F629/675 DECF ......................................................................... 72 DECFSZ..................................................................... 73 GOTO ........................................................................ 73 INCF........................................................................... 73 INCFSZ ...................................................................... 73 IORLW ....................................................................... 73 IORWF ....................................................................... 73 MOVF......................................................................... 74 MOVLW ..................................................................... 74 MOVWF ..................................................................... 74 NOP ........................................................................... 74 RETFIE ...................................................................... 74 RETLW ...................................................................... 74 RETURN .................................................................... 75 RLF ............................................................................ 75 RRF............................................................................ 75 SLEEP ....................................................................... 75 SWAPF ...................................................................... 76 SUBLW ...................................................................... 75 SUBWF ...................................................................... 75 XORLW...................................................................... 76 XORWF...................................................................... 76 总表 ............................................................................ 70 中断 .................................................................................... 61 A/D 转换器 ................................................................. 63 比较器 ........................................................................ 63 GP2/INT ..................................................................... 63 GPIO .......................................................................... 63 寄存器汇总 ................................................................. 64 TMR0 ......................................................................... 63 现场保护..................................................................... 64 2004 Microchip Technology Inc. DS41190C_CN 第 125 页 PIC12F629/675 注: DS41190C_CN 第 126 页 2004 Microchip Technology Inc. PIC12F629/675 在线支持 系统信息与升级热线 Microchip 网站为客户提供在线支持。 系统信息与升级热线为系统用户提供 Microchip 所有开 发系统软件产品的最新版本列表。同时,该热线还为客 户提供如何接收最新升级软件包的信息。热线电话号码 为: Microchip 旨在利用网站使客户可以方便地获取文件和 信息。要查看 Microchip 网站,用户必须能访问因特网, 并装有 Netscape® 或 Microsoft® Internet Explorer 之类 的网络浏览器。也可以从 Microchip 的 FTP 站点下载文 件。 美国和加拿大的客户,请拨打 1-800-755-2345, 其它国家或地区的客户,请拨打 1-480-792-7302。 连接到 Microchip 网站 可通过下列 URL 访问 Microchip 网站: www.microchip.com 042003 使用 FTP 服务可连接到文件传输站点: ftp://ftp.microchip.com 网站和文件传输站点提供各种服务。用户可以下载最 新开发工具、数据手册、应用笔记、用户指南、文章和 样本程序等文件。还可以获得 Microchip 的各种商业信 息,包括 Microchip 销售办事处、代理商和工厂代表等 信息。其它有用的数据有: • • • • • • • • • 最新 Microchip 新闻稿 技术支持,其中有常见问答 设计技巧 器件勘误表 工作机会 Microchip 顾问计划成员名单 其它关于 Microchip 产品的网站链接 有关产品、开发系统和技术信息等的会议 研讨会和其它活动的时间表 2004 Microchip Technology Inc. DS41190C_CN 第 127 页 PIC12F629/675 读者反馈表 我们努力为您提供最佳文档,以确保您能够成功使用 Microchip 产品。如果您对文档的组织、条理性、主题及其它有助 于提高文档质量的方面有任何意见或建议,请填写本反馈表并传真给我公司 TRC 经理,传真号码为 86-21-5407 5066。 请填写以下信息,并利用本表单向我们提出您对本文档的意见。 致: TRC 经理 总页数 ________ 关于: 读者反馈 发自: 姓名 公司 地址 国家 / 省份 / 城市 / 邮编 电话:(_______) __________________ 传真:(______) ____________________ 应用(可不填): 您希望收到回复吗?是 器件: 否 PIC12F629/675 文献编号: DS41190C_CN 问题: 1. 本文档中哪些部分是最有特色的? 2. 本文档是否满足了您软硬件开发的要求?如何满足的? 3. 您认为本文档的组织结构便于理解吗?如果不便于理解,那么问题何在? 4. 您认为本文档应该添加哪些内容以改善其结构和主题? 5. 您认为本文档中可以删减哪些内容,而又不会影响整体使用效果? 6. 本文档中是否存在错误或误导信息?如果存在,请指出是什么信息及其具体页数? 7. 您认为本文档还有哪些方面有待改进? DS41190C_CN 第 128 页 2004 Microchip Technology Inc. PIC12F629/675 产品标识体系 欲订货,或获取价格、交货等信息,请与我公司生产厂或各销售办事处联系。 器件编号 X /XX XXX 器件 温度范围 封装 模式 示例: a) b) 器件 PIC18F248/258(1)、 PIC18F448/458(1)、 PIC18F248/258T(2) 和 PIC18F448/458T(2) VDD 范围:4.2V 至 5.5V PIC18LF248/258(1)、 PIC18LF448/458(1)、 PIC18LF248/258T(2) 和 PIC18LF448/458T(2) VDD 范围:2.0V 至 5.5V 温度范围 I E 表示 -40°C 至 +85°C (工业级) 表示 -40°C 至 +125°C (扩展级) 封装 PT L SO SP P 表示 TQFP (薄型四方扁平封装) 表示 PLCC 表示 SOIC 表示膜状塑料双列直插式封装 (Skinny Plastic DIP) 表示 PDIP 模式 c) 注 PIC18LF258 - I/L 301:工业级温度范围, PLCC 封装,扩展 VDD 范围, QTP 模式为 #301。 PIC18LF458 - I/PT:工业级温度范围, TQFP 封装,扩展 VDD 范围。 PIC18F258 - E/L:扩展级温度范围, PLCC 封 装,一般 VDD 范围。 1: F 表示标准电压范围 LF 表示宽电压范围 2: T 表示仅卷带式 PLCC 和 TQFP 封装 QTP、 SQTP、编码或特殊要求 (其它情况均为空白) 销售与技术支持 数据手册 初始数据手册中所述的产品可能会有一份勘误表,其中描述了较小的运行差异和推荐的工作环境。要了解是否存在某一器件的勘误 表,可通过以下方式联系我们: 1. 2. 3. Microchip 在当地的销售办事处 Microchip 美国总部的文献中心,传真:1-480-792-7277 Microchip 网站 (www.microchip.com) 请指明您使用的器件名称、芯片型号和数据手册的版本 (包括文献编号)。 最新信息客户通知系统 只要在我公司网站 (www.microchip.com/cn)上注册,就能获得产品的最新信息。 2004 Microchip Technology Inc. DS41190C_CN 第 129 页 全球销售及服务网点 美洲 亚太地区 亚太地区 欧洲 公司总部 Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 1-480-792-7200 Fax: 1-480-792-7277 技术支持: http://support.microchip.com 网址:www.microchip.com 中国 - 北京 Tel: 86-10-8528-2100 Fax: 86-10-8528-2104 澳大利亚 Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 中国 - 成都 Tel: 86-28-8676-6200 Fax: 86-28-8676-6599 印度 India - Bangalore Tel: 91-80-2229-0061 Fax: 91-80-2229-0062 奥地利 Austria - Weis Tel: 43-7242-2244-399 Fax: 43-7242-2244-393 丹麦 Denmark - Ballerup Tel: 45-4450-2828 Fax: 45-4485-2829 中国 - 福州 Tel: 86-591-8750-3506 Fax: 86-591-8750-3521 印度 India - New Delhi Tel: 91-11-5160-8631 Fax: 91-11-5160-8632 法国 France - Massy Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 中国 - 香港特别行政区 Tel: 852-2401-1200 Fax: 852-2401-3431 日本 Japan - Kanagawa Tel: 81-45-471- 6166 Fax: 81-45-471-6122 德国 Germany - Ismaning Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 中国 - 上海 Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 韩国 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 或 82-2-558-5934 意大利 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 亚特兰大 Atlanta Alpharetta, GA Tel: 1-770-640-0034 Fax: 1-770-640-0307 波士顿 Boston Westford, MA Tel: 1-978-692-3848 Fax: 1-978-692-3821 芝加哥 Chicago Itasca, IL Tel: 1-630-285-0071 Fax: 1-630-285-0075 达拉斯 Dallas Addison, TX Tel: 1-972-818-7423 Fax: 1-972-818-2924 底特律 Detroit Farmington Hills, MI Tel: 1-248-538-2250 Fax: 1-248-538-2260 科科莫 Kokomo Kokomo, IN Tel: 1-765-864-8360 Fax: 1-765-864-8387 洛杉矶 Los Angeles Mission Viejo, CA Tel: 1-949-462-9523 Fax: 1-949-462-9608 圣何塞 San Jose Mountain View, CA Tel: 1-650-215-1444 Fax: 1-650-961-0286 中国 - 沈阳 Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 中国 - 深圳 Tel: 86-755-8203-2660 Fax: 86-755-8203-1760 新加坡 Singapore Tel: 65-6334-8870 Fax: 65-6334-8850 荷兰 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 英国 England - Berkshire Tel: 44-118-921-5869 Fax: 44-118-921-5820 中国 - 顺德 Tel: 86-757-2839-5507 Fax: 86-757-2839-5571 中国 - 青岛 Tel: 86-532-502-7355 Fax: 86-532-502-7205 台湾地区 - 高雄 Tel: 886-7-536-4818 Fax: 886-7-536-4803 台湾地区 - 台北 Tel: 886-2-2500-6610 Fax: 886-2-2508-0102 台湾地区 - 新竹 Tel: 886-3-572-9526 Fax: 886-3-572-6459 加拿大多伦多 Toronto Mississauga, Ontario, Canada Tel: 1-905-673-0699 Fax: 1-905-673-6509 10/20/04 DS41190C_CN 第 130 页 2004 Microchip Technology Inc.