可编程并行接口知识点总结_第1页
可编程并行接口知识点总结_第2页
可编程并行接口知识点总结_第3页
可编程并行接口知识点总结_第4页
可编程并行接口知识点总结_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、可编程并行接口8255知识点总结8255A是INTEL系列的并行接口芯片,由于它是一种可编程的外部接口部件,通常作为微机系统总线与外部设备的接口控制部件,可通过软件来设置芯片的工作方式,用8255A连接外部设备时,通常不桁要丽用带来很大的方便。1、内部结构浜期券总地福控妻 龌件控期睇伴期LK:J:半解I/O 叫T%日代内部修鼎wtI/O1/0口产下半都“一r2、引脚说明八一p p PP1PPPPPP8255作为主机与外设的连接芯片,必须提供与主机 相连的3个总线接口,即数据线、地址线、控制线接口。 同时必须具有与外设连接的接口A、B C 口。由于8255可编程,所以必须具有逻辑控制部分,因而8

2、255内部结构分为3个部分:与CPU!接部分、与外设连接部分、 控制部分。(1)与CPU连接部分根据定义,8255能并行传送8位数据,所以其数据 线为8根DD7。由于8255具有3个通道 A B、C,所 以只要两根地址线就能寻址 A、日C 口及控制寄存器, 故地址线为两根 Ao、Ai。此外CPU8255进行读、写 与片选操作,所以控制线为片选、复位、读、写信号。 各信号的引脚编号如下:总线分类:名称引脚作用数据总线DBD0-D7与CPU专送8位数据地址总线ABA)、A选才iA、RC与控制寄存器控制总线CB片选CS、复位RSK读、写CPU读写操作前必须发出片选信号选中8255(2)与外设接口部分

3、8255有3个通道A、BC与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。数据端口A、B、C端口a(PAo-PA7):对应了1个8位的数据输入锁存器和1个数据输出锁存/缓冲器。所以A作为输入或输出时,数据均受到锁存。端口B(PBo-PB7):对应了1个8位的数据输入缓冲器和1个数据输出锁存器/缓冲器。所以B输入锁存,输出不受到锁存。端口C(PG-PB7):对应1个8位数据缓冲器和1个数据输出锁存/缓冲器,所以C输入不锁村,输出锁存。当8255工作于应答I/O方式时,C口用于应答信号的通信。锁存分类:端口ABC输入

4、锁存YYN输出锁存YNYAB组的逻辑控制功能A组:组成:端口A(PA0-PA7)和端口C的高4位(PG-PC7)这几个端口由A组统一进行逻辑控制。B组:组成:端口B(PB-PB7)和端口C的低4位(PQ-PC3)(3)A、B组分配:A组由端口A作为与外设交换数据的输入/输出接口,C口的高4位|作为外设连接的控制信号线和状态信号线,以配合A口工作。B组的工作原理和A组的相同,C的低4位作为外设连接的控制信号线和状态信号线。(4)数据总线缓冲器8255的数据总线缓冲器是双向三态的8位数据缓冲器,通过它直接与系统的数据总线(D0-D7)相连,可以传送输入/输出数据、CPUO8255的控制字。(5)读

5、/写控制逻辑电路读/写控制逻辑电路负责管理8255的数据传输过程。它接收片选CS及来自系统地址总线A,Ao(8086系统中为A2,A)和控制总线的输入信号RESETWR,WR,将这些信号组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令发送给这两个部件,以完成对数据、状态信息和控制信息的传输。(6)端口ABC的选择AAi端口地址线00APA0-PA701B10C11对控制端口写控制字3、8255的控制字8255A可通过指令在控制端口中设置控制字来决定它的工作。其控制字可分为两类(个),都写入控制字存储器(状态为AAo=11)(1)方式选择控制字8255有3种工作方式:方式0:基本输入

6、输出方式(A、B、CH)方式1:选通输入输出方式(A、B口)方式2:双向总线I/O传输方式(仅A口)端口C既可以分为两个4位端口,作一般的输入/输出端口使用,更经常的是用于配合端口A和B工作,为它们提供控制信号和状态信号。为了方便用户单独设置某一个控制位或状态位,8255A提供了端口C置位/复位控制字。(2)端口C按位置1/置0控制字可以使端口C中的任何一位进行置位(1)或复位(0)。0bD5口 3DiDo无"位DtH)为I】复位 置位抵制了标志4、工作方式分析(1)工作方式0:基本的输入/输出方式。方式-0不使用联络信号A口、B口、上C口、下C口都可以独立设置作为输入或输出使用。适

7、合用于无条件或查询式传送,所有输出都有锁存,输入只有缓冲不能锁存,C可以将个口清零或置1。四个端口的输入或输出,可以有16种不同的组合,故可以适用于多种用途。各端口输入时无锁存,输出时有锁存。(2)工作方式1:选通输入/输出方式。A口、B口可以分别作为数据口工作在方式1。在C口的配合下,需要使用C口中特定的引脚作为选通和应答使用。C口中其余的引脚仍可工作在方式0,定义为输入或输出,适合用于中断式传送和程序查询方式I/O传送。C口中特定的引脚作为选通和应答使用时,视A口(或B口)为输入还是输出的不同,有两个引脚的含义有所不同。A、B的输入和输出都带有锁存。(3)工作方式2:双向传送方式。工作方式

8、1:A口选通输入方式:A口选通输入方式选通信号,表示外设将数据送到输入缓冲器中stbaIBFV一输入缓冲器满入号表示A已经接收数成,(可通过读C获得该信号)INTRa中断允许触发器中断请求信号请求CPU接收数据J当外设数据准备好以后,发出一个负脉冲选通信号STBA,使A口打开输入锁存器接收数据。A口接收到数据以后,发出旧Fa。数据写完后,ST区撤销即变为无效。ST&和IBFa都变为高电平以后,如果INTE,允许,则8255A发出中断请求信号,希望CPU接收数据。CPU读数据的RD信号的下降沿使INTRa和旧Fa恢复低电平。另外,只可以通过对PC4的置位和复位来设置INTEaoB口作为选

9、通输入接口时道理是一样的,只不过是这些信号使用的是C口的PG,PG和PC0在方式1输入下,可以使用中断和查询两种方式让CPU读数据,以A口为例:(1)使用TEXT方式对旧F(输入缓冲器)判断是否有数据可读,如果旧F为高则表示有数据可读,就用IN(中断)读取。大体步骤:AG:INAL,TESTAL,00100000BJZAGINAL,CH判断IBF所在的D5如果没有数据即旧F为低则继续读取判断如已经有数据则读A口数据10rXXDI DB DS 口4 D3 D2 DI DOJO-K九PCT嫡出 1 =FC5.PC7 AL Fa 口输入-内电方式fl A地方式I*人控制字D7隘口5 04产呼P _凶

10、1 | X K X X 1 J XLfenftXR国方式1心)2蛆方式i人控制字此时的引脚作用分析:STB选通信号,输入,LO有效。这是因为外设送的信号,有效时将其位于A(B)口的引线的8位数据锁存到它的输入锁存器中。旧F:输入缓冲器满,输出,HI有效。是送给外设的联络信号,表示数据已经送入输入锁存器中。信号由STB置位,由RD信号的上升沿复位。INTR:中断请求,输出,HI有效。在中断允许的前提下,输入选通信号结束时,外设已经将数据送入输入锁存器,此事CPU被中断请求来读取位于输入锁存器中的数据。INTE:中断允许。INTE=1,允许向CPU申请中断,INTE=0则禁止。不能由外部控制,由C

11、的按位复位/置位功能实现。INTEa由PC4控制,INT&由PG控制。输入时序图:方式1的输出A口:C此时的PC7用于输出缓冲器满OBFa信号,PC6为外设收到数据的响应信号ACKa ,PC3中断请求输出信号线INTRA。B口:C此时的PG用于输出缓冲器满OBFb信号,PC2为外设收到数据的响应信号ACKb,PC0中断请求输出信号线INTR。OBF:输出缓冲器满,输出,LO有效。送给外设的控制信号,有效表示数据已经送入输出锁存器中,用这个信号通知外设设备将车出锁存器中的数据取走。此信号由CPU的信号编程低电平,由外设发出的ACK恢复为高电平。ACK:应答,输入,LO有效。由外设送入有效

12、时表示外设已经从端口输出线上将数据取走。输出时序图:工作方式2:是A组独有的工作方式,外设在A口可以收发数据,借用C口的五条信号线作控制和状态线,A的输入输出都带锁存。D7 D6 D5 D4 D3 D? DI DO1XX X lj巾 1/0 1/0L悭必K0鼬| hmbpco 第入 ,=即口鼬一组方式0烟材I 事WR-Rib*ItmiPAkPAQng 也INTE1值为-0还是1是由软件对PC6的置位和复位来完成的。INTE2值为0还是1是由软件对PC4的置位和复位来完成的方式2时序图:5、应用举例例一:电路如图示。由8个LED实时显示8个开关的状态,开关断开,相应的LED亮,开关闭合,相应的L

