微机原理与接口技术_第1页
微机原理与接口技术_第2页
微机原理与接口技术_第3页
微机原理与接口技术_第4页
微机原理与接口技术_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

微机原理与接口技术教学重点●8255A芯片●8255A工作方式●8255A编程及应用8.5.1并行数据传输方式以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据适合于外部设备与微机之间进行近距离、大量和快速的信息交换微机系统中最基本的信息交换方法并行接口的“并行”含义不是指接口与系统总线一侧的并行数据,而是指接口与I/O设备或控制对象一侧的并行数据线。串行数据传输方式按位传送,只在一、二根通信线路上传送传送速率低、可靠性差但可大大降低通信线路的成本主要用于远距离通信8.5.2可编程并行接口芯片8255A基本特性具有多种功能的可编程并行接口电路芯片最基本的接口电路:三态缓冲器和锁存器CPU与接口电路、接口电路与外设间的信息交换:状态寄存器和控制寄存器还有端口的译码和控制电路、中断控制电路共40个引脚,其中24个外设引脚:

①分3个端口:A口、B口、C口(3个8位并行数据输入/输出口,通过编程设置3个口作为输入口还是输出口)

②共3种输入输出工作方式方式0-基本输入/输出方式1-选通输入/输出方式2-双向选通输入输出③2组控制:A组控制、B组控制(C口的部分信号线被分配作为专用的联络应答信号线)1.8255A引脚8255A的内部结构和引脚数据总线缓冲器内部控制线内部数据线D0~D7A组控制A组端口AA组端口C上部B组控制B组端口BB组端口C下部读写控制逻辑PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESET(1)数据总线缓冲器三态双向8位缓冲器,8255A与CPU系统数据总线的接口。所有数据的发送与接收,以及CPU发出的控制字和从8255A读来的状态信息都是从该缓冲器传送的。(2)读写控制逻辑CSA1A0I/O地址读操作RD写操作WR00000101001160H61H62H63H读端口A读端口B读端口C非法写端口A写端口B写端口C写控制字D0~D7数据线A0~A1地址线CS片选信号RD读信号WR写信号RESET复位信号控制了总线的开放与关闭控制信息的传输方向(3)数据端口A、B、C端口A:PA0~PA7A组,支持工作方式0、1、2端口B:PB0~PB7B组,支持工作方式0、1端口C:PC0~PC7仅支持工作方式0A组控制高4位PC4~PC7B组控制低4位PC0~PC3(3)外设数据端口(续)端口A:PA0~PA7常作数据端口,功能最强大端口B:PB0~PB7常作数据端口端口C:PC0~PC7可作数据、状态和控制端口分两个4位,每位可独立操作控制最灵活,最难掌握(4)A组和B组控制电路控制A、B、C三个端口的工作方式A组控制A口和C口上半部(PC7~PC4)B组控制B口和C口下半部(PC3~PC0)A组、B组的控制字寄存器还接收按位控制命令,以实现对PC口的按位置位复位操作。2.8255A的工作方式方式0:基本输入/输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入/输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于双向传送数据的外设适用于查询和中断方式的接口电路8255A的工作方式0-基本输入/输出工作方式方式0下8255A的24条I/O线全部由用户分配功能,不设置专用联络信号。端口信号线之间无固定的时序关系。输出锁存,输入具有缓冲能力。8255A分成彼此独立的两个8位和两个4位并行口。只能把C口的高4位为一组或低4位为一组同时输入或输出。单向I/O,一次初始化只能指定某一端口作输入或作输出,不能使该端口同时既作输入又作输出。8255A的工作方式1-选通输入/输出方式在面向I/O设备的24根线中,设置专用的中断请求和联络信号线。数据的输入输出都有锁存能力。PA或PB为数据口,而PC口的大部分引脚分配作联络信号用,用户对这些引脚不能再指定作其它用途。各联络信号线之间有固定的时序关系,传送数据时要严格按照时序进行。输入/输出操作产生确定的状态字,这些状态信息可作为查询或中断请求之用。方式1输入引脚:A端口数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中断允许触发器方式1输入引脚:B端口PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示B口已经接收数据中断请求信号请求CPU接收数据中断允许触发器方式1需借用端口C用做联络信号,同时还具有中断请求和屏蔽功能方式1输入联络信号STB——选通信号,低电平有效由外设提供的输入信号当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF——输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR——中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据dataINTRIBF

