导航:首页 > 编程语言 > stc51读写外部ram程序

stc51读写外部ram程序

发布时间:2021-10-26 02:10:08

① 51单片机外部RAM数据传送指令实用

外部RAM数据传送
MOVX A,@Ri

MOVX A, @DPTR
MOVX @Ri, A

MOVX @DPTR,A
执行过程中会使/WR、/RD有效。

例、试编写一程序段,实现将外RAM 0FAH单元中的内容传送到外RAM 04FFH单元中。

解: MOV DPTR,#04FFH

MOV R0,#0FAH

MOVX A,@R0
MOVX @DPTR, A

② 请教关于STC单片机扩展外部RAM时的设置

我在做的一个工程用的就是STC12C5A32S2,控制ALE是否输出的是P4SW这个寄存器,可以参考下边的图,不过复位后默认是输出ALE.

除了ALE设置外,你要考虑的应该是AUXR中的EXTRAM位,默认是启用片上的外边存储器,这个时候要注意你的外部RAM的电路连接方式了,因为实际在使用内部扩展ram的情况下,只有在访问地址超过1024时才会访问到你所连接的那个外边RAM,小于1024时,是访问的片上扩展ram.

如果你设置了EXTRAM为1,就是禁用片上扩展RAM的话,那么所有的外边数据访问均会访问到你所连接的外部RAM

③ stc单片机外部扩展RAM怎么连接,怎么使用

STC单片机的外部扩展RAM (512字节或1K)是在芯片内的, 就是说, 物理上在芯片内, 逻辑上在外部

读写数据可以用XBYTE, 地址是从0000H 开始, XBYTE 这个就是用来标识外部RAM

内部RAM 是用 data 来表示, 范围是00H - FFH

希望对你有所帮助!

④ 单片机程序:外部RAM与内部RAM数据传送程序(汇编、和C语言)

#include<at89x51.h>
#include<absacc.h>
void main(void) //C
{
unsigned char var;
var=XBYTE[0x2000];
XBYTE[0x2000]=var;
while(1);
}
org 00h ;汇编
sjmp main
org 40h
main:mov dptr,#2000h
movx a,@dptr
movx @dptr,a
sjmp $
end

我写的两个都是用在51上的
51加#include<at89x51.h>
52加#include<at89x52.h>
汇编不变。

⑤ 51单片机RAM扩展

要让51外扩展的RAM起作用,关键是要确保在MCU相关引脚上产生正确的外部读写时序(我这里默认你硬件连接全部正确).

首先很关键的一步是要仔细看你使用的MCU的资料,
下面我仅对C语言需要注意的地方讲解(汇编这里就略了,因为对于新手来说,讲的复杂并不是好事)
1、对于ATMEL、WINBOND等MCU,可以在C里,直接用 xdata 保留关键字来对变量进行声明,这样在访问这些变量时就能直接产生外部读写信号。
2、对于STC的MCU(比较新的MCU类,我这里就列举目前的STC类MCU内部用1024个字节RAM扩展),这里有更多的功能选择,位于内部8EH地址上的AUXR是RAM的扩展管理寄存器,其中的EXTRAM位(位1):
0 : 内部扩展的EXT_RAM可以存取
RD+ 系列单片机:
在00H 到3FFH 单元(1024 字节),使用MOVX @DPTR 指令访问,超过400H 的地址空间总是访问外部数据存储器(含400H 单元),MOVX @Ri 只能访问00H 到FFH 单元。
RC 系列单片机:
在00H 到FFH 单元(256 字节),使用MOVX @DPTR 指令访问,超过100H 的地址空间总是访问外部数据存储器(含100H 单元),MOVX @Ri 只能访问00H 到FFH 单元。
1: External data memory access.
外部数据存储器存取,禁止访问内部扩展RAM,此时MOVX @DPTR / MOVX @Ri 的使用同普通8052 单片机

下面是对于STC RD+的C语言简单举例子:
unsigned char xdata sum;
sum = 20;
这里在 EXTRAM 为0的情况下,如果sum的地址超过400H(含400H),那么就能产生外部RAM的读写时序,如果sum的地址小于400H,那么只能访问内部扩展的RAM,但不会产生外部RAM的读写时序。
这里在 EXTRAM 为1的情况下,那么就直接产生外部RAM的读写时序。

