桂林电子科技大学 微机原理课件D8.1.ppt
《桂林电子科技大学 微机原理课件D8.1.ppt》由会员分享,可在线阅读,更多相关《桂林电子科技大学 微机原理课件D8.1.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、8.1 并行接口芯片并行接口芯片8255A Intel 8255AIntel 8255A是一种通用的可编程并行是一种通用的可编程并行是一种通用的可编程并行是一种通用的可编程并行I IOO接口接口接口接口芯片,是为芯片,是为芯片,是为芯片,是为Intel 8080Intel 808080858085系列微处理器设计的,系列微处理器设计的,系列微处理器设计的,系列微处理器设计的,也广泛用于其他系列的微机系统。也广泛用于其他系列的微机系统。也广泛用于其他系列的微机系统。也广泛用于其他系列的微机系统。第八章第八章 常用接口芯片常用接口芯片8.1.1 8255A的内部结构的内部结构1.三个三个8位位I/
2、O端口端口 端口端口A、B、C可作为可作为8位位I/O端口。端口。端口端口C也可以分为也可以分为2个个4位的位的I/O端口,其中高端口,其中高4位分位分配给配给A口,称为口,称为A组;低组;低4位分配给位分配给B口,称为口,称为B组。组。2.控制寄存器控制寄存器 用于接收用于接收CPU送来的控制命令字,以决定端口的送来的控制命令字,以决定端口的工作方式。工作方式。8.1.2 8255A的引脚说明的引脚说明1.A口外设数据线口外设数据线PA7PA0(双向)(双向)B口外设数据线口外设数据线PB7PB0(双向)(双向)C口外设数据线口外设数据线PC7PC0(双向)(双向)2.片选片选CS及地址线及
3、地址线A1,A0(I)用于芯片及内部端口的寻址。用于芯片及内部端口的寻址。在在IBM-PC/XT机中,用机中,用A9A8A7A6A5=00011选选中中8255A(CS=0),),A4A3A2未用,未用,A1A0接接8255A的的A1A0,其功能及地址为:其功能及地址为:A9A8A7A6A5 A4A3A2 A1A0 选中端口选中端口基本地址基本地址 0 0 A口口 060H 0 0 0 1 1 0 1 B口口 061H 1 0 C口口 062H 1 1 控制寄存器控制寄存器 063H3.数据线数据线D7D0双向、三态,用于双向、三态,用于8255A与与CPU之间的数据传送;之间的数据传送;4.
4、读写控制信号读写控制信号RD,WR(I)5.复位信号复位信号RESET(I)当当RESET=1(有效)时,(有效)时,8255A复位复位(内部寄存器被清除,三个端口自动置为(内部寄存器被清除,三个端口自动置为输入方式)。输入方式)。1.方式方式0基本基本I/O方式方式特点特点:任何一个端口(任何一个端口(A口、口、B口、口、C口上半部、口上半部、C 口下半部)均可设定为独立的口下半部)均可设定为独立的I/O端口。端口。应用应用:用作同步传送的接口电路(用作同步传送的接口电路(A、B、C口均可用口均可用作数据端口)。作数据端口)。用作查询传送的接口电路(用作查询传送的接口电路(A、B口用作数据端
5、口用作数据端口;口;C口分为两部分,用作状态口分为两部分,用作状态/命令端口)。命令端口)。8.1.3 8255A的工作方式的工作方式2.方式方式1选通选通I/O方式方式特点特点:口:口A/B作为数据端口,作为数据端口,C口的某些位作为口的某些位作为 联络联络/控制信号(控制信号(C口的其它位仍可设定口的其它位仍可设定 为为I/O)。)。应用应用:用作中断:用作中断/查询式传送的接口电路。查询式传送的接口电路。(1)方式)方式1的输出的输出A A口口口口B B口口口口 INTR 中断请求中断请求(O)。当外设已从端口取走数据()。当外设已从端口取走数据(ACK 由由01),使),使8255的输
6、出缓冲器有空(的输出缓冲器有空(OBF=1),且端),且端口允许中断(口允许中断(INTE=1)时)时INTR有效。有效。ACK 外设响应外设响应(I)。有效时通知)。有效时通知8255,外设已,外设已将端口的数据取走,并使将端口的数据取走,并使OBF=1。OBF 输出缓冲器满输出缓冲器满(O)。有效时通知外设,)。有效时通知外设,CPU将数据输出到端口,外设可将其取走。将数据输出到端口,外设可将其取走。INTE 中断允许中断允许。INTE=1时,允许端口发时,允许端口发INTR;INTE=0时,不允许。时,不允许。用对用对C口的操作控制字使口的操作控制字使PC6/PC2置置1/0,可控制,可
7、控制A/B口允许口允许/不允许发不允许发INTR。WROBFINTRACK输出输出(2)方式)方式1的输入的输入A A口口口口B B口口口口 STB 选通信号选通信号(I)。当输入设备将数据)。当输入设备将数据准备好,送到端口时,向端口发出准备好,送到端口时,向端口发出STB有效信号。有效信号。IBF 输入缓冲器满输入缓冲器满(O)。有效时表示已有)。有效时表示已有一个新数据锁存在输入缓冲器中,一个新数据锁存在输入缓冲器中,IBF通知外设暂时通知外设暂时不能向端口输入新数据。不能向端口输入新数据。INTE 中断允许中断允许。用对。用对C口的操作命令字使口的操作命令字使PC4/PC2置置1/0,
8、可控制,可控制A/B口允许口允许/不允许不允许INTR。INTR 中断申请中断申请(O)。当外设已将新的)。当外设已将新的数据输入端口(数据输入端口(STB=1,IBF=1),且),且8255允许发允许发中断请求(中断请求(INTE=1)时,)时,INTR输出有效。输出有效。STBIBFINTRRD来自外设来自外设输入数据输入数据3.方式方式2双向双向I/O方式方式特点特点:只用于只用于A口口,既能输入,也能输出;,既能输入,也能输出;C口口 的的5位信号线固定用于联络位信号线固定用于联络(B口只能用口只能用 于方式于方式0/1)。)。应用应用:I/O设备,且设备,且I/O分时操作,用分时操作
9、,用A口作口作I/O端端 口,用中断口,用中断/查询传送。查询传送。PC6/PC4置允许置允许8255口输出口输出/输入时发输入时发INTR。A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 1 1 1 A组方式选择组方式选择 00:方式方式0 01:方式:方式1 C 口低口低 4 位控制位控制 1:方式:方式2 0:输出,:输出,1:输入:输入 B A A口口控制控制 B 口控制口控制 组组 0:输出,:输出,1:输入:输入 0:输出,:输出,1:输入:输入 组组 C 口高口高4位控制位控制 B组方式选择组方式选择 0:输出,:输出,1:输入:输入 0:方式:方式0,1:方式:方式
10、1 8.l.4 8255A的控制字的控制字 1.方式选择控制字方式选择控制字决定三个端口的工作方式决定三个端口的工作方式 例例:8255A的的地地址址为为60H63H。若若规规定定端端口口A工工作作于于方方式式1输输入入,端端口口B工工作作于于方方式式1输输出出,余余下下的的PC7、PC6规规定定为为输输出,则方式选择控制字如右所示。出,则方式选择控制字如右所示。MOV AL,0B4H OUT 63H,AL 2.C口口位操作位操作控制字控制字 设置设置C口各位的值口各位的值 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 1 1 0 B2 B1 B0 置位控制置位控制 0:置:置0
11、,1:置:置1 位选择位选择 000:选择:选择 PC0 001:选择:选择 PC1 111:选:选择择PC7 例例 置端口置端口C的的D7位为位为1:MOV AL,00001111B;OUT 63H,AL;例例:若若要要从从8255A的的PC7输输出出正正脉脉冲冲,则则可可以以用用以下程序段(设原来的以下程序段(设原来的PC7=0)。)。MOV AL,00001111B;PC7置置1 OUT 63H,AL MOV AL,00001110B ;PC7置置0 OUT 63H,AL0 0 0 0 1 1 1PC7A口方式口方式0下输出;下输出;C口的口的PC6输出选通信号输出选通信号STB;PC2
12、作为输入,接收打印机送来的忙信号作为输入,接收打印机送来的忙信号BUSY。8.1.5 8255A应用举例应用举例例例1.用用8255A作为打印机的接口,工作于方式作为打印机的接口,工作于方式0,CPU用用查询方查询方 式式将将BUFF缓冲区中的缓冲区中的100个字符送打印机打印。个字符送打印机打印。D7D0 ABCPU PA7PA0 8255ACS PC6 PC2A1 A0 打印机打印机STBBUSYDB译译码码驱动驱动判断是否忙判断是否忙判断是否忙判断是否忙初始化初始化初始化初始化程序段:程序段:MOV AL,10000001B ;8255初始化初始化初始化初始化OUT 0A3HOUT 0A
13、3H,AL;MOV AL,00001101B ;置置PC6为为1OUT 0A3H,AL;MOV CX,100;MOV SI,OFFSET BUFF;LOP:IN AL,0A2H ;读打印机状态读打印机状态 TESTAL,04H;JNZLOP ;忙,继续测试忙,继续测试 MOVAL,SI ;闲,输出闲,输出1个字符个字符 OUT0A0H,AL;MOVAL,00001100B;PC6产生选通脉冲产生选通脉冲 OUT0A3H,AL;INCAL;OUT0A3H,AL;INCSI ;修改地址指针修改地址指针 LOOPLOP:例例2,用,用8255A作为作为PC/XT机机和打印机的接口,工作于和打印机的接
14、口,工作于 方式方式1,CPU用用中断方式中断方式将将BUFF缓冲区中的缓冲区中的100 个字符送打印机打印。个字符送打印机打印。D7D0 ABCPU PA7PA0 8255ACS PC4 PC6A1 PC7A0 PC3 打印机打印机STBACKDB译译码码驱动驱动OBFINTR(送送8259A的的IRQ7)A口方式口方式1输出输出;PC口的口的PC4作选通信号作选通信号STB。PC6自动作响应信号自动作响应信号ACK,PC7自动作输出缓冲信号自动作输出缓冲信号OBF,PC3自动作中断信号自动作中断信号INTR (送送8259A的的IRQ7)。初始化初始化初始化初始化82558255CPUCP
15、U自忙自忙自忙自忙打印机打印机打印机打印机自忙自忙自忙自忙设置中断向量设置中断向量设置中断向量设置中断向量SISIBUFFBUFFCX CX 100100设置设置8255中断允许中断允许PC6置置1CPUCPU开中断开中断开中断开中断例例2,用,用8255A作为作为PC/XT机机和和打印机的接口,工作打印机的接口,工作于方式于方式1,CPU用用中断方式中断方式将将BUFF缓冲区中的缓冲区中的100个个字符送打印机打印。字符送打印机打印。D7D0 ABCPU PA7PA0 8255ACS PC4 PC6A1 PC7A0 PC3 打印机打印机STBACKDB译译码码驱动驱动OBFINTR送送825
16、9A的的IRQ7中断发生过程中断发生过程响应中断响应中断响应中断响应中断执行中断执行中断执行中断执行中断服务程序服务程序服务程序服务程序8259INT8259INTINTRINTR主程序主程序设置设置8255A方式方式设置中断向量设置中断向量开放开放IRQ7中断中断 SIBUFF偏偏CX100开开8255A中中断断送送选通信号选通信号开开中中断断 等待等待HLTSISI+1CX-10?关中断关中断END中断子程序中断子程序INTR1送送1个个字符字符送送选通信号选通信号返回返回中断结束中断结束STACKSEGMENTDW256DUP(?);(?);TOPLABEL;STACKENDS;DATA
17、SEGMENTBUFFDB 100 DUP(?);(?);DATAENDS;CODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK;START:MOV AX,DATA;MOV DS,AX;MOV AX,STACK;MOV SS,AX;MOV SP,OFFSET TOP;MOV AL,10100000B ;8255初始化初始化 MOV DX,063H OUT DX,AL;PUSH DS ;设置中断向量设置中断向量 MOV AX,SEG INTR1;MOV DS,AX;MOV DX,OFFSET INTR1;MOV AX,250FH;INT 21H;POP DS;MOV
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 桂林电子科技大学 微机原理课件D8.1 桂林 电子科技大学 微机 原理 课件 D8
限制150内