13、ED熄灭。Dy-D。RDWRRESETA7M/ro1+5VII8086a®RDPASWRRESETPAapb6AIPB0A口输入,8个开关K7K0分另1J接PA7PA0。B口输出,8个LED7LED0另I接PB7PB0各端口地址:AoAiA2A3A4AAA功能000011110F0H端口A010011110F2H端口B001011110F4H端口C011011110F6H控制口端口控制字因为A,B同时工作在模式0的状态,A口输入,B口输出。10011000相关程序如下:CCODESEGMENTASSUMECS:CCODESTART: MOVMOVOUTTEST IT: MOVDX,

14、0F6HAL, 98HDX, ALDX, 0F0HINAL,DXMOVDX,0F2HOUTDX,ALJMPTESTITCCODEENDSENDSTART例二:8255的初始化编程1、2、3、A、B、C口均为基本I/O输出方式。A口与上C口为基本I/O输出方式。B口与下C口为基本I/O输入方式。4、A 口为应答I/O输入方式,B 口为应答I/O输出方式。解:1、MOVDPTR,#0E003H2、3、MOVMOVXMOVMOVMOVXMOVMOVMOVXA,#10000000B=#80HDPRT,ADPTR,#0E003HA,#10000011B=#83HDPRT指向8255控制口地址E003H设

15、置A、B、C 口均为基本I/O输出方式 工作方式选择字送入8255控制寄存器设置A与上C 口为基本I/O输出方式DPRT,ADPTR,#0E003H A,#10110100B=#B4HDPRT,AB 口与下C 口为基本 工作方式选择字送入设置A 口应答输入, 工作方式选择字送入I/O输入方式8255控制寄存器B 口应答输出方式 8255控制寄存器例三:用8255c口的PC卸脚向外输出连续的正脉冲信号,频率=1000Hzo解:F=1000HZ,T=1m§0.5T=0.5ms将C口设置为基本I/O输出方式先从PC3弓I脚输出高电平1,间隔0.5ms后向PC3俞出低电平0,再间隔0.5ms

16、后向PC骑出高电平1,周而复始。则可实现从PC瑜出频率为1000Hz的正脉冲的目的。程序如下:MOVA,#80H设置A、B、C为基本I/O输出方式MOVDPTR,#0E003HMOVXLOOP:MOVMOVXLCALLMOVMOVXLCALLSJMPDPTR,AA,#07HDPTR,ADELAY0.5A,#06HDPTR,ADELAY0.5LOOPC口置位控制字=00000111B=07HPC3m脚输出高电平延时0.5msL复位控制字=00000110B=06HPC阴脚输出低电平延时0.5ms继续循环例四:从8255B口输入8位数据,然后从8255A口输出。解:设置8255A口为基本I/O输出

17、方式,8255B口为基本I/O输入方式。先从8255B口输入8位数据到累加器A,然后将累加器中的8位数据输出到8255A口,重复上述过程。MOVMOVMOVXLOOP:MOVMOVXMOVMOVXSJMPDPTR,#0E003HA,#82HDPTR,ADPTR,#0E001HA,DPTRDPTR,#0E00HDPTR,ALOOP8255控制口地址E003H送DPTRA口:基本I/O输出,B口:基本I/O输入8255B口地址E001H送DPTR从B口输入数据8255A口地址E000H送DPTR从A口输出数据例五:编写交通灯控制程序。用8255A口的PA7、PA&PA5®制南北方

18、向的红、黄、绿灯,用8255A口的PARPA1、PA2$制东西方向的红、黄、绿灯,口图所示。控制方式为:东西方向通行30秒后,黄灯亮1秒,再南北方向通行30秒后,黄灯亮1秒,按上述方式不断循环。北西南即东西方向为绿灯(PA2=1),南北方向为红灯(PA7=1)。解:(1)分析:开始时,假设东西方向先通行,显然,送入8255A口的控制码为10000100=84H。30秒延时后黄灯亮,黄灯亮的控制码为42H。延时1秒后,南北方向通行,南北方向通行的控制码为21H。然后延时30秒依次循环。具体工作过程如下:南北红黄绿东四控制灯绿黄红控制码8255APA7PA6PA5PA4PA3PA2PA1PA0东四通10000100=84H延迟30s黄灯亮01000010=42H延时1s南北通00100001=21H延时30s黄灯亮01000010=42H延时1s转东西通由上述分析可知,只要将8255A口设置成基本I/O输出方式,然后将交通灯的控制码依次输出到A口,并作30秒或1秒的延时,则可编写出如下的交通灯控制程序。程序如下XfOVDPTR.*OE50jH:控制寄存塾地址EOOGH送DPTFtXfDVA>SOH:A口初始让基本1口输出方式口酬口PTRAXfOVDPTR.&g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论