《并行口扩展技术》PPT课件.ppt_第1页
《并行口扩展技术》PPT课件.ppt_第2页
《并行口扩展技术》PPT课件.ppt_第3页
《并行口扩展技术》PPT课件.ppt_第4页
《并行口扩展技术》PPT课件.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

第七章 MCS-51并行口的扩展,MCS51单片机内部有4个并行口,当内部并行口不够用时可以外扩并行口芯片。可外扩的并行口芯片很多,分成2类:不可编程的并行口芯片(74LS3734和74LS245)和可编程的并行口芯片(8255)。 7.1 不可编程并行口芯片的扩展 7.2 可编程并行口芯片的扩展,7.1.1 74LS373的扩展 7.1.2 74LS245的扩展,7.1 不可编程并行口芯片的扩展,1、 74LS373的结构 2、 74LS373的引脚 3、 74LS373与89C51的连接,7.1.1 74LS373的扩展,连接图,D,CP,Q,D,CP,Q,D,CP,Q,D,CP,Q,D,CP,Q,D,CP,Q,D,CP,Q,D,CP,Q,D0,D1,D2,D3,D4,D5,D6,D7,Q0,Q1,Q,Q3,Q4,Q5,Q6,Q7,LE,OE,思考,ALE,RD,WR,PSEN,P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7,89C51,P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7,A0,A1,A2,A3,A4,A5,A6,A7,OE,LE,D0,D1,D2,D3,D4,D5,D6,D7,74LS373,DB,AB,CB,OE,D0,D7,74LS373,AB15,AB0,AB15,地址码的计算,LE,74LS373与89C51的连接图,+,Q7,Q6,Q5,Q4,Q3,Q2,Q1,Q0,计算74LS373的地址(8051送出何种地址码时可以将数送到Q端) P27 P26 P25 P24 P23 P22 P21 P2 0 P07 P06 P05 P04 P03 P02 P01 P00 AB15AB14 AB13 AB12 AB11 AB10 AB9 AB8 AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0 0 * * * * * * * * * * * * * * *,ALE,RD,WR,PSEN,P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7,89C51,P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7,A0,A1,A2,A3,A4,A5,A6,A7,OE,LE,D0,D1,D2,D3,D4,D5,D6,D7,74LS373,DB,AB,CB,OE,D0,D7,74LS373,AB15,AB0,AB15,LE,思考:2片74LS373与89C51的连接图,+,Q7,Q6,Q5,Q4,Q3,Q2,Q1,Q0,OE,D0,D7,74LS373,LE,+,Q7,Q6,Q5,Q4,Q3,Q2,Q1,Q0,计算74LS373的地址(8051送出何种地址码时可以将数送到Q端) P27 P26 P25 P24 P23 P22 P21 P2 0 P07 P06 P05 P04 P03 P02 P01 P00 AB15AB14 AB13 AB12 AB11 AB10 AB9 AB8 AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0 0 1 * * * * * * * * * * * * * * 1 0 * * * * * * * * * * * * * *,AB14,1、 74LS245的结构 2、 74LS245的引脚 3、 74LS245与89C51的连接,7.1.2 74LS245的扩展,连接图,B0,A0,思考,B1,A1,B2,A2,B3,A3,B4,A4,B5,A5,B6,A6,B7,A7,+,+,E,DIR,ALE,RD,WR,PSEN,P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7,89C51,P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7,A0,A1,A2,A3,A4,A5,A6,A7,OE,LE,D0,D1,D2,D3,D4,D5,D6,D7,74LS373,DB,AB,CB,DIR,B0,B7,74LS245,AB15,AB0,AB15,地址码的计算,E,74LS245与89C51的连接图,+,A7,A6,A5,A4,A3,A2,A1,A0,计算74LS245的地址(8051送出何种地址码时可以将数由A端传到B端) P27 P26 P25 P24 P23 P22 P21 P2 0 P07 P06 P05 P04 P03 P02 P01 P00 AB15AB14 AB13 AB12 AB11 AB10 AB9 AB8 AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0 0 * * * * * * * * * * * * * * *,ALE,RD,WR,PSEN,P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7,89C51,P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7,A0,A1,A2,A3,A4,A5,A6,A7,OE,LE,D0,D1,D2,D3,D4,D5,D6,D7,74LS373,DB,AB,CB,DIR,B0,B7,74LS245,AB15,AB0,AB15,E,思考:2片74LS245与89C51的连接图,+,A7,A6,A5,A4,A3,A2,A1,A0,DIR,B0,B7,74LS245,E,+,A7,A6,A5,A4,A3,A2,A1,A0,计算74LS245的地址 P27 P26 P25 P24 P23 P22 P21 P2 0 P07 P06 P05 P04 P03 P02 P01 P00 AB15AB14 AB13 AB12 AB11 AB10 AB9 AB8 AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0 0 1 * * * * * * * * * * * * * * 1 0 * * * * * * * * * * * * * *,AB14,7.2.1 8255的结构 7.2.2 8255的引脚 7.2.3 8255的工作方式 7.2.4 8255的控制字 7.2.5 8255的应用,7.2 可编程并行口芯片的扩展(8255),8255有三个并行的8位I/O接口,分别称为A口、B口、C口。也就是说,扩展一片8255则可扩展24位并行端口。,7.2.1 8255的结构,数据 总线 缓冲器,读写 控制 逻辑,A组 控制,B组 控制,口A,口C 高4,口C 低4,口B,D0D7,RD,WR,CS,A0,A1,RESET,PA0PA7,PB0PB7,PC4PC7,PC0PC3,7.2.1 8255的结构,数据 总线 缓冲器,读写 控制 逻辑,A组 控制,B组 控制,口A,口C 高4,口C 低4,口B,D0D7,RD,WR,CS,A0,A1,RESET,PA0PA7,PB0PB7,PC4PC7,PC0PC3,8位的双向的三态缓冲器。作为8255A与系统总线连接的界面,输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。,7.2.1 8255的结构,数据 总线 缓冲器,读写 控制 逻辑,A组 控制,B组 控制,口A,口C 高4,口C 低4,口B,D0D7,RD,WR,CS,A0,A1,RESET,PA0PA7,PB0PB7,PC4PC7,PC0PC3,读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片选信号及系统读信号、写信号、复位信号RESET,还有来自系统地址总线的口地址选择信号A0和A1。,7.2.1 8255的结构,数据 总线 缓冲器,读写 控制 逻辑,A组 控制,B组 控制,口A,口C 高4,口C 低4,口B,D0D7,RD,WR,CS,A0,A1,RESET,PA0PA7,PB0PB7,PC4PC7,PC0PC3,这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。,A组控制电路用来控制A口及C口的高4位。 B组控制电路用来控制B口及C口的低4位。,7.2.1 8255的结构,数据 总线 缓冲器,读写 控制 逻辑,A组 控制,B组 控制,口A,口C 高4,口C 低4,口B,D0D7,RD,WR,CS,A0,A1,RESET,PA0PA7,PB0PB7,PC4PC7,PC0PC3,A口是一个独立的8位I/O口,它的内部有对数据输入/输出的锁存功能。,C口可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口。也是仅对输出数据进行锁存。,B口也是一个独立的8位I/O口,仅对输出数据的锁存功能。,7.2.2 8255的引脚,数据 总线 缓冲器,读写 控制 逻辑,A组 控制,B组 控制,口A,口C 高4,口C 低4,口B,D0D7,RD,WR,CS,A0,A1,RESET,PA0PA7,PB0PB7,PC4PC7,PC0PC3,8255与89C51的连接图,7.2.2 8255的引脚,数据 总线 缓冲器,读写 控制 逻辑,A组 控制,B组 控制,口A,口C 高4,口C 低4,口B,D0D7,RD,WR,CS,A0,A1,RESET,PA0PA7,PB0PB7,PC4PC7,PC0PC3,D0-D7:8位,双向,三态数据线,用来与系统数据总线相连。,RD:读信号,输入,控制8255将数据或控制信息送到CPU。,WR:写信号,输入,控制CPU将数据或状态信息送到8255A。,CS:片选,输入,用来决定芯片是否被选中。,A1,A0:内部口地址的选择,输入。这两个引脚上的信号组合决定对8255A内部的哪一个口或寄存器进行操作。,RESET:复位信号,高电平有效,输入,用来清除8255A的内部寄存器,并置A口,B口,C口均为输入方式。 注意:8255工作之前,硬件上必须先复位,使8255内部的各个部件处于待命状态。,8255A的操作功能表,7.2.2 8255的引脚,数据 总线 缓冲器,读写 控制 逻辑,A组 控制,B组 控制,口A,口C 高4,口C 低4,口B,D0D7,RD,WR,CS,A0,A1,RESET,PA0PA7,PB0PB7,PC4PC7,PC0PC3,PA0PA7:A组数据信号,用来连接外设。,PB0PB7:B组数据信号,用来连接外设。,PC0PC7:C组数据信号,用来连接外设或者作为控制信号。,8255 与 89C51 的 连 接 图,ALE,RD,WR,PSEN,P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7,89C51,P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7,A0,A1,A2,A3,A4,A5,A6,A7,OE,LE,D0,D1,D2,D3,D4,D5,D6,D7,74LS373,DB,AB,CB,AB0,AB15,AB12,AB1,AB0,D0D7,RD,WR,CS,A0,A1,RESET,AB15,8255,PA0PA7,PC0PC7,PB0PB7,各端口地址码的计算,89C51送出何种地址码时选中端口 P27 P26 P25 P24 P23 P22 P21 P2 0 P07 P06 P05 P04 P03 P02 P01 P00 AB15AB14 AB13 AB12 AB11 AB10 AB9 AB8 AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0 口A 0 * * * * * * * * * * * * * 0 0 口B 0 * * * * * * * * * * * * * 0 1 口C 0 * * * * * * * * * * * * * 1 0 控制 0 * * * * * * * * * * * * * 1 1,8255A的操作功能表,WR、RD、CS、A1、A0这几个信号的组合决定了8255A的所有具体操作:,7.2.3 8255的工作方式,8255A有三种工作方式: 方式0简单输入/输出查询方式;A,B,C三个端口均可。 最为常用。 方式1选通输入/输出中断方式;A ,B,两个端口均可。 方式2双向输入/输出中断方式。只有A端口才有。 注意:工作方式的选择可通过向控制端口写入方式控制字来实现。,方式0,方式0为一种简单的输入/输出方式,没有规定固定的应答联络信号,可用A,B,C三个口的任意一位充当查询信号,其余I/O口仍可作为独立的端口和外设相连。 即:PA0PA7,PB0PB7,PC0PC7均可作为I/O线使用,没有限制一定传送什么信号;口A、口B、口C高4位和口C低4位可以分别设定为输入口或输出口。 方式0的应用场合有两种:一种是无条件传送;一种是查询传送。,D0D7,RD,WR,CS,A0,A1,RESET,8255,PA0PA7,PC0PC7,PB0PB7,+5V,STB,BUSY,微型打印机,D0D7,方式1,方式1是一种选通I/O方式,A口和B口仍作为两个独立的8位I/O数据通道,可单独连接外设,通过编程分别设置它们为输入或输出。而C口则要有6位(分成两个3位)分别作为A口和B口的应答联络线,其余2位仍可工作在方式0,可通过编程设置为输入或输出。即:口A和口B作为数据口使用;口分成C高4位和口C低4位,分别配合口A和口B工作,此时口C高4位和口C低4位分别作为口A和口B的状态口,口C的某些引脚规定为传送状态信号,不能作I/O口线使用,传送任意信号。 方式1主要用于中断应答式数据传送,也可用于连续查询式数据传送。输入和输出时8255与外围设备的连接方式不同,数据传送过程也不同。,D0D7,RD,WR,CS,A0,A1,RESET,8255,PA0PA7,PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7,PB0PB7,+5V,STB,BUSY,微型打印机,D0D7,A、B通道工作于方式1时引脚规定,当A、B通道作为输入通道时,PC0PC7的功能分配如图a所示。 STB为外设向8255提供的输入选通信号,当外设数据准备好,并稳定在数据线后,向输入低电平信号,8255必须在收到的下降沿后,才把数据线上外围设备的信息输入端口锁存器。 IBF为端口锁存器满/空标志线。IBF有效,表明输入缓冲器已满。IBF是8255向外设输出的信号,高电平表示端口缓冲器已满,等待CPU读取,只有在CPU读取之后,上升沿使IBF为低电平,表示数据已读完,才允许外设继续送数。 INTR为中断请求信号。高电平有效,由8255发出。在中断允许的条件下,当=1和IBF=1时,INTR被置1,发出中断请求。,当A、B通道作为输出通道时,PC0PC7的分配如图b所示。 OBF为输出缓冲器已满标志,也是8255向外设输出的信号,低电平有效,表示CPU已将数据装入8255端口的输出缓冲器中,通知外设可以取数。CPU向8255写入数据后,在WR的上升沿时使OBF变为低电平。 ACK为外设向8255提供的输入应答信号,外设把端口数据取走之后,为低电平,表示外设已取走数据,CPU可以再送新的数据。,方式2,方式2为双向选通I/O方式,只有A口才有此方式。这时,C口有5根线用作A口的应答联络信号,其余3根线可用作方式0,也可用作B口方式1的应答联络线。 方式2就是方式1的输入与输出方式的组合,各应答信号的功能也相同。而C口余下的PC0PC2正好可以充当B 口方式1的应答线,若B口不用或工作于方式0,则这三条线也可工作于方式0。 按方式2工作时,A口既可工作于查询方式,又可工作于中断方式。 A通道工作于方式2时PC0PC7的功能,A通道工作于方式2时PC0PC7的功能,当A通道工作于方式2时,PC0PC7的功能分配如图所示。图中各功能的含义与工作方式1时的含义一样。由于只有A通道才能工作于方式2,所以所有的应答联络线都是与A通道配合的。 8255的C口专用功能见下表:,7.2.4 8255的控制字,8255的控制字存于控制字寄存器中。 8255有2个控制字:方式控制字和口C按位置/复位控制。 1、方式控制字 方式控制字决定了8255的工作方式。8255工作之前软件上必须初始化,即将方式控制字写入控制字寄存器中,以指定端口的工作方式。 2、口C的按位置/复位控制字 只有C口才有,它是通过向控制口写入按指定位置位/复位的控制字来实现的。C口的这个功能可用于设置方式1的中断允许,可以设置外设的启/停等。 3、8255的初始化 8255是可编程的接口芯片,在使用8255之前,硬件上必须复位,即给RESET端送一个高电平;软件上必须初始化,即向8255写入方式控制字,以确定8255的工作方式。,方式控制字,方式控制字决定了8255的工作方式。8255工作之前软件上必须初始化,即将方式控制字写入控制字寄存器中,以指定端口的工作方式。 8255A的控制字格式与各位的功能如图所示。,标志位,D7,A组控制,D6,A口,D5,C口高4,D4,B组控制,D3,A组控制,D2,B口,D1,C口低4,D0,D7:标志位。D7=1 D6、D5:A组工作方式选择。 0 0 口A和口C高4工作于方式0 0 1 口A和口C高4工作于方式1 1 口A工作于方式2 D4:D4=0 口A为输出口; D4=1 口A为输入口。 D3:D3=0 口C高4为输出口; D3=1 口C高4为输入口。 D2: B组工作方式选择。 0 口B和口C低4工作于方式0 1 口B和口C低4工作于方式1 D1:D1=0 口B为输出口; D4=1 口B为输入口。 D0:D0=0 口C低4为输出口; D3=1 口C低4为输入口。,例 某系统要求使用8255A的A口方式0输入,B口方式0输出,C口高4位方式0输出,C口低4位方式0输。 解:控制字为: 10010001 即91H 初始化程序为: MOV A, # 91H MOV DPTR,#0023H MOVX DPTR,A,口C按位置/复位控制字,口C按位置/复位控制字只有C口才有,它是通过向控制口写入按指定位置位/复位的控制字来实现的。C口的这个功能可用于设置方式1的中断允许,可以设置外设的启/停等。 8255A的口C按位置/复位控制字格式与各位的功能如图所示。,标志位,D7,*,D6,*,D5,C 口,D4,引 脚,D3,*,D2,选 择,D1,置1/清0,D0,D7:标志位。D7=0 D6、D5、D4:未使用。 D3、D2、D1:C口引脚选择。 0 0 0 选中PC0 0 0 1 选中PC1 0 1 0 选中PC2 0 1 1 选中PC3 1 0 0 选中PC4 1 0 1 选中PC5 1 1 0 选中PC6 1 1 1 选中PC7 D0:D0=0 选中的C口引脚输出0,D0=1 选中的C口引脚输出1。,例:PC6置1,其余位不变 解:控制字为: 00001101 即0DH 写入口C按位置/复位程序为: MOV A, # 0DH MOV DPTR,#0023H MOVX DPTR,A,8255初始化,8255是可编程的接口芯片,在使用8255之前,硬件上必须复位,即给RESET端送一个高电平;软件上必须初始化,即向8255写入方式控制字,以确定8255的工作方式。 例如:用8255作接口芯片,控制24个发光二极管。在编写驱动程序时,程序的前面一段8255的初始化程序。根据题意初始化程序如下: MOV DPTR,#2003H MOV A,#80H MOVX DPTR,A 例 设8255的地址为80FCH-80FFH,如果 8255的PA0-PA7接1个数码管,PC3接一个 蜂鸣器,PC4接一个开关,试对8255初始化。 例 某系统要求使用8255A的A口方式0输入, B口方式0输出,C口高4位方式0输出,C口 低4位方式0输入。 练习:设8255的口地址为4000H-4003H, 口A、口B、口C均为输入方式,方式0, 试对8255初始化。,MOV DPTR,#80FF H MOV A,#88H MOVX DPTR,A,MOV DPTR,#80FF H MOV A,#88H MOVX DPTR,A,MOV DPTR,#80FF H MOV A,#88H MOVX DPTR,A,7.2.5 8255的应用,当单片机内部并行口不够用时,常常外扩8255芯片。下面举例说明8255与外设的连接以及驱动程序的编制。,流水灯,计数器,例 用8255作接口实现如下功能:24个发光二极管轮流点亮。,流水灯,ALE,RD,WR,PSEN,P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7,89C51,P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7,A0,A1,A2,A3,A4,A5,A6,A7,OE,LE,D0,D1,D2,D3,D4,D5,D6,D7,74LS373,AB,CB,AB0,AB15,AB12,AB1,AB0,D0D7,RD,WR,CS,A0,A1,RESET,AB15,8255,PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7,PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7,PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7,程 序,MOV DPTR,#0003H MOV A,#80H MOVX DPTR,A UP2

温馨提示

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

评论

0/150

提交评论