PICmicro
®
中档单片机系列
参考手册
2004 Microchip Technology Inc. DS33023A_CN
请注意以下有关 Microchip 器件代码保护功能的要点:
•M i c r o c h i p的产品均达到 Microchip 数据手册中所述的技术指标。
•M i c r o c h i p确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一。
• 目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以 Microchip 数据手册中规定的操
作规范来使用 Microchip 产品的。这样做的人极可能侵犯了知识产权。
•M i c r o c h i p愿与那些注重代码完整性的客户合作。
•M i c r o c h i p或任何其它半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是 “牢不可破”的。
代码保护功能处于持续发展中。 Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视
为违反了《数字器件千年版权法案(Digital Millennium Copyright Act )》。如果这种行为导致他人在未经授权的情况下,能访问您的软
件或其它受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。
本出版物中所述的器件应用信息及其它类似内容仅为您提供便
利,它们可能由更新之信息所替代。确保应用符合技术规范,
是您自身应负的责任。Microchip 对这些信息不作任何明示或
暗示、书面或口头的声明或担保,包括但不限于针对其使用情
况、质量、性能、适销性或特定用途的适用性的声明或担保。
Microchip 对因这些信息及使用这些信息而引起的后果不承担
任何责任。未经 Microchip 书面批准,不得将 Microchip 的产
品用作生命维持系统中的关键组件。在 Microchip 知识产权保
护下,不得暗中或以其它方式转让任何许可证。
商标
Microchip 的名称和徽标组合、 Microchip 徽标、 Accuron、
dsPIC、 K
EEL OQ、 microID、 MPLAB、 PIC、 PICmicro、
PICSTART、 PRO MATE、 PowerSmart、 rfPIC 和
SmartShunt均为 Microchip Technology Inc.在美国和其它国家
或地区的注册商标。
AmpLab、 FilterLab、 MXDEV、 MXLAB、 PICMASTER、
rfPIC、 SEEVAL、 SmartSensor 和 The Embedded Control
Solutions Company 均为 Microchip Technology Inc. 在美国的
注册商标。
Analog-for-the-Digital Age、 Application Maestro、
dsPICDEM、 dsPICDEM.net、 dsPICworks、 ECAN、
ECONOMONITOR、 FanSense、 FlexROM、 fuzzyLAB、
In-Circuit Serial Programming、 ICSP、 ICEPIC、
Migratable Memory、 MPASM、 MPLIB、 MPLINK、
MPSIM、 PICkit、 PICDEM、 PICDEM.net、 PICLAB、
PICtail、 PowerCal、 PowerInfo、 PowerMate、
PowerTool、 rfLAB、 rfPICDEM、 Select Mode、 Smart
Serial、 SmartTel 和 Total Endurance 均为 Microchip
Technology Inc. 在美国和其它国家或地区的商标。
SQTP 是 Microchip Technology Inc. 在美国的服务标记。
在此提及的所有其它商标均为各持有公司所有。
© 2004, Microchip Technology Inc 。版权所有。
Microchip
Mountain View
过了
机、
器和模拟产品方面的质量体系流程均符合
Microchip
9001:2000
位于美国亚利桑那州
ISO/TS-16949:2002
KEE LOQ
的全球总部、设计中心和晶圆生产厂均于
®
跳码器件、串行
在开发系统的设计和生产方面的质量体系也已通过了
认证。
Chandler和Tem pe
质量体系认证。公司在
EEPROM
、单片机外设、非易失性存储
ISO/TS-16949:2002
PICmicro
及位于加利福尼亚州
2003年10
®
8
位单片
。此外,
月通
ISO
DS33023A_CN 2004 Microchip Technology Inc.
目录
页码
第 1 章 简介 1-1
简介 .................................................................................................................................................................. 1-2
本手册的宗旨 ....................................................................................................................................................1-3
器件结构 ...........................................................................................................................................................1-4
开发支持 ...........................................................................................................................................................1-6
器件种类 ...........................................................................................................................................................1-7
格式和符号的约定 .......................................................................................................................................... 1-12
相关文档 .........................................................................................................................................................1-14
相关应用笔记 ..................................................................................................................................................1-17
版本历史 .........................................................................................................................................................1-18
第 2 章 振荡器 2-1
简介 .................................................................................................................................................................. 2-2
振荡器配置 .......................................................................................................................................................2-2
晶体振荡器 / 陶瓷谐振器 .................................................................................................................................. 2-4
外部 RC 振荡器 ..............................................................................................................................................2-12
4MHz 内部 RC 振荡器 ....................................................................................................................................2-13
休眠模式对片内振荡器的影响 ........................................................................................................................2-17
器件复位对片内振荡器的影响 ........................................................................................................................2-17
设计技巧 .........................................................................................................................................................2-18
相关应用笔记 ..................................................................................................................................................2-19
版本历史 .........................................................................................................................................................2-20
第 3 章 复位 3-1
简介 .................................................................................................................................................................. 3-2
上电复位、上电延时定时器、 起振定时器、欠压复位和奇偶校验错误复位 ......................................................3-4
寄存器和状态位的值 ....................................................................................................................................... 3-10
设计技巧 .........................................................................................................................................................3-16
相关应用笔记 ..................................................................................................................................................3-17
版本历史 .........................................................................................................................................................3-18
第 4 章 架构 4-1
简介 .................................................................................................................................................................. 4-2
时序图 / 指令周期 .............................................................................................................................................4-5
指令流 / 流水线 .................................................................................................................................................4-6
I/O 端口描述 .....................................................................................................................................................4-7
设计技巧 .........................................................................................................................................................4-12
相关应用笔记 ..................................................................................................................................................4-13
版本历史 .........................................................................................................................................................4-14
2004 Microchip Technology Inc. DS33023A_CN 第iii 页
目录
页码
第 5 章 CPU 和 ALU 5-1
简介 .................................................................................................................................................................. 5-2
指令的一般格式 ................................................................................................................................................ 5-4
中央处理单元 (CPU ) ..................................................................................................................................... 5-4
指令时钟 ...........................................................................................................................................................5-4
算术逻辑单元 (ALU ) ..................................................................................................................................... 5-5
状态寄存器 .......................................................................................................................................................5-6
OPTION_REG 寄存器 ...................................................................................................................................... 5-8
电源控制寄存器 ................................................................................................................................................ 5-9
设计技巧 .........................................................................................................................................................5-10
相关应用笔记 ..................................................................................................................................................5-11
版本历史 .........................................................................................................................................................5-12
第 6 章 存储器构成 6-1
简介 .................................................................................................................................................................. 6-2
程序存储器构成 ................................................................................................................................................ 6-2
数据存储器构成 ................................................................................................................................................ 6-8
初始化 ............................................................................................................................................................6-14
设计技巧 .........................................................................................................................................................6-16
相关应用笔记 ..................................................................................................................................................6-17
版本历史 .........................................................................................................................................................6-18
第 7 章 数据 EEPROM 7-1
简介 .................................................................................................................................................................. 7-2
控制寄存器 .......................................................................................................................................................7-3
EEADR .............................................................................................................................................................7-4
EECON1 和 EECON2 寄存器 ..........................................................................................................................7-4
从 EEPROM 数据存储器中读数据 .................................................................................................................... 7-5
向 EEPROM 数据存储器中写数据 .................................................................................................................... 7-5
写校验 ..............................................................................................................................................................7-6
误写操作保护 ....................................................................................................................................................7-7
代码保护配置下的数据 EEPROM 操作 .............................................................................................................7-7
初始化 ..............................................................................................................................................................7-7
设计技巧 ...........................................................................................................................................................7-8
相关应用笔记 ....................................................................................................................................................7-9
版本历史 .........................................................................................................................................................7-10
第 8 章 中断 8-1
简介 .................................................................................................................................................................. 8-2
控制寄存器 .......................................................................................................................................................8-5
中断响应延时 ..................................................................................................................................................8-10
INT 和外部中断 ............................................................................................................................................... 8-10
中断的现场保护 .............................................................................................................................................. 8-11
初始化 ............................................................................................................................................................8-14
设计技巧 .........................................................................................................................................................8-16
相关应用笔记 ..................................................................................................................................................8-17
版本历史 .........................................................................................................................................................8-18
DS33023A_CN 第 iv 页 2004 Microchip Technology Inc.
目录
页码
第 9 章 I/O 端口 9-1
简介 .................................................................................................................................................................. 9-2
PORTA 和 TRISA 寄存器 ................................................................................................................................. 9-4
PORTB 和 TRISB 寄存器 ................................................................................................................................. 9-6
PORTC 和 TRISC 寄存器 ................................................................................................................................. 9-8
PORTD 和 TRISD 寄存器 ................................................................................................................................. 9-9
PORTE 和 TRISE 寄存器 ...............................................................................................................................9-10
PORTF 和 TRISF 寄存器 ...............................................................................................................................9-11
PORTG 和 TRISG 寄存器 ..............................................................................................................................9-12
GPIO 和 TRISGP 寄存器 ................................................................................................................................9-13
I/O 编程注意事项 ............................................................................................................................................ 9-14
初始化 ............................................................................................................................................................9-16
设计技巧 .........................................................................................................................................................9-17
相关应用笔记 ..................................................................................................................................................9-19
版本历史 .........................................................................................................................................................9-20
第 10 章 并行从动端口 10-1
简介 ................................................................................................................................................................10-2
控制寄存器 .....................................................................................................................................................10-3
操作 ................................................................................................................................................................10-4
休眠模式下的操作 .......................................................................................................................................... 10-5
复位的影响 .....................................................................................................................................................10-5
PSP 波形 ........................................................................................................................................................ 10-5
设计技巧 .........................................................................................................................................................10-6
相关应用笔记 ..................................................................................................................................................10-7
版本历史 .........................................................................................................................................................10-8
2004 Microchip Technology Inc. DS33023A_CN 第v 页
目录
页码
第 11 章 TIMER0 11-1
简介 ................................................................................................................................................................11-2
控制寄存器 .....................................................................................................................................................11-3
操作 ................................................................................................................................................................11-4
TMR0 中断 .....................................................................................................................................................11-5
Timer0 外部时钟的使用 ..................................................................................................................................11-6
TMR0 的预分频器 .......................................................................................................................................... 11-7
设计技巧 .......................................................................................................................................................11-10
相关应用笔记 ................................................................................................................................................ 11-11
版本历史 .......................................................................................................................................................11-12
第 12 章 TIMER1 12-1
简介 ................................................................................................................................................................12-2
控制寄存器 .....................................................................................................................................................12-3
Timer1 工作在定时器模式 ..............................................................................................................................12-4
Timer1 工作在同步计数器模式 ....................................................................................................................... 12-4
Timer1 工作在异步计数器模式 .......................................................................................................................12-5
Timer1 振荡器 ................................................................................................................................................12-7
休眠操作 .........................................................................................................................................................12-9
用 CCP 触发器的输出将 Timer1 复位 .............................................................................................................12-9
Timer1 寄存器 ( TMR1H:TMR1L)的复位 .................................................................................................... 12-9
Timer1 预分频器 .............................................................................................................................................12-9
初始化 ..........................................................................................................................................................12-10
设计技巧 .......................................................................................................................................................12-12
相关应用笔记 ................................................................................................................................................ 12-13
版本历史 .......................................................................................................................................................12-14
第 13 章 TIMER2 13-1
简介 ................................................................................................................................................................13-2
控制寄存器 .....................................................................................................................................................13-3
定时器时钟源 ..................................................................................................................................................13-4
定时器 TMR2 和 PR2 周期寄存器 ..................................................................................................................13-4
TMR2 匹配输出 .............................................................................................................................................. 13-4
将 Timer2 的预分频器和后分频器清零 ...........................................................................................................13-4
休眠操作 .........................................................................................................................................................13-4
初始化 ............................................................................................................................................................13-5
设计技巧 .........................................................................................................................................................13-6
相关应用笔记 ..................................................................................................................................................13-7
版本历史 .........................................................................................................................................................13-8
第 14 章 比较 / 捕捉 / 脉宽调制 (CCP) 14-1
简介 ................................................................................................................................................................14-2
控制寄存器 .....................................................................................................................................................14-3
捕捉模式 .........................................................................................................................................................14-4
比较模式 .........................................................................................................................................................14-6
PWM 模式 ......................................................................................................................................................14-8
初始化 ..........................................................................................................................................................14-12
设计技巧 .......................................................................................................................................................14-15
相关应用笔记 ................................................................................................................................................ 14-17
版本历史 .......................................................................................................................................................14-18
DS33023A_CN 第 vi 页 2004 Microchip Technology Inc.
目录
页码
第 15 章 同步串行口 (SSP ) 15-1
简介 ................................................................................................................................................................15-2
控制寄存器 .....................................................................................................................................................15-3
TM
模式 .....................................................................................................................................................15-6
SPI
SSP 模块的 I 2CTM操作 ................................................................................................................................ 15-16
初始化 ..........................................................................................................................................................15-26
设计技巧 .......................................................................................................................................................15-28
相关应用笔记 ................................................................................................................................................ 15-29
版本历史 .......................................................................................................................................................15-30
第 16 章 基本同步串行口 (BSSP ) 16-1
简介 ................................................................................................................................................................16-2
控制寄存器 .....................................................................................................................................................16-3
TM
模式 .....................................................................................................................................................16-6
SPI
SSP 模块 的 I 2CTM操作 ...............................................................................................................................16-15
初始化 ..........................................................................................................................................................16-23
设计技巧 .......................................................................................................................................................16-24
相关应用笔记 ................................................................................................................................................ 16-25
版本历史 .......................................................................................................................................................16-26
第 17 章 主同步串行口 (MSSP ) 17-1
简介 ................................................................................................................................................................17-2
控制寄存器 .....................................................................................................................................................17-4
SPITM模式 .....................................................................................................................................................17-9
SSP 模块的 I2C™ 操作 ................................................................................................................................17-18
2CTM
总线的连接注意事项 ...........................................................................................................................17-56
I
初始化 ..........................................................................................................................................................17-57
设计技巧 .......................................................................................................................................................17-58
相关应用笔记 ................................................................................................................................................ 17-59
版本历史 .......................................................................................................................................................17-60
第 18 章 USART 18-1
简介 ................................................................................................................................................................18-2
控制寄存器 .....................................................................................................................................................18-3
USART 波特率发生器 ( BRG) .....................................................................................................................18-5
USART 异步工作模式 .................................................................................................................................... 18-8
USART 同步主控模式 ................................................................................................................................... 18-15
USART 同步从动模式 ..................................................................................................................................18-19
初始化 ..........................................................................................................................................................18-21
设计技巧 .......................................................................................................................................................18-22
相关应用笔记 ................................................................................................................................................ 18-23
版本历史 .......................................................................................................................................................18-24
2004 Microchip Technology Inc. DS33023A_CN 第vii 页
目录
页码
第 19 章 参考电压模块 19-1
简介 ................................................................................................................................................................19-2
控制寄存器 .....................................................................................................................................................19-3
配置参考电压 ..................................................................................................................................................19-4
参考电压精度 ..................................................................................................................................................19-5
休眠模式下的操作 .......................................................................................................................................... 19-5
复位的影响 .....................................................................................................................................................19-5
连接注意事项 ..................................................................................................................................................19-6
初始化 ............................................................................................................................................................19-7
设计技巧 .........................................................................................................................................................19-8
相关应用笔记 ..................................................................................................................................................19-9
版本历史 .......................................................................................................................................................19-10
第 20 章 比较器 20-1
简介 ................................................................................................................................................................20-2
控制寄存器 .....................................................................................................................................................20-3
设置比较器模式 .............................................................................................................................................. 20-4
比较器工作原理 .............................................................................................................................................. 20-6
比较器参考源 ..................................................................................................................................................20-6
比较器的响应时间 .......................................................................................................................................... 20-8
比较器输出 .....................................................................................................................................................20-8
比较器中断 .....................................................................................................................................................20-9
休眠状态下比较器的操作 ................................................................................................................................ 20-9
复位的影响 .....................................................................................................................................................20-9
模拟输入连接方式注意事项 ..........................................................................................................................20-10
初始化 ..........................................................................................................................................................20-11
设计技巧 .......................................................................................................................................................20-12
相关应用笔记 ................................................................................................................................................ 20-13
版本历史 .......................................................................................................................................................20-14
第 21 章 8 位 A/D 转换器 21-1
简介 ................................................................................................................................................................21-2
控制寄存器 .....................................................................................................................................................21-3
操作 ................................................................................................................................................................21-5
A/D 采集时间要求 ...........................................................................................................................................21-6
A/D 转换时钟的选择 ....................................................................................................................................... 21-8
配置模拟输入端口 .......................................................................................................................................... 21-9
A/D 转换 .......................................................................................................................................................21-10
休眠期间的 A/D 转换 .................................................................................................................................... 21-12
A/D 精度 / 误差 ............................................................................................................................................. 21-13
复位对 A/D 转换的影响 .................................................................................................................................21-13
CCP 触发器的使用 ....................................................................................................................................... 21-14
连接注意事项 ................................................................................................................................................ 21-14
传递函数 .......................................................................................................................................................21-14
初始化 ..........................................................................................................................................................21-15
设计技巧 .......................................................................................................................................................21-16
相关应用笔记 ................................................................................................................................................ 21-17
版本历史 .......................................................................................................................................................21-18
DS33023A_CN 第 viii 页 2004 Microchip Technology Inc.
目录
页码
第 22 章 基本型 8 位 A/D 转换器 22-1
简介 ................................................................................................................................................................22-2
控制寄存器 .....................................................................................................................................................22-3
A/D 采集时间要求 ...........................................................................................................................................22-6
A/D 转换时钟的选择 ....................................................................................................................................... 22-8
配置模拟输入端口 ........................................................................................................................................ 22-10
A/D 转换 .......................................................................................................................................................22-11
休眠期间的 A/D 转换 .................................................................................................................................... 22-14
A/D 转换精度 / 误差 ......................................................................................................................................22-15
复位对 A/D 转换的影响 .................................................................................................................................22-16
连接时的考虑事项 ........................................................................................................................................ 22-16
传递函数 .......................................................................................................................................................22-16
初始化 ..........................................................................................................................................................22-17
设计技巧 .......................................................................................................................................................22-18
相关应用笔记 ................................................................................................................................................ 22-19
版本历史 .......................................................................................................................................................22-20
第 23 章 10 位 A/D 转换器 23-1
简介 ................................................................................................................................................................23-2
控制寄存器 .....................................................................................................................................................23-3
操作 ................................................................................................................................................................23-5
A/D 采集时间要求 ...........................................................................................................................................23-6
A/D 转换时钟的选择 ....................................................................................................................................... 23-8
模拟输入引脚的设置 ....................................................................................................................................... 23-9
A/D 转换的编程举例 ..................................................................................................................................... 23-10
休眠期间的 A/D 转换 ....................................................................................................................................23-14
复位对 A/D 转换的影响 .................................................................................................................................23-14
A/D 转换精度与误差 ..................................................................................................................................... 23-15
连接时的考虑事项 ........................................................................................................................................ 23-16
传递函数 .......................................................................................................................................................23-16
初始化 ..........................................................................................................................................................23-17
设计技巧 .......................................................................................................................................................23-18
相关应用笔记 ................................................................................................................................................ 23-19
版本历史 .......................................................................................................................................................23-20
第 24 章 积分型 A/D 转换器 24-1
简介 ................................................................................................................................................................24-2
控制寄存器 .....................................................................................................................................................24-3
转换过程 .........................................................................................................................................................24-6
其它模拟模块 ................................................................................................................................................ 24-12
校准参数 .......................................................................................................................................................24-13
设计技巧 .......................................................................................................................................................24-14
相关应用笔记 ................................................................................................................................................ 24-15
版本历史 .......................................................................................................................................................24-16
2004 Microchip Technology Inc. DS33023A_CN 第ix 页
目录
页码
第 25 章 LCD 25-1
简介 ................................................................................................................................................................25-2
控制寄存器 .....................................................................................................................................................25-3
LCD 定时 ........................................................................................................................................................25-6
LCD 中断 ......................................................................................................................................................25-12
像素控制 .......................................................................................................................................................25-13
电压发生器 ...................................................................................................................................................25-15
休眠模式下的操作 ........................................................................................................................................ 25-16
复位的影响 ...................................................................................................................................................25-17
LCD 模块的设置 ...........................................................................................................................................25-17
判别比 ..........................................................................................................................................................25-18
LCD 电压发生器 ...........................................................................................................................................25-20
对比度 ..........................................................................................................................................................25-22
LCD 玻璃基板 ...............................................................................................................................................25-22
初始化 ..........................................................................................................................................................25-23
设计技巧 .......................................................................................................................................................25-24
相关应用笔记 ................................................................................................................................................ 25-25
版本历史 .......................................................................................................................................................25-26
第 26 章 看门狗定时器与休眠模式 26-1
简介 ................................................................................................................................................................26-2
控制寄存器 .....................................................................................................................................................26-3
看门狗定时器 (WDT )的操作 .......................................................................................................................26-4
休眠省电模式 ..................................................................................................................................................26-7
初始化 ............................................................................................................................................................26-9
设计技巧 .......................................................................................................................................................26-10
相关应用笔记 ................................................................................................................................................ 26-11
版本历史 .......................................................................................................................................................26-12
第 27 章 器件配置位 27-1
简介 ................................................................................................................................................................27-2
配置字位 .........................................................................................................................................................27-4
编程校验 / 代码保护 ........................................................................................................................................27-8
识别码 ID 的位置 ............................................................................................................................................27-9
设计技巧 .......................................................................................................................................................27-10
相关应用笔记 ................................................................................................................................................ 27-11
版本历史 .......................................................................................................................................................27-12
第 28 章 在线串行编程 28-1
简介 ................................................................................................................................................................28-2
进入在线串行编程模式 ................................................................................................................................... 28-3
应用电路 .........................................................................................................................................................28-4
编程器 ............................................................................................................................................................28-6
编程环境 .........................................................................................................................................................28-6
其它优点 .........................................................................................................................................................28-7
PICmicro
FLASH 型 PICmicro®单片机的现场编程 ...................................................................................................... 28-10
设计技巧 .......................................................................................................................................................28-12
相关应用笔记 ................................................................................................................................................ 28-13
版本历史 .......................................................................................................................................................28-14
DS33023A_CN 第 x 页 2004 Microchip Technology Inc.
®
OTP 型单片机的现场编程 ............................................................................................................. 28-8
目录
页码
第 29 章 指令集 29-1
简介 ................................................................................................................................................................29-2
指令格式 .........................................................................................................................................................29-4
作为源 / 目标寄存器的特殊功能寄存器 ...........................................................................................................29-6
Q 周期操作 .....................................................................................................................................................29-7
指令描述 .........................................................................................................................................................29-8
设计技巧 .......................................................................................................................................................29-45
相关应用笔记 ................................................................................................................................................ 29-47
版本历史 .......................................................................................................................................................29-48
第 30 章 电气规范 30-1
简介 ................................................................................................................................................................30-2
绝对最大值 .....................................................................................................................................................30-3
器件选型表 .....................................................................................................................................................30-4
器件电压规范 ..................................................................................................................................................30-5
器件电流特性 ..................................................................................................................................................30-6
输入阈值电平 ..................................................................................................................................................30-9
I/O 电流特性 .................................................................................................................................................30-10
输出驱动电压 ................................................................................................................................................ 30-11
I/O 引脚的容性负载 ...................................................................................................................................... 30-12
数据 EEPROM / 闪存 ...................................................................................................................................30-13
LCD ..............................................................................................................................................................30-14
比较器和参考电压 ........................................................................................................................................ 30-15
时序参数符号 ................................................................................................................................................ 30-16
外部时钟时序波形图和时序要求示例 ............................................................................................................ 30-17
上电和复位时序波形图及要求示例 ............................................................................................................... 30-19
定时器 Timer0 和 Timer1 时序波形图及要求示例 ......................................................................................... 30-20
CCP 的时序图及要求 .................................................................................................................................... 30-21
并行从动端口 (PSP) 时序图及要求 ..............................................................................................................30-22
SSP 和 MSSP SPI
2CTM
SSP I
MSSP I2CTM模式时序波形图及要求示例 ..................................................................................................... 30-30
USART/SCI 时序波形图及要求示例 ............................................................................................................. 30-32
8 位 A/D 时序波形图及要求示例 ................................................................................................................... 30-34
10 位 A/D 时序波形图及要求示例 .................................................................................................................30-36
积分型 A/D 时序波形图及要求示例 ...............................................................................................................30-38
LCD 时序波形图及要求示例 .........................................................................................................................30-40
相关应用笔记 ................................................................................................................................................ 30-41
版本历史 .......................................................................................................................................................30-42
TM
模式时序波形图及要求示例 .......................................................................................30-23
模式时序波形图及要求示例 ........................................................................................................ 30-27
第 31 章 器件特性 31-1
简介 ................................................................................................................................................................31-2
特性和电气规范 .............................................................................................................................................. 31-2
DC 和 AC 特性图表 ........................................................................................................................................31-2
版本历史 .......................................................................................................................................................31-22
2004 Microchip Technology Inc. DS33023A_CN 第xi 页
目录
页码
第 32 章 开发工具 32-1
简介 ................................................................................................................................................................32-2
集成开发环境 (IDE ) .................................................................................................................................... 32-3
MPLAB
MPLAB® SIM 软件模拟器 ...............................................................................................................................32-8
MPLAB® 硬件仿真器支持 ...............................................................................................................................32-9
MPLAB
辅助工具 .......................................................................................................................................................32-11
开发板 ..........................................................................................................................................................32-12
针对其它 Microchip 产品的开发工具 ............................................................................................................32-14
相关应用笔记 ................................................................................................................................................ 32-15
版本历史 .......................................................................................................................................................32-16
第 33 章 代码开发 33-1
版本历史 .........................................................................................................................................................33-2
第 34 章 附录 34-1
I2CTM概述....................................................................................................................................................... 34-2
LCD 玻璃基板生产商 .....................................................................................................................................34-11
改进的器件特性 ............................................................................................................................................. 34-13
版本历史........................................................................................................................................................ 34-19
®
软件语言支持 .................................................................................................................................. 32-6
®
编程器支持 .................................................................................................................................... 32-10
第 35 章 术语表 35-1
版本历史 .......................................................................................................................................................35-14
DS33023A_CN 第 xii 页 2004 Microchip Technology Inc.
第 1 章 简介
目录
本章包括下面一些主要内容:
1.1 简介 ................................................................................................................................1-2
1.2 本手册的宗旨 .................................................................................................................1-3
1.3 器件结构 .........................................................................................................................1-4
1.4 开发支持 .........................................................................................................................1-6
1.5 器件种类 .........................................................................................................................1-7
1.6 格式和符号的约定 ........................................................................................................1-12
1.7 相关文档 .......................................................................................................................1-14
1.8 相关应用笔记 ...............................................................................................................1-17
1.9 版本历史 .......................................................................................................................1-18
1
简介
2004 Microchip Technology Inc. DS31030A_CN 第 1-1 页
PICmicro 中档单片机系列
1.1 简介
Microchip 公司是 The Embedded Control Solutions Company®(嵌入式控制系统解决方案公
司),其产品主要满足嵌入式控制市场的需求。我们是以下产品的领先供应商:
• 8 位通用单片机 (PICmicro
• 专用和标准的非易失性存储器件
• 安防器件 (K EE LOQ
• 专用标准产品
®
欲获得您所感兴趣的产品列表,请申请一份 Microchip 产品线目录。该文献可从各地的 Microchip
销售办事处获得,或者直接从 Microchip 的网站 (www.microchip.com) 上下载。
以往,8 位单片机的用户只选择传统的 MCU 类型,即 ROM 器件,用于生产。Microchip 率先改变
了这种传统观念,向人们展示了 OTP( 一次性编程 ) 器件比 ROM 器件在其寿命周期内具有更低的
产品成本。
Microchip 具备 EPROM 技术优势,从而使 EPROM 成为 PICmicro 单片机程序存储器的不二选择。
Microchip 尽可能地缩小了 EPROM 和 ROM 存储器技术之间的成本差距,并使顾客从中受益。其
他 MCU 供应商无法作到这一点,这从他们的 EPROM 和 ROM 版本之间的价格差异便可以看出。
Microchip 的 8 位单片机市场份额的增长证明了 PICmicro 单片机能够满足大多数人的需要。这也
使 PICmicro 单片机架构成为了当今通用市场上应用最广泛的三大体系之一。 Microchip 的低成本
OTP 解决方案所带来的效益是这一增长的助推剂。用户能够从以下各方面受益:
• 快速的产品上市时间
• 允许生产过程中对产品进行代码修改
• 无需掩膜产品所需的一次性工程费用 (NRE)
• 能够轻松为产品进行连续编号
• 无需额外增加硬件即可存储校准数据
• 可最大限度地增加 PICmicro 单片机的库存
• 由于在开发和生产中使用同一器件,从而降低了风险
Microchip 的 8 位 PICmicro 单片机具备很好的性价比,可成为任何传统的 8 位应用和某些 4 位应
用 ( 低档系列 )、专用逻辑的替代品以及低端 DSP 应用 ( 高档系列 ) 的选择。这些特点及其良好的
性价比使 PICmicro 单片机在大多数应用场合极具吸引力。
®
单片机 )
)
DS31030A_CN 第 1-2 页 2004 Microchip Technology Inc.
第 1 章 简介
1.2 本手册的宗旨
PICmicro 单片机根据其指令长度来划分,目前的三个 PICmicro 单片机系列是:
1. 低档: 12 位指令字长度
2. 中档: 14 位指令字长度
3. 高档: 16 位指令字长度
本手册重点介绍中档系列器件,即 PIC16CXXX 单片机系列。
本手册介绍了 PIC16CXXX 系列单片机的架构和外设模块的操作,但并不涉及每个器件的具体细
节。因此,本手册并不取代器件数据手册,而是对它作了补充。也就是说,本手册提供了 PICmicro
系列单片机的架构和外设模块的一般特点和操作,而数据手册则给出了具体细节,如存储器映射
等。
本手册给出了初始化例子。这些例子有时是针对特定器件,而有别于整个系列的一般属性,尽管
对于大多数其他器件来说,它们都是可行的。对寄存器文件映射有所不同的器件,可能需要作一
些修改。
1
简介
注 : 少数早期的中档系列产品与本手册中的简介有细微的不同。本手册尽量对这些不同
进行了描述。如果需要某个器件的详细信息,请参阅该器件的数据手册。
2004 Microchip Technology Inc. DS31030A_CN 第 1-3 页
PICmicro 中档单片机系列
1.3 器件结构
可将器件划分为以下三个部分:
1. 内核
2. 外设
3. 特殊功能部件
1.3.1 内核
内核是使器件运行的基本部件。 包括:
1. 振荡器 版本 "DS31002A”
2. 复位逻辑 版本 "DS31003A”
3. CPU ( 中央处理单元 ) 的操作 版本 "DS31005A”
4. ALU ( 算术逻辑单元 ) 的操作 版本 "DS31005A”
5. 器件的存储器构成 版本 "DS31006A”
6. 中断操作 版本 "DS31008A”
7. 指令集 版本 "DS31029A”
1.3.2 外设
外设是在单片机上添加的一些特殊功能。这些功能方便了单片机与外部世界进行联系 ( 例如通用
I/O、 LCD 驱动器、 A/D 输入和 PWM 输出 ),并可执行内部任务,如保存不同的时基 (如定时
器)。本手册对以下外设进行了介绍:
1. I/O 口版 本 "DS31009A”
2. 定时器 Timer0 版本 "DS31011A”
3. 定时器 Timer1 版本 "DS31012A”
4. 定时器 Timer2 版本 "DS31013A”
5. 捕捉、比较和脉宽调制 (CCP) 版本 "DS31014A”
6. 同步串行口 (SSP) 版本 "DS31015A”
7. 基本同步串行口 (BSSP) 版本 "DS31016A”
8. 主同步串行口 (MSSP) 版本 "DS31017A”
9. 通用同步异步收发器 USART (SCI) 版本 "DS31018A”
10. 参考电压模块 版本 "DS31019A”
11. 比较器 版本 "DS31020A”
12. 8 位 A/D 转换器 版本 "DS31021A”
13. 基本型 8 位 A/D 转换器 版本 "DS31022A”
14. 10 位 A/D 转换器 版本 "DS31023A”
15. 带热敏电阻的积分型 A/D 转换器 版本 "DS31024A”
16. LCD 驱动器 版本 "DS31025A”
17. 并行从动端口 (PSP) 版本 "DS31010A”
DS31030A_CN 第 1-4 页 2004 Microchip Technology Inc.
第 1 章 简介
1.3.3 特殊功能部件
特殊功能部件是有助于达到以下一个或多个目的的独特的部件:
• 降低系统成本
• 提高系统可靠性
• 增加设计灵活性
中档系列 PICmicro 单片机提供了一些能达到这些目的的特殊部件。本手册对以下特殊功能部件
进行了介绍:
1. 器件配置位 版本 "DS31027A”
2. 片内上电复位 (POR) 版本 "DS31003A”
3. 欠压复位 (BOR) 逻辑 版本 "DS31003A”
4. 看门狗定时器 版本 "DS31026A”
5. 低功耗模式 ( 休眠 ) 版本 "DS31026A”
6. 内部 RC 振荡器 版本 "DS31002A”
7. 在线串行编程 ( In-Circuit Serial Programming™, ICSP™) 版本 "DS31028A”
1
简介
2004 Microchip Technology Inc. DS31030A_CN 第 1-5 页
PICmicro 中档单片机系列
1.4 开发支持
Microchip 提供了大量的开发工具,使用户可以高效地开发和调试应用代码。Microchip 的开发工
具可以分为四类:
1. 代码生成
2. 软件调试
3. 器件编程器
4. 产品评估板
®
所有 Microchip 开发工具都在 MPLAB
生成工具包括:
• MPASM
• MPLAB-C
• MP-DriveWay™
TM
这些软件开发程序包括器件的头文件。每个头文件都将寄存器名称 ( 如器件数据手册所示 ) 定义
到具体地址或位的位置。使用头文件便于代码移植,并减少了记忆寄存器地址或寄存器中某位的
位置的烦琐程度。
注 : Microchip 强烈建议用户在程序的源代码中使用所提供的头文件。这样做便于代码移
植,并有助于 Microchip 提供更加优质而深入的技术支持。
便于软件调试的工具如下:
• PICMASTER
• ICEPIC
• MPLAB-SIM 软件模拟器
®
在线仿真器
TM
在线仿真器
产生并调试了应用软件后,需要对器件进行编程。 Microchip 提供以下两种编程器:
1. PICSTART
2. PROMATE
Plus 编程器
II 编程器
演示板可供软件代码的开发者评估单片机在应用中的性能和适用性。提供的演示板有:
• PICDEM
• PICDEM
• PICDEM
• PICDEM
TM
TM
TM
TM
-1
-2
-3
-14A
“开发工具”一章给出了所有 Microchip 开发工具的完整描述。当出现新开发工具时,其产品简
介和用户指南可通过 Microchip 的网页 (www.microchip.com) 或从当地的 Microchip 销售办事处
获得。
代码开发的建议和技巧将在 “代码开发”一章 中介绍。
Microchip 还提供其它辅助工具来加速开发,它们是:
• 应用笔记
• 参考设计
• Microchip 网站
• Microchip 论坛
• 当地销售办事处提供的现场应用支持
• 公司的技术支持热线
网站上的用户兴趣小组如 MIT reflector PIClist 等还提供了额外的帮助。 Microchip 的网站列出了
其它一些有用的链接。
集成开发环境下运行,但某些第三方工具则不一定。代码
DS31030A_CN 第 1-6 页 2004 Microchip Technology Inc.
第 1 章 简介
1.5 器件种类
1.5.1 存储器种类
1.5.1.1 EPROM
一旦器件的功能确定后,还需要考虑其它一些特性,包括:
• 存储器类型
• 工作电压
• 工作温度范围
• 工作频率
• 封装
Microchip 提供了大量的选择及选择组合,其中定有一种可以满足您的需要。
存储器类型对器件的逻辑操作没有影响。由于所需的工艺步骤不同,具有同样功能集 / 引脚排列
而存储器类型不同的器件,其电气特性会有所不同。例如电气特性中的 VIL ( 输入低电压 ),对于
典型的 EPROM 器件和典型的 ROM 器件会有所不同。
每种单片机都有多种频率和封装选择。根据应用和生产要求,可以通过器件数据手册最末的产品
选型章节来选择适当的器件。 当订购器件时,请使用 “产品识别体系”订购正确的器件号。
器件的功能与存储器类型和工作电压范围无关。 Microchip 提供三种程序存储器类型。器件编号
中产品系列指定符后的第一个 (或多个)字母指明了存储器类型。
1. PIC16C XXX 中的 C 表示这些器件具备 EPROM 型存储器。
2. PIC16CR XXX 中的 CR 表示这些器件具备 ROM 型存储器。
3. PIC16F XXX 中的 F 表示这些器件具备 FLASH 型存储器。
1
简介
Microchip 着重于可擦除可编程只读存储器 (EPROM) 技术的生产,为用户的整个设计开发过程提
供了灵活性。 Microchip 在此技术的基础上提供了多种封装形式。
1.5.1.2 只读存储器 (ROM)
Microchip 提供几种大容量掩膜只读存储器 (ROM) 器件,从而为用户提供大容量、成熟产品的低
成本方案。
ROM 器件的程序存储空间中不能写入序列信息。
欲了解如何提交 ROM 代码的信息,请联系当地 Microchip 销售办事处。
1.5.1.3 闪存存储器
这种器件是电可擦除的,可提供低成本的塑料封装。电可擦除特性使这些器件无需从电路板上拆
下,即可擦除和再编程。无论是样机开发、试用,还是产品生产,均使用同样规格的器件。
2004 Microchip Technology Inc. DS31030A_CN 第 1-7 页
PICmicro 中档单片机系列
1.5.2 工作电压范围
所有中档系列的 PICmicro 单片机均可在标准电压范围下运行。我们还提供扩展电压范围 (频率
范围缩小)的器件。表 1-1 列出了PIC16CXXX 系列单片机的所有存储器类型和电压范围指定符。
指定符用粗体显示。
表 1-1: 器件存储器类型和电压范围指定符
存储器类型
EPROM PIC16C XXX PIC16LC XXX
ROM PIC16CR XXX PIC16LCR XXX
Flash PIC16F XXX PIC16LF XXX
注:对某一器件不一定提供所有存储器类型。
如表 1-2 所示,在未对器件的特性指标做出标定前, Microchip 的扩展电压范围规范是较为保守
的。
表 1-2: 每个器件类型对应的典型电压范围
典型电压范围
标准
扩展 器件特性指标标定前
最后规范
注 1 : Microchip 的 120K 工艺生产的器件,其 V
2 : 工作电压范围由器件特性决定。
(1)
电压范围
标准 扩展
EPROM ROM Flash
C 4.5 - 6.0V CR 4.5 - 6.0V F 4.5 - 6.0V
LC 3.0 - 6.0V LCR 3.0 - 6.0V LF 3.0 - 6.0V
LC 2.5 - 6.0V LCR 2.5 - 6.0V LF 2.0 - 6.0V
DD 的上限为 5.5V。新的数据手册将明确标明这一点。
DS31030A_CN 第 1-8 页 2004 Microchip Technology Inc.
第 1 章 简介
1.5.3 封装类型
在产品开发的不同阶段,有三种封装类型可供使用:
第一种带有一个可擦除窗口,一般是陶瓷体封装。该类器件的程序存储器可以被多次擦除和编
程,因此一般用于开发阶段。
第二种是低成本塑料封装,这种封装类型的器件一般用于批量生产,以最大限度降低成本。
最后一种是 DIE (管芯),它是一种经过测试的无封装器件。 DIE 通常用于低成本设计以及将电
路板空间保持最小的设计中。上述内容可小结如表 1-3 所示。
表 1-3: 典型封装的应用
封装类型 典型应用
窗口型 开发模式
塑封 生产
DIE
特殊应用,如需要最小电路板空间的应用
1
简介
2004 Microchip Technology Inc. DS31030A_CN 第 1-9 页
PICmicro 中档单片机系列
1.5.3.4 紫外线 (UV) 可擦除器件
UV 可擦除 EPROM 程序存储器是开发样机和试用器件的最佳选择。
这种器件可以被擦除和再编程为任何配置模式。还提供第三方编程器对该类器件进行编程,请参
考 Microchip 的 Third Party Guide (DS00104) 。
彻底擦除该类器件所需的时间与光波长、强度、到紫外线源的距离和器件的制造工艺技术 ( 存储
单元的大小)有关。
注 : 由于荧光灯和日光所发出的光波长均可擦除器件,因此将窗口型器件的窗口裸露一
段时间后,器件存储单元的内容会被擦除。荧光灯的擦除时间大约是三年,而日光
则只需一周左右。为了防止存储单元的内容丢失, 可在擦除窗口上帖一张不透明的
标签。
1.5.3.5 一次性可编程 (OTP) 器件
一次性可编程器件对于需要对代码进行修改和更新的用户特别有用。
用户可对塑料封装的 OTP 器件进行一次编程。除了程序和数据 EPROM 存储器外,配置字也必
须被编程。
1.5.3.6 闪存器件
闪存器件的存储器可以进行电改写。这意味着系统可以被设计成允许在线编程。因为不需要擦除
窗口,器件可以使用低成本的塑料封装。
1.5.3.7 EEPROM 器件
EEPROM 型器件的存储器可以进行电改写。这意味着系统可以被设计成允许在线擦除和再编程。
因为不需要擦除窗口,器件可以使用低成本的塑料封装。
DS31030A_CN 第 1-10 页 2004 Microchip Technology Inc.
第 1 章 简介
1.5.3.8 ROM 器件
ROM 器件的程序存储器在硅加工时就固化了。由于程序存储器的内容不能被改写,这类器件可
使用低成本的塑料封装。
1.5.3.9 DIE( 管芯 )
DIE 可使电路板尽可能缩小。 DIE 技术文档 (DS30258) 介绍了 DIE 的使用与设计。我们还提供关
于 DIE 的详细规格表。在制造中采用 DIE 需要专门的知识和设备,这说明支持 DIE 的生产商数量
有限。如果您决定使用 DIE ,请确认您的生产商能够满足使用 DIE 的专业要求。
1.5.3.10 专门服务
对于已有固定代码的 OTP 用户, Microchip 提供两种专门服务:快速批量编程 (Quick Turn
Production Programming)和带序列号的快速批量编程( Serialized Quick Turn Production
Programming),以缩短用户的制造周期。
1.5.3.11 快速批量编程 (QTP)
Microchip 批量生产订单提供这种出厂前的编程服务。这种服务适用于那些不想对中到大批量单
片机编程,并且代码已经相对稳定的用户。这种器件与 OTP 器件相同,只是所有 EPROM 的位
置和配置已在出厂前设定,并对代码进行了必要的校验。欲了解更详细信息,请联系当地
Microchip 销售办事处。
1.5.3.12 带序列号的快速批量编程 (SQTP
Microchip 向用户提供这种独特的编程服务,可将每个器件中的几个用户指定位置编程为各自不
同的序列号。该序列号可以是随机数、伪随机数或连续编号。
这种串行编程使每个器件具有唯一的序列号,可以作为登录码、口令或用户识别码。
SM
1
简介
)
2004 Microchip Technology Inc. DS31030A_CN 第 1-11 页
PICmicro 中档单片机系列
1.6 格式和符号的约定
本文档采用了特定的字体格式。大多数字体变化表示其与正文的区别。单片机行业中有许多符号
和非常规字词定义和缩写。表 1-4 给出了许多本文档中所包含的约定。“术语表”一章中提供了
一个术语表,其中包含了更多在本手册中出现的字词和缩写的定义。
1.6.1 文档约定
表 1-4 给出了本手册中使用的一些符号和术语。
表 1-4: 文档约定
符号或术语 说明
置 1
清零
复位
0xnn 或 nnh 指定数据 ‘nn’ 为十六进制数。这种约定用于代码实例中。
B’bbbbbbbb’ 指定数据 ‘bbbbbbbb’ 为二进制数。这种约定用于文本以及图表中。
R-M-W 读 - 修改 - 写。这表示寄存器或端口值被读取,修改后再写回寄存器或端
: ( 冒号 ) 用来指定范围,或寄存器 / 位 / 引脚的组合。
< > 在特定寄存器中指定位的位置。
Courier 字体
Times 字体
黑体, 斜体
Time s,
注
(1)
小心
(1)
警告
注 1 : 我们提供小心或警告信息是为了保护您的人身安全。请仔细阅读每一条小心和警告信
息。
强制某一位 / 寄存器的值为逻辑 1 。
强制某一位 / 寄存器的值为逻辑 0 。
1) 强制某一寄存器 / 位回到默认状态。
2) 复位后器件的状态。某些位将被强制为 0 ( 如中断允许位 ),而其它位被
置为 1 ( 如 I/O 数据方向位 )。
口。单条指令 ( 如置位 BSF) 或一个指令序列可执行读 - 修改 - 写操作。
如 TMR1H:TMR1L 表示用两个 8 位寄存器组成一个 16 位定时器,而
SSPM3:SSPM0 是用来指定 SSP 模块工作模式的 4 位数据。组合顺序 ( 从
左到右 ) 通常表示一种位置关系 (MSb 到 LSb,高位到低位 )。
如 SSPCON<SSPM3:SSPM0> ( 或 SSPCON<3:0>) 指定了寄存器和相
关的位或位的位置。
用于代码示例、二进制数以及文本中的指令助记符。
用于公式和变量。
用于图表 / 公式 / 示例中的说明文本。
“注”表示需要强调的信息,可以帮助您避免常见的陷阱,或提醒您注意
同一系列器件间的操作区别。“注”总是以阴影的方框出现 ( 如下 ),除
非用于表格中,这时它位于表格的下方 ( 如本表格 )。
注 : 这是一个 “注”方框中的 “注”。
小心描述了一种可能潜在破坏软件或设备的情况。
警告描述了一种可能潜在导致人身伤害的情况。
DS31030A_CN 第 1-12 页 2004 Microchip Technology Inc.
第 1 章 简介
1.6.2 电气特性
本手册中有一些对电气规范参数编号的引用。尽管不同器件的实际参数值可能不同,但参数编号
代表了同一组特性或条件,不同数据手册的参数编号是一致的。
“电气规范”一章中列出了文档中涉及的所有器件的所有参数。一种器件不具备所有这些参数。
这一章旨在向您说明 Microchip 对哪些参数作了规定。每个参数的实际值均取决于具体器件,尽
管我们对保持所有器件参数的一致性作出了很大的努力。
表 1-5: 电气规范参数命名约定
参数格式 说明
Dxxx
Axxx
xxx 时序 ( 交流 ) 规范
PDxxx
Pxxx 器件编程时序 ( 交流 ) 规范
注 1: xxx:代表一个数。
直流规范
模拟外设的直流规范
器件编程直流规范
1
简介
2004 Microchip Technology Inc. DS31030A_CN 第 1-13 页
PICmicro 中档单片机系列
1.7 相关文档
Microchip 及其它合作伙伴提供了其它文档来帮助用户使用 PICmicro 单片机进行开发。下面列出
了最常用的文档,当然还有其它文档可供参考。请浏览 Microchip 网站 (www.microchip.com) 查
阅最新发布的技术文档。
1.7.1 Microchip 文档
Microchip 提供下列文档。其中许多文档都提供了具体的应用信息,并给出了 PICmicro 单片机的
使用、编程和设计实例。
1. MPASM
该文档介绍了如何使用 Microchip 的 MPASM 汇编器。
2. MPLAB
该文档介绍了如何使用 Microchip 的 MPLAB-C C 编译器。
3. MPLAB
该文档 介绍了如何使用 Microchip 的 MPLAB 集成开发环境。
4. MPLAB
该文档介绍了如何使用 MPLAB 的内置编辑器。
5. PICMASTER
该文档介绍了如何使用 Microchip 的 PICMASTER 在线仿真器。
6. MPSIM
该文档介绍了如何使用 Microchip 的 MPLAB 模拟器。
7. PRO MATE
该文档介绍了如何使用 Microchip 的 PRO MATE 通用编程器。
8. PICSTART
该文档介绍了如何使用 Microchip 的 PICSTART-Plus 低成本通用编程器。
9. fuzzyTECH ®-MP User's Guide (DS30389)
该文档介绍了如何使用 fuzzyTECH-MP 模糊逻辑代码生成器。
10. MP-DriveWay™ User's Guide (DS51027)
该文档介绍了如何使用 MP-DriveWay 代码生成器。
11. fuzzyTECH-MP Fuzzy Logic Handbook (DS30238)
该文档介绍了 fuzzyTECH-MP 模糊技术的基本概念。
12. Embedded Control Handbook Volume I (DS00092)
该文档包含了大量应用笔记。文档中的各种程序代码对于深入了解器件的使用 ( 或其中的
一部分 ),以及着手进行一项应用设计是非常有用的。
13. Embedded Control Handbook Volume II (DS00167)
该文档介绍了 PICmicro 单片机的数学库。
14. In-Circuit Serial Programming™ Guide (DS30277)
该文档讨论了如何实现在线串行编程。
15. PICDEM
该文档介绍了如何使用 Microchip 的 PICDEM-1 演示板。
16. PICDEM
该文档介绍了如何使用 Microchip 的 PICDEM-2 演示板。
17. PICDEM
该文档介绍了如何使用 Microchip 的 PICDEM-3 演示板。
18. Third Party Guide (DS00104)
该文档列出了 Microchip 的第三方合作伙伴及顾问。
19. DIE Support (DS30258)
该文档给出了如何使用 Microchip 的 DIE (管芯)产品的相关信息。
TM
User's Guide (DS33014)
®
-C Compiler User's Guide (DS51014)
®
User's Guide (DS51025)
®
Editor User's Guide (DS30420)
®
User's Guide (DS30421)
TM
User's Guide (DS30027)
®
User's Guide (DS30082)
®
-Plus User's Guide (DS51028)
TM
-1 User's Guide (DS351079)
TM
-2 User's Guide (DS30374)
TM
-3 User's Guide (DS33015)
DS31030A_CN 第 1-14 页 2004 Microchip Technology Inc.
第 1 章 简介
1.7.2 第三方文档
我们的全球第三方合作伙伴提供了一些文档。 Microchip 并没有验证这些文档的技术准确性,然
而,这些文档有助于理解 Microchip 单片机的操作。下面列出了一些在本手册付印时我们所知的
文档,可能并不完整。欲了解如何与这些合作伙伴取得联系,以及我们新增的文档,请访问
Microchip 的网站。
语言
文档
The PIC16C5X Microcontroller: A Practical Approach to
Embedded Control
Bill Rigby/ Terry Dalby, Tecksystems Inc.
0-9654740-0-3 ............................................................................................................... 英语
Easy PIC'n
David Benson, Square 1 Electronics
0-9654162-0-8 ............................................................................................................... 英语
A Beginners Guide to the Microchip PIC
Nigel Gardner, Bluebird Electronics
1-899013-01-6 ............................................................................................................... 英语
®
PIC
Microcontroller Operation and Applications
DN de Beer, Cape Technikon......................................................................................... 英语
Digital Systems and Programmable Interface Controllers
WP Verburg, Pretoria Technikon .................................................................................... 英语
Mikroprozessor PIC16C5X
Michael Rose, Hüthig
3-7785-2169-1 ............................................................................................................... 德语
Mikroprozessor PIC17C42
Michael Rose, Hüthig
3-7785-2170-5 ............................................................................................................... 德语
Les Microcontrolleurs PIC
Christian Tavernier, Dunod
2-10-002647-X ............................................................................................................... 法语
Micontrolleurs PIC
C.F. Urbain, Publitronic
2-86661-058-X ............................................................................................................... 法语
New Possibilities with the Microchip PIC
RIGA .............................................................................................................................. 俄语
®
®
et mise en oeuvre
a structure RISC
®
®
1
简介
2004 Microchip Technology Inc. DS31030A_CN 第 1-15 页
PICmicro 中档单片机系列
文档 语言
PIC16C5X/71/84 Development and Design, Part 1
United Tech Electronic Co. Ltd
957-21-0807-7................................................................................................................ 中文
PIC16C5X/71/84 Development and Design, Part 2
United Tech Electronic Co. Ltd
957-21-1152-3 ................................................................................................................ 中文
PIC16C5X/71/84 Development and Design, Part 3
United Tech Electronic Co. Ltd
957-21-1187-6 ................................................................................................................ 中文
PIC16C5X/71/84 Development and Design, Part 4
United Tech Electronic Co. Ltd
957-21-1251-1................................................................................................................ 中文
PIC16C5X/71/84 Development and Design, Part 5
United Tech Electronic Co. Ltd
957-21-1257-0................................................................................................................ 中文
PIC16C84 MCU Architecture and Software Development
ICC Company
957-8716-79-6................................................................................................................ 中文
DS31030A_CN 第 1-16 页 2004 Microchip Technology Inc.
第 1 章 简介
1.8 相关应用笔记
本部分列出了与本章内容相关的应用笔记。这些应用笔记并非都是专门针对中档单片机系列而写
的 ( 即有些针对低档系列,有些针对高档系列 ),但是其概念是相近的,通过适当修改并受到一定
限制即可使用。 目前介绍 Microchip PICmicro 单片机的应用笔记有:
标题 应用笔记 #
A Comparison of Low End 8-bit Microcontrollers AN520
PIC16C54A EMI Results AN577
Continuous Improvement AN503
Improving the Susceptibility of an Application to ESD AN595
Plastic Packaging and the Effects of Surface Mount Soldering Techniques AN598
1
简介
2004 Microchip Technology Inc. DS31030A_CN 第 1-17 页
PICmicro 中档单片机系列
1.9 版本历史
版本 A
这是 Microchip PICmicro 单片机简介的初始发行版。
DS31030A_CN 第 1-18 页 2004 Microchip Technology Inc.
第 2 章 振荡器
目录
本章包括下面一些主要内容:
2.1 简介 ................................................................................................................................2-2
2.2 振荡器配置 .....................................................................................................................2-2
2.3 晶体振荡器 / 陶瓷谐振器 ................................................................................................2-4
2.4 外部 RC 振荡器 ............................................................................................................ 2-12
2.5 4MHz 内部 RC 振荡器 ..................................................................................................2-13
2.6 休眠模式对片内振荡器的影响 ...................................................................................... 2-17
2.7 器件复位对片内振荡器的影响 ...................................................................................... 2-17
2.8 设计技巧 .......................................................................................................................2-18
2.9 相关应用笔记 ...............................................................................................................2-19
2.10 版本历史 ....................................................................................................................... 2-20
2
振荡器
2004 Microchip Technology Inc. DS31002A_CN 第 2-1 页
PICmicro 中档单片机系列
2.1 简介
内部振荡器电路用于产生器件时钟。执行指令和实现外设功能都要用到时钟信号。每四个时钟周
期为一个内部指令周期 (T
振荡器共有 8 种工作模式。其中两种模式允许将内部 RC 振荡器的时钟输出 (CLKOUT )在一个
I/O 引脚上输出,或允许将此 I/O 引脚用于一般输入输出功能。振荡器模式通过器件配置位来选
择。器件配置位均为非易失性存储器,振荡器的工作模式由编程器件时所写进器件配置位的值决
定。 振荡模式如下:
• LP 低频 (低功耗) 晶体
• XT 晶体 / 谐振器
• HS 高速晶体 / 谐振器
• RC 外部电阻 / 电容振荡模式 (与带 CLKOUT 的 EXTRC 模式相同)
• EXTRC 外部电阻 / 电容振荡模式
• EXTRC 外部电阻 / 电容振荡模式,带 CLKOUT 功能
• INTRC 4MHz 的内部电阻 / 电容振荡模式
• INTRC 4MHz 的内部电阻 / 电容振荡模式,带 CLKOUT 功能
这些振荡模式可满足根据不同应用选择不同振荡器模式的要求。选择 RC 振荡器模式可节省系统
的成本,而 LP 晶体模式可降低系统功耗。 配置位用来选择不同的选项。更多有关器件配置位的
详细内容,请参阅 “器件特性”一章 。
2.2 振荡器配置
CY)。
2.2.1 振荡器类型
中档器件可以有 8 种不同的振荡模式。用户可通过编程 3 个器件配置位 (FOSC2 , FOSC1 和
FOSC0)选择其中的一种:
• LP 低频 (低功耗) 晶体
• XT 晶体 / 谐振器
• HS 高速晶体 / 谐振器
• RC 外部电阻 / 电容振荡模式 (与带 CLKOUT 的 EXTRC 模式相同)
• EXTRC 外部电阻 / 电容振荡模式
• EXTRC 外部电阻 / 电容振荡模式,带 CLKOUT 功能
• INTRC 4MHz 的内部电阻 / 电容振荡模式
• INTRC 4MHz 的内部电阻 / 电容振荡模式,带 CLKOUT 功能
LP、 XT 和 HS 模式的主要区别是振荡器的片内反相器增益不同,这使得振荡器有不同的工作频
率范围。表 2-1 和 表 2-2 给出了选择振荡器模式的一些参考信息。通常情况下,选择能够满足技
术要求且具有最低增益的模式,这样能够降低动态电流(I
DD)。所给出的不同振荡器模式的频率
范围值均为我们建议的并经过测试的振荡器截止频率。但若经过彻底验证(电压、温度、元件差
异 (包括电阻、电容和单片机的内部振荡器电路)),也可选择不同的增益模式。
RC 模式和带 CLKOUT 的外部电阻 / 电容模式 ( EXTRC )具有相同的功能。这样命名是为了便
于描述它有别于其它振荡模式的操作。
DS31002A_CN 第 2-2 页 2004 Microchip Technology Inc.
表 2-1: 通过 FOSC1:FOSC0 位选择器件振荡器模式
OSC
配置位
FOSC1:FOSC0
1 1 RC —
1 0 HS
0 1 XT
0 0 LP
表 2-2: 通过 FOSC2:FOSC0 位选择器件振荡器模式
配置位
FOSC2:FOSC0
1 1 1
1 1 0 EXTRC —
1 0 1
1 0 0 INTRC —
0 1 1 ——
0 1 0 HS
0 0 1 XT
0 0 0 LP
OSC
模式
OSC
模式
带
CLKOUT
的
EXTRC
带
CLKOUT
的
INTRC
反馈
反相放大器
增益
最经济的振荡解决方案 (只需一个外部电阻和电
容)。时基变化最大。
器件默认模式。
高增益 高频应用。
在三种晶体振荡模式中,电流消耗最大。
中等增益 标准晶体 / 谐振器。
在三种晶体振荡模式中,电流消耗较大。
低增益 低功耗 / 低频应用
在三种晶体振荡模式中,电流消耗最小。
OSC
反馈
反相放大器
增益
—
—
高增益 高频应用。
中等增益 标准晶体 / 谐振器。
低增益 低功耗 / 低频应用。
经济的器件振荡解决方案。时基变化最大。引脚
的 CLKOUT 被使能。器件默认模式。
经济的器件振荡解决方案。 时基变化最大。
引脚的 CLKOUT 被禁止 (作为 I/O )。
最经济的器件振荡解决方案。
4MHz 振荡器,振荡频率可微调。
引脚的 CLKOUT 被使能。
最经济的器件振荡解决方案。
4MHz 振荡器,振荡频率可微调。
引脚的 CLKOUT 被禁止 (作为 I/O )。
保留
在三种晶体振荡模式中,电流消耗最大。
在三种晶体振荡模式中,电流消耗较大。
在三种晶体振荡模式中,电流消耗最小。
第 2 章 振荡器
备注
2
振荡器
备注
2004 Microchip Technology Inc. DS31002A_CN 第 2-3 页
PICmicro 中档单片机系列
2.3 晶体振荡器 / 陶瓷谐振器
在 XT、 LP或 HS 模式下,OSC1和 OSC2 引脚连接一个晶体或陶瓷谐振器以产生振荡,(图 2-1 )。
PICmicro
振荡器产生的频率超出晶体制造厂商所给的参数范围。在 XT 、 LP 或 HS 模式下,器件可用一个
外部时钟源来驱动 OSC1 引脚 (图 2-3 )。
图 2-1: 晶体或陶瓷谐振器的运行 (HS , XT 或 LP 振荡器模式)
®
单片机振荡器的设计要求使用一个平行切割的晶体。而使用顺序切割的晶体,可能使
OSC1
C1
XTAL
OSC2
(1 )
Rs
C2
注 1: 对于 AT 条形切割 (AT Strip Cut )的晶体可能需要一个串联电阻
Rs 。
2: 反馈电阻, R
F, 典型值为 2-10MΩ。
3: 根据器件不同,内部逻辑的缓冲器可置于反相器的输入端或输出端。
RF
( 2)
PIC16CXXX
至内部逻辑
休眠
至内部逻辑
(3 )
(3 )
DS31002A_CN 第 2-4 页 2004 Microchip Technology Inc.
2.3.1 振荡器 / 谐振器起振
随着器件电压从 VSS 电平开始增加,振荡器将起振。起振时间取决于多种因素,包括:
• 振荡器 / 谐振器频率
• 所使用的电容容量 (图 2-1 中的 C1 和 C2 )
• 器件电源电压 V
• 系统温度
• 如果使用了串联电阻 (图 2-1 中的 Rs )
• 器件的振荡模式选择 (决定振荡器内部反相器的增益)
• 晶体的品质
• 振荡器电路布局
• 系统噪声
图 2-2 为一个振荡器 / 谐振器起振的示例。振荡器波形中的峰峰值电压可以很小(小于器件 V
的 50%),其波形以 VDD /2 为中心波动。(请参阅 “电气规范”一章 中的参数 D033 和 D043 )。
的上升时间
DD
第 2 章 振荡器
,
还包括其阻值和类型
DD
2
图 2-2: 振荡器 / 谐振器起振特性示例
系统最大 VDD
电压
0V
晶体起振时间
振荡器
器件电压 VDD
时间
2004 Microchip Technology Inc. DS31002A_CN 第 2-5 页
PICmicro 中档单片机系列
2.3.2 元件选择
图 2-1 是晶体或陶瓷谐振器的电路图。反馈电阻 RF 的典型值在 2 到 10M Ω ,其阻值随着器件电
压、温度和制造工艺的变化而变化。如果使用 AT 条形切割晶体,可能需要串联电阻 Rs 。在确定
电阻的需求时,一定要将器件的工作电压和制造工艺考虑进去。如图 2-1 所示,与器件内部逻辑
的连接取决于器件本身。关于器件参数,请参阅相关的器件数据手册。表 2-3 和表 2-4 给出了电
容的典型值 (C1 , C2 ),各器件的数据手册中均给出了经 Microchip 测试的具体数值。
表 2-3: 陶瓷谐振器的典型电容选择
模式 频率
XT 455 kHz
2.0 MHz
4.0 MHz
HS 8.0 MHz
16.0 MHz
20.0 MHz
件
器
455 kHz Panasonic EFO-A455K04B ±0.3%
2.0 MHz Murata Erie CSA2.00MG ±0.5%
4.0 MHz Murata Erie CSA4.00MG ±0.5%
8.0 MHz Murata Erie CSA8.00MT ±0.5%
16.0 MHz Murata Erie CSA16.00MX ±0.5%
20.0 MHz
注 1: C1 和 C2 的建议值与上述测试范围内的值相同。
2: 所有测试的谐振器均需要外接电容。
参
采用较大的电容值有利于提高振荡器的稳定性,但同时也延长了起振时间。
这些值仅供设计参考。由于每个谐振器都有其自身的特性,用户应向谐振器厂商咨询
外部元件的适当值,或验证谐振器的实际性能。
见
待定 待定
所使用的谐振器
测试范围
数
据
手
C1 / C2
22 - 100 pF
15 - 68 pF
15 - 68 pF
10 - 68 pF
10 - 22 pF
(1 )
册
TBD
DS31002A_CN 第 2-6 页 2004 Microchip Technology Inc.
第 2 章 振荡器
表 2-4: 晶体振荡器的典型电容选择
模式 频率
LP 32 kHz
200 kHz
XT 100 kHz
2 MHz
4 MHz
HS 8 MHz
10 MHz
20 MHz
(1 )
C1
68 - 100 pF
15 - 30 pF
68 - 150 pF
15 - 30 pF
15 - 30 pF
15 - 30 pF
15 - 30 pF
15 - 30 pF
据
手
册
(1 )
C2
68 - 100 pF
15 - 30 pF
150 - 200 pF
15 - 30 pF
15 - 30 pF
15 - 30 pF
15 - 30 pF
15 - 30 pF
数
所使用的晶体
32.768 kHz Epson C-001R32.768K-A ± 20 PPM
100 kHz Epson C-2 100.00 KC-P ± 20 PPM
200 kHz STD XTL 200.000 kHz ± 20 PPM
2.0 MHz ECS ECS-20-S-2 ± 50 PPM
4.0 MHz ECS ECS-40-S-4 ± 50 PPM
10.0 MHz ECS ECS-100-S-4 ± 50 PPM
20.0 MHz ECS ECS-200-S-4 ± 50 PPM
注 1: 采用较大的电容值有利于提高晶体振荡器的稳定性,但同时也延长了起振时间。这些
参
值仅供设计参考。为避免对低驱动规格的晶体造成过驱动,在 HS 和 XT 模式下,可
能需要串联电阻 Rs 。由于每个谐振器都有其自身的特性,用户应向谐振器厂商咨询
外部元件的适当值,或验证谐振器的实际性能。
见
器
件
2
振荡器
2004 Microchip Technology Inc. DS31002A_CN 第 2-7 页
PICmicro 中档单片机系列
2.3.3 振荡器电路的调整
由于 Microchip 器件具有宽工作范围 (频率,电压和温度;取决于订购的具体器件和版本 ), 加
上各种外部元件 (晶体,电容等),它们的质量和生产工艺也不相同,因此需要进行运行验证,
以保证元件的选择符合应用要求。
在选择和安装外部元件时,要考虑多种因素,它们是:
• 放大器增益
• 所需频率
• 晶体谐振频率
• 工作温度
• 电源电压范围
• 起振时间
• 稳定性
• 晶体寿命
• 功耗
• 简化电路
• 标准元器件的使用
• 使用最少元件的元件组合形式
DS31002A_CN 第 2-8 页 2004 Microchip Technology Inc.
2.3.3.1 晶体,时钟模式, C1 , C2 , 和 Rs 的最佳取值
选择元件的最好方法是应用相关知识和进行大量的试验、测量和测试。
通常,晶体的选择只考虑其并联谐振频率,但是,其它参数对您的设计可能也很重要,如温度或
频率允差。如果想了解更多关于晶体工作原理和订购信息,应用笔记 AN588 是个很不错的参考。
PICmicro 单片机内部振荡器电路是一个并联振荡器电路,要求选择一个并联谐振器。 负载电容通
常取值为 20 pF 到 32 pF 。电容在这个范围内,晶体的振荡频率最接近设计频率。正如后面将要
描述的那样,为了提高其他方面的性能, 有时稍微更改一下负载电容值也是很有必要的。
时钟模式主要是根据频率,采用器件数据手册中的 F
模式(除 RC 模式外)就是选择不同的增益。 低频选低增益,高频选高增益。如果设计需要,也
可根据振荡器电路的特殊要求选择高一些或低一些的增益。
C1 和 C2 可先根据晶体厂商建议的和器件数据手册上提供的负载电容来选择。由于晶体厂商不
同、电源电压的差异和其它已提及的因素,可导致您的电路与出厂前确定特性参数过程中所使用
的电路不尽相同,因此 Microchip 数据手册只能作为一个初始参考。
理想情况下,应在建议的晶体负载范围内选择电容, 以便电路处于最高工作温度和最低 V
下时,晶体均能振荡。高温和低 VDD 电压均会对环路增益起限制作用,所以如果振荡器能工作在
这些极端情况下,设计者更确信振荡器在其它温度和电源电压下,都能正常工作。在最高增益情
况(最高 V
电压和最高工作温度)下,其幅度应该足够大,以满足器件数据手册上所列的时钟输入逻辑的要
求。
一种缩短起振时间的方法是采用一个大于 C1
号会产生较大的相移,加速振荡器的起振。
外接电容除了使晶体振荡作出适当的频率响应外,如果增加其容量,还能降低环路增益。通过选
择 C2 可影响回路的总增益。如果晶体过驱动,增大 C2 可降低增益 (请参阅关于 Rs 的讨论)。
若电容值过大,晶体会储存与释放过量的电流, 因此 C1 和 C2 不能过大。然而,测量晶体的功
耗 (瓦特数)不是一件容易的事情,但如果你所选择的电容值并未偏离建议值太远,就不必担心
这个问题。
如果其他外部元件都选好之后,发现晶体仍然过驱动,此时可以接入串联电阻 Rs 。 晶体是否过
驱可通过示波器观察 OSC2 引脚 (驱动引脚)来判断。当示波器探头连接到 OSC1 引脚时,会
使引脚负载过重,对系统性能产生不利的影响。注意,示波器探头会将其自身的负载电容加到被
测电路中,因此在设计时应考虑到此问题。例如:如果一个电路在 C2 为 20pF 时正常工作,示
波器探头负载电容为 10pF ,当探头接入 C2 端时,实际上 C2 端的电容变为了 30pF 。振荡输出
信号不应出现限幅或畸变。过驱动晶体则可导致电路振荡频率跃变到一个高次谐波上,甚至会损
坏晶体。
DD 电压和最低工作温度)下,输出正弦波应不被限幅,而在最低增益情况(最低 VDD
第 2 章 振荡器
OSC 参数 (参数 1A )来选择的。选择时钟
的
C2 值。这使得在上电时,对通过晶体的振荡信
DD 电压
2
振荡器
2004 Microchip Technology Inc. DS31002A_CN 第 2-9 页
PICmicro 中档单片机系列
OSC2 引脚的信号应为一个平滑的正弦波,且在时钟输入引脚的最大和最小电平值下轻松保持其
平滑度 (VDD 为 5V 时,时钟输入引脚的峰峰值为 4V 到 5V 通常即可满足要求)。确保正弦波平
滑的一个简单方法,还是使系统工作在设计要求的最低温度和最高 VDD 电压下,检测引脚输出波
形。此时,时钟输出应是最大振幅。 如果在靠近 VDD 和 VSS 的正弦波顶部和底部出现限幅或畸
变,而增加负载电容又可能使流过晶体的电流过大或过于偏离厂商的规定值,则可在输出引脚和
C2 之间增加一个可调电位器,调整电位器直至正弦波恢复平滑。在低温和高 V
将输出的平滑正弦波调整至尽量接近最大幅值,这样即可保证该幅值是晶体的最大工作振幅,而
防止晶体过驱动。然后用一个最接近标准阻值的串联电阻 Rs 代替可调电位器。如果 Rs 过大,
如超过 20kΩ ,则输出与输入端的隔离度过大,使得时钟易受到噪声信号干扰。 如果必须要用这
么大的电阻来防止晶体过驱动,可以尝试增大 C2 来补偿 Rs 过大造成的不利影响。尽量找到一
个结合点,使 Rs 在 10kΩ 左右或更小,而负载电容也在厂商指定的 20pF 或 32pF 附近。
2.3.3.1.1 起振
振荡器从休眠状态唤醒时是最难起振的,这是因为两个负载电容都被充电到某个静态值,而相位
差在唤醒时又最小。 因此需要更多的时间来获得稳定振荡。同时不要忘记低电压、高温和低频时
钟模式会降低环路增益,这反过来又会影响到起振。下面的每一种因素都会使情况恶化:
• 低频设计 (低增益时钟模式)
• 低噪声环境 (如电池驱动的器件)
• 在嘈杂的 RF 射频环境之外工作 (如在屏蔽盒内)
• 低电压
• 高温
• 从休眠状态唤醒
实际上,由于噪声有助于激励振荡器,噪声有利于振荡器的起振。
DD 电压条件下,
2.3.4 外部时钟输入
如果不使用 PICmicro 单片机的内部振荡器,而通过外部时钟驱动器件,此时应确保将振荡器模
式设定在三种晶体模式之一(LP , XT 或 HS ), 即 除 RC 模式之外的模式,这是由于 RC 模式和
外部输入时钟信号会产生冲突。理想情况下,应选择与外部输入频率相匹配的模式,但在此这并
不重要,因为时钟只是驱动内部逻辑电路而非晶体振荡器环路。可以选择一个频率低于振荡器电
路所需频率的时钟模式,从而可节省原本用于反相放大器的那部分功耗。应确保 OSC2 信号幅值
可以满足器件要求的逻辑阈值。
图 2-3: 外部器件的时钟输入运行 (HS , XT 或 LP 振荡器模式)
外部系统
时钟
开路
(1 )
OSC1
OSC2
注 1: 为降低系统噪声,可连接一个接地电阻。
这将使系统工作电流升高。
PIC16CXXX
DS31002A_CN 第 2-10 页 2004 Microchip Technology Inc.
2.3.5 外部晶体振荡器电路
有时单个晶体需要为多个器件提供时钟信号。由于 Microchip 不推荐在 PICmicro 的内部振荡器电
路上连接其它逻辑电路,这就需要一个外部晶体振荡器电路。这样每个器件都有一个外部时钟
源,外部时钟源能驱动的器件数量取决于缓冲器的驱动能力。这个电路对于多个 PICmicro 单片
机需要彼此同步操作同样有用。
外部时钟源既可使用现成的振荡器,也可由带 TTL 门电路的简单的振荡环路构建。现成的振荡器
有较宽的工作范围和更好的稳定性。带有 TTL 门电路的设计合理和晶体振荡器可提供良好的性
能。可使用两种类型的晶体振荡器电路:串联谐振电路和并联谐振电路。
图 2-4 为外部并联谐振晶体振荡器电路。该电路设计使用晶体的基频。 74AS04 反相器提供并联
振荡所需的 180 度相移。4.7kΩ电阻为电路的稳定工作提供一个负反馈, 10kΩ电位器将 74AS04
偏置在线性工作区。
图 2-4: 外部并联谐振的晶体振荡器电路
+5V
10kΩ
4.7 kΩ
74AS04
XTAL
74AS04
10 kΩ
第 2 章 振荡器
到其他
器件
PIC16CXXX
CLKIN
2
振荡器
10 kΩ
20 pF
20 pF
图 2-5 为外部串联谐振振荡器电路。该电路同样设计使用晶体的基频。每个反相器在串联谐振电
路中都提供 180 度的相移。 330k Ω 电阻通过负反馈将反相器偏置在线性工作区。
图 2-5: 外部串联谐振的晶体振荡器电路
到其他
74AS04
器件
PIC16CXXX
CLKIN
330 kΩ
74AS04
330 kΩ
74AS04
0.1 µF
XTAL
当器件由外部时钟源驱动时 (如图 2-4 或图 2-5 ),单片机的振荡模式必须配置成 LP 、XT 或 HS
模式 (图 2-3 )。
2004 Microchip Technology Inc. DS31002A_CN 第 2-11 页
PICmicro 中档单片机系列
2.4 外部 RC 振荡器
对于对定时要求不高的应用,“XTRC ”器件选项额外降低了成本。 RC 振荡器频率是电源电压、
电阻 (R
个器件的振荡频率也会有所不同。 而不同封装的引线电容不同,也会影响振荡频率,特别是 CEXT
值较小时。用户还需要考虑由于外接电阻 REXT 和电容 CEXT 的公差所带来的影响。图 2-6 显示
了如何为 PIC16CXXX 外接 RC 电路。 当 REXT 的阻值低于 2.2kΩ 时,振荡器工作可能变得不稳
定,或完全停止振荡。 R
因此,我们建议将 R
图 2-6: EXTRC 振荡器模式
EXT) 、电容 ( CEXT )和工作温度的函数。另外, 由于正常的制造工艺参数的差异,每
EXT 值很高时 (如 1MΩ),振荡器则易受噪声、湿度和漏电流的干扰。
EXT 保持在 3kΩ 和 100kΩ 之间。
VDD
REXT
OSC1
Fosc
内部时钟
2.4.1 RC 起振
CEXT
VSS
Fosc/4
OSC2/CLKOUT
(1)
PIC16CXXX
注 1: 该输出引脚也可以被设置成通用 I/O 引脚。
尽管在没有外部电容 (C
EXT = 0 pF)的情况下,振荡器仍可工作,但考虑到噪声和稳定性等因
素,我们仍建议使用一个大于 20pF 的电容。在没有外部电容或外部电容很小的情况下,由于外
部电容的变化,如 PCB 上走线的电容和封装的引线电容,振荡频率会发生很大的变化。
由于正常制造工艺参数的差异,每个器件的 RC 频率不同,具体可查阅描述 RC 频率特性数据。
外接电阻越大,频率偏差越大 (因为电阻越大,漏电流的变化对 RC 频率影响越大);外接电容
越小,频率偏差也越大 (因为外接电容越小,输入电容容量的偏差对频率影响越大)。
给定 R
EXT/C EXT 值,由于 V DD 引起的振荡器频率变化,可参阅相关的特性数据。同样,对给定
R
EXT、 C EXT 和 V DD 值,由于工作温度引起的振荡器频率变化也请参阅特性数据。
振荡器频率的 4 分频信号可由 OSC2/CLKOUT 引脚输出,可用作测试或同步其它逻辑单元。(请
参阅 “架构”一章 中图 4-3 :“时钟 / 指令周期”的相关波形)。
随着器件工作电压的上升,当与 RC 相连的引脚电压达到输入阈值(见“电气规范”一章 中的参
数 D032 和 D042 )后, RC 将立即起振。 RC 的起振时间取决于许多因素,如:
• 所使用的电阻值
• 所使用的电容值
• 器件 VDD 电压的上升时间
• 系统温度
DS31002A_CN 第 2-12 页 2004 Microchip Technology Inc.
2.5 4MHz 内部 RC 振荡器
在 VDD 为 5V ,25°C 条件下,内部 RC 振荡器(不是所有的器件都有)提供了一个固定的 4MHz
系统时钟,其振荡频率随工作电压和温度变化,请参阅器件数据手册的 “电气规范”一章 。
OSCCAL 寄存器的值用于调整内部 RC 振荡器的频率。 Microchip 烧写进器件的校准值可对内部
振荡器频率进行微调,以消除因生产工艺偏差引起的频率偏差。 OSCCAL 寄存器的 CAL3:CAL0
位可用于在一个频率范围内精确调校振荡频率。 CAL3:CAL0 (从 0000 到 1111 )的值越大,将
振荡频率调校得越高。
当 4 MHz 的内部 RC 振荡器频率无法单独通过 CAL3:CAL0 位精确调校得到时,可将 RC 振荡器
频率增加或减小一个偏移频率。 CALFST 和 CALSLW 作为正负偏移频率的使能位,用来将内部
RC 频率偏移到 CAL3:CAL0 的调整范围内。
设置 CALFST 位可将振荡频率向较高频率偏移,而设置 CALSLW 位可将振荡频率向较低频率偏
移。
当器件复位时,OSCCAL 寄存器被强制为中间值(CAL3:CAL0 = 7h ,CALFST 和 CALSLW 不
提供偏置)。
寄存器 2-1: OSCCAL 寄存器
R/W-0 R/W-1 R/W-1 R/W-1 R/W-0 R/W-0 U-0 U-0
CAL3 CAL2 CAL1 CAL0 CALFST CALSLW — —
bit 7 bit 0
第 2 章 振荡器
2
振荡器
bit 7:4 CAL3:CAL0: 内部 RC 振荡器的校准位
0000 = 在调整范围内的最低时钟频率
•
•
•
1111= 在调整范围内的最高时钟频率
bit 3 CALFST: 振荡器频率偏移位
1 = 将内部 RC 振荡器频率提高到 CAL3:CAL0 调整范围内
0 = 不提供偏移
bit 2
bit 1:0
CALSLW:振荡器频率偏移位
1 = 将内部 RC 振荡器频率降低到 CAL3:CAL0 调整范围内
0 = 不提供偏移
注: 当 CALFST 、 CALSLW 两位均为 1 时, CALFST 位将超越 CALSLW 位。
未使用位 : 读作 0
注: 为了与将来的器件兼容,修改 OSCCAL 寄存器时应将这些位写为 '0'
符号
R = 可读 W = 可写
U = 未用,读为 0- n = 上电复位值
注: OSCCAL 用来消除由于制造工艺偏差引起的内部 RC 振荡频率的变化。不得修改
Microchip提供的 OSCCAL值;对于所有定时要求高的功能应根据具体应用软件进行
调整。
2004 Microchip Technology Inc. DS31002A_CN 第 2-13 页
PICmicro 中档单片机系列
图 2-7 所示为未校准时器件可能的频率(VDD = 5V ,25°C 且 OSCCAL = 70h ),以 及 OSCCAL
寄存器对频率的调校范围。
图 2-7: 理想的内部 RC 振荡器频率 与 OSCCAL 寄存器值的关系
频率
CAL3:CAL0
调整范围
4 MHz
CAL3:CAL0 = 07h
CALFST = 0
CALSLW = 0
CAL3:CAL0 = 0h
CALFST = 0
CALSLW = 1
(最低频率) (最高频率)
CAL3:CAL0 = 0h
CALFST = 0
CALSLW = 0
CAL3:CAL0 = Fh
CALFST = 0
CALSLW = 0
见 X 轴
CAL3:CAL0 = Fh
CALFST = 1
CALSLW = x
图 2-8 所示为通过选择 CAL3:CAL0 其中一个值,将振荡频率调校到 4MHz 的例子。这 些
CAL3:CAL0 位可视为精确调校的频率。有时非校准点的频率不能仅仅通过 CAL3:CAL0 位的值精
确调校到 4MHz 。因此增加了两个附加位产生一个大的正向或负向频率偏移,将非校准点的频率
偏移到能精确调整的范围内。这些附加位是 CALSLW 和 CALFST ,它们可对内部 RC 频率产生
偏移。 CALSLW 和 CALFST 位的作用如图 2-9 和图 2-10 所示。
图 2-8: CAL3:CAL0 位对内部 RC 振荡器频率的调整
CAL3:CAL0
> 4 MHz
调整范围
器件复位时的
内部 RC 频率
CALFST = 0
4 MHz ± 1.5%
( @ 5V, 25°C)
CALFLW = 0
CAL3:CAL0 = 7h
频率
< 4 MHz
CAL3:CAL0 = 0000
CAL3:CAL0 = 1111
16 个可能的校准点之一
DS31002A_CN 第 2-14 页 2004 Microchip Technology Inc.
图 2-9: CALFST 对内部 RC 频率的正向偏移
第 2 章 振荡器
CAL3:CAL0
调整范围
4 MHz ± 1.5%
(@ 5V, 25°C)
移
偏
T
S
F
L
A
频率
< 4 MHz
CAL3:CAL0 = 0000
16 个可能的校准点之一 CAL3:CAL0
图 2-10: CALSLW 对内部 RC 频率的负向偏移
> 4 MHz
C
CAL3:CAL0
调整范围
S
L
A
C
移
偏
W
L
频率
4 MHz ± 1.5%
(@ 5V, 25°C)
内部 RC 频率
CALFST = 1
CALSLW = x
器件复位时
内部 RC 频率
CALFST = 0
CALFLW = 0
CAL3:CAL0 = 1111
器件复位时
内部 RC 频率
CALSLW = 0
CALFST = 0
内部 RC 频率
CALSLW = 1
CALFST = 0
2
振荡器
CAL3:CAL0 = 0000
16 个可能的校准点之一 CAL3:CAL0
2004 Microchip Technology Inc. DS31002A_CN 第 2-15 页
CAL3:CAL0 = 1111
PICmicro 中档单片机系列
校准指令被烧写在程序存储器的末地址处。该指令中包含内部 RC 振荡器的校准值,以 RETLW
XX 指令的形式出现,其中 XX 就是校准值。为了获得校准值,可调用 CALL YY 指令, YY 是器件内
用户可存取程序存储器的末地址 (即 RETLW XX 指令的地址)。校准值被装载到 W 寄存器后,
程序可执行一条 MOVWF OSCCAL 指令,把校准值装载到内部 RC 振荡器的校准寄存器中。表 2-5
所示为校准值的存储位置,其位置取决于程序存储器的大小。
表 2-5: 校准值存储位置
2.5.1 时钟输出
程序存储器
大小 (字)
512 1FFh
1K 3FFh
2K 7FFh
4K FFFh
8K 1FFFh
校准值存储位置
注 1: 擦除器件 (窗口型)将擦除厂家为内部振荡器所烧写的校准值。
擦除窗口型器件之前,应先保存内部振荡器的校准值。为了确保校准值不意外丢失,
可将校准值写在器件的封装上。
在烧写器件之前,应先将保存的校准值恢复到程序存储器的校准区中。
注 2: OSCCAL<1:0> 未定义,应写作 ‘0’ 。这将保证其与未来器件兼容。
当配置字地址 (2007h )的 FOSC2 、 FOSC1 、 FOSC0 位烧写为 “101 ”(内部 RC 振荡器模
式),或 “111 ”(外部 RC 振荡器模式)时,内部 RC 振荡器可配置为在 CLKOUT 引脚输出一
个时钟信号。此时钟信号为振荡信号的 4 分频,可用于测试或同步其它逻辑电路。
当内部 RC 振荡器的校准值被意外擦除后, 时钟输出功能可帮助用户决定校准值的大小。用户可
编写一段程序,该程序修改 (增加 / 减少) OSCCAL 寄存器中的值。 当 CLKOUT 引脚处于 5V
和 25°C 环境下,输出频率为 1MHz (±1.5%)时, OSCCAL 寄存器的值即是正确的校准值。须
将该值写入一个端口或通过串行口移位输出,而后将该校准值记下并烧写到校准区。
DS31002A_CN 第 2-16 页 2004 Microchip Technology Inc.
2.6 休眠模式对片内振荡器的影响
当器件执行一条 SLEEP 指令后,片内时钟和振荡器均被关闭,器件状态保持为指令周期的起始状
态(Q1 状态)。随着振荡器的关闭, OSC1 和 OSC2 引脚的信号将会停止振荡。由于没有了晶
体管的开关电流, 使休眠模式达到器件的最低电流消耗 (仅有泄漏电流)。使能任何在休眠状态
下仍能工作的片内功能,都将增加休眠状态的电流消耗。用户可通过外部复位、看门狗定时器复
位或中断将器件从休眠状态唤醒。
表 2-6: 休眠模式下 OSC1 和 OSC2 引脚状态
OSC 模式 OSC1 引脚 OSC2 引脚
EXTRC
INTRC
LP、 XT 和 HS 反馈反相放大器被禁止,处于静
关于 MCLR
外部复位和休眠的相关延时,请参阅 “复位”一章 中的表 3-1 。
2.7 器件复位对片内振荡器的影响
器件复位对片内晶体振荡器电路并无影响。复位时,振荡器同未复位时一样正常工作。复位期间,
器件逻辑操作被保持在 Q1 状态,因此当器件退出复位时,总是处于指令周期的起始状态。
OSC2 引脚被用于外部时钟输出时 ( EXTRC 模式)时,其在复位期间保持为低电平。一旦引脚
处于 VIH 电平 (输入高电平), RC 振荡器将开始起振。 关于 MCLR 外部复位和休眠的
MCLR
相关延时,请参阅 “复位”一章 中的表 3-1 。
第 2 章 振荡器
悬空,经外部电阻上拉为高电平 逻辑低电平
无效 无效
反馈反相放大器被禁止,处于静
态电平
态电平
2
振荡器
2.7.1 上电延时
有两个定时器为上电过程提供必要的延时。一个是振荡器起振定时器 OST ,确保在晶体振荡器的
振荡达到稳定前,器件始终处于复位状态。另一个是上电延时定时器 PWRT ,它只为上电过程
(由上电复位 POR 和欠压复位 BOR 引起的)提供一个固定的 72ms (标称值)延时。 PWRT 的
作用是确保在电源电压稳定前,器件始终处于复位状态。有这两种片内定时器,大部分的应用无
需外接复位电路。更多关于复位的信息,请参阅 “复位”一章 。
2004 Microchip Technology Inc. DS31002A_CN 第 2-17 页
PICmicro 中档单片机系列
2.8 设计技巧
问 1:
答 1:
1. 运行了 SLEEP 指令,却没有通过唤醒源 (如 WDT、 MCLR
否代码将器件置于休眠状态而没有提供唤醒。 可能的话,为 MCLR
冲来唤醒器件。上电时将 MCLR
MCLR 引脚变为高电平之前,程序计数器不会计数。
2. 为设计的工作频率选择了错误的时钟模式。对于一个空白器件,默认的振荡器模式为
EXTRC (外部 RC)。 大部分器件的时钟均被选择为默认的 RC 模式,这种模式在外接晶
体或谐振器时,是不能起振的。 检查时钟模式是否被正确设置。
3. 没有按照正常顺序上电。如果一个 CMOS 电路通过某个 I/O 引脚先于上电过程而上电,就
可能发生问题 (硬件闭锁,异常启动等)。发生欠压复位、启动时的电源线干扰、 V
压的上升速率过慢等均可能引发问题。试着在器件上电时,断开 I/O 引脚与外部器件的连
接,并使用一个已知的性能良好且电压上升速率快的电源。这个问题并没有所说的那样严
重, 但是有可能存在。关于欠压和上电顺序,请参考器件数据手册中关于上电的介绍。
4. 电容 C1 、C2 与晶体的连接不正确或者电容的容量有误。请确保所有的硬件连接都是正确
的。按器件数据手册上提供的 C1、 C2 值连接,振荡器一般均可运行,只是对于你的具体
设计,它们可能不是最佳值。
问 2: PICmicro
答 2:
振荡器电路的增益太高。请参阅 2.3 “晶体振荡器 / 陶瓷谐振器” ,帮助您正确选择 C2 (可能要
选得大一些)、 Rs (可能要接此电阻)和
发生于低频晶体,如常用的 32.768 kHz 晶体。
问 3:
答 3:
改变 C1 的值可以影响振荡器的频率。如果使用串联谐振晶体,其谐振频率与并联同一频率的谐
振晶体不同。
上电后通过示波器观察
OSC2
引脚,没有时钟信号。这是什么原因?
或中断)唤醒器件。检测是
引脚输入一个低电平脉
引脚保持低电平将使晶体振荡器有更多的时间起振,但
单片机已运行,但是工作频率比晶体谐振频率高很多。
时钟模式
(可能选错了时钟模式)。这种情况尤其可能
设计的系统运行良好,只是频率稍有偏移,应该如何调整它?
DD 电
问 4:
答 4:
仔细检查你的程序,是否是程序原因引起计时丢失。此外,还有可能是因为振荡器的输出幅度不
够高而不能可靠地触发振荡输入。
问 5:
答 5:
如果对你来说,器件振荡频率不是太重要,你可继续使用它。
如果器件频率的确很关键,你可以买一片新的窗口型器件,或者按 2.5.1 “ 时钟输出 ” 中所述的方
法恢复校准值。
电路板工作良好,然而有时突然停止工作或者计时丢失。
我使用的是带内部RC振荡器的器件,不小心擦除了校准值。我该怎么办?
DS31002A_CN 第 2-18 页 2004 Microchip Technology Inc.
2.9 相关应用笔记
本部分列出了与本章内容相关的应用笔记。这些应用笔记并非都是专门针对中档单片机系列而写
的 (即有些针对低档系列,有些针对高档系列),但其概念是相近的,通过适当修改并受到一定
的限制即可使用。目前与振荡器相关的应用笔记有:
标题 应用笔记 #
PIC16/17 Oscillator Design Guide AN588
Low Power Design using PIC16/17 AN606
第 2 章 振荡器
2
振荡器
2004 Microchip Technology Inc. DS31002A_CN 第 2-19 页
PICmicro 中档单片机系列
2.10 版本历史
版本 A
这是描述 PICmicro 单片机振荡器的初始发行版。
DS31002A_CN 第 2-20 页 2004 Microchip Technology Inc.
第 3 章 复位
目录
本章包括以下一些主要内容:
3.1 简介 ................................................................................................................................3-2
3.2 上电复位、上电延时定时器、 起振定时器、欠压复位和奇偶校验错误复位 .................... 3-4
3.3 寄存器和状态位的值 .....................................................................................................3-10
3.4 设计技巧 .......................................................................................................................3-16
3.5 相关应用笔记 ................................................................................................................3-17
3.6 版本历史 .......................................................................................................................3-18
3
复位
2004 Microchip Technology Inc. DS31003A_CN 第 3-1 页
PICmicro 中档单片机系列
3.1 简介
复位逻辑用来让器件进入一个已知状态。产生复位的原因可由相关的状态位来判断。该复位逻辑
的设计特点在于降低了系统成本,提高了系统可靠性。
器件有以下几种复位方式:
a) 上电复位 ( POR)
b) 正常工作状态下的 MCLR
c) 休眠状态下的 MCLR
d) 正常工作状态下 WDT 复位
e) 欠压复位 ( BOR)
f) 奇偶校验错误复位 ( PER)
大多数寄存器不受复位的影响;在上电复位(POR )时,它们的状态未知,且不会被其它任何复
位所改变。而其它寄存器在上电复位 (POR )、 MCLR
位(BOR)、奇偶校验错误复位 (PER )和休眠状态下的 MCLR 复位时,被强行置于 “复位状
态”。
器件的奇偶校验位可用于验证程序存储器的内容。
大多数寄存器不受 WDT (看门狗定时器)唤醒复位的影响,这是因为 WDT 唤醒复位被看作是
恢复正常运行。如表 3-2 所示,状态位 TO
不同的置 “1 ”和清 “0 ”状态。这些状态位在软件中用于判断复位的类型。表 3-4 给出了所有
寄存器的复位状态的完整说明。
图 3-1 给出了一个器件复位电路的简化框图。该框图是复位功能的超集。如果想了解特定器件上
具体有哪些复位电路,请参见器件的数据手册。
复位
复位
、 WDT (看门狗定时器)复位、欠压复
,PD ,POR ,BOR 和 PER 在不同的复位情况下有着
注: 当 PICmicro ®单片机处在复位状态时,内部时钟相位停留在 Q1 (即一个指令周期
的起始处)。
所有的新器件在
小的尖脉冲信号。请参见 “电气规范”一章 中,有关脉冲宽度规范中参数 30 的说明。
MCLR 复位信号的传输路径中均有一个 MCLR 噪声滤波器,它可以检测和滤除
DS31003A_CN 第 3-2 页 2004 Microchip Technology Inc.
第 3 章 复位
图 3-1: 片内复位系统的简化框图
(3 )
程序存储
器的奇偶
校验位
WDT
模块
V
DD 上升
检测
欠压
复位
OST
PWRT
VDD
(2 )
弱上拉
MPEEN
休眠
WDT 超时复位
上电复位
BODEN
10 位脉冲计数器
10 位脉冲计数器
MCLRE
(2 )
(2 )
输入 / 输出
上拉使能
MCLRE
MCLR / VPP 引脚
V
DD
OST/PWRT
OSC1/
CLKIN
引脚
(1 )
片上
RC 振荡器
(2 )
S
3
片内复位
R
Q
复位
使能 PWRT
使能 OST
(4 )
延时情况见表 3-1 。
注 1 : 该振荡器与 CLKIN 引脚上的 RC 振荡器或 INTRC 振荡器不相关。
2:不是所有器件都具备虚线方框中的电路,参见具体器件的数据手册。
3:在某些器件中,该引脚可能被配置为通用输入引脚。
4:早期的 PICmicro 单片机中,配置位 PWRTE = 1 表示使能;而所有其它器件则是 PWRTE
= 0 表示使
能。
2004 Microchip Technology Inc. DS31003A_CN 第 3-3 页
PICmicro 中档单片机系列
3.2 上电复位、上电延时定时器、 起振定时器、欠压复位和奇偶校验错误复位
3.2.1 上电复位 ( POR)
器件检测到 VDD 电压上升时,会产生一个上电复位脉冲。要使用上电复位功能,可直接 (也可
通过一个电阻)将 MCLR
引脚与电源 VDD 相连,如图 3-2 所示。 这样可以节省一般上电复位电
路用于产生一个上电复位所需的外接 RC 元件。VDD 电压的上升速率应大于最小上升速率。详见
“电气规范”一章中关于参数 D003 和参数 D004 的说明。
图 3-2: 上电复位的使用
VDD
( 1)
R
VDD
MCLR
PIC16CXXX
注: 该电阻是可选的。
当器件退出复位状态 (开始正常工作)时,其工作参数 ( 电压,频率,温度等)都应在相应的
工作范围之内,否则器件将不能正常工作。应保证足够长的延时以使所有工作参数达到规定值。
图 3-3 所示为针对上升速率缓慢的电源的一种上电复位电路。只有在电源 V
DD 的上升速率过慢
时,才需要这一外部上电复位电路。当 电源 VDD 掉电时,二极管 D 可使电容迅速放电。
DD
图 3-3: 外部上电复位电路 (用于 V
VDD
D
上升速率过慢时)
DD
V
R
VDD
MCLR
C
PIC16CXXX
注: 为保证电阻 R 上的压降不超过 0.2V,建议 R < 40 kΩ。过大的电压降会降低
VP 引脚上高电平 VIH 的值。
MCLR/
DS31003A_CN 第 3-4 页 2004 Microchip Technology Inc.
3.2.2 上电延时定时器 (PWRT )
上电复位 (POR )或欠压复位 (BOR )时,上电延时定时器提供固定的 72 ms 延时,参见“电
气规范”一章中关于参数 33 的说明。上电延时定时器工作在专用的内部 RC 振荡器上。只要
PWRT 有效,器件就保持在复位状态。 PWRT 的延时使 V DD 上升到一个适当电压。上电延时定
时器的使能配置位可使能 / 禁止上电定时器。若欠压复位被使能,上电延时定时器应总是被使能。
现在,上电定时器的配置位
能。由于所有新器件都用 PWRTE = 0 表示使能,因此在后续章节中,我们只介绍这些新器件的
使能方式。参见具体数据手册以确保正确设置该位的极性。
由于电源电压、环境温度和制造工艺的影响,不同器件的上电延时时间也会有所不同。详细情况
DC
请参看
参数。
3.2.3 起振定时器 (OST )
当 PWRT 延时结束后,起振定时器 (OST )提供了 一个 1024 个振荡周期的延时 (从 OSC1 输
入)。这是为了保证晶体或陶瓷谐振器起振并建立稳定的振荡。
XT 、 LP 和 HS 振荡方式下,并且只有在上电复位、欠压复位或器件从休眠状态中被唤醒
只有在
时, OST 定时器才启动。
起振定时器对 OSC1/CLKIN 引脚上的振荡脉冲计数,但只有振荡信号的幅值达到振荡器的输入阈
值时,起振定时器才开始递增计数。该延时使晶体振荡器和谐振器在器件退出 OST 延时之前就
已经达到稳定状态。延时的时间长度是晶体振荡器 / 谐振器工作频率的函数。
图 3-4 给出了起振定时器和上电定时器的运行。对于低频晶体,起振时间可能很长,这是由于低
频振荡器的起振时间比上电定时器的延时长。从上电定时器延时结束到振荡器起振的时间叫死区
时间,这一死区时间 (T
图 3-4: 振荡器起振时间
第 3 章 复位
PWRTE = 0 表示使能,而在早期的器件中配置位 PWRTE = 1 表示使
DEADTIME)没有最大值和最小值的范围限制。
POR 或 BOR 跳变点
VDD
3
复位
MCLR
振荡器
OSC1
T
T
OST 延时
PWRT 延时
TPWRT
内部复位
OST
TDEADTIME
Tosc1 = 晶振的振荡电平达到振荡器起振定时器 ( OST)可检测到的电平的时间
OST = 1024TOSC。
T
2004 Microchip Technology Inc. DS31003A_CN 第 3-5 页
PICmicro 中档单片机系列
3.2.4 上电顺序
上电时延时顺序为:首先检测 POR ,随后,如果 PWRT 被使能,进入 PWRT 延时。 PWRT 延
时时间到之后, OST 被激活。总延时时间取决于振荡器的配置和 PWRTE 位的状态。例如,RC
模式下 PWRTE
位置“1 ”(PWRT 禁止)的情况下,将不会出现延时。图 3-5 ,图 3-6 和 图 3-7
描述了延时时序。
由于延时发生于内部 POR 脉冲,因此若
MCLR 引脚保持足够长时间的低电平,延时将结束。将
MCLR 电平拉高后程序将立即执行(图 3-7 )。 这对于测试或同步并行工作的多个器件非常有用。
如果延时结束后,器件的工作电压还未达到电气规范的要求, MCLR/
VPP 引脚必须保持低电平,
直到电压满足电气规范的要求为止。使用外部 RC 延时电路可以满足这类应用要求。
表 3-1 给出了不同情况下的延时情况,而 图 3-5 到 图 3-8 所示为器件上电时的四种情况:
表 3-1: 不同情况下的延时
振荡器配置
XT,
HS, LP
72 ms + 1024T
RC 72 ms —
注 1 :
内置 / 外部 RC 模式时,有 250 µs (标称值)的延时。
上电定时器
使能 禁止
OSC 1024T OSC 72 ms + 1024T OSC 1024TOSC
(1 )
欠压复位
72 ms —
从休眠状态
唤醒
(1 )
图 3-5: 上电时的延时序列 (MCLR 引脚与 VDD 相连)
电源 VDD
MCLR
内部 POR
PWRT 超时溢出
OST 超时溢出
内部复位
TPWRT
TOST
DS31003A_CN 第 3-6 页 2004 Microchip Technology Inc.
第 3 章 复位
图 3-6: 上电时的延时序列 (MCLR 未连接到 VDD ):情形 1
电源 VDD
MCLR
内部 POR
TPWRT
PWRT 超时溢出
OST 超时溢出
内部复位
图 3-7: 上电时的延时序列 (MCLR 未连接到 VDD ): 情形 2
电源 VDD
MCLR
内部 POR
TOST
3
PWRT 超时溢出
OST 超时溢出
内部复位
图 3-8: 缓慢上升时间 (
电源 VDD
MCLR
内部 POR
PWRT 超时溢出
OST 超时溢出
内部复位
MCLR 连接到 VDD )
0V
T
PWRT
TPWRT
TOST
5V
TOST
复位
2004 Microchip Technology Inc. DS31003A_CN 第 3-7 页
PICmicro 中档单片机系列
3.2.5 欠压复位 (BOR)
当器件的电压降到跳变点 (BVDD ) 以下时,器件的欠压复位电路使器件处于复位状态。这将确保
器件不在有效工作电压之外继续执行程序。在交流电应用或大功率电池应用中,当大型负载 ( 如
汽车 ) 接入而导致器件的工作电压暂时降低到规定工作电压以下时,就经常用到欠压复位。
注: 在利用片上欠压复位实现电源电压监控功能 (监视电池老化)以前,请查看电气规
范,以确保各项参数满足您的要求。
BODEN 配置位可禁止 (清除 / 被烧写时)或使能 (置位时)欠压复位电路。如果 V DD 电压跌
落到 BVDD (典型值为 4.0V。 详见 “电气规范”一章 中的参数 D005 )以下,且持续时间超过参
数 35 ,这种欠压状况将使器件复位。如果 VDD 电压跌落到 BVDD 以下,持续时间小于参数 35 ,
就不能保证一定会复位。器件保持欠压复位状态,直至 V
定时器将被激活,并使器件继续保持 72 ms 的复位状态。如果上电定时器运行时,V
到 BVDD 以下,器件将重新回到欠压复位状态,且上电定时器将被重新初始化。一旦 VDD 电压再
次上升到 BV
状况。
当 BODEN 位置 “1 ”时,只要 V
上电时的情况。
DD 以上,上电定时器将重新启动一个 72ms
DD 电压低于 BV DD,器件就将保持在复位状态。这种状态包括
DD 电压上升到 BV DD 以上。
的延时。图 3-9 显示了典型的欠压复位
此时,上电
DD 电压又降
图 3-9: 欠压状况
DD
V
内部
复位
DD
V
内部
复位
DD
V
内部
复位
<72 ms
72 ms
72 ms
72 ms
BVDD
BVDD
DD
BV
DS31003A_CN 第 3-8 页 2004 Microchip Technology Inc.
第 3 章 复位
某些器件不具备片内欠压复位电路,而有时应用中的欠压复位跳变点不能满足应用要求时,可采
用图 3-10 和图 3-11所示的外部欠压复位电路。具体应用时,需要先确定其是否符合应用的要求。
图 3-10: 外部欠压复位电路 1
33 kΩ
VDD
10 kΩ
Q1
40 kΩ
当 VDD 下降到 (Vz + 0.7V )时,该电路将使单片机复位
其中 Vz = 稳压二极管电压
注 1 : 使用该电路时,应禁止内部欠压复位功能。
2: 应根据晶体管的特性参数来调整电阻值。
R1
R2
V
DD
Q1
40 kΩ
图 3-11: 外部欠压复位电路 2
V
DD
MCLR
PIC16CXXX
V
DD
MCLR
PIC16CXXX
3
复位
注 1 : 这种欠压复位电路较为便宜,但精度不高。当 V DD低于下式计算值时,晶体管 Q1
将关闭。
V
DD •
R1
R1 + R2
= 0.7V
2:使用该电路时,应禁止内部欠压复位功能。
3:应根据晶体管的特性参数来调整电阻值。
2004 Microchip Technology Inc. DS31003A_CN 第 3-9 页
PICmicro 中档单片机系列
3.3 寄存器和状态位的值
表 3-2: 状态位及其含义
POR BOR
(1)
0x11
0x0x非法;在上电复位时, TO
0xx0非法;在上电复位时, PD
(2)
1
(2)
1
(2)
1
(2)
1
(2)
1
011
(2)
1
(2)
1
(2)
1
(2)
1
TO PD
条件
上电复位
欠压复位
01看门狗定时器 (WDT )复位
00WDT 唤醒复位
uu在正常运行时 MCLR 复位
10休眠时 MCLR 复位
置为 1
置为 1
图注: u = 未改变, x = 未知, - = 未用,读为 0
注 1 : 不是每种器件都具备欠压复位 (BOR )电路。
2 : 在给定条件下这些位并不改变,在上电复位 (POR )或欠压复位 ( BOR )后,这
些位将初始化 (置位)并读为 1 。
DS31003A_CN 第 3-10 页 2004 Microchip Technology Inc.
表 3-3: 特殊寄存器的初始化条件
第 3 章 复位
条件 程序计数器 状态寄存器
上电复位
正常运行时的 MCLR
休眠时的 MCLR
WDT 复位 000h 0000 1uuu u--- -uuu
WDT 唤醒 PC + 1 uuu0 0uuu u--- -uuu
欠压复位
休眠时的中断唤醒 PC + 1
图注:
注 1 : 当器件被中断唤醒且全局允许位 GIE 置 1 时,在执行 PC+1 指令后, PC 指针将指
u = 不变 x = 未知, - = 未用,读为 ‘0 ’
向中断向量 0004h。
2:如果一个状态位未使用,则读为 ‘0’。
复位 000h 000u uuuu u--- -uuu
复位 000h 0001 0uuu u--- -uuu
000h 0001 1xxx u--- -10x
000h 0001 1uuu u--- -uu0
( 1)
uuu1 0uuu u--- -uuu
PCON
寄存器
3
复位
2004 Microchip Technology Inc. DS31003A_CN 第 3-11 页
PICmicro 中档单片机系列
表 3-4: 特殊功能寄存器的初始化条件
寄存器
ADCAPL 0000 0000 0000 0000 uuuu uuuu
ADCAPH 0000 0000 0000 0000 uuuu uuuu
ADCON0 0000 00-0 0000 00-0 uuuu uu-u
ADCON1 ---- -000 ---- -000 ---- -uuu
ADRES xxxx xxxx uuuu uuuu uuuu uuuu
ADTMRL 0000 0000 0000 0000 uuuu uuuu
ADMRH 0000 0000 0000 0000 uuuu uuuu
CCP1CON --00 0000 --00 0000 --uu uuuu
CCP2CON 0000 0000 0000 0000 uuuu uuuu
CCPR1L xxxx xxxx uuuu uuuu uuuu uuuu
CCPR1H xxxx xxxx uuuu uuuu uuuu uuuu
CCPR2L xxxx xxxx uuuu uuuu uuuu uuuu
CCPR2H xxxx xxxx uuuu uuuu uuuu uuuu
CMCON 00-- 0000 00-- 0000 uu-- uuuu
EEADR xxxx xxxx uuuu uuuu uuuu uuuu
EECON1 ---0 x000 ---0 q000 ---0 uuuu
EECON2 -- EEDATA xxxx xxxx uuuu uuuu uuuu uuuu
FSR xxxx xxxx uuuu uuuu uuuu uuuu
GPIO --xx xxxx --uu uuuu --uu uuuu
I2CADD 0000 0000 0000 0000 uuuu uuuu
I2CBUF xxxx xxxx uuuu uuuu uuuu uuuu
I2CCON 0000 0000 0000 0000 uuuu uuuu
I2CSTAT --00 0000 --00 0000 --uu uuuu
INDF -- INTCON 0000 000x 0000 000u uuuu uuuu
LCDCON 00-0 0000 00-0 0000 uu-u uuuu
LCDD00 to LCDD15 xxxx xxxx uuuu uuuu uuuu uuuu
LCDPS ---- 0000 ---- 0000 ---- uuuu
LCDSE 1111 1111 1111 1111 uuuu uuuu
OPTION_REG 1111 1111 1111 1111 uuuu uuuu
OSCCAL 0111 00-- uuuu uu-- uuuu uu-PCL 0000 0000 0000 0000 PC + 1
PCLATH ---0 0000 ---0 0000 ---u uuuu
PCON ---- --0u ---- --uu ---- --uu
PIE1 0000 0000 0000 0000 uuuu uuuu
PIE2 ---- ---0 ---- ---0 ---- ---u
PIR1 0000 0000 0000 0000 uuuu uuuu
PIR2 ---- ---0 ---- ---0 ---- ---u
图注:
注 1 :INTCON、 PIR1 寄存器中的若干位将受到影响 (而产生唤醒)。
u = 未改变, x = 未知, - = 未用,读为 ‘0’, q = 根据条件而变化
2:当器件被中断唤醒且全局允许位 GIE 置 1 时,在执行 PC+1 指令后, PC 指针将指向中断向量 0004h。
3:表 3-3 给出了具体条件下的复位值。
上电复位
欠压复位
- 正常工作
- 休眠或
- WDT 复位时
的 MCLR 复位
- 中断
- WDT 溢出
从休眠状态唤醒
(1 )
(2 )
DS31003A_CN 第 3-12 页 2004 Microchip Technology Inc.
表 3-4: 特殊功能寄存器的初始化条件 ( 续 )
第 3 章 复位
- 正常工作
寄存器
PORTA --xx xxxx --uu uuuu --uu uuuu
PORTB xxxx xxxx uuuu uuuu uuuu uuuu
PORTC xxxx xxxx uuuu uuuu uuuu uuuu
PORTD xxxx xxxx uuuu uuuu uuuu uuuu
PORTE ---- -xxx ---- -uuu ---- -uuu
PORTF 0000 0000 0000 0000 uuuu uuuu
PORTG 0000 0000 0000 0000 uuuu uuuu
PR2 1111 1111 1111 1111 1111 1111
PREFA 0000 0000 0000 0000 uuuu uuuu
PREFB 0000 0000 0000 0000 uuuu uuuu
RCSTA 0000 -00x 0000 -00x uuuu -uuu
RCREG 0000 0000 0000 0000 uuuu uuuu
SLPCON 0011 1111 0011 1111 uuuu uuuu
SPBRG 0000 0000 0000 0000 uuuu uuuu
SSPBUF xxxx xxxx uuuu uuuu uuuu uuuu
SSPCON 0000 0000 0000 0000 uuuu uuuu
SSPADD 0000 0000 0000 0000 uuuu uuuu
SSPSTAT 0000 0000 0000 0000 uuuu uuuu
STATUS 0001 1xxx 000q quuu
T1CON --00 0000 --uu uuuu --uu uuuu
T2CON -000 0000 -000 0000 -uuu uuuu
TMR0 xxxx xxxx uuuu uuuu uuuu uuuu
TMR1L xxxx xxxx uuuu uuuu uuuu uuuu
TMR1H xxxx xxxx uuuu uuuu uuuu uuuu
TMR2 0000 0000 0000 0000 uuuu uuuu
TRIS --11 1111 --11 1111 --uu uuuu
TRISA --11 1111 --11 1111 --uu uuuu
TRISB 1111 1111 1111 1111 uuuu uuuu
TRISC 1111 1111 1111 1111 uuuu uuuu
TRISD 1111 1111 1111 1111 uuuu uuuu
TRISE 0000 -111 0000 -111 uuuu -uuu
TRISF 1111 1111 1111 1111 uuuu uuuu
TRISG 1111 1111 1111 1111 uuuu uuuu
TXREG 0000 0000 0000 0000 uuuu uuuu
TXSTA 0000 -010 0000 -010 uuuu -uuu
VRCON 000- 0000 000- 0000 uuu- uuuu
W xxxx xxxx uuuu uuuu uuuu uuuu
图注:
注 1 :INTCON、 PIR1 寄存器中的若干位将受到影响 (而产生唤醒)。
u = 未改变, x = 未知, - = 未用,读为 ‘0’, q = 根据条件而变化
2:当器件被中断唤醒且全局允许位 GIE 置 1 时,在执行 PC+1 指令后, PC 指针将指向中断向量 0004h。
3:表 3-3 给出了具体条件下的复位值。
上电复位
欠压复位
- 休眠或
- WDT 复位时
的 MCLR
复位
(3 )
- 中断
- WDT 溢出
从休眠状态唤醒
uuuq quuu
(3 )
3
复位
2004 Microchip Technology Inc. DS31003A_CN 第 3-13 页
PICmicro 中档单片机系列
3.3.1 电源控制寄存器 ( PCON)和状态寄存器 ( STATUS)
电源控制寄存器 (PCON )中有一个状态位可用于区分上电复位 (BOR) 、外部 MCLR 复位或是
看门狗定时器复位。它还包含另一个状态位,用于判断是否发生了欠压复位 (BOR) 。电源控制 /
状态寄存器 PCON
上电复位时, BOR
BOR = 0,即发生了欠压复位。 BOR 状态位是一个“无关位”,而且也不一定能够预测欠压电路
是否被禁止 ( 将配置字的 BODEN 位清零 )。
上电复位时, POR
该位置 1 。此后,当发生复位时,若 POR 是 0 ,则表示发生了一次上电复位。
奇偶校验错误复位时, PE
上电复位后,也应将该位置 1 。
MPEEN
( 存储器 奇偶校验错误使能 ) 位反映出配置字的 MPEEN 位的设置,任何复位和中断都不
会影响该位的值。
注: 上电复位时, BOR 位的状态是未知的,用户必须将其置 1 。随后发生复位时,若该
中共有四个位。
( 欠压复位 ) 的状态位不确定。用户应先将该位置位,并在复位后查看是否
( 上电复位 ) 状态位被清零,而其他复位不影响该位。上电复位后,用户应将
R ( 奇偶校验错误复位 ) 状态位被清零,用户应该用软件将该位置 1 。
位被清零,则表示发生过欠压复位。BOR
能够预测欠压电路是否被禁止 ( 将配置字的 BODEN
状态位是一个 “无关位”,而且也不一定
位清零 )。
寄存器 3-1: PCON 寄存器
R-u U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0
MPEEN
— — — — PER POR BOR
bit 7 bit 0
bit 7 MPEEN:存储器奇偶校验错误位
该位反映了 MPEEN 配置位的值
bit 6:3 未用位:读作 '0'
bit 2 PER:存储器奇偶校验错误复位的状态位
1 = 没有发生奇偶校验错误复位
0 = 发生过程序存储器取奇偶校验错误
( 应在上电复位或奇偶校验误差复位后,用软件置 1 )
bit 1 POR
1 = 没有发生上电复位
:上电复位的状态位
0 = 发生过上电复位 ( 应在上电复位发生之后用软件置 1)
bit 0 BOR:欠压复位的状态位
1 = 没有发生欠压复位
0 = 发生欠压复位 ( 应在上电复位或欠压复位后,用软件置 1 )
图注
R = 可读位 W = 可写位 u = 未改变
U = 未用,读作 0- n = 上电复位 (POR)时的值
注: 不一定要用到所有的位。
DS31003A_CN 第 3-14 页 2004 Microchip Technology Inc.
状态寄存器 STATUS 中含有两个位 (TO 和 PD ),当与 PCON 寄存器联用时,可为用户提供足
够的信息用以确定复位的原因。
寄存器 3-2: STATUS 寄存器
R/W-0 R/W-0 R/W-0 R-1 R-1 R/W-x R/W-x R/W-x
IRP RP1 RP0 TO
bit 7 bit 0
bit 7 IRP:寄存器组选择位 (用于间接寻址)
1 = 第 2, 3 组(100h - 1FFh)
0 = 第 0, 1 组(00h - FFh)
对于只有 0 和 1 寄存器组的器件, IRP 位是保留位,其值始终为 0。
bit 6:5
bit 4
bit 3
bit 2 Z :零位
bit 1
bit 0
RP1:RP0:寄存器组选择位 (用于直接寻址)
11 = 第 3 组 (180h - 1FFh)
10 = 第 2 组(100h - 17Fh)
01 = 第 1 组(80h - FFh)
00 = 第 0 组(00h - 7Fh)
每组有 128 字节。对于只有 0 和 1 寄存器组的器件, IRP 位是保留位,其值始终为 0 。
:延时溢出位
TO
1 = 上电,执行 CLRWDT 指令,或 SLEEP 指令
0 = 发生看门狗定时器 (WDT)超时溢出
PD
:掉电位
1 = 上电或是执行 CLRWDT 指令
0 = 执行了 SLEEP 指令
1 = 运算或逻辑运算的结果是零
0 = 运算或逻辑结果的结果非零
DC :辅助进位 / 借位位( ADDWF, ADDLW, SUBLW, SUBWF 指令)(辅助借位的极性相反)
1 = 有第 3 位向第 4 位进位或无第 3 位向第 4 位借位
0 = 无第 3 位向第 4 位进位或有第 3 位向第 4 位借位
C :进位 / 借位位( ADDWF, ADDLW,SUBLW,SUBWF 指令)
1 = 有进位或无借位
0 = 无进位或有借位
注 : 借位时极性相反。执行减法是通过加上第二个操作数的补码来完成的。对于移位指
令(RRF, RLF),源寄存器的最高位或最低位移入此位 .
第 3 章 复位
PD ZD C C
3
复位
图注
R = 可读 W = 可写
U = 未用,读作 0- n = 上电复位 (POR)时的值
2004 Microchip Technology Inc. DS31003A_CN 第 3-15 页
PICmicro 中档单片机系列
3.4 设计技巧
问 1:
如果所使用的器件没有针对片内主复位电路 (附录 C )的毛刺滤波器,应在 MCLR
适当的滤波器来滤除小的尖脉冲干扰。电气规范参数 35 规定了的可引起复位的所需脉冲宽度。
问 2:
答 2:
最常见原因是没有将窗口型器件 (JW )的窗口覆盖住,其背景光使器件上电后的状态与没有光
线时不同。在大多数情况下,通用 RAM 和特殊功能寄存器未正确进行初始化。
我的系统处于
使用JW(窗口)型器件时,我的系统复位和工作都很正常。但使用
编程)器件,我的系统工作就不正常了。
ESD
(静电放电)和
EMI
(电磁干扰)环境下时运行出错
。
引脚上外接
OTP
(一次性
DS31003A_CN 第 3-16 页 2004 Microchip Technology Inc.
3.5 相关应用笔记
本部分列出了与本章内容相关的应用笔记。这些应用笔记并非都是专门针对中档单片机系列而写
的 (即有些针对低档系列,有些针对高档系列),但其概念是相近的,通过适当修改并受到一定
的限制即可使用。目前与复位相关的应用笔记有:
标题 应用笔记 #
Power-up Trouble Shooting AN607
Power-up Considerations AN522
第 3 章 复位
3
复位
2004 Microchip Technology Inc. DS31003A_CN 第 3-17 页
PICmicro 中档单片机系列
3.6 版本历史
版本 A
这是描述复位的初始发行版。
DS31003A_CN 第 3-18 页 2004 Microchip Technology Inc.
第 4 章 架构
目录
本章包括下面一些主要内容:
4.1 简介 ................................................................................................................................4-2
4.2 时序图 / 指令周期 ........................................................................................................... 4-5
4.3 指令流 / 流水线 ...............................................................................................................4-6
4.4 I/O 端口描述 ...................................................................................................................4-7
4.5 设计技巧 .......................................................................................................................4-12
4.6 相关应用笔记 ...............................................................................................................4-13
4.7 版本历史 .......................................................................................................................4-14
2004 Microchip Technology Inc. DS31004A_CN 第 4-1 页
4
架构
PICmicro 中档单片机系列
4.1 简介
高性能的 PICmicro 单片机具有许多 RISC 微处理器的架构特点,如下所示:
• 哈佛架构
• 长字指令
• 单字指令
• 单周期指令
• 指令流水线
• 精简指令集
• 文件寄存器结构
• 正交 (对称)指令集
图 4-2 所示为中档系列单片机的简化总线结构图。
哈佛架构:
哈佛架构有独立的程序存储器和数据存储器,并可通过各自的独立总线进行存取。与冯 · 诺依曼
架构相比,哈佛架构有更宽的数据带宽,因为冯 · 诺依曼架构的程序存储器和数据存储器是合二
为一的,且通过同一总线访问。当执行一条指令时,冯 · 诺依曼架构的处理器通常需要通过 8 位
总线进行多次操作,才能取得指令,同时也需要对数据进行读取、处理以及写操作,可见数据总
线的操作非常繁忙。 但哈佛架构则不同,取指令在单周期内完成(中档系列的指令为 1 4位),在
访问程序存储器中的同时,可通过独立的总线对数据存储器进行读写操作。 独立的总线使得在执
行一条指令的同时,可以取下一条指令。冯 · 诺依曼架构和哈佛架构的对比,见图 4-1 。
图 4-1 : 哈佛架构与冯 · 诺依曼架构的对比
冯 · 诺依曼架构
程序
数据
8
存储器
和
数据
存储器
哈佛架构
8
CPU CPU
14
程序
存储器
长字指令:
长字指令的指令总线宽度比 8 位数据存储器的数据总线宽 (位数更多)。由于使用了相互独立的
总线,故能做到这一点。由于指令总线宽度可以不同于 8 位数据宽度,在针对架构对程序存储器
做优化后,程序存储器的使用效率会更高。
单字指令:
单字指令为 14 位宽,因此所有指令都可以是单字指令。通过 14 位宽的程序存储器总线可以在单
周期内取一条 14 位的指令。由于是单字指令,所以单片机程序存储器的大小 (字数)就等于指
令数,这意味着在所有存储单元内都是合法指令。
在典型的冯 · 诺依曼架构中,大多数指令为多字节指令,在 4K 字节的程序存储器中一般只能存
放大约 2K 条指令。这 2:1 的比率只是大概情况,实际上与应用代码有关。由于有多字节指令,所
以不能保证每个存储单元内都是合法指令。
DS31004A_CN 第 4-2 页 2004 Microchip Technology Inc.
第 4 章 架构
指令流水线 :
指令流水线有两级流水线,可以使取指操作和指令执行重叠进行。取指花费一个 TCY 时间,而该
指令在下一个 T
每一个 TCY 内,进行一条指令的取指和另一条指令的执行。
单周期指令 :
程序存储器总线是 14 位宽,因此能在一个机器周期 (TCY) 内完成整条指令的取指操作。指令中包
含了所需的所有信息,并能在单周期内执行完毕。如果指令的执行结果要修改程序指针 PC,那么
完成指令可能需要 2 个周期 (有一个周期的延迟),因为此时流水线会作废一条指令并重新取指
令。
精简指令集 :
当指令集设计得很好而且高度正交 (对称)时,完成所有工作只需很少的指令。指令少,就很容
易掌握整个指令集。
文件寄存器结构 :
文件寄存器 / 数据存储器可以通过直接或间接寻址方式来访问。所有特殊功能寄存器,包括程序
指针 PC ,都映射到数据存储器。
正交 (对称)的指令集 :
正交指令有助于实现:对任意寄存器,采用所有的寻址方式完成所有可能的操作。指令集的对称
性以及无特殊指令会使编程更简单和有效。此外,所有这些都有助于大大缩短指令的学习周期。
中档系列单片机的指令集里,只有两条与寄存器操作无关的指令,它们用于两种与内核相关的操
作上。其中一条为 SLEEP 指令,可将器件设置为最低功耗模式。另一条是 CLRWDT 指令,该指
令对片内看门狗定时器 (WDT) 清零以防止溢出复位,以检验器件是否正常工作。
CY 时间内执行。由于当前指令的取指操作和前一条指令的执行是重叠的,所以在
2004 Microchip Technology Inc. DS31004A_CN 第 4-3 页
4
架构
PICmicro 中档单片机系列
图 4-2 : 中档系列 PICmicro ®单片机的一般方框图
EPROM
程序
存储器
最大为
8K x 14
程序
总线
OSC1/CLKIN
OSC2/CLKOUT
比较 / 捕捉 /PWM 比较器
14
指令寄存器
指令
译码和
控制
时序
发生器
内部
RC 时钟
(2)
其它
模块
参考
电压
PORTA
PORTB
PORTC
PORTD
PORTE
PORTF
PORTG
RA0
RA1
RA2
RA3
RA4
RA5
RB0/INT
RB1
RB2
RB3
RB4
RB5
RB6
RB7
RC0
RC1
RC2
RC3
RC4
RC5
RC6
RC7
RD0
RD1
RD2
RD3
RD4
RD5
RD6
RD7
RE0
RE1
RE2
RE3
RE4
RE5
RE6
RE7
RF0
RF1
RF2
RF3
RF4
RF5
RF6
RF7
RG0
RG1
RG2
RG3
RG4
RG5
RG6
RG7
9
8
MUX
USART
8
间接
寻址
13
程序指针
8 级堆栈
(13 位 )
直接寻址
8
上电延时
定时器
振荡器
起振定时器
看门狗
定时器
复位
MCLR
7
上电
复位
欠压
(2)
VDD , VSS
同步
串行口
并行
从动口
数据 EEPROM
最大为
256 x 8
RAM 地址
3
8
W 寄存器
数据总线
RAM
文件
寄存器
最大达
368 x 8
(1)
Addr MUX
FSR 寄存器
STATUS reg
ALU
A/D 转换器 定时器 0 定时器 1 定时器 2
LCD 驱动模块
外设模块(注 3 )
通用 输入 / 输出(I/O)引 脚
(注 3 )
注 1 :对 RAM 单元直接寻址时,地址的高位来自 STATUS 状态寄存器。
2:有些器件没有该模块,请参考器件的数据手册。
3:许多通用 I/O 引脚都复用了一种或多种外设功能,不同的器件有不同的复用关系。
DS31004A_CN 第 4-4 页 2004 Microchip Technology Inc.
4.2 时序图 / 指令周期
由 OSC1 引脚输入的时钟信号,在器件内部经过 4 分频后,产生非重叠的 4 个正交时钟节拍,分
别命名为 Q1, Q2, Q3 和 Q4 。在每个 Q1 拍,程序指针 PC 加 1 ;在 Q4 拍,从程序存储器取指,
并将指令锁存在指令寄存器中。指令的译码和执行是在下一个 Q1 到 Q4 拍之间完成。 图 4-3 和
例 4-1 所示为时钟和指令流的关系。
图 4-3 :时 钟/ 指令周期
TCY1TCY2TCY3
第 4 章 架构
OSC1
Q1
Q2
Q3
Q4
PC
OSC2/CLKOUT
(RC 模式 )
Q2 Q3 Q4
Q1
PC PC+1 PC+2
取指 (PC)
执行指令 (PC-1) 取指 (PC+1)
Q1
执行指令 (PC) 取指 (PC+2)
Q2 Q3 Q4
Q2 Q3 Q4
Q1
执行指令 (PC+1)
内部
各相
时钟
2004 Microchip Technology Inc. DS31004A_CN 第 4-5 页
4
架构
PICmicro 中档单片机系列
4.3 指令流 / 流水线
一个指令周期由 4 个 Q 周期组成 ( 即 Q1, Q2, Q3 和 Q4) 。取指需要一个指令周期,而该指令在
下一个指令周期内执行。由于流水线的原因,每条指令的等效执行时间为一个指令周期。如果指
令改变了程序指针 PC (如 GOTO 指令),则需要多一个指令周期才能完成指令 (见例 4-1 )。
在 Q1 周期,开始取指操作,程序指针加 1 。
指令的执行过程:在 Q1 周期中,所取指令被锁存到指令寄存器 (IR) 中。在 Q2 、 Q3 和 Q4 周期
中进行指令的译码和执行,其中读数据存储器 (读操作数)发生在 Q2 周期,写操作发生在 Q4
周期。
例 4-1 示出了对于给出的指令序列两级流水线如何工作。在 T
第一条指令;在 T
二条指令,并取第三条指令;在 TCY3 指令周期,执行第三条指令 (CALL SUB_1 ),并取第四条
指令; 在执行完第三条指令后, CPU 将第四条指令的地址压入堆栈,并将程序指针 PC 改变为
SUB_1 的地址,这意味着将作废在 TCY 3 指令周期所取的指令。 在 T CY 4 指令周期,指令 4 作废,将
执行一条空操作指令 (NOP ), 并 对 SUB_1 地址单元进行取指。 在 T
指令,并对 SUB_1 + 1 地址单元进行取指。
CY1 指令周期,执行第一条指令,并取第二条指令;在 TCY 2 指令周期,执行第
CY0 指令周期,从程序存储器中取
CY5 指令周期, 执行第五条
例 4-1 : 指令流水线
TCY0TCY1TCY2TCY3TCY4TCY5
1. MOVLW 55h
2. MOVWF PORTB
3. CALL SUB_1
4. BSF PORTA, BIT3 (Forced NOP)
5. 在 SUB_1 地址处的指令
除程序转移指令外,所有的指令都是单周期指令;由于程序转移指令将导致流水线的一条取指作废,然后重新取指
和执行指令,所以程序转移指令需要两个周期。
取指 1 执行 1
取指 2 执行 2
取指 3 执行 3
取指 4 作废
取指 SUB_1 执行 SUB_1
取指 SUB_1 + 1
DS31004A_CN 第 4-6 页 2004 Microchip Technology Inc.
4.4 I/O 端口描述
表 4-1 概述了端口引脚可以复用的功能。有些引脚有多种功能。当发生功能复用时,外设模块的
功能要求可能使引脚的数据方向设置(TRIS 位)不再起作用(例如用于 A/D 或 LCD 模块时)。
表 4-1 : I/O 端口描述
第 4 章 架构
引脚名称
AN0 I
AN1 I
AN2 I
AN3 I
AN4 I
AN5 I
AN6 I
AN7 I
AN8 I
AN9 I
AN10 I
AN11 I
AN12 I
AN13 I
AN14 I
AN15 I
A
VDD PP
AVSS PP
C1 I
C2 I
CCP1 I/O ST
CCP2 I/O ST
CDAC O
CK I/O ST 通用同步异步收发器的异步时钟,与 TX 引脚复用 ( 参见有关 TX、
引脚
类型
缓冲器
类型
模拟
模拟
模拟
模拟
模拟
模拟
模拟
模拟
模拟
模拟
模拟
模拟
模拟
模拟
模拟
模拟
模拟
模拟
模拟
描述
模拟输入通道
模拟电源
模拟地
LCD 电压产生
LCD 电压产生
捕捉 1 输入 / 比较器 1 输出 /PWM1 输出
捕捉 2 输入 / 比较器 2 输出 /PWM2 输出
A/D 模块的斜坡电流源输出。一般外接电容,以产生线性的斜坡电
压。
RX 和 DT 引脚的信息 )。
4
CLKIN I ST/CMOS 外部时钟源输入,与 OSC1 引脚复用 ( 参见有关 OSC1/CLKIN、
OSC2/CLKOUT 引脚的信息 )。
CLKOUT O — 振荡器的输出。在晶体振荡器模式时,该引脚与晶体或谐振器相连;
在 RC 振荡模式时,从 OSC2 引脚输出振荡信号 CLKOUT ,该信号
是 OSC1 引脚上的振荡信号的 4 分频,等于指令周期。该功能与
OSC2 引脚复用 (参见有关 OSC2 和 OSC1 引脚的信息)
CMPA O — 比较器 A 的输出
CMPB O — 比较器 B 的输出
注: TTL = TTL 兼容输入 CMOS = CMOS 兼容输入或输出
ST= CMOS 电平的施密特触发器输入
SM = SMBus 兼容的输入。作为输出端口时,要外接上拉电阻
NPU = N 沟道上拉 PU = 内部弱上拉
No-P diode = 没有二极管接到 V
I = 输入 O = 输出
P = 电源 L = LCD 驱动
2004 Microchip Technology Inc. DS31004A_CN 第 4-7 页
DD AN = 模拟输入或输出
架构
PICmicro 中档单片机系列
表 4-1 : I/O 端口描述 (续)
引脚名称
COM0 L — LCD 模块的公共驱动端 0
COM1 L — LCD 模块的公共驱动端 1
COM2 L — LCD 模块的公共驱动端 2
COM3 L — LCD 模块的公共驱动端 3
CS
DT I/O ST 通用同步异步收发器的数据口,与 RX 引脚复用 (参见有关 TX、 RX
GP0 I/O TTL/ST 作为通用 I/O 端口时,为 TTL 输入缓冲;在串行编程模式时,为施密
GP1 I/O TTL/ST 作为通用 I/O 端口时,为 TTL 输入缓冲;在串行编程模式时,为施密
GP2 I/O ST
GP3 I TTL
GP4 I/O TTL
GP5 I/O TTL
INT I ST
/VPP I/P ST 主复位输入,或编程电压输入。此引脚为低电平时,单片机复位 (低
MCLR
NC — —
OSC1 I ST/CMOS 晶振输入或外部时钟源输入。配置为 RC 模式时,该脚带 ST 缓冲,
OSC2 O — 晶振输出。在晶振模式时,该引脚与晶体或谐振器相连;在 RC 模式
PBTN I ST
PSP0 I/O TTL 并行从动端口,可以和其它微处理器端口相连接。当使能并行从动端
PSP1 I/O TTL
PSP2 I/O TTL
PSP3 I/O TTL
PSP4 I/O TTL
PSP5 I/O TTL
PSP6 I/O TTL
PSP7 I/O TTL
RA0 I/O TTL
RA1 I/O TTL
RA2 I/O TTL
RA3 I/O TTL
RA4 I/O ST 当 RA4 引脚配置输出时,为集电极开路。
RA5 I/O TTL
注: TTL = TTL 兼容输入 CMOS = CMOS 兼容输入或输出
ST= CMOS 电平的施密特触发器输入
SM = SMBus 兼容的输入。作为输出端口时,要外接上拉电阻
NPU = N 沟道上拉 PU = 内部弱上拉
No-P diode = 没有二极管接到 V
I = 输入 O = 输出
P = 电源 L = LCD 驱动
引脚
类型
IT T L 并行从动端口的片选控制 (参见有关 RD 和 WR 的信息)。
缓冲器
类型
描述
和 DT 引脚的信息)。
GP 是双向 I/O 端口。 GP 口的某些引脚可以通过软件编程为内部弱上
拉的输入端。
特触发器输入缓冲。
特触发器输入缓冲。
外部中断
电平有效)。
这些引脚应该悬空。
其它模式为 CMOS 缓冲。
时,从 OSC2 引脚输出振荡信号 CLKOUT ,该信号是 OSC1 引脚上
振荡信号的 4 分频,等于指令周期。
带弱上拉电阻的输入口,可用于产生中断。
口(PSP)模块时,这些引脚带 TTL 输入缓冲。
PORTA 是双向 I/O 端口
DD AN = 模拟输入或输出
DS31004A_CN 第 4-8 页 2004 Microchip Technology Inc.
表 4-1 : I/O 端口描述 (续)
第 4 章 架构
引脚名称
RB0 I/O TTL
RB1 I/O TTL
RB2 I/O TTL
RB3 I/O TTL
RB4 I/O TTL
RB5 I/O TTL
RB6 I/O TTL/ST 电平变化中断引脚。 串行编程的时钟线。作为通用 I/O 口时,带
RB7 I/O TTL/ST 电平变化中断引脚。 串行编程的数据线。作为通用 I/O 口时,带
RC0 I/O ST
RC1 I/O ST
RC2 I/O ST
RC3 I/O ST
RC4 I/O ST
RC5 I/O ST
RC6 I/O ST
RC7 I/O ST
RD
RD0 I/O ST
RD1 I/O ST
RD2 I/O ST
RD3 I/O ST
RD4 I/O ST
RD5 I/O ST
RD6 I/O ST
RD7 I/O ST
RE0 I/O ST
RE1 I/O ST
RE2 I/O ST
RE3 I/O ST
RE4 I/O ST
RE5 I/O ST
RE6 I/O ST
RE7 I/O ST
注: TTL = TTL 兼容输入 CMOS = CMOS 兼容输入或输出
ST= CMOS 电平的施密特触发器输入
SM = SMBus 兼容的输入。作为输出端口时,要外接上拉电阻
NPU = N 沟道上拉 PU = 内部弱上拉
No-P diode = 没有二极管接到 V
I = 输入 O = 输出
P = 电源 L = LCD 驱动
引脚
类型
IT T L 并行从动端口的读控制引脚 ( 参见有关 WR 和 CS 引脚的信息 )。
缓冲器
类型
描述
PORTB 是双向I/O 端口。 PORTB端口可以通过软件编程为所有引脚都
是带内部弱上拉的输入端。
电平变化中断引脚
电平变化中断引脚
TTL 输入缓冲;作为串行编程的时钟时,带施密特触发器输入缓
冲。
TTL 输入缓冲;作为串行编程的时钟时,带施密特触发器输入缓
冲。
PORTC 是双向 I/O 端口。
PORTD 是双向 I/O 端口。
PORTE 是双向 I/O 端口。
DD AN = 模拟输入或输出
4
架构
2004 Microchip Technology Inc. DS31004A_CN 第 4-9 页
PICmicro 中档单片机系列
表 4-1 : I/O 端口描述 (续)
引脚名称
引脚
类型
缓冲器
类型
描述
REFA O CMOS 可编程参考电压模块 A 的输出 .
REFB O CMOS 可编程参考电压模块 B 的输出 .
PORTF 是数字输入端口或 LCD 的段驱动端口。
RF0 I/O ST
RF1 I/O ST
RF2 I/O ST
RF3 I/O ST
RF4 I/O ST
RF5 I/O ST
RF6 I/O ST
RF7 I/O ST
PORTG 是数字输入端口或 LCD 的段驱动端口。
RG0 I/O ST
RG1 I/O ST
RG2 I/O ST
RG3 I/O ST
RG4 I/O ST
RG5 I/O ST
RG6 I/O ST
RG7 I/O ST
RX I ST
SCL I/O ST I
SCLA I/O ST I
工作在异步模式时,通用同步异步收发器的数据接收引脚。
2CTM
模式时,同步串行时钟的输入 / 输出引脚。
2
C 接口的同步串行时钟引脚。
SCLB I/O ST I2C 接口的同步串行时钟引脚。
2
SDA I/O ST I
SDAA I/O ST I
C 的数据 I/O 引脚
2
C 接口的同步串行数据 I/O 引脚
SDAB I/O ST I2C 接口的同步串行数据 I/O 引脚
TM
SCK I/O ST SPI
模式时,同步串行时钟的输入 / 输出引脚。
SDI I ST SPI 模式的数据输入
SDO O — SPI 模式的数据输出
SS
SEG00 至
I ST SPI 同步从模式选择
I/L ST LCD 的段驱动 00 至段驱动 31。
SEG31
SUM O AN AN1 的求和输出。该引脚可外接电容,可对窄脉冲进行平滑。
T0CKI I ST 定时器 0 的外部时钟输入引脚
T1CKI I ST 定时器 1 的外部时钟输入引脚
T1OSO O CMOS 定时器 1 的振荡器输出
T1OSI I CMOS 定时器 1 的振荡器输入
TX O — 工作在异步模式时,通用同步异步收发器的数据发送引脚 ( 参见有关
RX 引脚的信息 )。
注: TTL = TTL 兼容输入 CMOS = CMOS 兼容输入或输出
ST= CMOS 电平的施密特触发器输入
SM = SMBus 兼容的输入。作为输出端口时,要外接上拉电阻
NPU = N 沟道上拉 PU = 内部弱上拉
No-P diode = 没有二极管接到 V
DD AN = 模拟输入或输出
I = 输入 O = 输出
P = 电源 L = LCD 驱动
I2C 是 Philips 公司的商标。
DS31004A_CN 第 4-10 页 2004 Microchip Technology Inc.
表 4-1 : I/O 端口描述 (续)
第 4 章 架构
引脚名称
VLCD 1 P — LCD 电压
LCD2 P — LCD 电压
V
VLCD 3 P — LCD 电压
VLCDADJ I
REF I
V
REF+I
V
REF-I
V
VREG O — 该引脚为输出引脚,控制外部 N 沟道场效应管的栅极来达到稳压作
SS P—数字逻辑和 I/O 引脚的参考地
V
VDD P—数字逻辑和 I/O 引脚的正电源
WR
注: TTL = TTL 兼容输入 CMOS = CMOS 兼容输入或输出
ST= CMOS 电平的施密特触发器输入
SM = SMBus 兼容的输入。作为输出端口时,要外接上拉电阻
NPU = N 沟道上拉 PU = 内部弱上拉
No-P diode = 没有二极管接到 V
I = 输入 O = 输出
P = 电源 L = LCD 驱动
引脚
类型
IT T L 并行从动端口的写控制引脚 ( 参见 RD 和 CS 引脚 )
缓冲器
类型
模拟
模拟
模拟
模拟
描述
LCD 电压产生
模拟高参考电压输入
带有比较器的单片机的 DR 参考电压输出。
模拟高参考电压输入。
一般与一个模拟引脚复用。
模拟低参考电压输入。
一般与一个模拟引脚复用。
用。
DD AN = 模拟输入或输出
2004 Microchip Technology Inc. DS31004A_CN 第 4-11 页
4
架构
PICmicro 中档单片机系列
4.5 设计技巧
目前没有相关的设计技巧。
DS31004A_CN 第 4-12 页 2004 Microchip Technology Inc.
4.6 相关应用笔记
本节列出了与本章内容相关的应用笔记。这些应用笔记并非都是专门针对中档单片机系列而写的
(即有些针对低档系列,有些针对高档系列),但是其概念是相近的,通过适当修改并受到一些限
制即可使用。目前与架构相关的应用笔记有:
标题 应用笔记 #
目前没有相关的应用笔记。
第 4 章 架构
2004 Microchip Technology Inc. DS31004A_CN 第 4-13 页
4
架构
PICmicro 中档单片机系列
4.7 版本历史
版本 A
这是描述 PICmicro 单片机架构的初始发行版。
DS31004A_CN 第 4-14 页 2004 Microchip Technology Inc.
第 5 章 CPU 和 ALU
目录
本章包括下面一些主要内容:
5.1 简介 ................................................................................................................................5-2
5.2 指令的一般格式 ..............................................................................................................5-4
5.3 中央处理单元 ( CPU)................................................................................................... 5-4
5.4 指令时钟 .........................................................................................................................5-4
5.5 算术逻辑单元 ( ALU)................................................................................................... 5-5
5.6 状态寄存器 .....................................................................................................................5-6
5.7 OPTION_REG 寄存器 ....................................................................................................5-8
5.8 电源控制寄存器 ..............................................................................................................5-9
5.9 设计技巧 .......................................................................................................................5-10
5.10 相关应用笔记 ............................................................................................................... 5-11
5.11 版本历史 .......................................................................................................................5-12
2004 Microchip Technology Inc. DS31005A_CN 第 5-1 页
5
CPU 和 ALU
PICmicro 中档单片机系列
5.1 简介
中央处理单元 (CPU )通过执行程序存储器中的信息 (指令)来控制器件的运行。其中许多指
令是对数据存储器进行操作。对数据存储器的操作需要使用算术逻辑单元 (ALU )。除了执行算
术和逻辑操作外,ALU 还控制状态位 (在状态寄存器中)。一些指令的执行结果会根据结果的状
态而改变状态位。
CPU 的机器码如表 5-1 中所示 (MPASM
TM
用来产生这些机器码的指令助记符也列在表中)。
DS31005A_CN 第 5-2 页 2004 Microchip Technology Inc.
表 5-1: 中档系列单片机指令集
第 5 章 CPU 和 ALU
位
14 位宽指令字
0111
0101
0001
0001
1001
0011
1011
1010
1111
0100
1000
0000
0000
1101
1100
0010
1110
0110
00bb
01bb
10bb
11bb
111x
1001
0kkk
0000
1kkk
1000
00xx
0000
01xx
0000
0000
110x
1010
dfff
dfff
lfff
0xxx
dfff
dfff
dfff
dfff
dfff
dfff
dfff
lfff
0xx0
dfff
dfff
dfff
dfff
dfff
bfff
bfff
bfffbfff
kkkk
kkkk
kkkk
0110
kkkk
kkkk
kkkk
0000
kkkk
0000
0110
kkkk
kkkk
最低位
ffff
ffff
ffff
xxxx
ffff
ffff
ffff
ffff
ffff
ffff
ffff
ffff
0000
ffff
ffff
ffff
ffff
ffff
ffff
ffff
ffff
ffff
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
C,DC,Z
Z
,PD
TO
Z
TO
,PD
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
1,2
1,2
3
3
助记符,
操作数
针对字节的数据寄存器操作
ADDWF
ANDWF
CLRF
CLRW
COMF
DECF
DECFSZ
INCF
INCFSZ
IORWF
MOVF
MOVWF
NOP
RLF
RRF
SUBWF
SWAPF
XORWF
针对位的数据寄存器操作
BCF
BSF
BTFSC
BTFSS
立即数操作和控制操作
ADDLW
ANDLW
CALL
CLRWDT
GOTO
IORLW
MOVLW
RETFIE
RETLW
RETURN
SLEEP
SUBLW
XORLW
注 1:当 I/O 寄存器用自身内容修改自己时 (如 MOVF PORTB, 1),使用的值是引脚上的当前值。例如,某个设
2:如果预分频器分配给 Timer0 模块,对 TMR0 寄存器执行该指令 (且适用时 d=1)时,将清零预分频器。
3:改写程序计数器 ( PC)或条件测试为真时,需要 2 个周期执行指令,第二个周期执行空操作指令 NOP。
f, d
W 加 f
f, d
W 和 f 与运算
f
f 清零
-
W 清零
f, d
f 取反
f, d
f 减 1
f, d
f 减 1,为 0 则跳过
f, d
f 增 1
f, d
f 增 1,为 0 则跳过
f, d
W 和 f 或运算
f, d
f 送到 d
f
W 送到 f
-
空操作
f, d
f 循环左移
f, d
f 循环右移
f, d
f 减去 W
f, d
f 半字节交换
f, d
W 和 f 异或运算
f, b
清除 f 的 bit b
f, b
置 f 的 bit b
f, b
测试 f 的 bit b,为 0 则跳过
f, b
测试 f 的 bit b,为 1 则跳过
k
立即数加 W
k
立即数和 W 与运算
k
调用子程序
-
清除看门狗定时器
k
跳转
k
立即数和 W 或运算
k
立即数送到 W
-
中断返回
k
立即数送到 W 的子程序返回
-
子程序返回
-
进入休眠状态
k
立即数减 W
k
立即数和 W 异或运算
置成输入的引脚,其数据锁存器中的值为 “1 ”,但此时被外部器件拉为低电平,执行指令后,数据锁存器的
值变为 “0 ”。
描 述 周期
1
1
1
1
1
1
1(2)
1
1(2)
1
1
1
1
1
1
1
1
1
1
1
1 (2)
1 (2)
1
1
2
1
2
1
1
2
2
2
1
1
1
最高
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
01
01
01
01
11
11
10
00
10
11
11
00
11
00
00
11
11
5
2004 Microchip Technology Inc. DS31005A_CN 第 5-3 页
CPU 和 ALU
PICmicro 中档单片机系列
5.2 指令的一般格式
中档系列单片机的指令有四种一般格式,如图 5-1 所示。指令的操作码从 3 位到 6 位不等。这种
可变长度的操作码组成了 35 条指令。
图 5-1 : 指令的一般格式
针对字节的数据寄存器操作
13 8 7 6 0
操作码 d f ( 数据寄存器地址 )
针对位的数据寄存器操作
13 10 9 7 6 0
操作码 b ( 位 #) f ( 寄存器地址 )
立即数操作和控制操作
一般
13 8 7 0
操作数 k( 立即数 )
CALL 和 GOTO 指令
13 11 10 0
操作数 k( 立即数 )
d = 0 表示目标寄存器是 W
d = 1 表示目标寄存器是 f
f = 7 位数据寄存器地址
b = 3 位位地址
f = 7 位数据寄存器地址
k = 8 位立即值
k = 11 位立即值
5.3 中央处理单元 ( CPU)
CPU 被视为器件的 “大脑”,它负责获取正确的执行指令、译码并且执行该指令。
CPU 有时和 ALU 配合工作来完成指令的执行 (如算术或逻辑操作)。
CPU 控制程序存储器的地址总线、数据存储器的地址总线以及对堆栈的访问。
5.4 指令时钟
每个指令周期 (TCY)由 4 个时钟节拍 (Q1-Q4 )构成。时钟节拍和器件振荡周期 (To sc )相
同。 在各个时钟节拍分别对指令的译码、读取、处理和写操作等进行计时 / 标示。下图表明了时
钟节拍和指令周期之间的关系。
组成指令周期 (Tc y )的 4 个时钟节拍归纳如下:
Q1 : 指令的译码周期或强制性空操作
Q2: 指令的读数据周期或空操作
Q3: 处理数据
Q4: 指令的写数据周期或空操作
每条指令都有具体的时钟节拍操作。
图 5-2 : 时钟节拍活动
To sc
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
TCY1TCY2TCY3
DS31005A_CN 第 5-4 页 2004 Microchip Technology Inc.
5.5 算术逻辑单元 ( ALU)
PICmicro®单片机包含一个 8 位 ALU 和一个 8 位工作寄存器。 ALU 是一个通用的算术逻辑单元,
它对工作寄存器和数据寄存器中的数据进行算术和布尔运算。
图 5-3 : ALU 和 W 寄存器的操作
第 5 章 CPU 和 ALU
W 寄存器
8
8 位立即数
( 来自指令字 )
8
8
8
8 位寄存器值
( 来自指令中的直接地址
或间接地址 )
数据寄存器
特殊功能
寄存器
(SFR)
和
通用
RAM
(GPR)
ALU
8
d 位,或来自指令中
d = “0”或 d = “1”
立即数指令
ALU 是 8 位宽,能够进行加、减、移位和逻辑操作。除非特别指明,算术运算一般是以二进制补
码形式进行。在 2 个操作数的指令中,典型情况下,其中一个操作数是在工作寄存器 (W 寄存
器)中,另一个操作数放在一个数据寄存器中或是一个立即数。在单操作数指令中,操作数放在
W 寄存器中或某个数据寄存器中。
W 寄存器是一个 8 位宽、用于 ALU 运算的工作寄存器,它是一个不可寻址的寄存器。
根据所执行的指令,ALU 可以影响状态寄存器中的进位标志位 C、辅助进位标志位 DC 和全零标
志位 Z。在减法操作中,C 和 DC 位就分别作为借位和辅助借位之反。例如指令 SUBLW 和 SUBWF。
2004 Microchip Technology Inc. DS31005A_CN 第 5-5 页
5
CPU 和 ALU
PICmicro 中档单片机系列
5.6 状态寄存器
状态寄存器(如图 5-1 所示)含有 ALU 的算术运算结果状态、复位状态及数据存储区的选择位。
因为数据存储区的选择是由状态寄存器控制的,所以各存储区里都有状态寄存器的映射。而且,
这些映射在每个存储区的相对位置 (偏移位置)都相同 (见 “存储器构成”一章 中图 6-5 :“寄
存器映射”)。
状态寄存器和其它寄存器一样,可以作为任何指令的目标寄存器。如果状态寄存器作为一条指令
的目标寄存器,而这条指令又影响 Z 、 DC 或 C 标志位,那么这三个标志位的状态不能由指令直
接写入。这些标志位的状态要根据器件逻辑操作的结果来置 1 或清零。此外,不能对 TO
位进行写操作,所以当执行一条把状态寄存器作为目标寄存器的指令后,状态寄存器的结果可能
和预想的不一样。
例如,指令 CLRF STATUS 将状态寄存器的高 3 位清零,将 Z 标志位置 1 。操作后状态寄存器的
结果为 000u u1uu (u 表示未变化)。
因此,建议仅使用位操作指令 BCF 、 BSF 或传送指令 MOVWF 来改变状态寄存器,因为这些指令
不影响该寄存器中的 Z 、 C 或 DC 标志位。关于其它不影响任何状态位的指令,请见表 5-1 。
注 1 : 一些器件不需要 IRP 和 RP1 位(STATUS<7:6>)。本章(CPU 和 ALU )未使用这
些位,应该将这些位保持为零。不建议将这些位作为通用读 / 写位,因为这可能会影
响代码对未来产品的向上兼容性。
注 2 : 在减法运算中, C 和 DC 位分别作为借位和辅助借位之反。
和 PD
DS31005A_CN 第 5-6 页 2004 Microchip Technology Inc.
寄存器 5-1 : 状态寄存器
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 0
bit 7 IRP:寄存器组选择位 (用于间接寻址)
1:选择 Bank 2, Bank3 ( 100h - 1FFh)
0:选择 Bank 0, Bank1 ( 00h - FFh)
对于只有 Bank0 和 Bank1 的器件,保留 IRP 位,且应始终保持为 0。
bit 6:5 RP1:RP0:寄存器组选择位 (用于直接寻址)
11:Bank 3 (180h - 1FFh)
10:Bank 2 (100h - 17Fh)
01:Bank 1 (80h - FFh)
00:Bank 0 (00h - 7Fh)
每组 128 个字节。 对于只有 Bank 0 和 Bank1 的器件,保留 IRP 位,且应始终保持为 0 。
bit 4 TO
1 = 上电、执行 CLRWDT 或 SLEEP 指令后
0 = 发生看门狗定时器超时
bit 3 PD:低功耗标志位
1 = 上电或执行 CLRWDT 指令后
0 = 执行 SLEEP 指令后
bit 2 Z:零标志位
1 = 算术或逻辑运算结果为 0
0 = 算术或逻辑运算结果不为 0
bit 1 DC:辅助进位 / 借位标志位(ADDWF 、ADDLW、 SUBLW 和 SUBWF 指令)(辅助借位极性相反)
1 = 结果的低 4 位向高 4 位进位 / 低 4 位向高 4 位无借位
0 = 结果的低 4 位没有向高 4 位进位 / 低 4 位向高 4 位借位
bit 0 C:进位 / 借位标志位 (ADDWF 、 ADDLW 、 SUBLW 和 SUBWF 指令)
1 = 结果的最高位有进位 / 最高位无借位
0 = 结果的最高位无进位 / 最高位有借位
注: 借位的极性是相反的。减法指令通过加上第二个操作数 2 的补码来实现。对于移位
第 5 章 CPU 和 ALU
IRP RP1 RP0 TO PD ZD C C
:超时位
指令 (RRF 和 RLF ), C 位值来自源寄存器的最高位或最低位。
图注
R = 可读位 W = 可写位
U = 未用位,读为 “0” -n = 上电复位时的值
2004 Microchip Technology Inc. DS31005A_CN 第 5-7 页
5
CPU 和 ALU
PICmicro 中档单片机系列
5.7 OPTION_REG 寄存器
OPTION_REG 寄存器是可读写寄存器,它包含配置 TMR0/WDT 的预分频器、外部 INT 中断、
TMR0 和 PORTB 弱上拉的各个控制位。
寄存器 5-2 : OPTION_REG 寄存器
R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1
RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0
bit 7 bit 0
bit 7 RBPU
: PORTB 上拉使能位
1 = 禁止 PORTB 上拉
0 = 按各个端口锁存器值使能 PORTB 上拉
bit 6 INTEDG:中断触发边沿选择位
1 = INT 引脚的上升沿触发中断
0 = INT 引脚的下降沿触发中断
bit 5 T0CS: TMR0 时钟源选择位
1 = T0CKI 引脚上的外部时钟
0 = 内部指令周期时钟 ( CLKOUT)
bit 4 T0SE: TMR0 计数边沿选择位
1 = T0CKI 引脚上的下降沿递增
0 = T0CKI 引脚上的上升沿递增
bit 3 PSA:预分频器分配位
1 = 预分频器分配给 WDT
0 = 预分频器分配给 Timer0 模块
bit 2-0 PS2:PS0:预分频比选择位
位值 TMR0 比率 WDT 比率
000
001
010
011
100
101
110
111
1 : 2
1 : 4
1 : 8
1 : 16
1 : 32
1 : 64
1 : 128
1 : 256
1 : 1
1 : 2
1 : 4
1 : 8
1 : 16
1 : 32
1 : 64
1 : 128
图注
R = 可读位 W = 可写位
U = 未用位,读为 “0” -n = 上电复位时的值
注: 如果需要 TMR0 寄存器得到 1:1 的预分频比,可以把预分频器分配给看门狗定时器
WDT (即 PSA=1)。
DS31005A_CN 第 5-8 页 2004 Microchip Technology Inc.
5.8 电源控制寄存器
利用电源控制(PCON )寄存器中的标志位和TO 及 PD 位,用户可以区别各种不同的器件复位。
注 1 : BOR 在上电复位时的值是未知的。它必须由用户软件置位,并在以后复位时检查该
位是否为零,可判断有无欠压发生。如果禁用欠压电路(通过清除配置字里的
BODEN 位), 则不必关心 BOR 状态位,也没必要预测。
注 2 : 建议在检测到上电复位时,将 POR
第 5 章 CPU 和 ALU
位清零,以便检测后续的上电复位。
寄存器 5-3: 电源控制寄存器
R-u U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0
MPEEN
bit 7 bit 0
bit 7 MPEEN:存储器奇偶校验错误状态位
该位反映 MPEEN 配置位的值。
bit 6:3 未用位:读为 “0”
bit 2 PER
bit 1 POR
bit 0 BOR:欠压复位状态位
:存储器奇偶校验错误复位状态位
1 = 没有错误发生
0 = 发生程序存储器取奇偶校验错误
(在上电复位后必须用软件置 1)
:上电复位状态位
1 = 未发生上电复位
0 = 发生上电复位 (上电复位后,由软件置 1)
1 = 未发生欠压复位
0 = 发生欠压复位 (欠压复位后,由软件置 1)
图注
R = 可读位 W = 可写位
U = 未用位,读为 “0” -n = 上电复位时的值
— — — — PER POR BOR
2004 Microchip Technology Inc. DS31005A_CN 第 5-9 页
5
CPU 和 ALU
PICmicro 中档单片机系列
5.9 设计技巧
问 1 :
答 1 :
1. 指令的目标寄存器可能被指定为 W 寄存器 ( d=0),而不是数据寄存器 (d = 1)。
2. 可能没有正确选择寄存器组选择位( RP1:RP0 或 IRP)。而且如果使用了中断的话,在退
出中断处理时,可能没有正确恢复寄存器组选择位。
问 2 :
答 2 :
如果一条影响 Z 、 DC 或 C 位的指令的目标寄存器是状态寄存器,会禁止对这些位进行直接写操
作。这些位是根据器件的逻辑操作结果来置位或清零。因此,要修改状态寄存器里的这些位,建
议使用指令 BCF 和 BSF 。
我的程序算法好象工作不正确。
我不能修改状态寄存器的标志位。
DS31005A_CN 第 5-10 页 2004 Microchip Technology Inc.
5.10 相关应用笔记
本部分列出了与本章内容相关的应用笔记。这些应用笔记并非都是专门针对中档单片机系列而写
的 (即有些针对低档系列,有些针对高档系列),但是其概念是相近的,通过适当修改并受到一
定限制,即可使用。目前与 CPU 和 ALU 相关的应用笔记有:
标题 应用笔记 #
Fixed Point Routines AN617
IEEE 754 Compliant Floating Point Routines AN575
Digital Signal Processing with the PIC16C74 AN616
Math Utility Routines AN544
Implementing IIR Digital Filters AN540
Implementation of Fast Fourier Transforms AN542
Tone Generation AN543
Servo Control of a DC Brushless Motor AN532
Implementation of the Data Encryption Standard using the PIC17C42 AN583
PIC16C5X / PIC16CXX Utility Math Routines AN526
Real Time Operating System for PIC16/17 AN585
第 5 章 CPU 和 ALU
2004 Microchip Technology Inc. DS31005A_CN 第 5-11 页
5
CPU 和 ALU
PICmicro 中档单片机系列
5.11 版本历史
版本 A
这是描述 CPU 和 ALU 的初始发行版。
DS31005A_CN 第 5-12 页 2004 Microchip Technology Inc.
第 6 章 存储器构成
目录
本章包括下面一些主要内容:
6.1 简介 ................................................................................................................................6-2
6.2 程序存储器构成 ..............................................................................................................6-2
6.3 数据存储器构成 ..............................................................................................................6-8
6.4 初始化 .......................................................................................................................... 6-14
6.5 设计技巧 .......................................................................................................................6-16
6.6 相关应用笔记 ...............................................................................................................6-17
6.7 版本历史 .......................................................................................................................6-18
6
存储器构成
2004 Microchip Technology Inc. DS31006A_CN 第 6-1 页
PICmicro 中档单片机系列
6.1 简介
本章主要包括两种存储器模块:程序存储器和数据存储器。每一个模块都有自己的总线,所以
在同一个振荡周期内可对两种存储器模块同时进行访问。
数据存储器可以更进一步地分成通用寄存器和特殊功能寄存器 (SFR )。控制内核的特殊功能寄
存器的操作将在本章介绍;而控制外设模块的特殊功能寄存器将在论述每个外设模块的相应章节
中介绍。
6.2 程序存储器构成
中档系列单片机有一个 13 位的程序计数器,可以寻址 8K × 14 位的程序存储空间。程序存储器
总线宽度 (指令字)为 14 位。由于所有的指令均为单字指令,所以一个具有 8K × 14 位程序存
储器的器件可以存储 8K 条指令。很易于确定是否有充足的程序存储空间来实现应用程序。
中档系列单片机把程序存储器分成 4 页,每页 2K 字(0h - 7FFh, 、800h - FFFh、1000h - 17FFh
和 1800h - 1FFFh) 。 图 6-1 所示为程序存储器映射和一个 8 级深度硬件堆栈。实际上单片机可能
只实现了图中所示存储器的一部分,这与器件型号有关。关于单片机所提供的存储器,请查阅单
片机的数据手册。
为了能在程序存储器页之间跳转,必须修改程序计数器(PC )的高位。这是通过在 PCLATH(程
序计数器高位锁存器)中写入需要的值来完成的。如果指令连续运行,无需任何用户的干预,程
。
序计数器即可以跨页
元时,会回到有效的程序存储空间。也就是说,在一个有 4K 字存储空间的单片机中,寻址 17FFh
实际就是寻址 7FFh 。 2K 字或更少程序存储空间的器件不需要分页。
对于那些程序存储器不足 8K 字的器件,访问超过物理地址空间的存储单
DS31006A_CN 第 6-2 页 2004 Microchip Technology Inc.
第 6 章 存储器构成
图 6-1 : 中档系列单片机的程序存储器映射和堆栈
PCLATH
PCL
13
8K
6K
PC<12:0>
4K
PC<12:8>
CALL, RETURN
RETFIE, RETLW
2K
堆栈深度 1
堆栈深度 8
复位向量
中断向量
片内程序存储器
(第 0 页)
片内程序存储器
(第 1 页)
片内程序存储器
(第 2 页)
片内程序存储器
(第 3 页)
6
存储器构成
0000h
0004h
0005h
07FFh
0800h
0FFFh
1000h
17FFh
1800h
1FFFh
注 1:不是所有的器件都实现了上述全部程序存储空间。
2:标定数据可烧写到程序存储器中。
2004 Microchip Technology Inc. DS31006A_CN 第 6-3 页
PICmicro 中档单片机系列
6.2.1 复位向量
对于任何单片机,复位都将使程序计数器指向地址 0h ,我们称这个地址为“复位向量地址”,也
就是单片机发生复位时,程序执行的入口地址。
任何复位操作都会将 PCLATH 寄存器的内容清零。这表明,复位向量地址 (0h )处的任何转移
指令都将跳转到程序存储器的第 0 页(PA G E 0 )。
6.2.2 中断向量
当响应中断时, PC 指向地址 0004h ,我们称这个地址为 “中断向量地址”。当 PC 指向中断向
量时, PCLATH 寄存器的值并不会被修改。这意味着,在中断服务程序中,在改写 PC 实现程序
跳转前,应按目的地址所处的实际程序页面先设定 PCLATH 寄存器。在中断服务程序修改
PCLATH 寄存器前,应将原PCLATH 的内容保存起来,以便从中断服务程序返回时恢复 PCLATH 。
6.2.3 标定信息
某些器件在程序存储器中存储标定信息。在器件最终测试时, Microchip 将标定信息写入程序存
储器。应用程序利用这些值可以获得更好的运行结果。标定信息通常放在程序存储器的末尾,并
以 RETLW 指令形式实现,该指令所带的立即数就是标定信息。
注: 对于窗口型器件,在擦除器件内容前 (同时会擦除标定信息) ,务必先记下所有的
标定值。这样在重新烧写器件时能恢复标定值。建议将标定值写在封装上。
DS31006A_CN 第 6-4 页 2004 Microchip Technology Inc.
第 6 章 存储器构成
6.2.4 程序计数器 ( PC)
程序计数器指定要取出执行的指令的地址,其宽度为 13 位,其中低 8 位来自 PCL 寄存器,该寄
存器可读写的,而高 5 位(PC<12:8>)来自 PCH 寄存器 (不可直接读写)。 PCH 寄存器的值
只能通过 PCLATH 寄存器来更新。
图 6-2 为装载 PC 值的四种情况。情况 1 为写 PCL 时,如何装载 PC (PCLATH<4:0> →PCH) ;
情况 2 为执行 GOTO 指令时,如何装载 PC (PCLATH<4:3> → PCH) ;情况 3 为执行 CALL 指令
时,如何装载 PC (PCLATH<4:3> → PCH)以及 PC 值如何压入栈顶;情况 4 为执行返回指令
时,如何装载 PC ,此时 PC 值从栈顶装载 (弹出)。
图 6-2 : 不同情况下如何装载 PC
情况 1 - 以 PCL 为目的寄存器的指令
情况 2 - GOTO 指令
PCH PCL
12 8 7 0
PC
PCLATH<4:0>
5
PCLATH
PCH PCL
12 11 10 0
PC
2
87
PCLATH<4:3>
11
6
存储器构成
堆栈(13 位 x 8 )
栈顶
8
ALU 结果
堆栈(13 位 x 8 )
栈顶
操作码 <10:0>
PCLATH
情况 3 - CALL 指令
PCH PCL
12 11 10 0
PC
2
87
PCLATH<4:3>
PCLATH
情况 4 - RETURN 、 RETFIE 或 RETLW 指令
PCH PCL
12 11 10 0
PC
87
PCLATH
注: PCLATH 不会被 PCH 的内容更新。
13
11
11
操作码 <10:0>
13
操作码 <10:0>
堆栈(13 位 x 8 )
栈顶
堆栈 (13 位 x 8 )
栈顶
2004 Microchip Technology Inc. DS31006A_CN 第 6-5 页
PICmicro 中档单片机系列
6.2.4.1 相对跳转指令
程序的相对跳转指令是通过向程序计数器加一个偏移量来实现的(ADDWF PCL ),当使用相对跳
转指令方法对表进行读操作时,要注意表地址是否超过了 PCL 寄存器的寻址范围 (每块 256 个
字节)。
注: 对程序计数器 (PCL )的任何写操作,都会使 PCLATH 的低五位装载到 PCH 中。
6.2.5 堆栈
堆栈允许 8 级深度的子程序嵌套调用和中断。堆栈包含了程序执行分支的返回地址。
中档系列单片机有一个 8 级深度、13 位宽的硬件堆栈。堆栈既不占用程序存储空间也不占用数据
存储空间,栈指针不能读写。当执行 CALL 指令或响应中断发生跳转时, PC 值被压入堆栈
(PUSH )。而执行 RETURN 、RETLW 或 RETFIE 指令时,PC 值从堆栈弹出(POP )。执行压栈
或出栈操作时,不会修改 PCLATH 寄存器。
压栈 (PUSH ) 8 次之后,进行第 9 次压栈时,进栈的数据将覆盖第 1 次压栈存储的数据,而第
10 次压栈时进栈的数据将覆盖第2 次压栈存储的数据,依此类推。一个堆栈被覆盖的例子如图 6-3
所示。
图 6-3 : 修改堆栈
堆栈
Push1 Push9
Push2 Push10
Push3
Push4
Push5
Push6
Push7
Push8
栈顶
注 1 : 没有用于表示堆栈溢出或堆栈下溢条件的状态位。
注2: 没有称为 PUSH 或 POP 的指令或助记符。而实现类似效果的操作是执行 CALL 、
RETURN 、 RETLW 和 RETFIE 指令,或转到中断向量地址。
DS31006A_CN 第 6-6 页 2004 Microchip Technology Inc.