📄 wxram.asm
字号:
;参考程序A:WXRAM.ASM 程序功能: 从外部扩展XRAM(62256)的首地址(0000H)
;开始依次序写入256个数据(从0到0FFH),然后再从首地址(0000H)读出并进行比较,
;看读出来的256个数据是否正确.若不正确,蜂鸣器响一声.
$INCLUDE (C8051F020.inc)
BELL EQU P3^5; ;蜂鸣器控制位
MOV WDTCN ,#0deH;
MOV WDTCN ,#0adH;
MOV P74OUT ,#3fH ;使能P4~P7推挽输出
MOV EMI0CF ,#2cH ;EMIF工作在地址/数据复用方式,只用外部存储器,
; ALE高/低脉宽占1个SYSCLK周期
MOV EMI0TC ,#6Dh ;地址建立/保持时间占0个SYSCLK周期,
;/WR和/RD占12个SYSCLK周期
MOV P3MDOUT ,#20H ; 使能P3.5推挽输出
MOV XBR2 , #40H ; 使能交叉开关和弱上拉
MIAN : SETB BELL
MOV P6,#00
MOV P5,#00
MOV R5,#0
MOV R0,#0 ;待写数据
MOV DPTR,#0H
WRITE: MOV A,R0
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R5,WRITE
MOV R5,#0
MOV R0,#0 ; 待写入的数据
MOV DPTR,#0 ; 地址指针
READ: MOV B,R0
MOVX A,@DPTR
CJNE A,B,ERR
INC R0
INC DPTR
DJNZ R5,READ
AJMP $
ERR: CLR BELL
ACALL DELY
SETB BELL
AJMP $
DELY: ;延时子程序
MOV R7,#0FFH
SS: MOV R6,#0FFH
DJNZ R6,$
DJNZ R7,SS
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -