1 / 56

第 8 章 单片机的系统扩展技术

第 8 章 单片机的系统扩展技术. 8.1 程序存储器的扩展 8.2 数据存储器的扩展 8.3 I/O 口的扩展. 系统扩展的含义 单片机中虽然已经集成了 CPU 、 I/O 口、定时器、中断系统、存储器等计算机的基本部件(即系统资源),但是对一些较复杂应用系统来说 , 有时感到以上资源中的一种或几种不够用,这就需要在单片机芯片外加相应的芯片、电路,使得有关功能得以扩充,我们称为系统扩展(即系统资源的扩充)。. 所谓系统的扩展与配置一般说来有如下两项主要任务:

Download Presentation

第 8 章 单片机的系统扩展技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第8章 单片机的系统扩展技术 8.1 程序存储器的扩展 8.2 数据存储器的扩展 8.3 I/O口的扩展

  2. 系统扩展的含义 单片机中虽然已经集成了CPU、I/O口、定时器、中断系统、存储器等计算机的基本部件(即系统资源),但是对一些较复杂应用系统来说,有时感到以上资源中的一种或几种不够用,这就需要在单片机芯片外加相应的芯片、电路,使得有关功能得以扩充,我们称为系统扩展(即系统资源的扩充)。

  3. 所谓系统的扩展与配置一般说来有如下两项主要任务:所谓系统的扩展与配置一般说来有如下两项主要任务: • 第一项是扩大单片机的容量。由于芯片结构、引脚等关系,单片机内ROM,RAM等功能部件的数量不可能很多、在使用中有时会感到不够。因此需要在片外进行扩展,以满足实际系统的需要。 •     另一项是把系统所需的外设与单片机连起来,使单片机系统能与外界进行信息交换。如通过键、A/D转换器、磁带机、开关等外部设备向单片机送入数据、命令等有关信息,去控制单片机运行,通过显示器、发光二极管、打印机、继电器、音响设备等把单片机处理的结果送出去,向人们提供信息或对外界设备提供控制信号,这项任务实际上就是单片机接口设计。

  4. 8.1 程序存储器的扩展 • 单片机最小应用系统: 单片机的各种功能能满足应用系统的需要. • 例: 8051/8751 :由单片机和一些不能集成在芯片内的晶体振荡电路、复位电路、电源部分组成。应用特点是: • (1)全部I/O口线均可供用户使用。 • (2)内部存储器容量有限(只有4KB地址空间)。 • (3)应用系统开发具有特殊性。 • 8031/8032:由单片机和外接的ROM或EPOM芯片和晶体振荡电路、复位电路、电源部分组成。(如下图)

  5. 图 8.1 MCS - 51 单片机最小应用系统(8051、8751)

  6. 图 8.2 MCS - 51 单片机最小应用系统(8031、8032)

  7. 当单片机最小应用系统不能满足系统要求时,就需要扩展ROM(或EPOM)、RAM、I/O 口、D/A和A/D转换及定时/计数器等外围芯片。 一般将外部总线变成微机三总线结构形式。 MCS-51的三总线: 1)地址总线(AB): P2口提供高8位地址线(可自己 锁存) P0口提供低8位地址线(需加地址锁存器锁存低8位的地址信息,ALE正脉冲信号的下降沿控制锁存时刻)

  8. 2) 数据总线(DB): 由P0口提供,是双向、输入三态控制的通道口 3) 控制总线(CB): 扩展系统时常用的控制信号为: ALE RESET MCS-51单片机有四个I/O口,共32条口线,但由于系统扩展的需要,真正能作为数据I/O使用的就只有P1口和P3口的部分口线。 注意:所有的外部芯片都是通过这3组总线进行扩展

  9. 图5.3 MCS-51系列单片机三总线结构

  10. 8.1 单片机程序存储器的扩展 MCS-51系列单片机数据存储器和程序存储器的地址空间是相互独立的。 MCS-51系列单片机具有64K的程序存储器寻址空间,以程序计数器PC作为地址指针,通过16位地址总线寻址 如果系统需要用到的存储器超过了单片机本身具有的容量,就要进行片外程序存储器的扩展。(主要是EPROM和EEPROM)

  11. 8051/8751/89C51单片机: 内部有最低4KB地址空间的ROM,扩展后64KB内、外程序存储器的地址是统一编排的,通过对 引脚 设置来确定是访问内部还是外部程序存储器。 8031单片机: 内部无 ROM,必须外接程序存储器,地址为0000---FFFFH, 应始终接地。 注意:访问内部和外部程序存储器的指令不同 用MOVC访问外部程序存储器

  12. 有关EPROM? • EPROM(Erasable Programmable ROM,可擦除可编程ROM)芯片可重复擦除和写入,解决了PROM芯片只能写入一次的弊端。EPROM芯片有一个很明显的特征,在其正面的陶瓷封装上,开有一个玻璃窗口,透过该窗口,可以看到其内部的集成电路,紫外线透过该孔照射内部芯片就可以擦除其内的数据,完成芯片擦除的操作要用到EPROM擦除器。 • EPROM内资料的写入要用专用的编程器,并且往芯片中写内容时必须要加一定的编程电压(VPP=12—24V,随不同的芯片型号而定)。EPROM的型号是以27开头的,如2716是一片EPROM芯片。 • EPROM芯片在写入资料后,还要以不透光的贴纸或胶布把窗口封住,以免受到周围的紫外线照射而使资料受损。

  13. 2716容量: 2KB×8位 图 8.4 EPROM扩展芯片2716的引脚图

  14. 程序存储器的扩展要解决的几个问题: .程序存储器的作用——存放程序代码或常数表格 .扩展时所用芯片——一般用只读型存储器芯片(可以是 EPROM、E2PROM、 FLASH芯片等)。 .扩展电路连接——用EPROM 2716、2732等扩展程序存 储器。 .存储器地址分析——单片机输出什么地址值时,可以 指向存储器中的某一单元。

  15. 实例: 图 8.5 2716与8031的连接图

  16. 1. 地址线: P0口分时提供8位地址线A0-A7 和数据线D0-D7的信息。ALE在P0口出现地址信息时输出高电平(锁存),出现数据信息时输出低电平。 每个机器周期,P0口发两次地址、数据信息,在1个机器周期中ALE两次有效(锁存地址) P2口输出高8位地址A8-A15,在1个机器周期中更新2次 即:每个机器周期中至多允许执行两字节的指令

  17. 数据线: P0口接存储器的8位数据线D0-D7 为片选信号输入端,低电平有效,表示选中该EPROM 芯片,这里接地,表示常有效。 从而确定所扩展存储器的地址空间范围。

  18. 由图 可确定2716芯片的地址范围。方法是A10~A0从全0开始, 然后从最低位开始依次加 1, 最后变为全1, 相当于211=2 048个单元地址依次选通, 称为字选。即 地址与单元是多对一的关系

  19. 接存储器读信号 应接地 3.控制线: ALE 接至地址锁存器锁存信号 当采用8031、8032时,

  20. 5.1.3 EEPROM 的扩展 • EEPROM 是一种电擦除可编程只读存储器,掉电后信息不会丢失,+5V电源下 就可以进行编程,而且对编程脉冲宽度一般无特殊要求。EEPROM存储器主要存放数据,可在线编程,并且在断电的情况下保持修改的结果。 • 在智能化仪器仪表、控制装置等领域都普遍应用。 EEPROM 种类很多,主要有串行EEPROM 和并行EEPROM

  21. 图 8.6 2864A管脚

  22. 图 8.7 2864A与8031的接口电路

  23. 1. 地址线: P0口分时提供8位地址线A0-A7 和数据线D0-D7的信息。ALE在P0口出现地址信息时输出高电平(锁存),出现数据信息时输出低电平。 • 数据线: P0口接存储器的8位数据线D0-D7 3.控制线: ALE 接至地址锁存器锁存信号 内外程序存储器选择信号 接存储器读信号 片选信号,这里是线选法

  24. 8.2 数据存储器的扩展 8.2.1 单片机RAM概述 MCS-51单片机的内部数据存储器容量一般为128B—256B,可以作为工作寄存器、堆栈、标志和数据缓冲区使用。 对数据量较小的系统,内部RAM已足够; 当数据量较大时,就需要扩展RAM数据存储器,扩展容量最大可达64KB。 最常用的RAM器件是SRAM,与动态RAM相比,静态RAM无须考虑保持而设置的刷新电路,故扩展电路简单。但静态RAM是通过有源电路来保持存储器中的数据,因此要消耗较多的功率,价格也较高。

  25. 1. 静态RAM芯片 I/O 0~7:数据线 A0~A12:地址线 CE、CE:片选线 OE:输出使能 WE:写入使能 VCC、GND:电源 NC:未使用 图 8.9 6264 管脚图

  26. 6116、6264、62256引脚功能如下: A0~Ai :地址输入线,i=10(6116,12(6264),(62256)。 O0~O7 :双向三态数据线。 :片选信号输入线,低电平有效。6264的26脚(CE2) 为高电平,且 为低电平时才选中该片。 : 选通信号输入线,低电平有效。 :写允许信号输入线,低电平有效。 Vcc :主电源,电压为5V; GND :接地端。

  27. 2. 6264的工作方式

  28. 8.2.2 SRAM扩展实例 图 8.10 MCS - 51 数据存储器的扩展示意图

  29. 图 8.11 扩展6264 静态RAM

  30. 注意: 访问内部和外部存储器时,应分别使用MOV和MOVX指令. 外部数据存储器的两个数据区: • 低8位地址线寻址的外部数据区,寻址空间为256个字节,可通过Ri(R1或R2)8位寻址,Ri内存放外部RAM的地址号 例: MOVX A ,@Ri (读指令) MOVX @Ri , A (写指令) 若数据量不大,一般采用该寻址方式

  31. 2) 16位地址线寻址的外部数据区 当外部数据容量较大,要访问RAM单元的地址大于或等于256时,采用DPTR寄存器的16位寻址,可寻址216=64KB单元,DPTR 内存放访问的外部RAM单元的16位地址号。 例: MOVX A ,@DPTR (读指令) MOVX @DPTR , A (写指令)

  32. 8.3并行I/O口扩展 • MCS-51系列单片机有4个8位并行输入/输出口,单片机与外围设备的数据传送都是通过并行输入/输出口或串行口完成的。对于8051(或8052)/8751(或8752)来说,无须扩展外部存储器,P0口~P3口均可作为通用I/O口使用。但扩展存储器后,P2口、P0口被占用,留给用户的只有P1和P3口,而P3口是多用途口,当第二功能使用时,就不能作一般I/O口线。因此,在实际应用中,大都需要扩展I/O口。 • 用户可以把外部64KB的数据存储器的一部分作为外部I/O口的地址

  33. 8.3.1 地址译码法 • (1) 线选法扩展片外芯片 • 所谓线选法,就是利用单片机高地址总线(一般为P2口)作为存储器(或I/O口)的片选信号,即是将P2口的某一根地址线与存储器(或I/O口)的片选信号直接相连,该地址线为低电平时,选中该芯片。如图所示。 • 用 线 选 方 式 实 现 片 选

  34. 图中Ⅰ、Ⅱ、Ⅲ都是4KB×8位存储器芯片,地址线A11~A0实现片内寻址,地址空间为4KB。现用3根高位地址线A14、A13、A12实现片选,均为低电平有效。为了不出现寻址错误,当A12、A13、A14之中有一根地址线为低电平时,其余两根地址线必须为高电平,也就是说每次存储器操作只能选中一个芯片,现假设剩下的A15为高电平,这样可得到3个芯片的地址分配,如表5.3所示。图中Ⅰ、Ⅱ、Ⅲ都是4KB×8位存储器芯片,地址线A11~A0实现片内寻址,地址空间为4KB。现用3根高位地址线A14、A13、A12实现片选,均为低电平有效。为了不出现寻址错误,当A12、A13、A14之中有一根地址线为低电平时,其余两根地址线必须为高电平,也就是说每次存储器操作只能选中一个芯片,现假设剩下的A15为高电平,这样可得到3个芯片的地址分配,如表5.3所示。

  35. 线选法地址分配表(表8.3) • 从表中看出3个芯片的内部寻址A11~A0都是0~0(共12位)到1~1(共12位),为4KB空间,而依靠不同的片选信号高位地址线A14、A13、A12之中某一根为0,来区分这3个芯片的地址空间。

  36. 线选法简单,适用于不太复杂的系统。但每占用一根地址线,就占用了一段地址空间,且各地址空间不连续,不能充分利用存储空间或者存在地址重叠现象。线选法简单,适用于不太复杂的系统。但每占用一根地址线,就占用了一段地址空间,且各地址空间不连续,不能充分利用存储空间或者存在地址重叠现象。

  37. (2) 地址译码法 • 当线选法所需地址选择线多于可用地址线时,一般采用地址译码法。译码法就是利用译码器对单片机的某些高位地址线进行译码,其译码输出作为存储器(或I/O口)的片选信号。这种方法存储空间连续,能有效地利用存储空间,适用于多存储器、多I/O口的扩展。 地址译码法必须采用地址译码器,常用的地址译码器有74LS138、74LS139、74LS154、8282等。 • 例如用译码法实现扩展容量4KB×8位的存储器芯片Ⅰ、Ⅱ、Ⅲ的接口电路,接线图如下图所示。

  38. 地址线A11~A0用于片内寻址,高位地址线A14、A13、A12接到74LS138译码器的选择输入端C、B、A。 74LS138器的、、分别作为3个芯片的片选信号。

  39. 采 用全译码方式实现片选 • 根据译码器的逻辑关系和存储器的片内寻址范围,可以得到3个芯片地址空间,如表5.4。 • 译码法实现片选的地址分配表 (表8.4)

  40. 从例子中的硬件连接图中看出,单片机除了扩展存储器所需的地址线外,剩余的全部地址线都参加译码,这种译码方式称为全译码。全译码的优点是存储器芯片的地址空间连续,且唯一确定,不存在地址重叠现象,能够充分利用内存空间。从例子中的硬件连接图中看出,单片机除了扩展存储器所需的地址线外,剩余的全部地址线都参加译码,这种译码方式称为全译码。全译码的优点是存储器芯片的地址空间连续,且唯一确定,不存在地址重叠现象,能够充分利用内存空间。

  41. 扩展并行I/O口的方法主要有两种: • 一是采用单片机专用的扩展I/O接口芯片,如8155、8212、8255等; • 二是利用通用的三总线扩展三态门等接口。

  42. 图8.12

  43. 这种I/O口一般都是通过P0口扩展。由于P0口是双向数据线,图中74LS244作为输入口、74LS273作为输出口,它们都可以通过P0口输入、输出数据。这种I/O口一般都是通过P0口扩展。由于P0口是双向数据线,图中74LS244作为输入口、74LS273作为输出口,它们都可以通过P0口输入、输出数据。 输出控制信号由P2.0和 合成,当二者同时为0电平时,“或”门输出0电平,273的Q=D,数据进入273,数据锁存在Q端并输出。 输入控制信号由P2.0和 合成,当二者同时为0电平时,“或”门输出0电平,244的Q=D(直通),将外部信息输入到总线。 注意使用是P2.0(A8)必须为0。

  44. 电路可实现的功能是:按下任意键,对应的LED发光。程序如下:(MCS-51单片机把外扩I/O口和片外RAM统一编址,每个扩展的接口相当于一个扩展的外部RAM单元,访问外部接口就像访问外部RAM一样,用的都是MOVX指令)电路可实现的功能是:按下任意键,对应的LED发光。程序如下:(MCS-51单片机把外扩I/O口和片外RAM统一编址,每个扩展的接口相当于一个扩展的外部RAM单元,访问外部接口就像访问外部RAM一样,用的都是MOVX指令) LOOP: MOV DPTR,#FEFFH;数据指针指 向扩展I/O口地址 MOVX A,@DPTR ;向244读入数据,检测按键 MOVX @DPTR,A ;向273输出数据,驱动LED SJMP LOOP ;循环

  45. 8.3.2 采用Intel系列可编程接口芯片 • 完成一些较复杂的接口动作,仅靠几片74LS273、244之类的芯片已不能满足要求。必须扩展功能强的可编程接口芯片。常用的可编程芯片有:8155可编程并行接口、8255可编程并行接口、8251可编程通信接口、8253可编程间隔定时器、8279可编程键盘/显示器接口等。下面通过8255芯片说明可编程接口芯片的扩展。

  46. 一、8255A可编程并行I/O接口 1.结构 8255A由 3 个 8 位并行I/O口, 称为PA口、 PB口和PC口;数据缓冲器及读写控制逻辑电路组成。 其中PC口又分为高 4 位和低 4 位, 通过控制字设定可以选择三种工作方式: ① 基本输入/输出; ② 选通输入/输出; ③ PA口为双向总线。

  47. 8255A的内部结构图

  48. 2. 3种工作方式: 方式0(基本I/O方式): A口、B口、C口均为数据I/O。输出锁存,输入三态,不用联络信号。 适用于无条件或查询方式的数据传送。 方式1(选通I/O方式): A口和B口用于数据I/O,输入/输出均锁存, C口用于传送联络信号,读C口可了解外设当前状态。 适用于查询或中断方式的数据I/O。 方式2(双向数据传送方式): A口为数据I/O,B口无此方式,C口用作A口双向传送的联络信号线。 适用于查询或中断方式的数据I/O。

  49. 8255A的芯片引脚信号 40脚

More Related