武汉理工大学《微机原理与接口技术》课程设计说明书
2 EEPROM扩展电路设计
2.1方案设计
8086通过控制138译码器来实现控制EEPROM扩展电路,即两片2864芯片。通过D0?D7数据总线来传输数据,通过地址总线来实现读写的输入输出,同时数据可以先放在74LS373锁存器中存放来保护数据。
硬件原理图如图2-1所示。
8086CPU 数据总线D7~D0
138地址译码器 2864 CS 2864 CS 地址总线A0~A19 图2-1硬件原理图
2.2芯片选择
EEPROM芯片在写入时能自动完成擦除,而且不需要专用的编程电源,可直接使用5V电源。在芯片引脚设计上,2KB的EEPROM2816与相同容量的EPROM2716和静态RAM6116兼容,8KB的EEPROM2864A与相同容量的EPROM2764A和静态RAM6264兼容,这些特点给硬件电路设计和调试带来了方便。
常用的并行EEPROM芯片有2816/2816A、2817/2817A、2864A等, 本次设计要形成16KB容量,若采用2816/2816A、2817/2817A,需用8块芯片,连接线麻烦,所以采用2864芯片扩展。
2816、2817、2864的读出数据时间均为250ns,写入时间为10ms。 2864引脚图如图2-2所示。
3
武汉理工大学《微机原理与接口技术》课程设计说明书
图2-2 2864引脚图
计算芯片数量:
2864芯片容量是64/8=8,即8KB。n?16K?8?2,所以需用两片2864芯片。
8K?82.3连线说明
数据线:
2864的8位数据线直接与8086的数据线相连。 地址线:
根据选择的芯片进行地址分配,由于选择芯片分别是8KB,这样片内寻址需要的地址线是13根,因使用138译码器来片选,所以8086上的地址线A12?A0作为片内寻址与8KB的ROM的A12?A0地址连接。
通过一片74LS138译码器来控制片选。将Y0控制低8位的2864(1)的CE,Y1控制高8位的2864(2)的CE,138译码器的输入端连接到8086的地址线的高位A15?A13,地址分配表如表2-1所示。
所以2864(1)的地址范围为0000H至1FFFH,2864(2)的地址范围为2000H至3FFFH,两片加起来一共是16KB。
为了防止CPU在读取数据时,数据发生变化,在硬件电路上采用了74LS373锁存器。 控制线:
4
武汉理工大学《微机原理与接口技术》课程设计说明书
取A19?A16中的两根地址线如A16和A17分别控制两片2864的读写端。 地址分配表如表2-1所示。
表2-1 地址分配表
A19?A16 0000 0000 0000 0000 A15 C 0 0 0 0 A14 B 0 0 0 0 A13 A 0 0 1 1 A12 0 1 0 1 A11?A8 0000 1111 0000 1111 A7?A4 0000 1111 0000 1111 A3?A0 0000 1111 0000 1111 2.4硬件电路图
存储器扩展硬件电路图如图2-3所示。
图2-3存储器扩展硬件电路图
5
武汉理工大学《微机原理与接口技术》课程设计说明书
3程序设计
3.1设计思路
在存储器的数据段里分配10个小数据段,每个小数据段分配40个字符,0-8这9个信息存储信息内容,另外一个输出错误信息,Q或q退出。取MSG0的首地址作为整个信息段的首地址,根据输入的信号的不同,用序号乘40再加到首地址上找到相应序号的信息内容。
步骤为:
(1)开始,等待信息输入;
(2)输入序号,判断是否为Q。若是转(7),否则转(3); (3)判断是否满足要求的序号范围。满足转(4),否则转(6); (4)根据输入的序号,计算出相关信息的物理地址; (5)输出结果,跳转到(2); (6)输出错误信息提示,转(2); (7)结束,退出程序。
3.2程序框图
3.2.1主程序流程图
主程序流程图如图3-1所示。
3.2.2输入程序流程图
输入程序流程图如图3-2所示。
程序中需使用DOS调用程序来显示一串字符串:
MOV AH,9
INT 21H
3.2.3输出程序流程图
输出程序流程图如图3-3所示。
6
武汉理工大学《微机原理与接口技术》课程设计说明书
开始 提示输入信息 输入序号 是 判断是否为Q或q? 否 否 判断是否为0-8? 是 错误信息提示 计算出相应信息的物理地址 输出结果 图3-1主程序流程图
结束
键盘输入序号 DOS调用输入指令 按要求显示提示语句 放入指定缓冲区 图3-2输入程序流程图
7