您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第4章 并行输入输出接口
任向民王克朝宗明魁编著清华大学出版社微机接口技术实用教程(第2版)高等院校信息技术规划教材第4章并行输入输出接口4.1并行接口基本概念4.2并行I/O接口8255A4.2.18255A的基本特性4.2.28255A的内部结构4.2.38255A的引脚及功能4.2.48255A的控制字4.2.58255A初始化编程4.2.68255A的工作方式4.1并行接口基本概念CPU与外设间的数据传送是通过接口来实现的。数据传送的方式有两种:串行传送和并行传送。串行传送就是数据在一根传输线上一位一位地传送。在串行传送方式下,外设或(被控对象)必须通过串行接口与系统总线相连接,如键盘,鼠标,CRT显示器、调制解调器等。并行传送就是同时在多根传输线上,数据以字节(字)为单位进行传送。在并行传送方式下,外设(或被控对象)必须通过并行接口与系统总线相连接,如打印机、A/D、D/A转换器等都通过并行接口与主机相连。4.1并行接口基本概念并行接口的特点:(1)并行接口同时在多根传输线上以字节(字)为单位传送数据。(2)并行传送速度快、成本高、适用于近距离、传送速度要求高的场合。(3)并行传送当前还没有标准化,所以,并行传送的信息不要求有固定的格式,并行传送中同步传送和异步传送没有严格的定义。一般来说,如果CPU用一个时钟信号来管理接口与外设的动作,则看成是同步并行传送;如果CPU和接口及外设通过应答信号来进行联络和通信,则认为是异步并行传送。(4)并行接口电路从功能上可分为简单并行接口(不可编程并行口)和可编程并行接口两种。4.2并行I/O接口8255A4.2.18255A的基本特性4.2.28255A的内部结构4.2.38255A的引脚及功能4.2.48255A的控制字4.2.58255A初始化编程4.2.68255A的工作方式4.2.18255A的基本特性1.1.8255A是一个具有两个8位(A和B口)和两个4位(C口高/低四位),最多可达24位的并行输入输出端口的接口芯片,它为Intel系列CPU与外部设备之间提供TTL电平兼容的接口,如打印机、A/D、D/A转换器、键盘、步进电机以及需要同时两位以上信息传送的一切形式的并行接口。并且它的PC口还具有按位置位/复位功能,为PC口作为联络信号时的按位控制提供了强有力的支持。2.2.8255A能适应CPU与I/O接口之间的多种数据传送方式的要求。如无条件传送,应答方式(查询)传送,中断方式传送,与此相应,8255A设置了方式0、方式1以及方式2(双向传送)。4.2.18255A的基本特性1.3.8255A可执行功能很强,内容丰富的两条命令(方式字和控制字)为用户如何根据外界条件(I/O设备需要哪些信号线以及它能提供哪些状态线)来使用8255A构成多种接口电路,为组建微机应用系统提供了灵活方便的编程环境。它不仅作为并行接口用于Intel公司的CPU系列,还可用于其他几乎所有CPU以及单片机。8255A执行命令过程中和执行命令完毕之后,所产生的状态,保留在状态字中,以供查询。2.4.8255APC口的使用比较特殊,除作数据口外,当工作在1方式和2方式时,它的部分信号线被分配作专用联络信号;PC口可以进行按位控制;在CPU取8255A状态时,PC口又作1,2方式的状态口用等等。3.5.8255A芯片内部主要由控制寄存器、状态寄存器和数据寄存器组成,编程主要是对这三类寄存器进行访问。4.2.28255A的内部结构包括数据总线缓冲器、读写控制逻辑、A组和B组控制电路和数据端口A、B、C等四个部分。4.2.38255A的引脚及功能4.2.38255A的引脚及功能4.2.48255A的控制字1.8255A的工作方式控制字2.C口按位控制字4.2.58255A初始化编程8255A是通用的可编程接口芯片,在使用时需要对其进行初始化,即将控制字的内容写到芯片的控制端口,使其能够按照控制字的要求进行工作。设8255A端口A、B、C地址分别为218H,219H,21AH,控制端口地址为21BH。4.2.58255A初始化编程【例4-1】对8255A芯片进行初始化。要求如下:A口设定方式0输入,B口方式1输出,C口高4位输入,低4位输出。控制字的内容为10011100B,即9CH。初始化程序段为:MOVDX,21BH;间接寻址方式送控制端口地址MOVAL,9CHOUTDX,AL;工作方式控制字送控制端口4.2.58255A初始化编程【例4-2】对8255A芯片C口进行置位和复位。要求如下:把C口的PC3置位。C口控制字的内容为00000111B,即07H。D6D5D4不用,一般不用位使用0。初始化程序段为:MOVDX,21BH;间接寻址方式送控制端口地址MOVAL,07HOUTDX,AL;置位控制字送控制端口若此时将PC3复位,C口控制字的内容为00000110B,即06H。初始化程序段为:MOVDX,21BH;间接寻址方式送控制端口地址MOVAL,06HOUTDX,AL;置位控制字送控制端口4.2.58255A初始化编程【例4-3】对PA0PA4进行置位和复位,不改变其他位的状态,PA0PA4置位程序段MOVDX,218H;间接寻址方式送A口地址INAL,DX;读取A口中的数据ORAL,00010001B;使AL中对应PA0PA4位为1OUTDX,AL;输出至A口,进行置位PA0PA4复位程序段MOVDX,218H;间接寻址方式送A口地址INAL,DX;读取A口中的数据ANDAL,11101110B;使AL中对应PA0PA4位为0OUTDX,AL;输出至A口,进行复位1.方式0——基本输入输出方式8255A工作在方式0时,三个端口分成彼此独立的两个8位口,即A口和B口;两个4位口,即C口的高4位口和低4位口。这4个并行口都能设定为输入或输出,有16种不同组态,每个端口输出状态时是锁存的,方式0常用于无条件传送,也可用于条件查询传送。4.2.68255A的工作方式——方式04.2.68255A的工作方式——方式0【例4-4】假定8255A端口A、B、C地址分别为218H,219H,21AH,控制端口地址为21BH,其中B口以方式0工作,并作为输出口接一组发光二极管;A口方式0工作,并作为输入口接一组开关,硬件连线如图所示,编写程序,完成8255A的初始化,并实现当连接A口的某个开关闭合时B口输出相应位发光二极管亮,当某个开关打开时,相应二极管灭。(1)硬件连线①将A口PA0-PA7连接至8位开关;②将B口PB0-PB7连接至发光二极管指示灯;③将D0-D7连接至系统模块数据线;④将RESET连接至系统模块提供的RESET引脚;⑤将CS连接至系统模块提供的片选信号引脚。4.2.68255A的工作方式——方式0【例4-4】假定8255A端口A、B、C地址分别为218H,219H,21AH,控制端口地址为21BH,其中B口以方式0工作,并作为输出口接一组发光二极管;A口方式0工作,并作为输入口接一组开关,硬件连线如图所示,编写程序,完成8255A的初始化,并实现当连接A口的某个开关闭合时B口输出相应位发光二极管亮,当某个开关打开时,相应二极管灭。(2)软件编程MOVDX,21BHMOVAL,90HOUTDX,ALLOP:MOVDX,218HINAL,DXMOVDX,219HOUTDX,ALJMPLOP4.2.68255A的工作方式——方式1方式1——选通输入输出方式8255A工作在方式1时,A口和B口作为数据的输入或输出口,端口的输入和输出状态是锁存的,二者中有一个口工作在方式1,则另一个口可工作在方式0;C口用于输入输出的应答信号。方式1常用于条件查询传送或中断传送。4.2.68255A的工作方式——方式11)方式1输入(1)控制信号A口和B口在方式1输入时,利用端口C中的固定位提供选通和应答信号。4.2.68255A的工作方式——方式11)方式1输入(2)输入时序图6-15方式1输入时序从外设输入PA7~PA0(PB7~PB0)STBRDIBFINTRtPHtSITtSIBtSTtPStRIBtRIT4.2.68255A的工作方式——方式12)方式1输出(1)控制信号A口和B口在方式1输入时,利用端口C中的固定位提供选通和应答信号。4.2.68255A的工作方式——方式12)方式1输出(2)输出时序4.2.68255A的工作方式——方式13)方式1状态字4.2.68255A的工作方式——方式14)方式1应用举例【例4-5】试用8255A为两台8086单板机设计一并行数据传送接口。要求如下:甲机8255A方式1发送数据(输出);乙机8255A方式1接收数据(输入);甲、乙两机CPU与8255A之间均采用查询方式发送和接收数据;发送和接收的数据均在内存,甲机发送数据段起始地址为1000H,乙机接收数据段起始地址为1000H,甲机发送1KB个字节。4.2.68255A的工作方式——方式14)方式1应用举例【例4-5】(1)硬件连线4.2.68255A的工作方式——方式14)方式1应用举例【例4-5】(2)软件设计甲机发送程序段MOVAX,1000H;发送数据所在段地址MOVDS,AXMOVSI,0;发送数据段内位移量MOVCX,0400H;发送数据块长度1KMOVDX,021BH;8255A控制端口地址MOVAL,0A0H;工作方式控制字10100000B,方式1输出OUTDX,ALMOVAL,0FH;C口控制字00001111B,置PC7=1(a=1)OUTDX,ALWAIT:MOVDX,21AH;C口地址INAL,DXANDAL,80H;a是否等于0JZWAIT;外设(乙机)未取走前一数据,等待MOVDX,218H;A口地址MOVAL,[SI]OUTDX,AL;从内存取一数据向乙机发送INCSI;内存单元地址加1,指向下一要发送数据单元LOOPWAITHLT乙机接收程序段MOVAX,1000H;接收数据所在段地址MOVDS,AXMOVSI,0;接收数据段内位移量MOVCX,0400H;接收数据块长度1KMOVDX,21BH;8255A控制端口地址MOVAL,0B0H;工作方式控制字10110000B,方式1输入OUTDX,ALMOVAL,0AH;C口控制字00001010B,置PC5=0(IBFa=0)OUTDX,ALWAIT:MOVDX,21AH;C口地址INAL,DXANDAL,20H;IBFa是否等于0JZWAIT;8255A未收到数据,等待MOVDX,218H;A口地址INAL,DXMOV[SI],AL;接收一数据送内存单元INCSI;指向下一接收数据单元LOOPWAITHLT4.2.68255A的工作方式——方式23.方式2—双向输入输出方式8255A工作在方式2时,只能在A口适用,实现CPU与外设间双向数据传送,输入和输出都是锁存的;此时,B口可工作在方式0或方式1;C口高5位用于输入输出的控制和应答信号。方式2常用于条件查询传送或中断传送。4.2.68255A的工作方式——方式21)控制信号4.2.68255A的工作方式——方式22)工作时序8255A在方式2工作时,是方式1输入和输出时序波形的组合。3)方式2状态字4.2.68255A的工作方式——方式24)方式2应用举例【例4-6】试用8255A为两台8086单板机设计一双向数据传送接口。要求如下:主机CPU以条件查询方式进行输入/输出,主机侧8255A采用方式2工作;从机CPU以查询方式进行输入/输出,通过状态位向主机CPU发送数据或者接收主机CPU发来的数据,从机侧8255A采用方式0工作,A口接收数据,B口发送数据;发送和接收的数据均在二台机器的内存,甲机发送数据段起始地址为1000H,接收数据段起始地址为2000H,乙机接收数据段起始地址为1000H,发送数据段起始地址为2000H,甲机乙机各发送1KB个字节。4.2.68255A的工作方式——方式24)方式2应用举例【例4-6】(1)硬件连线①硬件连线硬件连线如图3-12所示。4)方式2
本文标题:第4章 并行输入输出接口
链接地址:https://www.777doc.com/doc-3402437 .html