8088最小模式系统的设计_第1页
8088最小模式系统的设计_第2页
8088最小模式系统的设计_第3页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理及应用课程设计报告题目:8088最小模式系统的设计学生姓名:二学号:专业班级:计算机科学与技术08102班同组姓名:二设计时间:2011年上学期第19周指导老师意见:评定成绩:签名:日期:年月日目录一、课程设计的目的和意义1二、设计要求2三、设计环境2四、设计思路和原理2五、设计过程4六、实验源代码17七、设计总结21八、参考文献22一、课程设计的目的和意义通过课程设计加深对所学微型计算机原理及应用这门课的理解,理解CPU8088的基本系统的功能和它最小系统的工作方式,掌握8255、8259、8254等芯片的功能和应用。在课程设计中培养我们分析问题、解决问题的方法,培养较强的动手能力和

2、一定的微机应用系统的设计和调试能力。二、设计要求选用8088为CPU,用2片2764组成最小系统的ROM,2片6264组成最小系统的RAM,采用8284芯片组成系统的时钟电路,利用74LS138为译码电路;用8255,8253以及8259等芯片构成步进电机的控制系统。三、设计环境pc机一台,winxp操作系统。四、设计思路和原理8088地址总线经过3片8282锁存器进行地址锁存,A0A12分别与芯片2764和芯片6264的A0A1弛接,数据总线D0D7经过1片双向数据缓冲器8286和芯片2764和芯片6264的D0D7ffi连,这样组成了8088最小系统的存储器系统;最小系统的时钟电路用828

3、4和2MH力勺CRYSTAL体整荡器构成;定时芯片8254和中断芯片8259对8255平行接口芯片进行控制进而控制步进电机驱动电路芯片2003工作,实现对步进电机的运行控制。D2.6l33至A3I1三*A.I=t=di'学.4A6lA6lMM.傅兴0I0I30II0II最小系统步进电机控制总电路图实验执行流程图五、设计过程1. 选用8088为CPLM芯片如图:其内部结构为:IBTAINT控制逻辑CS中断屏麟寄存器ao)中断请求读与谡相服务寄存器asK)VR缴中/-比较器气数据总绒一?段;中器/CAS。CAS:CAS;内部总筑IROIMIR2通我一IR4IR5IR6IR7aw8088最小

4、模式是指构成的系统规模比较小,只含8088一个微处理器,三大总线连接比较简单。系统的地址总线除了A19A16AD7AD通过地址锁存器8282提供,系统的数据总线可由CPU的ADAAD0fi接提供,提供也可通过收发器接口芯片8286提供,一增大数据的驱动能力,这是负载情况而定。而系统的控制总线直接由CPU的控制总线提供。这样系统中与总线控制有关的逻辑电路减到了最小的程度。如下图所示S2S4ACLKRESETS-1READYVMN/TIXYALEBHE-A19-AISAD15ADO+5V32S2STBt11f收发黔'刁、32*K数据趋缓.AOE二片,;7X-IM/IORDHOLDHUDAI

5、NTRINTAl图8284A为时钟发生器,它除了给CPU®供频率包定的时钟信号CLK外,还对外部来的准备好信号RD次复位信号RESE祉行同步。引外部对这两个信号的发出是随机的,经8284内部逻辑电路在时钟脉冲下同步,被同步的准备好信号RESET"复位信号RESE戒8284A输出送至8088CPU对丁图所示系统,存储器可空间为1MB数据总线为8BIT宽,若某校系统内存只需64K,则用16根地址线就够了与工作模式无关的引脚:AD7AD0双向。三态)为低8位地址/数据的复用引脚线。采用分时的多路转换方法来实现对地址线和数据线的复用。在总线坐骑的T1状态。这些银线表示为这些银线用作

6、株距总线。可见对复用信号使用时间来加以划分的。它要求在T1状态线出现低8位地址时,用地址锁存器加以锁存。这样在随后的T状态,即使这些线用作数据线,而第8位地址线的地址在个体却被记录保存下来,并送到地址总线上。在DMA方式时,这些银线被浮置为高阻状态。A15A8(输出,三态)为8位地址线。在读写存储器或外设端口色中个总线周期内,都作为地址线输出高8位地址。在DMAT式时,这些引线被浮置为高阻。A19/S6A16/S3(输出。三态)为地址/状态服用引脚线,在总线周期的T1状态,这些银线表示为最高4位的地址线,在总线周期的其他T状态,这些银胶用作提供状态信息,同样需要地址锁存器对T1状态出现的最高4

7、位地址加以锁存。状态信息S6总是为低电平,S5反映当前允许中断标志的状态。S4与S3起指示当前那一个段寄存器被使用。在DMAT式时,这些引线被浮置为高阻。RD(输出,三态)读信号,当其有效时表示正在对存储器或I/。端口进行读操作。若IO/M为低电平,表示读取存储器的数据,若IO/M为高电平,表示读取I/O端口的数据。在DMAT式时,这些引线被浮置为高阻。READY输入)为准备就绪信号。低电平有效。本信号由等待指令WAIT来检查。我们知道当CPLM行WAIT指令时,CPLM于等待状态,一旦检测到TEST为低,M结束等待状态,继续执行WAIT指令下面的指令。(6)TEST(输入)为检测信号,低电平

8、有效。本信号由低呢古代指令WAIT来检查。我们知道当CPLM行WAIT指令时,CPlfe于等待状态,一旦检测到TEST为低,M结束等待状态,继续执行WAIT指令下面的指令。INTR(输入)可屏敝中断请求信号,局电平有效。CPlft执行每条指令的最后一个T状态时,去采样INTR信号,若发现有效,而中断允许标志IF有为1,则CPUft结束当前指令周期后相应中断请求,赚取执行中断处理程序。(8)NMI(输入)非屏幕中断请求信号,为一个边缘触发信号,不能有软件加以屏蔽。只要在NMI线上出现由低到高的变化信号,则CPLM会在当前指令中,赚取之行给屏蔽中断处理程序。RESET(输入)复位信号,高电平有效,

9、复位时该信号要求维持高电平值到4个时钟周期,若使初次加电,则高电平信号至少要保持50us,复位信号的到来,将立即结束CPU勺当前操作,内部寄存器恢复到初始状态。当RESEG号从高电平回到低电平时,及复位后进入重新启动时,变质型从内存FFFF0晦带式的指令,通常在FFFF0F#放一条无条件转移指令,转移到系统程序的实际入口处。这样只要系统被复位启动,就自动进入系统程序。(1。)CLK俞入)时钟信号,它为CPLW总线控制电路提供基准时钟,对时钟信号要求:1/3周期为高电平,2/3周期为低电平。8088的标准时钟频率为5MZ(11)电源和地VC4电源引线,单一的为+5V电源。弓|脚为1和20为两条G

10、N幽,要求均要接地。(12)M*MX(输入)为最小/最大模式信号,它决定8088的工作模式。将此引线接电源5V,则8088工作与最小模式,若此引线接地,则8088工作在最大模式。引脚2431在不同模式下有不同的功能含义。下面分别加以介绍。最小模式下的引脚:当把MN/M泻|脚连至电源,8088处与最小模式,此时引脚2431的功能含义如下述。(1)INTACPW外输出的中断响应信号,用于对外部中断与发出中断请求的响应。中断响应周期由连个连续的总线周期组成,在每个响应周期的T2,T3和TW犬态,INTA均为有效,在第二个中断响应周期,外设端口网数据总线上发送中断类型号,CPlfi据中断向量而转向中断

11、处理程序。ALE地址锁存允许信号,高电平有效。在总线州的T1状态,当地质/数据复用点AD5AD0和地质/状态服用线A19/A6A16S3上出现地址信号时,CPI®供ALE有效电平,将地址信息锁存到地址锁存器中。(3)DEN数据允许信号。在使用8286/8287数据树发起的最小模式系统中,在存储器访问周期,I/O访问周期或中断响应周期,此信号有效,用来作为8286/8287数据收发器的输出允许信号,即允许收发器和系统数据总线进行数据传送。在DMAJ式时,此线被浮置为高阻。DT数据发送/接收控制信号。在使用8286/8287数据收发器的最小模式系统中,用DTZR来控制数据传送方向。DT7

12、R为高电平,进行数据发送,及收发器把数据送系统数据总线,而当DTZR为低电平,进行数据接收,及收发器把系统数据总线上的数据读进来了。当CPLM与DMAJ式时,此线浮空。IO/M访问存储器或I/。端口的控制信号。若IO/M为高电平,则访问的是I/O端口;若IO/M为低电平,则访问的是存储器。WR写信号。当其有效时表示CPLK在对存储器或I/。端口进行写操作,具体对水进行写操作,有IO/M信号决定。本信号在总线周期的T2,T3。TW犬态有效。在DMAJ式时,此线被浮置为高阻。(7) HOLD总线保持请求信号。当系统中CPM外的总线主设备要求占用总线时,通过HOLLSI县向CPU发出高电平的请求信号

