微机原理及应用:第七章-并行接口_第1页
微机原理及应用:第七章-并行接口_第2页
微机原理及应用:第七章-并行接口_第3页
微机原理及应用:第七章-并行接口_第4页
微机原理及应用:第七章-并行接口_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

1、第七章 并行接口教学重点 8255A的工作方式和编程 8255A的应用 键盘接口 LED显示器接口并行数据传输方式以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据适合于外部设备与微机之间进行近距离、大量和快速的信息交换例如:微机与并行接口打印机、磁盘驱动器微机系统中最基本的信息交换方法例如:系统板上各部件之间,接口电路板上各部件之间第一节 可编程并行通信接口8255A具有多种功能的可编程并行接口电路芯片最基本的接口电路:三态缓冲器和锁存器与CPU间、与外设间的接口电路:状态寄存器和控制寄存器还有端口的译码和控制电路、中断控制电路分3个端口,共24个外设引脚共三种输入

2、输出工作方式一、8255A的内部结构和引脚数据总线缓冲器内部控制线内部数据线D0D7A组控制A组端口AA组端口C上部B组控制B组端口BB组端口C下部读写控制逻辑PC0PC3PB0PB7PC4PC7PA0PA7RDWRA0A1CSRESET1. 外设数据端口端口A:PA0PA7A组,支持工作方式0、1、2端口B:PB0PB7B组,支持工作方式0、1端口C:PC0PC7仅支持工作方式0A组控制高4位PC4PC7B组控制低4位PC0PC3端口A:PA0PA7常作数据端口,功能最强大端口B:PB0PB7常作数据端口端口C:PC0PC7可作数据、状态和控制端口分两个4位,每位可独立操作控制最灵活,最难掌

3、握2. 与处理器接口CS A1 A0读操作RD写操作WR0 0 00 0 10 1 00 1 1读端口A读端口B读端口C非法写端口A写端口B写端口C写控制字二、8255A的控制字8255A的工作状态是由CPU用输出指令向控制口送的控制字来决定的,8255A的控制字分为两类。 采用控制口地址:A1A0111. 方式选择控制字说明之一:1.8255A有3种基本工作方式:方式0:基本的输入输出方式方式1:选通的输入输出方式方式2:双向传输方式说明之二:2.端口A可以工作在3种工作方式中的任何一种,端口B只能工作在方式0或方式1,端口C则常常配合端口A和端口B工作,为这两个端口的输入输出传输提供控制信

4、号和状态信号。可见,只有端口A能工作在方式2。方式选择控制字说明之三:3.归为同一组的两个端口可以分别工作在输入方式和输出方式,或同为输入方式、同为输出方式。而一个端口具体到底作为输入端口还是输出端口,由方式选择控制字来决定。 方式选择控制字例子要求:A端口:方式1输入C端口上半部:输出,C口下半部:输入B端口:方式0输出方式控制字:10110001B或B1H初始化的程序段:mov dx,0fffeh;假设控制端口为FFFEHmov al,0b1h;方式控制字out dx,al;送到控制端口方式选择控制字在一个8086系统中,设8255A的四个端口地址为C0H、C1H、C2H、C3H,若要求各

5、端口的工作方式为:端口A:方式0,输出端口B:方式0,输入端口C的高四位:输出端口C的低四位:输出则相应的方式选择控制字为:10000010B=82HMOV AL,82HOUT C3H,AL 例子方式选择控制字2.端口C置1/置0控制字注意:端口C置1置0控制字尽管是对端口C进行操作,但此控制字必须写入控制口,而不是写入C端口。 例:若将上例中端口C的PC2置1,PC7置0。MOV AL,00000101BOUT C3H,ALMOV AL,00001110BOUT C3H,AL 例子端口C置1/置0控制字三、8255A的工作方式方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1

