MICROCHIP PIC10F220, PIC10F222 User Manual

PIC10F220/222
深圳市粤原点科技有限公司 (Microchip Authorized Design Partner)指定授权 总部地址:深圳市福田区福虹路世贸广场C座1103座  Add: Room 1103,Block C,World Trade Plaza, 9Fuhong Road,Futian District Shen Zhen City  电话(tel) :86-755-83666321,83666320,83666325 传真(fax) :86-755-83666329 Web: WWW.ORIGIN-GD.COM  E-mail:01@LZmcu.com abc85185@163.com 联系人:马先生,王小姐,汤小姐  在线咨询:QQ:42513912 MSN:action_tech@hotmail.com 7x24小时在线产品咨询:13509674380 13798484366
数据手册
6 引脚 8 位闪存单片机
2006 Microchip Technology Inc. 初稿 DS41270A_CN
请注意以下有关 Microchip 器件代码保护功能的要点:
•Microchip的产品均达到 Microchip 数据手册中所述的技术指标。
•Microchip确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一。
目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以 Microchip 数据手册中规定的 操作规范来使用 Microchip 产品的。这样做的人极可能侵犯了知识产权。
•Microchip愿与那些注重代码完整性的客户合作。
•Microchip或任何其他半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是 “牢不可破”的。
代码保护功能处于持续发展中。 Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视 为违反了 《数字器件千年版权法案 (Digital Millennium Copyright Act)》。如果这种行为导致他人在未经授权的情况下,能访问您的
软件或其他受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。
提供本文档的中文版本仅为了便于理解。请勿忽视文档中包含 的英文部分,因为其中提供了有关 Microchip 产品性能和使用
情况的有用信息。Microchip Technology Inc. 及其分公司和相 关公司、各级主管与员工及事务代理机构对译文中可能存在的
任何差错不承担任何责任。建议参考 Microchip Technology Inc. 的英文原版文档。
本出版物中所述的器件应用信息及其他类似内容仅为您提供便 利,它们可能由更新之信息所替代。确保应用符合技术规范,
是您自身应负的责任。Microchip 对这些信息不作任何明示或 暗示、书面或口头、法定或其他形式的声明或担保,包括但不
限于针对其使用情况、质量、性能、适销性或特定用途的适用 性的声明或担保。 Microchip 对因这些信息及使用这些信息而
引起的后果不承担任何责任。如果将 Microchip 器件用于生命 维持和 / 或生命安全应用,一切风险由买方自负。买方同意在 由此引发任何一切伤害、索赔、诉讼或费用时,会维护和保障
Microchip 免于承担法律责任,并加以赔偿。在 Microchip 知识 产权保护下,不得暗中或以其他方式转让任何许可证。
商标
Microchip 的名称和徽标组合、 Microchip 徽标、 Accuron dsPIC、 K
EELOQ、 microID、 MPLAB、 PIC、 PICmicro、
PICSTARTPRO MATEPowerSmartrfPIC SmartShunt 均为 Microchip Technology Inc. 在美国和其他国
家或地区的注册商标。
AmpLabFilterLabMigratable MemoryMXDEV MXLABSEEVAL、SmartSensor The Embedded Control Solutions Company 均为 Microchip Technology Inc. 在美国的
注册商标。
Analog-for-the-Digital AgeApplication Maestro dsPICDEMdsPICDEM.netdsPICworksECAN ECONOMONITORFanSenseFlexROMfuzzyLAB In-Circuit Serial Programming、 ICSP、 ICEPIC、 Linear
Active Thermistor、 Mindi、 MiWi、 MPASM、 MPLIB、 MPLINKPICkitPICDEMPICDEM.netPICLAB
PICtailPowerCalPowerInfoPowerMatePowerTool REAL ICE、 rfLAB、 rfPICDEM、 Select Mode、 Smart
SerialSmartTelTotal EnduranceUNI/OWiperLock ZENA 均为 Microchip Technology Inc. 在美国和其他国家或地
区的商标。 SQTP Microchip Technology Inc. 在美国的服务标记。
在此提及的所有其他商标均为各持有公司所有。 © 2006, Microchip Technology Inc. 版权所有。
Microchip Gresham
晶圆生产厂均通过了 位单片机、 性存储器和模拟产品方面的质量体系流程均符合
16949:2002
系也已通过了
位于美国亚利桑那州
及位于加利福尼亚州
ISO/TS-16949:2002
®
KEELOQ
跳码器件、串行
。此外,
Microchip
ISO 9001:2000
Chandler和Tem pe
Mountain View
EEPROM
在开发系统的设计和生产方面的质量体
认证。
、位于俄勒冈州
的全球总部、设计中心和
认证。公司在
PICmicro
、单片机外设、非易失
ISO/TS-
®
8
DS41270A_CN ii 初稿  2006 Microchip Technology Inc.
PIC10F220/222

6 引脚 8 位闪存单片机

