第4章 并行输入输出接口.ppt_第1页
第4章 并行输入输出接口.ppt_第2页
第4章 并行输入输出接口.ppt_第3页
第4章 并行输入输出接口.ppt_第4页
第4章 并行输入输出接口.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

任向民王克朝宗明魁编著,第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接口8255A,4.2.18255A的基本特性4.2.28255A的内部结构4.2.38255A的引脚及功能4.2.48255A的控制字4.2.58255A初始化编程4.2.68255A的工作方式,4.2.18255A的基本特性,1.8255A是一个具有两个8位(A和B口)和两个4位(C口高/低四位),最多可达24位的并行输入输出端口的接口芯片,它为Intel系列CPU与外部设备之间提供TTL电平兼容的接口,如打印机、A/D、D/A转换器、键盘、步进电机以及需要同时两位以上信息传送的一切形式的并行接口。并且它的PC口还具有按位置位/复位功能,为PC口作为联络信号时的按位控制提供了强有力的支持。2.8255A能适应CPU与I/O接口之间的多种数据传送方式的要求。如无条件传送,应答方式(查询)传送,中断方式传送,与此相应,8255A设置了方式0、方式1以及方式2(双向传送)。,4.2.18255A的基本特性,3.8255A可执行功能很强,内容丰富的两条命令(方式字和控制字)为用户如何根据外界条件(I/O设备需要哪些信号线以及它能提供哪些状态线)来使用8255A构成多种接口电路,为组建微机应用系统提供了灵活方便的编程环境。它不仅作为并行接口用于Intel公司的CPU系列,还可用于其他几乎所有CPU以及单片机。8255A执行命令过程中和执行命令完毕之后,所产生的状态,保留在状态字中,以供查询。4.8255APC口的使用比较特殊,除作数据口外,当工作在1方式和2方式时,它的部分信号线被分配作专用联络信号;PC口可以进行按位控制;在CPU取8255A状态时,PC口又作1,2方式的状态口用等等。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的工作方式方式0,4.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,ALJMPLOP,4.2.68255A的工作方式方式1,方式1选通输入输出方式8255A工作在方式1时,A口和B口作为数据的输入或输出口,端口的输入和输出状态是锁存的,二者中有一个口工作在方式1,则另一个口可工作在方式0;C口用于输入输出的应答信号。方式1常用于条件查询传送或中断传送。,4.2.68255A的工作方式方式1,1)方式1输入(1)控制信号A口和B口在方式1输入时,利用端口C中的固定位提供选通和应答信号。,4.2.68255A的工作方式方式1,1)方式1输入(2)输入时序,4.2.68255A的工作方式方式1,2)方式1输出(1)控制信号A口和B口在方式1输入时,利用端口C中的固定位提供选通和应答信号。,4.2.68255A的工作方式方式1,2)方式1输出(2)输出时序,4.2.68255A的工作方式方式1,3)方式1状态字,4.2.68255A的工作方式方式1,4)方式1应用举例【例4-5】试用8255A为两台8086单板机设计一并行数据传送接口。要求如下:甲机8255A方式1发送数据(输出);乙机8255A方式1接收数据(输入);甲、乙两机CPU与8255A之间均采用查询方式发送和接收数据;发送和接收的数据均在内存,甲机发送数据段起始地址为1000H,乙机接收数据段起始地址为1000H,甲机发送1KB个字节。,4.2.68255A的工作方式方式1,4)方式1应用举例【例4-5】(1)硬件连线,4.2.68255A的工作方式方式1,4)方式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,SIOUTDX,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,DXMOVSI,AL;接收一数据送内存单元INCSI;指向下一接收数据单元LOOPWAITHLT,4.2.68255A的工作方式方式2,3方式2双向输入输出方式8255A工作在方式2时,只能在A口适用,实现CPU与外设间双向数据传送,输入和输出都是锁存的;此时,B口可工作在方式0或方式1;C口高5位用于输入输出的控制和应答信号。方式2常用于条件查询传送或中断传送。,4.2.68255A的工作方式方式2,1)控制信号,4.2.68255A的工作方式方式2,2)工作时序8255A在方式2工作时,是方式1输入和输出时序波形的组合。3)方式2状态字,4.2.68255A的工作方式方式2,4)方式2应用举例【例4-6】试用8255A为两台8086单板机设计一双向数据传送接口。要求如下:主机CPU以条件查询方式进行输入/输出,主机侧8255A采用方式2工作;从机CPU以查询方式进行输入/输出,通过状态位向主机CPU发送数据或者接收主机CPU发来的数据,从机侧8255A采用方式0工作,A口接收数据,B口发送数据;发送和接收的数据均在二台机器的内存,甲机发送数据段起始地址为1000H,接收数据段起始地址为2000H,乙机接收数据段起始地址为1000H,发送数据段起始地址为2000H,甲机乙机各发送1KB个字节。,4.2.68255A的工作方式方式2,4)方式2应用举例【例4-6】(1)硬件连线,硬件连线硬件连线如图3-12所示。,4)方式2应用举例【例4-6】(2)软件设计,甲机程序段MOVDX,21BH;8255A控制端口MOVAL,0C0H;工作方式控制字11000000B,A口方式2OUTDX,ALMOVSI,1000H;发送数据块首地址MOVCX,400H;发送数据块字节数1KMOVDI,2000H;接收数据块首地址MOVBX,400H;接收数据块字节数1KBG:MOVDX,21AH;C口地址INAL,DX;读取状态位MOVAH,ALANDAL,20H;判断PC5位(IBFa)是否为1JZNOTIN;若为0,转移,去判断是否为发送数据INP:MOVDX,218H;若为1,表示输入缓冲器中有数据INAL,DX;从A口读取数据MOVDI,AL;接收一数据送内存单元INCDI;指向下一要接收数据单元DECBX;循环计数JNZBGJMPDONE,NOTIN:MOVAL,AHANDAL,80H;判断PC7位(a)是否为1JZDONE;若为0,输出缓冲器为满,等待取走数据OUTP:MOVDX,218H;若为1,输出缓冲器为空,发送数据到端口AMOVAL,SIOUTDX,ALINCSI;指向下一要发送数据单元DECCX;循环计数JNZBGDONE:CMPBX,0JNZBGCMPCX,0JNZBGHLT,4)方式2应用举例【例4-6】(2)软件设计,乙机程序段发送数据程序段SENDD:MOVDX,21AH;C口地址INAL,D

温馨提示

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

评论

0/150

提交评论