《[工程科技]微机接口技术-5-1-并行接口》由会员分享,可在线阅读,更多相关《[工程科技]微机接口技术-5-1-并行接口(69页珍藏版)》请在金锄头文库上搜索。
1、 工程科技工程科技 微机接口技术微机接口技术-5-1-5-1-并行接口并行接口电子信息学院 沈 勇微机与接口技术q8255A的功能与结构q8255A的工作方式和编程q8255A的应用教学要点2电子信息学院 沈 勇微机与接口技术并行数据传输方式q以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据q适合于外部设备与微机之间进行近距离、大量和快速的信息交换I例如:微机与并行接口打印机、磁盘驱动器q微机系统中最基本的信息交换方法I例如:系统板上各部件之间,接口电路板上各部件之间3电子信息学院 沈 勇微机与接口技术接口电路的基本结构0 简单接口电路数据线数据线控制线控制线状态线
2、状态线DBCBAB数据输入寄存器数据输入寄存器(or 三态门三态门)数据输出寄存器数据输出寄存器(锁存器锁存器)状态寄存器状态寄存器(or 三态门三态门)命令寄存器命令寄存器译码译码电路电路控制控制逻辑逻辑4电子信息学院 沈 勇微机与接口技术 q数据输入/输出寄存器暂存输入/输出的数据q命令寄存器存放控制命令,用来设定接口功能、工作参数和工作方式。q状态寄存器保存外设当前状态,以供CPU读取。5电子信息学院 沈 勇微机与接口技术q数据输入接口I必须具有三态输出能力,以便与总线挂接必须具有三态输出能力,以便与总线挂接I外设有数据保持能力时可用三态门实现I外设无数据保持能力时用三态输出的锁存器实现
3、q数据输出接口I常用锁存器实现6电子信息学院 沈 勇微机与接口技术 q三态门:高电平、低电平、高阻态I通常一个器件中包含8个三态门I常用芯片:74LS244I应用例子:开关接口4工作波形图如下:A0A15IOR#译码输出D0D7开关状态开关状态地址有效地址有效7电子信息学院 沈 勇微机与接口技术例1:83FCH83FFH译码器8电子信息学院 沈 勇微机与接口技术q锁存器:由D触发器构成I通常一个器件包含8个D触发器I常用芯片:474LS273474LS374(具有三态输出的锁存器)I应用例子:发光二极管接口例2:74LS273译译码码器器=1=1.+5VRD0D7CPQ0Q7.D0D7A0A1
4、5IOW#R9电子信息学院 沈 勇微机与接口技术例3:输入/输出接口综合应用q根据开关状态在7段数码管上显示数字或符号I共阳极7段数码管结构I用74LS273作为输出接口,把数据送到7段数码管474LS273的地址假设为F0HI用74LS244作为输入口,读入开关K0K3的状态474LS244的地址假设为F1HI当开关的状态分别为00001111时,在7段数码管上对应显示0FI(7段码表见下页)10电子信息学院 沈 勇微机与接口技术 符号形状7段码.gfedcba符号形状7段码.gfedcba000111111801111111100000110901100111201011011A01110
5、111301001111B01111100401100110C00111001501101101D01011110601111101E01111001700000111F0111000111电子信息学院 沈 勇微机与接口技术O1 I1O2 I2O3 I3O4 I4E1# K0K3+5VGG2AG2BCBA1174LS244D0 Q0 | Q1D7 Q2 Q3 Q4CP Q5 Q6 Q7 abcdefgDP7406反相器反相器74LS273Rx81174LS138D0D7IOW#IOR#Y0Y1F0H = 0000 0000 1111 0000F1H = 0000 0000 1111 0001&
6、1A7A4A15A8A3A2A1A0D0D1D2D3译码器译码器12电子信息学院 沈 勇微机与接口技术相应程序段如下相应程序段如下:Seg7DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,67H,77H,7CH,39H,5EH,79H,71HLEABX, Seg7;取;取7段码表基地址段码表基地址MOVAH, 0GO:MOVDX, 0F1H;开关接口的地址为;开关接口的地址为F1HINAL, DX;读入开关状态;读入开关状态ANDAL, 0FH;保留低;保留低4位位MOVSI, AX;作为;作为7段码表的表内位移量段码表的表内位移量MOVAL, BX+SI ;取;
7、取7段码段码MOVDX, 0F0H;7段数码管接口的地址为段数码管接口的地址为F0HOUTDX, ALJMPGO13电子信息学院 沈 勇微机与接口技术1 并行接口芯片8255Aq具有多种功能的可编程并行接口芯片I最基本的接口电路:三态缓冲器和锁存器I与CPU间、与外设间的接口电路:状态寄存器和控制寄存器I还有端口的译码和控制电路、中断控制电路q分3个端口,共24个外设引脚q3种输入输出工作方式14电子信息学院 沈 勇微机与接口技术1.1 8255A的内部结构和引脚数据数据总线总线缓冲器缓冲器内部控制线内部控制线内部数据线内部数据线D0D7A组组控制控制A组组端口端口AA组组端口端口C上部上部B
8、组组控制控制B组组端口端口BB组组端口端口C下部下部读写读写控制控制逻辑逻辑PC0PC3PB0PB7PC4PC7PA0PA7RDWRA0A1CSRESET15电子信息学院 沈 勇微机与接口技术16电子信息学院 沈 勇微机与接口技术1)外设数据端口q端口A:PA0PA7IA组,支持工作方式0、1、2q端口B:PB0PB7IB组,支持工作方式0、1q端口C:PC0PC7I仅支持工作方式0IA组控制高4位PC4PC7IB组控制低4位PC0PC3n端口端口A:PA0PA7n常作数据端口,功能最强大常作数据端口,功能最强大n端口端口B:PB0PB7n常作数据端口常作数据端口n端口端口C:PC0PC7n可
9、作数据、状态和控制端口可作数据、状态和控制端口n分两个分两个4位,每位可独立操作位,每位可独立操作n控制最灵活,最难掌握控制最灵活,最难掌握17电子信息学院 沈 勇微机与接口技术2)与处理器接口CS* A1 A0I/O地址读操作RD*写操作WR*0 0 00 0 10 1 00 1 160H61H62H63H读端口A读端口B读端口C非法写端口A写端口B写端口C写控制字D0 D7数据线A0 A1地址线RD*读信号WR*写信号CS*片选信号RESET复位信号18电子信息学院 沈 勇微机与接口技术1.2 8255A的工作方式q方式0:基本输入输出方式I适用于无条件传送和查询方式的接口电路q方式1:选
10、通输入输出方式I适用于查询和中断方式的接口电路q方式2:双向选通传送方式I适用于与双向传送数据的外设I适用于查询和中断方式的接口电路19电子信息学院 沈 勇微机与接口技术方式0输入时序datadata输入端口输入端口D0D7RD CS,A1,A0请体会这里8255A的数据缓冲作用20电子信息学院 沈 勇微机与接口技术方式0输出时序WRdatadata输出端口输出端口D0D7 CS,A1,A08255A对CPU通过它输出给外设的数据进行锁存21电子信息学院 沈 勇微机与接口技术方式1输入引脚:A端口数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数
11、据PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中断允许触发器22电子信息学院 沈 勇微机与接口技术方式1输入引脚:B端口PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据中断允许触发器方式1需借用端口C用做联络信号同时还具有中断请求和屏蔽功能23电子信息学院 沈 勇微机与接口技术方式1输入联络信号qSTB*选通信号,低电平有效I由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器qIBF输入缓冲器满信号,高电平有效I8255A输
12、出的联络信号。当其有效时,表示数据已锁存在输入锁存器qINTR中断请求信号,高电平有效I8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据24电子信息学院 沈 勇微机与接口技术方式1输入时序dataINTRIBF data输入端口输入端口D0D7STBRDSTB*和IBF是外设和8255A间的一对应答联络信号,为的是可靠地输入数据25电子信息学院 沈 勇微机与接口技术方式1中断控制q8255A的中断由中断允许触发器INTE控制I置位允许中断,复位禁止中断q对INTE的操作通过写入端口C的对应位实现,INTE触发器对应端口C的位是作应答联络信号的输入信号的哪一位,只要对那一
13、位置位/复位就可以控制INTE触发器q选通输入方式下I端口A的INTEA对应PC4I端口B的INTEB对应PC226电子信息学院 沈 勇微机与接口技术方式1输出引脚:A端口外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中断允许触发器27电子信息学院 沈 勇微机与接口技术方式1输出引脚:B端口PC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允
14、许触发器28电子信息学院 沈 勇微机与接口技术方式1输出联络信号qOBF*输出缓冲器满信号,低有效I8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走qACK*响应信号,低有效I外设的响应信号,指示8255A的端口数据已由外设接受qINTR中断请求信号,高有效I当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据端口A的INTEA对应PC6端口B的INTEB对应PC229电子信息学院 沈 勇微机与接口技术方式1输出时序 INTR datadata输出端口输出端口D0D7WROBFACK OBF*和ACK*是外设和
15、8255A间的一对应答联络信号,为的是可靠地输出数据30电子信息学院 沈 勇微机与接口技术方式2双向方式q方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据q只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同q方式2的数据输入过程与方式1的输入方式一样q方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据31电子信息学院 沈 勇微机与接口技术方式2双向引脚PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBA
16、INTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号32电子信息学院 沈 勇微机与接口技术方式2双向时序data-out INTR data-outdata-indata-inPA0PA7D0D7IBF WROBFACKSTBRD33电子信息学院 沈 勇微机与接口技术1.3 8255A的编程q初始化编程:一个方式控制字I采用控制I/O地址:A1A011q工作过程中:通过数据端口对外设数据进行读写I数据读写利用端口A、B和C的I/O地址,A1A0依次等于00、01、10qIBM PC/XT机上,端口A、B、C和控制端口的I/O地址为60H
17、、61H、62H和63H34电子信息学院 沈 勇微机与接口技术1) 写入方式控制字:控制字格式35电子信息学院 沈 勇微机与接口技术例:某系统要求使用8255的A口工作于方式1作输入,B口工作于方式0作输出,C口上半部输入,下半部输出。8255端口地址为60H-63H。q控制字为:10111000B=0B8Hq初始化程序为:MOV AL,0B8H OUT 63H,AL36电子信息学院 沈 勇微机与接口技术2) 读写数据端口q初始化编程后:I当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据I当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备q8255A具有
18、锁存输出数据的能力I对输出方式的端口同样可以输入I不是读取外设数据I读取的是上次CPU给外设的数据37电子信息学院 沈 勇微机与接口技术例:利用8255A的输出锁存能力,可实现按位输出控制 q对输出端口B的PB7位置位的程序段:mov dx,0fffah;B端口假设为FFFAHin al,dx;读出B端口原输出内容or al,80h ;使PB71out dx,al ;输出新的内容38电子信息学院 沈 勇微机与接口技术3) 读写端口CqC端口被分成两个4位端口,两个端口只能以方式0工作,可分别选择输入或输出q在控制上,C端口上半部和A端口编为A组,C端口下半部和B端口编为B组q当A和B端口工作在
19、方式1或方式2时,C端口的部分或全部引脚将被征用q其余引脚仍可设定工作在方式039电子信息学院 沈 勇微机与接口技术对端口C的数据输出有两种办法:q通过端口C的I/O地址:向C端口直接写入字节数据。这一数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效q通过控制端口:向C端口写入位控字,使C端口的某个引脚输出1或0,或置位复位内部的中断允许触发器40电子信息学院 沈 勇微机与接口技术端口C的位控制字q位控制字写入控制端口q特别便于置位/复位内部中断允许触发器INTE41电子信息学院 沈 勇微机与接口技术例:(接上例) 若A口工作于方式1作输入,要使用中断传送方式,则应当写
20、PC4的按位置位字。q控制字为:00001001B=09HMOV AL,00001001BOUT 63H,AL 42电子信息学院 沈 勇微机与接口技术读取的C端口数据有两种情况q未被A和B端口征用的引脚:将从定义为输入的端口读到引脚输入信息;将从定义为输出的端口读到输出锁存器中的信息q被A和B端口征用作为联络线的引脚:将读到反映8255A状态的状态字43电子信息学院 沈 勇微机与接口技术D7D6D5D4D3D2D1D0方式1输入I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式1输出OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB方式2双向OBFAIN
21、TE1IBFAINTE2INTRA端口C的状态字A组组B组组44电子信息学院 沈 勇微机与接口技术例:下图采用一个8255芯片和软盘控制器相连,箭头标明了I/O的方向,根据该图,试写出8255A口的初始化程序。设8255端口地址为0300-0303H。 8255用作软盘基本接口用作软盘基本接口45电子信息学院 沈 勇微机与接口技术例: A口工作在方式2,PC4-PC7作应答联络信号线,PC3用作A组中断请求,PC0-PC2作输出。q工作方式控制字为:11XXX000B0C0Hq初始化程序为:MOV DX,303HMOV AL,0C0H;工作方式控制字OUT DX,ALMOV AL,000010
22、01BOUT DX,AL ;PC4置位,开放输入中断MOV AL,00001101BOUT DX,AL ;PC6置位,开放输出中断46电子信息学院 沈 勇微机与接口技术2 8255A的应用的应用作为通用的并行接口芯片,8255A具有广泛的应用:q应用在IBM PC/XT微机上q应用于打印机接口电路q连接简易键盘q驱动LED数码管q47电子信息学院 沈 勇微机与接口技术2.1 8255A在IBM PC/XT上的应用q工作在基本输入/输出方式0I端口A为方式0输入,用来读取键盘扫描码I端口B工作于方式0输出,例如控制扬声器等I端口C为方式0输入,读取系统状态和配置q系统的初始化编程:mov al,
23、10011001b;方式控制字99Hout 63h,al48电子信息学院 沈 勇微机与接口技术2.2 用8255A方式0与打印机接口BUSY DATA078255APC7PC2PA0PA7打印机打印机STROBE49电子信息学院 沈 勇微机与接口技术打印机接口的信号与时序(Centronics)q主机把数据送给引脚DATA0DATA7q同时送出数据选通信号STROBE*q打印机在BUSY信号线上发出忙信号q打印机处理好输入的数据时I撤消忙信号I同时又送出一个响应信号ACK*50电子信息学院 沈 勇微机与接口技术qCentronics并行打印接口标准51电子信息学院 沈 勇微机与接口技术8255
24、A的初始化mov dx,0fffeh;控制端口地址:FFFEHmov al,10000001B;方式控制字:91Hout dx,al;A端口方式0输出,C端口上输出、下输入mov al,00001111B;端口C的复位置位控制字,使PC71out dx,al例152电子信息学院 沈 勇微机与接口技术打印子程序:查询printcprocpush axpush dxprn: mov dx,0fffch;读取端口Cin al,dx;查询打印机状态and al,04h;PC2BUSY0?jnz prn;PC21,打印机忙,则循环等待例153电子信息学院 沈 勇微机与接口技术打印子程序:输出mov dx
25、,0fff8h;PC20,打印机不忙,则输出数据mov al,ahout dx,al;将打印数据从端口A输出例154电子信息学院 沈 勇微机与接口技术打印子程序:打印mov dx,0fffeh;从PC7送出控制低脉冲mov al,00001110B;置STROBE*0out dx,alnop;产生一定宽度的低电平nopmov al,00001111B;置=1out dx,al;最终,STROBE*产生低脉冲信号例155电子信息学院 沈 勇微机与接口技术打印子程序:返回pop dxpop axretprintcendp例156电子信息学院 沈 勇微机与接口技术2.3 用8255A方式1与打印机接
26、口1000pf2K15321441LS123单稳单稳电路电路+5VDATA078255APC6INTRPC3PC7PA0PA7打印机打印机ACKACKOBFSTROBE57电子信息学院 沈 勇微机与接口技术8255A方式1与打印机接口时序配合PA0PA7(DATA07)ACKOBFSTROBE58电子信息学院 沈 勇微机与接口技术8255A的初始化mov dx,0fffehmov al,0a0hout dx,almov al,0ch;使INTEA(PC6)为0,禁止中断out dx,almov cx,counter;打印字节数送CXmov bx,offset buffer;取字符串首地址cal
27、l prints;调用打印子程序例259电子信息学院 沈 勇微机与接口技术打印子程序:输出printsprocpush ax;保护寄存器push dxprint1:mov al,bx;取一个数据mov dx,0fff8hout dx,al;从端口A输出 例260电子信息学院 沈 勇微机与接口技术打印子程序:查询mov dx,0fffchprint2:in al,dxtest al,80h;检测(PC7)为1否?jz print2;为0,说明打印机没有响应,继续检测 例261电子信息学院 沈 勇微机与接口技术打印子程序:返回inc bx;为1,说明打印机已接受数据loop print1;准备取下
28、一个数据输出pop dx;打印结束,恢复寄存器pop axret;返回printsendp例262电子信息学院 沈 勇微机与接口技术2.4 双机并行通信接口PA0PA7PC4PC08255A甲方(发送)甲方(发送)PA0PA7PC7PC68255A已方(接收)已方(接收)63电子信息学院 沈 勇微机与接口技术甲机的初始化mov dx,0fffehmov al,0a0hout dx,al;工作方式字:端口A方式1输出mov al,0dh;使PC6(INTEA)1,允许中断out dx,al例364电子信息学院 沈 勇微机与接口技术甲机发送程序trsmt: mov dx,0fffchin al,d
29、x;查询PC3(INTRA)1?and al,08hjz trsmtmov dx,0fff8h;发送数据mov al,ahout dx,al例365电子信息学院 沈 勇微机与接口技术乙机的初始化mov dx,0fffehmov al,98hout dx,al;工作方式字:端口A方式0输入mov al,01h;使PC0(ACK*)1,因尚未收到数据out dx,al例366电子信息学院 沈 勇微机与接口技术乙机:查询接收receive:mov dx,0fffchin al,dx;查询PC4(OBF*)0?and al,10hjnz receivemov dx,0fff8h ;接收数据in al,dxmov ah,al例367电子信息学院 沈 勇微机与接口技术乙机:接收响应mov dx,0fffehmov al,00h;使PC0(ACK*)0out dx,alnop;适当延时,产生一定宽度的低脉冲nopmov al,01h;使PC0(ACK*)1out dx,al;产生低脉冲ACK*信号例368