单片机IO扩展8155.ppt

上传人:王** 文档编号:178245 上传时间:2023-03-21 格式:PPT 页数:28 大小:344.50KB
下载 相关 举报
单片机IO扩展8155.ppt_第1页
第1页 / 共28页
单片机IO扩展8155.ppt_第2页
第2页 / 共28页
单片机IO扩展8155.ppt_第3页
第3页 / 共28页
单片机IO扩展8155.ppt_第4页
第4页 / 共28页
单片机IO扩展8155.ppt_第5页
第5页 / 共28页
单片机IO扩展8155.ppt_第6页
第6页 / 共28页
单片机IO扩展8155.ppt_第7页
第7页 / 共28页
单片机IO扩展8155.ppt_第8页
第8页 / 共28页
单片机IO扩展8155.ppt_第9页
第9页 / 共28页
单片机IO扩展8155.ppt_第10页
第10页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机IO扩展8155.ppt》由会员分享,可在线阅读,更多相关《单片机IO扩展8155.ppt(28页珍藏版)》请在优知文库上搜索。

1、单片机系统单片机系统I/OI/O扩展扩展并行并行I/O口扩展口扩展 4.1.1 89C51内部并行I/O口及其作用 51系列单片机内部有4个双向的并行I/O端口:P0P3,共占32根引脚。P0口的每一位可以驱动8个TTL负载,P1P3口的负载能力为三个TTL负载。有关4个端口的结构及详细说明,在前面的有关章节中已作过介绍,这里不再赘述。 在无片外存储器扩展的系统中,这4个端口都可以作为准双向通用I/O口使用。通过7.1和7.2节的介绍,我们知道,在具有片外扩展存储器的系统中, P0口分时地作为低8位地址线和数据线,P2口作为高8位地址线。这时,P0口和部分或全部的P2口无法再作通用I/O口。

2、P3口具有第二功能,在应用系统中也常被使用。因此在大多数的应用系统中,真正能够提供给用户使用的只有P1和部分P2、P3口。 综上所述,89C51单片机的I/O端口通常需要扩充,以便和更多的外设(例如显示器、键盘)进行联系。 在51单片机中扩展的I/O口采用与片外数据存储器相同的寻址方法,所有扩展的I/O口,以及通过扩展I/O口连接的外设都与片外RAM统一编址,因此,对片外I/O口的输入/输出指令就是访问片外RAM的指令,即: 4.1.2 简单的I/O口扩展 简单的I/O口扩展通常是采用TTL或CMOS电路锁存器、三态门等作为扩展芯片,通过P0口来实现扩展的一种方案。它具有电路简单、成本低、配置

3、灵活的特点。 1. 扩展实例 采用74LS244作为扩展输入、74LS273作为扩展输出的简单I/O口扩展。 74HC373芯片的功能 输出接口扩展通常用74HC373芯片来实现。该芯片是一个带允许端的8D锁存器,其芯片的引脚如图4所示,各相关引脚的功能如下: D0D7为8位数据输入端; Q0Q7为8位数据输出端; G为使能控制端; CLK为时钟信号,上升沿锁存数据。 4.1.3 采用8155扩展I/O口 在实训电路中采用的是另一种可编程的接口芯片8155,Intel公司研制的8155不仅具有两个8位的I/O端口(A口、B口)和一个6位的I/O端口(C口),而且还可以提供256B的静态RAM存

4、储器和一个14位的定时/计数器。8155和单片机的接口非常简单,目前被广泛应用。 1. 8155的结构和引脚 8155有40个引脚,采用双列直插封装,其引脚图和组成框图如图8.20所示。图 8155的引脚图和结构框图CBAAD012PA021AD113PA122AD214PA223AD315PA324AD416PA425AD517PA526AD618PA627AD719PA728PB029CE8PB130RD9PB231WR10PB332IO/M7PB433ALE11PB534PB635PB736TIMEROUT6PC037PC138TIMERIN3PC239PC31PC42RESET4PC5

5、58155256字节静态RAM14位定时计数器TIMER INTIMER OUTVCC(5 V)VSS(GND)PA0PA7IO/MCEALERDWRRESETAD0AD7PB0PB7PC0PC7 我们对8155的引脚分类说明如下: (1) 地址/数据线AD0AD7(8条):是低8位地址线和数据线的共用输入总线,常和51单片机的P0口相连,用于分时传送地址数据信息,当ALE=1时,传送的是地址。 (2) I/O口总线(22条):PA0PA7、PB0PB7分别为A、B口线,用于和外设之间传递数据;PC0PC5为C端口线,既可与外设传送数据,也可以作为A、B口的控制联络线。 (3) 控制总线(8条

6、): RESET:复位线,通常与单片机的复位端相连,复位后,8155的3个端口都为输入方式。 :读/写线,控制8155的读、写操作。 ALE:地址锁存线,高电平有效。它常和单片机的ALE端相连,在ALE的下降沿将单片机P0口输出的低8位地址信息锁存到8155内部的地址锁存器中。因此,单片机的P0口和8155连接时,无需外接锁存器。 :片选线,低电平有效。 :RAM或I/O口的选择线。当=0时,选中8155的256 B RAM;当=1时,选中8155片内3个I/O端口以及命令/状态寄存器和定时/计数器。RDWRCEM/IO TIM ERIN、 :定时/计数器的脉冲输入、输出线。TIMERIN输入

7、脉冲对8155内部的14位定时/计数器减1;为输出线,当计数器计满回0时,8155从该线输出脉冲或方波,波形形状由计数器的工作方式决定。 2. 作片外RAM使用 当=0,=0时,8155只能做片外RAM使用,共256 B。其寻址范围由以及AD0AD7的接法决定,这和前面讲到的片外RAM扩展时讨论的完全相同。当系统同时扩展片外RAM芯片时,要注意二者的统一编址。对这256 B RAM的操作使用片外RAM的读/写指令“MOVX”。 TIMEROUT 3. 作扩展I/O口使用 当 =0, =1时,此时可以对8155片内3个I/O端口以及命令/状态寄存器和定时/计数器进行操作。与I/O端口和计数器使用

