8031单片机各种系统扩展Word格式文档下载.docx
- 文档编号:18678871
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:57
- 大小:692.68KB
8031单片机各种系统扩展Word格式文档下载.docx
《8031单片机各种系统扩展Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《8031单片机各种系统扩展Word格式文档下载.docx(57页珍藏版)》请在冰豆网上搜索。
27
28
29
30
1
21
23
***
37
38
39
PC0
PC1
PC2
VCC
D0
Q0
D1
Q1
D2
Q2
D3
Q3
D4
Q4
D5
Q5
D6
Q6
D7
Q7
&
E-
LE
A
Y0
B
Y1
C
Y2
Y3
Y4
E1
Y5
E2
Y6
E3
Y7
74LS138
22
200QX8
A0
A1
A2
A3
A4
A5
A6
A7
6264
A8
A9
A10
A11
A12
OE
CS2
CS1
接8031RD
接8031WR
lb
III
-sg~f
ELELELELELELELEL
034
5.1KQX4
5
7
PA0~PA7
图6.1实训6电路图
4.实训步骤与要求
1)查阅附录实训电路板原理图及芯片手册,初步认识51单片机扩展片外RAM所使用的芯片6264的管脚排列,以及与单片机的连接关系;
初步分析8155与单片机的连接及三个I/O口与外部LED的关系。
2)将电路板与仿真器连接好。
3)输入参考程序1,汇编并调试运行,观察P1口发光二极管的亮灭状态。
4)输入参考程序2,汇编并调试运行,观察电路板中LED共阴极)的显示情况。
参考程序1:
对片外RAM写入数据并输出,控制P1口的亮灭状态。
ORG0000H
5.实训总结和分析
(1)程序1的功能是,对片外RAM1000H1008H写入数据,然后再逐一读出送P1口控制发光二极管,使8个发光二极管依次点亮。
片外RAM是当单片机内部RAM^够用时进行扩展的,常用的芯片是静态RAM例如实训电路板中所使用的6264,片外RAM勺地址线是由单片机的P0口和P2口提供的,其具体连接方法以及片外RAM地址的确定方法在6.2节介绍。
实训中,对片外RAM勺写操作由MOVX@DP,TIA完成,读操作由MOVXA@DPT完成。
(2)程序2的功能是,对实训电路中扩展的8155芯片初始化,分别从8155的A口和B口输出数据,使8个LED同时显示“8”。
8155是可编程的I/O芯片,当单片机提供的并行I/O口P0〜P3不够用户使用时,常常需要扩展I/O口,8155是扩展时使用较多的I/O芯片。
在本书的实训电路中,用扩展的8155连接了8个LED数码管和16个按键。
通过扩展8155可以提供3个并行I/O口:
A口、B口和C口,3个I/O口的工作方式(例如是输入还是输出)是由用户的编程来确定的,这个过程称作对8155的初始化。
初始化编程是通过8155的命令寄存器写入控制字来实现的,例如参考程序2中的前3条指令。
控制字的规定、8155和单片机的接口方法以及8155相关地址的确定在6.3.4节介绍。
(3)分析参考程序2,我们注意到,对扩展I/O口芯片8155的写操作也是MOVX@DP,RA,与片外RAM勺使用方法相同,读操作也是一样,因此这就要求片外RAM和扩展I/O口的地址不能冲突,在扩展连接时,二者要统一考虑,统一编址。
(4)请读者学习本章知识后,思考以下问题:
实训中扩展的6264的地址范围是什么?
为什么8155命令寄存器、A口、B口的地址是程序2中所使用的4400H4401H、4402H?
(5)在实际应用中,不仅要扩展RAM和I/O口,当单片机内部用于存放程序、表格的程序存储器容量不够时,也需要扩展。
对这三者的扩展方法、常用芯片和使用方法是本章重点讨论的内容。
6.1程序存储器扩展
在进行单片机应用系统设计时,首先考虑的就是存储器的扩展,包括程序存储器和数据存储器。
其次是I/O口的扩展,用来连接一定的输入设备和输出设备。
在本书附录的参考实训电路板原理图中,除了实训6中我们初步认识和使用的RAM和I/O口8155芯片,读者会注意到还扩展了两片存储器芯片2764和2864,这是在程序存储器扩展中要介绍的内容。
单片机的程序存储器空间和数据存储器空间是相互独立的。
程序存储器的寻址空间是64K字节(OOOOHHFFFFH
6.1.1单片机程序存储器概述
单片机应用系统由硬件和软件组成,软件的载体就是硬件中的程序存储器。
对于MCS-51系列8位单片机,片内程序存储器的类型及容量如表6.1所示
表6.1MCS-51系列单片机片内程序存储器一览表
单片机
型号
器
片内程序存储
类型
容量(字节)
8031
无
8051
ROM
4Kn
8751
EPROM
4K
8951
Flash
对于没有内部ROM勺单片机或者程序较长、片内ROM^量不够时,用户必须在单片机外部扩展程序存储器。
MCS-51单片机片外有16条地址线,即P0口和P2口,因此最大寻址范围为64K字节(0000H-FFFFH。
这里要注意的是,MCS-51单片机有一个管脚EA跟程序存储器的扩展有关。
如果EA接高电平,那么片内存储器地址范围是0000H-0FFFH(4K字节),片外程序存储器地址范围是1000H-FFFFH(60K字节)。
如果EA接低电平,不使用片内程序存储器,片外程序存储器地址范围为0000H-FFFFH(64K字节)。
8031单片机没有片内程序存储器,因此EA管脚总是接低电平。
扩展程序存储器常用芯片有EPROMErasableProgrammableReadOnlyMemory型(紫外线可擦除型),如2716(2KX8)、2732(4KX8)、2764(8K
X8)、27128(16KX8)、27256(32KX8)、27512(64KX8)等,另外还有+5V电可擦除EEPRO,M如2816(2KX8)、2864(8KX8)等等。
如果程序总量不超过4KB—般选用具有内部ROM勺单片机。
8051内部ROM只能由厂家将程序一次性固化,不适合小批量用户和程序调试时使用。
因此选用8751、8951勺用户较多。
如果程序超过4K字节,一般不会选用8751、8951,直接选用8031,利用外部扩展存储器来存放程序。
6.1.2EPROM程序存储器扩展实例
紫外线擦除电可编程只读存储器EPRO是国内用得较多的程序存储器。
EPROMS片上均有一个玻璃窗口,在紫外线照射下,存储器中的各位信息均变1,即处于擦除状态。
擦除干净的EPRO可以通过编程器将应用程序固化到芯片中。
例6.1在8031单片机上扩展4KEPRO程序存储器
1.选择芯片
本例要求选用8031单片机,内部无RO巫,无论程序长短都必须扩展程序存储器(目前较少这样使用,但扩展方法比较典型、实用)。
在选择程序存储器芯片时,首先必须满足程序容量,其次在价格合理情况下尽量选用容量大的芯片。
芯片少,接线简单,芯片存储容量大,程序调整余量大。
如估计程序总长3KB左右,最好扩展一片4KB的EPROM732,而不选用2片2716
(2KB)。
在单片机应用系统硬件设计中应注意,尽量减少芯片使用个数,使得电路结构简单,提高可靠性,这也是8951比8031使用更加广泛的原因之一。
2.硬件电路图
8031单片机扩展一片2732程序存储器电路如图6.2所示
GND
图6.2单片机扩展2732EPRONfe路
3.芯片说明
(1)74LS373
74LS373是带三态缓冲输出的8D锁存器,由于单片机的三总线结构中,数据线与地址线的低8位共用P0口,因此必须用地址锁存器将地址信号和数据信号区分开。
74LS373的锁存控制端G直接与单片机的锁存控制信号ALE相连,在ALE的下降沿锁存低8位地址
(2)EPROM2732
EPROM2732勺容量为4KX8位。
4K表示有4X1024(22X210=212)个存储单
元,8位表示每个单元存储数据的宽度是8位。
前者确定了地址线的位数是12位(A0〜A11),后者确定了数据线的位数是8位(OLO7),目前除了串行存储器之外,一般情况下我们使用的都是8位数据存储器)。
2732单一+5V供电,最大静态工作电流为100mA维持电流为35mA读出时间最大为250ns。
2732的封装形式为DIP24,管脚如图6.3所示。
24
2
2732A8
3
4
•A3
OE/VPP
~20~
6
~19-
~7~
CE
~18-
8
O7
9
.O0
O6
~16-
O1
O5
~15-
O2
O4
~14-
O3
图6.3EPROM2732管脚及说明
其中A0〜A11:
地址线
OENpp:
输出允许/编程高压
除了12条地址线和8条数据线之外,CE为片选线,低电平有效,也就是说,只有当CE为低电平时,2732才被选中,否则,2732不工作。
0E/Vpp为双功能管脚,当2732用作程序存储器时,其功能是允许读数据出来;
当对EPROM编程(也称为固化程序)时,该管脚用于高电压输入,不同生产厂家的芯片编程电压也有不同。
当我们把它作为程序存储器使用时,不必关心其编程电压。
4.扩展总线的产生
一般的CPU象INTEL8086/8088、Z80等,都有单独的地址总线、数据
总线和控制总线,而MCS-51系列单片机由于受管脚的限制,数据线与地址线是复用的,为了将它们分离开来,必须在单片机外部增加地址锁存器,构成与一般
CPU相类似的三总线结构。
5.连线说明
(1)地址线
单片机扩展片外存储器时,地址线是由P0和P2口提供的。
图6.2中,2732的12条地址线(A0〜A11)中,低8位A0〜A7通过锁存器74LS373与P0口连接,高4位A8〜A11直接与P2口的P2.0〜P2.3连接,P2口本身有锁存功能。
注意,锁存器的锁存使能端G必须和单片机的ALE管脚相连。
(2)数据线
2732的8位数据线直接与单片机的P0口相连。
因此P0口是一个分时复用的地址/数据线。
(3)控制线
CPU执行2732中存放的程序指令时,取指阶段就是对2732进行读操作。
注意,CPU对EPRO只能进行读操作,不能进行写操作。
CPU对2732的读操作控制都是通过控制线实现的。
2732控制线的连接有以下几条:
CE:
直接接地。
由于系统中只扩展了一个程序存储器芯片,因此2732的
片选端元直接接地,表示2732一直被选中。
若同时扩展多片,需通过译码器来完成片选工作;
OE:
接8031的读选通信号融端。
在访问片外程序存储器时,只要psen端出现负脉冲,即可从2732中读出程序。
6.扩展程序存储器地址范围的确定
单片机扩展存储器的关键是搞清楚扩展芯片的地址范围,8031最大可以
扩展64K字节(0000H—FFFFH。
决定存储器芯片地址范围的因素有两个:
一个是片选端CE必须为低电平,另一个是芯片本身的地址线与单片机地址线的连接,单片机本身地址线的编码确定了芯片的容量。
本例中,2732的片选端CE总是接地,因此第一个条件总是满足的,另
外,2732有12条地址线,与8031的低12位地址相连,编码结果如下:
A2A1AO
A2A1A0
xXX
0000
XXX
0001
0010
0011
其中的“x”表示跟2732无关的管脚,取0或1都可以,通常取0
由此可见,本例中扩展的2732的地址范围是OOOOHHOFFFH(无关的管脚取0,地址范围不是唯一的),共4K字节容量。
实训电路中,系统扩展了一片EPROM2764请读者对照上述6点理清连接方法,从而确定实训板中2764的地址范围。
7.EPROM的使用
存储器扩展电路是单片机应用系统的功能扩展部分,只有当应用系统的软件设计完成了,才能把程序通过特定的编程工具(一般称为编程器或EPROM固化器)固化到2732中,然后再将2732插到用户板的插座上(扩展程序存储器一定要焊插座)。
当上电复位时,PC=OOOOH自动从2732的OOOOH单元取指令,然后开始执行指令。
如果程序需要反复调试,可以用紫外线擦除器先将2732中的内容擦除,然后再固化修改后的程序进行调试。
如果要从EPROI中读出程序中定义的表格,使用查表指令:
MOVCA,@A+DPTR
MOVCA,@A+PC
6.1.3EEPRO扩展实例
电擦除可编程只读存储器EEPRO是一种可用电气方法在线擦除和再编程的只读存储器,它既有RAh可读可改写的特性,又具有非易失性存储器ROM在掉电后仍能保持所存储数据的优点。
因此EEPRO在单片机存储器扩展中,可以用作程序存储器,也可以用作数据存储器,至于具体做什么使用,由硬件电路确定。
EEPRO作为程序存储器使用时,CPU读取EEPRO数据同读取一般EPROM
操作相同;
但EEPROI的写入时间较长,必须用软件或硬件来检测写入周期。
例6.2在8031单片机上扩展2KBEEPROM
2816A和2817A均属于5V电擦除可编程只读存储器,其容量都是2KX8
位。
2816A与2817A的不同之处在于:
2816A的写入时间为9—15ms完全由软件延时控制,与硬件电路无关;
2817A利用硬件引脚rdy/BUSY来检测写操作是否完成。
在此我们选用2817A芯片来完成扩展2KBEEPRQM2817A的封装是DIP28,采用单一+5V供电,最大工作电流为150mA维持电流为55mA读出时间最大为250ns。
片内设有编程所需的高压脉冲产生电路,无需外加编程电源和写入脉冲即可工作。
2817A在写入一个字节的指令码或数据之前,自动地对所要写入的单元进行擦除,因而无需进行专门的字节/芯片擦除操作。
2817A的管脚如图6.4所示。
片选
图6.42817A的管脚
其中A0-A10:
地址线;
I/OO—I/O7:
读写数据线;
RDY/BUSY:
低电平表示2817A正在写操作,处于忙状态,高电平表示写操作完毕。
Vcc:
+5V电源;
GND接地端
2817A的读操作与普通EPRO的读出相同,所不同的只是可以在线进行字节
的写入。
2817A的写入过程如下:
CPU向2817A发出字节写入命令后,2817A便锁存地址、数据及控制信号,从而启动一次写操作。
2817A的写入时间大约为16ms左
右,在此期间,2817A的RDY/BUS脚呈低电平,表示2817A正在进行写操作,此时它的数据总线呈高阻状态,因而允许CPU在此期间执行其它的任务。
当一次字节写入操作完毕,2817A便将RDY/BUS线置高,由此来通知CPU
单片机扩展2817A的硬件电路图如图6.5所示
图6.5单片机扩展2817AEEPROP*路
3.连线说明
(1地址线
图6.5中,2817A的11条地址线(A0-A10,容量为2KX8位,211=2X1024=2K,低8位A0-A7通过锁存器74LS373与P0口连接,高3位A8—A10直接与P2口的P2.0—P2.2连接。
(2)数据线
2817A的8位数据线直接与单片机的P0口相连。
(3)控制线
单片机与2817A的控制线连接方法采用了将外部数据存储器空间和程序存储器空间合并的方法,使得2817A既可以作为程序存储器使用,又可以作为数据存储器使用。
单片机中用于控制存储器的管脚有以下3个:
PSEN――控制程序存储器的读操作,执行指令的取指阶段和执行
MOVCA,@A+DPT指令时有效;
RD――控制数据存储器的读操作,执行MOVX@DPTR,A和MOVX@Ri,A
时有效;
WR――控制数据存储器的写操作,执行MOVXA,@DPTR和MOVXA,@Ri时有效。
在图6.5中,2817A控制线的连线方法如下:
由于系统中只扩展了一个程序存储器芯片,因此片选端CE直接接地,表示2817A一直被选中
0E:
8031的程序存储器读选通信号PSEN和数据存储器读信号RD经过“与”
操作后与2817A的读允许信号相连。
这样,只要PSEN、RD中有一个有效,就可以对2817A进行读操作了。
也就是说,对2817A既可以看作程序存储器取指令,也可以看作数据存储器读出数据。
WE:
与8031的数据存储器写信号WR相连,只要执行数据存储器写操作指令时,就可以往2817A中写入数据。
rdy/busy:
与8031的P1.0相连,采用查询方法对2817A的写操作进行管理。
在擦、写操作期间,rdy/BUSY脚为低电平,当字节擦写完毕时,rdy/BUSY为高电平。
其实,检测2817A写操作是否完成也可以用中断方式实现,方法是将2817A
的rdy/扇反相后与8031的中断输入脚祁/市相连。
当2817A每擦、写完一个字节便向单片机提出中断请求。
图6.5中2817A的地址范围是0000H-07FFH(无关的管脚取0,该地址范围不是唯一的)。
4.2817A的使用
按照图6.5连接好后,如果只是把2817A作为程序存储器使用,使用方法同EPROMS同。
EEPRO也可以通过编程器将程序固化进去。
如果将2817A作为数据存储器,读操作同使用静态RAMH样,直接从给定的地址单元中读取数据即可。
向2817A中写数据采用MOVX@DPTR,A旨令。
6.1.4常用程序存储器芯片
从上面两个实例,我们可以体会到扩展程序存储器的一般方法。
程序存储器与单片机的连线分为三类:
①数据线,通常有8位数据线,由P0口提供;
②地址线,地址线的条数决定了程序存储器的容量。
低8位地址线由P0口提供,高8位由P2口提供,具体使用多少条地址线视扩展容量而定;
③控制线,存储器的读允许信号OE与单片机的取指信号PSEN相连;
存储器片选线CE的接法决定了程序存储器的地址范围,当只采用一片程序存储器芯片时CE可以直接接地,当采用多片时要使用译码器来选中CE。
这里再简单介绍一些常用的EPRO扩展芯片以及目前市场上出现的一些新型存储器。
1.常用EPRO芯片
(1)EPROM2716
2716是2KX8位的紫外线擦除电可编程只读存储器,单一+5V供电,运行时最大功耗为252mWV维持功耗为132mW读出时间最大为450ns,封装形式为DIP24。
2716有地址线11条(A0〜A10),数据线8条(O旷07,CE为片选线,低电平有效,0E为数据输出允许信号,低电平有效,Vpp为编程电源,
Vcc为工作电源。
(2)EPROM2764
2764是8KX8位的EPROM单一+5V供电,工作电流为75mA维持电流为35mA读出时间最大为250ns,DIP28封装。
2764A有13条地址线A0〜A12,数据输出线O(〜O7,CE为片选线,OE为数据输出允许线,PGM为编程脉冲输入端,Vpp为编程电源,Vcc为工作电源。
(3)EPROM27128
27128是16KX8位的EPROM单一+5V供电,工作电流为100mA维持电流为40mA读出时间最大为250ns,DIP28封装。
27128A有14条地址线A0〜A13,
数据输出线00-07,CE为片选线,0E为数据输出允许线,PGM为编程脉冲输入端,Vpp为编程电源,Vcc为工作电源。
(4)EPROM27256
27256是32KX8位的EPR0,单一+5V供电,工作电流为100mA维持电流为40mA读出时间最大为250ns,DIP28封装。
27256有15条地址线A0〜A14,数据输出线O(〜O7,Ce为片选线,OE为数据输出允许线,Vpp为编程电源,Vcc为工作电源。
2716、2764、27128和27256的管脚如图6.6所示。
U?
图6.6常用EPROMS片管脚图
2.单片机扩展EPRO典型电路
(1)扩展一片27128A
单片机扩展16K外部程序存储器一般选用27128AEPROI芯片,硬件电路如
图6.7所示
图6.7单片机扩展27128EPROM电路
(2)用译码法扩展一片2764
单片机扩展8K外部程序存储器一般选用2764EPROI芯片,硬件电路如图6.8所示。
图6.8单片机扩展2764EPROM电路
在图6.8中,2764的片选端CE没有接地,而是通过74LS138译码器的输出端Y0来提供的,这种方法称为译码法。
当同时扩展多片R0附,常常采用译码
法来分别选中芯片。
显然,在图6.8中,只有当译码器的输出Y0=0时,才能够选中该片2764,所以这片2764的地址范围确定如下:
P2.7
P2.6
P2.5
P2.4
P0.3
P0.2
P0.1
P0.0
即:
0000FH仆FFH本书实训电路中的2764采用的就是图6.8所示接法,因
此其地址也是0000H-仆FFH
3.常用EEPRO芯片
除了例6.2中使用的EE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8031 单片机 各种 系统 扩展