[工学]西南科技大学微机原理10-55_第1页
[工学]西南科技大学微机原理10-55_第2页
[工学]西南科技大学微机原理10-55_第3页
[工学]西南科技大学微机原理10-55_第4页
[工学]西南科技大学微机原理10-55_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

第十章 可编程并行接口8255A,10.1 可编程并行接口8255A10.2 8255A的控制字10.3 方式0基本的输入/输出方式10.4 方式1选通的输入输出方式10.5 方式2双向传输方式本章小结本章习题,并行/串行的含义是指:,CPU和I/O设备间的信息交换方式:并行、串行通信,接口与I/O设备或被控对象一侧的数据传输。,并口最基本的特点是在多根数据线上以数据字节或字为单位与I/O 设备或被控对象传送信息。如打印机接口、A/D、D/A接口、IEEE-488接口、开关量接口、控制设备接口等;,在并行接口中,除了无条件传送方式外,一般还要在接口与外设之间设置两根握手(联络)信号线;,在并行接口中,8位或16位数据线总是一起行动的;,并行接口电路有硬件连接接口和可编程接口之分,前者的工作方式和功能用硬件连接来设定,而后者可通过软件编程来改变。,10.1 可编程并行接口8255A,8255A是INTEL系列的并行接口芯片。它是可编程的,可以通过软件来设置芯片的工作方式。,10.1: 8255A的内部结构,一、8255A的基本特性 1具有两个8位(A口和B口)和两个4位(C口高/低各4位)并行I/O端口; 每个端口:输入带缓冲寄存器, 输出带锁存寄存器。 2A组控制和B组控制 3读/写控制逻辑电路 4数据总线缓冲器,10.1: 8255A的内部结构,5.读写控制信号,RESET:复位信号,高电平有效。D7D0 :和数据线相连。CS :芯片选择信号,低电平有效。RD :芯片读出信号,低电平有效。WR :芯片写入信号,低电平有效。A1、A0:端口选择信号。A1A0=00,选中端口A;A1A0=01,选中端口B;A1A0=10,选中端口C;A1A0=11,选中控制端口;,10.1:读写控制信号,与系统总线的连接信号:面向数据总线的;面向地址总线的;面向控制总线的。,与外部设备的连接信号:A口输入/输出线;B口输入/输出线;C口输入/输出线。,A、B作为数据口, C口作用与工作方式有关。,提问1:,并行接口芯片8255与CPU接口有哪些信号线,每个信号的用途是什么? 8255占用几个端口地址?各个端口分别对应什么?端口C可以分为两组吗?,10.1:提问,10.2 8255A的控制字,控制字:分为两类端口的方式选择控制字,可使8255A的3个数据端口工作在不同的方式。C端口按位置1/0控制字,它可使C端口中的任何一位进行置位或复位。,10.2:控制字,8255A的3种基本工作方式: 方式0:基本的输入/输出方式 方式1:选通的输入/输出方式 方式2:双向的传输方式,1.方式控制字,10.2:方式控制字,例101:设A端口工作于方式0,输出, B端口工作于方式0,输入。,方式选择控制字: 1 0 0 0 1/0 0 1 1/0 = 82H,10.2:方式控制字例题,注意:,端口A可以工作在方式0、方式1或方式2;端口B只能工作在方式0、方式1;端口C则常常配合端口A和端口B工作;归为同一组的两个端口可以分别工作在输入 方式和输出方式,并不要求同为输入方式或 同为输出方式,而具体工作在哪个端口,由 方式控制字来决定。,10.2:方式控制字注意事项,2. 端口C置1/0控制字,1=置10=置0,端口C置1/0控制字标志,0 0 0 PC00 0 1 PC10 1 0 PC20 1 1 PC31 0 0 PC41 0 1 PC51 1 0 PC61 1 1 PC7,10.2:端口C置1/0控制字,注意:,C端口置1/0控制字尽管是对端口C进行操作,但此控制字必须写入控制口,而不是写入C端口。置1/0控制字的D0决定了是置1操作还是置0操作。置1/0控制字的D3、D2、D1位决定了对C端口的哪一位进行操作。A、B口也可以按位输出高/低电平,但是以送数据到A、B口来实现的。,10.2:端口C置1/0控制字注意,例102:设8255A的控制口地址为0EEH,要求对端口C的PC7置1,要求对端口C的PC3置0。,10.2:端口C置1/0控制字例题,MOV AL , 0FH ;对PC7置1的控制字 MOV DX , 0EEH ;控制口地址送DX OUT DX , AL ;对PC7置1操作 MOV AL , 06H ;对PC3置0的控制字 OUT DX , AL ;对PC3进行置0的操作,分析:端口C的PC7置1的控制字:00001111B=0FH端口C的PC3置0的控制字:00000110B=06H。,提问2:,8255A的方式选择控制字和置1/置0控制 字都是写入控制端口的,那么,它们是 由什么来区分的? 实际上,两个控制字的取值分界线是?,10.2:控制字提问,10.3 8255A的工作方式,8255A的3种基本工作方式:方式0:基本的输入/输出方式方式1:选通的输入/输出方式方式2:双向的传输方式,10.3:工作方式,一、方式0-基本输入输出方式功能, 任何一个端口可以作为输入口,也可以作为输出口。 是单向I/O,一次只能指定端口作为输入或作输出,比能指定端口既作输入又作输出。 各个端口输入或输出,可以有16种不同的组合,所以可以适用于多种使用场合。方式0使用场合: 一种是同步传送, 另一种是查询式传送。,10.3:工作方式0功能,二、方式0的时序,10.3:工作方式0时序,例103:用8255A控制三个发光二极管依次序循环点亮。,10.3:工作方式0例题,用8255A控制三个发光二极管显示。8255A的端口地址为: A 端口:340H B 端口:341H C 端口:342H 控制口:343H 试编写8255初始化程序段和控制三个发光二极管显示程序段。,10.3:工作方式0例题,开始,8255A初始化,延时,BX显示代码地址,CX=0?,Y,N,BX=BX+1CX=CX-1,CX 3,输出到A口,1、程序框图:,2、软件设计1)设A口为输出口,B口为输入,方式0下工作,则方式选择控制字为82H。2)A口输出代码: 0000 0110 06H ;1号发光二极管亮 0000 0101 05H ;2号发光二极管亮 0000 0011 03H ;3号发光二极管亮3)采用软件延时,10.3:工作方式0例题,DATA SEGMENT COTR EQU 343H ;8255A控制口地址PB_A EQU 340H ;8255A的A口地址LED DB 06H,05H,03H ;LED显示值DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA . MOV DX,COTR MOV AL,82H ;方式0 OUT DX, AL ;A口为输出,B口为输入 MOV DX, PB_A ;A口地址,10.3:工作方式0例题,LP: MOV CX,3 LEA BX, LED ; 1号灯代码地址 DON: MOV AL, BX OUT DX, AL ;1,2,3循环点亮 CALL DELAY ;调延时程序 INC BX DEC CX JNZ DON JMP LPDEALY PROC NEAR ;软件延时 .DEALY ENDPCODE ENDS END,10.3:工作方式0例题,思考题:用8255A 控制三个发光二极管依秩序循环显示。假设开关闭合时,点亮发光二极管,开关断开时熄灭二极管。,10.3:工作方式0例题,L1L2L3,提问3:,8255A的方式0一般使用在什么场合?是基本输入输出,查询方式、包括无条件传送在方式0时,如要使用应答信号进行联 络,应该怎么办? 任意指定C口中的某根线完成联络。,10.3:工作方式0提问,例10-4、8255A作为连接打印的查询式接口,工作于方式0,如图所示。设8255A的端口地址为: A 端口:60H B 端口:61H C 端口:62H 控制口:63H 工作过程:当主机要往打印机输出字符时,先查询打印机忙信号,如果打印机正在处理一个字符或在打印一行字符,则忙信号为1,否则为0。 PC2作为打印机忙信号,PC6作为数据选通信号,将数据线上的数据送入打印机缓冲器。,10.3:工作方式0例题打印机,打印机驱动流程图:,MOV AL ,00001101B ;PC6置1 OUT 63H ,AL MOV S I , 200H ;打印字符内存地址 MOV CX, 0FFH ;打印字符个数LPST: MOV AL,81H ;8255工作方式字 OUT 63H,AL ; A口方式0,输出,C47输出,C03输入CHA: IN AL, 62H ;读C口 AND AL, 04H ;查PC2=0? JNZ CHA ;忙,继续查询 MOV AL,SI ;从内存取数 OUT 60H,AL ;送数到A口,10.3:工作方式0例题打印机,MOV AL,00001100B ;将PC6置0(STB为低) OUT 63H,AL NOP NOP ; 延时 INC AL ;AL0000 1101 B OUT 63H,AL ;再使STB(PC6)为1 INC SI ;内存地址+1 DEC CX ;字符数 - 1 JNZ LPST HLT,10.3:工作方式0例题打印机,10.4 方式1选通的输入输出方式,数据输入输出要在选通信号控制下工作。端口A和端口B可以分别作为两个数据口工作于方式1,任何一个端口可以为输入口或输出口,但一次初始化只能单向传送。每个端口(A/B)包含8位数据线和3位控制线(固定的)。若两个端口都工作于方式1,端口C剩下的两位可由用户指定其I/O,也具有置位/复位功能。,10.4:工作方式1,A口方式1输入有关信号的规定,10.4:方式1 A口输入有关信号的规定,10.4:方式1输入有关信号的规定,A组方式1,B组方式1,例106:8255A端口A工作在方式1,A口输入;允许A口中断,编写初始化程序。,10.4:方式1例题,MOV DX,PCTR ;控制口地址送DXMOV AL,10110000B ;A口方式1输入 OUT DX,ALMOV AL,00001001B ;置PC4=1,允许中断OUT DX,AL,10.4:方式1输出有关信号的规定,方式1输出有关信号的规定,提问5:,8255工作在方式1,输入和输出时中断 服务程序各完成什么功能?8255工作在方式1,输入和输出的执行 过程分别是怎样的?,10.4:方式1提问,方式1的使用场合 在采用中断方式进行输入/输出的场合,如果外部设备能为8255A 提供选通信号或数据接收应答信号,那么,通常使用8255A的工作方式1。,10.4:方式1使用,巩固题1: 8255A的三个端口在使用时,有什么差别?提示:通常A端口与B端口可作为独立的输入输出端口,C 端口则配合A、B端口工作,提供控制信号、状态信息。,巩固题2:编一初始化程序,使8255A的PC5 端输出一个负跳变。如果要求 PC5 端输出一个负脉冲则初始化程序又是怎样的?,MOV AL,0000 1011 H ;PC5置“1”控制字AL MOV DX,343H ;控制口地址DX OUT DX,AL ;置“1”控制字控制寄存器 MOV AL,00001010B ;PC5置“0”控制字AL OUT DX , AL ;置“0”控制字控制寄存器 如果要求PC5输出一个负脉冲则再加两条指令: MOV A L ,00001011 OUT DX,AL,10.5 方式2双向传输方式 方式2只适用于端口A,双向并行通信 端口A工作于方式2时,端口C用5个数位自动配合端口A提供控制。注意:端口A可工作在3种方式中的任意一种;端口B只能工作在方式0或方式1; 端口C被分为高4位和低4位,可以分别工作在输入方式和输出方式,并不要求同为输入方式或同为输出方式.,10.5:工作方式2,图 10-15 方式2工作的控制信号,10.5:工作方式2,本章小结,8255的外部特性8255控制字格式8255的端口地址8255的工作方式

温馨提示

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

评论

0/150

提交评论