单片机存储器扩展
- 格式:ppt
- 大小:948.00 KB
- 文档页数:70
第八章MCS-51单片机存储器的扩展第一节MCS-51单片机存储器的概述(一)学习要求1、熟悉MCS-51 单片机的系统总线及系统总线扩展结构2、掌握常用的片选方法:线选法和全地址译码法。
(二)内容提要1、三总线的扩展方法单片机内资源少,容量小,在进行较复杂过程的控制时,它自身的功能远远不能满足需要。
为此,应扩展其功能。
MCS-51单片机的扩展性能较强,根据需要,可扩展。
三总线是指地址总线、数据总线、控制总线。
1)地址总线MCS-51 单片机地址总线宽度为16 位,寻址范围为64K。
地址信号:P0 作为地址线低8 位,P2 口作为地址线高8 位。
2)数据总线MCS-51 单片机的数据总线宽度为8 位。
数据信号:P0 口作为8 位数据口,P0 口在系统进行外部扩展时与低8 位地址总线分时复用。
3)控制总线主要的控制信号有/WR 、/RD 、ALE 、/PSEN 、/EA 等。
2、系统的扩展能力MCS-51 单片机地址总线宽度为16 位,因此它可扩展的程序存储器和数据存储器的最大容量是64K(216)。
1)线选法线选法就是将多余的地址总线(即除去存储容量所占用的地址总线外)中的某一根地址线作为选择某一片存储或某一个功能部件接口芯片的片选信号线。
一定会有一些这样的地址线,否则就不存在所谓的“选片”的问题了。
每一块芯片均需占用一根地址线,这种方法适用于存储容量较小,外扩芯片较少的小系统,其优点是不需地址译码器,硬件节省,成本低。
缺点是外扩器件的数量有限,而且地址空间是不连续的。
2)全地址译码法由于线选法中一根高位地址线只能选通一个部件,每个部件占用了很多重复的地址空间,从而限制了外部扩展部件的数量。
采用译码法的目的是减少各部件所占用的地址空间,以增加扩展部件的数量。
3)译码器级连当组成存储器的芯片较多,不能用线选法片选,又没有大位数译码器时,可采用多个小位数译码器级连的方式进行译码片选.4)译码法与线选法的混合使用译码法与线选法的混合使用时,凡用于译码的地址线就不应再用于线选,反之,已用于线选的地址线就不应再用于译码器的译码输入信号.(三)习题与思考题1. 简要说明MCS-51 单片机的扩展原理。
单片机存储器扩展在单片机的应用中,常常会遇到内部存储器容量不足的情况。
这时候,就需要对单片机的存储器进行扩展,以满足系统对存储容量的需求。
单片机的存储器可以分为程序存储器和数据存储器。
程序存储器用于存储单片机运行的程序代码,而数据存储器则用于存储程序运行过程中的数据。
当单片机内部的存储器无法满足应用需求时,就需要通过外部扩展来增加存储容量。
在进行存储器扩展之前,我们需要了解单片机的存储器寻址方式。
不同的单片机可能有不同的寻址方式,但通常都包括直接寻址、间接寻址和变址寻址等。
了解寻址方式对于正确进行存储器扩展至关重要。
对于程序存储器的扩展,常用的方法是使用外部只读存储器(ROM),如 EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)等。
扩展时,需要将外部 ROM 与单片机的地址总线、数据总线和控制总线正确连接。
地址总线用于指定存储器的地址,数据总线用于传输数据,控制总线则用于控制存储器的读写操作。
以常见的 8051 单片机为例,它的地址总线为 16 位,可以寻址64KB 的存储空间。
如果要扩展 32KB 的程序存储器,我们可以选用一片容量为 32KB 的 EPROM 芯片,如 27256。
将 EPROM 的地址线 A0A14 与单片机的地址总线 A0 A14 相连,数据线 D0 D7 与单片机的数据总线 D0 D7 相连。
控制总线中的片选信号(CS)通常通过地址译码器来产生,以确保在特定的地址范围内选中该 EPROM 芯片。
在数据存储器的扩展方面,常用的是外部随机存取存储器(RAM),如静态 RAM(SRAM)和动态 RAM(DRAM)。
SRAM 速度较快,但价格相对较高;DRAM 价格较低,但需要不断刷新。
同样以 8051 单片机为例,如果要扩展 8KB 的数据存储器,可以选用一片 6264 SRAM 芯片。
连接方式与程序存储器扩展类似,地址线和数据线分别与单片机的对应总线相连。
单片机EPROM程序存储器扩展实例图为扩展8KB×8的程序存储器27C64与单片机的连接电路。
该电路也称为8031的最小系统。
要通过对这个系统的分析,把握存储器扩展电路的连接与单片机外部程序存储器操作时序的关系,即单片机的数据总线D0~D7、地址总线A0~A15和掌握信号、、ALE与外扩EPROM、74LS373的信号连接关系以及74LS373在电路中的作用。
图中74LS373是带三态输出的8D锁存器,三态掌握接地。
G端与8031的ALE连接,每当ALE下跳变时,74LS373锁存低8位地址信号,并输出供系统使用。
27C64是8KB×8位EPROM器件,有13根地址线A0~A12输入,它能区分13位二进制地址信息。
这13根地址线分别与8031的P2口和P2.0~P2.4连接,当8031系统发出13位地址信息时,分别选中27C64片内8KB存储器中的各单元。
数据线的连接:存储器的8位数据线D0~D7接P0口(P0.0~P0.7)。
单片机规定指令码和数据都由P0口读入,数位对应相连即可。
27C64的引脚为片选信号输入端,低电平有效,表示选中该27C64芯片。
该片选信号打算了27C64这块芯片的8KB存储器在整个8031扩展程序存储器64KB空间中的位置。
该系统中只有一片27C64,现将接地,表示常有效。
依据上述电路接法,27C64占有的扩展程序存储器空间为0000H~1FFFH地址空间。
掌握线的连接:(外部程序存储器取指信号)接(存储器读信号)。
ALE地址锁存允许信号,通常接至地址锁存器锁存信号。
(单片机内/外程序存储器选择信号)当采纳8031、8032时,而应接地。
此外,27C64的和Vpp端及端可组合成27C64的各种工作方式(读、待机、写即编程、校对等),图中的方式处于读和待机两种状态。
当选通信号为低电平,选通27C64,即读27C64中的程序或常数,当选通信号为高电平,即无效,则27C64处于低功耗待机状态。
单片机并行口扩展和存储器扩展
单片机并行口扩展和存储器扩展
1、单片机并行口扩展,扩展I/O口采用和数据存储器相同的寻址方式。
其方法有三种:
1)总线扩展,通过锁存器对P0口扩展,这一扩展方法只分时占用P0口,而不会影响P0口与其他扩展电路的连接作用。
2)串口扩展,通过串口的工作方式完成I/O口的扩展,多通过移位寄存器164/165实现,缺点明显,占用了串口,采用移位方式,速度较慢。
3)通过片内I/O口扩展,也就是不通过P0口而通过其他片内I/O口扩展,例如8255等。
2、单片机存储器扩展,包括程序存储器的扩展和数据存储器的扩展。
由于单片机中的程序存储器和数据存储器严格分开了,因此程序存储器扩展的操作时序有所不同,可分为执行MOVX命令和不执行两种,而数据存储器的扩展相对较为简单,扩展方法也很多。
此处不再赘述。
扩展阅读:51单片机模拟串口的三种方法。
单片机扩展电路(二)引言概述:在单片机应用中,扩展电路是必不可少的,它能够有效地提升单片机的功能和性能。
本文将介绍单片机扩展电路的设计原则和一些常用的扩展电路,旨在帮助读者更好地理解和应用单片机的扩展电路。
正文内容:一、IO扩展电路1. 使用74HC595芯片进行8位输出扩展2. 使用PCF8574芯片进行8位输入扩展3. 使用双向移位寄存器实现输入输出模式切换4. 使用IO扩展板实现大量IO口的扩展5. 使用IO扩展芯片实现I2C总线扩展二、ADC和DAC扩展电路1. 使用ADC0804芯片进行模拟量采集2. 使用MAX11615芯片进行多通道模拟量采集3. 使用DAC0832芯片进行模拟量输出4. 使用R-2R网络实现更高精度的模拟量输出5. 使用PWM信号和低通滤波器实现模拟量输出三、串口扩展电路1. 使用MAX232芯片进行RS232电平转换2. 使用USB转串口模块实现USB接口扩展3. 使用蓝牙模块实现无线串口扩展4. 使用WiFi模块实现无线串口扩展5. 使用以太网模块实现网络串口扩展四、定时器和计数器扩展电路1. 使用74HC161芯片进行多位计数2. 使用74HC4040芯片进行二进制计数3. 使用CD4541B芯片进行定时器功能扩展4. 使用定时器模块实现精确的时间测量5. 使用定时器和中断实现实时时钟功能五、存储器扩展电路1. 使用24CXX系列芯片进行I2C存储器扩展2. 使用AT24C256芯片进行大容量存储器扩展3. 使用SD卡进行存储器扩展4. 使用EEPROM芯片进行非易失性存储器扩展5. 使用Flash芯片进行可擦写存储器扩展总结:单片机扩展电路的设计具有很大的灵活性,可以根据具体应用需求选择不同的扩展电路。
本文对IO扩展电路、ADC和DAC扩展电路、串口扩展电路、定时器和计数器扩展电路以及存储器扩展电路进行了详细介绍,希望读者能够通过学习掌握单片机扩展电路的设计方法和应用技巧,为自己的项目开发提供更多的选择和可能性。