清华大学冯博琴微机原理第8章并行接口8255Final_第1页
清华大学冯博琴微机原理第8章并行接口8255Final_第2页
清华大学冯博琴微机原理第8章并行接口8255Final_第3页
清华大学冯博琴微机原理第8章并行接口8255Final_第4页
清华大学冯博琴微机原理第8章并行接口8255Final_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

1、第8章 并行接口8255及应用,第一节 可编程并行接口8255,并行接口概念 并行通信就是把一个字符的各数位用几条线同时进行传输,并行通信的信息传输速度快,信息率高。用于数据传输要求较高,距离较短的场合 并行通信没有对同步和异步传输的严格定义。如果CPU用一个时序信号来管理接口和设备的动作,这样的并行传输称为同步传输;如果CPU和接口设备之间只用应答信号联系,这样的传输称为异步传输。,8255的内部结构,8255是Intel系列的并行接口芯片,它是可编程的,可以用来设置其工作方式,不需要再附加外部电路。,数据端口 A, B, C:3个8bit数据端口,有各自的特点,端口A 1个8bit的数据输

2、入锁存,一个8bit的数据输出锁存;2) 端口B 1个8bit的数据输入缓冲,一个8bit的数据输出锁存;,3) 端口C 1个8bit的数据输入缓冲,一个8bit的数据输出锁存; 端口C常常被分成2个4位端口,分别作为端口A和端口B的输入输出控制线和状态信号线,与端口A、端口B配合使用。,2. A组控制和B组控制,接受CPU对控制端口的命令(控制字),可以独立地设置8255中3个端口的工作方式,3. 数据总线缓冲器,双向三态8bit数据缓冲器,与CPU的数据总线相连,同时与8255的内部数据总线相连,接受从CPU发出的控制字, 输入输出数据, 同时也向CPU传输8255的状态字,4. 读写控制

3、逻辑电路,接受CPU发送的读写信号,其中A0 , A1寻址8255内部寄存器,共有3个数据端口,1个控制端口。,2. 8255的引脚信号,PA7PA0, PB7PB0, PC7PC0,与外设相连的独立地址的并行扩展口。,D7D0:与CPU的数据总线相连,传输8255的命令字或I/O数据。,RESET:高有效, 8255内部寄存器清零, 3个端口均为输入。,:片选信号,为低8255开始工作,:为低,读有效,CPU可以从3个端口读入数据。,:为低,写有效,CPU可以向3个端口输出数据,同时利用写信号可以向8255的控制口写控制命令,设置8255的工作方式。,3. 8255的控制字,控制字分两类,一

4、类是控制并行口的工作方式的命令,一类是专门对C口各位的设置。这两类控制字占用一个地址,用命令的最高位D7位进行区分, 所以控制字的最高位D7称为控制字标志位。为1为方式选择字,为0为端口C设置字。,A 方式选择控制字,A1 , A0:8255内部寄存器地址寻址信号,8255内部有4个端口,A,B,C与控制口。,说明: 1) A口有3种工作方式 方式0:基本I/O方式; 方式1:单向选通I/O方式,输入或输出只能选一种; 方式2:双向选通I/O方式,一次设置后通道既可以做输入又可以做输出。 2) 端口B有两种工作方式 即方式0与方式1 3) A口和B口工作在方式0时,C口也可同时工作在方式0,且

5、C口高半字节和低半字节可以分别独立工作。,4) A口工作在方式1时,C口的部分位成为A口的信号联络线,但B口仍可以独立工作。不要求A,B同为输入或输出。B口工作于方式1也是一样。 5) A口工作于方式2,C口的大部分位线用于A口的信号联络线,B口仍可以独立工作于方式0或方式1。,一系统采用8255作I/O接口,其控制口的地址为8BH,将端口A设置为方式0输入,端口B设置为方式1输出,则A口的地址为_ ,B口地址为_,控制字为_。,8BH 1000 1011,1000 1000,88H,1000 1001,89H,88H,89H,1,0,0,1,0,1,0,0,94H,J1:A口,方式0,输出

6、B口,方式0,输入 C口高,输出; C 口低,输入,J2:A口,方式0,输入 B口,方式1,输出 C口高,输出,J1,J2地址,1,0,0,1,0,0,88H8EH,1,0,0,0,0,0,80H86H,0,0,J1:A口,方式0,输出; B口,方式0,输入; C口高,输出 ; C 口低,输入 地址: 88H-8EH,控制字:,1,0,0,0,0,0,1,1,83H,J2:A口,方式0,输入; B口,方式1, 输出; C口高,输出 地址:80H-86H,控制字:,1,0,0,1,0,1,0,94H,J1:A口,方式0,输出 B口,方式0,输入 C口高,输出 C 口低,输入 地址:88H-8EH

