唐Y 发表于 2026-1-21 22:10:35

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

是我代码错了,还是怎么回事。
有没有懂得
ORG 0000H

AUXR    EQU    08EH
       
MAIN:
        MOV SP,#7FH
        MOV AUXR,#00H
       
        MOV DPTR,#0100H
        MOV A,#07H
        MOVX @DPTR,A


       
        MOV DPTR,#0100H
        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



angmall 发表于 2026-1-22 00:04:20


你的单片机是哪个型号? RC 还是RD+






神农鼎 发表于 2026-1-22 08:48:35

https://www.stcaimcu.com/data/download/Datasheet/STC89C52RC-RD+.pdf











神农鼎 发表于 2026-1-22 08:51:23

STC89C52RC 片内部有 扩展RAM,
STC89C52 片内部无 扩展 RAM ?
STC89C52RC 和 STC89C52 是 不同的型号

Starlight_77 发表于 2026-1-22 09:54:57

神农鼎 发表于 2026-1-22 08:51
STC89C52RC 片内部有 扩展RAM,
STC89C52 片内部无 扩展 RAM ?
STC89C52RC 和 STC89C52 是 不同的型号


芯片是STC89C52RC

Starlight_77 发表于 2026-1-22 09:56:51

angmall 发表于 2026-1-22 00:04
你的单片机是哪个型号? RC 还是RD+

STC89C52RC

angmall 发表于 2026-1-22 10:11:03

Starlight_77 发表于 2026-1-22 09:56
STC89C52RC

只能访问 00H 到 FFH 单元

RC 系列单片机
在 00H 到 FFH 单元( 256 字节) ,使用 MOVX @DPTR 指令访问,超过 100H 的地址空间总是访
问外部数据存储器( 含 100H 单元), MOVX @Ri 只能访问 00H 到 FFH 单元
1: External data memory access.外部数据存储器存取
外部数据存储器存取,禁止访问内部扩展 RAM,此时 MOVX @DPTR / MOVX @Ri 的使用同普

21cnsound 发表于 2026-1-22 10:59:04

MOV DPTR,#0100H      ///52RC内部扩展RAM地址范围0x00-0xFF,这里地址超范围了
52RC建议用MOVX @Rn,A来访问,即快又不会地址溢出。

Starlight_77 发表于 2026-1-22 11:25:19

21cnsound 发表于 2026-1-22 10:59
MOV DPTR,#0100H      ///52RC内部扩展RAM地址范围0x00-0xFF,这里地址超范围了
52RC建议用MOVX @Rn,A来 ...



内部RAM 00-FFH
我现在要使用内部扩展256Byte,但是不行。

21cnsound 发表于 2026-1-22 15:39:53

Starlight_77 发表于 2026-1-22 11:25
内部RAM 00-FFH
我现在要使用内部扩展256Byte,但是不行。

内部扩展RAM的访问:汇编用MOVX,C用xdata声明。
你是怎么用的?
页: [1] 2
查看完整版本: STC89C52内部扩展RAM为什么不能用???