并行接口8255

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第7章第7章并行接口教学重点82C55A的工作方式和编程82C55A的应用并行数据传输方式以计算机的字长(常是8位、16位或32位)为传输单位,一次传送一个字长的数据适合于外部设备与微机之间进行近距离、大量和快速的信息交换例如:微机与并行接口打印机、磁盘驱动器微机系统中最基本的信息交换方法例如:系统板上各部件之间,接口电路板上各部件之间并行通信:在多条传输线上同时传输多位数据串行通信:利用单条传输线,将多位数据按照先后顺序逐位进行传输并行接口D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0缓冲器外部设备CPU串行接口缓冲器D7D6D5D4D3D2D1D0D0移位器CPU外部设备7.3并行接口电路82C55A具有多种功能的可编程并行接口电路芯片分3个端口,共24个外设引脚共三种输入输出工作方式7.3并行接口电路8255A82C55A的内部结构和引脚数据总线D7~D0A组控制数据总线缓冲器B组控制读/写控制逻辑端口A(8位)端口C(高4位)端口B(8位)端口C(低4位)内部数据总线(8位)RDWRA1A0RESETCSPA7~PA0PC7~PC4PC3~PC0PB7~PB0CPU接口内部逻辑外设接口1.外设数据端口端口A:PA0~PA7A组,支持工作方式0、1、2端口B:PB0~PB7B组,支持工作方式0、1端口C:PC0~PC7仅支持工作方式0A组控制高4位PC4~PC7B组控制低4位PC0~PC3端口A:PA0~PA7常作数据端口,功能最强大端口B:PB0~PB7常作数据端口端口C:PC0~PC7可作数据、状态和控制端口分两个4位,每位可独立操作控制最灵活,最难掌握2.与处理器接口CS*A1A0读操作RD*写操作WR*000001010011读端口A读端口B读端口C非法写端口A写端口B写端口C写控制字D0~D7数据线A0~A1地址线RD*读信号WR*写信号CS*片选信号RESET复位信号8255控制字8255有两个控制字:方式控制字用于决定各端口的工作方式置位/复位控制字控制端口C的各个位置/复位通过D7选择方式命令字D6D5D4D3D2D1D0D7C口下半部1输入0输出B口选择1输入0输出B口方式0方式01方式1C口上半部1输入0输出A口选择1输入0输出00方式001方式11X方式2A口方式特征位按位置位/复位命令字端口C的置位/复位控制字可实现对端口C的每一位进行控制。置位是使该位输出为“1”,复位是使该位输出为“0”。XXXD3D2D1D0D7位控制1置位特征位位选择0复位8255A的方式0在方式0下,彼此独立的两个8位(A,B)和两个4位(C口的上半部和下半部)并行口,共24根I/O线全部由用用户支配,都能被指定作为输入或者作为输出用。C口也可以看做是一个8位端口在方式0下,不设置专用联络信号线,需要联络时,可由用户任意指定C口中的哪根线完成某种联络功能。由于无固定的专用联络信号,因此也就在端口与I/O设备之间无固定的时序关系。8255A的方式1方式1是一种选通输入/输出方式或叫应答方式,需设置专用的联络信号线或应答信号线,以便对I/O设备和CPU两侧进行联络。PA和PB为数据口,而PC口的大部分引脚分配作专用的联络信号用。输入/输出操作过程中,产生固定的状态字,这些状态信息可作为查询或中断请求之用。状态字从PC口读取。方式2双向方式方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同方式2的数据输入过程与方式1的输入方式一样方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据7.4方式0及应用方式1输入联络信号STB*——选通信号,低电平有效由外设提供的输入信号,当其有效时,表示外设开始送数据IBF——输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入缓冲器,暂时不能送数据INTR——中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取82C55A的数据方式1输入引脚:A端口数据选通信号表示外设开始送数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中断允许触发器由置/复位PC4控制方式1输入引脚:B端口PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经开始送数据输入缓冲器满信号表示B口已经接收数据中断请求信号请求CPU接收数据中断允许触发器方式1需借用端口C用做联络信号同时还具有中断请求和屏蔽功能由置/复位PC2控制CPU外设INTEAPC4PC5PC3PC7PC6(pc4)PA7~PA0STBA(选通信号)IBFA(输入缓冲器满)DB7~DB0RDINTRA(中断请求信号)INTR方式1中断控制8255A的中断由中断允许触发器INTE控制置位允许中断,复位禁止中断对INTE的操作通过写入端口C的对应位实现,INTE触发器对应端口C的位是作应答联络信号的输入信号的哪一位,只要对那一位置位/复位就可以控制INTE触发器选通输入方式下端口A的INTEA对应PC4端口B的INTEB对应PC2方式1输出联络信号OBF*——输出缓冲器满信号,低有效8255A输出给外设的一个控制信号,当其有效时,通知外设取数据ACK*——响应信号,低有效外设的响应信号,指示8255A的端口数据已由外设接收INTR——中断请求信号,高有效当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据端口A的INTEA对应PC6端口B的INTEB对应PC2方式1输出引脚:A端口外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中断允许触发器方式1输出引脚:B端口PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器CPU外设INTEAPC7PC6PC3PC5PC4PA7~PA0ACKA(应答信号)OBFA(输出缓冲器满)DB7~DB0WRINTRA(中断请求信号)INTR82C55A时序82C55A时序D7D6D5D4D3D2D1D0方式1输入I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式1输出OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB端口C的状态字A组B组例7.3采用方式1的并口设计要求:在甲乙两机之间并行传送1KB数据,甲发送,乙接收。甲侧82C55A以方式1工作,乙侧82C55A以方式0工作。两机的CPU与接口之间采用查询方式传送数据。方式2双向方式方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同方式2的数据输入过程与方式1的输入方式一样方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据方式2双向引脚PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号CPU外设方式2(A口)ACKA(应答信号)OBFA(输出缓冲器满)DB7~DB0WRINTRA(中断请求信号)INTRINTEAPC7PC6PC3PA7~PA0PC5PC4INTEBSTBA(选通信号)IBFA(输入缓冲器满)RDD7D6D5D4D3D2D1D0方式1输入I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式1输出OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB方式2双向OBFAINTE1IBFAINTE2INTRA×××端口C的状态字A组B组读写端口C:归纳1C端口被分成两个4位端口,两个端口只能以方式0工作,可分别选择输入或输出在控制上,C端口上半部和A端口编为A组,C端口下半部和B端口编为B组读写端口C:归纳2当A和B端口工作在方式1或方式2时,C端口的部分或全部引脚将被征用其余引脚仍可设定工作在方式0读写端口C:归纳3对端口C的数据输出有两种办法通过端口C的I/O地址:向C端口直接写入字节数据。这一数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效通过控制端口:向C端口写入位控字,使C端口的某个引脚输出1或0,或置位复位内部的中断允许触发器端口C的位控制字位控制字写入控制端口特别便于置位复位内部中断允许触发器INTE读写端口C:归纳4读取的C端口数据有两种情况未被A和B端口征用的引脚:将从定义为输入的端口读到引脚输入信息;将从定义为输出的端口读到输出锁存器中的信息被A和B端口征用作为联络线的引脚:将读到反映8255A状态的状态字8255A的初始化初始化编程:写入方式控制字,来指定其工作方式采用控制I/O地址:A1A0=11接着还要用置复位控制字将中断标志INTE置“1”或置“0”采用控制I/O地址:A1A0=11工作过程中:通过数据端口对外设数据进行读写读写数据端口初始化编程后:当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备9.28255A的应用举例作为通用的并行接口电路芯片,825A具有广泛的应用应用在IBMPC/XT微机上应用于打印机接口电路连接简易键盘驱动LED数码管……基本I/O应用P338连接关系地址分配数据线与奇偶地址关系编程键盘接口键盘是微型计算机系统中最常用的一种输入设备。键盘有两种类型:编码键盘和非编码键盘。编码键盘能自动提供对应于被按键的编码,如ASCII码,并能同时产生一个脉冲通知CPU。这种键盘的优点是使用方便,但需要较多的硬件,价格昂贵。非编码键盘由一组开关组成,提供行列式的键盘矩阵,其工作过程如按键的识别、按键代码的产生、防止串键和消除抖动等均由程序来实现。故这种键盘的优点是所需要的硬件较少,价格便宜,宜用于微机化仪表的面板的键盘。PB7PB6PB5PB4PB3PB2PB1PB0C98DE40F615B273APA0PA1PA2PA38255A8255A+5V4行×4列16个按键的键盘工作原理键盘扫描过程检测键盘上所有的键是否都松开,反复检测直至全松开检测键盘上是否有键按下,反复检测直至有键按下若有键按下,则消除键抖动后(硬件消抖动电路,软件延时消抖动下),再确认该键是否按下。对按下的键进行编码,即将该键所在的行号和列号转换成16进制代码。检测该键是否松开,反复检测直至松开。根据代码转相应功能子程序。读入列值键松开读入列值有键按下延时20ms消抖动键仍按下逐行逐列查按键查表得键代码所有行置“0”NNN程序代码LED显示器(补充)例:8255A作为开关K0~K3及七段LED显示器接口。要求开关设置的二进制信息,由PC0~PC3输入,经程序转换为对应的七段LED显示器的字形代码后,由PA口输出显示。8255APA7PA0~驱动器+5V+5VK0K1K2K3PC3PC2PC1PC0D7~D0RDWRA1A2ABCG2AG2BG1Y0Y1Y2OOOD7~D0RDWRA0A1CSA0A3A4

1 / 68
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功