MCS |
您所在的位置:网站首页 › ram芯片的引脚 › MCS |
外部扩展的基本知识
片内的资源如不满足需要,需外扩存储器和I/O功能部件。 系统扩展主要内容有: (1)外部存储器的扩展(外部RAM、ROM) (2)I/O接口部件的扩展 最小应用系统:晶振、复位系统、程序存储器和I/O口。 ![]() MCS-51单片机外部存储器结构:哈佛结构:程序空间与数据空间是分开的。 MCS-51 RAM和ROM的最大扩展空间各为64KB。 系统扩展首先要构造系统总线。 按功能吧系统总线分为三组: 地址总线(Address Bus,简写AB) 数据总线(Data Bus,简写DB) 控制总线(Control Bus,简写CB) 系统总线:是连接计算机各部件的一组公共信号线,MCS51的系统总线可分为地址总线、数据总线和控制总线。 地址总线:它是用来传输单片机所发出的地址信号,以便进行存储单元和I/O端口的选择。地址总线的数目决定着可直接访问的存储单元及I/O端口的数目。 数据总线:单片机与存储单元及I/O口之间传输数据信号。 控制总线:是一组控制信号线,包括单片机发出的也包括从外部存储单元或者I/O端口发送给单片机的。 优点:总线结构大大减小了单片机系统中传输线的数目,增加了系统的可靠性。 ![]() ![]() 以P0口作为数据总线(8位)。 以P0口经8位锁存器锁存后的信号作为地址总线的低8位。 以P2口作为地址总线高8位。 控制信号线。 *ALE-------低8位地址锁存信号 *PSEN*----扩展程序存储读选通信号 *EA*-------内外程序存储器选择信号 *RD*和WR*-----扩展RAM和I/O口的读选通、写选通信号。 优点:串行接口器件体积小,与单片机接口时需要的I/O口线少,可靠性提高。 缺点:串行接口器件速度较慢。 存储器扩展的读写控制RAM芯片:读写控制引脚OE*和WE*,与MCS51的RD*和WR*引脚相连。 EPROM芯片:只有读出引脚OE*,与MCS51的PSEN*引脚相连。 存储器分类介绍只读存储器 --ROM --PROM --EPROM 可读写存储器 --SRAM静态数据存储器(不断电的情况下可一直保存数据) --DRAM动态数据存储器(需要不断定时刷新才能保存数据) 不挥发性读写存储器 --E²PROM --NOVRAM:不挥发随机访问存储器,如背装锂电池的SRAM(当有外部电源时切换到外部电源,没有外接电源时切换到电池) 特殊存储器: --加密型ROM:双端口RAM;先进先出RAM; --快擦写型存储器 程序存储器扩展所使用的芯片采用只读存储器,非易失性。 (1)掩膜ROM:在制造过程中编程,值适合于大批量生产。 (2)可编程ROM(PROM):用独立的编程器写入,只能写入一次。 (3)EPROM:电信号编程,紫外线擦除的只读存储器芯片。 (4)E²PROM(EEPROM):电信号编程,电擦除。读写操作与RAM相似,写入速度稍慢。断电后能够保存信息。 (5)Flash Rom:又称闪烁存储器,简称闪存。电改写,电擦除,读写速度快(70ns),读写次数多(1万次)。 常用EPROM介绍2764 (8KB * 8) 27128 (16KB * 8) 27256 (32KB * 8) 27512 (64KB * 8) 27后面的数字表示其位存储量。扩展程序存储器时,应尽量用大容量的芯片。 常用的EPROM芯片引脚功能如下: A0~A15:地址线引脚。数目决定存储容量。 D7~D0:数据线引脚。 CE*:片选输入端。 OE*:输出允许控制端。 PGM*:编程时,加编程脉冲的输入端。 Vpp:编程时,编程电压(+12V或+25V) Vcc:+5V,芯片的工作电压。 GND:数字地。 NC:无用端。 ![]() (1)读出方式 片选控制线CE为低,输出允许OE为低,Vpp为+5V,指定地址单元的内容从D7~D0上读出。 (2)未选中方式 片选控制线为高电平。 (3)编程方式 Vpp端加规定高压,CE*和OE*端加合适电平,就能将数据线上的数据写入到指定的地址单元。 (4)编程校验方式 (5)编程禁止方式 输出呈高阻状态,不写入程序。 3. EPROM使用的一点注意事项工作电压为5V,但不同厂家的芯片编程电压会有所不同。 存储器的扩展方法扩展存储器即分配地址空间给每个芯片,注意要避免地址和数据的冲突。 芯片的片选端口为避免数据的冲突提供了方便,如何通过MCS51的地址线产生片选信号是避免地址冲突的有效途径。 片选控制 --线选法适用于系统芯片数目较少 利用高端地址线(未用到的地址线)直接作为外扩芯片的片选线,线路简单 地址空间有重叠,即同一存储空间可能对应多个地址 --译码选通法适用于多片存储器扩展 高端地址线经译码器译码后作为存储器片选线,线路需增加译码器芯片 地址空间连续,存储芯片空间对应地址唯一。 芯片译码选通法的分类全译码方式:所有片选地址线(高端地址线)全部参加译码。 部分译码方式:片选地址线(高端地址线)部分参加译码,剩下部分悬空。 ![]() ![]() ![]() 2 * 16 * 16 * 16 = 2^13 程序存储器的外扩![]() 74L139的输出在0000H~3FFFH之间时,控制的是第一个27128芯片,C000H~FFFFH对应的是第四个27128芯片。每个27128芯片有不同的地址。 数据存储器的外扩RAM芯片6264的相关总线介绍 控制总线 --存储器读选通OE --存储器写选通WE --存储器片选控制CS1(CE)CS2(CS) 数据总线 --数据接口D0~D7 地址总线 --地址总线接口A0~A12 ![]() ![]() 用线选法扩展多片外部数据存储器6264的电路 ![]() 地址线位A0~A12,故剩余地址线为三根。用线选法可扩展3片6264.3片6264对应的地址空间如下: ![]() 译码法扩展 ![]() 数据存储器扩展 ![]() 上图中各片62128地址分配 ![]() 单片62256与8031的接口电路,地址范围为0000H~7FFFH ![]() 保留信息时间长 ![]() ![]() 程序存储器和数据存储器的地址是可以重叠的,通过不同的控制线和不同的指令加以区分。 编程举例例1 编写程序将片外RAM中5000H~50FFH单元全部清“0” 方法1:用DPTR作为数据区地址指针,同时使用字节计数器。 MOV DPTR, #5000H; 设置数据块指针的初值 MOV R7, #00H; 设置块长度计数器初值 CLR A LOOP: MOVX @DPTR, A; 把某一单元清0 INC DPTR; 地址指针加1 DJNZ R7, LOOP; 数据块长度减1,0则继续清0 HERE: SJMP HEREL; 执行完毕,原地踏步 方法2: 用DPTR作为数据区地址指针,但不使用字节计数器,而是比较特征地址。 MOV DPTR, #5000H CLR A LOOP: MOVX #DPTR, A INC DPTR MOV R7, DPL CJNE R7, #0, LOOP; 与末地址加1比较 HERE: SJMP HERE 外扩存储器的软件设计 单片机片外程序区读指令过程(MOVC指令) 单片机片外数据区读写数据过程(MOVX指令) 例如,把片外程序存储器1000H单元的数送到片内RAM 50H单元,程序如下: MOV A, #00H MOV DPTR, #1000H MOVC A, @A+DPTR MOC 50H, A 例如,把片内50H单元的数据送到片外数据存储器1000H单元中。 MOV A, 50H MOV DPTR, #1000H MOVX @DPTR, A 提高: MCS-51单片机读写片外数据存储器中的内容,除用MOVX A, @DPTR和MOVX @DPTR, A外,还可使用MOVX A, @Ri和MOVX @Ri, A。这时通过P0口输出Ri中的内容(低8位地址),而把P2口原有的内容作为高8位地址输出。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |