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

下载本文档

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

文档简介

微机原理与接口技术第六章微机原理与接口技术第六章微机原理与接口技术第六章6.1并行接口的概念通信:是指计算机中主机与主机、主机与外设之间信息的传送。一般分别分为并行通信和串行通信。并行通信:是指传输的线路的多条(四条、八条),一次可并行进行多位二进制位的传送。串行通信:是指传输线路只有一条,一次只进行一位二进制位的传送。16.1并行接口的概念通信:是指计算机中主机与主机、主机与外设之间信息的传送。一般分别分为并行通信和串行通信。并行通信:是指传输的线路的多条(四条、八条),一次可并行进行多位二进制位的传送。串行通信:是指传输线路只有一条,一次只进行一位二进制位的传送。2020/11/2626.2可编程并行接口8255A一、8255A的基本功能有3种工作方式,方式0:基本输入输出;方式1:单项输入输出;方式2:双向输入输出可实现与CPU之间的直接、查询、中断和DMA四种数据传送方式。2020/11/263二、8255A的引脚40引脚双列直插,+5V,24条可编程I/O引脚除电源和地线外,其它外部引脚信号可分为两组:一组面向CPU的信号;一组面向外设的信号。2020/11/264二、8255A的引脚连接CPU系统端的主要引线:D0~D7CSRDWRA0,A1RESET——复位信号,接系统总线的RESETA1A0选择00端口A01端口B10端口C11控制寄存器2020/11/265二、8255A的引脚连接外设端的引脚:PA0~PA7PB0~PB7PC0~PC7分别对应A、B、C三个8位输入/输出端口三个端口可通过编程分别指定为输入或输出口。其中,C口即可用作独立的输入/输出口,也可用作A、B口的握手联络信号(控制信号输出或状态信号输入)。2020/11/2668255A的读/写操作控制A1

A0RDWRCS输入操作(CPU读)001010000111000数据总线←

端口A数据总线←

端口B数据总线←

端口C00110111111100000000输出操作(CPU写)数据总线→端口A数据总线→端口B数据总线→端口C数据总线→控制端口2020/11/267三、8255A的内部结构A组B组端口PA端口PC的高4位端口PB端口PC的低4位8255内部分为A、B两组分别进行控制管理。PA口和PB口的输入/输出都具有数据锁存能力;但PC口输出有锁存能力,而输入没有锁存能力(仅缓冲能力)。2020/11/2688255A的内部结构2020/11/269四、8255与系统的连接示意图D0~D7WRRDA1A0CSDBIOWIORA1A0译码器8255PA口PB口PC口D0~D7外设A2~A15系统总线2020/11/2610五.方式命令字:命令字格式2020/11/2611例1.写入方式控制字要求:A端口:方式1输入C端口上半部:输出,C口下半部:输入B端口:方式0输出方式控制字:10110001B或B1H初始化的程序段: movdx,303h ;假设控制端口为303H moval,0b1h ;方式控制字 outdx,al ;送到控制端口2020/11/2612五.方式命令字:按位置位/复位命令字2020/11/2613例2.位控命令控制字要求:把C口的PC2引脚置成高电平输出方式控制字:00000101B或05H初始化的程序段: movdx,303h ;假设控制端口为303H moval,05h ;使PC2=1的命令字 outdx,al ;送到命令口2020/11/26146.2可编程并行接口8255A六、8255A的工作方式8255A的工作方式与端口有关,PA口有3种方式(0方式、1方式、2方式),PB口和PC口只有2种工作方式(0方式、1方式)。

2020/11/2615基本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接口存储设备2020/11/26166.38255A的0方式及其应用在这种工作方式下,A、B和C口都可以由程序规定为输入或输出。方式0使用于:1、简单的输入输出,不需任何联络信号2、查询式输入或输出,由编程者选择C口的某些位当作控制和状态信息。2020/11/2617例:8255A作为连接打印的查询式接口,工作于方式0,如图所示。设8255A的端口地址为:A端口:00D0HC端口:00D4HB端口:00D2H控制口:00D6H工作过程:当主机要往打印机输出字符时,先查询打印机忙信号,如果打印机正在处理一个字符或在打印一行字符,则忙信号为1,否则为0。PC2作为打印机忙信号,PC6作为数据选通信号,将数据线上的数据打入打印机缓冲器。方式0实例2020/11/2618打印机驱动流程图开始8255A初始化BUSY=0?送数送STB内存+1字节-1送完?结束工作方式0例子-打印机Y2020/11/2619PP:MOVAL,81H;8255工作方式字OUTD6H,AL;A口方式0,输出,;C口方式0,C4~7输出,C0~3输入MOVAL,0DH;PC6置1OUTD6H,ALMOVSI,200H;打印字符内存地址MOVCX,0FFH;打印字符个数LPST:INAL,D4H;读C口ANDAL,04H;查PC2=1?JNZLPST;忙,等待;不忙,送数MOVAL,[SI];从内存取数OUTD0H,AL;送数到PA口2020/11/2620MOVAL,00001100B;将PC6置0(STB为低)OUTD6H,AL;AL00001100BNOPNOP ;延时INCAL ;AL00001101BOUT0D6H,AL ;再使STB(PC6)为1

