51单片机存储器扩展 学习笔记
2016-11-17 17:24
211 查看
8051单片机存储器扩展
以AT89C51为例,内部只有128B的RAM和4KB的ROM。当存储空间不够用时,需要扩展51单片机的存储器。
51单片机有3条访问存储器指令,MOV访问内部RAM,MOVX访问外部RAM,MOVC读取ROM区代码。也就是8051有3类独自的寻址空间,共用16位的地址总线和8位的数据总线,最大寻址64KB。
常见的EPROM有2732(4K*8bit),2764(8K*8bit),27264(32K*8bit)等。以2764为例,有13位地址线(A0-A12)。
常见的SRAM有6264(8k*8bit),62265(32k*8bit)。74138为3/8译码器,74139为2/4译码器,74373位8位锁存起。
首先在扩展时,P0口既传送地址又要传输数据(分时复用),需要外接74373(51的ALE)。P2口传送高8位地址。相关的控制总线有PSEN,WR,RD,需要将这3个控制总线和对应的存储器引脚连接。
常用的扩展方法有①线选法和②片选法。以扩展3个2764为例。2764为8KB(8K*8bit)ROM芯片,有13位地址线。
①线选法:P0口接2764的低8位地址线(A0~A7),P2.0 ~ P2.4接高5位地址线(A8~A12)。将3个2764编号U1~U3。 P2.5~P2.7 分别这3个存储器的片选(CS)引脚。此时,U1对应的地址范围是2000H~3FFFH,U2对应的范围是 4000H~5FFFH,U3的地址范围是8000H~9FFFH。编程时,外部的ROM地址不连续。
②片选法:P0口分时复用。P2.0~P2.4接高5位地址线。P2.5~P2.6接74139的A0、A1段,Y0~Y2接3个存储器的片选引脚。 此时,U1对应的地址空间是0000H~1FFFH,U2对应的地址空间是2000H~3FFFH,U3对应的地址空间是4000H~5FFFH。 编程时,外部的ROM地址空间连续。 扩展外部RAM时,亦可采用上述2种方法。
注:ALE(30脚) Address Latch Enable,地址锁存使能,该引脚提供一个ALE地址允许信号(由正向负跳变,负跳沿),将低8位地址信息锁存到片外的地址锁存器中。
!PSEN(29脚) Program Storage ENable,外部程序存储器读选通信号,低电平有效。
2016年11月17日 星期四
FH
以AT89C51为例,内部只有128B的RAM和4KB的ROM。当存储空间不够用时,需要扩展51单片机的存储器。
51单片机有3条访问存储器指令,MOV访问内部RAM,MOVX访问外部RAM,MOVC读取ROM区代码。也就是8051有3类独自的寻址空间,共用16位的地址总线和8位的数据总线,最大寻址64KB。
常见的EPROM有2732(4K*8bit),2764(8K*8bit),27264(32K*8bit)等。以2764为例,有13位地址线(A0-A12)。
常见的SRAM有6264(8k*8bit),62265(32k*8bit)。74138为3/8译码器,74139为2/4译码器,74373位8位锁存起。
首先在扩展时,P0口既传送地址又要传输数据(分时复用),需要外接74373(51的ALE)。P2口传送高8位地址。相关的控制总线有PSEN,WR,RD,需要将这3个控制总线和对应的存储器引脚连接。
常用的扩展方法有①线选法和②片选法。以扩展3个2764为例。2764为8KB(8K*8bit)ROM芯片,有13位地址线。
①线选法:P0口接2764的低8位地址线(A0~A7),P2.0 ~ P2.4接高5位地址线(A8~A12)。将3个2764编号U1~U3。 P2.5~P2.7 分别这3个存储器的片选(CS)引脚。此时,U1对应的地址范围是2000H~3FFFH,U2对应的范围是 4000H~5FFFH,U3的地址范围是8000H~9FFFH。编程时,外部的ROM地址不连续。
②片选法:P0口分时复用。P2.0~P2.4接高5位地址线。P2.5~P2.6接74139的A0、A1段,Y0~Y2接3个存储器的片选引脚。 此时,U1对应的地址空间是0000H~1FFFH,U2对应的地址空间是2000H~3FFFH,U3对应的地址空间是4000H~5FFFH。 编程时,外部的ROM地址空间连续。 扩展外部RAM时,亦可采用上述2种方法。
注:ALE(30脚) Address Latch Enable,地址锁存使能,该引脚提供一个ALE地址允许信号(由正向负跳变,负跳沿),将低8位地址信息锁存到片外的地址锁存器中。
!PSEN(29脚) Program Storage ENable,外部程序存储器读选通信号,低电平有效。
2016年11月17日 星期四
FH
相关文章推荐
- 嵌入式学习笔记(9)——51单片机之中断(外部中断)
- 嵌入式学习笔记(13)——51单片机之D/A转换器
- 嵌入式学习笔记(10)——51单片机之中断(定时器中断)
- 学习51笔记与一份从网上找的资料:单片机C语言中_nop_函数的使用及C语言的延时计算2010-
- 单片机学习笔记--51单片机基础
- 嵌入式学习笔记(2)——51单片机之开发环境搭建
- 51之51单片机RAM数据存储区学习笔记
- 51单片机功能模块学习笔记 — 发光二极管
- 51单片机学习笔记【八】——步进电机
- 嵌入式学习笔记(3)——51单片机之闪烁灯设计
- 51单片机学习笔记【七】——蜂鸣器和继电器
- 嵌入式学习笔记(11)——51单片机之中断(串口通信)
- 51单片机存储器的基本结构及工作原理
- 创建和扩展Flex 2组件(Creating and Extending Flex 2 Components)学习笔记
- C#3.0 新特性学习笔记(4):扩展方法
- Java6学习笔记51——编码学习
- CEGUI学习笔记四-- 如何如何扩展CEGUI库 (转kun(小龙))
- FreeBSD学习笔记23-安装PHP扩展
- asp.net ajax 学习笔记--对javascript对象的扩展
- extJs 2.1学习笔记(Function扩展篇)