欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    可编程外围接口芯片8255A及其应用.ppt

    • 资源ID:54701151       资源大小:717KB        全文页数:103页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    可编程外围接口芯片8255A及其应用.ppt

    第九章 可编程外围接口芯片8255A及其应用9-1 8255A9-1 8255A的工作原理的工作原理一、一、8255A 8255A的结构和功能的结构和功能二、二、8255A 8255A的控制字的控制字三、三、8255A8255A的工作方式和的工作方式和C C口状态字口状态字9-2 8255A9-2 8255A的应用举例的应用举例一、基本输入输出应用举例一、基本输入输出应用举例二、键盘接口二、键盘接口三、三、8255A 8255A在在PC/XTPC/XT机中的应用机中的应用四、四、PC/XT PC/XT机中的扬声器接口电路机中的扬声器接口电路五、并行打印机接口五、并行打印机接口Intel 8255A是一个通用的可编程的并行接口芯片(Programmable Peripherial Interface,PPI)它有三个并行I/O口,又可通过编程设置多种工作方式,价格低廉,使用方便,可以直接与Intel系列的芯片连接使用,在中小系统中有着广泛的应用。一、一、8255A 8255A的结构和功能的结构和功能图9.1 8255A的引脚图图9.2 8255A的内部结构图1三个数据端口A,B,C这三个端口均可看作是I/O口,但它们的结构和功能也稍有不同。A口:是一个独立的8位I/O口,它的内部有一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器,A口输入输出时数据均能锁存。B口:也是一个独立的8位I/O口,内部有一个8位的输出锁存器/缓冲器,一个8位的输入缓冲器,仅对输出数据有锁存功能。C口:可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口。内部有一个8位的输出锁存器/缓冲器,一个8位的输入缓冲器,也是仅对输出数据进行锁存。2A组和B组的控制电路这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。A组控制电路用来控制A口及C口的高4位(PC7-PC4);B组控制电路用来控制B口及C口的低4位(PC3-PC0)。3数据总线缓冲器8位的双向的三态缓冲器。作为8255A与系统总线连接的界面,输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。4读/写控制逻辑读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片选信号及系统读信号、写信号、复位信号RESET,还有来自系统地址总线的口地址选择信号A0和A1。5、8255A的引脚功能8255A的引脚信号可以分为两组:一组是面向CPU的信号,一组是面向外设的信号。面向CPU的引脚信号及功能D0-D7:8位,双向,三态数据线,用来与系统数据总线相连;RESET:复位信号,高电平有效,输入,用来清除8255A的内部寄存器,并 置A口,B口,C口均为输入方式;CS 片选,输入,用来决定芯片是否被选中;RD 读信号,输入,控制8255A将数据或状态信息送给CPU;WR 写信号,输入,控制CPU将数据或控制信息送到8255A;A1,AO:内部口地址的选择,输入。这两个引脚上的信号组合决定对8255A内部的哪一个口或寄存器进行操作。8255A内部共有4个端口:A口,B口,C口和控制口,两个引脚的信号组合选中端口见下表。表表9-1 8255A9-1 8255A的操作功能表的操作功能表 CS RD WR A1 A0 CS RD WR A1 A0操操 作作数数 据据 传传 送送 方方 式式 0 0 1 0 0 0 0 1 0 0读读 A A 口口A A口数据口数据 数据总线数据总线 0 0 1 0 1 0 0 1 0 1读读 B B 口口B B口数据口数据 数据总线数据总线 0 0 1 1 0 0 0 1 1 0读读 C C 口口C C口数据口数据 数据总线数据总线 0 1 0 0 0 0 1 0 0 0写写 A A 口口数据总线数据数据总线数据 A A口口 0 1 0 0 1 0 1 0 0 1写写 B B 口口数据总线数据数据总线数据 B B口口 0 1 0 1 0 0 1 0 1 0写写 C C 口口数据总线数据数据总线数据 C C口口 0 1 0 1 1 0 1 0 1 1写控制口写控制口数据总线数据数据总线数据 控制口控制口CS、WR、RD、A1、A0这几个信号的组合决定了8255A的所有具体操作 A1、A0端口选择情况,见右表 由CS*、A1、A0、RD*、WR*引脚的不同组合,实现各种不同的功能。见下表:A1 A0端口0 00 11 01 1ABC控制口CS A1 A0 RD WR功功 能能 0 0 0 0 1对端口对端口A 读读 0 0 1 0 1对端口对端口B 读读 0 1 0 0 1对端口对端口C 读读0 1非法,不能对控制口读非法,不能对控制口读输输入入0对端口对端口A 写写0对端口对端口B 写写0对端口对端口C 写写0对控制口对控制口 写写输输出出 1 1 1数据缓冲器为数据缓冲器为三态三态断断开开 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 面向外设的引脚信号及功能 PA0PA7:A组数据信号,用来连接外设;PB0PB7:B组数据信号,用来连接外设;PC0PC7:C组数据信号,用来连接外设或者作为控制信号。二、8255A的控制字8255A有两类控制字1、方式选择控制字 定义各端口的工作方式2、置位复位控制字 对C端口的的任一位进行置位复位,或用于设置INTE位(方式1,2)。1、方式选择控制字控制字要写入8255A的控制口,写入控制字之后,8255A才能按指定的工作方式工作。8255A的控制字格式与各位的功能如图9-4所示。D7 D6 D5 D4 D3 D2 D1 D0C口低位选择,口低位选择,1入入0出出B口口I/O选择,选择,1入入0出出B口方式选择,口方式选择,0=方式方式0 1=方式方式1B组组C口高位选择,口高位选择,1入入0出出A口口I/O选择,选择,1入入0出出A口方式选择口方式选择00=方式方式0 01=方式方式1 1X=方式方式2D7=1,方式控制字标志,方式控制字标志A组组1、方式0基本输入输出方式2、方式1选通输入输出方式3、方式2双向总线I/O方式当系统复位时,8255A的RESET输入端为高电平,使8255A复位,所有的数据端口被置成输入方式当复位信号撤除后8255A继续保持复位时预置的输入方式。通过用输出指令对8259A的控制字寄存器编程,写入设定工作方式的控制字,可以让3个数据口以不同的方式工作。其中,A口可工作于3种方式的任一种,B口只能工作于方式0和方式1,不能工作于方式2,C口常被分成两个4位的端口,除了用作输入输出端口外,还可配合A口和B口工作,为这两个端口输入输出操作提供联络信号。【例1】某系统要求使用8255A的A口方式0输入,B口方式0输出,C口高4位方式0输出,C口低4位方式0输入。则控制字为:10010001B 即91H初始化程序为:MOV AL,91H OUT CTRL_PORT,AL(2)C口的置位/复位功能只有C口才有,它是通过向控制口写入按指定位置位/复位的控制字来实现的。C口的这个功能可用于设置方式1的中断允许,可以设置外设的启/停等。按位置位/复位的控制字格式如图9-5所示 D7 D6 D5 D4 D3 D2 D1 D0置位置位/复位复位选择选择1=置位,置位,0=复位复位D7=0为置为置位位/复位控制复位控制字标志字标志D3 D2 D1 位选择位选择 0 0 0 PC0 0 0 1 PC1 0 1 0 PC2 0 1 1 PC3 1 0 0 PC4 1 0 1 PC5 1 1 0 PC6 1 1 1 PC7无效无效P329 例【例2】A口方式2,要求发两个中断允许,即PC4和PC6均需置位。B口方式1要求使PC2置位来开放中断。初始化程序可补充完整如下。MOV AL,0C4HOUT CTRL_PORT,AL;设置工作方式MOV AL,09HOUT CTRL_PORT,AL;PC4置位,A口输入允许中断MOV AL,ODHOUT CTRL_PORT,AL;PC6置位,A口输出允许中断MOV AL,05HOUT CTRL_PORT,AL;PC2置位;B口输出允许中断三、8255A的工作方式和C口状态字1方式01)方式0是一种基本的输入/输出方式,只能用于无条件传送或查询传送;2)A口和B口可作为8位端口,C口的高4位和低4位可作为两个4位端;在实际使用中,C口的两半部分也可以合在一起,构成一个8位端口。这样8255A可构成3个8位I/O端口,或两个8位,两个4位端口,以适应不同使用场合。3)CPU可直接用输入指令从指定端口中读取数据,或用输出指令将数据写入指定的端口,无需任何其他用于应答的联络信号。对于方式0,还规定输出信号可被锁存,输入不能锁存。端口信号线之间无固定的时序关系,用户根据数据传送的要求决定输入输出的操作过程。图9.6 各端口均工作于方式0时的控制字8255A方式0的时序1)8255A方式0输入时序图2)8255A方式0输出时序图例:设8255A的控制字的端口地址为304H,要求A口和B口工作于方式0,A口、B口和C口的高4位作输入,低4位作输出MOV DX,304H MOV AL,10011010B ;A、B、C口都工作于方式0 OUT DX,AL例 用8255的PA口作为A/D并行输入接口,如下图;A口工作于方式0,8255的端口地址为300H,301H,302H,303H;写出8255A的初始化程序及启动A/D转换的程序段。解:1)8255A的初始化程序:MOV DX,304H MOV AL,10010010B ;A、B、C口都工作于方式0 OUT DX,AL ;A口和B口为输入,C口为输出2)启动A/D转换及读取转换数据程序段:MOV DX,303H MOV AL,00001111B OUT DX,AL MOV AL,00001110B OUT DX,AL;送置位/复位控制字,在PC7脚产生一正方波输出,启动ADC MOV DX,301H AGAIN:IN AL,DX ;输入B口数据 TEST AL,00010000B ;PB4=0?JNZ AGAIN ;等待A/D转换结束 MOV DX,300H IN AL,DX ;从A口中读取转换数据 2方式1也称为选通输入/输出方式,PA口和PB口为数据口,都可工作在输入或输出方式。这两个8位数据口的输入、输出数据都能锁存,但是必须在联络信号控制下才能完成I/O操作。端口C的6根线用来产生或接收这些联络信号。特点:方式1是单向选通输入/输出方式;设有专门的中断请求和联络信号线;PA口和PB口为数据口,PC口的大部分引脚分配作联络信号用;各联络信号之间有固定的时序关系;输入/输出操作产生确定的状态字,供查询或中断请求之用;方式1常用于查询传送或中断传送。8255A的工作方式方式1(选通工作方式)利用一组选通控制信号控制A端口和B端口的数据输入输出。特点:1、A、B口作输入或输出口,C口分为两部分,其部分位(6位)固定用作A口、B口的选通控制信号。2、C口的剩余位仍可作数据位使用。3、A口、B口在作为输入和输出时的选通信号不同。方式1的应用:主要用于中断控制方式下的输入输出。说明:C口除部分位用作选通信号外,其余位(2位)可工作在方式0下,作为输入或输出线,用程序指定其数据传送方向。8255A的工作方式方式1(选通工作方式)nA、B口都设为方式1输入 C口的联络信号:nSTB选通信号,由外设输入。=0时,将外设数据送入8255的输入锁存器。A组对应PC4;B组对应PC2。nIBF输入锁存器满信号,由8255A输出。=1时通知外设输入的数据已写入缓冲器,此时不能送下一个数据。此信号由STB的前沿产生。CPU用IN指令取走数据后(RD的后沿),此信号被清除。A组对应PC5;B组对应PC1。PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAIBFIBFA AINTRINTRA AD7D7D0D0输入设备输入设备(到到CPU)PB7PB7PB0PB0PC2PC2PC1PC1PC0PC0INTEBINTEBD7D7D0D0IBFIBFB BINTRINTRB B输入设备输入设备(到到CPU)选通输入方式A口和B口工作于选通输入方式,则它们的端口状态、联络信号和控制字如下图所示当A口工作于方式1,并作输入端口时,端口C的PC4、PC4和 PC3用作端口A的状态和控制线;当B口工作于方式1,并作输入端口时,端口C的PC2、PC1和 PC0用作端口A的状态和控制线;端口C剩下的PC6和PC7,任然可用作输入或输出,由方式控制字中的D3位来定义PC6和PC7的传送方向。D3=1时,PC6和PC7作输入;D3=0时,PC6和PC7作输出在方式在方式 1 1、2 2下,下,C C口作为口作为A A口、口、B B口联络信号的引脚,其动作关系在芯口联络信号的引脚,其动作关系在芯片设计和制造时已固定,不由用户自己安排,也不能编程改变。即片设计和制造时已固定,不由用户自己安排,也不能编程改变。即C C口口作为联络信号的引脚作为联络信号的引脚:不受方式控制字的控制不受方式控制字的控制。该出则出,该入则入。该出则出,该入则入。各控制联络信号的意义如下:lSTB(Strode)选通信号,低电平有效,外部输入。当此信号有效时,8255A将外部设备通过端口数据线PA7-PA0(对于A口)或PB7-PB0(对于B口)输入的数据送到所选端口的输入缓冲器中。端口A的选通信号STBA从PC4引入,端口B的选通信号STBB从PC2引入。lIBF(Input Buffer Full)输入缓冲器满信号,高电平有效。8255A给外设的状态信号,当此信号有效时,表示输入设备送来的数据已传送到8255A的输入缓冲器中,即缓冲器已满,8255A不能再接收别的数据。此信号一般供CPU查询。IBF由STB信号置位,而由读信号的上升沿将其复位,复位后表示输入缓冲器已空,又允许外设将一个新的数据送到8255A。PC5作端口A的输入缓冲器满信号IBFA,PC1作端口B的输入缓冲器满信号IBFBlINTE(Interrupt Enable)中断允许信号。控制8255A能否向CPU发中断请求的信号,没有外部引出脚。在A组和B组的控制电路中,分别设有中断请求触发器INTE A和INTE B,只有用软件才能使这两个触发器置1或清0.其中,INTE A由置位/复位控制字中的PC4控制,INTE B由PC2控制。对8255A写入置位/复位控制字使PC4置1时,INTE A置1,表示允许A口中断;PC4清0,禁止A口发中断请求,即A口处在中断屏蔽状态。同样,通过编程PC2来控制INTE B,允许或禁止B口中断。由于这两个触发器无外部引出脚,PC4和PC2脚上出现高电平或低电平信号时,并不改变中断允许触发器的状态。lINTR(Interrupt Request)中断请求信号。8255A向CPU发出的中断请求信号,高电平有效。只有当STB、IBF和INTE都是高电平时,NTR才能变为高电平。即当选通信号结束,已将输入设备提供的一个数据送到输入缓冲器中,输入缓冲器满信号IBF已变成高电平,并且中断时允许的情况下,8255A才能向CPU发中断请求信号INTR。CPU响应中断后,可用IN指令读取数据,读信号RD的下降沿将INTR复位为低电平。INTR通常和8259A的一个中断请求输入段IR相连,通过8259A的输出端INT向CPU发中断请求。A口的中断请求信号INTRA由PC3引脚输出,B口的中断请求信号INTRB由PC0引脚输出。方式1选通输入时序如下:分析方式1选通输入时的工作过程:当外设把一个数据送到端口数据线PA7-PA0(对于A口)或PB7-PB0(对于B口)后,就向8255A发负脉冲选通信号STB,外设的输入数据锁存到8255A的输入锁存器中。选通信号发出后,经tSIB时间,IBF有效,它作为对输入设备的回答信号,用于通知外设输入缓冲器已满,不要再送新的数据过来。选通信号结束后,经tSIT时间,若STB、IBF和INTE同为高电平,使INTR有效。此信号向CPU发中断请求,CPU响应中断后,通过执行中断服务程序中IN指令,使读信号RD有效。读信号有效后,经tRIT时间,使INTR变低,清除中断。读信号结束后,数据已读入累加器,经tRIB时间,IBF变低,表示缓冲器已空,一次数据输入过程结束,通知外设可以再送一个新的数据来。(3)选通输出方式A口和B口工作于选通输出方式,则它们的端口状态、联络信号和控制字如下图所示当A口工作于方式1,并作输出端口时,端口C的PC3、PC6和 PC7用作端口A的状态和控制线;当B口工作于方式1,并作输入端口时,端口C的PC2、PC1和 PC0用作端口A的状态和控制线;端口C剩下的PC4和PC5,任然可用作输入或输出,由方式控制字中的D3位来定义PC4和PC5的传送方向。D3=1时,PC4和PC5作输入;D3=0时,PC6和PC7作输出各控制联络信号的意义如下:lOBF(Output Buffer Full)输出缓冲器满信号,输出,低电平有效。当此信号有效时,表示已将数据写到8255A的指定输出端口,即数据已被输出锁存器锁存,并出现在端口数据线PA7-PA0(对于A口)和PB7-PB0(对于B口)上,通知外设将数据取走。此信号是8255A给外设的选通信号。OBF由输出指令WR的上升沿置成低电平,而外设回答信号ACK将其恢复成高电平。PC7被指定作A口的输出缓冲器满信号OBFA,PC1作B口输出缓冲器满信号OBFB。lACK(Acknouledge)外设的回答信号,低电平有效,由外设送给8255A。当此信号有效时,表示CPU输出到8255A的A口或B口的数据已被外设接收。PC6作端口A的回答信号ACKA,PC2作端口B的输入缓冲器满信号ACKBlINTE(Interrupt Enable)中断允许信号。其意义与A口、B口工作于选通输入方式时的INTE信号一样。INTE为1时,端口处于中断允许状态,为0时,端口处于中断屏蔽状态。其中,A口的中断允许信号INTE A由置位/复位控制字中的PC6控制,B口的中断允许信号INTE B由PC2控制。对8255A写入置位/复位控制字使其置1或清0,来决定中断允许或屏蔽。lINTR(Interrupt Request)中断请求信号。当中断允许时,输出设备收到CPU输出的数据后,该信号变高,作为向CPU提出中断请求,要求CPU再输出一个数据给外设。只有当ACK、OBF和INTE都是高电平时,INTR才能变为高电平。写信号将INTR复位成低电平,INTR通常与8259A的一个中断输入引脚IR相连,通过8259A向CPU发中断请求。PC3引脚用作A口的中断请求信号线INTRA,PC3引脚用作A口的中断请求信号线INTRB。方式1选通输出时序如下:分析方式1选通输出时的工作过程:当8255A的输出缓冲器空,且中断允许时,可向CPU发中断请求。CPU响应中断后,转入中断服务程序,用OUT指令将CPU中的数据输出到8255A的输出缓冲器中,此时WR信号变低。经tWIT时间后,清除中断请求信号INTR。WR信号的后沿使OBF有效,通知外设从8255A输出缓冲器中取走数据。外设收到数据后,发应答信号ACK。ACK有效后,再经tAOB时间,OBF无效,表示缓冲器已空。ACK变高电平后,再经tAIT时间,INTR变高,向CPU发中断请求,要求CPU送新的数据。数据传送过程又按上述的顺序重复进行。8255状态字的格式 D7 D6 D5 D4 D3 D2 D1 D0 I/O I/O IBFA INTEA INTRA OBFA INTEA I/O I/O INTRA INTEB IBFB INTRB INTEB OBFB INTRB A组组状状态态B组组状状态态输输入入时时输输入入时时输输出出时时输输出出时时 方式方式1 1下下82558255状态字中状态字中INTEINTE位的置位和复位位的置位和复位 若禁止若禁止PAPA口输入中断请求口输入中断请求 MOV DXMOV DX,303H 303H ;82558255命令口命令口 MOV ALMOV AL,00001000B 00001000B ;置;置PC4=0PC4=0,禁止中断请求,禁止中断请求 OUT DX OUT DX,ALAL 若允许若允许PAPA口输入中断请求口输入中断请求 MOV DXMOV DX,303H 303H ;82558255命令口命令口 MOV ALMOV AL,00001001B 00001001B ;置;置PC4=1PC4=1,允许中断请求,允许中断请求 OUT DX OUT DX,ALAL 若允许若允许PAPA口输出中断请求口输出中断请求 MOV DXMOV DX,303H 303H ;82558255命令口命令口 MOV ALMOV AL,00001101B 00001101B ;置;置PC6=1PC6=1,允许中断请求,允许中断请求 OUT DXOUT DX,ALAL 若允许若允许PBPB口输入中断请求口输入中断请求 MOV DXMOV DX,303H 303H ;82558255命令口命令口 MOV ALMOV AL,00000101B 00000101B ;置;置PC2=1PC2=1,允许中断请求,允许中断请求 OUT DX OUT DX,ALAL 若禁止若禁止PBPB口输入中断请求口输入中断请求 MOV DXMOV DX,303H 303H ;82558255命令口命令口 MOV ALMOV AL,00000100B 00000100B ;置;置PC2=0PC2=0,禁止中断请求,禁止中断请求 OUT DX OUT DX,ALAL 若允许若允许PBPB口输出中断请求口输出中断请求 MOV DXMOV DX,303H 303H ;82558255命令口命令口 MOV ALMOV AL,00000101B 00000101B ;置;置PC2=1PC2=1,允许中断请求,允许中断请求 OUT DXOUT DX,ALAL(5)方式1应用举例 在甲乙两台微机之间并行传送1K字节数据。甲机发送,乙机接受。甲机一侧的8255A采用方式1工作,乙机一侧的8255A采用方式0工作;两机的CPU与接口之间都采用查询方式交换数据。a.硬件连接b.b.软软件件编编程程 甲机甲机发发送程序:送程序:MOV DXMOV DX,303H 303H ;8255A8255A命令口命令口 MOV ALMOV AL,1 101010 00000B 0000B ;PAPA口口方式方式1 1,输出输出 OUT DXOUT DX,AL AL MOV ALMOV AL,000000001101101 1B B ;置发送中断允许;置发送中断允许INTEINTEA A=1 1 OUT DXOUT DX,ALALMOV AXMOV AX,030H 030H ;发发送数据内存首址送数据内存首址 MOV ESMOV ES,AX AX MOV BXMOV BX,00H 00H MOV CXMOV CX,3FFH 3FFH ;发发送字送字节节数数(1KB)(1KB)MOV DXMOV DX,300H 300H MOV ALMOV AL,ESES:BX BX OUT DXOUT DX,AL AL ;向;向A A口写第一个数,口写第一个数,产产生生OBFOBF信号信号INC BX ;内存地址加1 DEC CX ;字节数减1 L:MOV DX,302H ;8255状态口(PC口)IN AL,DX ;查输出缓冲器是否为空OFB=1?AND AL,80H ;PC7=1?,可查INTRA=1?JZ LMOV DX,300H ;8255PA口地址 MOV AL,ES:BX OUT DX,AL INC BX ;内存地址加1 DEC CX ;字节数减1 JNZ L MOV AX,4C00H ;返回DOS INT 21H 乙机接受程序:MOV DX,303H ;8255A命令口 MOV AL,10011000B ;PA口方式0,输入 OUT DX,AL ;PC口上半部输入,下半部输出 MOV AL,00000001B ;置ACK=1(PC0=1)OUT DX,AL MOV AX,040H ;接受数据内存首址 MOV ES,AX MOV BX,00H MOV CX,3FFH ;发送字节数(1KB)L1:MOV DX,302H IN AL,DX ;查甲机OBF=0?(PC4=0)AND AL,10H JNZ L1 ;若无数据则等待 MOV DX,300H IN AL,DX ;从A口读数据 MOV ES:BX,AL MOV DX,303H ;产生ACK信号 MOV AL,0000000B ;PC0=0 OUT DX,ALNOP NOP MOV AL,00000001B ;置ACK=1(PC0=1)OUT DX,AL INC BX ;内存地址加1 DEC CX ;字节数减1 JNZ L1 MOV AX,4C00H ;返回DOS INT 21H3方式2 选通输入/输出方式组合(自己看)(1)方式2的特点 PA口为双向选通输入/输出,只有A口才有此方式;设置专门的中断请求和联络信号线;可采用查询传送或中断传送,C口有5根线用作A口的应答联络信号,其余3根线可用作方式0,也可用作B口方式1的应答联络线;各联络信号间的时序关系和状态字,是方式1下输入和输出两种操作的组合,各应答信号的功能也相同。而C口余下的PC0PC2正好可以充当B 口方式1的应答线,若B口不用或工作于方式0,则这三条线也可工作于方式0。方式2的组态 STB:PC4IBF:PC5OBF:PC6ACK:PC7INTR:PC3(2)8255方式2的引脚分配(3)8255方式2的工作时序 数据输入:外设8255 CUP(RD)数据输出:CUP(WR)8255 外设(4)8255方式2的状态字 D7 D6 D5 D4 D3 D2 D1 D0 OBFA INTE1 IBFA INTE2 INTRA INTEB OBFB INTRB I/O I/O I/O A组组状状态态B组组状状态态方式方式2输输入入时时输输出出时时 INTEB IBFB INTRB 方式方式0 输输入入/输输出出方式方式1D3D7(5)方式2的应用场合方式2是一种双向工作方式,如果一个并行外部设备既可以作为输入设备,又可以作为输出设备,并且输入输出动作不会同时进行。(6)方式2和其它方式的组合 方式2和方式0输入的组合:控制字:11XXX01T 方式2和方式0输出的组合:控制字:11XXX00T 方式2和方式1输入的组合:控制字:11XXX11X 方式2和方式1输出的组合:控制字:11XXX10X其中X表示与其取值无关,而T表示视情况可取1或0。例 下图采用一个8255芯片和软盘控制器相连,箭头标明了I/O的方向,根据该图,试写出8255的初始化程序。设8255端口地址为0300-0303H。图 8255用作软盘基本接口 工作方式控制字为:11XXX000B 初始化程序为:MOVDX,303H MOVAL,0C0H OUTDX,AL MOVAL,00001001B OUT DX,AL ;PC4置位,开放输入中断 MOV AL,00001101B OUTDX,AL ;PC6置位,开放输出中断(7)8255方式2应用举例1)要求 主从两个微机进行并行传送,共传送256个字节。主机一侧的8255A采用方式2,且用中断方式传送数据,从机一侧8255A工作在方式0,采用查询方式传送数据。2)分析 接口电路中采用中断控制器8259A;8255A的中断请求线INTR接到8259A的IRQ2上。INTA INTR 主主 机机 PA07 PC3 PC7 PC4 PC6 PC5 PB07 PC02从 机INTA IR0 INTR IR2 IR7PA07 PB07 PC1 PC7 PC6 PC0 PC25 8259A8255A8255A系统总线OBFSTBACKIBF3)硬件设计 主机一侧的8255A,PA口作双向传送,查询IBF和OBF状态来确定输入或输出;从机一侧8255A的PA、PB口是单向传送,分别作输出、输入。4)软件设计 讨论主机一侧的编程,包括初始化,主程序和中断服务程序。8255A初始化 MOV DX,303H ;8255A控制口 MOV AL,C0H ;方式字:A口为方式2 OUT DX,ALMOV AL,09H ;置位PC4,INTE2=1,输入中断允许OUT DX,AL MOV AL,0DH ;置位PC6,INTE1=1,输出中断允许 OUT DX,ALMOV SI,300H ;发送数据块首址 MOV DI,410H ;接受数据块首址 MOV CX,0FFH ;发送与接受字节数 AGAIN:STI ;开中断 HLT ;等待中断CLI ;关中断 DEC CX ;字节数减1 JNZ AGAIN ;未完,继续 MOV AX,4C00H ;返回DOSINT 21H 中断服务程序T_R PROC FAR MOV DX,303H ;8255A控制口 MOV AL,08H OUT DX,AL ;复位PC4,INTE2=0,禁止输入中断 MOV AL,0CHOUT DX,AL ;复位PC6,INTE1=0,禁止输出中断CLIMOV DX,302H ;8255A状态口 IN AL,DX ;查中断源,读状态字 MOV AH,AL AND AL,20H ;检查状态位IBF=1,是输入?JZ OUTPINP:MOV DX,300H ;是,则从A口读数 IN AL,DX MOV DI,AL ;存入内存区 INC DI ;内存地址+1 JMP RETURN ;准备中断返回OUTP:MOV DX,300H ;是,则从A口输出数据 MOV AL,SI ;从内存取数 OUT DX,AL INC SI ;内存地址+1RETURN:MOV DX,303H MOV AL,0DH ;允许输出中断 OUT DX,AL MOV AL,09H ;允许输入中断OUT DX,ALMOV AL,62H ;OCW2,中断结束(写EOI)OUT 20H,AL IRET T_R ENDP4、C口状态字方式1状态字其中D7-D3为A组状态字,D2-D0为B组状态字其中D7-D3为A组状态字,D2-D0为B组状态字方式2状态字其中D7-D3为A组状态字,D2-D0为B组用,B口工作于方式1时,这3位作B口状态字,B口工作于方式0时,这3位作输入输出用92 8255A的应用举例18255A的编程对8255A的编程涉及到两个内容:写控制字设置工作方式等信息,使C口的指定位置位/复位的功能。注:均写入控制端口控制字格式控制字要写入8255A的控制口,写入控制字之后,8255A才能按指定的工作方式工作。8255A的控制字格式与各位的功能下图所示。【例】某系统要求使用8255A的A口方式0输入,B口方式0输出,C口高4位方式0输出,C口低4位方式0输入。则控制字为:10010001B 即91H初始化程序为:MOV AL,91H OUT CTRL_PORT,AL(2)C口的置位/复位功能只有C口才有,它是通过向控制口写入按指定位置位/复位的控制字来实现的。C口的这个功能可用于设置方式1的中断允许,可以设置外设的启/停等。按位置位/复位的控制字格式图所示。【例】A口方式2,要求发两个中断允许,即PC4和PC6均需置位。B口方式1要求使PC2置位来开放中断。初始化程序可补充完整如下。MOV AL,0C4HOUT CTRL_PORT,AL;设置工作方式MOV AL,09HOUT CTRL_PORT,AL;PC4置位,A口输入允许中断MOV AL,ODHOUT CTRL_PORT,AL;PC6置位,A口输出允许中断MOV AL,05HOUT CTRL_PORT,AL;PC2置位;B口输出允许中断图 打印机数据传输时序【例】利用8255A的A口方式0与微型打印机相连,将内存缓冲区BUFF中的字符打印输出。试完成相应的软硬件设计。(CPU为8088)首先我们分析一下打印机的工作。微型打印机和主机之间的接口采用并行接口。它的工作流程:主机将要打印的数据送上数据线,然后发选通信号。打印机将数据读入,同时使BUSY线为高,通知主机停止送数。这时,打印机内部对读入的数据进行处理。处理完以后使ACK有效,同时使BUSY失效,通知主机可以发下一个数据。硬件连线如下图:表7-2 Centronics标准引脚信号引脚 名 称方向 功 能1STROBE入数据选通,有效时接收数据2-9DATA1-DATA8入数据线10ACKNLG出响应信号,有效时准备接收数据11BUSY出忙信号,有效时不能接收数据12PE出纸用完13SLCT出选择联机,指出打印机不能工作14AUTOLF入自动换行31INIT入打印机复位32ERROR出出错36SLCTIN入有效时打印机不能工作说明:由PC0PC0充当打印机的选通信号,通过对PC0的置位/复位来产生选通。同时,由PC7PC7来接收打印机发出的“BUSY”信号作为能否输出的查询。8255A的控制字为:10001000 即88H A口方式0,输出;C口高位方式0输入,低位方式0输出PC0置位:00000001 即 01HPC0复位:00000000 即 00H8255A的4个口地址分别为:00H,01H,02H,03H。编制程序如下:DADA SEGMENTBUFF DB This is a print program!,$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUFFMOV AL,88H ;8255A初始化,A口方式0,输出OUT 03H,AL ;C口高位方式0输入,低位方式0输出MOV AL,01H;OUT 03H,AL ;使PC0置位,即使选通无效WAIT:IN AL,02HTEST AL,80H ;检测PC7是否为1即是否忙JNZ WAIT ;为忙则等待MOV AL,SICMP AL,$;是否结束符 JZ DONE ;是则输出回车OUT 00H,AL ;不是结束符,则从A口输出MOV AL,00HOUT 03H,ALMOV AL,01HOUT 03H,AL ;产生选通信号INC SI ;修改指针,指向下一个字符JMP WAITDONE:MOV AL,0DH OUT 00H,AL ;输出回车符 MOV AL,00H OUT 03H,AL MOV AL,01H OUT 03H,AL ;产生选通WAIT1:IN AL,02H TEST AL,80H ;检测PC7是否为1即是否忙 JNZ WAIT 1 ;为忙则等待 MOV AL,0AH OUT 00H,AL ;输出换行符 MOV AL,00H OUT 03H,AL MOV AL,01H OUT 03H,AL ;产生选通 MOV AH,4CH INT 21H CODE ENDS END START【例】将上例中8255A的工作方式改为方式1,采用中断方式将BUFF开始的缓冲区中的100个字符从打印机输出。(假设打印机接口仍采用Centronics标准)。分析:仍用PC0作为打印机的选通,打印机的ACK作为8255A的A口,ACK的8255A的中断请求信号(PC3)接至系统中断控制器8259A的IR3,其它硬件连线同上例,如图所示。图 中断方式硬件连线8255A的控制字为:1010XXX0 PC0置位:00000001 即 01HPC0复位:00000000 即 00HPC6置位:00001101 即 0DH,允许8255A的A口输出中断由硬件连线可以分析出,8255A的4个口地址分别为:00H,01H,02H,03H。假

    注意事项

    本文(可编程外围接口芯片8255A及其应用.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开