6、:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路1.方式0方式0也叫基本输入输出方式。在这种方式下,端口A和端口B可以通过方式选择字规定为输入口或者输出口,端口C分为2个4位端口,高4位为一个端门,低4位为一个端口。这两个4位端口也可由方式选择字规定为输入口或输出口。方式0的特点任何一个端口可作为输入口,也可作为输出口,各端口之间没有规定必然的关系。各个端口的输入或输出,可以有16种不同的组合。方式0的使用场合有两种,一种是同步传送,另一种是查询式传送同步传送时,发送方和接收方的动作由一个时序信号来管理,所以,对接

7、口的要求很简单,只要能传送数据就行了。因此,在同步传输下使用8255A时,3个数据端口可以实现三路数据传输。查询式传输时,需要有应答信号。但是,在方式0的情况下,没有规定固定的应答信号。所以,这时可将端口A和端口B作为数据端口,端口C的4位(高4位或低4位均可)规定为输出口,用来输出一些控制信号,而把端口C的另外4位规定为输入口,用来读入外设的状态。 方式0输入时序datadata输入端口D0D7RD CS,A1,A0请体会这里8255A的数据缓冲作用方式0输出时序WRdatadata输出端口D0D7 CS,A1,A08255A对CPU通过它输出给外设的数据进行锁存2.方式1方式1也叫选通的输

8、入输出方式。和方式0相比,最重要的差别是端口A和端口B用方式1进行输入/输出传输时,要利用端口C提供的选通信号和应答信号,而这些信号与端口C的位之间有着固定的对应关系。 方式1的特点 端口A和端口B可分别作为两个数据口工作在方式1,并且,任何一个端口可作为输入口或者输出口。如果8255A的端口A和端口B中只有一个端口工作在方式1,那么端口C中就有3位被规定为配合方式1工作的信号。此时,另一个端口可以工作在方式0,端口C中的其它也可以工作在方式0,即作为输入或者输出。如果8255A的端口A和端口B都工作在方式1,那么,端口C中就有6位被规定为配合方式1工作的信号,剩下的2位仍可作为输入或输出。

9、方式1输入引脚:A端口数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中断允许触发器方式1输入引脚:B端口PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据中断允许触发器方式1需借用端口C用做联络信号同时还具有中断请求和屏蔽功能方式1输入联络信号STB选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF输入缓

10、冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据注意当8255A的端口A和端口B都工作在方式1的输入情况时,端口C的PC0-PC5共6个位都被定义,只剩下PC6、PC7这2位还未用。此时,方式选择控制字的D3位用来定义PC6和PC7的数据传输方向。当D3为1时,PC6和PC7这2位作为输入来用;当D3为0时,PC6和PC7作为输出来用。 方式选择控制字方式1输入时序STB和IBF是外设和8255A间的一对应答联络信号,为的是可靠地输入数据方式1的中断控制

11、8255A的中断由中断允许触发器INTE控制置位:允许中断;复位:禁止中断对INTE的操作通过写入端口C的对应位实现,INTE触发器对应端口C的位是作应答联络信号的输入信号的那一位,只要对那一位置位/复位就可以控制INTE触发器选通输入方式下端口A的INTEA对应PC4端口B的INTEB对应PC2方式1输出引脚:A端口外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中断允许触发器方式1输出引脚:B端口PC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外设

12、响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器方式1输出联络信号OBF输出缓冲器满信号,低有效8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走ACK响应信号,低有效外设的响应信号,指示8255A的端口数据已由外设接受INTR中断请求信号,高有效当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据端口A的INTEA对应PC6端口B的INTEB对应PC2方式1输出时序OBF和ACK是外设和8255A间的一对应答联络信号,为的是可靠地输出数据方式