INCSI ;内存地址+1DECCX ;字符数-1JNZLPSTHLT2020/11/26216.48255A的1方式及其应用数据输入输出要在选通信号控制下工作.端口A和端口B可以分别作为两个数据口工作于方式1,并且,任何一个端口可以为输入口或输出口。2020/11/262210111/0D7D6D5D4D3D2D1D0方式1PC6.PC71=输入0=输出端口A输入111D7D6D5D4D3D2D1D0端口B输入方式1RDPA7~PA0INTEAPC4PC5PC3PC6.PC7IOINTRAIBFASTBARDINTEBPC2PC1PC0PB7~PB0STBBIBFBINTRB方式1输入有关信号的规定端口B输入2020/11/26231选通信号输入端,低电平有效2输入缓冲区满信号,3它是8255送往CPU的中断请求信号,高电平有效。中断允许信号,INTE由PC4置“1”,INTR有效RDPA7~PA0INTEAPC4PC5PC3PC6.PC7IOINTRAIBFASTBA数据输入口I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB

D7D6D5D4D3D2D1D0

方式1A口输入有关信号的规定PC0-72020/11/2624方式1输入联络信号定义STB——选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF——输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR——中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据INTE——中断允许信号,高电平有效用于控制中断允许或中断屏蔽STB和IBF是外设和8255A间的一对应答联络信号,为的是可靠地输入数据2020/11/2625方式1输入时序2020/11/262610101/0D7D6D5D4D3D2D1D0方式1PC4.PC51=输入0=输出端口A输出110D7D6D5D4D3D2D1D0端口B输出方式1WRINTEBPC2PC1PC0PB7~PB0ACKBOBFBINTRBWRPA7~PA0INTEAPC6PC7PC3PC4.PC5IOINTRAOBFAACKA方式1输出有关信号的规定3中断请求1通知外设取走数据2外设响应信号端口B输出2020/11/2627方式1输出联络信号OBF——输出缓冲器满信号,低有效8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走ACK——响应信号,低有效外设的响应信号,指示8255A的端口数据已由外设接受INTR——中断请求信号,高有效当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据OBF和ACK是外设和8255A间的一对应答联络信号,为的是可靠地输出数据OBFAINTEAI/O

I/OINTRAINTEBOBFBINTRB

D7D6D5D4D3D2D1D0

PC0-72020/11/2628方式1输出时序2020/11/2629例1:8255A端口A工作在方式1,A口输入,允许A口中断,编写初始化程序。

MOVDX,PCTR;控制口地址送DXMOVAL,10110000B;A口方式1输入OUTDX,ALMOVAL,00001001B;置PC4=1,允许中断OUTDX,AL;2020/11/2630PA0~7PA0~7PC7PC7PC0PC6PC4~6PC1~3PB0~7PC0~5PB0~7PC38255A8255A0方式1方式乙(接收)CPU甲(发送)CPU未用OBFACK例2:应用8255A工作在方式0和方式1进行双机并行通信。甲机(发送)和乙机(接收)的口地址为:A口60H、B口61H、C口62H、控制口63H2020/11/2631发送方的发送程序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,AL2020/11/2632接收方的接收程序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口?2020/11/2633①方式2只适用于端口PA;②方式2类似于PA口方式1下输入和输出的组合。③

PA口用方式2时,PC口(PC7~PC3)的5条线提供传输联络信号④INTE1为PC6,INTE2为PC4。OBFAINTE1IBFAINTE2INTRA

D7D6D5D4D3D2D1D0

PC0-7PA方式2时的状态字PB口方式决定6.58255A的2方式及其应用2020/11/2634D7D6D5D4D3D2D1D011端口A方式B组方式0=方式01=方式1PC2~PC01=输入0=输出端口B1=输入0=输出PC2~PC0PC4PC5PC6PC7PC3INTE1INTE2IOIBFASTBAACKAOBFAINTRAWRRDPA7~PA0方式2有关信号的规定2020/11/2635一个数据输出过程和一个数据输入的时序工作方式2时序2020/11/26366.58255A的2方式及其应用四、中断方式的双向并行接口设计1.要求主从两台微机进行并行传送,共传送256个字节。主机一侧的8255A采用2方式并且用中断方式传送数据。从机一侧8255A工作在0方式,采用查询方式传送数据。2.分析为了适应矢量中断的要求,接口电路中使用中断控制器8259A,并且是利用IBM-PC的中断资源将8255A的中断请求线IN1R接到系统总线的IRQ2上。由于在2方式下输入中断请求和输出中断请求共用一根线,因此,要在中断服务程序中,用读取状态字的办法查询IBF和OBF状态位来决定执行输入操作还是输出操作。

2020/11/26376.58255A的2方式及其应用四、中断方式的双向并行接口设计3.设计(1)硬件设计从图6.19可知主机一侧的8255A的PA口作双向传送,既输出又输人,它的中断请求线接到8259A的IR2上。从机一侧的8255A的PA口和PB口是单向传送,分别作输出和输入。(2)软件设计下面讨论主机一侧的编程,包括初始化,主程序和中断服务程序:有关中断向量的获取、修改和恢复的程序段均已略去,可参考第五章。2020/11/2638图6.192方式接口电路图2020/11/26396.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;发送与接收字节数。。2020/11/26406.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;关中断

2020/11/26416.58255A的2方式及其应用MOVDX,302H;8255A状态口INAL,DX;查中断源,读状态字MOVAH,AL;保存状态字ANDAL,20H;检查状态位IBF,是输入?JZOUTP;不是,则跳输出程序OUTPINP:MOVDX,300H;是,则从A口读数INAL,DXMOV[DI],AL;存入内存区INCDI;接收数据块内存地址加1JMPRETURN;跳RETURNOUTP:MOVDX,300H;向A口写数MOVAL,[SI];

温馨提示

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

评论

0/150

提交评论