7、,控制字:83H,J2:A口,方式0,输入 B口,方式1,输出 C口高,输出 地址:80H-86H,控制字:94H,MOV AL, 83H OUT 8EH, AL ;J1控制口 MOV AL, 94H OUT 86H, AL ;J2控制口,B 端口C口各位设置字,例:07H 00000111,即将 PC3置1。,说明: 1) 端口C置0/置1控制字尽管是对端口C进行操作,但此控制字必须写入控制口,而不是写入端口C。 2) 一个控制字只能对一位进行操作。,J1:A口,方式0,输出 B口,方式0,输入 C口高, 输出,C 口低,输入 地址: 88H-8EH, 控制字: 83H C口PC7置1, P

8、C3置0。,MOV AL, 0FH ;00001111 OUT 8EH, AL MOV AL, 06H ;00000110 OUT 8EH, AL,第二节 8255的工作方式,一、方式0 基本输入输出方式 实际上是4个端口,A、B、C高、C低,可以独立地任意组合,一共可有16种组合方式。,输入时序,1) CPU在发出读信号前,先发出地址信号,使8255的片选及各寄存器有效。,2) 在CPU发出读信号之前,外设已将欲输入的数据送入8255的数据总线缓冲器。,3) 8255数据总线缓冲器中的数据必须保持到读信号消失后才结束。,4) 读脉冲宽度至少大于300ns。,5) 在整个输入数据期间,地址信号

9、保持有效。,输出时序,1) 地址信号必须先有效;,2) 写脉冲大于400ns;,3) 数据在写信号结束前有效,且能在写信号结束后保持一段时间;,4) 在写信号结束后,不超过350ns,数据出现在8255的输出锁存器中。,在方式0中,可利用C口的各位信号线做应答信号,配合A, B口的输入输出操作。,图中, 8255地址为02A0H02A6H,根据开关情况来控制LED。(开关闭合灯亮),写出控制程序。,分析:A口输入,方式0;B口输出,方式0,控制字:1 00 1 0 0 90H,MOV DX, 2A6H MOV AL, 90H OUT DX, AL,MOV DX, 2A0H IN AL, DX

10、MOV DX, 2A2H OUT DX, AL,打印机工作顺序(过程) 1) 数据与STB信号一起送入打印机,STB相当于启动信号,启动打印机接受数据; 2) 打印机处理数据,这时BUSY为高,表示“忙”; 3) 处理完数据,BUSY为0,且ACK为低,应答主机。,CPU经8255与打印机连接,8255地址:80H83H,打印从BUF缓冲区开始的100个字符。,分析:8255A口方式0输出,C口高半位输出,C口低半位输入,控制字:,1,00,0,0,1,81H,步骤:1) 查看PC2; 2) 发送PA; 3) 发送PC7。,8255地址80H83H,控制字81H,MOV AL, 81H OUT

11、 83H, AL MOV AL, 0FH OUT 83H, AL LEA SI, BUF MOV CX, 100,; 设置PC7为1,不启动打印机,L: IN AL, 82H AND AL, 04H JNZ L MOV AL, SI OUT 80H, AL,MOV AL, 0EH OUT 83H, AL CALL delay MOV AL, 0FH OUT 83H, AL INC SI DEC CX JNZ L HLT,; 读C口,; 判断PC2,;发送字符,;PC7置0,;PC7置1,;下一个字符,; 忙, 等待,二、方式1 选通输入输出方式(应答方式),1. 特点 1) A口或B口工作在方

12、式1时,C口各位做联络应答信号线,其各位的含义是固定的,不可用软件改变; 2) 各位联络信号都有固定的时序(自动进行) 3) 在输入输出操作中,产生固定格式的状态字,这些状态信息可供CPU查询或向CPU申请中断。CPU从端口C中读取状态字。 4) 方式1为单向传送,初始化后只能向一个方向上传送,若要反方向传送必须再次初始化。,2. 方式1下输入操作的联络信号线定义及时序,指定了C口的3根线作为A口的联络线。,: 外设送入的选通信号,与外设数据一起送入,相当于8255的启动信号。,写控制字,;A口输出数据,;读状态字,;查看OBF是否为高,;读C口,;查看PC4,利用中断申请INTR查询,地址:

13、80H83H, 控制字A8H,允许中断,设置PC6为1,控制字:0110 1 0DH,LEA SI, BUF MOV CX, 100 MOV AL, 0A8H OUT 83H, AL MOV AL, 0DH OUT 83H, AL,L1: MOV AL, SI OUT 80H, AL,L2: IN AL, 82H AND AL, 08H JZ L2 L3: IN AL, 82 AND AL, 10H JNZ L3 INC SI DEC CX JNZ L1 HLT,;A口输出数据,;读状态字,;查看INTR是否为高,;读C口,;查看PC4,三、方式2 双向应答式输入输出方式,该方式只能用于端口A

