文档详情

IO接口扩展电路设计

新**
实名认证
店铺
DOC
43.01KB
约8页
文档ID:463637771
IO接口扩展电路设计_第1页
1/8

I/O接口扩展电路设计    8051系列单片机如果系统不做任何扩展,P0~P3接口可做I/O接口使用只要稍微扩展系统,P0、P2接口则被用为地址线P0接口还兼做数据线,P3接口常被专用线占用,只有Pl接口可做I/O接口一个实际系统,只有8位I/O接口往往是不够用的,所以I/O接口也需要扩展本节重点介绍I/O接口扩展方法及应用实例     I/O接口扩展方式主要有两种:总线扩展法和串行口扩展法总线扩展又可分为简单I/O接口扩展和可编程I/O接口扩展    扩展I/O接口常用芯片有TTL、CMOS锁存器、三态门芯片,如74系列的373、244、273、367等,这些常用来扩展简单I/O接口可编程芯片常用8255、8155等,利用程序对芯片进行设置,软硬件结合实现对I/O接口的扩展 简单I/O接口扩展    在单片机应用系统中,利用TTL芯片、COMS锁存器、三态门等接口芯片把P0接口扩展,常选用74LS273、74LS373、74LS244等芯片这些芯片价格低,结构简单,使扩展灵活方便如图6-7所示是一个利用74LS273和74LS244,将8位P0接口扩展成简单的输入、输出口的电路74LS273是8D锁存器扩展输出口,输出端接8个LED发光二极管,以显示开关状态,某位低电平时二极管发光。

74LS244是缓冲驱动器,扩展输入口,它的8个输入端分别接8个按钮开关74LS273与74LS244的工作受P2.0、RD、WR三条控制线控制其工作原理如下当P2.0=0,WR=0(RD=1)选中74LS273芯片,CPU通过P0接口输出数据锁存到74LS273,74LS273的输出端低电平位对应的LED发光二极管点亮;当P2.0=0,RD=0(WR=1)时选中74LS244,此时若无键按下,输入全为高电平,当某键按下时则对应位输入为“0”,74LS244的输入端不全为“1”,其输入状态通过P0接口数据线被CPU读入机内总之,在图6-7中只要保证P2.0端低电平就有可能使扩展输入口或输出口工作至于哪一个口工作受WR和RD控制线控制,二者不会同时为“0”,故在图6-7中,两个扩展芯片可共用一个地址扩展口地址确定原则,只要保证P2.0为“0” 其他地址位或“0”或“1”即可如地址用FEFFH(无效位全为“1”),用0000H(无效位全为“0”)输出程序段:MOV   A,  #data            ;数据→AMOV   DPTR, #0FEFFH        ;I/O地址→DPTRMOVX   @DPTR, A             ;WR为低电平,数据74LS273口输出输入程序段:MOV  DPTR, #OFEFFH          ;I/O地址→DPTRMOVX  A, @DPTR            ;RD为低电平,74LS244接口数据读入内部RAM例 要求编程把按键状态通过图6-7中的发光二极管显示出来。

程序LP:  MOV   DPTR, #0FEFFH       ;输入口地址→DPTR      MOV   A, @DPTR            ;键状态送 A      MOVX   @DPTR, A           ;A 数据送显示输出口      SJMP    LP                  ;(输入、输出公用一个地址)反复连续执行8255可编程并行I/O接口扩展与电路设计8255 是一个单片机系统常用的可编程芯片,利用指令设置各口的工作方式为了对8255合理设置,灵活应用,有必要了解他的内部结构及工作原理1.8255内部结构及引脚功能8255是一个有40引脚双列支插型可编程芯片,内部及引脚如图6-8所示由图6-8可见,8255内部有3个并行的8位I/O接口,分别称为A口、B口、C口扩展一片8255则可扩展24位并行端口引脚功能介绍如下:(1) 接口线A、B、C 3个I/O接口的引线端分别为:PA0~PA7、PB0~PB7、PC0~PC7共24条端线3个口皆为锁存/缓冲寄存器,A口、B口有锁存功能,C口无锁存功能A、B、C 3口的工作方式由程序设置A口可设置为输入或输出或双向方式工作。

B口只能设置为输入或输出,不能双向方式工作C口可设置为输入或输出口它的特点是可分成高、低两个4位使用上半部PC4~PC7与A口组成一组叫A组;下半部PC0~PC3与B口组成一组为B组,便于控制    (2) 数据线8255是8位芯片,有8位数据线D0~D7数据线接于8051的P0接口,用以实现8255与CPU之间的数据传送3) 控制线控制线控制8255的读、写、复位及片选等RD:读入控制线,低电平有效,当其为低电平时CPU对8255进行读操作,此时8255相应口为输入口WR:输出控制线,低电平有效,当WR为低电平时,CPU输出数据或命令到8255端口,此时8255相应口为输出口RESET:复位端,高电平有效,8255内部寄存器全清0,24条I/O口线为高阻状态CS:片选线,当CS为低电平时,CPU选中此8255芯片4) 地址线8255共占用4个口地址,为A、B、C口及控制口地址这4个地址之间的选择由A0、A1两端口线控制A0、A1通常接于单片机的地址线最低两位P0.O、P0.1,二者组合决定了4个端口地址,口地址选择方式如下:A1A0=00,选择A口;A1A0=01,选择B口;A1A0=10,选择C口;A1A0=11,选择控制口。

 除这两位外,其他位状态还与硬件接线有关,各口具体地址,结合实际电路才能确定2.方式选择及方式控制字(1) 8255工作方式8255有3种工作方式:方式0、方式1,方式2方式0时,A、B、C三口都可作基本的输入或输出口;方式1时,A、B口可作选通输入或输出,C口部分作专用联络线;方式2时,A口为双向口,C口部分为专用联络线,B口无此方式8255的C口专用功能如表6-3所列                                                  (2) 方式选择    8255的方式选择由方式控制字决定方式控制字是8255内部方式控制寄存器的状态字,它由指令写入控制寄存器中A、B、C口控制位为“1”,对应口为输入方式,若为“0”则为输出方式例如,控制字状态为10010101B,表示A组为方式0(D6D5=00),A口为输入方式(D4=1),C口上半部为输出方式(D3=0);B组方式1(D2=1)中,B口为输出(D1=0),C口下半部为输入方式(D0=1)D7=0只能对C口位操作,位操作内容由控制寄存器相应位状态决定例如,若控制字为01H,即控制寄存器格式为00000001B,表示C口位操作(D7=0),将PC0位置“1”(D3D2D1=000,DO=l置“1”),同理若控制字为0EH则把C口最高位PC7置“0”即复位。

