📄 xainshi.asm
字号:
DB 020H,010H,008H,0FCH,003H,002H,010H,010H,07FH,088H,088H,084H,086H,0E4H,000H,000H
DB 000H,004H,004H,005H,004H,004H,004H,0FFH,004H,004H,004H,004H,004H,004H,004H,000H ;05
;-- 文字: 北 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,020H,020H,020H,020H,0FFH,000H,000H,000H,0FFH,040H,020H,030H,018H,010H,000H ;06
DB 010H,030H,018H,008H,004H,07FH,000H,000H,000H,03FH,040H,040H,040H,040H,078H,000H
;-- 文字: 京 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,004H,004H,0E4H,024H,024H,025H,026H,024H,024H,024H,0E4H,006H,004H,000H,000H
DB 000H,020H,010H,019H,00DH,041H,081H,07FH,001H,001H,005H,00DH,038H,010H,000H,000H ;07
;-- 文字: 很 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 010H,088H,0C4H,023H,01AH,000H,0FEH,04AH,04AH,0CAH,04AH,04AH,07EH,000H,000H,000H
DB 001H,000H,0FFH,000H,000H,040H,0FFH,040H,020H,013H,004H,01AH,033H,062H,020H,000H ;08
;-- 文字: 好 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 010H,010H,0F0H,01FH,010H,0F0H,080H,082H,082H,082H,0F2H,08AH,086H,082H,080H,000H
DB 080H,043H,022H,014H,00CH,073H,020H,000H,040H,080H,07FH,000H,000H,000H,000H,000H ;09
;-- 文字: 强 --
;-- Times New Roman12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,0F2H,012H,012H,01EH,000H,0C0H,05EH,052H,0F2H,052H,052H,05EH,0C0H,000H,000H
DB 000H,001H,041H,081H,07FH,000H,087H,084H,084H,0FFH,044H,044H,054H,0E7H,040H,000H ;0A
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
XIAN1: MOV R6,#00H ;显示表中所示汉字
MOV R7,#00H
LOP1: MOV PAG,#00H
MOV A,R7
MOV DPTR,#TABC1
MOVC A,@A+DPTR
MOV COD,A
MOV COLUMN,R6
LCALL CCW_PR
INC R7
MOV A,#10H
ADD A,R6
MOV R6,A
CJNE R7,#04H,LOP1
NOP
NOP
RET
TABC1: DB 00H,01H,02H,03H
FXIAN1: MOV R6,#00H ;反白显示表中汉字
MOV R7,#00H
LOPF1: MOV PAG,#00H
MOV A,R7
MOV DPTR,#TABC1
MOVC A,@A+DPTR
MOV COD,A
MOV COLUMN,R6
LCALL CCFW_PR
INC R7
MOV A,#10H
ADD A,R6
MOV R6,A
CJNE R7,#04H,LOPF1
NOP
NOP
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
XIAN2: MOV R6,#00H ;显示表中所示汉字
MOV R7,#00H
LOP2: MOV PAG,#02H
MOV A,R7
MOV DPTR,#TABC2
MOVC A,@A+DPTR
MOV COD,A
MOV COLUMN,R6
LCALL CCW_PR
INC R7
MOV A,#10H
ADD A,R6
MOV R6,A
CJNE R7,#04H,LOP2
NOP
NOP
RET
TABC2: DB 04H,05H,02H,03H
FXIAN2: MOV R6,#00H ;反白显示表中汉字
MOV R7,#00H
LOPF2: MOV PAG,#02H
MOV A,R7
MOV DPTR,#TABC2
MOVC A,@A+DPTR
MOV COD,A
MOV COLUMN,R6
LCALL CCFW_PR
INC R7
MOV A,#10H
ADD A,R6
MOV R6,A
CJNE R7,#04H,LOPF2
NOP
NOP
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
XIAN21: MOV R6,#00H ;显示表中所示汉字
MOV R7,#00H
LOP21: MOV PAG,#00H
MOV A,R7
MOV DPTR,#TABC2
MOVC A,@A+DPTR
MOV COD,A
MOV COLUMN,R6
LCALL CCW_PR
INC R7
MOV A,#10H
ADD A,R6
MOV R6,A
CJNE R7,#04H,LOP21
NOP
NOP
RET
TABC21: DB 04H,05H,02H,03H
FXIAN21:MOV R6,#00H ;反白显示表中汉字
MOV R7,#00H
LOPF21: MOV PAG,#00H
MOV A,R7
MOV DPTR,#TABC2
MOVC A,@A+DPTR
MOV COD,A
MOV COLUMN,R6
LCALL CCFW_PR
INC R7
MOV A,#10H
ADD A,R6
MOV R6,A
CJNE R7,#04H,LOPF21
NOP
NOP
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
XIAN3: MOV R6,#00H ;显示表中所示汉字
MOV R7,#00H
LOP3: MOV PAG,#02H
MOV A,R7
MOV DPTR,#TABC3
MOVC A,@A+DPTR
MOV COD,A
MOV COLUMN,R6
LCALL CCW_PR
INC R7
MOV A,#10H
ADD A,R6
MOV R6,A
CJNE R7,#04H,LOP3
NOP
NOP
RET
TABC3: DB 06H,07H,02H,03H
FXIAN3: MOV R6,#00H ;反白显示表中汉字
MOV R7,#00H
LOPF3: MOV PAG,#02H
MOV A,R7
MOV DPTR,#TABC3
MOVC A,@A+DPTR
MOV COD,A
MOV COLUMN,R6
LCALL CCFW_PR
INC R7
MOV A,#10H
ADD A,R6
MOV R6,A
CJNE R7,#04H,LOPF3
NOP
NOP
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
XIAN: MOV PAG,#00H ;显示单个的字
MOV COLUMN,#00H
; MOV COD,#00H
LCALL CCW_PR
RET
FXIAN: MOV PAG,#00H ;反白显示单个的字
MOV COLUMN,#00H
; MOV COD,#00H
LCALL CCFW_PR
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KEYTAB: DB 0EEH,0DEH,0BEH,0EDH,0DDH,0BDH,0EBH,0DBH,0BBH,0E7H,0D7H,0B7H
; 1 , 2 , 3 , 4 , 5 , 6 , 7, 8 , 9 ,10 , 11, 12
KEYD: MOV P2,#0FFH ;置P2输入口
CLR P2.4
CLR P2.5
CLR P2.6
CLR P2.7
MOV A,P2
MOV B,A
CJNE A,#0FH,KEY
KEYOUT: LJMP KEYD
KEY: LCALL D10MS
MOV A,P2
CJNE A,B,KEYOUT
SETB P2.7
SETB P2.6
SETB P2.5
MOV A,P2
CJNE A,#0EFH,KEYL0
SETB P2.4
CLR P2.5
MOV A,P2
CJNE A,#0DFH,KEYL1
SETB P2.5
CLR P2.6
MOV A,P2
CJNE A,#0BFH,KEYL2
LJMP KEYOUT
KEYL0: MOV R2,#00H
LJMP KEYL3
KEYL1: MOV R2,#08H
LJMP KEYL3
KEYL2: MOV R2,#10H
LJMP KEYL3
KEYL3: MOV DPTR,#KEYTAB
MOV B,A
CLR A
MOV R0,A
KEYL4: MOV A,R0
SUBB A,#0CH
JNC KEYOUT
MOV A,R0
MOVC A,@A+DPTR
INC R0
CJNE A,B,KEYL4
DEC R0
MOV A,R0
MOV B,A
RL A
ADD A,B
MOV DPTR,#KEYDTAB
JMP @A+DPTR
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KEYDTAB:LJMP KEYD1
LJMP KEYD2
LJMP KEYD3
LJMP KEYD4
LJMP KEYD5
LJMP KEYD6
LJMP KEYD7
LJMP KEYD8
LJMP KEYD9
LJMP KEYD10
LJMP KEYD0
LJMP KEYD12
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KEYD1: ;1键处理程序
RET
KEYD2:
;2键处理程序
RET
KEYD3: ;3键处理程序
RET
KEYD4: ;4键处理程序
RET
KEYD5: ;5键处理程序
RET
KEYD6: ;6键处理程序
RET
KEYD7: ;7键处理程序
RET
KEYD8: MOV A,DWSH ;8键处理程序
INC A
CJNE A,#04H,A1
MOV A,#01H
A1: CJNE A,#01H,A2
MOV DWSH,A
LCALL CLEAR
LCALL FXIAN1
LCALL XIAN2
SETB DX1
CLR DX2
CLR DX3
AJMP KOUT
A2: CJNE A,#02H,A3
MOV DWSH,A
LCALL CLEAR
LCALL XIAN1
LCALL FXIAN2
SETB DX2
CLR DX1
CLR DX3
AJMP KOUT
A3: MOV DWSH,A
LCALL CLEAR
LCALL XIAN21
LCALL FXIAN3
CLR DX1
CLR DX2
SETB DX3
RET
KEYD9:
RET
KEYD10: JB DX1,SHOW11
JB DX2,SHOW12
JB DX3,SHOW13
SHOW11: LCALL CLEAR
MOV COD,#09H
LCALL XIAN ;ENTER键处理程序
AJMP KOUT
SHOW12: LCALL CLEAR
MOV COD,#0AH
LCALL XIAN
AJMP KOUT
SHOW13: LCALL CLEAR
MOV PAG,#00H ;显示单个的字
MOV COLUMN,#00H
MOV COD,#08H
LCALL CCW_PR
MOV PAG,#00H ;显示单个的字
MOV COLUMN,#20H
MOV COD,#09H
LCALL CCW_PR
RET
AJMP KOUT
KEYD0: ;0键处理程序
RET
KEYD12: ;BACK键处理程序
RET
KOUT: NOP
NOP
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG 1000H
MAIN: LCALL INT
LCALL CLEAR
MOV DWSH,#03H
LCALL KEYD8
SCAN: LCALL KEYD
NOP
LJMP SCAN
NOP
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -