M
PIC16F870
PIC16F871
PIC16F872
PIC16F873
PIC16F87X
引脚图
PDIP , SOIC
MCLR / V
PP
RA0/AN0
RA1/AN1
RA2/AN2/V
REF
RA3/AN3/V
REF
RA4/T0CKI
RA5/AN4/SS
V
SS
OSC1/CLKIN
OSC2/CLKOUT
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
RC2/CCP1
RC3/SCK/SCL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
18
17
16
15
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0/INT
V
DD
V
SS
RC7/RX/DT
RC6/TX/CK
RC5/SDO
RC4/SDI/SDA
EEPROM存储器编程特定网络阳离子
本文件包含的编程
规格为以下设备:
PIC16F874
PIC16F876
PIC16F877
1.0
编程
PIC16F87X
在PIC16F87X使用串行方法编程。
串行模式将允许PIC16F87X为亲
编程而在用户的系统中。这允许
增加设计的灵活性。这种编程specifi-
阳离子适用于所有包PIC16F87X设备。
MCLR / V
PP
RA0/AN0
RA1/AN1
RA2/AN2
/V
REF
RA3/AN3/V
REF
RA4/T0CKI
RA5/AN4/SS
RE0/RD/AN5
RE1/WR/AN6
RE2/CS/AN7
V
DD
V
SS
OSC1/CLKIN
OSC2/CLKOUT
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
RC2/CCP1
RC3/SCK/SCL
RD0/PSP0
RD1/PSP1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
PIC16F876/873/872/870
40
39
38
37
36
35
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0/INT
V
DD
V
SS
RD7/PSP7
RD6/PSP6
RD5/PSP5
RD4/PSP4
RC7/RX/DT
RC6/TX/CK
RC5/SDO
RC4/SDI/SDA
RD3/PSP3
RD2/PSP2
1.1
PIC16F877/874/871
编程算法
需求
所使用的编程算法,依赖于
工作电压(V
DD
)的PIC16F87X器件。
算法1设计的V
DD
范围
2.2V
≤
V
DD
< 5.5V 。算法2是用于一系列
4.5V
≤
V
DD
≤
5.5V 。或者算法可以与使用
两种可用的编程入门方法。第一
方法如下正常Microchip的编程
应用的V模式进入
PP
13V的电压± 1.5V左右。该
第二种方法,称为低电压ICSP
TM
或为LVP
总之,采用V
DD
MCLR并使用I / O引脚RB3
进入编程模式。当RB3被驱动到
V
DD
从地面, PIC16F87X器件进入
编程模式。
34
33
32
31
30
29
28
27
26
25
24
23
22
21
1.2
编程模式
编程模式的PIC16F87X让亲
用户程序存储器,数据存储器,对编程spe-
用于ID CIAL位置和CON组fi guration字。
2002年Microchip的科技公司
DS39025F第1页
PIC16F87X
引脚说明(在编程) : PIC16F87X
在编程过程中
引脚名称
功能
RB3
RB6
RB7
MCLR
V
DD
V
SS
PGM
时钟
数据
V
测试模式
V
DD
V
SS
PIN TYPE
I
I
I / O
P*
P
P
引脚说明
如果低电压ICSP编程输入LVP
配置位等于1
时钟输入
数据输入/输出
节目模式选择
电源
地
注:I =输入, O =输出, P =电源
*在PIC16F87X中,编程高电压由内部产生。要激活编程模式,高
电压需要被应用到MCLR输入。由于MCLR被用于电平信号源,这意味着MCLR
不画任何显著的电流。
DS39025F第2页
2002年Microchip的科技公司
PIC16F87X
2.0
2.1
程序模式入口
用户程序存储器映射
数据EEPROM存储器的内容有capa-
相容性嵌入到HEX文件。
程序员应该能够读取数据EEPROM
从HEX文件,相反的信息(作为
选项) ,将数据写入EEPROM中的内容到一个HEX文件,
随着程序存储器的信息和组态
化位信息。
256的数据存储单元在逻辑上被映射
起始地址为0x2100 。对于数据存储器的格式
储器存储是每个地址位置的一个数据字节, LSB
对齐。
用户内存空间的范围是从0x0000到
0x1FFF的( 8K ) 。在编程模式下,程序
存储空间的范围是从0x0000到到0x3FFF ,与
上半年( 0x0000-0x1FFF )存在用户程序
存储器和第二半( 0x2000-0x3FFF )感
配置存储器中。 PC将增加从
0x0000到0x1FFF了,敷为0x0000 ,为0x2000到
到0x3FFF并绕到为0x2000 (不为0x0000 ) 。
一旦在配置存储器中,PC的最高位
保持为“1” ,从而始终指向配置
内存。只有这样,才能指向用户程序存储
储器是重置的一部分,重新进入编程/校验
模式,如第2.4节所述。
在配置存储空间, 0x2000-0x200F
在物理上实现的。然而,只有位置
为0x2000至0x2007可用。其他地点
被保留。超越0x200F地点将身体
访问用户存储器(见图2-1) 。
2.3
标识位置
用户可以在四个存储identi网络阳离子信息(ID )
ID的位置。该ID地址被映射到[为0x2000 :
0x2003 。它建议用户仅使用
每个ID位置的四个最低显着的位。在一些
设备的ID地址读出未加扰
之后的代码保护方式已启用。对于这些
设备,则建议的ID的位置被写为
“11
1111 1000 bbbb”
其中“ BBBB ”的ID信息。
在其他设备中, ID单元读出正常,
即使在代码保护功能。要了解如何
设备的操作,请参考表5-1 。
要理解的代码后加扰机制
保护,请参见第4.0节。
2.2
数据EEPROM存储器
EEPROM数据存储器空间是一个独立的程序段
用户访问的高耐久性内存
使用一个特殊的指令序列。量
数据EEPROM存储器取决于设备和
下面示出的字节数。
设备
PIC16F870
PIC16F871
PIC16F872
PIC16F873
PIC16F874
PIC16F876
PIC16F877
#字节
64
64
64
128
128
256
256
2002年Microchip的科技公司
DS39025F第3页
PIC16F87X
2.4
编程/校验模式
2.4.2
在编程/校验模式是通过保持引脚输入
RB6和RB7低,而从V提高MCLR引脚
IL
to
V
IHH
(高电压)。将RB3在这种模式下,状态
针不影响编程。低电压ICSP
编程模式是由V提高RB3进入
IL
到V
DD
然后施加V
DD
到MCLR 。一旦在这
模式,用户程序存储器,而且配置
内存可以访问和串行编程
时尚。操作模式是串行的,并且MEM-
被存取储器是用户程序存储器。 RB6
和RB7在此模式下施密特触发器输入。
注意:
该振荡器不能有72 OSC时钟
而设备MCLR为V之间
IL
和
V
IHH
.
串行编程/校验
手术
进入该设备进入编程序列
明/校验模式将所有其他逻辑到RESET
国家( MCLR引脚最初是在V
IL
) 。这意味着
所有的I / O都处于复位状态(高阻
输入) 。
用于编程的正常顺序是使用
载荷数据的命令来设置要被写入的一个值
选定的地址。发出开始编程的COM
命令后读取数据的命令来验证,并
然后递增地址。
器件复位将清除PC和设置地址
为0 “增量地址”命令将增加
PC机。在“加载配置”命令将设置
电脑为0x2000 。可用的命令显示在
表2-2 。
该RB6引脚用作时钟输入引脚, RB7
引脚用于输入命令比特和数据
输入/输出的串行操作过程中。输入一个COM
命令,时钟引脚( RB6 )被循环6次。每
命令位被锁存时钟的下降沿,
该命令用最少的显着位( LSB )
第一个是输入。上销RB7的数据是必需的,以
有一个最小建立时间和保持时间(见AC / DC
规格),相对于的下降沿
时钟。有与之关联的数据命令
(读取和加载)被指定为具有最小延迟
1
s
的命令和数据之间。在此之后
延迟,时钟引脚被循环16次,在第一个周期
作为一个起始位和最后一个周期是一个停止位。
数据也输入和输出最低有效位。
因此,在读取操作期间,该最低有效位将是
在仲的上升沿被传送到引脚RB7
OND周期,并在加载操作期间,最低有效位将是
锁定在第二周期的下降沿。一个MIN-
imum 1
s
延迟之间的连续亦规定
命令。
所有的命令都发送LSB科幻RST 。数据字
也首先发送LSB 。该数据被发送上
上升沿锁存的下降沿
时钟。为了让命令和逆转解码
数据引脚配置,一时间间隔至少
1
s
是必需的命令和数据字之间
(或其它命令) 。
可用的命令是:
2.4.1
低电压ICSP
编程模式
2.4.2.1
负载CON组fi guration
低电压ICSP编程模式允许
PIC16F87X器件采用V编程
DD
只。
然而,当这种模式被配置启用
位( LVP ) ,对PIC16F87X器件致力于为RB3
控制进入/退出进入编程模式。
当LVP位被设置为'1'时,低电压ICSP亲
编程输入被使能。由于LVP的配置
化位允许低电压ICSP编程入门
其擦除状态,擦除设备将有LVP位
在出厂时启用。尽管LVP是' 1 ' , RB3是德迪
cated低电压ICSP编程。把RB3来
V
DD
然后MCLR到V
DD
进入编程
模式。所有其他规格的高压ICSP
适用。
要禁用低电压ICSP模式, LVP位必须是
编程为'0'。必须这样做,而进入
高电压输入模式( LVP位= 1 ) 。 RB3现
通用I / O引脚。
接收到该命令时,程序计数器后
(PC),将被设置为为0x2000 。届时将16个周期
到时钟管脚,该芯片将加载在一个“数据的14比特
字“,如上述那样,对被编程到
CON组fi guration内存。内存的说明
的程序存储器,用于正常的映射方案
操作与CON组fi guration模式操作显示
图2-1 。经过CON组fi guration内存
进入,只有这样,才能返回到用户程序
内存退出编程/验证测试模式
服用MCLR低(V
IL
).
2.4.2.2
对程序存储器加载数据
接收到该命令后,芯片将在加载
14位的“数据字”时, 16个周期被施加,如
先前所述。在加载数据的时序图
命令,如图6-1所示。
2002年Microchip的科技公司
DS39025F第5页