《《并行接口芯片》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《并行接口芯片》PPT课件.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章第八章 并行接口芯片并行接口芯片 教学重点教学重点 8255A8255A的功能的功能 8255A 8255A的内部结构、引脚的内部结构、引脚 8255 8255的工作方式和编程的工作方式和编程 8255 8255的应用的应用并行数据传输方式并行数据传输方式n并行传输以计算机的字长为传输单位(通常并行传输以计算机的字长为传输单位(通常是是8 8位、位、1616位或位或3232位),一次传送位),一次传送1 1个字长的个字长的数据数据n并行传输微机系统中最基本的信息交换方法并行传输微机系统中最基本的信息交换方法例如:系统板上各部件之间,接口电路板上各部例如:系统板上各部件之间,接口电路板上各
2、部件之间件之间n适合于外部设备与微机之间进行近距离、大适合于外部设备与微机之间进行近距离、大量和快速的信息交换量和快速的信息交换例如:微机与并行接口打印机、磁盘驱动器例如:微机与并行接口打印机、磁盘驱动器第一节第一节 可编程输入输出可编程输入输出接口接口8255A 8255A8255A是是INTERINTER系列的并行接口芯片。系列的并行接口芯片。它是可编程的,可以通过软件来设置芯片它是可编程的,可以通过软件来设置芯片的工作方式。的工作方式。一、一、8255A8255A的结构的结构 1 1 1 1数据端口数据端口A A、B B、C C,每个端口,每个端口8 8个引脚,共个引脚,共2424个个I
3、/OI/O引脚,各端口共有引脚,各端口共有3 3种输入输出工作方式种输入输出工作方式基本输入基本输入/输出(输出(A/B/CA/B/C口)口)选通输入或选通输出(选通输入或选通输出(A/BA/B口)口)双向选通(双向选通(A A口)口)8255A的内部结构和引脚的内部结构和引脚数据数据总线总线缓冲器缓冲器内部控制线内部控制线内部数据线内部数据线D0D7A组组控制控制A组组端口端口C上部上部B组组控制控制B组组端口端口BB组组端口端口C下部下部读写读写控制控制逻辑逻辑PC0PC3CL口口PB0PB7B口口PC4PC7CH口口PA0PA7A口口RDWRA0A1CSRESETA组组端口端口A4.4.
4、读写控制信号读写控制信号RESETRESET:复位信号,低电平有效。:复位信号,低电平有效。D D7 7D D0 0:和数据线相连。:和数据线相连。CSCS :芯片选择信号,低电平有效。:芯片选择信号,低电平有效。RDRD :芯片读出信号,低电平有效。:芯片读出信号,低电平有效。WRWR :芯片写入信号,低电平有效。:芯片写入信号,低电平有效。A A1 1、A A0 0:端口选择信号。:端口选择信号。A A1 1、A A0 0=00,=00,选中端口选中端口A;A;A A1 1、A A0 0=01,=01,选中端口选中端口B;B;A A1 1、A A0 0=10,=10,选中端口选中端口C;C
5、;A A1 1、A A0 0=11,=11,选中控制端口选中控制端口;二、二、8255A的工作方式的工作方式 P343n方式方式0:基本输入输出方式:基本输入输出方式(不带联络)(不带联络)适用于无条件传送和查询方式的接口电路适用于无条件传送和查询方式的接口电路n方式方式1:选通输入输出方式:选通输入输出方式(带输入联络或输出(带输入联络或输出联络)联络)适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路n方式方式2:双向选通方式:双向选通方式(同时带输入联络和输出(同时带输入联络和输出联络)联络)适用于可双向传送数据的外设适用于可双向传送数据的外设适用于查询和中断方式的接口电路适用
6、于查询和中断方式的接口电路 8255A的控制字的控制字一一.控制字控制字:分为两类。分为两类。n 芯片各端口的方式选择控制字,它可以使芯片各端口的方式选择控制字,它可以使8255A8255A的的3 3个数据端口工作在不同的工作方个数据端口工作在不同的工作方式。式。n C C端口按位置端口按位置1/01/0控制字,它可以使控制字,它可以使C C端口端口中的任何一位进行置位或复位。中的任何一位进行置位或复位。8255A8255A的的3 3种基本工作方式:种基本工作方式:方式方式0 0:基本的输入:基本的输入/输出方式输出方式 方式方式1 1:选通的输入:选通的输入/输出方式输出方式 方式方式2 2
7、:双向的传输方式:双向的传输方式1.1.方式控制字方式控制字2.2.端口端口C C置置1/01/0控制字控制字0 D7 D6 D5 D4 D3 D2 D1 D01=置置10=置置0端口端口C置置1/0控制字控制字0 0 0 PC00 0 1 PC10 1 0 PC20 1 1 PC31 0 0 PC41 0 1 PC51 1 0 PC61 1 1 PC7端口端口C置置1/0控制字控制字例例1:设:设A端口工作方式端口工作方式0,输出,输出,B端口工作于方式端口工作于方式0,输入。,输入。方式选择控制字:方式选择控制字:1 0 0 0 1/0 0 1 1/0 =10000010=82H 方方式式
8、选选择择A口口方方式式0A口口输输出出C口口高高位位不不用用B口口方方式式0B口口输输入入C口口低低位位不不用用注意注意:端口端口A A可以工作在可以工作在3 3种工作方式中的任种工作方式中的任意一种意一种;端口端口B B只能工作在方式只能工作在方式0 0或方式或方式1;1;端口端口C C被分为高被分为高4 4位和低位和低4 4位位,可以分别可以分别工作在输入方式和输出方式,并不要工作在输入方式和输出方式,并不要求同为输入方式或同为输出方式求同为输入方式或同为输出方式.n n例例例例2 2:设:设8255A的控制口地址为的控制口地址为00EEH,要求对,要求对端口端口C的的PC7置置1,则控制
9、字,则控制字00001111B=0FH,要求对端口要求对端口C的的PC3置置0,控制字为,控制字为00000110B=06H。n下面的程序可以实现上述要求:下面的程序可以实现上述要求:MOV AL ,0FH ;对对PC7置置1的控制字的控制字 MOV DX ,00EEH ;控制口地址送控制口地址送DX OUT DX ,AL ;对对PC7置置1操作操作 MOV AL ,06H ;对对PC3置置0的控制字的控制字 OUT DX ,AL ;对对PC3进行置进行置0的操作的操作三、方式三、方式0的功能的功能1.1.方式方式0-0-基本输入输出方式基本输入输出方式 任何一个端口可以作为输入口,也可以作为
10、任何一个端口可以作为输入口,也可以作为输出口,各端口之间没有规定必须的关系。输出口,各端口之间没有规定必须的关系。各个端口输入或输出,可以有各个端口输入或输出,可以有1616种不同的组种不同的组合,所以可以适用于多种使用场合。合,所以可以适用于多种使用场合。方式方式0 0使用场合使用场合 两种:两种:一种是同步传送,一种是同步传送,另一种是查询式传送。另一种是查询式传送。2 2 方式方式11选通的输入输出方式选通的输入输出方式n数据输入输出要在选通信号控制下工作数据输入输出要在选通信号控制下工作.n端口端口A A和端口和端口B B可以分别作为两个数据口工作可以分别作为两个数据口工作于方式于方式
11、1 1,并且,任何一个端口可以为输入口,并且,任何一个端口可以为输入口或输出口或输出口。1)1)方式方式1 1输入输入:A:A口控制信号的定义口控制信号的定义:10 11 1/0 D7 D6 D5 D4 D3 D2 D1 D0方式方式1PC4.PC51=输入输入0=输出输出端口端口A输入输入RDPA7PA0INTE APC4PC5PC3PC6.PC7I OINTRAIBFASTBA选同信号输入端,低电平有效选同信号输入端,低电平有效输入缓冲区满信号,低电平有效输入缓冲区满信号,低电平有效它是它是82558255送往送往CPUCPU的中断请求的中断请求信号,高电平有效。信号,高电平有效。中断允许
12、信号中断允许信号,INTE,INTE由由STB(PC4)STB(PC4)置置“1”,INTR“1”,INTR有效有效A口方式口方式1输入有关信号的规输入有关信号的规定定11 1 D7 D6 D5 D4 D3 D2 D1 D0端口端口B输入输入方式方式1 RDINTE BPC2PC1PC0PB7PB0STBBIBFBINTRB图图1:B口口方式方式1输入输入有关信号的规定有关信号的规定选同信号输入端,低电平有效选同信号输入端,低电平有效输入缓冲区满信号,低电平有效输入缓冲区满信号,低电平有效它是它是82558255送往送往CPUCPU的中断请求的中断请求信号,高电平有效。信号,高电平有效。中断允
13、许信号中断允许信号,INTE,INTE由由STB(PC2)STB(PC2)置置“1”,INTR“1”,INTR有效有效2 2)方式)方式1 1输出输出 OBF(Output Buffer Full)输出缓冲器满信)输出缓冲器满信号,低电平有效。号,低电平有效。ACK(Acknowledge):外设响应信号,它):外设响应信号,它是由外设送给是由外设送给8255A的,低电平有效。的,低电平有效。INTR(Interrupt Request):中断请求信号,):中断请求信号,高电平有效。高电平有效。INTE(Interrupt Enable):中断允许信号。):中断允许信号。为为1时,使端口处于中
14、断允许状态,而为时,使端口处于中断允许状态,而为0时,时,使端口处于中断屏蔽状态。使端口处于中断屏蔽状态。10 10 1/0 D7 D6 D5 D4 D3 D2 D1 D0方式方式1PC4.PC51=输入输入0=输出输出端口端口A输出输出图图:A口方式口方式1输出有关信号的规定输出有关信号的规定WRPA7PA0INTE APC3PC6PC7PC4.PC5I OINTRAOBFAACKA输出缓冲区满信号,低电平有效输出缓冲区满信号,低电平有效外设响应信号外设响应信号,是外设送给是外设送给8255A的的中断请求信号中断请求信号中断允许信号中断允许信号,INTE,INTE由由PC6(ACKPC6(A
15、CKA A)置置“1”,INTR“1”,INTR有效有效11 0 D7 D6 D5 D4 D3 D2 D1 D0端口端口B输出输出方式方式1WRINTE BPC0PC2PC1PC7PC0ACKBOBFBINTRB中断允许信号中断允许信号,INTE,INTE由由ACKACKB B(PC2)(PC2)置置“1”,INTR“1”,INTR有效有效输出缓冲区满信号,高电平有效输出缓冲区满信号,高电平有效外设响应信号外设响应信号,是外设送给是外设送给8255A的的中断请求信号中断请求信号B口方式口方式1输出有关信号的规定输出有关信号的规定3)3)方式方式1 1的使用场合的使用场合 在采用中断方式进行输入
16、在采用中断方式进行输入/输出的场合,如果外部设备输出的场合,如果外部设备能为能为8255A8255A提供选通信号或着数据接收应答信号,那么,通提供选通信号或着数据接收应答信号,那么,通常使用常使用8255A8255A的端口工作方式的端口工作方式1 1的情况。的情况。D7 D6 D5 D4 D3 D2 D1 D011端口端口A方式方式B组方式组方式0=方式方式01=方式方式1PC7PC01=输入输入0=输出输出端口端口B1=输入输入0=输出输出3.3.方式方式22双向传输方式双向传输方式 方式方式2 2只适用于端口只适用于端口A A 端口端口A A工作于方式工作于方式2 2时,端口时,端口C C
17、用用5 5个数位自动配个数位自动配合端口合端口A A提供控制。提供控制。PC2PC0PC4PC5PC6PC7PC3 INTE1 INTE2I O IBFA STBA ACKA OBFA INTRAWRRDPA7 PA0方式方式2的控制信号的控制信号输出缓冲区满信号输出缓冲区满信号外设收到数据外设收到数据,发响应信号发响应信号外设准备好数据外设准备好数据,发选通信号发选通信号8255A8255A收到数据收到数据,向外设向外设发输入缓冲区满信号发输入缓冲区满信号 8255A使用举例使用举例:例例1 1、用、用8255A8255A控制三个发光二极管依秩序循环显示。控制三个发光二极管依秩序循环显示。1
18、 1、硬件设计:、硬件设计:PA0 PA1 PA28255AA0A1 PB0CS+5V200+5V2K译译码码器器D7 D0地地址址线线8086CPUn用用8255A8255A控制三个发光二极管显示。假设开关控制三个发光二极管显示。假设开关闭合时,点亮发光二极管,开管断开时息灭二闭合时,点亮发光二极管,开管断开时息灭二极管。极管。8255A8255A的端口地址为:的端口地址为:A A 端口:端口:0040H0040H B B 端口:端口:0042H 0042H C C 端口:端口:0044H0044H 控制口:控制口:0046H0046H 试编写试编写82558255初始化程序段和控制三个发光
19、初始化程序段和控制三个发光二极管显示程序段。二极管显示程序段。开始开始8255A初始化初始化延时延时2号亮号亮延时延时3号亮号亮1号亮号亮延时延时启动启动?Y返回返回DOSNn2 2、软件设计、软件设计1)设)设A口为输出口,方式口为输出口,方式0。B口输入,方式口输入,方式0,则,则方式选择控制字为方式选择控制字为82H。2 2)A A口输出代码:口输出代码:0000 0110 06H ,1 1号发光二极管亮号发光二极管亮 0000 0101 03H ,2 2号发光二极管亮号发光二极管亮 0000 0011 04H ,3 3号发光二极管亮号发光二极管亮3 3)软件延时)软件延时(1).1ms
20、(1).1ms的软件延时参考程序:的软件延时参考程序:设系统的设系统的CPUCPU的频率为的频率为8MHZ8MHZ,则时钟节拍为:,则时钟节拍为:0.1250.125微秒。执行微秒。执行PUSHFPUSHF、POPFPOPF、LOOPLOOP指令需指令需2929个个节拍。延迟节拍。延迟1 1毫秒要循环的次数:毫秒要循环的次数:DELAY PROC NEARDELAY PROC NEAR PUSH CX PUSH CXSTAR20TSTAR20T:MOV CXMOV CX,275 275 ;送循环次数;送循环次数 LP1 LP1:PUSHF PUSHF ;PUSHFPUSHF、POPFPOPF、
21、LOOPLOOP需需2929个节拍。个节拍。POPF POPF LOOP LP1 LOOP LP1 POP CX POP CX RET RETDELAY ENDPDELAY ENDPnDATA SEGMENTnport3 EQU 046H ;8255A控制口地址控制口地址nport1 EQU 040H ;8255A的的A口地址口地址nport2 EQU 042H ;8255A的的B口地址口地址nLED DB 06H,03H,04H;LED显示值显示值nDATA ENDPnSTACK SEGMENTnSTA1 DW 50 DUP(?)(?)nTOP1 EQU LENGTH STA1nSTACK
22、ENDPnCODE SEGMENTn ASSUME CS:CODE,DS:DATA,SS:STACKn.nMOV DX,port3nMOV AL,82H ;方式方式0n OUT DX,AL ;A口为输出口为输出,B口为输入口为输入nDON:MOV DX,port2 ;B口地址口地址n MOV AL,DX ;读读 B口输入值口输入值n AND AL,01H ;测测 PB0=0?启动?启动?n JNZ DON ;非非0,退出;否则退出;否则,使灯亮使灯亮 n MOV DX,port1 ;A口地址口地址n MOV BX,OFFSET LED ;1号灯代码地址号灯代码地址n MOV AL,BX n O
23、UT DX,AL ;1号灯亮号灯亮n CALL DELAY ;调延时程序调延时程序n INC BXn MOV AL,BXn OUT DX,AL ;2号灯亮号灯亮,1号灯灭号灯灭n CALL DELAY n INC BX n MOV AL,BXn OUT DX,AL ;3号灯亮号灯亮,2号灯灭号灯灭n CALL DELAY n JMP DONnEXIT:MOV AH,4CHn INT 21Hn .n DEALY PROC NEAR ;软件延时软件延时n .n RETn DEALY ENDPnCODE ENDSn END例例2 2:8255A:8255A工作于方式工作于方式1,1,作为用中断方式工
24、作的作为用中断方式工作的Centronics 360Centronics 360字符打印机的接口字符打印机的接口.A A端口为数据口,方式端口为数据口,方式1 1,输出方式,输出方式,PC7PC7作为作为输出缓冲器满输出缓冲器满OBFOBF信号,信号,PC6PC6作为外设响应信作为外设响应信号号ACKACK,PC3PC3作为作为INTRINTR信号。信号。端口地址端口地址:A端口:端口:00C0H,B端口:端口:00C2H C端口:端口:00C4H 控制口:控制口:00C6H;控制字:控制字:1010 0000B=0A0HOBF注意注意:当当ACK为低时为低时,OBF为高为高.1).初始化初始
25、化8255A程序段程序段:MOV AL,0A0H ;主程序段主程序段 OUT 0C6H,AL ;设置设置8255A的控制字的控制字 MOV AL,0CH ;置置PC6=1控制字控制字 OUT 0C4H,AL ;使使INTE(PC6)为为0,禁止中断禁止中断2).用查询方式输出用查询方式输出10个字符程序段个字符程序段:MOV CX,10 MOV SI,OFFSET BUF ;取缓冲区首地址取缓冲区首地址P1:MOV AL,DI ;取一个字符取一个字符 MOV 0C0H,AL ;从从A口输出口输出P2:MOV AL,0C4 ;读口读口C TEST AL,80H ;检测检测OBF(PC7)为为1?
26、JZ P2 ;为为0,继续检测继续检测 INC DI ;为为1,数据已输出数据已输出,准备下次输准备下次输出出 LOOP P1n例题例题:8255端口端口A工作于方式工作于方式0,输出输出8位数字信位数字信息到息到DAC0832;端口端口B工作于方式工作于方式1输入输入,接收接收模数转换输入信号模数转换输入信号.n8255方式方式0输出输出,控制字控制字:1 0 0 0 0 1 1 0=86H方方式式选选择择A口口方方式式0A口口输输出出C口口高高4输输出出B口口方方式式1B口口输输入入C口口低低位位不不用用PC2自动作自动作STB信号信号,PC7作作ADC0809的启动转换信号的启动转换信号
27、.8086CPU8255ADAC0832ADC0809PA7PA0PB7PB0PC2PC7控控制制系系统统D7D0PC0D7D0D7D0INTRIN0STARTEOC1)初始化初始化8255A:nMOV DX,8255_CTRL;8255A控制端口地址送控制端口地址送DXnMOV AL,86H ;设设8255端口方式端口方式0输出输出,端口端口B方式方式1输入输入nOUT DX,AL ;C口高口高4位输出位输出nMOV AL,05HnMOV DX,AL ;置置PC2=1,允许中断允许中断2)用用8255A的的PC7启动启动ADC0808:n MOV DX,8255_C ;8255A端口端口C地
28、址送地址送DXnMOV AL,80H ;PC7输出输出1nOUT DX,ALnMOV AL,0nOUT DX,AL ;PC7输出输出0,启动启动ADC0809 n;-sound-;DI=freq,bx=delaytimensound proc nearn push axn push bxn push cxn push din mov al,0b6h ;Timer2,MODE3n out 43h,aln mov dx,0020hn mov ax,34dehn div din out 42h,aln mov al,ahn out 42h,aln in al,61h ;read PBn mov ah,aln or al,3 ;PB0=1,PB1=1n out 61h,aln wait1:mov cx,07fffhn delay:loop delayn dec bxn jnz wait1n mov al,ahn out 61h,aln pop din pop cxn pop bxn pop ax n retn sound endp