好了,就讲这样简单吧,总之,在使用MCU硬件前,必须先对该硬件资料熟悉,使用的时候,才能游刃有余。

⑥ 8051单片机访问片外ROM与片外RAM的读写信号各是什么。

8051访问片外ROM的信号为:
1、EA=0;
2、ALE有效
3、PSEN有效
8051访问片外RAM的信号为:
1、ALE有效
2、RD或WR有效

⑦ 如何用单片机(89C51)C语言访问片外ROM当ram和rom同时外扩时该如何区别

EA/VPP(引脚):当EA端保持高电平时,访问内部程序存储器,反之访问外部程序存储器,
与之相关的三根引脚psen,rd,wr你都很清楚了,就不多说了,
使用外部存储器,需要使用编程器将你的程序写到外部rom中。
psen是rom的选通线,因此,外部rom及外部ram是不会干扰的,你根本不用考虑这个问题,按教材连线就可以了,当然,stc的单片机需要注意,它内部有扩展ram,在使用外部ram时需要屏蔽内部ram。
总之,内部还是外部,你的代码完全一样,只是EA/VPP脚接高低电平不同。
望采纳!谢谢.

⑧ 51单片机内部ram,外部ram的区别

单片机的这 512 字节的 RAM在地位上并不都是平等的,而是分块的,块与块之间在物理结构和用法上都是有区别的,因此形成51单片机内部ram和外部ram的区别。


一、从使用字节区别。标准 51单片机的片内 RAM 地址从 0x00H~0x7F 共 128 个字节。而现在我们用的 51 系列的单片机都是带扩展片内 RAM 的,即 RAM 是从 0x00~0xFF 共 256 个字节。而片外 RAM 最大可以扩展到 0x0000~0xFFFF 共 64K 字节。


二、从连接地址区别。片内 RAM 和片外 RAM 的地址不是连起来的,片内是从 0x00 开始,片外也是从 0x0000 开始的,分别形成data,即片内 RAM 从 0x00~0x7F;idata,即片内 RAM 从 0x00~0xFF;pdata,即片外 RAM 从 0x00~0xFF;xdata,即片外 RAM 从 0x0000~0xFFFF。


一般情况下,使用 data 区域,data 不够用了,就用 xdata,如果希望程序执行效率尽量高一点,就使用 pdata 关键字来定义。其它型号有更大的 RAM 的 51 系列单片机,如果要使用更大的 RAM,就必须得用 xdata 来访问了。



(8)stc51读写外部ram程序扩展阅读:


51单片机对所有兼容Intel 8031指令系统的统称,8004单片机成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机属于基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。


51单片机的RAM用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据,ROM用以存放程序、一些原始数据和表格。四个8位并行I/O口,既可用作输入,也可用作输出。T/C包括两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式。


⑨ stc单片机为什么外部RAM读出错误

查查硬件连接对否?程序写的对否?不外这两种问题

⑩ 51单片机对外部ram的存取

是的。

对于典型电路接法,对应的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在上述地址中存储的数据。

大致如此,你可以在相应的学习板或者自己搭建的板子上试试~

阅读全文

与stc51读写外部ram程序相关的资料

热点内容
手机wifi稳定性测试 浏览:17
文件命名的规则 浏览:515
锤子系统有个换彩铃的软件是什么 浏览:977
点融网借款官方app 浏览:127
Qq暂不支持接受文件 浏览:352
chn037字幕文件下载 浏览:385
苹果手机如何破解wifi密码 浏览:371
58同城苹果版官方下 浏览:642
怎么把ipad的系统声音调大 浏览:264
网络通信模块设计 浏览:291
win1032位设置键盘唤醒 浏览:630
怎样使iphone受到信任 浏览:950
河南众人行网络技术有限公司 浏览:357
2015黑马程序员java视频 浏览:705
ios从哪些方面做app的适配 浏览:832
iphone5s一直电流声 浏览:654
苹果75的是多大啊 浏览:194
怎样打开cmf文件 浏览:878
教育大数据问题 浏览:306
极光推送java设置别名 浏览:619