MICROCHIP PIC10F200, PIC202, PIC204, PIC206 User Manual

PIC10F200/202/204/206
数据手册
6 引脚 8 位闪存单片机
2005 Microchip Technology Inc. 初稿 DS41239B_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 徽标、 Accuron dsPIC、 K
EELOQ、 microID、 MPLAB、 PIC、 PICmicro、
PICSTARTPRO MATEPowerSmartrfPIC SmartShunt 均为 Microchip Technology Inc. 在美国和其他国
家或地区的注册商标。
AmpLabFilterLabMigratable MemoryMXDEV MXLABPICMASTERSEEVALSmartSensor 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、 MPASMMPLIBMPLINKMPSIM PICkitPICDEMPICDEM.netPICLABPICtail
PowerCalPowerInfoPowerMatePowerToolrfLAB rfPICDEMSelect ModeSmart SerialSmartTelTot a l
Endurance WiperLock 均为 Microchip Technology Inc.在
美国和其他国家或地区的商标。 SQTP Microchip Technology Inc. 在美国的服务标记。
在此提及的所有其他商标均为各持有公司所有。
© 2005, Microchip Technology Inc. 版权所有。
Microchip
10
位单片机、 性存储器和模拟产品方面的质量体系流程均符合
16949:2002
系也已通过了
位于美国亚利桑那州
Mountain View
月通过了
ISO/TS-16949:2002
KEELOQ
。此外,
ISO 9001:2000
的全球总部、设计中心和晶圆生产厂均于
®
跳码器件、串行
Microchip
Chandler和Tem pe
质量体系认证。公司在
EEPROM
在开发系统的设计和生产方面的质量体
认证。
及位于加利福尼亚
PICmicro
、单片机外设、非易失
ISO/TS-
2003
®
DS41239B_CN ii 初稿  2005 Microchip Technology Inc.
8
PIC10F200/202/204/206

6 引脚 8 位闪存单片机

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

1.0 器件概述

