《微机原理》课件第8章-8255_第1页
《微机原理》课件第8章-8255_第2页
《微机原理》课件第8章-8255_第3页
《微机原理》课件第8章-8255_第4页
《微机原理》课件第8章-8255_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、第8章微机系统的并行I/O接口8-1 概述8-2 并行I/O接口芯片Intel 8255A8-3 8255应用举例2并行接口-就是在通信过程中能够同时传送数据所有位的接口芯片。并行接口通常以字节或字为单位传送,速度快,效率高;适合近距离传送;无固定数据格式。8-1 并行接口概述分类:(1)按数据传送方向分为:输入接口、输出接口;(2)按传输数据形式分为:单向传送接口、双向传送接口;(3)按接口电路结构分为:简单接口、可编程接口;(4)按传送信息类型分为:数字接口和模拟接口。 3主要内容:一、8255的功能二、内部结构三、引脚四、8255的控制字五、8255的工作方式8-2 可编程并行接口芯片8

2、2554一、功能1、8255内部有8位I/O数据端口(A口、B口、C口)和一个控制寄存器,用来确定工作方式;2、A、B、C口均可作独立的8位数据I/O口,C口还可按位操作和作为A、B口的状态信号3、A口、B口输入/输出具有数据锁存能力,C口输出有锁存,输入无锁存能力。方式0,基本输入/输出方式:方式1,选通输入/输出方式:方式2,选通双向输入输出方式4、 8255共有三种工作方式:;8-2 可编程并行接口芯片82555二、内部结构PA7PA0PB7PB0PC3PC0PC7PC4数 据总 线缓冲器读 /写控 制逻 辑A组控制B组控制端口A(8)端口C(8)高4位低4位端口B(8)DB7DB0WR

3、RDCSA1A0RESET8-2 可编程并行接口芯片82556PB7PB0PC3PC0PC7PC48255ADB7DB4WRRDCSA1A0RESETPA7PA0复位状态:内部寄存器清零,各数据端口置输入方式 A1、A0端口选择0 0-A端口0 1-B端口1 0-C端口1 1-控制端口三、引脚与CPU相连与外设相连8-2 可编程并行接口芯片82557四、8255的控制字1、方式选择控制字(D7位置1)2、端口C按位置位/复位控制字(位操作) (D7置0)D7D6D0D1D2D3D4D5控制寄存器:标志位8-2 可编程并行接口芯片82558D7D6D0D1D2D3D4D5端口A方式00 方式00

4、1 方式110 方式2端口A1 输入0 输出端口C(高半部)1 输入0 输出A组端口B方式0 方式01 方式1端口B1 输入0 输出端口C(低半部)1 输入0 输出B组11、方式选择控制字格式:8-2 可编程并行接口芯片82559D7XD0D1D2D3XX端口C置位/复位1 置位0 复位端口C 位选择000 PC0001 PC1010 PC2011 PC3100 PC4101 PC5110 PC6111 PC7注意:端口C按位置位/复位控制字与方式选择控制字均写入控制字寄存器,但它们的标志位不同。02、端口C按位置位/复位控制字:8-2 可编程并行接口芯片825510例、请编程:8255的 A

5、、B、C和控制端口的地址分别为60H、61H、62H和63H。当某开关闭合时,点亮相应的指示灯。第一步:首先初始化,确定工作方式方式字:1 00 1 0 0 0 0 ( 90H)1 A口方式 A口 C高 B口 B口 C低 I/O I/O 方式 I/O I/O D7 D6 D5 D4 D3 D2 D1 D0MOV AL,90HOUT 63H,AL第二步:将开关状态反映在指示灯上IN AL ,60HOUT 61H,ALPB7PB0端口A(8)端口B(8)8255A端口C(8)PA7PA0+5V控制端口 60H61H63H62H8-2 可编程并行接口芯片825511方式0-基本输入/输出方式:方式1

6、-选通输入/输出方式:方式2-双向输入输出方式:五、8255 工作方式(A口 、B口、C口)(A口 、B口)仅适用于端口A分析工作方式的时序时,注意分析信号的发出者和承受者;弄清各个信号的因果关系8-2 可编程并行接口芯片825512方式0 -基本输入/输出方式:PA7PA0PB7PB0PC3PC0PC7PC4端口A(8)端口C(8)高4位低4位端口B(8)相当于三个独立的8位简单接口;C端口也可以分为两个独立的4位端口各端口可设置为输入口或输出口;常用于连接简单外设(适于无条件或查询方式)8-2 可编程并行接口芯片825513方式1 -选通输入/输出方式:固定C口的某些位做A、B口的数据输入