8、有关的内部寄存器共有6个,需要三位地址来区分,为地址分配情况。 CEM/IO表8.4 6个内部寄存器的地址分配表 AD7AD0选中寄存器A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1内部命令/状态寄存器PA口PB口PC口定时/计数器低8位寄存器定时/计数器高8位寄存器 1) 命令/状态寄存器 和接口芯片8255一样,芯片8155 I/O口的工作方式的确定也是通过对8155的命令寄存器写入控制字来实现的。8155控制字的格式如图所示。 命令寄存器只能写入不能读出,也就是说,控制字只能通过指令MOVX DPTR, A或MOVX

9、 Ri, A写入命令寄存器。 在本书的实训电路板中,扩展了8155,用于连接8个LED显示和键盘,A、B口为基本输出方式,C口为基本输入方式,因此编写如下程序: 8155的控制字 TM1TM2IEBIEAPC2 PC1PAPAPBA口方式B口方式B口A口计数器方式00:空操作01:停止计数10:计满后停止11:开始计数0:输入1:输出0:禁止中断1:允许中断00110110方式1:A、B 口基本 I/O ; C口输入方式2:A、B 口基本 I/O ; C口输出方式3:A口选通 I/O , B口基本 I/O方式4:A , B口选通 I/O MOV DPTR,#CWR;设CWR为命令寄存器的地址

10、MOV A,#03H ;A、B口为基本输出方式,C口为基本输入方式 MOVX DPTR,A 状态寄存器中存放有状态字,状态字反映了8155的工作情况,状态字的各位定义如图所示 图8.22 8155的状态字A口中断请求标志: 0:无;1:有A口缓冲器: 0:空;1:满A口中断允许: 0:禁止;1:允许B口中断请求标志: 0:无;1:有B口缓冲器: 0:空;1:满B口中断允许: 0:禁止;1:允许定时器中断标志:1:有定时器溢出中断0:读状态字后或硬件复位后INTEBTIMERBBFINTRBINTEAINTRAABF 状态寄存器和命令寄存器是同一地址,状态寄存器只能读出不能写入,也就是说,状态字

11、只能通过指令MOVX A ,DPTR或MOVX A,Ri来读出,以此来了解8155的工作状态。 2) 计数器高、低8位寄存器 关于计数器高、低8位寄存器的使用,我们将在后面讲到定时器使用时再作介绍。 4. I/O口的工作方式 当使用8155的三个I/O端口时,它们可以工作于不同的方式,工作方式的选择取决于写入的控制字,如图8.21所示。其中,A、B口可以工作于基本I/O方式或选通I/O方式,C口可工作于基本I/O方式,也可以作为A、B选通方式时的控制联络线。 方式1、2时,A、B、C口都工作于基本I/O方式,可以直接和外设相连,采用“MOVX”类的指令进行输入/输出操作。 方式3时,A口为选通

12、I/O方式,由C口的低三位作联络线,其余位作I/O线;B口为基本I/O方式。 方式4时,A、B口均为选通I/O方式,C口作为A、B口的联络线。其逻辑组态如图所示。图 8155方式4时的逻辑结构 设备数据线设备数据线至中断请求输入线至设备来自设备至中断请求输入线至设备来自设备AINTRBINTRABFBBFASTBBSTBPAPB8155PC0PC1PC2PC3PC4PC5C口的工作方式和各位的关系见表 。 表8.5 C口的工作方式 方式1方式2方式3方式4PC0PC1PC2PC3PC4PC5全部为输入 全部为输出A口中断请求A口缓冲器满A口选通输出输出输出A口中断请求A口缓冲器满A口选通B口中

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

14、M1表8.6 定时器的输出方式M2 M1方 式波 形0 00 11 01 1在一个计数周期输出单次方波连续方波在计满回0后输出的单个脉冲连续脉冲 2) 定时/计数器的工作 8155对内部定时器的控制是由8155控制字的D7、D6位决定的(见图8.22),现总结如表8.7所示。表8.7 定时/计数器的工作情况8155的控制字定时/计数器工作情况D7 D60 0无操作,即不影响定时器的工作0 11 0立即停止定时器的计数定时器计满回0后停止计数1 1若定时器不工作,则开始计数;若定时器正在计数,则计满回0后按新输入的长度值开始计数 6. 89C51单片机和8155的接口 89C51和8155的接口

15、非常简单,因为8155内部有一个8位地址锁存器,故无需外接锁存器。在二者的连接中,8155的地址译码即片选端可以采用线选法、全译码等方法,这和8255类似。在整个单片机应用系统中要考虑与片外RAM及其它接口芯片的统一编址,读者可参考本书的实训电路图中的方法,确定8155的相关地址。图为一个连接实例。 图 8155和8051的接口电路80518155RSTRESETALEALERDRDWRWRP0AD0AD7CEIO/MP2.1P2.25 VPAPBPC8根据上述、的连接关系,可以确定地址如下:8051 A15 A14 A13 A12 A11 A10 A9 A8 P2.7 P2.6 P2.5 P2.4 2.3 P2.2 P2.1 P2.0RAM: MIO/CE0 08155I/O口: 1 0 此时,8155内部RAM的地址范围为:0000H00FFH,8155各端口的地址(设无关位为0,这些地址都不是惟一的)为: 命令/状态口 0400H A口 0401H B口 0402H C口 0403H 定时器低字节 0404H 定时器高字节 0405H

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > Java

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

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