微机原理课程设计用8088构成最小系统Word格式.docx
《微机原理课程设计用8088构成最小系统Word格式.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计用8088构成最小系统Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
![微机原理课程设计用8088构成最小系统Word格式.docx](https://file1.bdocx.com/fileroot1/2023-2/5/96e31e47-10b2-4ece-ba26-ccb7c0473265/96e31e47-10b2-4ece-ba26-ccb7c04732651.gif)
(2)用0809组成8位温度A/D变换接口电路
(3)用0832组成8位D/A变换接口电路驱动直流电机
(4)用8255和8253组成步进电机控制电路
(5)用两片2764完成ROM的扩展,设计地址分配译码电路,地
址为FFFF0H~FFFFFH
(6)用两片6264完成RAM的扩展,设计地址分配译码电路,地址为0000H~3FFFH
·
系统的总体组成
1处理器芯片选用8088,当8088的MN/MX引脚接+5V电压时,8088工作在最小方式下。
1时钟发生器采用8284A芯片
②主微处理器CPU选用8088芯片
③总线锁存器采用74LS373,用ALE的下降沿锁存。
由于8088中地址线有20条,所以地址锁存要三个8282。
④数据收发器用来对数据进行缓冲和驱动,并控制数据发送和接收方向,向CPU传送IO的数据或向IO传送CPU提供的数据。
同样由于8088中数据线只有8条,所以数据收发器只要一个8286就可以了。
⑤地址译码器采用74LS138,用地址线的高三位(即A19、A18、A17三位)。
译码输出Y0-Y7,共可以控制8个I/O芯片
在最小方式下,8088CPU会直接产生全部总线控制信号。
2)只读存储器采用ROM芯片2764(或27128),随机存储器6264(或62128)
3)A/D转换采用0809芯片
4)用0832D/A转换芯片的模拟信号去驱动直流电机
5)8253+8255去控制步进电机
6)显示器控制电路
7)键盘控电路
8)时钟电路、加电复位和复位电路。
9)地址分配
ROM1:
0000H~1FFFH
ROM2:
2000H~3FFFH
8254:
4000H~
计数器4010H+00H计数器1:
4010H+01H计数器2:
4010H+02H
控制寄存器:
4010H+03H
8255:
4010H
A口:
4020H+00HB口:
4020H+01HC口:
4020H+02H控制寄存器:
4020H+03H
0809:
4020H
0832:
4030H
RAM1:
8000H~9FFFH
RAM2:
A000H~BFFFH
ROM:
0000H—3FFFH
RAM:
8000H--BFFFH
AD:
00H—07H
DA:
40H—41H
键盘相关:
100H—103H
显示相关:
140H—141H
步进电机相关:
200H—207H
功能描述:
在最小方式下,8088CPU产生全部总线控制信号,由2764和6264构成了16KB的ROM和16KB的RAM,在此基础上,分别实现接口逻辑
一·
8088CPU及其引线功能
8088CPU是一块具有40条引出线的集成电路芯片,其个引出线的定义如图1,,所示。
为了减少芯片的引线,有许多引线具有双重功能,采用分时复用的工作方式,及在不同的时刻,这些引线上的信号是不同的。
同时,8088CPU上有MN/MX输入引线,用以决定8088CPU工作在哪种模式下,当MN/MX=1时,8088CPU工作在最小模式下。
此时,构成的微型机中包括一个8088CPU,且系统总线由CPU的引线形成,微型机所用的芯片最少。
当MN/MX=0是,8088CPU工作在最大模式下。
在此模式下,构成的微型计算机中除了有8088CPU之外,还可以接另外的CPU(如8087),构成多微处理器系统。
同时,这时的系统总线要由8088的CPU的引线和总线控制器(8288)共同形成,可以构成更大规模的系统。
图1 8088微处理器引线图
8088最小模式下的引线
在最小模式下,8088CPU的引线如图1所示,(不包括括号内的信号),它们是:
A16~A19/S3~S6:
这是4条时间复用,三态输出的引线,在8088CPU执行指令的过程中。
某一时刻从这4条线上送出地址的最高4位—A16~A19,而在另外的时刻,这四条线送出状态S3~S6。
这些状态信息里,S6始终为低,S5指出状态寄存器中的中断允许标志的状态,它在每个时钟周期开始时被更新,S4和S3用来指示CPU现在使用的段寄存器。
在CPU进行输入输出操作时,不使用这四位地址,故在送出地址的时间里,这4条线输出低电平。
在一些特殊的情况下(如复位或DMA操作时),这4条线还可以处于高阻(或浮空或三态)状态。
A8~A15:
它们是三态输出引线,在CPU寻址内存或接口时,由这些引线送出地址A8~A15,在某种特殊情况下,这些引线也可以处于高阻状态。
AD0~AD7:
它们是地址·
数据分时复用的输入输出信号线,其信号是经三态门输出地,由于8088微处理器只有40条引脚,而它的数据线为8位,地址线为20位,因此引线数不能满足输入输出的要求。
于是在CPU内部就采用时分多路开关,将低八位地址信号和8位数据信号综合后。
通过8条引脚输入输出,利用定时信号区分是是数据信号还是地址信号。
通常CPU在读写存储器和外设时,总是要先给出存储单元的地址或外设单元的地址,然后才读写数据,因此地址数据在时序上是有先后的.
IO/M:
它是CPU的三态输出控制信号,用于区分当前操作是访问存储器还是访问IO端口,若引脚输出低电平,则访问存储器,若引脚输出高电平,则访问IO端口。
WR:
它是CPU的三态输出控制信号,该引脚输出低电平时,表示CPU正处于写存储器或写IO端口的状态。
DT/R:
它是CPU的三态输出控制信号,用于确定数据传送的方向。
高电平为发送方向,低电平为接收方向。
DEN:
这是CPU经三态门输出的控制信号,该引脚为低电平时,表示数据总线上有有效的数据。
它在每次访问内存或接口以及在中断响应期间有效。
它常用作数据总线驱动器的片选信号。
ALE:
三态输出控制信号,高电平有效,当它有效时,表明CPU经其引线送出有效的地址信号,因此,它常作为锁存控制信号讲A0~A19锁存于地址锁存器的的输出端。
RD:
它是读选通三态输出信号,低电平有效,当其有效时表示CPU正进行存储器的读或IO口的读操作。
READY:
它是准备就绪输入信号,高电平有效,当CPU对存储器和IO口进行操作时,在T3周期开始采样READY信号,若其为底,表明被访问存储器或IO口还未准备好数据,则应在T3周期以后插入TWAIT(等待周期),然后在TWAIT周期中采样READY信号,直到READY信号有效,TWAIT信号才可以结束,进入T4周期,完成数据传送。
INTR:
它是可屏蔽中断请求输入信号,高电平有效,CPU在每条指令执行的最后一个T状态采样该信号以决定是否进入中断响应周期。
TEST:
它是可用WAIT指令对该引脚尽心测试的输入信号,低电平有效,当该信号有效时,CPU继续执行程序,否则CPU进入等待状态,这个信号在每个时钟周期的上升沿由内部电路进行同步。
NIM:
它是非屏蔽输入中断信号,边沿触发,上升沿有效,这条引脚上的信号不能用软件进行屏蔽,所以由高到低的变化将使CPU在执行指令结束后就引起中断。
RESET:
它是CPU的复位输入信号,高电平有效,为使CPU完成内部复位过程,该信号至少在4个时钟周期内保持有效。
INTA:
它是CPU输出地中断响应信号,是CPU对外部输入的INTR中断请求信号的响应,在响应中断的过程中,由INTR引出端送出两个负脉冲,可用做外部中断源的中断向量码的读选通信号。
HOLD:
它是高电平有效的输入信号,用于向CPU提出保持请求,
HLDA:
这是CPU对HOLD请求的响应信号,是高电平有效的输出信号。
当CPU收到有效的HOLD信号后,就会对做出响应:
一方面使CPU的所有三态输出地地址信号·
数据信号和相应的控制信号变为高阻状态;
同时还输出一个有效的HLDA,表示处理器已放弃对总线的控制。
当CPU检测到HOLD信号为底时,就立即使HALD信号变低,同时恢复对总线的控制。
SSO:
该信号对8088的34脚,是一条状态输出线,低电平有效。
它与IO/M和DT/R一起决定最小模式下现行总线周期的状态。
SSO与IO/M、DT/R的组合及对应的操作见下表。
M/IODT/RSSO操作
100中断响应
101读I/O端口
110写I/O端口
111暂停(Halt)
000取指令操作码
001读存储器
010写存储器
011无源
CLK:
这个是时钟信号输入端,由它提供CPU和总线控制器的定时信号,8088的标准时钟频率为5MHz。
Vcc:
它是5V的电源输入引脚
GND:
它是接地端。
二8088CPU的内部结构
8088微处理器的内部结构分为两部分:
执行单元(EU)和总线接口单元(BIU)。
(如图2所示)EU单元负责指令的执行,它包括运算器(ALU),通用寄存器和状态寄存器等,主要进行16位的各种运算及有效地址的运算。
BIU单元主要负责与存储器IO口设备的接口。
它由段寄存器指令指针地址加法器和指令队列缓冲器组成。
地址加法器将段和偏移地址相加,生成20位的物理地址。
图28088微处理器内部结构
8088内部寄存器
数据寄存器
8088有4个16位的数据寄存器,可以存放16位的操作数,它们在需要的时候,可分为8个8位寄存器来用,这样就大大增加了使用的灵活性
指针寄存器
8088的指针寄存器有两个:
SP和BP,SP是堆栈指针寄存器,由它和堆栈寄存器一起来确定堆栈在内存中的位置,BP是基数指针寄存器。
通常用于存放基地址。
以使8088的寻址更加灵活
变址寄存器
SI是源变址寄存器,DI是目的变址寄存器,都用于指令的变址寻址。
SI指向源操作数,DI指向目的操作数
控制将寄存器
8088的控制寄存器有两个:
IP,PSW。
IP是指令指针寄存器,用来控制CPU的指令执行顺序,它和代码段寄存器CS一起可以确定当前所取的指令的内存地址。
顺序执行程序时,CPU每取一条指令字节,IP自动加1,指向下一个要读取的字节,当IP单独改变时,会发生段内转移。
当CS和IP同时改变时,会产生段间的程序转移。
PSW是处理机状态字,或状态寄存器标志寄存器,用于存放8088CPU在工作过程中的状态,该寄存器是一个16位的寄存器。
8088使用了其中的9位。
C(进位标志)有进位或借位时为1,否则为0;
P(奇偶标志位)当结果中低8位中1的个数为偶数时为1,否则为0;
A(半加标志位)在加法时当位3需向位4进位或借位时为1,否则为0;
Z(零标志位)运算结果为0时,该位为1,否则为0;
S(符号标志位)运算结果的最高位为1,则为1,否则为0;
T(陷进标志位);
I(中断允许标志位)该位为1,处理器响应可屏蔽中断,否则不能响应;
D(方向标志位)当该位为1时,串操作指令为自动减量指令,及从高地址到底地址处理字符串,否则串操作指令为自动增量指令;
O(溢出标志位)。
段寄存器
8088有4个段寄存器:
代码段寄存器CS,数据段寄存器DS,堆栈段寄存器SS和附加段寄存器ES
三.常用芯片介绍:
地址锁存器8282(74LS373)
有8个数据输入端和8个数据输出端
两个控制引脚:
选通信号STB和输出允许信号OE
数据双向收发器8286(74LS245)
有8路双向缓冲电路
方向控制T和输出允许信号OE
6264(SRAM)的引脚
6264是8K×
8SRAM
A0~A12:
为13根地址线
D0~D7:
为8位数据线。
CS1和CS2:
为片选信号,CS1=0,CS2=1时,才能选中芯片。
OE:
为输出允许信号,只有在/OE=0时,即其有效时,才允许该芯片将某单元的数据送到芯片外部的D0~D7上。
WE为写信号,当WE=0时,允许将数据写入芯片,当WE=1时,允许芯片的数据读出。
2764(EPROM)的引线、功能
2764EPROM存储器容量为64K,结构为8K*8。
A0~A12:
13条地址线,
D0~D7:
8条数据线。
CE和OE:
为控制信号有片选引脚,低电平有效时,分别选中芯片和允许芯片输出数据。
2764的编程由编程控制引脚/PGM和编程电源Vpp控制,在编程时,对引脚加较宽的负脉冲;
在正常读出时,该引脚应该无效。
在正常工作时,要求Vpp接+5V;
在编程状态时,要求Vpp接+25V作为编程电压
中断控制器8259A
并行接口芯片8255A
RESET:
复位输入线
CS:
芯片选择信号线CS=0时,表示芯片CS=1时,8255无法与CPU做数据传输.
RD:
读信号线,RD=0且CS=0时,CPU从8255读取信息或数据。
WR=0且CS=0时,允许CPU将数据或控制字写入8255。
D0~D7:
三态双向数据总线,8255与CPU数据传送的通道
PA0~PA7:
端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
工作于三种方式中的任何一种;
PB0~PB7:
端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
不能工作于方式二;
PC0~PC7:
端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。
不能工作于方式一或二。
8255具有3个相互独立的输入/输出通道端口
A1
A0
A端口
1
B端口
C端口
控制寄器
数模变换器0832
DAC0832是8位D/A转换器,它采用CMOS工艺制作,具有双缓冲器输入结构,其引脚排列如图所示,
DAC0832各引脚功能说明:
DI0~DI7:
转换数据输入端。
、
CS:
片选信号输入端,低电平有效。
ILE:
数据锁存允许信号输入端,高电平有效。
WR1:
第一写信号输入端,低电平有效,
Xfer:
数据传送控制信号输入端,低电平有效。
WR2:
第二写信号输入端,低电平有效。
Iout1:
电流输出1端,当数据全为1时,输出电流最大;
当数据全为0时,输出电流最小。
Iout2:
电流输出2端。
DAC0832具有:
Iout1+Iout2=常数的特性。
Rfb:
反馈电阻端。
Vref:
基准电压端,是外加的高精度电压源,它与芯片内的电阻网络相连接,该电压范围为:
-10V~+10V。
VCC和GND:
芯片的电源端和地端。
四.电路介绍
8088最小系统地址总线、数据总线、控制总线的形成
8088的MN/MX信号线接至+5V时,系统就处于最小工作模式,即单处理器系统方式,它适合与较小规模的应用。
8088最小模式典型的系统主要由8088CPU时钟发生器8284、地址锁存器8282及数据总线收发器8286组成。
由于地址与数据、状态线分时复用,系统中需要地址锁存器。
地址锁存信号ALE控制8282的STB,用8282锁存器产生地址总线;
用8286收发器产生缓冲的数据总线。
8088的DEN信号作为8286的输出允许信号面,仅当DEN为低电平时,允许数据经8286进行传送;
8088的DT/R信号用来控制数据传送的方向,接至8286的引脚T。
当DT/R=1时,CPU向数据总线发送数据,当DT/R=0时,则CPU接收来自系统总线上的数据。
数据线连至内存及I/O接口,需用数据总线收发器作驱动。
在控制总线一般负载较轻,不需要驱动,故直接从8088引出。
8088工作与最小模式,此时8088CPU提供所有的总线控制信号,以实现与存储器、I/O接口的选择。
在最小组态时,系统总线可分为几个基本部分:
地址总线、数据总线、控制与状态信号、中断与DMA信号。
2·
存储器电路及译码电路设计
8088最小系统中,地址总线为A0~A19,数据总线D0~D7,对SRAM的控制信号有/WR,/RD,IO/M。
当IO/M为低电平时,表示cpu对存储器传送数据。
/RD为读信号,低电平有效,/RD有效时表明cpu正在执行从存储器或IO口的输入操作数据。
/WR为写读信号,低电平有效,/WR有效时表明cpu正在执行从存储器或IO口的输出操作数据。
在该设计中选用的ROM模块芯片为EPROM2764,容量为8K*8。
RAM模块芯片为SRAM6264,容量为8K*8。
系统要求由16KB的ROM和16K的RAM组成。
16KB的ROM需要两片2764芯片,16K的RAM需要两片6264芯片。
下图给出了8088最小系统组成的16K的ROM和16K的RAM存储器逻辑图。
图中U1和U2两片2764构成16K的ROM模块;
U3和U4两片6264组成16K的RAM模块。
地址总线A0~A12作为片内地址分别连接到U1,U2,U3和U4的相应地址线引脚上。
数据线D0~D7作为分别连接到U1,U2,U3和U4的相应数据线引脚上。
读信号/RD连接到U1,U2,U3和U4的/OE引脚上,写信号/WR连接到两片6264芯片的/WE引脚上。
6264选引脚CS2接+5V。
4个芯片的片选信号由74LS138译码器产生。
8位A/D变换接口电路
在进行A/D变换时,路地址应先送到ADDA~ADDC输入端。
然后在ALE上输入端加一个正跳变脉冲,将路地址锁存到ADC0809内部的路地址寄存器中。
这样,对应路的模拟电压输入就和内部变换电路接通。
为了启动变换工作序列,必须在START端加一个负跳变信号。
此后变换工作就开始进行,标志ADC0809正在工作的状态信号EOC由高电平(闲状态)变成为低电平(工作状态)。
一旦变换结束,EOC信号就又由低电平变成高电平。
此时只要在OE端加一个高电平,即可打开数据线的三态缓冲器,从D0~D7端数据线读得一次变换后的数据。
8位D/A变换接口DAC0832内部有两个寄存器,而这两个寄存器的控制信号有五个,输入寄存器由ILE、CS、WR1控制,DAC寄存器由WR2、Xref控制,用软件指令控制这五个控制端可实现三种工作方式:
直通方式、单缓冲方式、双缓冲方式。
三种工作方式区别是:
直通方式不需要选通,直接D/A转换;
单缓冲方式一次选通;
双缓冲方式二次选通。
5.步进电机控制电路
使用芯片82558259控制
6.8259中断实验电路
一个外部中断请求信号通过中断请求线IRQ,传输到IMR(中断屏蔽寄存器),IMR根据所设定的中断屏蔽字(OCW1),决定是将其丢弃还是接受。
如果可以接受,则8259A将IRR(中断请求暂存寄存器)中代表此IRQ的位置位,以表示此IRQ有中断请求信号,并同时向CPU的INTR(中断请求)管脚发送一个信号。
但CPU这时可能正在执行一条指令,因此CPU不会立即响应。
而当这CPU正忙着执行某条指令时,还有可能有其余的IRQ线送来中断请求,这些请求都会接受IMR的挑选。
如果没有被屏蔽,那么这些请求也会被放到IRR中,也即IRR中代表它们的IRQ的相应位会被置1。
当CPU执行完一条指令时后,会检查一下INTR管脚是否有信号。
如果发现有信号,就会转到中断服务,此时,CPU会立即向8259A芯片的INTA(中断应答)管脚发送一个信号。
当芯片收到此信号后,判优部件开始工作,它在IRR中,挑选优先级最高的中断,将中断请求送到ISR(中断服务寄存器),也即将ISR中代表此IRQ的位置位,并将IRR中相应位置零,表明此中断正在接受CPU的处理。
同时,将它的编号写入中断向量寄存器IVR的低三位,这时,CPU还会送来第二个INTA信号,当收到此信号后,芯片将IVR中的内容,也就是此中断的中断号送上通向CPU的数据线。
PCB
五.心得与总结
为了完成本次微机原理课程设计的任务,我通过查阅图书馆相关资料和书籍,自己学习DXP的基本使用,并复习了之前所学的《微型计算机原理》与计算系统及其总线形成这部分内容。
Prote99se是设计电路的常用软件,本次课程设计旨在学会使用该工具软件进行电路原理图的设计。
在使用软件的第一步,我就遇到了prote99se与Win7系统的兼容性问题,导致prote99里无法用电路所需元件。
与同学上网查阅相关问题,找到了解决办法。
在之后的设计电路过程,我遇到了很多问题,但都一一解决,在应用软件的过程中,我深深体会到了把课本上的知识与应用于实际之间的差别。
通过本次微机原理课程设计,我加深了对微机原理相关知识的掌握,又一次锻炼了自己的动手能力,同时也见识到了DXP工具软件丰富的元件库和强大的能力,但进行熟练的操作和使用还需要今后的深入学习。
参考文献
1.李伯成《微型计算机原理与接口技术》北京:
电子工业出版社2002
2.王永山等《微型计算机原理》西安:
西安电子科技大学出版社2000
3.陈卫红《微型计算机基本原理与接口技术》北京:
科学出版社2003