?? 短信ss1-16.asm
字號:
MOV DPH, #55H
MOV DPL, #55H
MOV A, #0AAH
MOVX @DPTR, A
MOV DPH, #2AH
MOV DPL, #0AAH
MOV A, #55H
MOVX @DPTR, A
MOV DPH, #55H
MOV DPL, #55H
MOV A, #10H
MOVX @DPTR, A
DCLR10:
MOVX A, @DPTR
MOV C, ACC.7
JC DCLR11
MOV C, ACC.5
MOV 71H, #200
JNC DCLR10
LJMP DCLR12
DCLR11:
MOV A, #0F0H
MOVX @DPTR, A
MOV A, #80H; 擦除成功
RET
DCLR12:
MOV A, #0F0H
MOVX @DPTR, A
MOV A, #81H; 擦除失敗
RET
SAVEONE:
MOV A, R2
MOV P1,A;
MOV DPH, #55H
MOV DPL, #55H
MOV A, #0AAH
MOVX @DPTR, A
MOV DPH, #02H
MOV DPL, #0AAH
MOV A, #55H
MOVX @DPTR, A
MOV DPH, #55H
MOV DPL, #55H
MOV A, #0A0H
MOVX @DPTR, A
MOV DPH, R1
MOV DPL, R0
MOV A, R4
MOVX @DPTR, A
RET
SAVEONE1:
MOV A, R2
MOV P1,A;
MOV DPH, #55H
MOV DPL, #55H
MOV A, #0AAH
MOVX @DPTR, A
MOV DPH, #2AH
MOV DPL, #0AAH
MOV A, #55H
MOVX @DPTR, A
MOV DPH, #55H
MOV DPL, #55H
MOV A, #0A0H
MOVX @DPTR, A
MOV DPH, R1
MOV DPL, R0
MOV A, R4
MOVX @DPTR, A
RET
;SAVEONE:
; MOV P1,R2
; MOV DPH,R1
; MOV DPL,R0
; MOV A,R4
; MOVX @DPTR,A
; RET
TZD0: DJNZ 40H,TZD00
NOP
MOV DPTR,#TZD01
PUSH DPL
PUSH DPH
TZD00: RETI
TZD01: MOV DPTR,#0000H
PUSH DPL
PUSH DPH
RETI
NOP
DSPDATA16:
LCALL DSP1
CLR P3.5
SETB P3.5
LCALL DL10MS
LCALL DSP1
CLR P3.5
SETB P3.5
LCALL DL10MS
RET
DSPDATA32:
LCALL DZHZ1
CLR P3.5
SETB P3.5
LCALL DL10MS
LCALL DZHZ1
CLR P3.5
SETB P3.5
LCALL DL10MS
RET
;DSPL: JB P3.3, DSP1
; LJMP DZHZ1
DSP1:
MOV 6BH,#01H ; 8X16 點陣 每行1字節
MOV 6AH,#10H ;?16行
MOV 72H,68H ; 數字顯示起始位置FPGA低8位地
MOV 73H,#00H ; 數字顯示起始位置FPGA高8位地
NOP
MOV R4, 72H ;
MOV R7, 73H
MOV R0,#8DH ; ? 世紀十位單元
;加載數字
MOV R5,#04H ;?2003共4位數字
LCALL LJDATA2;? 加載XXXX年數字
LCALL ADINC2 ;
MOV R5,#02H;
LCALL LJDATA2; 加載XX月數字
LCALL ADINC2 ;
MOV R5,#02H
LCALL LJDATA2; 加載XX日數字
;字換行
LCALL AD7273 ; 73H72H+16行
MOV A,72H ; 右錯位8個字節
ADD A,#03H
MOV 72H, A
MOV A, 73H
ADDC A, #00H
MOV 73H, A
MOV R4,72H
MOV R7,73H
MOV A, R4
ADD A, #05H
MOV R4, A
MOV A, R7
ADDC A,#00
MOV R7, A
MOV R5, #01H; 加載X星期1位數
MOV R0, #8EH;
LCALL LJDATA2;
;字換行
LCALL AD7273
MOV R4, 72H
MOV R7, 73H
MOV R5,#02;
MOV R0, #85H
LCALL LJDATA2; 加載XX時2位數字
LCALL ADINC2
MOV R5, #02;
LCALL LJDATA2; 加載XX分2位數字
;?加載漢字
MOV 6BH,#02H ; 16X16 點陣 每行2字節
MOV 6AH,#10H ;?16行
MOV A, 68H
ADD A,#04H
MOV 72H, A ; 漢字年顯示起始位置FPGA低8位地
MOV 73H,#00H ; 漢字年顯示起始位置FPGA高8位地
NOP
MOV R4, 72H
MOV R7, 73H
MOV DPTR,#tab1;漢字入口
MOV 3AH,DPL; 數據源
MOV 3BH,DPH
MOV R6,#03H ;?年月日 共3個漢字
DSP2: LCALL LJDATA20
LCALL ADINC2 ;
LCALL ADINC2 ;
DJNZ R6, DSP2
;字換行
LCALL AD7273
MOV R4, 72H
MOV R7, 73H
MOV R6,#02; 星期共2個漢字
DSP3: LCALL LJDATA20
LCALL ADINC2 ;
DJNZ R6, DSP3
;字換行
LCALL AD7273
MOV R4, 72H
MOV R7, 73H
INC R4
CJNE R4, #00, DSP30
INC R7
DSP30: MOV R6,#02 ; 時 分共2個漢字
DSP4: LCALL LJDATA20
LCALL ADINC2 ;
LCALL ADINC2 ;
DJNZ R6, DSP4
RET
DZHZ1:
MOV 6BH,#02H ; 16X32 點陣 每行1字節
MOV 6AH,#20H ; 32行
MOV 72H,68H ; 數字顯示起始位置FPGA低8位地
MOV 73H,#00H ; 數字顯示起始位置FPGA高8位地
NOP
MOV R4, 72H ;
MOV R7, 73H
MOV R0,#8DH ; 世紀十位單元
;加載數字
MOV R5,#04H ; 2003共4位數字
LCALL LJDATA3; 加載XXXX年數字
LCALL ADINC2 ;
LCALL ADINC2 ;
MOV R5,#02H;
LCALL LJDATA3; 加載XX月數字
LCALL ADINC2 ;
LCALL ADINC2 ;
MOV R5,#02H
LCALL LJDATA3; 加載XX日數字
;字換行
LCALL AD7273 ; 73H72H+16行
LCALL AD7273 ; 73H72H+16行
MOV A,72H ; 右錯位6個字節
ADD A,#06H
MOV 72H, A
MOV A, 73H
ADDC A, #00H
MOV 73H, A
MOV R4,72H
MOV R7,73H
MOV A, R4
ADD A, #0AH; 右錯位10個字節
MOV R4, A
MOV A, R7
ADDC A,#00
MOV R7, A
MOV R5, #01H; 加載X星期1位數
MOV R0, #8EH;
LCALL LJDATA3;
;字換行
LCALL AD7273
LCALL AD7273 ; 73H72H+16行
MOV R4, 72H
MOV R7, 73H
MOV R5,#02;
MOV R0, #85H
LCALL LJDATA3; 加載XX時2位數字
LCALL ADINC2
LCALL ADINC2
MOV R5, #02;
LCALL LJDATA3; 加載XX分2位數字
;加載漢字
MOV 6BH,#04H ; 32X32 點陣 每行4字節
MOV 6AH,#20H ; 32行
MOV A, 68H
ADD A,#08H
MOV 72H, A ; 漢字年顯示起始位置FPGA低8位地
MOV 73H,#00H ; 漢字年顯示起始位置FPGA高8位地
NOP
MOV R4, 72H
MOV R7, 73H
MOV DPTR,#tab4;漢字入口
MOV 3AH,DPL; 數據源
MOV 3BH,DPH
MOV R6,#03H ;?年月日 共3個漢字
DZHZ2: LCALL LJDATA20
LCALL ADINC2 ;
LCALL ADINC2 ;
LCALL ADINC2 ;
LCALL ADINC2 ;
DJNZ R6, DZHZ2
;字換行
LCALL AD7273
LCALL AD7273
MOV R4, 72H
MOV R7, 73H
MOV R6,#02; 星期共2個漢字
DZHZ3: LCALL LJDATA20
LCALL ADINC2 ;
LCALL ADINC2 ;
DJNZ R6, DZHZ3
;字換行
LCALL AD7273
LCALL AD7273
MOV R4, 72H
MOV R7, 73H
LCALL ADINC2
MOV R6,#02 ; 時 分共2個漢字
DZHZ4: LCALL LJDATA20
LCALL ADINC2 ;
LCALL ADINC2 ;
LCALL ADINC2 ;
LCALL ADINC2 ;
DJNZ R6, DZHZ4
RET
LJDATA2:
LCALL LJDATA100
DEC R0
LCALL ADINC1
DJNZ R5, LJDATA2
RET
LJDATA3:
LCALL LJDATA200
DEC R0
LCALL ADINC2
DJNZ R5, LJDATA3
RET
LJDATA200:
MOV DPTR, #tab3
MOV A,@R0
MOV B, #40H
MUL AB
ADD A,DPL
MOV 3AH,A; 源地址低8位
MOV A,DPH
ADDC A,B
MOV 3BH,A; 源地址高8位
LJMP LJDATA20
LJDATA100:
MOV DPTR,#tab
MOV A,@R0
MOV B,#10H;
MUL AB
ADD A,DPL
MOV 3AH,A; 源地址低8位
MOV A,DPH
ADDC A,B
MOV 3BH,A; 源地址高8位
LJDATA20:
MOV 39H, #18H; 目地址高8位
MOV 38H, R7 ; 中8位
MOV 37H, R4 ; 低8位
MOV 31H, R7; 目(pld)行首地址中8位
MOV 30H, R4;
MOV R2, 6BH;屏寬字節
MOV R3, 6AH;屏高像素
LJDATA101:
MOV DPL, 3AH
MOV DPH, 3BH
MOV A, #00H
MOVC A, @A+DPTR
INC DPTR
MOV 3BH, DPH
MOV 3AH, DPL
LJDATA102:
MOV P1, 39H
MOV DPH, 38H
MOV DPL, 37H
MOVX @DPTR, A
INC DPTR
MOV 38H, DPH
MOV 37H, DPL
DJNZ R2, LJDATA101
MOV R2, 6BH
LCALL HADD; 目指向下行首地址
DJNZ R3, LJDATA101
RET
ADINC1:
MOV A, R4
ADD A, #01
MOV R4, A
MOV A, R7
ADDC A, #00H
MOV R7, A
RET
ADINC2:
MOV A, R4
ADD A, #02
MOV R4, A
MOV A, R7
ADDC A, #00H
MOV R7, A
RET
AD7273:
MOV A, 69H
MOV B,#10H
MUL AB
ADD A,72H
MOV 72H,A
MOV A, B
ADDC A, 73H
MOV 73H,A
RET
DSPTIME:
LCALL DSP5
CLR P3.5
SETB P3.5
LCALL DL10MS
LCALL DSP5
CLR P3.5
SETB P3.5
LCALL DL10MS
RET
DSP5:
MOV 6BH,#01H ; 8X16 點陣 每行1字節
MOV 6AH,#10H ;?16行
MOV A, 67H
CLR C
SUBB A,#08H
MOV R4,A ; 數字時顯示?起始位置FPGA低8位地
MOV R7,#00
MOV R0,#85H ; ? 時?十位單元
MOV R5,#02H ;?時? 分共2位數字
LCALL LJDATA2;?加載XX時2位數字
INC R4
INC R4
MOV R5, #02H
LCALL LJDATA2; 加載XX分2位數字
;?加載漢字
MOV 6BH,#02H
MOV A,67H
CLR C
SUBB A, #06H
MOV R4,A ;?FPGA低8位地址
MOV R7,#00H
MOV R6,#02H ;?? ? 共 2?個漢字
MOV DPTR,#tab2;漢字入口
MOV 3AH,DPL; 數據源
MOV 3BH,DPH
DSP6: LCALL LJDATA20
INC R4
INC R4
INC R4
INC R4
DJNZ R6, DSP6
RET
tab:
;0[8*16]橫排
DB 00H, 00H, 00H, 00H, 18H, 24H, 42H, 42H
DB 42H, 42H, 42H, 42H, 42H, 24H, 18H, 00H
;1[8*16]橫排
DB 00H, 00H, 00H, 00H, 10H, 70H, 10H, 10H
DB 10H, 10H, 10H, 10H, 10H, 10H, 7CH, 00H
;2[8*16]橫排
DB 00H, 00H, 00H, 00H, 3CH, 42H, 42H, 42H
DB 04H, 04H, 08H, 10H, 20H, 42H, 7EH, 00H
;3[8*16]橫排
DB 00H, 00H, 00H, 00H, 3CH, 42H, 42H, 04H
DB 18H, 04H, 02H, 02H, 42H, 44H, 38H, 00H
;4[8*16]橫排
DB 00H, 00H, 00H, 00H, 04H, 0CH, 14H, 24H
DB 24H, 44H, 44H, 7FH, 04H, 04H, 1EH, 00H
;5[8*16]橫排
DB 00H, 00H, 00H, 00H, 7EH, 40H, 40H, 40H
DB 58H, 64H, 02H, 02H, 42H, 44H, 38H, 00H
;6[8*16]橫排
DB 00H, 00H, 00H, 00H, 1CH, 24H, 40H, 40H
DB 58H, 64H, 42H, 42H, 42H, 24H, 18H, 00H
;7[8*16]橫排
DB 00H, 00H, 00H, 00H, 7EH, 44H, 44H, 08H
DB 08H, 10H, 10H, 10H, 10H, 10H, 10H, 00H
;8[8*16]橫排
DB 00H, 00H, 00H, 00H, 3CH, 42H, 42H, 42H
DB 24H, 18H, 24H, 42H, 42H, 42H, 3CH, 00H
;9[8*16]橫排
DB 00H, 00H, 00H, 00H, 18H, 24H, 42H, 42H
DB 42H, 26H, 1AH, 02H, 02H, 24H, 38H, 00H
tab1:
;年[16*16]橫排
DB 08h, 00h, 08h, 08h, 1Fh, 0FCh, 11h, 00h
DB 21h, 00h, 41h, 10h, 1Fh, 0F8h, 11h, 00h
DB 11h, 00h, 11h, 04h, 0FFh, 0FEh, 01h, 00h
DB 01h, 00h, 01h, 00h, 01h, 00h, 01h, 00h
;月[16*16]橫排
DB 00h, 10h, 0Fh, 0F8h, 08h, 10h, 08h, 10h
DB 08h, 10h, 0Fh, 0F0h, 08h, 10h, 08h, 10h
DB 08h, 10h, 0Fh, 0F0h, 08h, 10h, 08h, 10h
DB 10h, 10h, 10h, 10h, 20h, 50h, 40h, 20h
;日[16*16]橫排
DB 00h, 10h, 1Fh, 0F8h, 10h, 10h, 10h, 10h
DB 10h, 10h, 10h, 10h, 10h, 10h, 1Fh, 0F0h
DB 10h, 10h, 10h, 10h, 10h, 10h, 10h, 10h
DB 10h, 10h, 1Fh, 0F0h, 10h, 10h, 00h, 00h
;星[16*16]橫排
DB 00h, 08h, 3Fh, 0FCh, 20h, 08h, 3Fh, 0F8h
DB 20h, 08h, 3Fh, 0F8h, 01h, 00h, 21h, 08h
DB 3Fh, 0FCh, 21h, 00h, 41h, 10h, 0BFh, 0F8h
DB 01h, 00h, 01h, 04h, 0FFh, 0FEh, 00h, 00h
;期[16*16]橫排
DB 22h, 04h, 22h, 7Eh, 22h, 44h, 7Fh, 44h
DB 22h, 44h, 3Eh, 7Ch, 22h, 44h, 3Eh, 44h
DB 22h, 44h, 22h, 7Ch, 0FFh, 0C4h, 00h, 44h
DB 24h, 44h, 22h, 84h, 41h, 14h, 82h, 08h
tab2:
;時[16*16]橫排
DB 00h, 08h, 04h, 08h, 7Eh, 08h, 44h, 08h
DB 47h, 0FEh, 44h, 08h, 44h, 08h, 7Ch, 88h
DB 44h, 48h, 44h, 48h, 44h, 08h, 44h, 08h
DB 7Ch, 08h, 44h, 48h, 00h, 28h, 00h, 10h
;分[16*16]橫排
DB 00h, 80h, 04h, 80h, 04h, 40h, 08h, 40h
DB 08h, 20h, 10h, 10h, 20h, 08h, 4Fh, 0EEh
DB 84h, 24h, 04h, 20h, 04h, 20h, 04h, 20h
DB 04h, 20h, 08h, 20h, 11h, 40h, 20h, 80h
tab3:
;0[16*32]
DB 00H, 00H, 00H, 00H
DB 00H, 00H, 00H, 00H
DB 00H, 00H, 00H, 00H
DB 03H, 0E0H, 06H, 30H
DB 0CH, 18H, 18H, 0CH
DB 18H, 0CH, 18H, 04H
DB 30H, 06H, 30H, 06H
DB 30H, 06H, 30H, 06H
DB 30H, 06H, 30H, 06H
DB 30H, 06H, 30H, 06H
DB 30H, 06H, 18H, 04H
DB 18H, 0CH, 18H, 0CH
DB 0CH, 18H, 06H, 30H
DB 03H, 0E0H, 00H, 00H
DB 00H, 00H, 00H, 00H
DB 00H, 00H, 00H, 00H
;1[16*32]
DB 00H, 00H, 00H, 00H
DB 00H, 00H, 00H, 00H
DB 00H, 00H, 00H, 80H
DB 01H, 80H, 1FH, 80H
DB 01H, 80H, 01H, 80H
DB 01H, 80H, 01H, 80H
DB 01H, 80H, 01H, 80H
DB 01H, 80H, 01H, 80H
DB 01H, 80H, 01H, 80H
DB 01H, 80H, 01H, 80
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -