永发信息网

51单片机对外部ram的存取

答案:3  悬赏:30  手机版
解决时间 2021-02-27 10:37
用#include "absacc.h"头文件,对于典型的电路接法,直接写ram=XBYTE[0x0000]或XBYTE[0x0000]=ram就能完成对ram的读写么,外部WR,OE,ALE信号就不用控制了么。是不是先前要有什么设置。最好举一个完整的例子说明一下,对外部的电路也做一下简单的说明,控制信号都是怎么接的,接法不一样对应的程序一改怎么变?初学者,渴望赐教。
最佳答案
是的。

对于典型电路接法,对应的WR、OE、ALE信号引脚接在RAM芯片对应引脚,单片机会自动配置各个引脚的时序,以完成XBYTE指令直接访问外部RAM的功能。
这里您所担心的对外部WR,OE,ALE信号的控制实际上是把典型电路接法与用单个引脚模拟端口外接RAM的使用方法混淆了。

比如89C2051单片机,其外部引脚没有P0口和WR、RD、OE、ALE这些引脚,某些情况下非得需要其配合外置RAM使用时,需要定义某些IO脚(譬如P1)模拟为数据接口、某些IO脚(譬如P1、P3)模拟为地址接口、某些IO模拟WR、RD、OE、ALE功能。这个时候就需要控制了:

先准备好要告诉RAM给它发送地址了(控制模拟ALE那个引脚的电平),然后控制模拟WR的那个引脚,准备告诉RAM你是要给它写地址;

然后往地址接口上放地址数据,准备告诉RAM读什么地址(控制模拟的P0、P2口);

片选通知RAM来读取地址(模拟OE的那个引脚给片选电平,通常低电平为选中);

等待RAM响应后,转换WR和RD的电平读出RAM在上述地址中存储的数据。

大致如此,你可以在相应的学习板或者自己搭建的板子上试试~
全部回答
典型的51单片机内部ram是256b,8根地址线(8位),这256b共分为高128位和低128位,用户使用的区域是低128位(即00h~7fh),通过程序计数器pc寻址。 51单片机的外部ram可扩展到64kb,16根地址线(16位),使用dptr作为外部ram的寻址指针。 程序存储器:也就是rom,是存放用户程序(如汇编程序或c程序)的地方,典型的51单片机内部rom为4kb,若是使用外部rom可以扩展到64kb。 数据存储器:是存放用户程序运行过程中的中间结果或者运算结果,也就是内部ram或外部ram。 mov: 单片机内部ram的数据传送指令 movx: 单片机外部ram的数据传送指令
你用的是51单片机? 你可以使用Debug看看ram=XBYTE[0x0000]和XBYTE[0x0000]=ram编译成的汇编语言室什么样子的,是不是使用到了MOVX指令?只要使用了MOVX指令访问外部RAM,ALE、RD、WR信号就是必须用到了。 可能是你认识的误区,认为在使用汇编时才会用到那些信号而在使用C语言时不会。C语言虽然高级,但也是使用汇编语言堆砌而成的。 使用MOVX指令外部RAM时,ALE、RD和WR信号由CPU自动产生,不需要使用软件模拟。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
1640年英国议会提出了限制王权的要求,这种要
63x36 36x36 36的简便算式
天地葵是什么植物功效是什么
华联超市便利店这个地址在什么地方,我要处理
500越南盾等于多少人民币
现在学车床有用吗?听说车床现在做的人多学来
蒙古帝国问题: 为什么元朝这么大而别的四大
播音时吃字怎么办?
华为文件管理分类恢复
银滩物业管理有限公司齐鲁海滨花园管理部地址
黑子的篮球后尾曲
意大利的佛罗伦萨the mall有阿迪耐克卖beats
问:经常看到有些车的前散热口有个L英文字母
中国农业银行花园支行地址有知道的么?有点事
.The Winter Olympic champion Zhou Yang was
推荐资讯
下列有关植物知识的叙述中,正确的是A.马铃薯
金鑫盛招待所地址有知道的么?有点事想过去
几道分数除法应用题6、甲乙两地相距1152千米,
谷玉招待所我想知道这个在什么地方
南阳的福利彩票发行中心具体在什么地方?
膝盖下突出的骨头叫什么
【社会福利事业】社区服务是社会福利事业和社
手上一个斗也没有的人多吗
浪漫一生婚纱摄影在什么地方啊,我要过去处理
大北地村在哪里啊,我有事要去这个地方
三星w2013可以刷4.1系统吗
二氧化碳的水溶液能使石蕊试液变成( )色,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?