第九章 微机原理_第1页
第九章 微机原理_第2页
第九章 微机原理_第3页
第九章 微机原理_第4页
第九章 微机原理_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

第9章可编程并行接口芯片8255A并行接口一般具有以下特点:1)通过多根信号线同时传送多位数据;2)并行接口多用于传送距离短,数据量大,速度高的实时传输场合;3)传送时一般不需要特定的数据传送格式。

9.18255A的结构图9.18255A外部引脚

1、数据端口在8255A内部包含了三个8位输入/输出数据端口:端口A、端口 B、端口C。三个端口在功能上有不同的特点:端口A:一个8位的数据输入锁存器,一个8位的数据输出锁存 器/缓冲器,即端口A输入/输出时都可以锁存数据。端口B:一个8位的数据输入缓冲器,一个8位的数据输出锁存 器/缓冲器,即端口B输入不能锁存,而输出可以锁存。端口C:比较特殊,一个8位的数据输入缓冲器,但没有锁存器, 一个8位的数据输出锁存/缓冲器。2、端口控制逻辑端口控制逻辑分为A组和B组,各组管理的端口如下:A组:管理端口A及端口C的上半部(PC7~PC4)B组:管理端口B及端口C的下半部(PC3~PC0)3、数据总线缓冲器4、读/写控制逻辑读/写控制逻辑包括:1)

读信号RD:低电平有效。2)

写信号WR:低电平有效。3)

片选信号CS:低电平有效。4)复位信号RESET:高电平有效。5)端口选择信号A1、A0:通过A1、A0的组合来选择端口。表9-18255A基本操作A1A0RDWRCS操作

000100101010010端口A—>数据总线端口B—>数据总线端口C—>数据总线00100011001010011100数据总线—>端口A数据总线—>端口B数据总线—>端口C数据总线—>控制字寄存器××××111010××110数据总线三态非法状态数据总线三态9.2方式选择在8255A的初始化工作中,CPU输出的编程命令有两类:一类称为方式选择控制字,用于定义各端口的工作方式;另一类称为置位/复位控制字,用于对端口C任意一位的置位或复位操作。9.2.1方式选择控制字8255A有三种基本的工作方式:方式0:基本输入/输出方式方式1:选通输入/输出方式方式2:双向总线I/O方式图9.3方式选择控制字例如:现指定端口A以方式0输出;指定端口B以方式1输入;端口C高4位为输入,低4位为输出。则根据方式控制字的定义格式可写出相应的方式选择控制字为:10001110B或8EH,8255A初始化程序段如下:(若控制口的分配地址为303H)MOVDX,303HMOVAL,10001110B(或MOVAL,08EH)OUTDX,AL9.2.2置位/复位控制字

图9.4置位/复位控制字格式例如,设8255A端口地址为60H~63H,现要求先置PC4为低电平,再复位PC4,则相应的程序段如下:MOVAL,00001001BOUT63H,ALMOVAL,00001000BOUT63H,AL9.3各方式的功能9.3.1方式0的功能主要功能如下:⑴两个独立的8位端口(端口A和B)和两个4位端口(端口C)。在实际应用时,根据需要也可以将C口的上下两端口合起来使用,构成一个8位的端口;⑵规定了输出信号可以被锁存,而输入信号不能锁存;⑶各个端口既可以作为输入使用,也可以作为输出使用,两个8位端口和两个4位端口可以组成16种情况。图9.5各端口工作于方式0时的控制字格式图9.6方式0的输入时序图9.7方式0的输出时序9.3.2方式1的功能1、主要功能⑴端口A和端口B都可作为数据输入/输出端口,但必须通过端口C相应位的控制来实现。⑵当端口A和端口B中的一个端口被确定为工作方式1时,与此对应的端口C中就有3位被固定了,端口C中的这3位专门用来控制端口A或端口B。⑶若端口A和端口B都工作于方式1,则端口C中有6位固定,剩余2位可工作于其它方式,用作其它用途。2、方式1的输入(1)输入组态

