?? sram.asm
字號:
;單片機最小應用系統1的 P0口接SRAM的D0~D7口,
;單片機最小應用系統1的Q0~Q7口接SRAM的A0~A7口,
;單片機最小應用系統1的 P2口接SRAM的A8~A12口,
;單片機最小應用系統1的RD、WR、P2.7分別接6264的OE、WE、CS1,
;單片機最小應用系統1的RXD、TXD連接到串行靜態顯示實驗模塊的DIN、CLK.
ORG 0000H
MAIN:
MOV SP,#60H
MOV A,#00H
MOV DPTR,#0000H
MOV R0,#00H
LOOP:
ADD A,#1
DA A
ANL A,#0FH ;總在0到9之間
MOVX @DPTR,A
INC DPTR
DJNZ R0,LOOP ;載入256個
DISP: ;讀出送到靜態串行顯示口
MOV R3,#00H ;讀數據的個數
MOV DPTR,#0000H
GET_LOOP:
MOV R0,#30H ;存放的首地址
MOV R1,#31H
MOV R2,#5 ;5個顯示的數據
SHIFT_LOOP: ;推入到顯示存儲區,向后移動
MOV A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R2,SHIFT_LOOP
MOVX A,@DPTR
MOV @R0,A ;寫到最后一個位置
LCALL SHOW ;顯示在數碼管上
LCALL DELAY
INC DPTR
DJNZ R3,GET_LOOP
LJMP DISP
DELAY: ;延時子程序,大約1秒
MOV R4,#05
MOV R5,#0
MOV R6,#0
DELAYLOOP:
DJNZ R6,DELAYLOOP ;原地循環
DJNZ R5,DELAYLOOP
DJNZ R4,DELAYLOOP
RET
SHOW:
PUSH DPH
PUSH DPL
MOV SCON,#00H ;設定串行工作模式為0
MOV R1,#05H ;數碼管顯示的位數6
MOV R0,#30H ;字型碼首地址偏移量
MOV DPTR,#TABLE
LOOPSHOW:
MOV A,@R0
MOVC A,@A+DPTR ;取出字型碼
MOV SBUF,A ;發送
WAIT:
JNB TI,WAIT ;等待一幀發送完畢
CLR TI
INC R0 ;指向下一字型碼
DJNZ R1,LOOPSHOW
POP DPL
POP DPH
RET
TABLE:
DB 0FCH, 060H, 0DAH, 0F2H, 066H ;0,1,2,3,4
DB 0B6H, 0BEH, 0E0H, 0FEH, 0F6H ;5, 6,7,8,9
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -