《微机原理及其应用》课程设计存储器扩展系统设计.docx
《《微机原理及其应用》课程设计存储器扩展系统设计.docx》由会员分享,可在线阅读,更多相关《《微机原理及其应用》课程设计存储器扩展系统设计.docx(23页珍藏版)》请在冰豆网上搜索。
![《微机原理及其应用》课程设计存储器扩展系统设计.docx](https://file1.bdocx.com/fileroot1/2023-2/9/c8f8eca4-bc2c-44ad-80ca-e31429b8d401/c8f8eca4-bc2c-44ad-80ca-e31429b8d4011.gif)
《微机原理及其应用》课程设计存储器扩展系统设计
《微机原理及其应用》课程设计论文格式
共包括以下两个部分:
(一)论文部分
一、封面
具体格式见下面样例。
二、正文
论文的主体部分,针对所做的设计题目进行相应的论述。
具体格式见下面样例。
三、总结
对完成的课程设计的总结和体会,字数要求在300~500字之间。
四、参考文献
在设计过程中,查阅的资的列表,要求3篇以上。
(二)图纸部分
图纸要求:
1、以标准的A3白图纸打印,尺寸:
420×297(mm)
2、图纸布局如下图所示:
3、右下图标尺寸及欺项目如下:
微机原理
课
程
设
计
论
文
姓名:
翁元炉
班级:
信工042
学号:
32
指导教师:
陈伟利
日期:
目录
一、课程设计题目及要求………………………………………1
1、题目……………………………………………………1
2、课程设计要求…………………………………………1
二、课程设计目的………………………………………………1
三、8086芯片及相关外围器件选用介绍………………………1
1、8086芯片………………………………………………1
2、2864芯片(EEPROM)………………………………8
3、6264芯片(静态RAM)………………………………9
4、键盘/显示器接口芯片8279……………………………11
5、译码器74LS138………………………………………13
6、地址锁存器74LS373…………………………………14
7、LED数码管显示………………………………………15
8、键盘接口设计…………………………………………15
四、系统软件设计………………………………………………
五、总结…………………………………………………………
六、参考文献……………………………………………………
(另附总电路图一张)
一、课程设计题目及要求
1、题目:
存储器扩展系统设计
2、课程设计要求
1)可以用键盘向存储器内写入和读出数据,并用LED数据管显示。
2)数据输入可用10进制或16进制(可选)。
3)地址采用16进制显示。
采用1片6164(RAM)和1片2864(EEROM)对8086进行外围存储器扩展,使学生进一步理解扩展存储器的硬件连接方法和级联硬件连接方法。
同时,本设计还使用8279键盘/显示接口芯片为8086扩展了16个键盘和6位7段数码管显示块。
方便在程序调试时,对程序进行测试。
通过本设计使设计同学了解8086的外围硬件设计的全过程,加深学生对8086及相关的外围器件认识和理解。
为将来走向工作出岗位打下坚实的基础。
二、课程设计目的:
1.通过《微型计算机原理及应用》课程设计,使学生能够进一步了解微型计算机工作原理,微型计算机的硬件结构及微型计算机软件编程。
2.要求学生根据接口电路的硬件要求进行计算机的汇编语言程序设计,使
学生的软件编程能力得到加强,对接口电路的综合应用能力有较大提高。
三、8086芯片及相关外围器件选用介绍
1、8086芯片
8086是一个40管脚的器件,外部采用40芯双列直插式封装。
图一是8086的引脚图,括号内为最大模式下引脚的定义。
为了便于组成不同规模的系统,Intel公司为8086设计了两种工作模式。
在不同的工作模式下,管脚的定义不同。
8086的各类信号线包括20根地址线,16根数据线及控制线、状态线、时钟、电源和地线等。
总线大大超过了40根线。
因此,为了满足封装的要求,必须采用一线多用的方法。
图一8086引脚图
下面介绍各引脚的功能及特点:
1)数据总线D0~D15
16位,双向传输,可分别使用其低8位或高8位,该总线与地址总线A0~A15共用CPU引脚形成复用总线AD0~AD15,地址、数据分时传送。
2)地址总线A0~A19
20位,单向,地址由CPU产生,用于寻址访问存储器单元或IO端口。
A0~A15与D0~D15复用,A16~A19与状态信号S3~S6复用(A16/S3~A19/S6)。
其中AD15~AD0地址/数据复用信号(标号2~16、39),双向,三态。
在总线周期的T1状态(地址周期)AD15~AD0上出现的是低16位的地址信号A15~A0;在T3状态(数据周期)AD15~AD0上出现的是数据信号D15~D0。
作为分时复用管脚,因为既做地址信号,又做数据信号,因此是双向信号。
在总线周期的T1状态AD15~AD0输出CPU所要访问的存储器或者I/O端口的地址;而在总线周期的T3状态,AD15~AD0上出现的是CPU和存储器或I/O端口交换的数据。
T2状态对于读周期和写周期来说AD15~AD0上的状态是不同的:
在是读周期,AD15~AD0要从CPU驱动(地址周期)切换为存储器或I/O端口驱动(数据周期),AD15~AD0管脚需要在一个状态周期内维持高阻状态,以便不同总线驱动源的切换。
如果是写周期,地址和数据信号都是由CPU驱动,所以CPU从T2开始便输出数据。
T2~T3都是数据周期。
A19/S6~A16/S3(Address/Status):
地址/状态复用信号(标号35~38),输出。
在总线周期的T1状态(地址周期)A19/S6~A16/S3上出现的是地址的高4位。
在T2~T4状态,A19/S6~A16/S3上输出状态信息。
3)状态信号S3~S6
S6:
指示8086当前是否与总线相连。
S6=0表示8086连在总线上。
S5:
表示中断允许标志状态。
S5=1表示中断允许标志IF=1(对可屏蔽中断请求起作用)。
S5=0表示IF=0,禁止可屏蔽中断。
S4和S3用来指出当前使用的段寄存器。
S4、S3代码组合对应的含义如表4.2.1所示:
表1
S4
S3
当前正在使用的段寄存器
0
0
ES
0
1
SS
1
0
CS或未使用任何段寄存器
1
1
DS
地址和状态信号也都是由CPU驱动,所以T1地址周期之后,紧接着的T2~T4是状态周期。
4)控制信号
与CPU工作模式无关的信号有:
BHE#、NMI、INTR、RD#、CLK、RESET、READY#、TEST#、MN/MX#、GND
最小模式下控制信号
⑴M/IO#(Memory/InputandOutput):
存储器或者I/O控制信号(标号28),输出,三态。
M/IO#输出为高电平,指示CPU正在执行存储器访问指令,进行和存储器之间数据交互;如果为低电平,表示CPU正在执行I/O指令,进行和I/O接口之间数据传输。
为1时,CPU作存储器访问;为0时,CPU作端口访问。
⑵DT/R#(DataTransmit/Receive):
数据驱动器数据流向控制信号(标号27),输出,三态。
在8086系统中,通常采用8286或8287作为数据总线的驱动器,用DT/R#信号来控制数据驱动器的数据传送方向。
当DT/R#=1时,数据驱动器进行数据发送;DT/R#=0时,数据驱动器进行数据接收。
用于控制双向数据总线收发器的驱动方向。
⑶BHE#/S7(O):
为0时,总线高字节允许传送;为1时,总线高字节禁止传送。
BHE#控制对存储器按双字节输出时,高字节总线允许打开传送。
即只给一个字地址,输出两个字节。
S7备用。
⑷RD#(Read):
读信号(标号32),输出,三态。
RD#信号有效,表示CPU执行一个对存储器或I/O端口的读操作,在一个读操作的总线周期中,RD#在T2~T3状态中有效,为低电平。
为0时,CPU作读操作。
⑸WR#(Write):
写信号(标号29),输出,三态。
WR#信号有效,表示CPU执行一个对存储器或I/O端口写操作,在写操作总线周期中,WR#在T2~T3状态中有效,为低电平。
为0时,CPU作写操作;M/IO#,RD#,WR#组合成系统的存储器和端口的读写信号:
MEMR#,MEMW#,IOR#,IOW#。
高电平有效时,将地址存入外部地址锁存器。
通常用RD#以及WR#信号控制存储器或I/O的读出和写入端。
RD#和WR#指出CPU当前进行的是读还是写操作,它和M/IO#信号一起,指出当前进行的是存储器读、I/O读、存储器写、I/O写四种操作中的哪一种。
RD#和WR#信号除了在T2~T3状态中有效外,还在TW(等待)状态有效。
表4.2.2为对存储器或I/O的读/写操作选择。
表2
RD#
WR#
M/IO#
对应的操作
0
1
0
I/O写操作
0
1
1
存储器写操作
1
0
0
I/O读操作
1
0
1
存储器读操作
⑹DEN#(DataEnable)(O):
数据使能信号(标号26),输出,三态,低电平有效。
用于数据总线驱动器的控制信号。
为0时,数据输出有效,与DT/R#配合,用于控制双向数据总线收发器的开与关。
CPU的信号线上,特别是地址、数据、控制线上,通常连接多个器件,也就是说,CPU的每根信号线要带多个负载,为增强其负载能力,通常在CPU的地址、数据、控制线上设计驱动器。
因地址信号采用8282地址锁存器锁存,其本身具有较强的负载能力,所以不再另加驱动器。
数据线驱动一般采用双向数据驱动器8286。
DEN#用作对数据驱动器的使能。
DEN#在存储器或I/O访问周期或中断响应周期都为低电平,即为有效电平。
如果是读周期或者中断响应周期,DEN#从T2状态中开始有效,一直到T4状态中结束;如果是写周期,则从T2状态的开始就是有效电平。
在DMA方式时,DEN#被置为高阻状态。
⑺ALE(AddressLatchEnable)(O):
地址锁存使能信号(标号25),输出,高电平有效。
是用来作为地址锁存器的锁存控制信号。
8086的AD15~AD0是地址/数据复用信号,地址信息仅在T1状态有效,为了使地址信号在整个读写周期都有效,通常要用ALE把地址信号锁存在地址锁存器当中为1时,地址锁存允许,高电平有效时,控制将地址存入外部地址锁存器。
⑻NMI(Non-MaskableInterrupt):
非屏蔽中断请求(标号17),输入,上升沿有效。
NMI不受中断允许标志的影响。
当CPU检测到NMI有一个正沿触发的信号以后,CPU执行完当前指令便响应中断类型号为2的非屏蔽中断请求。
为1时,(上升沿)产生不可屏蔽中断请求。
非屏蔽中断是不受中断允许标志IF的影响的,不能用软件进行屏蔽。
⑼INTR(InterruptRequest):
可屏蔽中断请求(标号18),输入,高电平有效。
如果INTR信号有效,当CPU的中断允许标志IF=1时,CPU结束当前指令后,响应INTR中断。
为1时,产生可屏蔽中断请求。
可屏蔽中断要根据中断允许标志的设置来判断CPU是否能响应中断请求。
当INTR信号有效,同时中断允许标志IF为1的时候,CPU才会响应中断去执行一个中断处理子程序。
需要注意的是,不论是非屏蔽中断还是可屏蔽中断,CPU都是在每条指令的最后一拍去采样中断请求信号的。
如果有中断请求,又符合中断响应条件,CPU将在执行完当前指令之后进入中断响应周期。
也就是说在指令执行中是不可以中断的。
NMI和INTR是8086/8088的两条硬件中断请求输入线。
⑽INTA#(InterruptRequestAsk)中断的响应信号,输出,为0时,CPU对INTR中断的响应。
本信号与INTR构成一对联络信号,INTR请求,INTA#是CPU对INTR请求的回答,为0时表示接受申请。
⑾TEST#(Test):
测试信号(标号23),输入低电平有效。
TEST#信号和WAIT指令结合起来使用,在CPU执行WAIT指令时,CPU便一直处于空转状态,进行等待。
只有当8086检测到TEST#信号有效时,才结束等待状态,继续执行WAIT之后的指令。
为0时,结束CPU的等待状态。
⑿RESET复位信号(标号21),输入,高电平有效。
复位信号有效时,CPU结束当前操作并对标志寄存器FLAG、IP、DS、SS、ES及指令队列清零,并将CS设置为FFFFH。
当复位信号撤除时,(即电平由高变低时)CPU从FFFF0H开始执行程序。
这也是8086系统程序的起始地址,即开机后程序的起始位置。
一般的8086系统,将系统程序固化在ROM中,ROM的地址应包含FFFF0H。
⒀READY(Ready):
准备好信号(标号22),输入,高电平有效。
为了CPU能和不同速度的存储器或I/O接口进行连接,设计了READY信号。
CPU在每个总线周期的T3状态对READY进行采样。
当READY信号有效时表示存储器或I/O准备好发送或接收数据。
CPU执行典型的总线周期,在4个T状态内完成总线操作。
如果存储器或I/O的速度较慢,不能与CPU的速度相匹配,可令READY为低。
CPU在T3采样到READY为低电平以后,便在T3之后插入Tw,延长读写周期,使CPU能和较慢速度的存储器或I/O接口相匹配。
为1时,被访问部件准备就绪;为0时,被访问部件未准备就绪。
⒁MN/MX#(Minimum/MaximumModeControl):
最大最小模式控制信号(标号33),输入。
决定8086工作在哪种工作模式。
如果MN/MX#=1(+5V),CPU工作在最小模式。
MN/MX#=0(接地),CPU则工作在最大模式。
⒂HOLD(HoldRequest):
总线保持请求(标号31),输入,高电平有效。
当系统当中除CPU之外的另一个总线主模块(如DMA)要求使用总线时,该总线主模块通过HOLD信号向CPU发出总线请求。
如果CPU允许让出总线,就在完成当前总线周期后,在T4状态通过HLDA管脚发出应答信号,响应总线的请求。
为1时,总线使用请求;为0时,总线回收请求。
⒃HLDA(HoldRequestAsk)总线保持响应信号,输出,高电平有效。
HLDA有效时表示CPU响应了其他总线主的总线请求,一旦HLDA有效,CPU的数据/地址控制信号变为高阻状态,而请求总线的总线主(DMA)获得了总线权。
为1时,总线使用请求的响应;为0时,总线回收请求的响应。
DMA即“直接存储器访问”。
在DMA方式下,外部设备利用专用的控制电路直接和存储器进行高速的数据传送,而不经过CPU。
这样,传输时就不必进行CPU执行程序过程中完成的地址增量、计数器减量,以及在中断方式下CPU保护现场、恢复现场之类的操作,大大提高了数据传送的速度。
在利用DMA方式进行数据传输时,DMA控制系统总线,因此在DMA开始工作之前,首先要向CPU发出申请总线的请求,令CPU让出总线。
这个请求是由DMA设置HOLD信号有效产生的。
2、2864芯片(EEPROM)
常用的EEPROM芯片有2816、2817、2864A等。
主要的性能指标为:
读取时间250ns、写入时间10ns(281615ns)、字节擦除时间10ns(281615ns)、读操作电压5v、擦写操作电压5v、操作电流110mA。
此存储器主要特点是能以字节为单位进行擦除和改写,而且不须把芯片拔下插入编程器编程,在用户系统中即可进行。
除了并行读出的EEPROM外,现在也经常使用串行的EEPROM。
2864的引脚如图二所示。
其引脚分布是与SRAM6264兼容的,也采用双列直插式机构,其中数据线8根,地址线13根。
在维持和读出时,2864和6264相同,在写入时有字节和页面写入两种方法,页面写入是在2864内部设有16字节的页缓冲器,整个存储器存储阵列划分为512页(每页16字节)。
写入时,首先把数据写入页缓冲器,然后再在其内部定时电路的控制下,把页缓冲器的数据写入指定的EEPROM单元,按页写入比按字节写入快。
而字节写入之前自动地对要写入的单元进行擦除,写入一个单元大致需要5ms,在这5ms内,2864A可释放系统,使其进行维持和读出工作。
在实际应用中,按字节改写的情况占80%。
所以,EEPROM在微机系统中得到普遍应用。
图二2864引脚配置
表32864芯片引脚名称
A12~A0
地址
CE
片选
OE
输出允许
I/O7~I/O0
数据线
WE
写入
NC
未用
3、6264芯片(静态RAM)
静态RAM,即SRAM(StaticRAM),其存储电路以双稳态触发器为基础,状态稳定,只要不掉电,信息就不会丢失。
优点是不需要刷新,缺点是集成度低。
适于不需要大存储容量的微型计算机。
本设计选用6264芯片,其管脚如图三所示,操作方式如表4,不同于一般的静态RAM。
6264芯片还设有一个CS2引脚,通常接到正5V电源,当掉电时,电压下降到小于或等于0.2V时,只需向该引脚提供2uA的电流,则在Vcc=2V时,该RAM芯片就进入数据保护状态。
根据这一特点,在电源掉电检测和切换电路的控制下,当检测到电源电压下降到小于芯片的最低工作电压(CMOS电路为4.5V,非CMOS为4.75V)时,将6264RAM切换到有镍镉电池或锂电池提供的备用电源供电,即可实现断电后长时间的数据保护。
表4 6264的操作方式
管脚
方式
CS1
(20)
CS2
(26)
OE
(22)
WE
(27)
I/O0~I/O7
(11~13,15~19)
未选中(掉电)
1
X
X
X
高阻
未选中(掉电)
X
0
X
X
高阻
输出禁止
0
1
1
1
高阻
读
0
1
0
1
DOUT
写
0
1
1
0
DIN
写
0
1
0
0
DIN
图三6264引脚图
4、键盘/显示器接口芯片8279
Intel公司的8279芯片是一种通用可编程键盘/显示器接口电路芯片,它
能完成监视键盘输入和显示控制2种功能。
8279对键盘部分提供1种扫描工作方式,能对64个按键键盘阵列不断扫描,自动消抖,自动识别出闭合的键并得到键号,能对双键或N键同时按下进行处理。
它对CPU来说是静态的,而对数码管来说是动态的,可充分提高CPU的工作效率。
显示部分为LED或其他显示器提供了按扫描方式工作的显示接口,可显示多达16位的字符或数字。
图四8279芯片引脚图
8279的组成及引脚功能:
8279芯片有40条引脚,由单一+5V电源供电.它主要由以下几部分组成:
(1)I/O控制和数据缓冲器;
(2)控制和定时寄存器及定时控制部分;
(3)扫描计数器;
4)回送缓冲器与键盘去抖动控制电路;
(5)FIFO(先进先出)寄存器和状态电路;
(6)显示器地址寄存器及显示RAM.
8279的引脚如图四所示,下面对引脚名称及功能作简要说明.
DB0~DB7:
数据总线、双向、三态,与8086数据总线相连,在CPU和8279之间传送命令和数据。
A0=1时,CPU写入8279的字节是命令字。
从8279读出的字节是状态字。
A0=0时,写入或读出的字节均为数据
IRQ:
中断请求线.高电平有效。
SL0~SL3:
扫描信号输出线.可进行译码扫描(4选1),也可进行编码扫描(16选1),但要使用4-16译码器.若用3-8译码器的话,则扫描线为8选1.
RL0~RL7:
输入线。
它们是键盘矩阵的行信号输入线。
OUTA0~OUTA3(A组数据显示)、OUTB0~OUTB3(B组数据显示)2组引脚均是显示信息输出线(例如,向LED显示器输出的段码),它们与扫描信号线SL0~SL3同步。
2组可以独立使用,也可以合并使用。
CLK系统时钟输入线。
用于8279内部定时,以产生其工作所需的时序。
RESET复位输入线。
高电平有效。
该引脚为高电平时,8279被复位,复位后的状态如下:
a:
16个字符左边输入显示方式
b:
编码扫描键盘、双键锁定方式
CS片选线,输入、低电平有效。
当CS=0时,8279被选中,允许对其进行读、写操作;当CS=1时,禁止对8279读、写。
5、译码器74LS138
在此用于键盘的地址译码。
引脚及真值表如下所示。
图五74LS138管脚图
表574LS138译码器的真值表
6、地址锁存器74LS373
受引脚数的限制,数据线和地址线是复用的。
为了将它们分离出来,以便同外部的扩展芯片正确的相连,需要在CPU外部增加地址锁存器。
因此在这选用74LS373芯片。
它是一种带有三态门的8D锁存器,其引脚如图六所示。
引脚说明如下:
D7~D0:
8位数据输入线。
Q7~Q0:
8位数据输出线。
G:
数据输入锁存选通引脚,高电平有效。
OE:
数据输出允许引脚,低电平有效。
图六地址锁存器74LS373引脚图
7、LED数码管显示
本次课程设计采用6位七段数码显示,选用一片74LS244芯片和3片75451芯片进行驱动,采用共阴极接法。
通常采用动态扫描显示方法,即逐个地循环地点亮各位显示器.这样虽然在任意时刻只有1位显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮的效果基本一样(在亮度上要有差别).本设计就是采用此技术。
它有两种连接方法:
(1)共阳极接法:
把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连.
(2)共阴极接法:
把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地.每个发光二极管的阳极通过电阻与输入端相连.
8、键盘接口设计
采用4X4行列式键盘接口。
行列式(也称矩阵式)键盘用于按键数目较多的场合,它由行线和列线组成,按键位于行,列的交叉点上。
行线通过上拉电阻接到+5V上。
四、总结
微型计算机近几十年来得到了日新月异的发展。
随着人类迈进新的世纪,微型计算机的应用会更加广泛。
微机接口是微机与外部设备之间的桥梁和纽带。
微机接口技术是人们深入学习和利用计算机、设计和开发微机系统应用的基础。
本次设计的目的也着重于此。
第一;此次课程设计,我们在陈老师的帮助下(在此深表感谢),通过上网查资料,查阅图书馆的藏书等从而得到我们需要的资料,提高了我们的综合能力。
也提高了我们分析问题和解决问题的实践能力,更可以影响人的世界观、思维方法和工作作风。
从而提高我们的创新精神和实践能力。
第二;通过本次计使我们对8086的外围硬件设计的全过程有个初步的了解,同时加深对8086及相关的外围器件认识和理解。
从而巩固我们在课堂上所学的知识,进一步对微型计算机原理有一个系统的认识。
为将来工作岗位打下坚实的理论基础。
第三;使我们能够进一步了解微型计算机工作原理,微型计算机的硬件结构及微型计算机软件编程。
并根据接口电路的硬件要求进行计算机的汇编语言程序设计,使我们的软件编程能力得到加强,对接口电路的综合应用能力有较大提高。
五、参考文献:
1.《微型计算机原理》,(第五版)主编:
姚燕南、薛钧义
出版社:
西安电子科技大学出版社
出版或修订时间:
2005年
2.《IBM—PC汇编语言程序设计》, 主编:
沈关明、温冬娣
出版社:
清华大学出版社
出版或修订时间:
2003
3.《微型计算机原理》,(第四版)主编:
姚燕南
出版社:
西安电子科技大学出版社
出版或修订时间:
2002
4.《The