图9.8方式1输入组态(2)联络信号1)STB:选通信号,低电平有效。2)IBF:输入缓冲器满信号,高电平有效。3)INTE:中断允许信号,高电平有效。4)INTR:中断请求信号,高电平有效。(3)输入时序

图9.9方式1输入时序3、方式1的输出(1)输出组态

图9.10方式1输出组态(2)联络信号1)OBF:输出缓冲器满信号,低电平有效。2)ACK:外设响应信号,低电平有效。3)INTE:中断允许信号,高电平有效。4)INTR:中断请求信号,高电平有效。

(3)输出时序

图9.11方式1输出时序9.3.3方式2的功能1、方式2的组态图9.12端口A工作于方式2时的端口状态和控制字2、联络信号1)OBF:输出缓冲器满,低电平有效。2)ACK:外设响应信号,低电平有效。3)STB:选通信号,低电平有效。4)IBF:输入缓冲器满,高电平有效。5)INTR:中断请求信号,高电平有效。6)INTE1,INTE2:中断允许信号,高电平有效。3、方式2的时序图9.13方式2时序9.4端口C的状态字端口C的状态字有以下几种格式:1、方式1状态字输入状态字:D7D6D5D4D3D2D1D0

输入状态字:D7D6D5D4D3D2D1D0

I/OI/OIBFA

INTEA

INTRA

INTEB

IBFB

INTRB

OBFA

INTEAI/OI/OINTRA

INTEB

OBFB

INTRB

例如:允许端口A中断请求,禁止端口B中断请求(输入方式),则其程序段为:(设C口地址为303H)MOVDX,303HMOVAL,00010000BOUTDX,AL2、方式2状态字其状态字:D7D6D5D4D3D2D1D0OBFAINTE1

IBFA

INTE2

INTRA

XXX9.58255A应用举例1、基本输入/输出应用举例以下是8086微机系统扩展一片8255A作为并行口的电路图,同时还配以74LS138译码器等芯片,如图9-14所示。端口A为方式1输入,以中断方式与CPU交换数据,中断类型号为0FH;端口B工作于方式0输出,端口C的普通I/O作为输入。8255AD0~D7CSA1A0WEOE&A7A5A4E3E2E1ABCY0A8A6A3M/IOA974LS138A2A1WRRD图9.14并行口扩展图设端口A中断服务子程序名为SERA。具体8255A的初始化程序如下:MOVAL,10111001MOVDX,0B6HOUTDX,ALMOVAL,00001001OUTDX,ALMOVAX,0MOVES,AXMOVDI,0FH*4MOVAX,OFFSETSERACLDSTOSWMOVAX,SEGSERASTOSW2、8255A与LED显示器的接口

图9.15典型LED(a)共阴极LED(b)共阳极LED(a)(b)图9.16LED的两种典型接法图9.17动态LED接口电路由图可知,8255A的端口地址为200H~203H。而8255A的片选由高位地址线A2~A15通过译码得到,内部各端口由地址总线A1,A0选择确定。其相应初始化程序片段为:MOVDX,203HMOVAL,10000000BOUTDX,AL多位LED显示器接口有两种方法:(1)静态显示法静态显示法---各位独立驱动的显示方式,相当于多个一位LED显 示器接口的组合。(2)动态显示法(动态扫描显示法)以8位LED显示器为例,接口只需两个8位输出口,一个用于输出显示段码,另一个用于输出显示位码。 设DISBUF缓冲区中有4个待显示的字符,软件译码动态显示的驱动程序如下:DISPLAYPROCLEADI,DISBUFMOVCL,O8HMOVAL,00HMOVDX,201HOUTDX,ALDISP:MOVAL,[DI]LEABX,DISCODEXLATDECDXOUTDX,AL

温馨提示

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

评论

0/150

提交评论