8255扩展电路及地址设置    如图6-9所示是8051单片机扩展一片8255的电路图图中,74LS373是地址锁存器8255的地址线AI、A0经74LS373接于P0.1、P0.0;片选端CS经74LS373与P0.7接通,其他地址线悬空;8255的控制线RD、WR直接接于8051的RD和WR端;数据线DB接于P0口1.8255地址口确定图6-9中8255只有3根线接于地址线片选CS、地址选择端A1、A0分别接于P0.7,P0.1、P0.0其他地址线全悬空显然只要保证P0.7为低电平时,选中该8255,若P0.1、P0.0再为“00”选中8255的A口,同理P0.1、P0.0为“01”、“10”、“11”分别选中B口、C口及控制口若地址口用16位表示,其他无用端全设为“1”,则8255的A、B、C及控制口地址分别可为 FF7CH、FF7DH、FF7EH、FF7FH,无用位为“0”则4个地址为0000H、0001H、0002H、0003H,只要保证CS、A1、A0的状态,无用位设为“0”或“1”无关掌握了确定地址的方法,使用者可灵活选择地址    2.8255初始化    使用8255芯片时,首先要对它初始化。

所谓初始化,也就是对8255的3个端口的工作方式预先设置设置控制字经控制口写入    例如图6-9电路,欲设置8255的A、B、C口全为输出状态,控制字为80H程序:MOV  DPTR, #0003H     ;8255控制口地址→DPTRMOV  A, #80H          ;控制字送AMOVX  @DPTR, A        ;控制字写入控制寄存器    利用这几条指令对8255初始化后,A、B、C 3个口才能作为输出口使用当然改变控制字,则可改变3个端口的工作方式8155可编程I/O接口扩展设计8155可编程接口芯片与8255的使用方法类似,只是二者在结构与功能上有所不同1.8155结构及引脚    8155 内部也有3个I/O接口A、B、C口,与8255的主要区别是C口只有6位,I/O接口共22位,比8255多一个14位可编程定时/计数器,还多256B的静态RAM8155共40引脚,双列直插式封装,如图6-10所示1) I/O接口线PA0~PA7,PB0~PB7,PC0~PC5分别为A、B、C 3个I/O接口引线端A、B、C口多用于与外设之间的数据传送;C口还可以作为A、B口的控制线。

2) 地址数据线    8155的低8位地址线和数据线共用AD0~AD7,故称为地址数据线当ALE=1时,输入的是地址信息,否则是数据信息当与8051单片机连接时,ALE下降沿到,将P0接口输出的低8位地址信息及CE、IO/M状态都锁存到8155内部寄存器因此8155的AD0~AD7直接与P0接口相联,低8位地址不需要外接锁存器,这点与8255不同3) 控制线 ALE:地址锁存线ALE=1表示给8155输入的是地址信息,当ALE下降沿时,把地址锁存到8155中IO/M:RAM与I/O接口的选择线IO/M=0选中8155内部RAM区,IO/M=1 选择3个I/O接口、定时/计数器和命令寄存器CE:片选线,RD:读控制线,WR:写控制线    TIMERIN:定时/计数器外部脉冲输入端TIMEROUT:定时/计数器输出端2. 8155功能及操作    8155具有3种功能,下面介绍具体操作    (1) 作I/O接口使用IO/M=1时8155作I/O接口使用各口的工作方式通过内部控制寄存器设置8155工作于I/O口时,各方式具体功能如表6-4所列  表6-4 8155 I/O接口工作方式及功能    PC2 PC1 方式 功  能    0  0 方式1 A、B口定义为基本输入/输出口;C口为输入口    1  1 方式2 A、B口定义为基本输入/输出口;C口为输入口    0  1 方式3 A口为选通输出,B口基本输入/输出PC3~PC5输出,PC0~PC2作A口选通控制PC0;AINTR,PC1,ABF,PC2,ASTB    1  0 方式4 A口、B口都作为选通输入/输出方式PC0~PC2控制A口,同方式3PC3~PC5控制B口,PC3;BINTR,PC4:BBFPC5:BSTB  2)状态寄存器格式8155有一个状态寄存器,它锁存I/O接口和定时器当前状态供单片机查询。

状态寄存器和控制寄存器共用一个地址,所不同的是状态寄存器只能。

下载提示
相似文档
正为您匹配相似的精品文档