微机原理与接口技术——第六章PPT课件_第1页
微机原理与接口技术——第六章PPT课件_第2页
微机原理与接口技术——第六章PPT课件_第3页
微机原理与接口技术——第六章PPT课件_第4页
微机原理与接口技术——第六章PPT课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

第六章并行接口,教学重点并行接口的概念8255A的工作方式和编程8255A的应用,-,2,6.1并行接口的概念,通信:是指计算机中主机与主机、主机与外设之间信息的传送。一般分别分为并行通信和串行通信。并行通信:是指传输的线路的多条(四条、八条),一次可并行进行多位二进制位的传送。串行通信:是指传输线路只有一条,一次只进行一位二进制位的传送。,-,3,6.2可编程并行接口8255A,一、8255A的基本功能有3种工作方式,方式0:基本输入输出;方式1:单项输入输出;方式2:双向输入输出可实现与CPU之间的直接、查询、中断和DMA四种数据传送方式。,-,4,二、8255A的引脚,40引脚双列直插,+5V,24条可编程I/O引脚除电源和地线外,其它外部引脚信号可分为两组:一组面向CPU的信号;一组面向外设的信号。,-,5,二、8255A的引脚,连接CPU系统端的主要引线:D0D7CSRDWRA0,A1RESET复位信号,接系统总线的RESET,A1A0选择00端口A01端口B10端口C11控制寄存器,-,6,二、8255A的引脚,连接外设端的引脚:PA0PA7PB0PB7PC0PC7,分别对应A、B、C三个8位输入/输出端口,三个端口可通过编程分别指定为输入或输出口。其中,C口即可用作独立的输入/输出口,也可用作A、B口的握手联络信号(控制信号输出或状态信号输入)。,-,7,8255A的读/写操作控制,-,8,三、8255A的内部结构,A组B组,端口PA端口PC的高4位,端口PB端口PC的低4位,8255内部分为A、B两组分别进行控制管理。,PA口和PB口的输入/输出都具有数据锁存能力;但PC口输出有锁存能力,而输入没有锁存能力(仅缓冲能力)。,-,9,8255A的内部结构,-,10,四、8255与系统的连接示意图,D0D7,WR,RD,A1,A0,CS,DB,IOW,IOR,A1,A0,译码器,8255,PA口,PB口,PC口,D0D7,外设,A2A15,系统总线,-,11,五.方式命令字:命令字格式,-,12,例1.写入方式控制字,要求:A端口:方式1输入C端口上半部:输出,C口下半部:输入B端口:方式0输出方式控制字:10110001B或B1H初始化的程序段:movdx,303h;假设控制端口为303Hmoval,0b1h;方式控制字outdx,al;送到控制端口,-,13,五.方式命令字:按位置位/复位命令字,-,14,例2.位控命令控制字,要求:把C口的PC2引脚置成高电平输出方式控制字:00000101B或05H初始化的程序段:movdx,303h;假设控制端口为303Hmoval,05h;使PC2=1的命令字outdx,al;送到命令口,-,15,6.2可编程并行接口8255A,六、8255A的工作方式8255A的工作方式与端口有关,PA口有3种方式(0方式、1方式、2方式),PB口和PC口只有2种工作方式(0方式、1方式)。,基本I/O方式(方式0)(PA、PB、PC)不需握手联络线的简单输入/输出单向方式;适用于无条件传送和查询方式(一般PA或PB数据口,而PC做成状态口)的接口电路选通I/O方式(方式1)(PA、PB)需握手联络线的复杂输入/输出单向方式;适用于查询和中断方式的接口电路双向方式(方式2)(仅PA)需握手联络线的复杂输入/输出双向方式;适用于查询和中断方式的接口电路,I/O接口,输入设备,I/O接口,输出设备,I/O接口,输入设备,I/O接口,输出设备,I/O接口,存储设备,-,17,6.38255A的0方式及其应用,在这种工作方式下,A、B和C口都可以由程序规定为输入或输出。方式0使用于:1、简单的输入输出,不需任何联络信号2、查询式输入或输出,由编程者选择C口的某些位当作控制和状态信息。,-,18,例:8255A作为连接打印的查询式接口,工作于方式0,如图所示。设8255A的端口地址为:A端口:00D0HC端口:00D4HB端口:00D2H控制口:00D6H工作过程:当主机要往打印机输出字符时,先查询打印机忙信号,如果打印机正在处理一个字符或在打印一行字符,则忙信号为1,否则为0。PC2作为打印机忙信号,PC6作为数据选通信号,将数据线上的数据打入打印机缓冲器。,方式0实例,打印机驱动流程图,工作方式0例子打印机,Y,PP:MOVAL,81H;8255工作方式字OUTD6H,AL;A口方式0,输出,;C口方式0,C47输出,C03输入MOVAL,0DH;PC6置1OUTD6H,ALMOVSI,200H;打印字符内存地址MOVCX,0FFH;打印字符个数LPST:INAL,D4H;读C口ANDAL,04H;查PC2=1?JNZLPST;忙,等待;不忙,送数MOVAL,SI;从内存取数OUTD0H,AL;送数到PA口,-,21,MOVAL,00001100B;将PC6置0(STB为低)OUTD6H,AL;AL00001100BNOPNOP;延时INCAL;AL00001101BOUT0D6H,AL;再使STB(PC6)为1INCSI;内存地址+1DECCX;字符数-1JNZLPSTHLT,-,22,6.48255A的1方式及其应用,数据输入输出要在选通信号控制下工作.端口A和端口B可以分别作为两个数据口工作于方式1,并且,任何一个端口可以为输入口或输出口。,方式1输入有关信号的规定,端口B输入,1选通信号输入端,低电平有效,2输入缓冲区满信号,,3它是8255送往CPU的中断请求信号,高电平有效。,中断允许信号,INTE由PC4置“1”,INTR有效,数据输入口,方式1A口输入有关信号的规定,PC0-7,-,25,方式1输入联络信号定义,STB选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据INTE中断允许信号,高电平有效用于控制中断允许或中断屏蔽STB和IBF是外设和8255A间的一对应答联络信号,为的是可靠地输入数据,-,26,方式1输入时序,方式1输出有关信号的规定,3中断请求,1通知外设取走数据,2外设响应信号,端口B输出,方式1输出联络信号,OBF输出缓冲器满信号,低有效8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走ACK响应信号,低有效外设的响应信号,指示8255A的端口数据已由外设接受INTR中断请求信号,高有效当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据OBF和ACK是外设和8255A间的一对应答联络信号,为的是可靠地输出数据,PC0-7,-,29,方式1输出时序,例1:8255A端口A工作在方式1,A口输入,允许A口中断,编写初始化程序。MOVDX,PCTR;控制口地址送DXMOVAL,10110000B;A口方式1输入OUTDX,ALMOVAL,00001001B;置PC4=1,允许中断OUTDX,AL;,例2:应用8255A工作在方式0和方式1进行双机并行通信。甲机(发送)和乙机(接收)的口地址为:A口60H、B口61H、C口62H、控制口63H,发送方的发送程序MOVAL,10100000B;A口方式1输出OUT63H,AL;写工作方式控制字MOVAL,0DH;PC6置初值1OUT63H,AL;写位控字TEST1:INAL,62H;读状态口CANDAL,40H;判断PC6是否为0,;即ACK信号是否有效JNZTEST1;无ACK信号则循环MOVAL,CL;发送(CL)值OUT60H,AL,接收方的接收程序MOVAL,10011000B;A口方式0输入,C高4位输入,C低4位输出OUT63H,AL;写工作方式控制字MOVAL,01H;PC0置初值1OUT63H,AL;写位控字RECEIVE:INAL,62H;读状态口CTESTAL,10H;判断PC7是否为0,;即OBF信号是否有效JNZRECEIVE;无OBF信号则循环INAL,60H;接收甲机值MOVCL,AL;保存接收值到CLMOVAL,00H;PC0置0,发送ACK信号OUT63H,ALCALLDELAYINCAL;PC0置1,即ACK信号只持续一段时间OUT63H,AL,为什么要设置C口?,-,34,方式2只适用于端口PA;方式2类似于PA口方式1下输入和输出的组合。PA口用方式2时,PC口(PC7PC3)的5条线提供传输联络信号INTE1为PC6,INTE2为PC4。,PC0-7,PA方式2时的状态字,PB口方式决定,6.58255A的2方式及其应用,-,35,方式2有关信号的规定,-,36,一个数据输出过程和一个数据输入的时序,工作方式2时序,-,37,6.58255A的2方式及其应用,四、中断方式的双向并行接口设计1要求主从两台微机进行并行传送,共传送256个字节。主机一侧的8255A采用2方式并且用中断方式传送数据。从机一侧8255A工作在0方式,采用查询方式传送数据。2分析为了适应矢量中断的要求,接口电路中使用中断控制器8259A,并且是利用IBM-PC的中断资源将8255A的中断请求线IN1R接到系统总线的IRQ2上。由于在2方式下输入中断请求和输出中断请求共用一根线,因此,要在中断服务程序中,用读取状态字的办法查询IBF和OBF状态位来决定执行输入操作还是输出操作。,-,38,6.58255A的2方式及其应用,四、中断方式的双向并行接口设计3设计(1)硬件设计从图6.19可知主机一侧的8255A的PA口作双向传送,既输出又输人,它的中断请求线接到8259A的IR2上。从机一侧的8255A的PA口和PB口是单向传送,分别作输出和输入。(2)软件设计下面讨论主机一侧的编程,包括初始化,主程序和中断服务程序:有关中断向量的获取、修改和恢复的程序段均已略去,可参考第五章。,-,39,图6.192方式接口电路图,-,40,6.58255A的2方式及其应用,8255A初始化程序MOVDX,303H;8255A控制口MOVAL,0C0H;方式字:A口为2方式OUTDX,ALMOVAL,09H;置位PC4,设置INTE2=1,输入中断允许OUTDX,ALMOVAL,ODH;置位PC6,设置INTE1=1,输出中断允许OUTDX,ALMOVSI,300H;发送数据块首址MOVDI,410H;接收数据块首址MOVCX,0FFH;发送与接收字节数。,-,41,6.58255A的2方式及其应用,AGAIN:STI;开中断HLT;等待中断DECCX;字节数减1JNZAGAIN;未完,继续MOVAX,4COOH;已完,退出INT21H;返回DOS;中断服务程序T_RPROCFAR;中断服务程序入口ASSUMECS:CODE,DS:DATA,SS:STACKPUSHAX;保存寄存器PUSHDXPUSHDIPUSHSIMOVDX,303H;8255A控制口MOVAL,08H;复位PC4,使INTE2=0,禁止输入中断OUTDX,ALMOVAL,OCH;复位PC6,使INTE1=0,禁止输出中断OUTDX,ALCLI;关中断,-,42,6.58255A的2方式及其应用,MOVDX,302H;8255A状态口INAL,DX;查中断源,读状态字MOVAH,AL;保存状态字ANDAL,20H;检查状态位IBF,是输入?JZOUTP;不是,则跳输出程序OUTPINP:MOVDX,300H;是,则从A口读数INAL,DXMOVDI,AL;存入内存区INCDI;接收数据块内存地址加1JMPRETURN;跳RETURNOUTP:MOVDX,300H;向A口写数MOVAL,SI;从内存取数,-,43,6.58255A的2方式及其应用,OUTDX,AL;输出INCSI;发送数据块内存地址加1RETURN:MOVDX,303H;8255A控制口MOVAL,ODH;允许输出中断OUTDX,ALMOVAL,09H;允许输入中断OUTDX,ALMOVAL,62H;OCW2,中断结束OUT20H,ALPOPSI;恢复寄存器POPDIPOPDXPOPAXIRET;中断返回T-RFNDP,-,44,第七章小结在8255A的三个数据口中,C口用法较特殊、比较复杂,是学习的一个难点,为了更好的理解,下面做一个归纳:(1)C口被分成两个四位端口,两个端口只能以方式0工作,但分别可选择输入或输出(若PC0选输入,则PC1输出无法办到,因为它们同属C口的下半部分)。(2)当A、B口工作在选通

温馨提示

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

评论

0/150

提交评论