7、/输出选通信号INTEAPC5PC4PC3A口PA7PA0STBAIBFAINTRAINTEBPC1PC2PC0PB7PB0STBBIBFBINTRBB口PC6、PC7INTEAPC7PC6PC3A口PA7PA0OBFAINTRAINTEBPC1PC2PC0PB7PB0OBFBINTRBB口ACKAACKBPC4、PC58-2 可编程并行接口芯片8255输出输入14方式1 -选通输入/输出方式:INTEAPC5PC4PC3A口PA7PA0STBAIBFAINTRAINTEBPC1PC2PC0PB7PB0STBBIBFBINTRBB口PC6、PC7选通输入方式:仅剩余PC6、PC7引脚作为I/O

8、线:选通信号;其上升沿将输入数据锁存到输入缓冲器IBFASTBA:输入缓冲器满信号,选通信号将数据存入缓冲器后IBFA=1,表示输入数据有效。8-2 可编程并行接口芯片825515INTE-中断允许,用来决定A、B口是否允许中断:输入方式下,A口通过PC4 ,B口通过PC2置/复位决定INTE 状态输出方式下,A口通过PC6,B口通过 PC2置/复位决定INTE 状态; -中断请求 :当INTEA、IBFA、 均置1时INTRA=1,通知CPU读取A口,CPU读取数据后 INTRA=0。STBAINTRA方式1 -选通输入/输出方式:INTEAPC5PC4PC3A口PA7PA0STBAIBFA

9、INTRAINTEBPC1PC2PC0PB7PB0STBBIBFBINTRBB口PC6、PC7选通输入方式:8-2 可编程并行接口芯片825516方式1 -选通输入/输出方式:INTEAPC5PC4PC3A口PA7PA0STBAIBFAINTRAINTEBPC1PC2PC0PB7PB0STBBIBFBINTRBB口PC6、PC7选通输入方式:STBIBFINTRIOR方式1下数据输入时序图8-2 可编程并行接口芯片825517INTEAPC7PC6PC3A口PA7PA0OBFAINTRAINTEBPC1PC2PC0PB7PB0OBFBINTRBB口ACKAACKBPC4、PC5选通输出方式:输

10、出缓冲器满信号,当CPU输出数据后,该信号有效,通知外设。:响应信号;外设接收数据后,发回的信号。OBFAACKAINTRA:中断请求 INTE、 、 均置1时有效;INTRA通常通过8259A向CPU发中断请求,使之再次输出数据。ACKAOBFA8-2 可编程并行接口芯片825518INTEAPC7PC6PC3A口PA7PA0OBFAINTRAINTEBPC1PC2PC0PB7PB0OBFBINTRBB口ACKAACKBPC4、PC5选通输出方式:IOWOBFINTRACK方式1下数据输出时序图8-2 可编程并行接口芯片825519只有A口具有此方式;方式2是将方式1的输入和输出合并在一起,

11、形成双向方式。使用C端口的5位信号做联络线当端口A设定为方式2时,口B可工作于方式0或方式1;方式2 -双向方式INTE1PC5PC4PC3A口PA7PA0+INTE2PC7PC6STBAIBFAINTRAOBFAACKAB口PB7PB0PC2、PC1、PC08-2 可编程并行接口芯片8255208255芯片的应用芯片与系统的连接芯片的初始化相应的控制程序8-3 Intel 8255A应用举例218255举例1例8-1 :利用8255A作为输出设备打印机的接口,此时8255A通常设置成工作方式0,采用查询方式,下页图为打印机接口电路原理图.设8255A端口及控制寄存器地址分别为:A口0380H

12、,B口0381H,C口0382H,控制寄存器0383H.当CPU要打印一个数据时,打印机接收CPU传送数据的过程如下:(1)CPU经8255A先查询打印机忙(BUSY)信号.若打印机处于忙状态(BUSY=1),CPU不能向打印机输出新数据;当打印机不忙(BUSY=0)时,CPU能向打印机输出新数据.(2)CPU经8255A的端口A输出数据,即PA0PA7数据线上有数据.(3)CPU经8255A的PC7送出一个选通信号STB,低电平有效,把PA0PA7数据线上的数据存入打印机缓冲器中.(4)打印机接收到数据后,使BUSY=1将”忙”信号送至PC2,表示打印机正在处理CPU输入的数据,数据处理完毕