来自 Microchip Technology 的 PIC10F200/202/204/206 器件,是低成本、高性能、 8 位、全静态和基于闪存的
CMOS单片机。它们采用的是RISC架构,只有33条单字 / 单周期指令。除了程序跳转是双周期指令外,其余指令
都是单周期的(1 µs)。 PIC10F200/202/204/206 器件 的性能,要比同等价格的竞争产品高出一个数量级。由 于 12 位宽指令是高度对称的,其代码压缩效率比其他 同类型 8 位单片机高出一倍。 易于使用和记忆的指令集 显著地缩短了开发时间。
PIC10F200/202/204/206 产品具有降低系统成本和功耗 的特殊功能。由于具有上电复位电路(POR)和器件复 位定时器 (DRT),因此不再需要外部复位电路。器件 特有的 INTRC 内部振荡器模式,节省了数量有限的可 用 I/O 资源。省电休眠模式、看门狗定时器和代码保护 功能降低了系统成本和功耗,增强了可靠性。
PIC10F200/202/204/206 器件配有低成本的闪存,适用 于任何规模的生产。客户能够充分受益于 Microchip 在 闪存可编程单片机领域的价格领先优势,同时还能得益 于闪存在编程方面的灵活性。
PIC10F200/202/204/206 产品的支持软件包括:全功能 的宏汇编器、软件模拟器、在线调试器、 C 编译器、低 成本的开发编程器,以及全功能的编程器。全部支持工 具都能运行在 IBM
®
PC 及其兼容机上。
1.1 应用
PIC10F200/202/204/206 器件的应用范围很广,从个人 护理器具、安全系统到低功耗的远程发送器 / 接收器。 闪存技术使得应用程序(发送器代码、系统设置、 接收 器频率,等等)的定制极为快速而方便。直插式或表面 贴装式的封装体积很小,非常适用于空间受限的应用。 低成本、低功耗、高性能、易于使用以及灵活的 I/O,使 得 PIC10F200/202/204/206 器件的用途非常广泛,甚至 能够应用在一些以前从来没有考虑过使用单片机的领域
(例如,大型系统和协处理器应用中的定时器功能、逻
辑和 PLD 电路)。
1-1 PIC10F200/202/204/206 器件
PIC10F200 PIC10F202 PIC10F204 PIC10F206
时钟 最大工作频率 (MHz 44 4 4 存储器 闪存程序存储器 256 512 256 512
数据存储器 (字节) 16 24 16 24
外设 定时器模块 TMR0 TMR0 TMR0 TMR0
引脚电平变化时从休眠中唤醒 有 比较器 00 1 1
其他 I/O 引脚 33 3 3
只用作输入的引脚 11 1 1 内部上拉 有 在线串行编程 有 指令个数 33 33 33 33 封装 6 引脚 SOT-23
8 引脚 PDIP
PIC10F200/202/204/206 器件具有上电复位、可选择的看门狗定时器、可选择的代码保护、高 I/O 电流能力以及精确的内部振荡器。 PIC10F200/202/204/206 器件采用串行编程,数据引脚是 GP0,时钟引脚是 GP1
6 引脚 SOT-23
8 引脚 PDIP
6 引脚 SOT-23
8 引脚 PDIP
6 引脚 SOT-23
8 引脚 PDIP
2005 Microchip Technology Inc. 初稿 DS41239B_CN5
PIC10F200/202/204/206
注:
DS41239B_CN6 初稿 2005 Microchip Technology Inc.
PIC10F200/202/204/206
2.0 PIC10F200/202/204/206 器件种
器件提供了各种封装形式供选择。根据应用和生产的具 体要求,可使用本节提供的信息来选择合适的器件。在 下订单时,请依据本数据手册后面的 PIC10F200/202/ 204/206 产品标识体系,使用正确的器件编号。
2.1 快速编程 (QTP 器件
对于工厂生产订单, Microchip 提供 QTP Quick Turn Programming)编程服务。服务的适用对象是器件数量 为中到大批量、并且代码已经稳定的用户。这种器件与 闪存器件相同,只是所有的闪存单元和配置选项已由生 产厂预先编程。在生产批量出货之前,要先通过代码和 原型验证。请联系本地 Microchip Technology 销售办事 处,以了解详细情况。
2.2 带序列号的快速编程 (SQTPSM)器
Microchip 提供唯一化编程服务:在每个器件中由用户定 义的地址单元,写入不同的序列号。 序列号可以是随机 的、伪随机的或连续的。
序列化处理使得每个器件都有一个唯一的编号,可以用 作进入代码、口令或 ID 编号。
2005 Microchip Technology Inc. 初稿 DS41239B_CN 第7
PIC10F200/202/204/206
注:
DS41239B_CN8 初稿 2005 Microchip Technology Inc.
PIC10F200/202/204/206

3.0 架构概述

PIC10F200/202/204/206 器件的高性能可归因于 RISC 微处理器架构的一系列特性。首先, PIC10F200/202/ 204/206 器件采用 Harvard 架构,访问程序和数据分别 使用不同的总线。与传统的使用同一总线来读取程序和 数据的冯诺依曼架构相比较,带宽得到了提高。程序和 数据的分离,使得指令字长可以与 8 位宽的数据字长不 同。采用 12 位宽的指令操作码,使指令全部成为单周 期指令。 12 位宽程序存储器访问总线在一个周期中读 取一条 12 位指令。两级流水线并行地读取指令和执行 指令,从而,除了程序跳转外的所有指令(33 条指令) 都将在一个周期内 (1 µs @ 4 MHz)得到执行。
下面的表格列出了PIC10F200/202/204/206器件的程序 存储器 (Flash)和数据存储器 (RAM)。
3-1 PIC10F2XX 存储器
存储器
器件
程序 数据
PIC10F200 256 x 12 16 x 8
PIC10F202 512 x 12 24 x 8
PIC10F204 256 x 12 16 x 8
PIC10F206 512 x 12 24 x 8
PIC10F200/202/204/206 器件内有一个8 位 ALU和一个
工作寄存器。ALU 是通用的算术单元,它对工作寄存器 和任一寄存器文件中的数据执行算术和逻辑运算。
ALU 8 位宽的,能够进行加、减、移位和逻辑操作。 除非另外声明,算术操作实际上是以二进制补码方式来 进行的。在双操作数指令中,一个操作数通常是 W(工 作)寄存器,而另一个操作数或者是文件寄存器,或者 是立即数。在单操作数指令中,操作数或者是 W 寄存 器,或者是文件寄存器。
W寄存器是8位的工作寄存器,用于ALU操作。不可对其 寻址。
根据所执行的指令, ALU 可能影响 状态寄存器中进位
C)、辅助进位 (DC)和零 (Z)标志位的值。在减
法中, C DC 位分别用作借位 (borr 位(digit borrow ADDWF 指令。
3-1 和图 3-2 所示为简化的框图,相应的器件引脚说 明请参见表 3-2
) 。相关示例请参见 SUBWF 和
ow)和辅助借
PIC10F200/202/204/206 器件能够直接或间接寻址其文 件寄存器和数据存储器。包括 PC 在内的全部特殊功能 寄存器(SFR),都被映射到数据存储器中。 PIC10F200/202/204/206 器件的指令集具有高度正交性
(对称的),使用户能够对任意寄存器、使用任意的寻址
方式执行任何操作。该对称特性和普遍适用性,使得 PIC10F200/202/204/206 器件的编程简单而高效。此 外,也显著降低了学习难度。
2005 Microchip Technology Inc. 初稿 DS41239B_CN 第9
PIC10F200/202/204/206
3-1 PIC10F200/202 简化框图
程序 总线
闪存
512 x12
256 x12
程序存储器
12
指令寄存器
指令解码
控制
时序 发生
9-10
8
直接地址
MCLR
程序计数器
堆栈 1 堆栈 2
器件复位
定时器
上电 复位
看门狗 定时器
内部 RC
时钟
VDD, VSS
RAM 地址
5
数据总线
24 或 16
字节
文件寄存器
(1)
地址多路开关
3
ALU
8
W 寄存器
RAM
9
5-7
FSR 寄存器
状态寄存器
多路开关
Timer0
间接 地址
8
GPIO
GP0/ICSPDAT GP1/ICSPCLK GP2/T0CKI/FOSC4
GP3/MCLR/VPP
DS41239B_CN10 初稿  2005 Microchip Technology Inc.
3-2 PIC10F204/206 简化框图
PIC10F200/202/204/206
程序 总线
闪存
512 x12
256 x12
程序存储器
12
指令寄存器
指令解码
控制
时序 发生
9-10
8
直接地址
MCLR
程序计数器
堆栈 1 堆栈 2
器件复位
定时器
上电 复位
看门狗 定时器
内部 RC
时钟
VDD, VSS
RAM 地址
5
数据总线
24 或 16
字节
文件寄存器
(1)
地址多路开关
3
ALU
8
W 寄存器
RAM
9
5-7
FSR 寄存器
状态寄存器
多路开关
Timer0
间接 地址
8
GPIO
比较器
GP0/ICSPDAT/CIN+ GP1/ICSPCLK/CIN­GP2/T0CKI/COUT/FOSC4
GP3/MCLR/VPP
CIN+
CIN-
COUT
2005 Microchip Technology Inc. 初稿 DS41239B_CN11
PIC10F200/202/204/206
3-2 PIC10F200/202/204/206 引脚说明
引脚名称 功能
GP0/ICSPDAT/CIN+ GP0 TTL CMOS 双向 I/O 引脚。可以通过软件设置,使之具有内部弱上拉或引
ICSPDAT ST CMOS 在线串行编程数据引脚。
CIN+ AN 比较器输入 (仅限 PIC10F204/206)。
GP1/ICSPCLK/CIN- GP1 TTL CMOS 双向 I/O 引脚。可以通过软件设置,使之具有内部弱上拉或引
ICSPCLK ST CMOS 在线串行编程时钟引脚。
CIN- AN 比较器输入 (仅限 PIC10F204/206)。
GP2/T0CKI/COUT/ FOSC4
GP3/MCLR
VDD VDD P—逻辑电路和 I/O 引脚的正电源。
V
SS VSS P—逻辑电路和 I/O 引脚的参考地。
图注: I = 输入, O = 输出, I/O = 输入 / 输出, P = 电源, — = 未使用, TTL = TTL 输入,
/VPP GP3 TTL
ST = 施密特触发器输入, AN = 模拟输入
GP2 TTL CMOS 双向 I/O 引脚。 T0CKI ST TMR0 的时钟输入。 COUT CMOS 比较器输出 (仅限 PIC10F204/206)。
FOSC4 CMOS 振荡器 /4 输出。
MCLR ST 主清零 (复位)。当配置为 MCLR 时,此引脚是低电平有效的
V
PP HV 编程电压输入。
输入类型输出
类型
说明
脚电平变化时从休眠中唤醒功能。
脚电平变化时从休眠中唤醒功能。
输入引脚。可以通过软件设置,使之具有内部弱上拉或引脚电 平变化时从休眠中唤醒功能。
复位信号。器件正常工作期间, GP3/MCLR/VPP 上的电压不 得超过 V 则始终为弱上拉。
DD,否则器件将进入编程模式。如果配置为 MCLR,
DS41239B_CN12 初稿  2005 Microchip Technology Inc.
PIC10F200/202/204/206
3.1 时钟机制 / 指令周期
时钟在内部被一分为四,生成四个不重叠的正交时钟信 号,即 Q1Q2Q3 Q4。在每个 Q1 PC 递增,Q4,指令从程序存储器中被取出并锁存到指令寄存 器中。在接下来的 Q1 Q4,指令被解码和执行。
3-3 和例 3-1 所示为时钟和指令的执行流程。
3-3:时/ 指令周期
Q2 Q3 Q4
OSC1
Q1
Q2
Q3
Q4
PC
Q1
PC PC + 1 PC + 2
Q1
3.2 指令流 / 流水线
一个指令周期由四个 Q 周期 (Q1Q2Q3 Q4) 组成。取指令和执行指令以流水线方式进行,取指占用 一个指令周期,而解码和执行指令占用另一个指令周 期。由于采用流水线方式,每条指令实际上相当于在一 个周期内得到执行。如果指令导致 PC 改变 (例如,
GOTO 指令),那么完成指令需要两个周期 (例 3-1)。
PC Q1 递增,意味着取指周期开始。
在指令执行周期,在 Q1,取出的指令被锁存到指令寄 存器中 (IR)。然后,在 Q2Q3 Q4,指令被解码 和执行。在 Q2 读取数据存储器 (读操作数),在 Q4 写数据存储器 (写目标地址)。
Q2 Q3 Q4
Q1
Q2 Q3 Q4
内部
时钟
取指(PC
执行指令(PC – 1
取指PC + 1
执行指令(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
2005 Microchip Technology Inc. 初稿 DS41239B_CN 第13
PIC10F200/202/204/206
注:
DS41239B_CN14 初稿 2005 Microchip Technology Inc.
PIC10F200/202/204/206

4.0 存储器构成

PIC10F200/202/204/206 的存储器分为程序存储器和数 据存储器。使用文件选择寄存器(File Select RegisterFSR)访问数据存储区。
4.1 PIC10F200/204 的程序存储器
PIC10F200/204 器件具有一个 9 位程序计数器
Program CounterPC),能够寻址 512 x 12 的程序
存储空间。
对于 PIC10F200/204 而言,只有前 256 x 12 (0000h- 00FFh)地址单元是物理实现的(见图 4-1)。超出上 述边界的存储单元地址,将被重复映射到该 256 x 12 空间内的某个单元 (PIC10F200/204) 。复位向量在
0000h (见图 4-1)。存储单元 00FFh (PIC10F200/ 204)内存有内部时钟振荡器校准值。切记不可覆盖该
值。
4-1 PIC10F200/204 的程序存储器映射
和堆栈
PC<7:0>
CALL, RETLW
1 级堆栈 2 级堆栈
复位向量
片上程序
存储器
用户存储空间
256
9
(1)
0000h
00FFh 0100h
1: 地址 0000h 是复位向量。
存储单元 00FFh 内存放 MOVLW XX 内 部振荡器校准值。
01FFh
2005 Microchip Technology Inc. 初稿 DS41239B_CN15
PIC10F200/202/204/206
4.2 PIC10F202/206 的程序存储器
PIC10F202/206 器件具有一个 10 位的程序计数器
PC),能够寻址 1024 x 12 的程序存储空间。
对于 PIC10F202/206 系列器件,只有前 512 x 12 地址 单元(0000h-01FFh)是物理实现的(见图 4-2)。超 出上述边界的存储单元地址,将被重复映射到该 512 x 12 空间内的某一单元 (PIC10F202/206)。复位向量 在 0000h(见图 4-2)。存储单元 01FFh(PIC10F202/ 206)内存放内部时钟振荡器校准值。切记不可覆盖该 值。
4-2 PIC10F202/206 程序存储器映射和
堆栈
PC<8:0>
CALL, RETLW
1 级堆栈 2 级堆栈
复位向量
片上程序
存储器
10
(1)
0000h
4.3 数据存储器
数据存储器由寄存器或 RAM 组成。器件的数据存储器 由其寄存器文件指定。寄存器文件按功能划被分为两 组:特殊功能寄存器(Special Function Registers,
SFR)和通用寄存器 (General Purpose Registers, GPR)。
特殊功能寄存器包括 TMR0 寄存器、程序计数器
PCL)、状态寄存器、 I/O 寄存器 (GPIO)以及文件
选择寄存器 FSR。此外,特殊功能寄存器用于控制 I/O 端口配置和预分频器选择。
通用寄存器用于存放指令的数据和控制信息。
对于 PIC10F200/204 器件而言,寄存器文件由 7 个特 殊功能寄存器和 16 个通用寄存器组成 (见 图 4-3 和 图 4-4)。
对于 PIC10F202/206 器件而言,寄存器文件由 8 个特 殊功能寄存器和 24 个通用寄存器组成 (见图 4-4)。
4.3.1 通用寄存器文件
可通过文件选择寄存器(FSR)对通用寄存器进行直接 或间接的访问。请参见第 4.9 节“间接数据寻址:INDFFSR 寄存器”。
用户存储空间
512
1: 地址 0000h 是复位向量。
存储单元 01FFh 内存放 MOVLW XX 内 部振荡器校准值。
01FFh 0200h
02FFh
DS41239B_CN16 初稿  2005 Microchip Technology Inc.
PIC10F200/202/204/206
4-3 PIC10F200/204 寄存器文件
映射
文件地址
(1)
00h
01h
02h
03h
04h
05h
06h
07h
08h
0Fh
10h
1Fh
1: 非物理寄存器。请参见第 4.9 节“间接数据
寻址:INDF FSR 寄存器”。
2: 仅限 PIC10F204。在 PIC10F200 上未用,
读取值为 00h
3: 未用,读取值为 00h
INDF
TMR0
PCL
STATUS
FSR
OSCCAL
GPIO
CMCON0
未用
通用
寄存器
(2)
(3)
4-4 PIC10F202/206 寄存器文件
映射
文件地址
(1)
00h
01h
02h
03h
04h
05h
06h
07h
08h
1Fh
1: 非物理寄存器。请参见第 4.9 节“间接数据
寻址:INDF FSR 寄存器”。
2: 仅限 PIC10F206。在 PIC10F202 上未用,
读取值为 00h
INDF
TMR0
PCL
STATUS
FSR
OSCCAL
GPIO
CMCON0
通用
寄存器
(2)
2005 Microchip Technology Inc. 初稿 DS41239B_CN17
PIC10F200/202/204/206
4.3.2 特殊功能寄存器
特殊功能寄存器 (SFR)是 CPU 和外设用来控制器件 操作的寄存器 (表 4-1)。
特殊功能寄存器可以被划分为两类。本节将介绍与内核 功能相关的特殊功能寄存器。与外设操作相关的特殊功 能寄存器,将在相应的外设章节中进行介绍。
4-1 特殊功能寄存器 (SFR) 汇总 (PIC10F200/202/204/206
地址 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
00h INDF 使用 FSR 来寻址数据存储器 (非物理寄存器) xxxx xxxx 23 01h TMR0 8 位实时时钟 / 计数器 xxxx xxxx 29, 33
(1)
02h
03h STATUS GPWUF CWUF 04h FSR 间接数据存储器地址指针 111x xxxx 23 05h OSCCAL CAL6 CAL5 CAL4 CAL3 CAL2 CAL1 CAL0 FOSC4 1111 1110 21
06h GPIO
07h
N/A TRISGPIO
N/A OPTION GPWU
图注: – = 未用,读为 0x = 未知, = 不变, q = 根据条件取值。 注 1: 程序计数器的高字节不能直接访问。如何访问这些位,请参见第 4.7 节 “程序计数器”
PCL PC 的低 8 1111 1111 22
(5)
—TOPD ZDCC00-1 1xxx
GP3 GP2 GP1 GP0 ---- xxxx 25
(4)
CMCON0 CMPOUT COUTEN POL CMPT0CS CMPON CNREF CPREF CWU 1111 1111 34
I/O 控制寄存器 ---- 1111 37
GPPU T0CS T0SE PSA PS2 PS1 PS0 1111 1111 20
2: 其他复位 (非上电复位)包括经由 MCLR 3: 其他复位的具体数值,请参见表 9-1
4: 仅限 PIC10F204/206 5: 仅限 PIC10F204/206。在其他器件上,该位为保留位,不能被使用。
的外部复位、 看门狗定时器复位以及引脚电平变化唤醒复位。
上电复位
时的值
页码
(2)
(3)
19
DS41239B_CN18 初稿  2005 Microchip Technology Inc.
PIC10F200/202/204/206
4.4 状态寄存器
状态寄存器内包含有 ALU的运算状态位、复位状态位以 及页预选择位。
状态寄存器可以是任何指令的目标寄存器,正如其他寄 存器一样。如果一条指令以状态寄存器为目标寄存器, 而该指令的执行将影响到 ZDC C 位,那么对这三 个位的写入将被禁止。这些位是根据器件逻辑进行置位 或清零的。此外, TO 以状态寄存器为目标寄存器的指令的执行结果,可能会 与预期的不同。
寄存器 4-1 状态寄存器 (地址:03h
bit 7 GPWUF:GPIO 复位位
bit 6 CWUF:比较器电平变化唤醒标志位
bit 5 保留:不使用。使用该位可能会影响到与未来产品的向上兼容性。
bit 4 TO
bit 3 PD
bit 2 Z:零标志位
bit 1 DC:辅助进位 / 借位
bit 0 C:进位 / 借位位 (用于 ADDWFSUBWF RRFRLF 指令)
PD 位是不可写入的。因此,
R/W-0 R/W-0 R/W-0 R-1 R-1 R/W-x R/W-x R/W-x
GPWUF CWUF
bit 7 bit 0
1 = 引脚电平变化时从休眠中唤醒导致的复位 0 = 上电或其他复位之后
1 = 比较器输出电平变化时从休眠中唤醒导致的复位 0 = 上电或其他复位之后
:超时位
1 = 在上电、 CLRWDT 指令或 SLEEP 指令之后 0 = 发生 WDT 超时
:掉电位
1 = 上电后,或者执行了 CLRWDT 指令 0 = 执行了 SLEEP 指令
1 = 算术或逻辑运算的结果为零 0 = 算术或逻辑运算的结果不为零
ADDWF
1 = 运算结果第 4 低有效位的发生进位 0 = 运算结果第 4 低有效位的未发生进位
SUBWF 1 = 运算结果第 4 低有效位的未发生借位 0 = 运算结果第 4 低有效位的发生借位
ADDWF
SUBWF RRF RLF 1 = 发生进位 1 = 未发生借位 分别装入 LSb MSb 0 = 未发生进位 0 = 发生借位
(1)
—TO PD ZDCC
位 (用于 ADDWF SUBWF 指令)
例如,CLRF STATUS, 将把状态寄存器的高 3 位清零, 并将 Z 位置 1。指令执行后,状态寄存器将是 000u u1uu (其中, u = 不变)。
所以,建议仅使用 BCFBSF MOVWF 指令来改变状 态寄存器。这些指令不会影响状态寄存器的 ZDC C 位。 其他不影响状态位的指令,请参见第 10.0 节“指 令集汇总”。
(1)
1: 该位仅用于 PIC10F204/206 器件。出于代码兼容性的考虑,在 PIC10F200/202 器件上不要使
图注:
R = 可读位 W = 可写位 U = 未用位,读为 0
-n = 上电复位时的值 1 = 10 = 清零 x = 未知
2005 Microchip Technology Inc. 初稿 DS41239B_CN 第19
用该位。
PIC10F200/202/204/206
4.5 OPTION 寄存器
OPTION 寄存器是 8 位宽的只写寄存器,包含用来配置 Timer0/WDT 预分频器和 Timer0 的控制位。
通过执行 OPTION 指令, W 寄存器内容将被传送到 OPTION 寄存器。复位将把 OPTION<7:0> 置 1。
寄存器 4-2 OPTION 寄存器
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
注: 如果 TRIS 位被清零,对应引脚的电平变化
唤醒和上拉功能将被禁止(注意,TRIS 取 代 Option GPPU GPWU 进行控制)。
注: 如果 T0CS 位被置 1,它将取代 T0CKI
脚上的 TRIS 功能。
bit 7 GPWU
bit 6 GPPU:使能弱上拉位 (GP0GP1 GP3
bit 5 T0CS:Timer0 时钟源选择位
bit 4 T0SE:Timer0 时钟源边沿选择位
bit 3 PSA:预分频器分配位
bit 2-0 PS<2:0>:预分频器比选择位
:使能引脚电平变化时唤醒位 (GP0GP1 GP3
1 = 禁止 0 = 使能
1 = 禁止 0 = 使能
1 = T0CKI 引脚上的电平变化 (取代 T0CKI 引脚上的 TRIS 0 = 内部指令周期时钟 F
1 = T0CKI 引脚上电平从高到低变化时递增 0 = T0CKI 引脚上电平从低到高变化时递增
1 = 预分频器分配给 WDT 0 = 预分频器分配给 Timer0
位值 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 : 1 1 : 2 1 : 4 1 : 8 1 : 16 1 : 32 1 : 64 1 : 128
图注:
R = 可读位 W = 可写位 U = 未用位,读为 0
-n = 上电复位时的值 1 = 置 1 位 0 = 清零位 x = 未知位
DS41239B_CN20 初稿  2005 Microchip Technology Inc.
PIC10F200/202/204/206
4.6 OSCCAL 寄存器
振荡器校准 (OSCCAL)寄存器用来校准内部高精度 4MHz振荡器。它有 7 个校准位。
注: 擦除器件也将擦除为内部振荡器预设的内
部校准值。在擦除器件之前,必须先读取 校准值,以便在后续编程时能够正确地设 定校准值。
在输入校准常数后,不要再改动该值。请参见第 9.2.2 节 “内部 4MHz振荡器”。
寄存器 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 CAL<6:0>:振荡器校准位
0111111 = 最大频率
0000001 0000000 = 中心频率 1111111
1000000 = 最小频率
(1)
bit 0 FOSC4INTOSC/4 输出使能位
1 = INTOSC/4 输出至 GP2 0 = GP2/T0CKI/COUT 输出至 GP2
1: 使能时,将取代 GP2/T0CKI/COUT 控制寄存器。
图注:
R = 可读位 W = 可写位 U = 未用位,读为 0
-n = 上电复位时的值 1 = 置 1 位 0 = 清零位 x = 未知位
2005 Microchip Technology Inc. 初稿 DS41239B_CN21
PIC10F200/202/204/206
4.7 程序计数器
在执行指令时,程序计数器 (PC)存放的是要执行的 下一条指令的地址。 PC 在每个指令周期加 1,除非指 令执行时改变了 PC 的值。
对于 GOTO 指令而言, PC<8:0> GOTO 指令字提供。 程序计数器 (PCL)被映射到 PC<7:0>
对于 CALL指令或者其他以 PCL 为目标寄存器的指令而 言, PC<7:0> 仍然由指令字提供。不过, 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
PCL
指令字
4.7.1 复位的影响
复位时将设置 PC,使 PC 指向程序存储器中的最后一 个存储单元 (即振荡器校准指令)。在执行 MOVLW XX 之后, PC 将重返地址 0000h,开始执行用户代码。
4.8 堆栈
PIC10F200/204 器件具有一个 2 级深度、8 位宽的硬件 PUSH/POP 堆栈。
PIC10F202/206 器件具有一个 2 级深度、9 位宽的硬件 PUSH/POP 堆栈。
一条 CALL 指令,将把 1 级堆栈的当前值压入 2 级堆栈, 然后把当前 PC 1 后的值压入 1 级堆栈。如果连续执 行超过两条的 CALL 指令,则只存储最后两个返回地址。
RETLW指令将把 1级堆栈的内容弹出给 PC,然后把 2 堆栈的内容复制到 1 级堆栈。如果连续执行了超过两条 的 RETLW,堆栈内容将全部是先前存储在 2 级堆栈中的 地址。注意,W 寄存器将装入指令中指定的立即数。这 对于在程序存储器中实现数据查找表非常有用。
1: 没有指明堆栈上溢或堆栈下溢的状态位。
2: 没有叫做 PUSH POP 的指令助记符。
它们是 CALLRETLW指令执行时产生的 动作。
CALL 或修改 PCL 指令
87 0
PC
置为 0
PCL
指令字
DS41239B_CN22 初稿 2005 Microchip Technology Inc.
PIC10F200/202/204/206
4.9 间接数据寻址:INDF FSR 寄存器
4-1 如何使用间接寻址清空 RAM
INDF 寄存器不是物理寄存器。寻址 INDF,实际上将寻 址地址在 FSR 寄存器中的寄存器 (FSR 是指针)。 是间接寻址。
NEXT CLRF INDF ;cle a r INDF
4.10 间接寻址
寄存器文件 09 的值为 10h
寄存器文件 0A 的值为 0Ah
把值 09 装入 FSR 寄存器
读取 INDF 寄存器,将返回值 10h
FSR 寄存器的值加 1 FSR = 0A
读取 INDR 寄存器,将返回值 0Ah 间接读取 INDF 自身 (FSR = 0)将返回 00h。间接写
INDF 寄存器将导致空操作 (但可能影响到状态位)。
4-1 所示为一段简单的程序,程序使用间接寻址清空 RAM 存储单元 10h-1Fh
4-6:直/ 间接寻址 (PIC10F200/202/204/206)
直接寻址
(操作码) 04
CONTINUE
FSR5位宽的寄存器。它与 INDF寄存器配合使用,用 来间接寻址数据存储区。
FSR<4:0> 位用来选择数据存储器地址 00h 1Fh
注: PIC10F200/202/204/206 – 不要使用存储
MOVLW 0x10 ;initialize p ointer MOVWF FSR ;to RAM
;register INCF FSR,F ;inc pointer BTFSC FSR,4 ;all done? GOTO NEXT ;NO, clear next
: ;YES, continue :
区选择。 FSR <7:5> 未使用,读为 111
间接寻址
4
FSR
0
存储单元选择
00h
数据 存储器
1: 关于寄存器映射的详细信息,请参见第 4.3 节 “数据存储器”
0Fh
(1)
10h
1Fh
Bank 0
存储单元选择
2005 Microchip Technology Inc. 初稿 DS41239B_CN 第23
PIC10F200/202/204/206
注:
DS41239B_CN24 初稿 2005 Microchip Technology Inc.
Loading...
+ 60 hidden pages