本数据手册中包含的器件
• PIC10F220
• PIC10F222
高性能 RISC CPU
仅需学习 33 条单字指令
除程序跳转指令为双周期外,所有指令都是单周期
• 12 位宽指令
• 2 级深硬件堆栈
数据和指令的直接、间接和相对寻址模式
• 8 位宽数据总线
• 8 个硬件特殊功能寄存器
工作速度:
- 使用 8MHz内部时钟,指令周期为 500 ns
- 使用 4MHz内部时钟,指令周期 1 µs
单片机特性
• 4 MHz 或 8MHz高精度内部振荡器:
- 出厂时精度校准为 ±1%
在线串行编程 (In-Circuit Serial Programming
ICSP™)编程功能
支持在线调试 (In-Circuit Debugging, ICD)
上电复位 (Power-on Reset, POR)
短时器件复位定时器 ( Device Reset Timer
DRT)——典型值 1.125 ms
采用专用片上 RC 振荡器的看门狗定时器
Watchdog Timer , WDT),能可靠工作
可编程代码保护
复用的 MCLR
• I/O 引脚上的内部弱上拉功能
低功耗休眠模式
引脚电平变化时从休眠模式唤醒
输入引脚
低功耗特性 /CMOS 技术
工作电流:
- 当电压为 2V,频率为 4MHz< 350 µA
待机电流:
- 当电压为 2V 时,典型值为 100 nA
低功耗、高速闪存技术:
- 可经受 10 万次擦写
- 数据保存时间 >40
全静态设计
宽工作电压范围:2.0V 到 5.5V
宽温度范围:
- 工业级:-40°C +85°C
- 扩展级:-40°C +125°C
外设特性
• 4 个 I/O 引脚:
-3个具有独立方向控制的 I/O 引脚
-1个只能输入的引脚
- 直接驱动 LED 的高灌 / 拉电流
- 电平变化唤醒功能
- 弱上拉功能
带 8 位可编程预分频器的 8 位实时时钟 / 计数器 TMR0
模数 (A/D)转换器
-8位分辨率
-2路外部输入通道
-1路内部输入通道,专用于转换的 0.6 V 绝对
参考电压
器件
程序存储器 数据存储器
闪存 (字) SRAM (字节)
PIC10F220 256 16 4 1 2
PIC10F222 512 23 4 1 2
2006 Microchip Technology Inc. 初稿 DS41270A_CN 第 1
I/O
8
定时器
8 A/D
(通道数)
PIC10F220/222
引脚图
6 引脚 SOT-23
8 引脚 PDIP
GP0/AN0/ICSPDAT
SS
V
GP1/AN1/ICSPCLK
N/C
VDD
GP2/T0CKI/F
GP1/AN1/ICSPCLK
OSC4
1
2
3
1
2
3
4
6
5
4
PIC10F220/222
8
7
6
5
PIC10F220/222
GP3/MCLR
VDD
GP2/T0CKI/FOSC4
GP3/MCLR/VPP
VSS
N/C
GP0/AN0/ICSPDAT
/VPP
DS41270A_CN 第 2 页 初稿  2006 Microchip Technology Inc.
PIC10F220/222
目录
1.0 一般说明...................................................................................................................................................................................... 5
2.0 器件种类...................................................................................................................................................................................... 7
3.0 架构概述...................................................................................................................................................................................... 9
4.0 存储器构成 ................................................................................................................................................................................ 13
5.0 I/O 端口 ..................................................................................................................................................................................... 21
6.0 TMR0 模块和 TMR0 寄存器 ...................................................................................................................................................... 25
7.0 模数 (A/D)转换器 .................................................................................................................................................................. 29
8.0 CPU 的特殊性能........................................................................................................................................................................ 33
9.0 指令集综述 ................................................................................................................................................................................ 43
10.0 电气规范.................................................................................................................................................................................... 51
11.0 开发支持.................................................................................................................................................................................... 61
12.0 直流和交流特性图表 .................................................................................................................................................................. 65
13.0 封装信息.................................................................................................................................................................................... 67
索引..................................................................................................................................................................................................... 71
Microchip 网站...................................................................................................................................................................................... 73
变更通知客户服务 ................................................................................................................................................................................ 73
客户支持............................................................................................................................................................................................... 73
读者反馈表 ........................................................................................................................................................................................... 74
产品标识体系 ....................................................................................................................................................................................... 75
致 客 户
我们旨在提供最佳文档供客户正确使用 Microchip 产品。 为此,我们将不断改进出版物的内容和质量,使之更好地满足您的要求。 出版物的质量将随新文档及更新版本的推出而得到提升。
如果您对本出版物有任何问题和建议,请通过电子邮件联系我公司 TRC 经理,电子邮件地址为 CTRC@microchip.com,或将本 数据手册后附的 《读者反馈表》传真到 86-21-5407 5066。我们期待您的反馈。
最新数据手册
欲获得本数据手册的最新版本,请查询我公司的网站:
http://www.microchip.com
查看数据手册中任意一页下边角处的文献编号即可确定其版本。文献编号中数字串后的字母是版本号 的 A 版本。
例如:DS30000A是DS30000
勘误表
现有器件可能带有一份勘误表,描述了实际运行与数据手册中记载内容之间存在的细微差异以及建议的变通方法。一旦我们了解到 器件 / 文档存在某些差异时,就会发布勘误表。勘误表上将注明其所适用的硅片版本和文件版本。
欲了解某一器件是否存在勘误表,请通过以下方式之一查询:
• Microchip 网站 http://www.microchip.com
当地 Microchip 销售办事处 (见最后一页)
在联络销售办事处时,请说明您所使用的器件型号、硅片版本和数据手册版本 (包括文献编号)。
客户通知系统
欲及时获知 Microchip 产品的最新信息,请到我公司网站 www.microchip.com 上注册。
2006 Microchip Technology Inc. 初稿 DS41270A_CN 3
PIC10F220/222
注:
DS41270A_CN 4 初稿 2006 Microchip Technology Inc.
PIC10F220/222

1.0 一般说明