13、1的使用场合 在方式1下,规定一个端口作为输入口或者输出口的同时,自动规定了有关的控制信号和状态信号,尤其是规定了相应的中断请求信号。这样,在许多采用中断方式进行输入输出的场合,如果外部设备能为8255A提供选通信号或者数据接收应答倍号,那么常常使8255A的端口工作于方式1。用方式1工作比用方式0更加方便有效。 3.方式2方式2也叫双向传输方式,只适用于端口A。方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据需要利用端口C的5个信号线,其作用与方式1相同方式2的数据输入过程与方式1的输入方式一样方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255

14、A不是在OBF有效时向外设输出数据,而是在外设提供响应信号ACK时才送出数据方式2双向引脚PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号方式2双向时序方式2的使用场合 方式2是一种双向工作方式,如果一个并行外部设备既可以作为输入设备,又可以作为输出设备,并且输入输出动作不会同时进行,那么,将这个外设和8255A的端口A相连,并使它工作在方式2,就会非常合适。比如,磁盘驱动器就是这样一个外设,主机既可以往磁盘输出数据,也可以从磁盘输入数据,

15、但数据输出过程和数据输入过程总是不重合的,所以,可以将磁盘驱动器的数据线与8255A的PA7-PA0相连,再使PC7-PC3和磁盘驱动器的控制线和状态线相连即可。 方式2和其他方式的组合 从方式选择控制字可以知道,当8255A的端口A工作于方式2时,端门B可以工作在方式1,也可以工作在方式0,而且,端口B可以作为输入口,也可以作为输出口。在各种组合下,端口C都用一定的位配合工作。 方式选择控制字四、应用举例用8255A方式0与打印机接口BUSY DATA078255APC5PC3PA0PA7打印机STB打印机时序 mov al,10000001B;方式控制字 out 83H,al ;控制端口地

16、址:83H ;A端口方式0输出,C端口上输出、下输入 mov al,00001011B;端口C的复位置位控制字,使PC51 out 83H,alprn: in al,82h;读取端口C,查询打印机状态 and al,08h;PC3BUSY0? jnz prn;PC31,打印机忙,则循环等待 mov al,ah;PC30,打印机不忙,则输出数据 out 80h,al;将打印数据从端口A输出 mov al,00001010B;置STB0 out 83h,al nop;产生一定宽度的低电平 nop mov al,00001011B;置=1 out 83h,al;最终,STB产生低脉冲信号应用举例用8

17、255A方式1与打印机接口1000pf2K15321441LS123单稳电路+5VDATA078255APC6INTRPC3PC7PA0PA7打印机ACKACKOBFSTB8255A方式1与打印机接口时序配合PA0PA7(DATA07)ACKOBFSTBmov al,0a0h ; A端口方式1输出,方式控制字:10100000out 83h,al ;控制端口地址:83Hmov al,0ch;使INTEA(PC6)为0,禁止中断out 83h,almov cx,counter;打印字节数送CXmov bx,offset buffer;取字符串首地址call prints;调用打印子程序 prin

18、ts proc push ax;保护寄存器print1:mov al,bx;取一个数据 out 80h,al;从端口A输出 print2:in al,82h ;读取端口C,查询打印机状态 test al,80h;检测(PC7)为1否? jz print2;为0,说明打印机没有响应,继续检测。为1,说明打印机已接受数据 inc bx ;准备取下一个数据输出 loop print1 pop ax;打印结束,恢复寄存器 ret;返回prints endp 第二节 键盘及其接口键盘是微机系统最常使用的输入设备小键盘:适用于单板机或以微处理器为基础的仪器,实现数据、地址、命令及指令等的输入独立键盘:通过

19、5芯电缆与PC微机主机连接一、键盘的工作原理+5V+5V+5V最简单的线性结构键盘每一个引脚连接一个键输入0/1反映键是否高低一、键盘的工作原理(续)+5V+5V控制线检测线常用的矩阵结构键盘每行连接一个引脚每列连接一个引脚利用控制线为低、读取检测线来识别闭合键二、键的识别行扫描法先使第0行接低电平,其余行为高电平,然后看第0行是否有键闭合(通过检查列线电位实现)此后,再将第1行接地,然后检测列线是否有变为低电位的线。如此往下一行一行地扫描,直到最后一行在扫描过程中,当发现某一行有键闭合时,便在扫描中途退出通过组合行线和列线可识别此刻按下的是哪一键矩阵结构键盘第1段:是否有键按下key1:mo

