单片机IO扩展8155课件_第1页
单片机IO扩展8155课件_第2页
单片机IO扩展8155课件_第3页
单片机IO扩展8155课件_第4页
单片机IO扩展8155课件_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

单片机系统I/O扩展单片机IO扩展8155并行I/O口扩展

4.1.189C51内部并行I/O口及其作用

51系列单片机内部有4个双向的并行I/O端口:P0~P3,共占32根引脚。P0口的每一位可以驱动8个TTL负载,P1~P3口的负载能力为三个TTL负载。有关4个端口的结构及详细说明,在前面的有关章节中已作过介绍,这里不再赘述。在无片外存储器扩展的系统中,这4个端口都可以作为准双向通用I/O口使用。通过7.1和7.2节的介绍,我们知道,在具有片外扩展存储器的系统中,P0口分时地作为低8位地址线和数据线,P2口作为高8位地址线。这时,P0口和部分或全部的P2口无法再作通用I/O口。单片机IO扩展8155P3口具有第二功能,在应用系统中也常被使用。因此在大多数的应用系统中,真正能够提供给用户使用的只有P1和部分P2、P3口。综上所述,89C51单片机的I/O端口通常需要扩充,以便和更多的外设(例如显示器、键盘)进行联系。在51单片机中扩展的I/O口采用与片外数据存储器相同的寻址方法,所有扩展的I/O口,以及通过扩展I/O口连接的外设都与片外RAM统一编址,因此,对片外I/O口的输入/输出指令就是访问片外RAM的指令,即:单片机IO扩展8155

4.1.2简单的I/O口扩展简单的I/O口扩展通常是采用TTL或CMOS电路锁存器、三态门等作为扩展芯片,通过P0口来实现扩展的一种方案。它具有电路简单、成本低、配置灵活的特点。

1.扩展实例采用74LS244作为扩展输入、74LS273作为扩展输出的简单I/O口扩展。

单片机IO扩展815574HC373芯片的功能输出接口扩展通常用74HC373芯片来实现。该芯片是一个带允许端的8D锁存器,其芯片的引脚如图4所示,各相关引脚的功能如下:

D0~D7为8位数据输入端;

Q0~Q7为8位数据输出端;

G为使能控制端;

CLK为时钟信号,上升沿锁存数据。单片机IO扩展8155单片机IO扩展8155

4.1.3采用8155扩展I/O口

在实训电路中采用的是另一种可编程的接口芯片8155,Intel公司研制的8155不仅具有两个8位的I/O端口(A口、B口)和一个6位的I/O端口(C口),而且还可以提供256 B的静态RAM存储器和一个14位的定时/计数器。8155和单片机的接口非常简单,目前被广泛应用。

1. 8155的结构和引脚

8155有40个引脚,采用双列直插封装,其引脚图和组成框图如图8.20所示。单片机IO扩展8155图8155的引脚图和结构框图

CBAAD012PA021AD113PA122AD214PA223AD315PA324AD416PA425AD517PA526AD618PA627AD719PA728PB029CE8PB130RD9PB231WR10PB332IO/M7PB433ALE11PB534PB635PB736TIMEROUT6PC037PC138TIMERIN3PC239PC31PC42RESET4PC558155256字节静态RAM14位定时计数器TIMERINTIMEROUTVCC(£«5V)VSS(GND)PA0¡«PA7IO/MCEALERDWRRESETAD0¡«AD7PB0¡«PB7PC0¡«PC7单片机IO扩展8155

我们对8155的引脚分类说明如下:

(1)地址/数据线AD0~AD7(8条):是低8位地址线和数据线的共用输入总线,常和51单片机的P0口相连,用于分时传送地址数据信息,当ALE=1时,传送的是地址。

(2)I/O口总线(22条):PA0~PA7、PB0~PB7分别为A、B口线,用于和外设之间传递数据;PC0~PC5为C端口线,既可与外设传送数据,也可以作为A、B口的控制联络线。单片机IO扩展8155

(3)控制总线(8条):

RESET:复位线,通常与单片机的复位端相连,复位后,8155的3个端口都为输入方式。 :读/写线,控制8155的读、写操作。

ALE:地址锁存线,高电平有效。它常和单片机的ALE端相连,在ALE的下降沿将单片机P0口输出的低8位地址信息锁存到8155内部的地址锁存器中。因此,单片机的P0口和8155连接时,无需外接锁存器。:片选线,低电平有效。:RAM或I/O口的选择线。当=0时,选中8155的256BRAM;当=1时,选中8155片内3个I/O端口以及命令/状态寄存器和定时/计数器。单片机IO扩展8155TIMERIN、:定时/计数器的脉冲输入、输出线。TIMERIN输入脉冲对8155内部的14位定时/计数器减1;为输出线,当计数器计满回0时,8155从该线输出脉冲或方波,波形形状由计数器的工作方式决定。