Microchip Technology PIC10F220/222 器件是一款低 成本、高性能的 8 位全静态闪存 CMOS 单片机。 它采RISC 架构,仅有 33 条单字单周期指令。除需要两个 周期的程序跳转指令外,所有指令都是单周期指令
4MHz时为 1 µs)。 PIC10F220/222 器件的性能大大
高于同等价位的其他产品。 12 位宽的指令具有高度的 对称性,与同类的 8 位单片机相比其代码压缩了两倍。 易于使用和记忆的指令集,大大缩短了开发周期。
PIC10F220/222产品装备的特殊功能降低了系统成本和 功耗。上电复 位 (POR)和器件复位定时器 (DRT) 使其不再需要外部复位电路。 在该器件上提供了内部振 荡器 (INTOSC)模式,从而节省了有限的 I/O 引脚, 使其可作其他用途。节省功耗的休眠模式、看门狗定时 器和代码保护功能降低了系统的成本和功耗,同时提高 了系统的可靠性。
PIC10F220/222 器件具有低成本的闪存存储器,适用于 任意数量的批量生产。用户可以完全利用 Microchip 在 闪存可编程单片机市场的价格领导地位,同时得益于闪 存可编程产品的灵活性。
支持 PIC10F220/222 器件的开发工具有:全功能宏汇编 器、软件模拟器、在线调试器、 C 编译器、低成本开发 编程器和全功能编程器。 IBM 这些工具。
®
PC 和兼容机都能支持

1.1 应用

PIC10F220/222器件适合从个人护理设备和安防系统到 低功耗远程收发器。闪存技术可以非常快速和方便地定 制应用程序(发送器代码、设备设置、接收器频率等)。 小型封装的器件可用于通孔或表面封装,使这些单片机 可以完全适应有空间限制的应用。低成本、低功耗、高 性能、使用简便和 I/O 灵活性使 PIC10F220/222 器件能 够在您认为根本不能使用单片机的场合也可以大显神通
(如较大系统中的定时器功能、逻辑电路和 PLD 以及协
处理器应用)。
1-1 PIC10F220/222 器件
时钟 最高工作频率 (MHz 存储器 闪存程序存储器
数据存储器 (字节)
外设 定时器模块
引脚电平变化时从休眠模式唤醒 有 模拟输入
特性 I/O 引脚
只能输入的引脚 内部上拉 有 在线串行编程 有 指令数 封装 6 引脚 SOT-23
1PIC10F220/222 器件具有上电复位、可选看门狗定时器、可选代码保护、高 I/O 电流驱动能力和高精度内部振荡器。
2PIC10F220/222 使用数据引脚 GP0 和时钟引脚 GP1 实现串行编程。
(1, 2)
PIC10F220 PIC10F222
88
256 512
16 23
TMR0 TMR0
22
33
11
33 33
8 引脚 PDIP
6 引脚 SOT-23
8 引脚 PDIP
2006 Microchip Technology Inc. 初稿 DS41270A_CN 第 5
PIC10F220/222
注:
DS41270A_CN 6 初稿 2006 Microchip Technology Inc.

2.0 器件种类

器件提供不同的封装类型。 根据应用和产品要求,可以 使用本章中的信息选择正确的器件。在下订单时,请使 用本数据手册后面的PIC10F220/222产品标识体系来指 定正确的器件编号。

2.1 快速批量编程 (QTP)器件

Microchip 为工厂生产订单提供快速批量编程 (Quick Turn Programming,QTP)服务。 此服务适用于那些不
想为中到大批量器件进行编程并且自有的代码已稳定的 用户。 此器件与闪存器件相同,只是所有闪存单元和熔 丝选项已在出厂前预先编程了。批量产品交付前经过了 某些代码和原型校验。欲知更多详情,请与当地 的 Microchip 销售办事处联系。
PIC10F220/222
2.2 带序列号的快速批量编程 SQTP
Microchip 提供这种独特的编程服务,可通过编程为每 个器件中一些用户定义的单元指定不同的序列号。这些 序列号可以是随机的、伪随机或连续的。
串行编程使每个器件都具有一个惟一的编号,可作为登 录码、密码或 ID 编号。
SM
)器件
2006 Microchip Technology Inc. 初稿 DS41270A_CN 7
PIC10F220/222
注:
DS41270A_CN 8 初稿 2006 Microchip Technology Inc.
PIC10F220/222

3.0 架构概述

PIC10F220/222 系列的高性能可以归功于 RISC 单片机 中普遍采用的许多架构特点。 首先,PIC10F220/222 采 用了哈佛架构,在这种架构中,分别使用独立的总线访 问程序和数据存储器。与传统的程序和数据存储共用同 一条总线的冯·诺依曼架构相比,哈佛架构具有更加优 良的总线带宽。独立的程序和数据存储器使得指令宽度 不再是 8 位。 由于指令操作码为 12 位宽,所以所有指 令都可以是单字指令。 通过 12 位宽的程序存储器总线 可以在单周期内取一条 12 位的指令。 两级流水线可以 使取指和执指同时进行,因此,除了程序跳转指令外, 所有指令(33 条)都可以在单周期(4MHz时为 1 µs8MHz时为 500 ns)内执行。
下表列出了 PIC10F220/222 器件的程序存储器(闪存) 和数据存储器 (RAM)。
存储器
器件
程序 数据
PIC10F220 256 x 12 16 x 8 PIC10F222 512 x 12 23 x 8
PIC10F220/222能直接或间接寻址其文件寄存器或数据 存储器。所有特殊功能寄存器(Special Function Register,SFR),包括程序计数器,都映射到数据存储
空间。 PIC10F220/222 有一个高度正交 (对称)的指 令集,因此它可以使用任何寻址模式对任一寄存器执行 任何操作。 指令集的对称特性以及无 “特别理想状态” 让使用 PIC10F220/222 编程更简单有效。 此外,学习 时间也得以显著缩短。
PIC10F220/222 器件包含一个 8 位ALU 和工作寄存器。 ALU是一个通用算术单元。 它对工作寄存器和文件寄存
器中的数据进行算术和布尔运算。
ALU 8 位宽,能够进行加、减、移位和逻辑操作。 非特别指明,否则算术运算一般是以 2 的补码的形式进 行的。 在两个操作数的指令中,典型情况下,其中的一 个操作数是在 W(工作)寄存器中, 另一个操作数为文 件寄存器或是一个立即数。 在单操作数指令中,操作数W 寄存器或某个文件寄存器。
W 寄存器是一个 8 位宽、用于 ALU 运算的工作寄存器。 该寄存器不可寻址。
根据所执行的指令,ALU 可以影响状态寄存器中的进位 标志位 C、半进位标志位 DC 和全零标志位 Z。在减法 运算中,C DC 位分别作为借位 如指令 SUBWF ADDWF
3-1 给出了简化框图,表 3-1 给出了相应器件的引脚 配置。
和半借位标志位。
2006 Microchip Technology Inc. 初稿 DS41270A_CN 9
PIC10F220/222