13、置BUSY=0,表示打印机准备接收CPU输出的下一个数据.如此重复,直至打印完所有的数据.8-3 Intel 8255A应用举例228255与系统及打印机的连接示意图D0D7WRRDA1A0CSDBIOWIORA1A0译码器8255PA0 PA7PC2PC7D0D7打印机A15A2系统总线STBBUSYD0 D78-3 Intel 8255A应用举例23;8255的初始化程序INIT:MOV DX, 0383HMOV AL, 10000001B;A口方式0,输出,C口高4位输出;B口方式0,输出,C口低4位输入OUT DX, ALMOV AL, 00001111B;C口按位置字,使PC7为1O

14、UT DX, AL8-3 Intel 8255A应用举例;打印字符MOV SI, 2000HMOV CX, 0FFH24CONP:MOV DX, 0382HIN AL, DX ;从C口读入打印机的BUSY状态信号AND AL, 04HJNZ GOON ;若BUSY为高电平,等待MOV AL, SIMOV DX, 0380HOUT DX, AL ;取一个字符从A口输出MOV DX, 0383HMOV AL, 00001110BOUT DX, AL ;从PC7输出一个低电平NOPMOV AL, 00001111BOUT DX, AL ;从PC7输出一个高电平,形成STB负脉冲INC SI ;指向下

15、一个字符 LOOP CONP ;若未结束循环HLT8-3 Intel 8255A应用举例258255应用举例2【例8-2】利用8255A作为打印机接口来打印字符串,字符串长度放在DS段的COUNT单元,要打印的字符存放在从DATA单元开始的数据区中.若使8255A工作在方式1下,并利用中断方式进行数据传送,则8255A与打印机的电路连接示意图见下页设8255的端口地址为0FBC0H0FBCH,分别对应A口,B口,C口和内部控制寄存器.设8259的端口地址为0FF00H和0FF01H.8-3 Intel 8255A应用举例268255工作在方式1时与系统及打印机的连接示意图系统总线信号8255P

16、A0 PA7PC7PC6打印机STROBEBUSYD0 D7ACKOBF单稳触发器8259IR2PC3(INTRA)8-3 Intel 8255A应用举例27主程序:MAIN:PUSH DSLEA DX, PRINTMOV AX, SEG PRINTMOV DS, AXMOV AL, 0AHMOV AH, 25HINT 21H ;AL中断类型号,DS:DX中断向量表POP DS ;设置中断向量MOV DX, 0FBC3HMOV AL, 0A0H ;10100000B,8255初始化,A口OUT DX, AL ;方式1输出,B口、C口方式0输出MOV AL, 0DHOUT DX, AL ;使PC

17、6为1,使INTE为1,允许中断8-3 Intel 8255A应用举例28MOV AL, 00HMOV DX, 0FBC0HOUT DX, AL ;输出空字符,引起一次中断MOV AX, OFFSET DATAMOV STR_PTR, AXMOV AX, SEG DATAMOV STR_PTR+2, AX ;设置字符串偏移地址和段地址STI ;开中断8-3 Intel 8255A应用举例29中断服务程序:PRINT:PUSH SIPUSH AXPUSH DSLDS SI, DWORD PTR STR_PTRLODSB ;取一个字符MOV STR_PTR, SI ;保存新的串指针MOV DX,

18、0FBC0HOUT DX, AL ;输出一个字符MOV AL, 20HMOV DX, 0FF00HOUT DX, AL ;写8259的OCW2,发送中断结束命令POP DSPOP AXPOP SIIRET ;中断返回8-3 Intel 8255A应用举例308255举例3【例8-3】用8255并行接口芯片实现键盘接口,电路图见下页。图中,按键排列成4行4列,8255的C口设置为方式0,并将PC7PC4设定为输出,与各行线相连;PC3PC0设定为输入,与列线相连。8-3 Intel 8255A应用举例31键盘结构线性键盘:每个按键是一个独立的开关,其一端与微机某输入端口的一位相连,另一端接地。只

19、要查询输入端口各位的状态,即可判断是否有按键按下及是哪一位按下。适用于按键少的情况。矩阵键盘:按键排成n行m列的矩阵形式,每个按键占据行列的一个交叉点。使用的连线数少,是一般微机常用的键盘结构。按键的识别有扫描法和反转法两种。8-3 Intel 8255A应用举例32 逐行输出0,读入列值,检查有无为0的位。若有,则当前行该列的键被按下。常用三个步骤来检查: 1)识别是否有键按下。PC7PC4输出全0,然后从PC3PC0读入,若读入的数据中有一位为0,则某键被按下,转2,否则在本步循环 2)去抖动:延时20ms,过滤掉按键的抖动,在将第1步作一次,确认有键闭合,转3;否则转1 3)查找被按下的