13、,如果CPU允许让出总线,则在当前周期的T1状态,向HLD腐艮线输出一高电平信号作为相应。同时使地址总线,数据总线和相应的控制线处丁负控状态,则总线请求主设备取得了对总线的控制权。一旦总线使用完毕,总线请求主设备让HOL庭为低电平。CPia测到HOLDM氐后,把HLD趾只为低电平,CPUt多的了对总线的控制权。(8) HLDA总线保持相应信号。当HLDA效时,表示CPiM总线请求主设备作出相应,用移让出总线,与CPU连的三态银线都被估值为高阻态。(9) SSO系统状态信号,它与IO/MDT7R共同组合放映当前总线周期执行的是什么操作。2. 选用3片8282为地址锁存器,如图:0ESTB输出1X

14、高阻01DOi-DIi0Wt图4.24驼&的管脚信号与真值将8088的20位地址和BHE新号分为3组,和3片8282的DI7DIo连接,CPU的地址锁存使能ALE与8282的STB端相连。在ALE的下降沿时,对地址信号进行锁存。地址锁存器8282相当丁8个D触发器。从真值表可以看出,当OE物高,DODO为高阻状态。当OE物低STB为高时,8282的输出等丁输入,8282的输出信号DODO与输入信号DI7DIo相等。当STB由高变低,信号被锁存。OE物高电平时,8282的输出为高阻态,OE物低,DODO有效。具体细节可以参见图4.2.5的真值表。3. 选用2片2764和2片6264构成最

15、小系统的存储器,如图:XXwBiwmIMim罗:mtII8088CPU勺地址总线为A0A1§数据总线为D0D7RD为读信号,低电平有效,有效时表示CPLE在执行从存储器输入操作。W初写信号,低电平有效,有效时表示CPLE在执行向存储器输出操作。选用的RO嘿块芯片为EPROM2764容量为8K*8。该芯片引脚说明如下:A0A12为地址线,000初数据线,CE为片选信号,0E为数据输出允许信号。PG则编程控制信号,Vpp为编程电压,正常输出时PGMffiVpp均接+5V,工作电压Vcc为+5V。选用的RAM模块芯片为SRAM6264容量为8K*8。该芯片引脚说明如下:A0A12为地址线,

16、0007为数据线,CS1为第一片选信号,低电平有效,CS2为第二片选信号,高电平有效,只有CS1和CS2同时有效时,芯片才被选中。R0嘿块的地址为000H3FFFHRAM模块的地址为8000HBFFFHa钟频率为2MHz74LS138的真值表如下:输入输出§&其&I;匕匕0XXEX111111iiX1XXX111111ii10Q000111111110001101111ii10Q10110111ii10011111011ii10100111101ii1010111111aii1011011111i0i101111111111074LS138的片选信号引脚G1接+5V,

17、G2b接地,G2a与8088的册I脚连接,只有这个引脚为有效电平时,译码器才允许译码输出。高位地址A13A14A15分别连到74LS138的A、BC输入端,输出Y0为U32的片选信号,Y1为U33的片选信号,Y4、Y5分别为U34U35的片选信号。一个系统有多个接口,那么在数据线上就需要使用驱动器和收发器。这样,不仅可以简化对接口的要求,而且可提高数据线驱动能力和承受电容负载的能力。8286收发器的引脚图如上所示。8286有8路双向缓冲电路,两组数据的引脚是对称的。A7-A0用丁输入,B7-B0用丁输出;也可以反向传送,即B7-B0用丁输入,A7-A0用丁输出。输出允许信号OE决定是否允许数据

18、通过8286,发送引脚T控制数据的方向。当OE为高电平时,8286在两个方向都不能传送数据。当OE为高电平且T为高电平时,A7-A0为输入;而OE为低电平且T为低电平时,B7-B0为输入。两片8286的OE引脚与8086的数据允许信号DEN®连,发送引脚T与8086的数据收发信号DT/R相连。与8286的B数据端相连的16条数据线D0-D15即为系统的数据总线。这样,当CPU向地址数据总线上发送地址信息期间,无论是读周期还是写周期,加在O闵上的DEMJ号都为高电平,使8286呈高阻状态,阻止地址信息通过8286进入系统数据总线。只有当CPU撤销地址数据总线上的地址信息后,DENf言号