3-1:框

9-10
程序计数器
堆栈 1 堆栈 2
直接寻址
程序 总线
闪存
512 x 12 256 x 12 程序 寄存器
12
指令寄存器
5
23 16
RAM 地址
数据总线
RAM
字节 文件
寄存器
地址 MUX
5-7
FSR 寄存器
9
8
间接寻址
地址
GPIO
GP0/AN0/ICSPDAT GP1/AN1/ICSPCLK GP2/T0CKI/FOSC4 GP3/MCLR/VPP
ALU
W 寄存器
Timer0
状态寄存器
MUX
ADC
绝对 参考 电压
指令
解码和
控制
时序 发生
8
MCLR
器件复位
定时器
上电 复位
看门狗 定时器
内部 RC
时钟
VDD, VSS
3
8

3-1 引脚配置说明

名称 功能
输入 类型
GP0/AN0/ICSPDAT GP0 TTL CMOS
AN0 AN
ICSPDAT ST CMOS
GP1/AN1/ICSPCLK GP1 TTL CMOS
AN1 AN
ICSPCLK ST CMOS
GP2/T0CKI/FOSC4 GP2 TTL CMOS
T0CKI ST
F
OSC4
GP3/MCLR
/VPP GP3 TTL
MCLR
V
PP HV
V
DD VDD P
V
SS VSS P
ST
图注: I = 输入, O = 输出, I/O = 输入 / 输出, P = 电源,- = 未用, TTL = TTL 输入,
ST = 施密特触发器输入, AN = 模拟输入
输出 类型
双向 I/O 引脚。 可用软件编程为内部弱上拉和当引脚电平变化时从休 眠唤醒。
模拟输入。
在线编程数据。 双向 I/O 引脚。可用软件编程为内部弱上拉和当引脚电平变化时从休
眠唤醒。
模拟输入。
在线编程时钟。 双向 I/O 引脚。
时钟输入到 TMR0
CMOS
振荡器 /4 输出。
输入引脚。 可用软件编程为内部弱上拉和当引脚电平变化时从休眠唤
醒。
主复位。 当配置为 MCLR
时,该引脚为低电平时复位器件 (低电平有 效)。 在器件正常工作期间 MCLR 器件会进入编程模式。 如果配置为MCLR
编程电压输入。 - 逻辑电路和 I/O 引脚的正电源。 - 逻辑电路和 I/O 引脚的参考地。
AN0
AN1
说明
/VPP 上的电压不能超过 VDD,否则
,则始终使能弱上拉功能。
DS41270A_CN 10 初稿 2006 Microchip Technology Inc.
PIC10F220/222

3.1 时钟机制 / 指令周期

时钟信号在器件内部被四分频后,产生四个不重叠的正 交时钟节拍,称为 Q1Q2Q3 Q4 在每个 Q1 节PC 递增;在 Q4 节拍从程序存储器取指并将指令锁 存到指令寄存器。 指令的译码和执行是在下一个 Q1 到 Q4 节拍中完成的。图 3-2 和例 3-1 给出了时钟和指令执 行的流程图。

3-2:时/ 指令周期

Q2 Q3 Q4
OSC1
Q1
Q2
Q3
Q4
PC
Q1
PC
Q1

3.2 指令流 / 流水线

