找回密码
 立即注册
楼主: 唐Y

STC89C52内部扩展RAM为什么不能用???

[复制链接]
  • 打卡等级:以坛为家III
  • 打卡总天数:847
  • 最近打卡:2026-04-02 08:35:11

12

主题

1342

回帖

7204

积分

论坛元老

积分
7204
发表于 2026-1-22 15:58:13 | 显示全部楼层
Starli*** 发表于 2026-1-22 11:25
内部RAM 00-FFH
我现在要使用内部扩展256Byte,但是不行。

你的代码修正后版本
ORG 0000H

AUXR    EQU    08EH

MAIN:
        MOV SP,#7FH

        MOV AUXR,#00H      ; ★ 关键:启用内部 XRAM

        MOV DPTR,#070H
        MOV A,#07H
        MOVX @DPTR,A

        MOV DPTR,#070H
        MOVX A,@DPTR

        MOV P2,#00H
        LCALL DELAY_500MS
        MOV P2,A

MAIN_LOOP:
        SJMP MAIN_LOOP

DELAY_500MS:
        MOV R7, #04H
DLY1:
        MOV R6, #250
DLY2:
        MOV R5, #229
DLY3:
        DJNZ R5, DLY3
        DJNZ R6, DLY2
        DJNZ R7, DLY1
        RET

END
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:49
  • 最近打卡:2026-04-02 09:03:55
已绑定手机

7

主题

12

回帖

207

积分

中级会员

积分
207
发表于 2026-1-22 16:45:46 | 显示全部楼层
21cns*** 发表于 2026-1-22 15:39
内部扩展RAM的访问:汇编用MOVX,C用xdata声明。
你是怎么用的?

上面有代码,第一个。
帮我看一下,谢谢
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:787
  • 最近打卡:2026-04-02 09:10:51
已绑定手机

16

主题

1401

回帖

4943

积分

论坛元老

积分
4943
发表于 2026-1-22 17:09:09 | 显示全部楼层
Starli*** 发表于 2026-1-22 16:45
上面有代码,第一个。
帮我看一下,谢谢

11楼已经帮你改了,改52RC的扩展RAM地址即可:#0100H  -->  小于#0x0100H
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:49
  • 最近打卡:2026-04-02 09:03:55
已绑定手机

7

主题

12

回帖

207

积分

中级会员

积分
207
发表于 2026-1-22 18:40:26 | 显示全部楼层
angm*** 发表于 2026-1-22 15:58
你的代码修正后版本
ORG 0000H

没有注意到扩展RAM与RAM地址都是00H-FFH,我以为扩展RAM是>=100H地址。
我丢,太无语了
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:49
  • 最近打卡:2026-04-02 09:03:55
已绑定手机

7

主题

12

回帖

207

积分

中级会员

积分
207
发表于 2026-1-22 18:45:56 | 显示全部楼层
已解决!

ORG 0000H

AUXR    EQU    08EH
       
MAIN:
        MOV SP,#7FH
        MOV P2,#0FFH
        MOV AUXR,#00H
       
        ;1.扩展RAM
        MOV DPTR,#0FFH;DPTR存入立即数FFH
        MOV A,#0FH    ;A存入立即数0FH
       
        MOVX @DPTR,A  ;DPTR地址间接存入A数据
        MOV A,#0FFH   ;测试A是否真正被存入
       
        MOVX A,@DPTR  ;A间接获取DPTR地址数据
       
        MOV P2,A          ;P2获取A数据,LED高4位亮
        ACALL DELAY_500MS
       
       
        ;2.RAM
        MOV R0,#0FFH  ;R0存入立即数FFH
        MOV @R0,#0F0H ;R0地址间接存入F0H
        MOV P2,@R0          ;P2间接获取R0地址中数据,LED低4位亮
MAIN_LOOP:
    SJMP MAIN_LOOP


DELAY_500MS:
    MOV R7, #04H
DLY1:
    MOV R6, #250
DLY2:
    MOV R5, #229
DLY3:
    DJNZ R5, DLY3
    DJNZ R6, DLY2
    DJNZ R7, DLY1
    RET

END
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-4-2 21:09 , Processed in 0.107115 second(s), 68 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表