资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,微机原理及应用第,10,章 并行接口芯片,*,微机原理及应用,第十章 并行接口芯片,2024/11/28,1,8255A,是,INTER,系列的并行接口芯片。它是可编程的,可以通过软件来设置芯片的工作方式。,一、,8255A,的内部结构,1,数据端口,A,、,B,、,C,每个端口:输入带缓冲寄存器,,输出带锁存寄存器。,2,A,组控制和,B,组控制,3,读,/,写控制逻辑电路,4,数据总线缓冲器,10.1,可编程并行,接口,8255A,2,3,5.,读写控制信号,RESET,:复位信号,高电平平有效。,D,7,D,0,:和数据线相连。,CS,:芯片选择信号,低电平有效。,RD,:芯片读出信号,低电平有效。,WR,:芯片写入信号,低电平有效。,A,1,、,A,0,:端口选择信号,。,A,1,、,A,0,=00,选中端口,A;,A,1,、,A,0,=01,选中端口,B;,A,1,、,A,0,=10,选中端口,C;,A,1,、,A,0,=11,选中控制端口,;,10.1,可编程并行,接口,8255A,4,8255,的引脚,5,思考:,8255,占用几个端口地址?各个端口分别对应什么?,端口,C,可以分为两组吗?,10.1,可编程并行,接口,8255A,6,控制字,:,分为两类,端口的方式选择控制字,,可使,8255A,的,3,个数据端口工作在不同的方式。,C,端口按位置,1/0,控制字,,,它可使,C,端口中的任何,一位,进行置位或复位。,8255A,的,3,种基本工作方式,:,方式,0,:基本的输入,/,输出方式,方式,1,:选通的输入,/,输出方式,方式,2,:双向的传输方式,10.1,可编程并行,接口,8255A,7,1.,方式控制字,10.1 可编程并行接口8255A,8,例,10,:设,A,端口工作方式0,输出,,B,端口工作于方式0,输入。,方式选择控制字:,1,0 0 0,1/,0,0 1,1/,0,=82H,方式选择,A,口方式,0,A,口输出,C,口,高位,不用,B,口方式,0,B,口输入,C,口,低位,不用,10.1 可编程并行接口8255A,9,注意:,端口,A,可以工作在,方式,0,、方式,1,或方式,2,;端口,B,只能工作在,方式,0,或方式,1,;端口,C,则常常配合端口,A,和端口,B,工作。,10.1,可编程并行,接口,8255A,10,2.,端口,C,置,1/0,控制字,1=,置,1,0=,置,0,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,端口,C,置,1/0,控制字,标志,0 0 0 PC0,0 0 1 PC1,0 1 0 PC2,0 1 1 PC3,1 0 0 PC4,1 0 1 PC5,1 1 0 PC6,1 1 1 PC7,图 端口,C,置,1/0,控制字,10.1,可编程并行,接口,8255A,11,注意:,C,端口置,1/0,控制字尽管是对端口,C,进行操作,但此控制字,必须写入控制口,,而不是写入,C,端口。,置,1/0,控制字的,D0,决定了是置,1,操作还是置,0,操作。,置,1/0,控制字的,D3,、,D2,、,D1,位决定了对,C,端口的那一位进行操作。,10.1,可编程并行,接口,8255A,12,例,:设,8255A,的控制口地址为,00EEH,,要求对端口,C,的,PC7,置,1,,则控制字,0000,111,1,B=0FH,,要求对端口,C,的,PC3,置,0,,控制字为,0000,011,0,B=06H,。,下面的程序可以实现上述要求:,MOV AL ,0FH ;,对,PC7,置,1,的控制字,MOV DX ,00EEH ;,控制口地址送,DX,OUT DX ,AL ;,对,PC7,置,1,操作,MOV AL ,06H ;,对,PC3,置,0,的控制字,OUT DX ,AL ;,对,PC3,进行置,0,的操作,10.1 可编程并行接口8255A,13,8255A,的工作方式,0,8255A,的,3,种基本工作方式:,方式,0,:基本的输入,/,输出方式,方式,1,:选通的输入,/,输出方式,方式,2,:双向的传输方式,10.2 8255A工作方式,14,一、方式,0-,基本输入输出方式功能,任何一个端口可以作为输入口,也可以作为输出口。,各个端口输入或输出,可以有,16,种不同的组合,所以可以适用于多种使用场合。,方式,0,使用场合,两种:一种是同步传送,,另一种是查询式传送。,10.2 8255A工作方式,15,10.2 8255A,工作方式,特点,1,),0,方式是一种,基本输人输出,工作方式。不用联络信号,或不使用固定的联络信号,因此,所谓基本,I/0,方式是指查询方式传送,也包括无条件传送。,2,)在,0,方式下,彼此独立的两个,8,位和两个,4,位并行口,共,24,根,I/O,线全部由用用户支配,都能被指定作为输入或者作为输出用,共有,16,种不同的使用组态。要特别强调的是,在,0,方式下,只能把,C,口的高,4,位为一组或低,4,位为一组同时输人或输出,不能再把,4,位中一部分作为输入,另一部分作为输出。,16,10.2 8255A,工作方式,3,)在,0,方式下,不设置专用联络信号线,需要联络时,可由用户任意指定,C,口中的哪根线完成某种联络功能,这与后面要讨论的在,l,方式、,2,方式下设置固定的专用联络信号线不同。由于无固定的专用联络信号,因此也就在端口与,I/O,设备之间无固定的时序关系。,4,)是单向,I/O,,一次初始化只能指定端口(,PA,,,PB,和,PC,)作输入或作输出,不能指定端口同时既作输入又作输出。,17,方式,0,的时序,10.2 8255A工作方式,18,例,:,用,8255A,控制三个发光二极管依秩序循环显示。,8255A,A,0,A,1,CS,+5V,200,译码器,D,7,D,0,地址线,8088,CPU,A0,A1,A,0,PA0,PA1,PA2,10.2 8255A工作方式,19,用,8255A,控制三个发光二极管显示。,8255A,的端口地址为:,A,端口:,340H,B,端口:,341H,C,端口:,342H,控制口:,344H,试编写,8255,初始化程序段和控制三个发光二极管显示程序段。,10.2 8255A工作方式,20,开始,8255A,初始化,延时,BX,显示代码地址,CX=0?,Y,N,BX=BX+1,CX=CX-1,CX,3,输出到,A,口,1,、程序框图:,21,2,、软件设计,1,)设,A,口为输出口,方式,0,。,B,口输入,方式,0,,则方式选择控制字为,82H,。,2,),A,口输出代码:,0000 0,110,06H,,,1,号发光二极管亮,0000 0,101,05H,,,2,号发光二极管亮,0000 0,011,03H,,,3,号发光二极管亮,3,)软件延时,(1).1ms,的软件延时参考程序:,设系统的,CPU,的频率为,8MHZ,,则时钟节拍为:,0.125,微秒。执行,PUSHF,、,POPF,、,LOOP,指令需,29,个节拍。延迟,1,毫秒要循环的次数:,10.2 8255A工作方式,22,参考程序:,DATA SEGMENT,COTR EQU 344H,;,8255A,控制口地址,PB_A EQU 340H,;,8255A,的,A,口地址,LED DB 06H,,,05H,,,03H,;,LED,显示值,DATA ENDP,CODE SEGMENT,ASSUME CS:CODE,DS:DATA,.,MOV DX,COTR,MOV AL,82H ;,方式,0,OUT DX,AL ;A,口为输出,B,口为输入,MOV DX,PB_A ;A,口地址,10.2 8255A工作方式,23,LP:MOV CX,3,LEA BX,LED ;1,号灯代码地址,DON:MOV AL,BX,OUT DX,AL ;1,2,3,循环点亮,CALL DELAY ;,调延时程序,INC BX,DEC CX,JNZ DON,JMP LP,DEALY PROC NEAR ;,软件延时,.,DEALY ENDP,CODE ENDS,END,10.2 8255A工作方式,24,方式,1,选通的输入输出方式,数据输入输出要在,选通信号,控制下工作,.,端口,A,和,端口,B,可以分别作为两个数据口工作于方式,1,,并且,任何一个端口可以为输入口或输出口,。,1),方式,1,输入,:,A,口控制信号的定义,:,1,0,1,1,1/0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,PC6.PC7,1=,输入,0=,输出,A,口方式,1,输入,10.2 8255A工作方式,25,1,0,1,1,1/0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,方式,1,PC,6.,PC,7,1=,输入,0=,输出,端口,A,输入,1,1,1,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,端口,B,输入,方式,1,图,方式,1,输入有关信号的规定,RD,PA,7,PA,0,INTE,A,PC4,PC,5,PC,3,PC,6,.,PC,7,I O,INTR,A,IBF,A,STB,A,RD,INTE,B,PC,2,PC1,PC0,PC,7,PC,0,STB,B,IBF,B,INTR,B,26,选同信号输入端,低电平有效,输入缓冲区满信号,,它是,8255,送往,CPU,的中断请求,信号,高电平有效。,中断允许信号,INTE,由,PC4,置“,1”,INTR,有效,A,口方式,1,输入有关信号的规定,RD,PA,7,PA,0,INTE,A,PC4,PC,5,PC,3,PC,6,.,PC,7,I O,INTR,A,IBF,A,STB,A,数据输入口,IBF,A,INTE,A,INTR,A,D7 D6 D5 D4 D3 D2 D1 D0,27,10.2 8255A工作方式,28,1,0,1,0,1/0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,方式,1,PC,4.,PC,5,1=,输入,0=,输出,端口,A,输出,1,1,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,端口,B,输出,方式,1,WR,INTE,B,PC,2,PC1,PC0,PC,7,PC,0,ACK,B,OBF,B,INTR,B,图方式,1,输出有关信号的规定,WR,PA,7,PA,0,INTE,A,PC,6,PC,7,PC,3,PC,4.,PC,5,I O,INTR,A,OBF,A,ACK,A,29,30,PC,口状态字,31,10.2 8255A,工作方式,特点,a.1,方式是一种选通,输人输出,方式或叫,应答方式,,因此,需设置专用的联络信号线或应答信号线,以便对,I/O,设备和,CPU,两侧进行联络。,b.PA,和,PB,为数据口,而,PC,口的大部分引脚分配作专用(固定)的联络信号用,对已经分配作联络信号的,C,口引脚,用户不能再指定作其他用途。,c.,各联络信号线之间有固定的时序关系,传送数据时,要严格按照时序进行。,d.,输人输出操作过程中,产生固定的状态字,这些状态信息可作为查询或中断请求之用。状态字从,PC,口读取。,e.,单向传送。一次初始化只能设置在一个方向上传送,不能同时作两个方向的传送。,32,例,:,8255A,端口,A,工作在方式,1,A,口输入,允许,A,口中断,编写初始化程序。,MOV DX,,,PCTR,;控制口地址送,DX,MOV AL,,,1,01,1,0000B,;,A,口方式,1,输入,OUT DX,,,AL,MOV AL,,,0,000,100,1B,;置,PC,4,=1,,允许中断,OUT DX,,,AL,;,10.2 8255A工作方式,33,10.2 8255A,工作方式,例:两种方式并行传送接口
展开阅读全文