《《可编程接口》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《可编程接口》PPT课件.ppt(19页珍藏版)》请在三一办公上搜索。
1、,9.3 8255并行接口电路,并行接口电路:,并行接口电路中每个信息位有自己的传输线,一个数据字节各位可并行传送,速度快,控制简单。由于电气特性的限制,传输距离不能太长。,8255A的内部结构:,9.3 8255并行接口电路,三个8位数据口:A口:PA0PA7B口:PB0PB7C口:PC0PC7,8255A的内部结构:,9.3 8255并行接口电路,8255A的口地址及操作:,9.3 8255并行接口电路,8255A工作方式:,9.3 8255并行接口电路,三种式作方式:方式,方式,方式,方式0:无条件输入或输出方式,直接传送方式,无任何联络线。三个端口为8位独位的输入输出接口,输出锁存,输
2、入缓冲。,8255A工作方式:,9.3 8255并行接口电路,IBF:输出高电平有效,通知外设数据未取走。,INTRA:中断请求,输出高电平向CPU申请中断。,PC6PC7按位操作,输入或输出。,方式1:条件输出或输入,带联络线输入或输出。分为A组或B组。,PC4对外是输入信号,不受置位复位的影响。,8255A工作方式:,9.3 8255并行接口电路,方式1 A口输入操作:,8255A工作方式:,9.3 8255并行接口电路,方式1 B口输入操作:,IBF:输出高电平有效,通知外设数据未取走。,INTRB:中断请求,输出高电平向CPU申请中断。,8255A工作方式:,9.3 8255并行接口电
3、路,方式1 A口输出操作:,INTRA:中断请求,输出高电平向CPU申请中断。,8255A工作方式:,9.3 8255并行接口电路,方式1 B口输出操作:,INTRB:中断请求,输出高电平向CPU申请中断。,8255A工作方式:,9.3 8255并行接口电路,方式2及操作:双向条件输出输入,只有A组能工作在方式2,此时B口可工作在方式0,未用的C口可按位操作。,IBF:输出高电平有效,通知外设数据未取走。,INTRA:中断请求,输出高电平向CPU申请中断。,PC0PC2按位操作,输入或输出。,8255A的初始化编程:,9.3 8255并行接口电路,将方式字写入控制寄存器规定其工作方式。,825
4、5A的方式字:,8255A的初始化编程:,9.3 8255并行接口电路,将复位/置位字写入控制寄存器规定C口的位状态。,8255A的C口位操作字:,D7,X,X,X,D3,D2,D1,D0,复位/置位选择1=置位 0=复位,0,0 0 0=PC00 0 1=PC10 10=PC20 1 1=PC31 0 0=PC41 0 1=PC51 1 0=PC61 1 1=PC7,复位/置位字标志,不用,8255A的应用:,9.3 8255并行接口电路,如图所示,8255A口地址40H,A口工作在方式0输出,B口工作在方式1输入,C口的PC5输出为1。,方式字:10000110B复位置位字:0000101
5、1B初始化程序:MOVAL,10000110BOUT43H,ALMOVAL,00001011BOUT43H,AL,口地址为A口:40HB口:41HC口:42H控制寄存器口:43H,8255用作查询式打印机接口电路连接和打印机各信号的时序如图所示,8255的端口地址为380H383H,工作于方式0,试编写一段程序,将数据区中变量DATA的8位数据送打印机打印,并写上注释。,8255工作方式:A口:方式0输出,C口:上半口输出,下半口输入 方式字:1000 0001B=81H,算法:(1)查询BUSY=1忙,=0空(2)A口输出数据(3)PC7低电平锁存数据到打印机,8255A的应用:,第八章 可
6、编程接口芯片及应用,MOVAL,81H;初始化8255MOVDX,383HOUTDX,ALPC2:DECDXINAL,DX;PC2=1忙,=0送数据TESTAL,0000 00100JNZPC2MOVAL,DATA;数据送入A口MOVDX,380HOUTDX,ALMOVDX,383HMOVAL,0000 1110B;PC7置0,接收数据打印 OUTDX,ALNOPMOVAL,0000 1111B;PC7置1OUTDX,AL,8255A的应用:,8255A的应用:,9.3 8255并行接口电路,键盘接口:编码和非编码,编码键盘提供按键的编码信息。非编码键盘由一组开关组成,由程序识别按建并分配实际
7、意义。如图所示为8255A组成的非编码键盘接口电路。图中端口A工作在方式0,输出口端口B也工作在方式0、输入口。,检测键盘输入:1)检测有按下的键?a.端口A输出全“0”到行线上。b.读端口B口,全“1”,无键闭合;否则,有键按下。2)查找闭合键所在的行编码。a.分别在端口A的每根引线上送出低电平信号。b.读B口,不为“1”,该行有键按下。3)查闭合键的列编码。B口读人字节中“0”所在的位。即为按下键的列位置。,键盘接口:,9.3 8255并行接口电路,PORTA EQU 0300H PORTB EQU 0301H PORTC EQU 0302HPORTCN EQU 0303H MOVDX,P
8、ORTCN;端口A、B方式0 MOVAL,10000010B;A输出,B为输入 OUT DX,ALWAITK:MOVDX,PORTA;等待键闭合 MOVAL,0;行码送全“0”OUT DX,AL MOVDX,PORTB;读列码 IN AL,DX CMP AL,0FFH;JZWAITK;无键按下,继续等待 MOVBL,0;扫描,送键号初值 MOVBH,11111110B;初始扫描行码FEH MOV CX,8FNDROW:MOVAL,BH;送行码 MOV DX,PORTA OUTDX,AL ROLBH,1;修改行码 MOVDX,PORTB;读列码 IN AL,DX CMP AL,OFFH JNZFNDCOL;有键按下,查列号 ADDBL,8;指向下一行键号初值 LOOP FNDROW;8行扫描 JMPDONE;8行扫描完,无键按下,FNDCOL:ROR AL,1;查所在列 JNC RIGHT INC BL;键号加1,查下一列 JMP FNDCOLRIGHT:;键的编号在BL中:,课后作业:P350(374)8.5 8.17,