📄 sukong.asm
字号:
; CSA EQU P3.4 ;液晶片选在(左,前)显示
; CSB EQU P3.5 ;在(右、后)显示
; E EQU P3.3 ;使能信号
; DI EQU P3.2 ;选择存指令还是数据单元
; COMSTART EQU 70H ;液晶的启动
; COMONOFF EQU 71H ;液晶开显示
; TABADDR EQU 72H ;要显示字符的表首地此
; COMDATA EQU 73H ;字符数据
; COMSAME EQU 74H ;液晶数据与指令的传送
; JCS1CS2 EQU 7FH ;片选
; COMXSTART EQU 76H ;起始页地址存放单元
; COMXEND EQU 77H ;终止页地址存放单元
; COMYSTART EQU 78H ;起始列地址存放单元
; COMYEND EQU 79H ;终止列地址存放单元
DISP: PUSH A
PUSH PSW
SETB RS0
CLR RS1
MOV R0,#COMXSTART
MOV R1,#COMYSTART
INC COMXEND
INC COMYEND
PUT1: MOV A, @R0
MOV COMSAME, A ;Set PAGE
LCALL PRL00
MOV A, @R1 ;Set LINE
MOV COMSAME, A
LCALL PRL00
PUT2: LCALL WORD
LCALL PRL11
MOV A, @R1
INC A
MOV @R1, A
CJNE A, COMYEND, PUT2
MOV A, COMSAME
MOV @R1, A
MOV A, @R0
INC A
MOV @R0, A
CJNE A , COMXEND, PUT1
POP PSW
POP A
RET
;写命令子程序
PRL00: SETB CSA ;Write ins
SETB CSB ;CLR CSB
CLR DI
PRL001: NOP
NOP
NOP
NOP
MOV P0, COMSAME
SETB E
CLR E
RET
;写数据子程序
PRL11: MOV A, JCS1CS2
CJNE A, #00H, PRL1111
SETB CSA ;选择左片
CLR CSB
LJMP PRL111
PRL1111: CLR CSA ;选择右片
SETB CSB
PRL111: NOP
NOP
NOP
NOP
MOV P0, COMDATA
SETB DI
SETB E
CLR E
RET
;查表程序
WORD: MOV A, #00H
MOVC A, @A+DPTR
MOV COMDATA, A
INC DPTR
RET
;延时程序
DELAY: MOV R4, #5
D1: MOV R5, #5
D2: MOV R6, #100
DJNZ R6, $
DJNZ R5, D2
DJNZ R4, D1
RET
DELAY1: MOV R4, #50
D11: MOV R5, #50
D22: MOV R6, #100
DJNZ R6, $
DJNZ R5, D22
DJNZ R4, D11
RET
DELAY2: MOV R4, #100
D111: MOV R5, #100
D222: MOV R6, #100
DJNZ R6, $
DJNZ R5, D222
DJNZ R4, D111
RET
TT0:
;-- 调入了一幅图像:这是您新建的图像 --
;-- 宽度x高度=16x16 --
DB 000,000,000,000,080h,040h,0A0h,038h,0A4h,046h,086h,000,000,000,000,000
DB 000,000,000,000,003h,004h,008h,00Ah,008h,004h,003h,000,000,000,000,000
TT1:
;-- 调入了一幅图像:这是您新建的图像 --
;-- 宽度x高度=16x16 --
DB 000,0C0H,020H,0D0H,010H,010H,0F6H,0AAH,0F6H,030H,010H,0D0H,020H,0C0H,000,000
DB 000,000,001H,030H,028H,034H,00BH,006H,00BH,034H,028H,030H,001H,000,000,000
TT2:
;-- 调入了一幅图像:这是您新建的图像 --
;-- 宽度x高度=16x16 --
DB 000,000,000,060H,010H,040H,008H,008H,040H,010H,060H,000,000,000,000,000
DB 000,000,000,000,021H,012H,00DH,00DH,012H,021H,000,000,000,000,000,000
TT5 :DB 040h,080h,07Fh,000h,000h,000h,000h,000h
TAB:
;-- 文字: 0 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,0E0H,010H,008H,008H,010H,0E0H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,00FH,010H,020H,020H,010H,00FH,000H,000H,000H,000H,000H,000H,000H,000H,000H
ONE:
;-- 文字: 1 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,010H,010H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,020H,020H,03FH,020H,020H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
TWO:
;-- 文字: 2 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,070H,008H,008H,008H,088H,070H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,030H,028H,024H,022H,021H,030H,000H,000H,000H,000H,000H,000H,000H,000H,000H
THREE:
;-- 文字: 3 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,030H,008H,088H,088H,048H,030H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,018H,020H,020H,020H,011H,00EH,000H,000H,000H,000H,000H,000H,000H,000H,000H
;-- 文字: 4 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,000H,0C0H,020H,010H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,007H,004H,024H,024H,03FH,024H,000H,000H,000H,000H,000H,000H,000H,000H,000H
;-- 文字: 5 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,0F8H,008H,088H,088H,008H,008H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,019H,021H,020H,020H,011H,00EH,000H,000H,000H,000H,000H,000H,000H,000H,000H
;-- 文字: 6 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,0E0H,010H,088H,088H,018H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,00FH,011H,020H,020H,011H,00EH,000H,000H,000H,000H,000H,000H,000H,000H,000H
;-- 文字: 7 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,038H,008H,008H,0C8H,038H,008H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,03FH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
;-- 文字: 8 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,070H,088H,008H,008H,088H,070H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,01CH,022H,021H,021H,022H,01CH,000H,000H,000H,000H,000H,000H,000H,000H,000H
;-- 文字: 9 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,0E0H,010H,008H,008H,010H,0E0H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,031H,022H,022H,011H,00FH,000H,000H,000H,000H,000H,000H,000H,000H,000H
;-- 文字: A --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,000H,0C0H,038H,0E0H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 020H,03CH,023H,002H,002H,027H,038H,020H,000H,000H,000H,000H,000H,000H,000H,000H
;-- 文字: B --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 008H,0F8H,088H,088H,088H,070H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 020H,03FH,020H,020H,020H,011H,00EH,000H,000H,000H,000H,000H,000H,000H,000H,000H
;-- 文字: C --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 0C0H,030H,008H,008H,008H,008H,038H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 007H,018H,020H,020H,020H,010H,008H,000H,000H,000H,000H,000H,000H,000H,000H,000H
;-- 文字: D --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 008H,0F8H,008H,008H,008H,010H,0E0H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 020H,03FH,020H,020H,020H,010H,00FH,000H,000H,000H,000H,000H,000H,000H,000H,000H
;-- 文字: E --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 008H,0F8H,088H,088H,0E8H,008H,010H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 020H,03FH,020H,020H,023H,020H,018H,000H,000H,000H,000H,000H,000H,000H,000H,000H
;-- 文字: F --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 008H,0F8H,088H,088H,0E8H,008H,010H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 020H,03FH,020H,000H,003H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
t1:
;-- 调入了一幅图像:这是您新建的图像 --
;-- 宽度x高度=16x16 --
DB 000,000,000,008h,008h,0FCh,000,000,000,000,000,000,000,000,000,000
DB 000,000,000,020h,020h,03Fh,020h,020h,000,008h,018h,030h,000,000,000,000
t2:
;-- 调入了一幅图像:这是您新建的图像 --
;-- 宽度x高度=16x16 --
DB 000,000,000,038h,004h,004h,004h,0C4h,038h,000,000,000,000,000,000,000
DB 000,000,000,018h,014h,012h,011h,010h,018h,000,004h,00Ch,018h,000,000,000
t3:
;-- 调入了一幅图像:这是您新建的图像 --
;-- 宽度x高度=16x16 --
DB 000,000,000,018h,004h,044h,044h,0A4h,018h,000,000,000,000,000,000,000
DB 000,000,000,00Ch,010h,010h,010h,008h,007h,000,004h,00Ch,018h,000,000,000
JM0:
;-- 文字: 欢 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 014H,024H,044H,084H,064H,01CH,020H,018H,00FH,0E8H,008H,008H,028H,018H,008H,000
DB 020H,010H,04CH,043H,043H,02CH,020H,010H,00CH,003H,006H,018H,030H,060H,020H,000
JM1:
;-- 文字: 迎 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 040H,041H,0CEH,004H,000,0FCH,004H,002H,002H,0FCH,004H,004H,004H,0FCH,000,000
DB 040H,020H,01FH,020H,040H,047H,042H,041H,040H,05FH,040H,042H,044H,043H,040H,000
JM2:
;-- 文字: 使 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 040H,020H,0F0H,01CH,007H,0F2H,094H,094H,094H,0FFH,094H,094H,094H,0F4H,004H,000
DB 000,000,07FH,000,040H,041H,022H,014H,00CH,013H,010H,030H,020H,061H,020H,000
JM3:
;-- 文字: 用 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000,000,000,0FEH,022H,022H,022H,022H,0FEH,022H,022H,022H,022H,0FEH,000,000
DB 080H,040H,030H,00FH,002H,002H,002H,002H,0FFH,002H,002H,042H,082H,07FH,000,000
JM4:
;-- 文字: 数 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 010H,092H,054H,038H,0FFH,038H,054H,052H,080H,0F0H,01FH,012H,010H,0F0H,010H,000
DB 042H,042H,02AH,02EH,013H,01AH,026H,002H,040H,020H,013H,00CH,033H,060H,020H,000
JM5:
;-- 文字: 控 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 008H,008H,008H,0FFH,088H,048H,000,098H,048H,028H,00AH,02CH,048H,0D8H,008H,000
DB 002H,042H,081H,07FH,000,000,040H,042H,042H,042H,07EH,042H,042H,042H,040H,000
JM6:
;-- 文字: 直 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000,004H,004H,0F4H,094H,094H,09CH,097H,094H,094H,094H,0F4H,004H,004H,000,000
DB 040H,040H,040H,07FH,04AH,04AH,04AH,04AH,04AH,04AH,04AH,07FH,040H,040H,040H,000
JM71:
;-- 文字: 流 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 010H,060H,001H,086H,060H,004H,044H,064H
JM72:DB 055H,04EH,044H,064H,0C4H,004H,004H,000
JM73:DB 004H,004H,0FCH,003H,040H,030H,00FH,000
JM74:DB 000,07FH,000,03FH,040H,040H,070H,000
JM8:
;-- 文字: 电 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000,000,0F8H,048H,048H,048H,048H,0FFH,048H,048H,048H,048H,0F8H,000,000,000
DB 000,000,00FH,004H,004H,004H,004H,03FH,044H,044H,044H,044H,04FH,040H,070H,000
JM9:
;-- 文字: 流 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 010H,060H,001H,086H,060H,004H,044H,064H,055H,04EH,044H,064H,0C4H,004H,004H,000
DB 004H,004H,0FCH,003H,040H,030H,00FH,000,000,07FH,000,03FH,040H,040H,070H,000
JM10:
;-- 文字: 源 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 010H,021H,006H,0E0H,000,0FEH,002H,0F2H,05AH,056H,052H,052H,052H,0F2H,002H,000
DB 004H,0FCH,003H,040H,030H,00FH,020H,011H,04DH,081H,07FH,001H,005H,009H,030H,000
ZU0:
;-- 文字: 给 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 020H,030H,0ACH,063H,010H,040H,020H,050H,04CH,043H,044H,048H,030H,060H,020H,000
DB 022H,023H,022H,012H,012H,000,000,07EH,042H,042H,042H,042H,07EH,000,000,000
ZU1:
;-- 文字: 定 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000,010H,00CH,0A4H,024H,024H,025H,0E6H,024H,024H,024H,024H,014H,00CH,004H,000
DB 040H,020H,018H,007H,008H,010H,020H,07FH,042H,042H,042H,042H,040H,040H,000,000
ZU2:
;-- 文字: 实 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000,010H,00CH,004H,04CH,0B4H,094H,005H,0F6H,004H,004H,004H,014H,00CH,004H,000
DB 000,082H,082H,042H,042H,023H,012H,00AH,007H,00AH,012H,0E2H,042H,002H,002H,000
ZU3:
;-- 文字: 测 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 008H,031H,086H,060H,000,0FEH,002H,0F2H,002H,0FEH,000,0F8H,000,000,0FFH,000
DB 004H,0FCH,003H,000,080H,047H,030H,00FH,010H,067H,000,007H,040H,080H,07FH,000
M:
;-- 文字: : --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000,000,000,0C0H,0C0H,000,000,000,000,000,000,000,000,000,000,000
DB 000,000,000,030H,030H,000,000,000,000,000,000,000,000,000,000,000
ZU4:
;-- 文字: 步 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000,020H,020H,020H,0BCH,020H,020H,020H,0FFH,024H,024H,024H,024H,020H,020H,000
DB 000,044H,044H,042H,041H,020H,020H,020H,017H,010H,008H,004H,003H,002H,000,000
ZU5:
;-- 文字: 进 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 080H,082H,09CH,088H,000,088H,088H,0FFH,088H,088H,088H,0FFH,088H,088H,080H,000
DB 000,040H,020H,01FH,020H,050H,04CH,043H,040H,040H,040H,05FH,040H,040H,040H,000
GG:
;-- 调入了一幅图像:C:\Documents and Settings\Administrator\My Documents\MA.bmp --
;-- 宽度x高度=16x16 --
;-- 调入了一幅图像:C:\Documents and Settings\Administrator\My Documents\MA.bmp --
;-- 宽度x高度=16x16 --
DB 0C0H,040H,040H,0C0H,040H,040H,0C0H,000,000,000,0E0H,01CH,070H,080H,000,000
DB 01FH,000,000,01FH,000,000,01FH,000,010H,01EH,011H,001H,001H,013H,01CH,010H
FF1:
;-- 文字: 幅 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 0F8H,008H,0FFH,008H,0F8H,000,002H,07AH,04AH,04AH,04AH,04AH,04AH,07AH,002H,000
DB 00FH,000,0FFH,008H,00FH,000,07FH,025H,025H,025H,03FH,025H,025H,025H,07FH,000
FF2:
;-- 文字: 度 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000,000,0FCH,004H,024H,024H,0FCH,0A5H,0A6H,0A4H,0FCH,024H,024H,024H,004H,000
DB 080H,060H,01FH,080H,080H,042H,046H,02AH,012H,012H,02AH,026H,042H,0C0H,040H,000
;2mS延时子程序YANSHI
YANSHI: MOV R4, #0FFH
WW: NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R4, WW
RET
;键扫描子程序KEY(无键按下,键值00H;0至9键键值01H至0AH,A至F键键值0BH至10H)
KEY:
PUSH DPH
PUSH DPL
PUSH PSW
CLR RS0
SETB RS1
LCALL CSH8155
LCALL KEY1
JZ EXIT
LCALL YANSHI
LCALL YANSHI
LCALL KEY1
JZ EXIT
K2: MOV R2, #0FEH
MOV R4, #00H
K3: MOV P2, #BG8155
MOV R1, #BD8155
MOV P0, R1
MOV A, R2
MOVX @R1, A
MOV P2, #CG8155
MOV R1, #CD8155
MOV P0, R1
MOVX A, @R1
JB ACC.0, LONE
MOV A, #01H
LJMP LKP
LONE: JB ACC.1, NEXT
MOV A, #09H
LKP: ADD A, R4
PUSH ACC
K4: LCALL YANSHI
LCALL KEY1
JNZ K4
POP ACC
LJMP EXIT
NEXT: INC R4
MOV A, R2
JNB ACC.7,EXIT
RL A
MOV R2, A
LJMP K3
EXIT: POP PSW
POP DPL
POP DPH
RET
;键处理子程序KEY1
KEY1: MOV P2, #BG8155
MOV R1, #BD8155
MOV P0, R1
MOV A, #00H
MOVX @R1, A
INC R1
MOVX A, @R1
CPL A
ANL A, #03H
RET
;计算tab的值
;/*入口参数keyzhi 2FH 出口参数:DPTR*/16:14 2006-3-12
FINDTAB: MOV A,KEYZHI
MOV B,#32
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -