欢迎来到天天文库
浏览记录
ID:44116783
大小:1.05 MB
页数:88页
时间:2019-10-18
《第9章 常用外设与通信接口》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第9章常用外设与通信接口张明武scauzhang@hotmail.com华南农业大学信息(软件)学院19.1可编程并行接口芯片82C558255具有2个独立的8位I/O口(A口和B口)和2个独立的4位I/O(C口上半部和C口下半部),提供TTL兼容的并行接口。作为输入时提供三态缓冲器功能,作为输出时提供数据锁存功能。其中,A口具有双向传输功能。8255有3种工作方式,方式0、方式1和方式2,能使用无条件、查询和中断等多种数据传送方式完成CPU与I/O设备之间的数据交换。B口和C口的引脚具有达林顿复合晶体管驱动能力,在1.5V时输出1mA电流,适于作输出端口。C口除用做数据口外,当8255工作
2、在方式1和方式2时,C口的部分引脚作为固定的联络信号线。9.1.18255的基本功能21.内部结构9.1.28255的内部结构和外部引脚32.外部引脚48255的端口与操作选择表A1A0DR#WR#CS#操作特征位00010A口内容读至数据总线无输入01010B口内容读至数据总线无10010C口内容读至数据总线无00100数据总线内容写至A口无输出01100数据总线内容写至B口无10100数据总线内容写至C口无11100数据总线内容写至控制寄存器D7=1数据总线内容写C口按位置/复位控制字D7=0XXXX1端口输出为高阻无禁止11010非法无XX110端口输出为高阻无59.1.38255的工
3、作方式1.方式0方式0提供两个8位口(A和B)和两个4位口(PC7~PC4,PC3~PC0),任何一个口都可用做输入或输出(单向),由CPU用简单的I/O指令来进行读/写。一般用于无条件传送的场合,也可以用做查询式传送。习惯上将A口和B口作为数据口,将C口作为控制输出和状态输入口。68255A方式0输入时序和参数说明78255A方式0输出时序和参数说明82.方式1(A口和B口有此方式,单向)(1)方式1的输入A口和B口方式l的输入组态9INTE为中断允许位,对应PC口寄存器(状态字)的D4位(INTEA)和D2位(INTEB),可通过对PC口按位写方法设置;PC2、PC4引脚作用:用作锁存数
4、据口数据;中断条件:STB#(引脚)=1(无效),IBF=1、INTE=1;PC6、7可作为数据线使用。1011方式1下的输入过程:外设把数据送到8255端口外设用选通信号STB#把数据打入端口的输入锁存器输入缓冲器满信号IBF有效,CPU可查询该信号如果INTE有效,8255将使INTR有效,申请中断CPU向8255发读信号RD#,从8255端口读数据中断请求信号INTR变无效,然后IBF无效,外设可送下一个数据。12(2)方式1的输出8255方式1输出组态13INTE为中断允许位,对应PC口寄存器(状态字)的D6位(INTEA)和D2位(INTEB),可通过对PC口按位写方法设置;PC2
5、、PC6引脚作用:用作对OBF#的回应;中断条件:ACK#(引脚)=1(无效),OBF#=1(无效)、INTE=1;PC4、5可作为数据线使用。1415方式1下的输出过程:CPU发WR#信号,向8255送一个数据WR#使INTR无效,OBF#有效,通知外设可取数据外设接到数据后,向8255回送ACK#信号OBF#无效,接着ACK#无效,其上升沿引发INTR有效,向CPU发中断申请,请求发送新数据。163.方式28255方式2组态双向I/O,只有A口有此方式179.1.48255的控制字与初始化编程1.工作方式控制字(写,A1A0=11)8255工作方式控制字18例9.1某系统要求使用8255
6、的A口工作于方式1作输入,B口工作于方式0作输出,C口上半部输入,下半部输出。8255端口地址为60H-63H。控制字为:10111000B=0B8H初始化程序为:MOVAL,0B8HOUT63H,AL192.C口按位置/复位控制字(写,A1A0=11)C口按位置/复位控制字例9.2如上例,若A口工作于方式1作输入,要使用中断传送方式,则应当写PC4的按位置位字:MOVAL,00001001BOUT63H,AL20方式1下8255状态字中INTE位的置位和复位⊙若禁止PA口输入中断请求MOVDX,303H;8255命令口MOVAL,00001000B;置PC4=0,禁止中断请求OUTD
7、X,AL⊙若允许PA口输入中断请求MOVDX,303H;8255命令口MOVAL,00001001B;置PC4=1,允许中断请求OUTDX,AL⊙若允许PA口输出中断请求MOVDX,303H;8255命令口MOVAL,00001101B;置PC6=1,允许中断请求OUTDX,AL21⊙若允许PB口输入中断请求MOVDX,303H;8255命令口MOVAL,00000101B;置PC2=1,允许中断请求OUTD
此文档下载收益归作者所有