19、才由高电平变为有效低电平,允许数据通过8286进行传送。如果是读周期,加在端的DTR信号在整个总线周期内保持低电平,8286进行反向传送,把被访问的存储单元或I/O端口的数据信息经过8286传送给CPU若是写周期,DT/R信号在整个总线周期内保持高电平,8286进行正向传送,把CP*地址数据总线上发出的数据信息经过8286传送给系统的数据总线。5.8284时钟电路,如下图:8284时钟发生器除了提供频率包定的时钟信号外,还具有复位信号发生电路和准备好信号控制电路。复位信号发生电路产生系统复位信号RESET准备好信号控制电路用丁对存储器或IO接口产生的准备好信号READYS行同步。供给8284A

20、的频率源可来自脉冲发生器,也可来自振荡器。如果F/C接+5V,则由EFI输入决定时钟频率;如FC接地,便由振荡器决定时钟频率。不管在何种情况,时钟输出CLK的频率是输入频率的1/3。6.定时器8254,如图:IIGnr8254是8253的改进型。它的引脚、工作方式与8253完全相同。改进主要在两个方面:一是8254的计数频率更高,可达6MHZ8254.2的计数频率可达10MHz二是8254多了一个读回命令,该命令可将选择的计数器的状态字和(或)当前计数值锁存,供CPU®取。读回命令的格式和含义如图6.25所示。该命令字的D3D1某位为1表示选择相应的计数器;D5为0表示锁存所选择的计

21、数器的当前值;D4为0表示锁存所选择的计数器的状态。该命令字是写入控制字端口的。读回命令对某个计数器进行状态锁存,则接着可从该计数器端口读取一个状态字。状态字的格式和含义如图6.26所示。该状态字的低6位实际是对该计数器进行设置的方式控制字的相应内容;D7位是该计数器输出端OUT的当前状态;D6位反映预置的初值是否已写入计数器中,该位是状态字中最常用的位,也是8254最具特色的位。例如,将脉冲式电表的输出作计数器的输入,当统计各用户的用电量时,可能有的用户一直未用电,电表没有输出一个脉冲,这样预置的初值就不能装入。在这种场合下,如果使用没有状态字的8253,程序处理起来将相当麻烦,而用8254

22、则非常方便。7.8259中断芯片:8259A可以管理8级中断,可以将中断源优先级排队,辨别中断源,提供中断欠量。在级连使用时,可以构成64级中断系统。8259A的编程,就是根据需求,向8259A芯片中写入初始化命令字ICW1-ICW4以及操作命令字OCW1-OCWO个8259A芯片共有中断请求(IRQ)信号线:IRQ0IRQ7共8根。在PC机中,共有两片8259A芯片,通过把它们联结起来使用,就有IRQ0IRQ15共16根中断信号线,每个外部设备使用一根或多个外部设备共用一根中断信号线,它们通过IRQ发送中断请求,8259A芯片接到中断请求后就对中断进行优先级选定,然后对多个中断中具有最高优先

23、级的中断进行处理,将其所对应的中断向量送上通往CPlffi数据线,并通知CPUW中断到来。8.8255并行接口芯片如图:、RESET:复位输入线,当该输入端外丁局电平时,所有内部寄存器(包括控制寄存器)均被活除,所有I/O口均被置成输入方式。PASPA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。PBSPB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。PCAPC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端

24、口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU®行通讯。RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPLK送数据或状态信息,即CPU从8255读取信息或数据。WR写入信号,当这个输入引脚为低电平时,允许CPUB数据或控制字写8255。D0D7:三态双向数据总线,8255与CP嗷据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。A1,A08,9地址总线的最低2位。用于决定断口地址:如A1A0为00,是A口:A

