?? wxramb.asm
字號:
;參考程序A:WXRAMb.ASM程序訪問片上4KRAM,先從設(shè)定地址寫入256個數(shù)據(jù),再讀出進
;行比較,看是否正確,若不正確蜂鳴器響一聲
$INCLUDE (C8051F020.inc)
BELL EQU P3^5; 蜂鳴器控制位
MOV WDTCN ,#0deH; 關(guān)閉看們狗
MOV WDTCN ,#0adH;
MOV EMI0CF ,#20H ;只用內(nèi)部數(shù)據(jù)存儲器,選擇地址/數(shù)據(jù)復用方式,
;ALE高/低脈寬占1個SYSCLK周期
MOV EMI0TC ,#6dH ; 地址建立/保持時間占1個SYSCLK周期,/WR和/RD
;占12個SYSCLK周期
MOV P3MDOUT ,#20H; 使能P3.5推挽輸出
MOV XBR2 , #40H; 使能交叉開關(guān)和弱上拉
MIAN : SETB BELL ;蜂鳴器不叫
MOV R5,#0 ;連續(xù)寫入256個數(shù)據(jù)
MOV R0,#0 ;寫入數(shù)據(jù)從0開始
MOV DPTR,#0 ;寫入地址從0開始
WRITE: MOV A,R0
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R5,WRITE
MOV R5,#0 ; ;連續(xù)讀出256個數(shù)據(jù)
MOV R0,#0; 讀出的數(shù)據(jù)要和R0的內(nèi)容比較
MOV DPTR,#0 ; 地址指針DPTR
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 + -