一个指令周期由四个 Q 节拍组成 (Q1Q2Q3 Q4)。 取指和执行指令是流水线操作的,因此取指需要 一个指令周期,而译码和执行指令则需要另一个指令周 期。但由于是流水线操作,所以每条指令的等效执行时 间都是一个指令周期。如果某条指令改变了程序计数器
(如 GOTO指令),则需要两个指令周期才能完成该指令 (见例 3-1)。
取指周期由 Q1 节拍中 PC 1 开始。
指令的执行过程如下:在 Q1 节拍,将所取指令锁存到 指令寄存器中。然后在 Q2Q3 Q4 节拍中进行指令 的译码和执行。其中读数据存储器(读操作数)发生在
Q2 节拍,写操作发生在 Q4 节拍 (写目标单元)。
Q2 Q3 Q4
PC + 1 PC + 2
Q2 Q3 Q4
Q1
内部 相位 时钟
取指(PC
执行指令(PC - 1
取指(PC + 2
执行指令(PC
取指(PC + 2
执行指令(PC +1

3-1 指令流水线流程图

1. MOVLW 03H
2. MOVWF GPIO
3. CALL SUB_1
4. BSF GPIO, BIT1
除程序跳转指令之外,所有指令都是单周期指令。由于程序跳转指令将导致一条已取指令从流水线清除,需要重新 取指,然后执行指令,所以程序跳转指令需要两个周期。
取指 1 执行 1
取指 2 执行 2
取指 3 执行 3
取指 4 清除
取指 SUB_1 执行 SUB_1
2006 Microchip Technology Inc. 初稿 DS41270A_CN 11
PIC10F220/222
注:
DS41270A_CN 12 初稿 2006 Microchip Technology Inc.
PIC10F220/222

4.0 存储器构成

PIC10F220/222 的存储器分为程序存储器和数据存储 器。可使用文件选择寄存器 (File Selection RegisterFSR)来访问数据存储器分区。

4.1 PIC10F220 的程序存储器构成

PIC10F220 器件具有 9 位程序计数器(Program Counter,PC),可以对512 x 12程序存储空间进行寻址。
PIC10F220 中只有前 256 x 12 0000h-00FFh)空间
是物理实现的(见图 4-1)。 访问这些地址边界以外的 单元将折回到前 256 x 12 空间 (PIC10F220)。 有效 的复位向量位于 0000h,(见图 4-1)。 00FFh 单元
PIC10F220)包含内部时钟振荡器的校准值。 决不
能改写该值。

4-1PIC10F220 的程序存储器映射和堆栈

<8:0>
9
0000h
CALL, RETLW
PC<7:0>
1 级堆栈 2 级堆栈
复位向量
(1)

4.2 PIC10F222 的程序存储器构成

PIC10F222 器件具有 10 位程序计数器(PC),可以对 1024 x 12 程序存储空间进行寻址。
该器件程序存储器的高地址部分中,只有前 512 x 12
0000h-01FFh)空间是物理实现的 (见图 4-2)。 访
问这些地址边界之上的单元将折回到前 256 x 12 空间
PIC10F222)。 有效的复位向量位于0000h(见图4-2)。
01FFh 单元 (PIC10F222)包含内部时钟振荡器的校 准值。 决不能改写该值。

4-2PIC10F222 的程序存储器映射和堆栈

<9:0>
10
0000h
CALL, RETLW
PC<8:0>
1 级堆栈 2 级堆栈
复位向量
片上程序
存储器
(1)
片上程序
存储器
用户存储空间
256
1: 地址 0000h 是复位向量的有效地址。 00FFh
单元包含 MOVLW xx 内部振荡器校准值。
00FFh 0100h
01FFh
用户存储空间
512
1: 地址 0000h 是复位向量的有效地址。 01FFh
单元包含 MOVLW xx 内部振荡器校准值。
01FFh 0200h
02FFh
2006 Microchip Technology Inc. 初稿 DS41270A_CN 第 13
PIC10F220/222

4.3 数据存储器构成

数据存储器由寄存器 (RAM 字节)组成。 因此,器件 的数据存储器由它的文件寄存器指定。文件寄存器被分 为两个功能组:特殊功能寄存器 (SFR)和通用寄存器
General Purpose RegistersGPR)。
特殊功能寄存器包括 TMR0 寄存器、程序计数器
PC)、状态寄存器、I/O 寄存器(GPIO)和文件选择
寄存器 (File Select RegisterFSR)。 此外,特殊功 能寄存器也用于控制 I/O 端口配置和预分频比选择。
通用寄存器用于存储指令执行所需的数据和控制信息。
对于 PIC10F220 来说,文件寄存器由 9 个特殊功能寄 存器和 16 个通用寄存器组成 (图 4-3 和图 4-4)。
对于 PIC10F222 来说,文件寄存器由 9 个特殊功能寄 存器和 23 个通用寄存器组成 (图 4-4)。
4.3.1 通用文件寄存器
可以直接访问通用文件寄存器,也可以通过文件选择寄 存器 (FSR)间接访问该寄存器。请参见第 4.9 节“间 接数据寻址:INDF FSR 寄存器”。

4-3 PIC10F220 文件寄存器映射

文件地址
(1)
00h
01h
02h
03h
04h
05h
06h
07h
08h 09h
0Fh
10h
INDF
TMR0
PCL
STATUS
FSR
OSCCAL
GPIO
ADCON0
ADRES
未用
通用
寄存器
(2)

4-4 PIC10F222 文件寄存器映射

文件地址
(1)
00h
01h
02h
03h
04h
05h
06h
07h
08h
09h
1Fh
1: 这不是物理寄存器。请参见第 4.9 节“间接
数据寻址:INDF FSR 寄存器”。
INDF
TMR0
PCL
STATUS
FSR
OSCCAL
GPIO
ADCON0
ADRES
通用
寄存器
1Fh
1: 这不是物理寄存器。请参见第 4.9 节“间接
DS41270A_CN 14 初稿 2006 Microchip Technology Inc.
数据寻址:INDF FSR 寄存器”。
2: 未用,读为 00h
PIC10F220/222
4.3.2 特殊功能寄存器
特殊功能寄存器 (SFR)是 CPU 和外设功能用来控制 器件操作的寄存器 (表 4-1)。
特殊功能寄存器可以被分成两组。本章仅讲述与 “内 核”有关的特殊功能寄存器。那些与外设功能部件的操 作有关的特殊功能寄存器将在相应的外设功能部件章节 中讲述。

