2012级wj73

上传人:野鹰 文档编号:2544314 上传时间:2017-07-25 格式:PPT 页数:53 大小:1.31MB
返回 下载 相关 举报
2012级wj73_第1页
第1页 / 共53页
2012级wj73_第2页
第2页 / 共53页
2012级wj73_第3页
第3页 / 共53页
2012级wj73_第4页
第4页 / 共53页
2012级wj73_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《2012级wj73》由会员分享,可在线阅读,更多相关《2012级wj73(53页珍藏版)》请在金锄头文库上搜索。

1、MOV DX,83FCHIN AL,DX,简单的输入接口举例,简单的输出接口举例,MOV DX,0FFFFHMOV AL,01000001BOUT DX,AL,可编程接口电路,数据传输方式:并行串行,并行,7.3 可编程并行接口8255,8255A是通用的可编程并行接口芯片,功能强,使用灵活。 8255A内部包含3个8位端口,适合一些并行输入/输出设备的使用。,一、并行输入/输出端口A、B、C,1、 8255A内部包含3个8位端口 端口A:一个8位数据输出锁存/缓冲寄存器和一个8位数据输入锁存器: PA0 PA7 端口B:一个8位数据输入/输出、锁存/缓冲寄存器和一个8位数据输入锁存器:PB0

2、 PB7 端口C:包含一个输出锁存/缓冲寄存器和一个输入缓冲寄存器:PC0 PC7,2、端口C可分成两个4位端口,分别与端口A和端口B配合工作,通常将端口A和端口B定义为输入输出的数据端口,而端口C可作为状态或控制信息的传送端口。,3、端口A与端口C的高4位(PC7-PC4)组成A组; 端口B与端口C的低4位(PC3-PC0)组成B组;,4、8255A包含一个双向的8位数据缓冲寄存器, 既可以输入,又可以输出数据。, RESET信号:有效时,清除8255所有控制字 寄存器内容,并将各端口置为输入方式。, A0、A1信号:端口选择信号,若片选如左图所示,则 控制字端口地址为63H C端口地址为6

3、2H B端口地址为61H A端口地址为60H,0000 0000 0110 00XX,若片选如上所示,则 控制字端口地址为66H(或67H) C端口地址为64H(或65H) B端口地址为62H(或63H) A端口地址为60H(或61H),0000 0000 0110 0XXX,8255的读写操作控制,8255与系统总线的典型连接,8255与系统总线的连接,二、8255芯片的控制字及其工作方式,8255A有三种工作方式:,方式0:基本输入输出方式方式1:选通输入输出方式方式2:双向传送方式,端口A可工作于方式0、方式1、方式2三种方式;,端口B可工作于方式0、方式1两种方式;,端口C可工作于方式

4、0,当端口A、B工作于方式 1或2时,分成高4位( PC7PC4、与A口结合)和低4位( PC3PC0、与B口结合) ,用来传送控制信息。,1、8255A控制字(写入控制寄存器地址),(1)、定义工作方式控制字,(2)、置位/复位控制字(只对C端口),端口C可以位控制,2、工作方式介绍,(1)方式0:简单的输入输出操作方式,C口分为两个4位端口,可分别设置。与A口、B口一起共有16种组合。,输出带锁存功能、输入无锁存功能。,MOV DX,0FBC3H ;初始化8255AMOV AL,10000001B ;控制字OUT DX,AL,A、B、C及控制寄存器地址分别为:0FBC0H、0FBC1H0F

5、BC2H、0FBC3H,设置:A口为输出C口高4位为输出C口低4位为输入B口任意,(2)方式1:选通的输入输出方式,A口、B口用来输入输出数据,但C口分成两部分,分别作为A口、B口的控制信号。主要用于中断方式。,输入时,需要使用的控制信号如下:, /STB:选通信号,由外部输入,低电平有效。/STB有效时,将外部输入的数据锁存到所选端口的输入锁存器中。,外设,IBF,STB,IBF有效时,表示数据已占用该端 口的数据锁存器,是对/STB信号的 回答。 CPU从接口读走数据后,缓冲器变 空,IBF清0,外设可继续提供输入数据。, IBF:输入缓冲器满信号,向外部输出,高电 平有效。,IBF是对/

6、STB信号的回答, INTR:中断请求信号,向CPU输出, 高电平有效。,INTR受INTE控制,可用位控方式使PC4=1,则A口的INTEA=1,允许中断,否则禁止中断。,/STB有效时,IBF置1,当前输入缓 冲器已满,可向CPU发出中断申请信 号。CPU在中断服务程序中读走数 据后,IBF清0,外设继续输入数据。 对外设来说,IBF为该输入接口的状态。,方式1输出时,需要使用的控制信号如下:,方式1下输出接口A,方式1下输出接口A, /OBF输出缓冲寄存器满信号。向外部输出, 低电平有效。 /OBF有效时,表示CPU已将数据写入该端口正等待输出。当CPU执行OUT指令,/WR有效时,表示