20、v al,00 mov dx,rowport out dx,al;使所有行线为低电平 mov dx,colport in al,dx;读取列值 cmp al,0ffh;判定是否有列线为低电平 jz key1;无闭合键,循环等待 call delay;有,延迟20ms清除抖动键盘扫描程序第2段:识别按键(扫描) mov cx,8;行数送CX mov ah,0feh;扫描初值送AHkey2:mov al,ah mov dx,rowport out dx,al;输出行值(扫描值) mov dx,colport in al,dx;读进列值 cmp al,0ffh;判断有无低电平的列线 jnz key3

21、;有,则转下一步处理 rol ah,1;无,则移位扫描值 loop key2;准备下一行扫描 jmp key1;所有行都没有键按下,则返回继续检测key3: ;此时,al列值,ah行值键盘扫描程序二、键的识别反转法首先,将行线作为控制线接一个输出端口,将列线作为检测线接一个输入端口CPU通过输出端口将行线(控制线)全部设置为低电平,然后从输入端口读取列线(检测线)然后,将行线和列线的作用互换,即将列线作为控制线接输出端口,行线作为检测线接输入端口将刚才读得的列值从列线所接端口输出,再读取行线的输入值这样,当一个键被按下时,必定可以读得一对唯一的行值和列值条件:连接行线和列线的接口电路必须支持动

22、态改变输入、输出方式矩阵结构键盘三、抖动问题机械按键存在抖动现象当按下或释放一个键时,往往会出现按键在闭合位置和断开位置之间跳几下才稳定到闭合状态抖动的持续时间通常不大于10ms采用硬件消抖电路或软件延时方法解决第三节 LED数码管及其接口发光二极管LED是最简单的显示设备由7段LED就可以组成的LED数码管LED数码管广泛用于单板微型机、微型机控制系统及数字化仪器中LED数码管可以显示内存地址和数据等1. LED数码管的工作原理主要部分是7段发光管顺时针分别称为a、b、c、d、e、f、g有的产品还附带有一个小数点dp通过7个发光段的不同组合主要显示09也可以显示AF(实现16进制数的显示)还

23、可以显示个别特殊字符,如、P 等LED数码管的结构共阳极阳极+5Vabcdefgdp阴极abcdefgdp共阴极2. 单个LED数码管的显示8255APA0PA1PA2PA3PA4PA5PA6PA7驱动电路abcdefgdp单个数码管的显示LEDtbdb 3fh,06h,5bh,;显示代码表mov al,1;AL要显示的数字mov bx,offset LEDtbxlat;换码:ALDS:BXALmov dx,portout dx,al;输出显示软件译码3. 多个LED数码管的显示8个数码管:用2个8位输出端口控制硬件上用公用的驱动电路来驱动各数码管软件上用扫描方法实现数码显示位控制端口电路D7D6D5D4D3D2D1D0阳极位0位1位2D0D7位控制反相寄存驱动bitport, IOW位控制端口作用控制哪个(位)数码管显示当位控制端口的控制码某位为低电平时,经反相驱动,便在相应数码管的阳极加上了高电平,这个数码管就可以显示数据位控制:Di0,相应位发光D7D6D5D4D3D2D1D0位7位6位5位4位3位2位1位0段控制端口电路D0D1D2D3D4D5D6D7阳极位0a b c d e f g dp位1位2D0D7段控制正相寄存驱动segport, IOW段控制端口作用控制哪个段显示,决定具体显示什么数码段控制端口送出显示代码到数码

温馨提示

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

评论

0/150

提交评论