data输入端口D0~D7STBRDSTB和IBF是外设和8255A间的一对应答联络信号,目的是为可靠地输入数据①②③④⑤⑥方式1输入时序方式1输入时序说明(I)①以端口A为例,当输入设备已准备好一个新数据时,首先检测IBF线的状态,若为低(表示输入锁存器空),则输入设备将数据放入PA7~PA0。②然后发出选通信号STB,STB将PA7~PA0上的数据置入数据锁存器,这时8255A使IBF有效,指示输入锁存器已满。方式1输入时序说明(II)③

STB变为无效后,8255A使INTR由低变高,通过8259A向CPU发出中断请求,CPU响应请求并进入相应的中断服务程序。④在中断服务程序中,CPU读端口A,RD的下降沿使INTR无效。⑤

RD的上升沿使IBF变无效,指示输入锁存器的数据已传送给CPU,处于"空"状态,准备接收新的数据。若CPU采用查询方式,则通过查询状态字中的INTR位或IBF位是否置位来判断有无数据可读。方式1中断控制8255A的中断由中断允许触发器INTE控制置位允许中断,复位禁止中断对INTE的操作通过写入端口C的对应位实现选通输入方式下端口A的INTEA对应PC4端口B的INTEB对应PC2方式1输出引脚:A端口外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中断允许触发器方式1输出引脚:B端口PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器方式1输出联络信号OBF——输出缓冲器满信号,低有效8255A输出给外设的一个控制信号当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走ACK——响应信号,低有效外设的响应信号,指示8255A的端口数据已由外设接受INTR——中断请求信号,高有效当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据端口A的INTEA对应PC6端口B的INTEB对应PC2方式1输出时序

INTR

datadata输出端口D0~D7WROBFACK

OBF*和ACK*是外设和8255A间的一对应答联络信号,为的是可靠地输出数据①②③④⑤方式1输出时序说明(I)①以端口A为例,当输出设备接收了前一次数据后,8255A通过8259A向CPU请求中断。②在中断服务程序中,CPU将数据写入指定的端口,WR变为有效,于是数据写入输出锁存器并出现在PA7~PA0。③写信号WR的上升沿使OBF变为有效,指示输出设备PA7~PA0上已有新的数据,同时还使INTR变为无效。方式1输出时序说明(II)④输出设备通过PA7~PA0接收数据。⑤输出设备接收到数据后,向8255A发回ACK信号,ACK的上升沿通常表示输出设备已准备好再接收新的数据。⑥

8255A在ACK出现上升沿之前使OBF变为无效,若INTE=1,则还使INTR变为有效,再次请求中断。8255A的工作方式2-双向选通方式方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据只有端口A可以工作于方式2,需要利用端口C的5根信号线,其作用与方式1相同方式2的数据输入输出过程与方式1的输入输出方式一样方式2双向引脚PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号方式2时序data-out

INTR

data-outdata-indata-inPA0~PA7D0~D7IBF

WROBFACKSTBRD8255工作方式小结3.8255A的编程初始化编程:一个方式控制字采用控制I/O地址:A1A0=11工作过程中:通过数据端口对外设数据进行读写数据读写利用端口A、B和C的I/O地址,A1A0依次为00、01、10IBMPC/XT机上,端口A、B、C和控制端口的I/O地址为60H、61H、62H和63H1).写入方式控制字:控制字格式D3D2D1D01D6D5D4A组工作方式00-方式001-方式110-方式2A口0-输出1-输入C7-C40-输出1-输入B组工作方式0-方式01-方式1B口0-输出1-输入C3-C00-输出1-输入示例-写入方式控制字要求A端口:方式1,输入B端口:方式0,输出C端口上半部:输出C端口下半部:输入方式控制字:10110001B或0B1H初始化的程序段:

movdx,63h ;假设控制端口为63H moval,0b1h ;方式控制字

outdx,al ;送到控制端口2).读写数据端口初始化编程后:当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备示例-读写数据端口利用8255A的输出锁存能力,可实现按位输出控制对输出端口B的PB7位置位的程序段:

movdx,61h ;B端口假设为61H inal,dx ;读出B端口原输出内容

oral,80h ;使PB7=1 outdx,al ;输出新的内容3).读写端口C:归纳1在控制上,C端口上半部和A端口编为A组,C端口下半部和B端口编为B组C端口被分成两个4位端口这两个端口只能以方式0工作,可分别选择输入或输出3).读写端口C:归纳2当A和B端口工作在方式1或A端口工作在方式2时,C端口的部分或全部引脚将被征用其余引脚仍可设定工作在方式03).读写端口C:归纳3对端口C的数据输出有两种办法通过端口C的I/O地址向C端口直接写入字节数据这一数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效通过控制端口向C端口写入位控字,使C端口的某个引脚输出1或0,或置位/复位内部的中断允许触发器端口C的位控制字位控制字写入控制端口特别便于置位/复位内部中断允许触发器D3D2D1D00×××0-复位1-置位D3D2D1000001010011100101110111C口