7、将数据锁存到数据输出缓冲寄存器,由/WR的上升沿将/OBF置为有效。,/ACK是对/OBF信号的回答。, /ACK外部应答信号。由外部输入, 低电平有效。 /ACK有效,表示外部设备已读走由8255A输出 的八位数据,它实际上是对/OBF信号的回答信 号。, INTR中断请求信号。向CPU输出,高电平 有效。 当/ACK有效时,/OBF被置位为高电平, INTR输出高电平,向CPU发出输出中断请求。 在中断服务程序中,继续向8255输出后续字节。,INTR受INTE控制,可用位控方式使PC6=1,则A口的INTEA=1,允许中断,否则禁止中断。,如果将8255A中的端口A和端口B均定义为工作方

8、式1输出操作功能,那么工作方式控制字的具体格式如下图所示。,方式1工作方式下,端口A和端口B共有4种组合形式:,端口A为输入,端口B为输出,端口A为输出,端口B为输入,在方式1下C口作为A口、B口的控制线,其状态可反映当前A口、B口的工作情况。,方式1下输入时的状态,方式1下输出时的状态,(3)方式2:双向传送方式,8255A只允许端口A使用方式2,其控制信号由C口的5条线(PC3 PC7)提供,并可向CPU发出中断请求信号。,方式2主要用来实现CPU与外设之间实现双向并行通信。,端口A工作于方式2时,允许端口B工作在方式0或方式1。可以使用C口剩余的线(PC0 PC2)。控制字如下:,端口A

9、工作于方式2所需要的5个控制信号由端口C的PC7PC3来提供。如端口B工作于方式0,那么PC2PC0可用作数据输入/输出;如端口B工作于方式1,那么PC2PC0用来作端口B的控制信号。,方式2下的信号定义,需要使用的控制信号如下:, IBFA:输入缓冲器满信号,向外部输出,高电平有效。,PC5用做输出的IBFA信号。,待CPU响应该中断请求,可在中断服务程序中安排OUT或IN指令输出或读入后续数据。,方式2下的状态,8255A实验,拨动开关,观看发光二极管的状态。,CODE SEGMENTASSUME CS:CODE ORG 100HSTART:MOV DX,4A6H MOV AL,90H O

10、UT DX,AL ;写控制字,A口输入方式 ;B口输出方式 START1: MOV DX,4A0H IN AL,DX ;读A口 MOV DX,4A2H OUT DX,AL ; 输出到B口 JMP START1CODE ENDSEND START,例题1,/STROBE将数据锁存到打印机。 BUSY信号为高时,表示打印机正在忙。,8255A的地址为0FBC0、0FBC1、0FBC2、0FBC3H,1 0 0 0 0 0 0 1,控制字为81H时,端口A为方式0,且为输出。端口端口C低4位为输入,高4位为输出。,MOV DX,0FBC3H MOV AL,10000001B OUT DX,AL ;初

11、始化8255A MOV AL,00001101B ;PC6=1 OUT DX,AL MOV CX,COUNT MOV SI,OFFSET DATA GOON:MOV DX,0FBC2H IN AL,DX; 读C口 AND AL,02H;判断PC1 JNZ GOON MOV DX,0FBC0H MOV AL,SI OUT DX,AL ;从A口输出,MOV DX,OFBC2H MOV AL,0 OUT DX,AL ; C口输出0 NOP NOP MOV AL,40H; PC6=1 OUT DX,AL ; C口输出 INC SI LOOP GOON HLT,初始化和控制程序如下:,在PC6产生负脉冲

12、,端口A为方式0,输出端口C低4位为输入,高4位为输出,例题2,设8255A的地址为40H、41H、42H、43H。,1、扫描法,2、反转法,第1步:行3、行2、行1、行0全输出0,然后读取4个列的值,若其中有某一位为0,可能有按键按下,转第2步,否则重复第1步。,扫描法的思想,第2步:延时20ms后,重复第一步,若列值中有某一位为0,表明确实有按键按下,并可确定出被按下的按键的列位置,然后转第3步,否则重复第1步。,第3步:从第0行开始,逐行扫描。方法是按顺序分别输出0111、1011、1101、1110,并同时读入该状况下的四个列值,如果四位中有0,即可判断出此键的行位置。,START:M

13、OV AL,10000001B;方式0,C口高4位输出,低4位输入 OUT 43H,AL MOV AL,0 OUT 42H,AL; ;PC7PC4输出为0WAIT1:IN AL,42H;读入PC0PC3 AND AL,0FH CMP AL,0FH JE WAIT1 MOV AH,AL;AH=00001011 MOV AL,10001000B;方式0,C口高4位输入,低4位输出 OUT 43H,AL,MOV AL,AH OUT 42H,AL IN AL,42H AND AL,0F0H ;AL=01110000 OR AL,AH ;AL=01111011 。,反转法程序,第一排按键的编码是: 01110111、 01111011、01111101、 01111110,例:在下图8255应用系统中,温度正常时,开关K是打开的,绿色指示灯LD亮,红色指示灯HD灭。温度异常时,开关K闭合,绿色指示灯LD灭,红色指示灯HD亮。请编写程序实现上述功能。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号