4-1 特殊功能寄存器 (SFR 汇总

地址 名称
00h INDF
01h TMR0
02h PCL
03h STATUS GPWUF
04h FSR 05h OSCCAL CAL6 CAL5 CAL4 CAL3 CAL2 CAL1 CAL0 FOSC4 1111 1110 18
06h GPIO
07h ADCON0 ANS1 ANS0
08h ADRES
N/A TRISGPIO
N/A OPTION GPWU
图注: - = 未用,读为 0, x = 未知, u = 不变。 注 1: 无法直接访问程序计数器的高字节。 请参见第 4.7 节 “程序计数器”了解如何访问这些位。
(1)
2: 其他复位 (除上电复位外)包括通过 MCLR 3: 请参见表 8-1 了解其他复位的特定值。
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
使用 FSR 中的内容对数据存储器进行寻址 (不是物理寄存器) 8 位实时时钟 / 计数器 PC 的低 8
间接数据存储器地址指针
模数转换的结果
I/O 控制寄存器
GPPU T0CS T0SE PSA PS2 PS1 PS0 1111 1111 17
TO
PD ZDCC0--1 1xxx
GP3 GP2 GP1 GP0 ---- xxxx 21
CHS1 CHS0 GO/DONE
引脚的外部复位、看门狗定时器复位和引脚电平变化时唤醒复位。
ADON 11-- 1100 30
上电复位
时的值
xxxx xxxx 20 xxxx xxxx 25 1111 1111 19
111x xxxx 20
xxxx xxxx 30
---- 1111 23
页码
(2)
(3)
16
2006 Microchip Technology Inc. 初稿 DS41270A_CN 第 15
PIC10F220/222

4.4 状态寄存器

此寄存器包含 ALU 的算术状态、复位状态和页面预选择 位。
状态 (STATUS)寄存器和任何其他寄存器一样,可以 作为任何指令的目标寄存器。如果一条影响 ZDC
C 位的指令的目标寄存器是状态寄存器,则会禁止对这 3 位进行写操作。根据器件逻辑,这些位会被置 1 或清
零。 而且, TO 条把状态寄存器作为目标寄存器的指令后,状态寄存器 的结果可能和预想的不一样。

寄存器 4-1 状态寄存器 (地址:03h

PD 位也是不可写的。所以当执行一
R/W-0 R/W-0 R/W-0 R-1 R-1 R/W-x R/W-x R/W-x
bit 7
bit 6-5
bit 4
bit 3
bit 2
bit 1
bit 0
GPWUF
bit 7 bit 0
GPWUF: GPIO 复位位
1 = 由于引脚电平发生变化从休眠唤醒而复位 0 = 上电复位或其他复位
保留:不使用。 使用该位会影响与今后产品的向上兼容性。
TO
:超时位
1 = 上电后、执行 CLRWDT 指令或 SLEEP 指令后 0 = 发生了 WDT 超时
PD掉电位
1 = 上电后或执行 CLRWDT 指令后 0 = 执行 SLEEP 指令后
Z:零标志位
1 = 算术运算或逻辑运算结果为零 0 = 算术运算或逻辑运算结果不为零
DC:半进位 / 借位 ADDWF
1 = 结果的第 4 个低位向高位发生了进位 0 = 结果的第 4 个低位没有向高位发生进位
SUBWF
1 = 结果的第 4 个低位没有发生借位 0 = 结果的第 4 个低位发生了借位
C进位 / 借位标志位 (对于 ADDWFSUBWFRRF RLF 指令) ADDWF
1 = 发生了进位 1= 没有发生借位 分别装载最低位或最高位 0 = 没有发生进位 0 = 发生了借位
SUBWF RRF RLF
标志位 (对于 ADDWF SUBWF 指令)
例如, CLRF Status 将把高三位清零并将 Z 位置 1。 这将把状态寄存器变为 000u u1uu(其中 u = 不变)。
因此,建议仅使用 BCFBSF MOVWF 指令改变来改 变状态寄存器,因为这些指令不会影响状态存器中的 ZDC C 位。 欲知其他影响状态位的指令,请参见9.0 节 “指令集综述”。
TO
PD ZDCC
图注:
R = 可读位 W = 可写位 U= 未用位,读为 0
-n = 上电复位时的值 1 = 10 = 清零 x = 未知
DS41270A_CN 16 初稿  2006 Microchip Technology Inc.

4.5 选项寄存器

PIC10F220/222
选项 (OPTION)寄存器是 8 位宽的只写寄存器,它包 含各种用于配置 Timer0/WDT 预分频器和 Timer0 的控 制位。
选项寄存器不是存储器映射的,通过执行 OPTION 指令 可将 W 寄存器的内容传送到选项寄存器。复位将使 OPTION<7:0> 位置 1

寄存器 4-2 选项寄存器 (PIC10F220/222

W-1 W-1 W-1 W-1 W-1 W-1 W-1 W-1
GPWU GPPU T0CS T0SE PSA PS2 PS1 PS0
bit 7 bit 0
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2-0
GPWU
引脚电平变化唤醒使能位 (GP0GP1 GP3
1 = 禁止 0 = 使能
GPPU
弱上拉使能位 (GP0、 GP1 和 GP3)
1 = 禁止 0 = 使能
T0CS Timer0 时钟源选择位
1 = T0CKI 引脚上的传输信号 (优先级高于 T0CKI 引脚上的 TRIS 0 = 内部指令周期时钟 F
T0SE Timer0 时钟源边沿选择位
1 = T0CKI 引脚上电平的下降沿递增 0 = T0CKI 引脚上电平的上升沿递增
PSA预分频器分配位
1 = 预分频器分配给 WDT 0 = 预分频器分配给 Timer0
PS<2:0> 预分频器分频比选择位
位值 Timer0 分频比 WDT 分频比
000 001 010 011 100 101 110 111
OSC/4
1 : 2 1 : 4 1 : 8 1 : 16 1 : 32 1 : 64 1 : 128 1 : 256
1:如果 TRIS 位清零 (= 0),将禁止相应引
脚的电平变化时唤醒功能和上拉功能
(即,注意 TRIS 将改写选项寄存器中的
GPWU 控制位)。
GPPU
2: 如果将 T0CS 位置 1,它将改写 T0CKI
脚的 TRIS 功能。
1 : 1 1 : 2 1 : 4 1 : 8 1 : 16 1 : 32 1 : 64 1 : 128
图注:
R = 可读位 W = 可写位 U= 未用位,读为 0
-n = 上电复位时的值 1 = 10 = 清零 x = 未知
2006 Microchip Technology Inc. 初稿 DS41270A_CN 第 17
PIC10F220/222

4.6 振荡器校准寄存器

振荡器校准 (OSCCAL)寄存器用于校准内部高精度 4MHz/8MHz振荡器。 它包含 7 位校准位。
注: 擦除器件同时也会擦除预编程的内部振荡
器内部校准值。 必须在擦除该部分之前读 取校准值,这样以后才可以正确地重新编 程。
在您读取了校准常数以后,请不要更改该值。 请参见第
8.2.2 节“内部4MHz/8MHz振荡器”。

寄存器 4-3 OSCCAL 振荡器校准寄存器 (地址:05h)

R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-0
CAL6 CAL5 CAL4 CAL3 CAL2 CAL1 CAL0 FOSC4
bit 7 bit 0
bit 7-1
bit 0
CAL<6:0>振荡器校准位 0111111 = 最高频率
0000001 0000000 = 中心频率
1111111
1000000 = 最低频率
FOSC4 INTOSC/4 输出使能位
1 = INTOSC/4 输出到 GP2 0 = GP2/T0CKI/COUT 用作 GP2 功能
1:如果使能将改写控制 GP2/T0CKI/COUT 引脚的寄存器。
图注:
R = 可读位 W = 可写位 U = 未用位,读为 0
-n = 上电复位时的值 1 = 10 = 清零 x = 未知
(1)
DS41270A_CN 18 初稿  2006 Microchip Technology Inc.
PIC10F220/222

4.7 程序计数器

当执行程序指令时,程序计数器 (PC)中将包含下一 条要被执行的程序指令的地址。 除更改 PC 的指令外, 每执行一条指令, PC 值都会增 1
对于 GOTO 指令,PC 的 bit 0 到 bit 8 由 GOTO 指令字提 供。 PC 锁存器 (PCL)被映射到 PC<7:0>
对于 CALL 指令或其他以 PCL 作为目标寄存器的指令, PC bit 0 bit 7 也是由指令字提供的。 但是,PC<8> 不由指令字提供,它始终保持清零 (图 4-5)。
PCL 为目标寄存器的指令或修改 PCL 的指令包括 MOVWF PCADDWF PC 和 BSF PC,5
注: 由于 CALL 指令或任何修改 PCL 的指令会
PC<8> 清零,因此所有子程序调用或相 对跳转指令都被限制在任何程序存储器页
512 字长)的前 256 个单元中。

4-5 执行跳转指令时装载 PC 的过程

GOTO 指令
87 0
PC
指令字
CALL 或修改 PCL 的指令
87 0
PC
PCL
PCL
4.7.1 复位的影响
复位时 PC 被置为全 1,这意味着 PC 指向程序存储器 中的最后一个单元(即振荡器校准指令)。 执行 MOVLW XX 指令后,PC 将计满返回到 0000h 单元并开始执行用 户代码。

4.8 堆栈

PIC10F220 器件有一个 2 级深、 8 位宽的硬件 PUSH/ POP 堆栈。
PIC10F222 器件有一个 2 级深、 9 位宽的硬件 PUSH/ POP 堆栈。
执行 CALL 指令会将堆栈第一级单元中的内容压入
PUSH)第二级单元中,然后将 PC 的当前值加 1 压入
堆栈的第一级。如果连续执行了多于两条 CALL 指令,只 会存储最近的两个返回地址。
执行 RETLW 指令会将堆栈第一级单元中的内容弹出
POP)到 PC,然后将堆栈第 2 级单元中的内容复制
到第一级单元中。如果连续执行了多于两条 RETLW 指 令,将使用先前存储在堆栈第二级单元中的地址填充堆 栈。
1:可以使用在指令中指定的立即数装载W
存器。 这对于在程序存储器中实现数据查 找表尤其有用。
2: 不存在指示堆栈上溢或下溢条件的状态
位。
3: 不存在称为 PUSHPOP的指令助记符。
这些是执行 CALL RETLW 指令后出现的 情形。
指令字
复位为 0
2006 Microchip Technology Inc. 初稿 DS41270A_CN 19
PIC10F220/222

4.9 间接数据寻址:INDF FSR 寄存器

INDF 寄存器不是物理寄存器。 寻址 INDF 实际寻址的 是地址包含在 FSR 寄存器中的寄存器(FSR 是一个
)。 这就是间接寻址。
4.9.1 间接寻址
地址为 09 的文件寄存器包含值 10h
地址为 0A 的文件寄存器包含值 0Ah
将值 09 载入 FSR 寄存器
读 INDF 寄存器将返回值 10h
将 FSR 寄存器的值增 1 (FSR = 0A
读 INDF 寄存器将返回值 0Ah。 直接读 INDF 本身 (FSR = 0)将返回 00h 直接写
INDF 寄存器将导致空操作 (虽然会影响状态位)。
4-1 给出了使用间接寻址将 RAM 单元 10h-1Fh 清零 的简单程序。

4-6:直/ 间接寻址

直接寻址
(操作码) 04

4-1 使用间接寻址清零 RAM 的方法

MOVLW 0x10 ;initialize poi n ter
NEXT CLRF INDF ;cle a r IND F
CONTINUE
FSR 是一个 5 位宽的寄存器。 它与 INDF 寄存器配合使 用来间接寻址数据存储区。
FSR<4:0> 位被用来选择数据存储器地址 00h 1Fh
MOVWF FSR ;to RAM
;register INCF FSR, F ;inc pointer BTFSC FSR, 4 ;all done? GOTO NEXT ;NO, clear next
: ;YES, continue :
注: 10F220 10F222不使用分区。 FSR<7:5>
不被使用并且读为 1
间接寻址
4
FSR
0
单元选择
00h
数据 存储器
1: 要详细了解寄存器映射,请参见第 4.3 节 “数据存储器构成”。
0Fh
(1)
10h
1Fh
Bank 0
单元选择
DS41270A_CN 20 初稿 2006 Microchip Technology Inc.
PIC10F220/222

5.0 I/O 端口

和任何其他寄存器一样, I/O 寄存器也可在程序控制下 进行读写。 但是,读指令 (如 MOVF PORTB,W)始终 读取I/O引脚,而与引脚是处于输入还是输出模式无关。 复位时,由于 I/O 控制寄存器被置为全 1,因此所有 I/O 端口都被定义为输入 (输入为高阻态)。

5.1 GPIO

GPIO 是一个 8 I/O 寄存器。 仅使用其低 4
GP<3:0>)。 bit 4 到 bit 7 位未用,读为 0 注意 GP3
是一个只能输入的引脚。 GP0、 GP1 和 GP3 引脚可以 被配置为具有内部弱上拉和电平变化唤醒功能。 电平变 化唤醒和弱上拉功能并不可通过引脚选择。如果 GP3/
被配置为 MCLR,可通过配置字使能弱上拉,但
MCLR
禁止该引脚的电平变化唤醒功能。

5.2 TRIS 寄存器

通过执行 TRIS f 指令,可使用 W 寄存器的内容装载输 出驱动器控制寄存器。 将 TRIS 寄存器的某位置 1,可 使相应的输出驱动器置于高阻模式。 而将 TRIS 寄存器 的某位清零,会将输出数据锁存器的内容送入选定的引 脚并使能输出缓冲器。 特殊的引脚为 GP3 引脚和 GP2/ T0CKI/FOSC4引脚,前者为只输入引脚,后者是由各种 寄存器控制的引脚。 请参见表 5-1。
注: 读端口读的是引脚而非输出数据锁存器。
也就是说,如果使能了某个引脚的输出驱 动器,并驱动为高电平,但外部系统将该 引脚保持为低电平,那么读相应端口将表 明该引脚为低电平。
TRIS 寄存器是 “只写”的,并且在复位时被置为全 1
(禁止输出驱动器)。

5.3 I/O 接口

5-5 给出了 I/O 端口引脚的等效电路。 除只能输入的 GP3 引脚外,所有端口引脚都可用于输入和输出操作。 对于输入操作,这些端口是不锁存的。 所有输入数据都 必须位于引脚上,直到被输入指令 (如 MOVF GPIO, W)读取为止。 输出是锁存的并将保持不变,直到输出 锁存器被再次写入为止。 要将端口引脚用作输出,必须TRIS 寄存器中相应的方向控制位清零 (= 0)。 要将端 口引脚用作输入,必须将相应的 TRIS 位置 1 可分别 将任何 I/O 引脚 (除 GP3)编程为输入或输出。

5-1:一I/O 引脚的等效电路

数据 总线
写 端口
W
寄存器
TRIS f
D
D
数据 锁存器
CK
TRIS
锁存器
CK
复位
Q
VDD
VDD
Q
Q
Q
P
N
SS
V
(1)
I/O
引脚
VSS

5-1 引脚功能的优先级

优先级
1 AN0 AN1 FOSC4 I/MCLR 2 TRIS GPIO TRIS GPIO T0CKI 3
GP0 GP1 GP2 GP3

5-2 引脚配置为数字模式要求

FOSC4 T0CS ANS1 ANS0 MCLRE
寄存器
GP0
GP1
GP2 0 0
GP3
图注: = 位状态对引脚配置为数字模式没有影响。
OSCCAL OPTION ADCON0 ADCON0 CONFIG
- -
读端口
1: 请参见表 3-1,了解缓冲器类型。
TRIS GPIO
0
0
- -
0
2006 Microchip Technology Inc. 初稿 DS41270A_CN 第 21
PIC10F220/222
T
5-2 GP0 GP1 框图 5-3 GP2 框图
GPPU
数据 总线
写 端口
W
寄存器
RIS f
数据 锁存器
CK
TRIS
锁存器
CK
QD
(1)
I/O 引脚
Q
QD
Q
数据 总线
写 端口
W
寄存器
TRIS f
数据 锁存器
CK
TRIS
锁存器
CK
复位
T0CS
QD
FOSC4
Q
OSC 熔丝
QD
Q
I/O 引脚
(1)
复位
模拟使能
1 I/O 引脚与 VDD VSS 间连有保护二极管。
读端口
Q
不匹配
ADC
1 I/O 引脚与 VDD VSS 间连有保护二极管。
D
CK

5-4 GP3 框图

GPPU
MCLRE
复位
数据总线
读端口
读端口
T0CKI
I/O 引脚
Q
D
(1)
CK
不匹配
1 GP3/MCLR 引脚只与 VSS 连有保护二极管。
DS41270A_CN 22 初稿 2006 Microchip Technology Inc.
Loading...
+ 54 hidden pages