0微机原理课程设计学号:04113024班级:041131姓名:何怡1目录概述…………………………………………………………一.8088CPU及其引线功能………………………………………二.8088CPU的内部结构…………………………………………三.芯片介绍……………………………………………………1·地址锁存器8282(74LS373)…………………………………………2·数据双向收发器8286(74LS245)………………………………3·6264(SRAM)的引脚………………………………………………4·2764(EPROM)的引线、功能……………………………………5·中断控制器8259A………………………………………………6·并行接口芯片8255A……………………………………………7·数模变换器0832…………………………………………………四.电路介绍………………………………………………1·8088最小系统地址总线、数据总线、控制总线的形成…………………………………………………………………2·存储器电路及译码电路设计…………………………………3·8位A/D变换接口电路………………………………………4·8位D/A变换接口驱动直流电机……………………………25·步进电机控制电路…………………………………………186·8259中断实验…………………………………………………19五.设计心得………………………………………………20概述一、课程设计的要求(1)用8088构成最小系统,完成数据总线,地址总线,控制总线的电路设计(2)用0809组成8位温度A/D变换接口电路(3)用0832组成8位D/A变换接口电路驱动直流电机(4)用8255和8253组成步进电机控制电路(5)用两片2764完成ROM的扩展,设计地址分配译码电路,地址为FFFF0H~FFFFFH(6)用两片6264完成RAM的扩展,设计地址分配译码电路,地址为0000H~3FFFH3·系统的总体组成1处理器芯片选用8088,当8088的MN/MX引脚接+5V电压时,8088工作在最小方式下。①时钟发生器采用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会直接产生全部总线控制信号。42)只读存储器采用ROM芯片2764(或27128),随机存储器6264(或62128)3)A/D转换采用0809芯片4)用0832D/A转换芯片的模拟信号去驱动直流电机5)8253+8255去控制步进电机6)显示器控制电路7)键盘控电路8)时钟电路、加电复位和复位电路。9)地址分配ROM1:0000H~1FFFHROM2:2000H~3FFFH8254:4000H~计数器4010H+00H计数器1:4010H+01H计数器2:4010H+02H控制寄存器:4010H+03H8255:4010HA口:4020H+00HB口:4020H+01HC口:4020H+02H控制寄存器:4020H+03H50809:4020H0832:4030HRAM1:8000H~9FFFHRAM2:A000H~BFFFHROM:0000H—3FFFHRAM:8000H--BFFFHAD:00H—07HDA:40H—41H键盘相关:100H—103H显示相关:140H—141H步进电机相关:200H—207H功能描述:在最小方式下,8088CPU产生全部总线控制信号,由2764和6264构成了16KB的ROM和16KB的RAM,在此基础上,分别实现接口逻辑一·8088CPU及其引线功能8088CPU是一块具有40条引出线的集成电路芯片,其个引出线的定义如图1,,所示。为了减少芯片的引线,有许多引线具有双重功能,采用分时复用的工作方式,及在不同的时刻,这些引线上的信号是不同的。同时,8088CPU上有6MN/MX输入引线,用以决定8088CPU工作在哪种模式下,当MN/MX=1时,8088CPU工作在最小模式下。此时,构成的微型机中包括一个8088CPU,且系统总线由CPU的引线形成,微型机所用的芯片最少。当MN/MX=0是,8088CPU工作在最大模式下。在此模式下,构成的微型计算机中除了有8088CPU之外,还可以接另外的CPU(如8087),构成多微处理器系统。同时,这时的系统总线要由8088的CPU的引线和总线控制器(8288)共同形成,可以构成更大规模的系统。图18088微处理器引线图8088最小模式下的引线在最小模式下,8088CPU的引线如图1所示,(不包括括号内的信号),它们是:A16~A19/S3~S6:这是4条时间复用,三态输出的引线,在8088CPU执行指令的过程中。某一时刻从这4条线上送出地址的最高4位—A16~A19,而在另外的7时刻,这四条线送出状态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经三态门输出的控制信号,该引脚为低电平时,表示数据总线上有有效的数据。它在每次访问内存或接口以及在中断响应期间有效。它常用作数据总线驱动器的片选信号。8ALE:三态输出控制信号,高电平有效,当它有效时,表明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的所有三态输出9地地址信号·数据信号和相应的控制信号变为高阻状态;同时还输出一个有效的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口设备的接口。它由段寄存器指令指针地址加法器10和指令队列缓冲器组成。地址加法器将段和偏移地址相加,生成20位的物理地址。图28088微处理器内部结构8088内部寄存器数据寄存器8088有4个16位的数据寄存器,可以存放16位的操作数,它们在需要的时候,可分为8个8位寄存器来用,这样就大大增加了使用的灵活性指针寄存器118088的指针寄存器有两个: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和附加段寄存