IO接口的扩展(8155)_第1页
IO接口的扩展(8155)_第2页
IO接口的扩展(8155)_第3页
IO接口的扩展(8155)_第4页
IO接口的扩展(8155)_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、补充: 输入输出接口的扩展一、简单的I/O接口的扩展 通常用74LS244(8位三态缓冲器及总 线驱动器)扩展输入口,用74LS273(8D锁存器)扩展输出口,如图4.16所示。一、简单的I/O接口的扩展一、简单的I/O接口的扩展l若要求当某键按下时,相应的LED发光,则接口程序如下: LOOP:MOV DPTR,#PORT1 MOVX A,DPTR MOV DPTR,#PORT2 MOVX DPTR,A JMP LOOP一、简单的I/O接口的扩展l在扩展接口时,还应注意两点:I/O地址的安排,如果扩展的接口不多,则可用线选寻址,在如图4.16中P2.0来选择一个输入口和一个输出口。线选法未能

2、使地址空间得到充分利用,对于RAM和I/O口容量较大的系统,可用74LS138作为地址译码器,译码出的信号作为片选信号。一、简单的I/O接口的扩展l在扩展接口时,还应注意两点总线负载能力的扩大: P0口作地址/数据总线时,其负载能力为8个LSTTL电路,P2口作为地址总线时,其负载能力为4个LS TTL电路,如果超过必须增加总线驱动器,如:74LS244(单向)、74LS245(双向)等。二、用串行口扩展并行I/O口l前提: MCS-51单片机的串行口在方式0时是一个同步移位寄存器I/O方式,可用来扩展8位并行输入/输出口。二、用串行口扩展并行I/O口用串行接口扩展并行输入口 用一片8位并行输

3、入/串行输出移位寄存器,如4014或74LS165便可以扩展一个并行输入口。二、用串行口扩展并行I/O口用串行口扩展并行输出口 用一片串行输入/8位并行输出移位寄存器,如4094或74LS164便可以扩展一个并行输出口。三、用可编程接口芯片扩展8155 RAM/IO扩展芯片介绍 8155的逻辑结构及引脚功能 8155的内部包含:256字节SRAM、2个8位和一个6位的I/O口、一个14位的定时/计数器。 逻辑结构框图如图4.19所示三、用可编程接口芯片扩展三、用可编程接口芯片扩展8155 RAM/IO扩展芯片介绍 8155的逻辑结构及引脚功能 8155为40脚双列直插式封装,引脚排列如图4.2

4、0所示;引脚功能列于 表4.10三、用可编程接口芯片扩展三、用可编程接口芯片扩展名称 引脚 功能 RESET 4 复位信号,输入,是系统提供的复位信号,它将系统复位于初始状态,这条输入线为高电平时,将该片复位并置三个I/O接口为输入方式 RESET 脉冲宽度最少为640s AD0AD7 1219 这些是三态地址/数据总线。 它与8051 地址/数据总线相连。 它的分时复用功能和8051 的P0 口完全一致。 低 8 位地址在 ALE 的下降沿时送入地址锁存器。这地址按照 IO/M 输入信号的极性决定是存储器区域还是I/O区域。 配合RD或WR输入信号, 在ALE的上升沿把片内数据读出或把数据写

5、入芯片。 CE 8 片选端,输入,低电平有效 RD 9 载CE有效时,这条线输入为低电平时,AD0AD7 的缓冲器能动作。如果IO/M输入端为低电平, RAM中的内容读出到AD总线, 否则被选中的I/O接口内容读出到AD总线。 WR 10 在 CE 有效时,这条线输入为低电平时,按照 IO/M 的极性,AD 线上的数据写入RAM或I/O接口。 ALE 11 输入,地址锁存允许信号,在 ALE的下降沿将 AD0AD7 地址和IO/M,CE的状态锁存在芯片内。 表4.10 8155引脚功能表三、用可编程接口芯片扩展名称 引脚 功能 IO/M 7 输入,I/O接口和存储器选择信号,这条线为低电平时选

6、中存储器,否则选中I/O接口寄存器。 PA0PA7 2128 这8 条引脚为8 位的通用I/O接口,输入/输出的流向可由程序控制。 PB0PA7 2936 这8 条引脚为8 位的通用I/O接口,输入/输出的流向可由程序控制。 PC0PC5 PC0 PC1 PC2 PC3 PC4 PC5 37 38 39 1 2 5 这6 条引脚可为6 位通用I/O接口,也可用作PA和PB的控制信号,这些可通过程序控制 A INTR(A口中断申请线) A BF (A口缓冲器满) A STB(A口选通) B INTR(B口中断申请线) B BF(B口缓冲器满) B STB(B口选通) TIMER IN 3 定时器

7、输入端 TIMER OUT 6 定时器输出端,此输出按定时的方式既可输出方波,又可输出脉冲信号 Vcc 40 +5V电源 Vss 20 地 表4.10 8155引脚功能表三、用可编程接口芯片扩展8155 RAM/IO扩展芯片介绍 8155RAM和I/O口的寻址 8155 共有256个字节RAM ,可以安排在64k字节外RAM空间的任一区域中,具体由CE、IO/M与MCS-51单片机的高位地址线的连接方法确定。单片机访问时应使CE0,IO/M0;片内单元由AD0AD7确定。三、用可编程接口芯片扩展8155 RAM/IO扩展芯片介绍 8155 RAM和I/O口的寻址 8155的I/O部分有7个可编

8、程程序寄存器,如图4.21所示。单片机要访问这些寄存器必须使 0、 1。其命令寄存器(只写)、状态寄存器(只读),合用一个地址,所以8155安排了6个端口,由AD2AD0三位编码确定,见表4.11CEMIO/三、用可编程接口芯片扩展三、用可编程接口芯片扩展三、用可编程接口芯片扩展8155 RAM/IO扩展芯片介绍 命令寄存器及I/O方式 命令寄存器用来选择I/O口的工作方式,控制定时器的运行,命令字格式如图4.22所示三、用可编程接口芯片扩展三、用可编程接口芯片扩展三、用可编程接口芯片扩展8155 RAM/IO扩展芯片介绍 命令寄存器及I/O方式 基本I/O方式:方式1和方式2为基本I/O,这

9、时不用联络信号,C口可以做为输入(方式1)或输出(方式2)。逻辑结构和时序波形如图4.23所示。三、用可编程接口芯片扩展三、用可编程接口芯片扩展8155 RAM/IO扩展芯片介绍 命令寄存器及I/O方式 选通I/O方式:在传送数据时,需要联络信号的配合,联络信号有: INTR:中断请求输出线 BF: 缓冲器满状态标志输出线 STB: 设备选通信号输入线三、用可编程接口芯片扩展8155 RAM/IO扩展芯片介绍 命令寄存器及I/O方式 方式3:规定A口为选通I/O口,B口为基本I/O口, C口高3位为数据输出线,C口的低3位作为A口的联络线 PC0AINTR PC1ABF PC2ASTB三、用可

10、编程接口芯片扩展8155 RAM/IO扩展芯片介绍 命令寄存器及I/O方式 方式4:规定A口、B口均为选通I/O、C口的低3位作为A口的联络线(与方式3相同),C口的高3位作为B口的联络线。 PC3BINTR PC4BBF PC5BSTB选通I/O的逻辑结构和工作时序三、用可编程接口芯片扩展8155 RAM/IO扩展芯片介绍 状态寄存器 供cpu读取,反映接口的工作状态,状态字的格式如图4.25所示三、用可编程接口芯片扩展8155 RAM/IO扩展芯片介绍 PA、PB端口:这两个8位端口可由命令字设定为输入/输出,也可由命令字设定为基本I/O或选通I/O。三、用可编程接口芯片扩展8155 RA

11、M/IO扩展芯片介绍 PC端口:这是6位端口,可作为输入口、输出口或作为PA、PB的联络线。三、用可编程接口芯片扩展8155 RAM/IO扩展芯片介绍 定时器/计数器:由两个8位寄存器构成,其中14位作为计数初值寄存器和计数器,还有两位用于选择输出方式;其格式如图4.26所示; 定时器输出波形如图4.27所示。三、用可编程接口芯片扩展8155芯片的使用 8155中的256字节RAM的使用 这时CE0、IO/M0(由高8位地址信号控制),由低8位地址选择内部256个单元,单片机用MOVX指令来访问。三、用可编程接口芯片扩展8155芯片的使用 8155中的3个并行I/O口的使用 这时CE0,IO/

12、M1(由高8位地址信号控制),PA、PB、PC口地址的低8位分别为01H、02H、03H, A口和B口可以工作在中断方式下,首先要求将其编程为选通I/O方式,才能提供联络信号,其次命令字中的中断允许位IEA、IEB必须为“1”。 状态寄存器保存I/O口和定时器当前的状态供单片机查询。三、用可编程接口芯片扩展8155芯片的使用 8155中定时器的使用 8155中有一个14位减1计数器,可对从Tin端输入的脉冲进行减法计数,计数终值为0。设置了两个8位寄存器,其中14位用于存放计数值,最高两位规定定时器的输出方式。 对定时器的编程:首先将计数常数及定时器输出方式写入定时器寄存器中,对定时器的启停控

13、制则是通过命令寄存器实现的。 三、用可编程接口芯片扩展8031单片机与8155的接口及简单编程 8031与8155的连接方法 如图4.28所示 三、用可编程接口芯片扩展8031单片机与8155的接口及简单编程 基本操作程序: 例如:对8155中RAM的5FH单元中送入 32H立即数,其操作程序如下: MOV A,#32H MOV DPTR,#7E5FH MOVX DPTR,A三、用可编程接口芯片扩展8031单片机与8155的接口及简单编程 基本操作程序: 例如:使8155用作I/O口和定时器工作方式,A口定义为基本输入方式,B口定义为基本输出方式,定时器作为方波发生器,对输入脉冲进行24分频(

14、8155中定时器最高计数频率为4MHZ),则8155的操作如下:MOV DPTR,#7F04H ;指向定时器低8位MOV A,#18H ;计数常数0018H24MOVX DPTR,A ;计数常数低8位装入INC DPTR ;指向定时器高8位MOV A,#40H(0100000B) ;设定定时器为连续方波输出三、用可编程接口芯片扩展8031单片机与8155的接口及简单编程 基本操作程序: 例如:使8155用作I/O口和定时器工作方式,A口定义为基本输入方式,B口定义为基本输出方式,定时器作为方波发生器,对输入脉冲进行24分频(8155中定时器最高计数频率为4MHZ),则8155的操作如下:MOV

15、X DPTR,A ;装入定时器高8位MOV DPTR,#7F00H ;指向命令口MOV A,#0C2H(1100010B) ;写入命令字,定A口为基本输入 B口为基本输出,并启动定时器MOVX DPTR,A三、用可编程接口芯片扩展应用实例 图4-29为MCS-51系统用8155的I/O作为键盘显示器的接口,下面以显示子程序为例,说明对8155的编程方法。 图4-29中A口作为扫描各显示器数位的输出口,B口作为产生相应字形代码的输出口。其地址号分别为FD01H和FD02H。C口作为键盘矩阵的列线状态输入口,其地址号为FD03H,8155控制寄存器的地址号为FD00H。扫描显示子程序流程示与图4-

16、30。图4-29 8031和8155接口的键盘、显示电路开始置初值:扫描数位初值R3 显示缓冲器首址R0扫描模式PA口要显示的数值A查找数值的字形代码相应的字形代码PB口字形代码寄存器显示1ms修正显示缓冲地址值所有数位都显示完否返回主程序NY图4-30 扫描显示子程序流程图现设要显示的数据存入地址号为30H37H的片内RAM作为显示缓冲区。采用动态扫描显示,每位显示1ms。显示子程序如下:初始化程序:OGM: MOV DPTR,#0FD00H ;控制字控制寄存器中 MOV A,#03H MOVX DPTR,A;显示子程序DIR: MOV R0,#30H ;显示缓冲区首地址30HR0 MOV R3,#01H ;扫描数位初值R3LD0: MOV A,R3 ;扫描数位PA口 MOV DPTR,#0FD01H MOVX DPTR,A INC DPTR ;B口地址DPTR MOV A,R0 ;将要显示的数据A MOV A,#0DH ;加偏移置,取得相应“09”的字形代 码PB口 现设要显示的数据存入地址号为30H37H的片内RAM作为显示缓冲区。采用动态扫描显示,每位显示1ms。显示子程序如下: MOVC A,A+PC MOVX DPTR,A ACALL DL1 ;调用延迟1ms的子程序 INC R0 ;修正显示缓冲区的地址 MOV A,

温馨提示

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

评论

0/150

提交评论