25、1A0为01,是B口:A1A0为10,是C口:A1A0是11,是控制字寄存器D7D02734双向数据总线PA7PA0374014A口的8位I/O引脚PB7PB02518B口的8位I/O引脚PC7PC010131714C口的8位I/O引脚数据总线缓冲器:是一个8位的双向三态驱动器,用于与单片机的数据总线相连。读/写控制逻辑:根据单片机的地址信息(A1A0)与控制信息(RDWRRESET,控制片内的数据,CPU空制字,夕卜设状态信息的传送。表58255的口操作状态A1A0输入操作(读)00010A口一-一数据总线01010B口一-一数据总线10010C口一-一数据总线输出操作(写)00100数据总

26、线-A口01110数据总线一一B口10100数据总线一C口11100数据总线一一控制口禁止操作1数据总线为三态11010非法状态010数据总线为三态方式0(基本输入/输出方式):这种工作方式不需要任何选通信号。A口,B口及C口的两个4位口中任何一个端口都可以由程序设定为输入或者输出。作为输出口时,输出数据被锁存:作为输入口,输入数据不锁存。方式1(选通输入/输出方式):在这种工作方式下,A,B,C三个口分为两组。A组包括A口和C口的高四位,A口可由编程设定为输入口或者输出口,C口的高四位则是用来作为A口输入/输出操作的控制和同步信号:B组包括B口和C口的低四位,B口可由编程设定为输入口或者输出

27、口,C口的低四位则是用来作为B口输入/输出操作的控制和同步信号。A口和B口的输入或者输出的数据都被锁存。方式2(双向传送方式)在这种方式下,A口可以用于双向传送,C口的PC3PC74用来作为输入/输出的控制同步信号。应该注意的是,只有A口允许用作双向传送,这时B口和PC0PC刎可编程为方式0或者方式1工作。9.步进电机和驱动电路芯片2003:1利用8255的PB口低四位来控制脉冲的加入,接步进电机控制电路2003的A、B、C、D,C、D,将2003模块的CO戚+5V,将步进电机的1、2、3、4脚接步进电机控制电路2003的OAOBOCOD引脚5、6接+5V。扳动8个开关,可以控制步进电机转速。

28、六、实验源代码1.数据段代码DATASEGMENTioportEQU0c800h-0280h;0c800h是I/O端口的基本地址P55AEQUioport+288H;定义P55A为8255A端口的地址(A口做输出)P55CEQUioport+28AHP55CTLEQUioport+28BH;定义P55C为8255C端口的地址(C口做输入);定义P55CT京8255控制字端口的地址BUFDB0;定义一个字节数据(用来存入开关的状态)MESDB'K0-K6ARESPEEDCONTYOL',0AH,0D用入一些文字用来描述DB'K6ISTHELOWESTSPEED',

29、0AH,0DH;各个开关所代表的速度DB'K0ISTHEHIGHESTSPEED',0AH,0DH;K0为最低速,K6为最高速DB'K7ISTHEDIRECTIONCONTROL',0AH,0DH,'$'K7为方向键DATAENDS2.代码段代码CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,CODEMOVCS,AXMOVAX,DATAMOVDS,AX;程序的初始化(给CS,DS赋值)MOVDX,OFFSETMESMOVAH,09INT21H;显示各个开关的信息MOVDX,P55CTLMOVAL,8BH;(

30、8BH=10001011B为控制字)OUTDX,AL;A口做输出,C口做输入送33H到A口输出给后面电机的正反转提供初只调用BIOS功能的INT16的1号功能,判断是否按下如果有则返回DOS如果没有判断开关的状态。MOVBUF,33HOUT1:MOVAL,BUFMOVDX,P55AOUTDX,AL;间接寻址获得AL的值pushdxMOVAH,06hmovdl,0ffhINT21H;检查是否有键按下popdxJEIN1;有键按下就停止,没有则转向IN1去执行MOVAH,4CHINT21HIN1:MOVDX,P55CINAL,DX;获得各个开关的状态TESTAL,01HJNZK0TESTAL,02HJNZK1TESTAL,04HJNZK2TESTAL,08HJNZK3TESTAL,10HJNZK4TESTAL,20HJNZK5TESTAL,40HJNZK6;检查各个开关的状态,分别转向相应的程序STOP:MOVDX,P55AMOVAL,0FFHJMPOUT1;置停止信息并转向OUT1判断完状态则跳转到执行的程序献给BL复制实现岩石时间控制转速然后判断K7的状态是1还是0。K0:MOVBL,10HSAM:TESTAL,80H;继续判断K7是否为0JZZX0;为0就转向ZX0(循环右移程序)JMPNX0;为1就转向NX0(循环左移程序)K1:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论