




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章并行接口芯片825510.1可编程的并行接口芯片8255A-5的结构10.2方式选择10.3方式0的功能10.4方式1的功能10.5方式2的功能10.68255应用举例概述并行接口:实现并行通信的接口就是并行接口,是在多根数据线上,以字节/字为单位与I/O设备交换数据计算机与外设交换信息的过程中:
并行通信:多位数据通过多条数据线同时传送。
串行通信:多位数据通过同一条数据线按位传送。并行通信就是把一个字符的各数位用几条线同时进行传输。与串行通信(一位一位传输)相比,在相同传输率下,并行通信的信息实际传输速度快、信息率高。但并行通信比串行通信所用电缆多,随着距离的增加,电缆的开销会成为突出的问题。所以,并行通信总是用在数据传输率要求较高,而传输距离较短的场合。一个并行接口可以设计为只用来作为输出接口,也可以只用来作为输入接口,此外,还可以把它设计成既作为输入又作为输出的接口。。在计算机内部数据是并行传送的。因此,并行接口电路相对简单,串行接口电路由于要进行串并行转换相对复杂。并行接口电路芯片常用的有两类:普通的8位锁存器及缓冲器可编程设置工作方式的并行接口10.1可编程的并行输入/输出接口芯片8255A-5的结构 它由以下几部分组成:1.数据端口A、B、C 它有三个输入/输出端口:PortA、PortB和PortC。每一个端口都是8位,都可以选择作为输入或输出。2.A组和B组控制电路 这是两组根据CPU的命令字控制8255A工作方式的电路。它们有控制寄存器,接受CPU输出的命令字,然后分别决定两组的工作方式,也可根据CPU的命令字对端口C的每一位实现按位“复位”或“置位”操作。8255A内部结构
控制端口A和端口C的高4位。它根据CPU的命令字决定A组的工作方式及对C口的每一位实现按位的“置位”或“复位”。8位双向三态缓冲器。它是8255A与系统数据总线的接口。接收来自系统总线的控制信号,以产生控制整个芯片工作的控制信号控制端口B和端口C的低4位。它根据CPU的命令字决定B组的工作方式及对C口的每一位实现按位的“置位”或“复位”端口A,B,C为输入输出端口,每个端口都是8位,可以选择作为输入或输出。但功能上有不同的特点。通常端口A,B作为输入输出的数据端口,C口作为控制或状态信息的端口3.数据总线缓冲器 这是一个三态双向8位缓冲器,它是8255A与系统数据总线的接口。4.读/写和控制逻辑 它与CPU的地址总线中的A1、A0以及有关的控制信号( )相连,由它控制把CPU的控制命令或输出数据送至相应的端口;也由它控制把外设的状态信息或输入数据通过相应的端口,送至CPU。6.端口寻址 8255A中有三个输入输出端口,另外,内部还有一个控制字寄存器,共有四个端口,要有两个输入端来加以选择,这两个输入端通常接到地址总线的最低两位A1和A0。(1)与外设一边相连的引脚①PA7~PA0:端口A数据线。②PB7~PB0:端口B数据线。③PC7~PC0:端口C数据线。
(2)与CPU相连的引脚①D7~D0:双向数据线,与系统数据总线相连。CPU通过它向8255A发送命令、数据;8255A向CPU回送状态、数据。②CS:片选信号,低电平有效。由系统地址总线经地址译码器产生,是8255A芯片被选中的信号。只有信号有效,CPU才能对8255A进行读写。当为高电平时,切断CPU与芯片的联系。③RD:读信号,低电平有效。与系统读控制线相连,当有效时,CPU可以从8255A中读取输入数据。④WR:写信号,低电平有效。与系统写控制线相连,当有效时,CPU可以向8255A写入控制字或数据,完成输出指令的功能。⑤A1、A0:端口选择信号。与系统地址总线低位相连,用来对8255A内部三个数据端口及一个控制端口寄存器进行寻址。⑥RESET:复位信号,高电平有效。与系统复位信号线,或自行设置的复位信号线相连。复位造成的结果是把所有内部寄存器清“0”,且三个数据端口被自动设置为输入端口。二.8255A引脚说明(3)电源和地线:Vcc和GND。8255A的控制信号和传输动作的对应关系CSA1A0RDWR传输说明00001数据从口A送到数据总线00101数据从口B送到数据总线01001数据从口C送到数据总线00010数据从数据总线送端口A00110数据从数据总线送端口B01010数据从数据总线送端口C01110D7=1,则由数据总线往控制寄存器写入控制字;D7=0,则由数据总线输入的数据作为对口C的置位/复位命令1XXXXD7~D0进入高阻抗状态01101非法的信号组合0XX11D7~D0进入高阻抗状态 8255A的工作方式,可由CPU用I/O指令输出一个控制字到8255A的控制字寄存器来选择。这个控制命令字的格式如图所示。可以分别选择端口A和端口B的工作方式,端口C分成两部分,上半部随端口A,下半部随端口B。端口A能工作于方式0、1和2,而端口B只能工作于方式0和1。对A1A0=11的端口写入D7=1的数据 工作方式控制字: 端口C的8位中的任一位,可用一条输出指令来置位或复位(其它位的状态不变)。这个功能主要用于控制。1例如,设一片8255A的口地址为60H~63H,PC5平时为低电平,要求从PC5的引脚输出一个正脉冲。可以用程序先将PC5置1,输出一个高电平,再把PC5清O,输出一个低电平,结果,PC5引脚上便输出一个正脉冲。实现这个功能的程序段如下:MOVAL,00001011BOUT63H,ALMOVAL,00001010BOUT63H,AL2、A口方式0,输出、B口方式0,输入,C口高4位输出,C口低4位输入MOVAL,10000011BOUT63H,AL3、PC7置1,PC3置0MOVDX,263HMOVAL,00001111B;PC7置1OUTDX,ALMOVAL,00000110B;PC3置0OUTDX,AL10.3方式0的功能
方式0是一种基本的输入或输出方式。在这种工作方式下,方式0不使用联络信号,也不使用中断,A口和B口可定义为输入或输出口,C口分成两个部分(高四位和低四位),C口的两个部分也可分别定义为输入或输出。在方式0,所有口输出均有锁存,输入只有缓冲,但无锁存,C口还具有按位将其各位清0或置1的功能。数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据中断允许触发器PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBAA口、方式1、输入RDD7~D0可通过对PC4置位或复位来设置INTEa。说明:当外设数据准备好以后,发出一个负脉冲选通信号STB,使A口打开锁存器接收数据。A口接收到数据以后,发出IBFA,由RD信号的上升沿使IBFA恢复低电平。STB和IBFA都变为高电平以后,如果INTEA允许,则8255A发出中断请求信号,以便使CPU接收数据。RD信号的下降沿使INTRA恢复低电平。可以通过对PC4的置位和复位来设置INTEA。PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBBB口、方式1、输入RDD7~D0可通过对PC2置位或复位来设置INTEB。说明:当CPU向端口A输出数据以后,在WR的上升沿使OBFA变为低电平。当外设接收到数据以后,发出一个负脉冲ACKA送给8255A,使OBFA变为高电平。ACKA和OBFA都变为高电平以后,如果INTEA允许,则8255A发出中断请求信号,以便使CPU再次输出数据。WR的下降沿使INTRA恢复低电平。可以通过对PC6的置位和复位来设置INTEA。PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKBD7~D0WRB口、方式1、输出可通过对PC2置位或复位来设置INTEB。
10.5方式2的功能 方式2是A组独有的工作方式。外设既能在A口的8条引线上发送数据,又能接收数据。此方式也是借用C口的5条信号线作控制和状态线,A口的输入和输出均带有锁存。
A口可以作为数据口工作在方式2。相当于是A口工作在方式1的输入和输出的叠加。8255应用举例P319双机并行通信接口乙机(接收)甲机(发送)CPUPA0~7未用CPU8255PC7PC6PC3PB0~7PC0~78255PC4PC0PC5~7PB0~7PC1.2.3PA0~70方式1方式OBFACKINTRa要求:在甲乙2台微型计算机之间并行传送1KB数据。甲机发送,乙机接收。甲机一侧的8255采用方式1工作,乙机一侧的8255采用方式0工作。两台微机的CPU与接口之间都采用查询方式交换数据。分析:双机均采用可编程并行接口芯片8255构成接口电路,只是8255的工作方式不同。设计:硬件连接如图甲机:方式1,A口,输出,PC6为ACK信号,PC7为OBF信号乙机:方式0,A口,输入,任选PC0,PC4作为联络信号端口地址均为300h~303hINCBXDECCXL:MOVDX,302HINAL,DXANDAL,08HJZLMOVDX,300HMOVAL,ES:[BX]OUTDX,ALINCBXDECCXJNZLMOVAX,4C00HINT21H编程甲机发送程序:MOVDX,303HMOVAL,10100000B;OUTDX,ALMOVAL,00001101BOUTDX,ALMOVAX,030HMOVES,AXMOVBX,00HMOVCX,3FFHMOVDX,300HMOVAL,ES:[BX]OUTDX,AL端口a,方式1,输出端口c的PC6置1将030h:0000h内存中的一个字节送甲机8255的A口,产生OBF信号将端口C读入al,检查PC3(intra)上是否为高电平若有中断请求,则继续送数乙机接收程序:MOVDX,303HMOVAL,10011000BOUTDX,ALMOVAL,00000001BOUTDX,ALMOVAX,040HMOVES,AXMOVBX,00HMOVCX,3FFHL1:MOVDX,302HINAL,DXANDAL,10HJNZL1MOVDX,300HINAL,DXMOVES:[BX],ALMOVDX,303HmovAL,00000000BOUTDX,ALNOPNOPMOVAL,00000001BOUTDX,ALINCBXDECCXJNZL1MOVAH,4CHINT21H端口a,方式0,输入,c口高四位输入,c口低四位输出端口c的PC0置1将c口读入al,检查PC4是否为0,即甲机是否发送给乙机有效的OBF信号将端口a读入al,再送入内存中端口c的PC0置0产生ACK端口c的PC0置1,ack置1,甲机的PC3会给cpu发出intra请求再送数据应用举例例1:在一系统中,要求8255工作在方式0,A口为输入,B口、C口为输出。
0Moval,10010000B
Out63h,al;送控制字到控制字寄存器。Calldelay1Inal,60h;从A口输入数据Calldelay2moval,data1Out61h,al;从B口输出数据Calldelay3moval,data2Out62h,al;从C口输出数据例2:假定在一个系统中,要求8255A.B均工作在方式1,端口A为输出,端口B为输入,PC4~PC5为输入,禁止端口B中断,允许端口A中断,设端口地址为1230h~1233hMoval,10101111B;控制字Movdx,1233h;控制寄存器地址Outdx,al;送入控制字寄存器Moval,00001001B;A口的INTE(PC4)置1Outdx,al;送入控制字寄存器Moval,00000100B;B口的INTE(PC2)置0Outdx,al;送入控制字寄存器8255A的应用举例一、基本输入输出应用举例在工业控制等实际应用中,经常需要检测某些开关量的状态。例如,在某一系统中,有8个开关K7~K0,要求不断检测它们的通断状态,并随时在发光二极管lED7~LED0上显示出来。开关断开,相应的LED点亮;开关合上,lED熄灭。我们选用8086CPU,8255A和74LSl38译码器等芯片,构成如图所示的硬件电路,8255A的A口作输入口,8个开关K7~K0。分别接PA7~PA0,B口为输出口,PB7~PB0分别接显示LED7~LED0。8255A的RD、WR和RESET引脚分别与CPU的相应输出相连。8255A的数据线D7~D0与8086的低8位数据总线D7~D0相连,从上一章的讨论可知,这时8255A的4个口地址都应为偶地址,A0必须总等于0,用地址线的A2、A1来选择片内的4个端口。图中,地址线A7接译码器的G1,M/IO而与G2A相连,A6、A5接与非门输入端,与非门输出与G2B相连。当A7A6A5=111,A4A3A0=100时,Y4=0,选中8255A。这样,4个端口地址分别为F0H、F2H、F4H和F6H,对应于8255A的A口、B口、C口和控制字寄存器。编程时先要确定方式选择控制字。由于A口工作于方式0输入,B口为方式O输出,C口未用,控制字中与C口对应的位可以被置为0,这样.写入控制端口F6H的控制字为10010000B。完成初始化后,即可将A口的开关状态读入寄存器AL.若开关合上,AL中的相应位为O,断开则为1。当把AL中的内容从B口输出时,相应于O的位上的LED熄灭,表示对应的开关是合上的;否则LED点亮,指示开关断开。具体程序如下:M0VDX,OF6HMOVAL,1001OOOOBOUTDX,ALTEST-IT:MOVDX,OFOHINAL,DXMOVDX,OF2HOUTDX,AL
JMPTEST-IT;控制字寄存器;控制字;写入控制字;指向A口;从A口读入开关状态;指向B口;B口控制LED,指示开关状态;循环检测习题1:8255A为连接打印机的接口,工作在方式0,输出工作过程:需要打印时,查询打印机是否忙?不忙时通过8255A发送一个字符给打印机。为使打印机接收数据,要生成一个选通脉冲(初始值是1,置0,再置1)。80868255A打印机D7~D0PAPC6PC2STBBUSY查询式打印机接口示意图习题1题解:A口:方式0、输出数据下C口:方式0、PC2输入状态信号上C口:方式0、PC6输出选通信号方式控制字为:B。为增强驱动能力,可加门电路驱动设端口地址:0D0H~0D3H,要打印的字符放在BL中。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 介入术后溶栓的护理
- 2025年网络与新媒体专业课程期末考试试卷及答案
- 2025年数据科学与人工智能相关知识考试卷及答案
- 2025年经济学原理考试卷及答案
- 2025年机器人技术工程师资格考试试题及答案
- 2025年自动化设备维护与管理培训考试试卷及答案
- 2025年甘肃省武威市古浪县民权镇招聘大学生村文书笔试参考题库及答案详解一套
- 物资设施设备管理制度
- 物资采购对账管理制度
- 特勤中队车辆管理制度
- 2022年贵州省贵阳市(初三学业水平考试)中考生物试卷及答案
- 患者日常生活护理
- 消防接警员应知应会考试题库大全-上(单选、多选题)
- 07J623-3 天窗挡风板及挡雨片
- 2021年西藏中考地理真题
- 福州市劳动合同书(2007年11月印制)
- 梨园助手:全年病虫害防治历
- MOOC 大学物理(上)-西北工业大学 中国大学慕课答案
- 乌拉波拉故事全集
- 伊朗钢结构包装专项方案
- 雨污分流改造方案
评论
0/150
提交评论