2.作片外RAM使用当=0,=0时,8155只能做片外RAM使用,共256B。其寻址范围由以及AD0~AD7的接法决定,这和前面讲到的片外RAM扩展时讨论的完全相同。当系统同时扩展片外RAM芯片时,要注意二者的统一编址。对这256BRAM的操作使用片外RAM的读/写指令“MOVX”。单片机IO扩展81553.作扩展I/O口使用当=0,=1时,此时可以对8155片内3个I/O端口以及命令/状态寄存器和定时/计数器进行操作。与I/O端口和计数器使用有关的内部寄存器共有6个,需要三位地址来区分,为地址分配情况。表8.46个内部寄存器的地址分配表

AD7~AD0选中寄存器A7A6A5A4A3A2A1A0×××××000×××××001×××××010×××××011×××××100×××××101内部命令/状态寄存器PA口PB口PC口定时/计数器低8位寄存器定时/计数器高8位寄存器单片机IO扩展8155

1)命令/状态寄存器和接口芯片8255一样,芯片8155I/O口的工作方式的确定也是通过对8155的命令寄存器写入控制字来实现的。8155控制字的格式如图所示。命令寄存器只能写入不能读出,也就是说,控制字只能通过指令MOVX@DPTR,A或MOVX@Ri,A写入命令寄存器。在本书的实训电路板中,扩展了8155,用于连接8个LED显示和键盘,A、B口为基本输出方式,C口为基本输入方式,因此编写如下程序:单片机IO扩展8155

8155的控制字

单片机IO扩展8155MOVDPTR,#CWR;设CWR为命令寄存器的地址

MOVA,#03H;A、B口为基本输出方式,C口为基本输入方式

MOVX@DPTR,A

状态寄存器中存放有状态字,状态字反映了8155的工作情况,状态字的各位定义如图所示单片机IO扩展8155图8.228155的状态字单片机IO扩展8155

状态寄存器和命令寄存器是同一地址,状态寄存器只能读出不能写入,也就是说,状态字只能通过指令MOVXA,@DPTR或MOVXA,@Ri来读出,以此来了解8155的工作状态。

2)计数器高、低8位寄存器关于计数器高、低8位寄存器的使用,我们将在后面讲到定时器使用时再作介绍。

4. I/O口的工作方式当使用8155的三个I/O端口时,它们可以工作于不同的方式,工作方式的选择取决于写入的控制字,如图8.21所示。其中,A、B口可以工作于基本I/O方式或选通I/O方式,C口可工作于基本I/O方式,也可以作为A、B选通方式时的控制联络线。单片机IO扩展8155

方式1、2时,A、B、C口都工作于基本I/O方式,可以直接和外设相连,采用“MOVX”类的指令进行输入/输出操作。方式3时,A口为选通I/O方式,由C口的低三位作联络线,其余位作I/O线;B口为基本I/O方式。方式4时,A、B口均为选通I/O方式,C口作为A、B口的联络线。其逻辑组态如图所示。单片机IO扩展8155图8155方式4时的逻辑结构

单片机IO扩展8155C口的工作方式和各位的关系见表

表8.5C口的工作方式

方式1方式2方式3方式4PC0PC1PC2PC3PC4PC5全部为输入

全部为输出A口中断请求A口缓冲器满A口选通输出输出输出A口中断请求A口缓冲器满A口选通B口中断请求B口缓冲器满B口选通单片机IO扩展8155

5.定时/计数器使用

8155的可编程定时/计数器是一个14位的减法计数器,在TIMERIN端输入计数脉冲,计满时由输出脉冲或方波,输出方式由定时器高8位寄存器中的M2、M1两位来决定。当TIMERIN接外脉冲时为计数方式,接系统时钟时为定时方式,实际使用时一定要注意芯片允许的最高计数频率!定时/计数器的初始值和输出方式由高、低8位寄存器的内容决定,初始值14位,其余两位定义输出方式。其中,低8位寄存器存放计数初始值的低8位,高8位寄存器的格式如下:单片机IO扩展81551)定时/计数器的输出方式定时器的输出方式见表8.6。

输出方式计数初始值高6位M2M1单片机IO扩展8155表8.6定时器的输出方式M2M1方式波形00011011在一个计数周期输出单次方波连续方波在计满回0后输出的单个脉冲连续脉冲2)定时/计数器的工作

8155对内部定时器的控制是由8155控制字的D7、D6位决定的(见图8.22),现总结如表8.7所示。单片机IO扩展8155表8.7定时/计数器的工作情况8155的控制字定时/计数器工作情况D7D600无操作,即不影响定时器的工作0110立即停止定时器的计数定时器计满回0后停止计数11若定时器不工作,则开始计数;若定时器正在计数,则计满回0后按新输入的长度值开始计数单片机IO扩展8155

6. 89C51单片机和8155的接口

89C51和8155的接口非常简单,因为8155内部有一个8位地址锁存器,故无需外接锁存器。在二者的连接中,8155的地址译码即片选端可以采用线选法、全译码等方法,这和8255类似。在整个单片机应用系统中要考虑与片外RAM及其它接口芯片的统一编址,读者可参考本

温馨提示

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

评论

0/150

提交评论