内蒙古工业大学本科毕业设计说明书
3.2.2 32K EPROM扩展电路
本设计需要扩展32K的程序存储器,选用2片16K*8位EPROM器件27128(A)和27128(B),当P2.6为低电平时,选中27128(A),高电平时经反相器选中27128(B)。
图3-3为2片27128与8051连接的电路图。27128的14根地址线A0~A13可选中27128EPROM中任意单元。27128的地址范围是0000H~3FFFH。
图3-3 2片27128与8051连接电路图
3.3 数据存储器的扩展
3.3.1 数据存储器芯片选取
8051单片机内部有128个字节RAM。CPU对内部RAM有丰富的操作指令,在实际应用中,仅靠片内RAM往往不够,必须扩展外部数据存储器。
62256容量为32K,单一+5V供电,工作电流为8mA,维持电流0.5μA,读出时间最大为250ms,28线双列直插式封装。
A0~A14:地址输入线; D0~D7:数据线;
CE:片选信号输入线,低电平有效,且CE为低电平时才选中该片;
21
内蒙古工业大学本科毕业设计说明书
OE:读选通信号输入线,低电平有效;
WR:写允许信号输入线,低电平有效; Vcc:工作电源+5V;
该设计采用的SRAM芯片为62256,其结构图如3-4所示。
图3-4 扩展芯片62256引脚结构图
3.3.2 32K静态RAM扩展电路
62256是32K容量的,故用到了15根地址线。SRAM芯片62256与8051的接口电路如图3-5所示。
图3-5 8051与62256连接电路图
22
内蒙古工业大学本科毕业设计说明书
3.4 8051与32K EPROM和32K SRAM连接结构图
8051与2片EPROM 27128提供32K字节的片外程序存储器,用一片静态RAM 62256提供32K字节的片外数据存储器。总体结构图如图3-6所示。
图中的62256CE接8051的P2.7,P2.7输出常为0时,才能选通62256,所以它的地址为0000H~7FFFH。
图3-6 8051与外部存储器扩展总体结构图
23
内蒙古工业大学本科毕业设计说明书
3.5 8051 I/O口的扩展
8051单片机共有4个8位并行I/O口,这些I/O口一般是不能完全提供给用户使用的,提供给用户使用的I/O口只有P1口和P3口的部分口线,因此需要进行I/O口的扩展。8051单片机的外部数据存储器RAM和I/O是统一编址的,用户可以把外部64K字节的数据存储器RAM空间的一部分作为扩展I/O接口的地址空间,每一个接口芯片中的一个功能寄存器口地址就相当于一个RAM存储单元,CPU可以象访问外部存储器RAM那样访问外部接口芯片,对其功能寄存器进行读、写操作。8255就是其中的一种,本设计用其来扩展键盘和显示器。
3.5.1 8255A芯片的介绍
8255A是Intel公司生产的可编程并行接口芯片,它具有3个8位的并行I/O口,分别为PA口、PB口、PC口,其中PC口又分为高4位和低4位口,它们都可以通过软件编程来改变其I/O口输入输出方式。8255A在单片机应用系统中被广泛用作可编程外部I/O扩展接口。用8255A连接外部设备时,通常不用再附加外部电路,给使用者带来很大方便。
8255A的内部结构和引脚图如图3-7所示。
图3-7(a) 8255A结构框图 图3-7(b) 8255A引脚图
8255A可编程并行接口由以下4个逻辑结构组成。 (1)数据总线驱动器
这是双向三态的8位驱动口,用于和单片机的数据总线相连,以实现单片机与
24
内蒙古工业大学本科毕业设计说明书
8255之间的数据传送。
(2)3个并行I/O端口
A口:具有一个8位数据输出锁存/缓冲存储器和一个8位数据输入锁存器,是最灵活的输入输出寄存器,可为编程8位输入输出或双向寄存器。
B口:具有一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器(不锁存),为可编程8位输入输出寄存器,但不能双向输入/输出。
C口:具有一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器(不锁存),这个口可分为两个4位口使用。C口除做输入输出口使用外,还可以作为A口、B口选通方式操作时的状态控制信号。
(3)读/写控制逻辑
它用于管理所有的数据、控制字或状态字的传送。它接受单片机的地址信号和控制信号来控制各个口的工作状态。
(4)A组和B组控制电路
端口A与端口C的高4位(PC7~PC4)构成A组,由A组控制部件实现控制功能;端口B与端口C的低4位(PC3~PC0),由B组部件实现控制功能。它们各有一个控制单元,可接收来自读/写控制部件的命令和CPU通过数据总线(D7~D0)送来的控制字,并根据它们来定义各个端口的操作方式。
8255A有三种工作方式,即方式0、方式1、方式2。
方式0是基本输入输出方式;方式1是选通输入输出方式;方式2是双向传送(仅对PA口)方式。
端口A可处于3种工作方式(方式0,1,2);端口B可处于两种方式(方式0和方式1);端口C常常被分为高四位和低四位两部分,分别用来传送数据或控制信息。用户可用软件来分别定义3个端口的工作方式,可使用的控制字由定义工作方式控制字和置位/复位控制字。
8255A工作方式的选择是通过控制口输入控制字的方式实现的。控制字有方式选择控制字和C口置位/复位控制字。
(1)工作方式控制字
工作方式控制字格式如图3-8所示。通过定义工作方式控制字可将3个端口分别定义为3种不同方式的组合。
当将端口A定义为方式1或方式2或将端口B定义为方式1时,要求使用端口C的某些位作控制用,这时需要使用一个专门的置位/复位控制字来对控制端口C的
25