20、键:从第0行开始,顺序逐行扫描,即逐行输出0。每扫描一行,读入列线数据,若数据中有一位为0,表示对应键被按下。1.扫描法PC7PC6PC5PC4PC3PC2PC1PC08-3 Intel 8255A应用举例33 仅用两个步骤来检查: 1)将PC7PC4设定为输出,PC3PC0设定为输入。向行线输出全0,接着从PC3PC0读入列线的值,若读入的数据中有一位为0,则表明与该位对应的列线上有某个键被按下,存储此值为“列值”,转第2步,否则在本步骤中循环。 2)将PC7PC4设定为输入,PC3PC0设定为输出。把第1步读入的值再输出到列线上(即把行值从PC3PC0输出),接着从PC7PC4读入行线的值

21、,其中必有一位为0,为0的位所对应的行线就是被按键所在的行,存储此值为“行值”。将行值和列值组合在一起,用查表的方法即可得到按键的键号。2.反转法PC7PC6PC5PC4PC3PC2PC1PC08-3 Intel 8255A应用举例34反转法按键识别程序(设8255端口地址为40H43H):START:MOV AL, 10000001B;方式0,C口高4位输出低4位输入OUT 43H, ALMOV AL, 0OUT 42H, AL ;各行线(PC7PC4)输出0WAIT:IN AL, 42H ;读入列线(PC3PC0)状态AND AL, 0FH CMP AL, 0FHJE WAIT ;若列线低

22、4位全1,无按键,循环MOV AH, AL ;保存列值MOV AL, 10001000B ;方式0,C口高4位输入低4位输出OUT 43H, AL ;反转输入输出方向MOV AL, AHOUT 42H, AL ;将列值反向输出到列线上IN AL, 42H ;读入行线(PC7PC4)状态AND AL, 0F0H ;保留高4位OR AL, AH ;组合行值和列值 8-3 Intel 8255A应用举例35试验讲解1、基本输入输出实验。编写程序,使8255的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。接线图如下:8-3 Intel 8255A

23、应用举例36编程SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART:MOV DX, 0646HMOV AL, 90HOUT DX, ALAA1:MOV DX, 0640HIN AL, DXCALL DELAYMOV DX, 0642HOUT DX, ALJMP AA1DELAY:PUSH CXMOV CX, 0F00HAA2:PUSH AXPOP AXLOOP AA2POP CXRETCODEENDSEND START8-3 Intel 8255A应用举例372、流水灯显示实验。编写程序,使8255的A

24、口和B口均为输出,数据灯D7D0由左向右,每次仅亮一个灯,循环显示,D15D8与D7D0正相反,由右向左,每次仅点亮一个灯,循环显示。接线图如下: 8-3 Intel 8255A应用举例38编程SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART:MOV DX, 0646HMOV AL, 80HOUT DX, ALMOV BX, 8001HAA1:MOV DX, 0640HMOV AL, BHOUT DX, ALROR BH, 1MOV DX, 0642HMOV AL, BLOUT DX, ALROL B

25、L, 1 CALL DELAYCALL DELAYJMP AA1DELAY:PUSH CXMOV CX, 0F000HAA2:PUSH AXPOP AXLOOP AA2POP CXRETCODEENDS8-3 Intel 8255A应用举例393、修改流水灯显示程序,改变流水灯的显示方式,如4个灯亮,4个灯灭。 8-3 Intel 8255A应用举例404、按下图接线编程,如何使数码管循环显示09.请编程。 8-3 Intel 8255A应用举例41编程SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDS;定义数据区:TABLE DB .;七段显示码表;代码段部分

26、程序:. ;8255初始化,方式控制字MOV CX ,10NEXT0:LEA SI , TABLEMOV BL,0NEXT1: MOV AL,SI ; 从8255A口输出CALL DELL ; 延时程序INC SIDEC CXJNZ NEXT1JMP NEXT0DELL:PUSH AX ;延时1s MOV CX, 0100 T1:MOV AX,0560T2:DEC AX JNE T2LOOP T1 POP AX RET8-3 Intel 8255A应用举例425、思考题,按下图接线编程,如何使数码管循环显示099.请编程。 8-3 Intel 8255A应用举例439-1 串行通讯和可编程接口芯片8251A一、串行通讯的基本概念基本通讯方式:并行通讯:串行通讯: 计算机 I/O7I/O6I/O1I/O0 外设 I/O7I/O6I/O1I/O0 计算机 RT 外设 TR数据各位同时传送数据按一定格式编码按位传送441、数据传送方向串行通讯按传送方向分为单工、半双工、和全双工方式T设备AR设备B单工:单向通讯方式T设备ART设备BR数据流半单工:单通信线、发送/接收分时使用T设备ARR设备BT数据流全双工:双通信线,发送/接收同

温馨提示

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

评论

0/150

提交评论