14、,指定A口既作入口又作输出口,可采用中断或查询方式与CPU交换数据,C口用5个高位数位为A口提供应答信号。这时,端口B仍可以方式0或方式1工作。,输出,输入,方式2的信号联络线实际上是方式1输入输出的组合。,同样,方式2的时序实际上也是方式1的输入与输出的时序的组合。当一个外设既可以用作输入也可以用作输出时,将其接口初始化为方式2,这样输入输出就不用再重新初始化了,具体某个时刻是输出操作还是输入操作由程序来控制,CPU可以通过中断或查询状态字来控制程序进程。,方式2的输入与输出是一个中断源,因此,在中断处理程序中还应该查询8255的状态字,进一步识别是输入申请中断还是输出申请中断,来启动不同的

15、处理程序。,方式2的状态字,输出,输入,两个中断允许位INTE1和INTE2要分别设置。在中服中要查询OBF和IBF两位,看是哪个操作在申请中断。,第三节 键盘及LED显示,键盘及LED显示电路,键盘是微机系统最常使用的输入设备 小键盘:适用于单板机或以微处理器为基础的仪器,实现数据、地址、命令及指令等的输入 独立键盘:通过5芯电缆与PC微机主机连接,简易键盘的工作原理,最简单的线性结构键盘 每一个引脚连接一个键 输入0/1反映键是否按下,简易键盘的工作原理,1. 扫描法,先使第0行接低电平,其余行为高电平,然后看第0行是否有键闭合(通过检查列线电位实现) 此后,再将第1行接地,然后检测列线是

16、否有变为低电位的线。如此往下一行一行地扫描,直到最后一行 在扫描过程中,当发现某一行有键闭合时,便在扫描中途退出 通过组合行线和列线可识别此刻按下的是哪一键,2. 反转法,首先,将行线作为控制线接一个输出端口,将列线作为检测线接一个输入端口 CPU通过输出端口将行线(控制线)全部设置为低电平,然后从输入端口读取列线(检测线) 然后,将行线和列线的作用互换,即将列线作为控制线接输出端口,行线作为检测线接输入端口 将刚才读得的列值从列线所接端口输出,再读取行线的输入值 这样,当一个键被按下时,必定可以读得一对唯一的行值和列值, ;设置行线接输出端口,列线接输入端口 KEY2:MOV AL,00 M

17、OV DX,ROWPORT OUT DX,AL;设置行线全为低 MOV DX,COLPORT IN AL,DX;读取列值 CMP AL,0FFH JZ KEY2;无闭合键,循环等待 PUSH AX;有闭合键,保存列值 PUSH AX, ;设置行线接输入端口,列线接输出端 MOV DX,COLPORT POP AX OUT DX,AL;输出列值 MOV DX,ROWPORT IN AL,DX;读取行值 POP BX;组合行列值 MOV AH,BL;此时,AL行值,AH列值,键盘扫描程序,MOV SI,OFFSET TABLE MOV DI,OFFSET CHAR MOV CX,64;CX键的个数

18、 KEY3:CMP AX,SI ;与键值比较 JZ KEY4;相同,说明查到 INC SI;不相同,继续比较 INC SI INC DI LOOP KEY3 JMP KEY1 ;全部比较完,仍无相同,说明是重键,KEY4:MOV AL,DI;获取键代码送AL ;判断按键是否释放,没有则等待 CALL DELAY ;按键释放,延时消除抖动 ;后续处理,;键盘的行列值表 TABLEDW 0FEFEH;键0的行列值(键值) DW 0FDFEH;键1的行列值 DW 0FBFEH;键2的行列值 ;其他键的行列值 ;键盘的键代码表 CHARDB ;键0的代码值 DB ;键1的代码值 ;其他键的代码值,LE

19、D数码管及其接口,发光二极管LED是最简单的显示设备 由7段LED就可以组成的LED数码管 LED数码管广泛用于单板微型机、微型机控制系统及数字化仪器中 LED数码管可以显示内存地址和数据等,1. LED数码管的工作原理,主要部分是7段发光管 顺时针分别称为a、b、c、d、e、f、g 有的产品还附带有一个小数点h 通过7个发光段的不同组合 主要显示0-9 也可显示A-F(16进制数) 还可显示个别特殊字符:、P,LED数码管的结构,共阳极,共阴极,2. 单个LED数码管的显示,LEDTBDB 3FH,06H,5BH,;显示代码表 MOV AL,1;AL要显示的数字 MOV BX,OFFSET LEDTB XLAT ;换码:ALDS:BXAL MOV DX,PORT OUT DX,AL;输出显示,3. 多个LED数码管的显示,8个数码管:用2个8位输出端口控制 硬件上用公用的驱动电路来驱动各数码管 软件上用扫描方法实现数码显示,例:设计两个8255,要求: 8255(1)地址为80H-83H, A方式0、输入、B方式1,输出,C7-4输出, C3-0输入 8255(2)地址为84H-87H。 A方式1、输出、B方式1,输入,C7-4输入, C3-0输出 试绘制与8088的连接电路图并写出初始化程序,地址选择:,与CPU的硬件电路

温馨提示

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

评论

0/150

提交评论