PC0PC1PC2PC3PC4PC5PC6PC78255A按位置/复位控制字举例若允许PA口输入中断请求,则必须设置INTEA=1,即置PC4=1;若禁止它中断请求,则置INTEA=0,即置PC4=0。MOVDX,63H ;8255A命令口MOVAL,00001001B ;PC4=1,允许中断请求OUTDX,ALMOVAL,00001000B ;PC4=0,禁止中断请求OUTDX,AL3).读写端口C:归纳4读取的C端口数据有两种情况未被A和B端口征用的引脚将从定义为输入的端口读到引脚输入信息;将从定义为输出的端口读到输出锁存器中的信息被A和B端口征用作为联络线的引脚将读到反映8255A状态的状态字端口C的状态字方式1输入I/OI/OI/OINTRAINTE2IBFAINTE1OBFAINTRBOBFBINTEBINTRAI/OI/OINTEAOBFA方式2双向方式1输出INTRBIBFBINTEBINTRAINTEAIBFAI/OI/OD0D1D2D3D4D5D6D7A组B组8255A的应用作为通用的并行接口电路芯片,8255A具有广泛的应用:应用在IBMPC/XT微机上应用于打印机接口电路连接简易键盘驱动LED数码管……在IBMPC/XT上的应用工作在基本输入/输出方式0端口A为方式0输入,用来读取键盘扫描码端口B工作于方式0输出,控制扬声器等端口C为方式0输入,读取系统状态和配置系统的初始化编程

moval,10011001b ;方式控制字99H out63h,al8255A的键盘和扬声器控制示意8255APB1PB0驱动电路扬声器GATE2CLK2时钟信号与门8254的计数器2

PA7~PA0PB7PB6键盘扫描码键盘控制信号开/关扬声器的程序……INAL,61H;读取8255的PB口原输出值

MOVAH,AL;将原输出值保留于AH中

ORAL,03H;使PB1、PB0均为1OUT61H,AL;打开GATE2,输出方波到扬声器

……MOVAL,AH;取回AH中的8255PB口的原输出值

OUT61H,AL;恢复8255PB口;PB1PB0不同时为高电平,停止发声读系统配置开关P267例题读系统配置开关P267例题MOVAL,10001001BOUT63H,ALMOVAL,10100101BOUT61H,ALINAL,62HANDAL,0FHMOVAH,ALMOVAL,10101101BOUT61H,ALINAL,62HMOVCL,4ROLAL,CLANDAL,0F0HORAL,AHXORAH,AHMOV[0010H],AXMOVAL,10011001BOUT63H,AL的应用-双机通信双机通信要求要求在甲乙两台微机之间并行传送1K字节数据。甲机发送,乙机接收。甲机一侧的8255A采用方式1工作。乙机一侧的8255A采用方式0工作。两机的CPU与接口之间都采用查询方式交换数据。双机通信硬件考虑甲机8255A是方式1发送,因此,把PA口指定为输出,发送数据,而PC7和PC6引脚分别固定作联络线OBF和ACK。乙机8255A是方式0接收,故把PA口定义为输入,接收数据,而选用引脚PC4和PC0作联络线。注意:虽然两侧的8255A都设置了联络线,但有本质的差别。甲机8255A是1方式,其联络线是固定的不可替换。乙机的8255A是0方式,其联络线是不固定的,可选择,比如可选择PC4和PC1或PC3、PC2等任意组合。双机通信编程-甲机发送程序(I)MOVDX,63H ;8255A命令口MOVAL,10100000B ;初始化工作方式字OUTDX,ALMOVAL,00001101B ;置发送中断允许INTEA=1OUTDX,AL ;PC6=1MOVAX,0030H ;发送数据内存首址MOVES,AXMOVBX,0MOVCX,0400H ;发送字节数MOVDX,60H ;向A口写第一个数,产生第一个OBF信号MOVAL,ES:[BX] ;送给对方,以便获取对方的ACKOUTDX,ALINCBX ;内存加1DECCX ;字节数减1双机通信编程-甲机发送程序(II)L:

MOVDX,62H ;8255A状态口

INAL,DX ;查发送中断请求INTRA=1?

ANDAL,08H ;PC3=1?

JZL ;若无中断请求,则等待 ;若有中断请求,则向A口写数。

MOVDX,60H ;8255APA口地址

MOV

温馨提示

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

评论

0/150

提交评论