📄 0108_12864lcd-f149.asm
字号:
bit.b #OFIFG,&IFG1 ; OSC fault flag set?
jnz SetupOsc2 ; OSC Fault, clear flag again
bis.b #SELM1+SELS,&BCSCTL2 ; 确认XT2启动完毕后,MCLK=SMCLK=XT2
ret
nop
;*--------------------------------
;初始化子程序
;*--------------------------------
INT BIC.B #20H,&P4OUT;
NOP;
NOP;
;MOV.B #0C0H,COM; ;0C0H设置显示起始行
NOP
CALL #PRM0;
NOP;
NOP;
CALL #PRR0;
MOV.B #03FH,COM; ;开显示设置
nop;
CALL #PRM0;
NOP;
NOP;
CALL #PRR0;
nop
nop
RET
NOP
NOP
;*-----------------------------------
;清屏子程序(清显示RAM)
;*-----------------------------------
XIANF PUSH R4;
PUSH R6;
PUSH R7;
MOV.B #00H,R4;
MOV.B #00H,R6;
nop
XIANF11 MOV.B R6,R4;
BIS.B #0B8H,R4;
MOV.B R4,COM;
NOP ;
NOP ;
CALL #PRM0;
NOP ;
NOP ;
CALL #PRR0;
MOV.B #40H,COM;
NOP ;
NOP ;
CALL #PRM0;
NOP ;
NOP ;
CALL #PRR0 ;
MOV.B #40H,R7;
XIANF12 ;MOV.B #0AAH,DAT;
CALL #PRM1 ;
NOP ;
NOP ;
CALL #PRR1 ;
DEC.B R7 ;
CMP.B #00H,R7 ;
JNE XIANF12 ;
INC.B R6 ;
NOP ;
CMP #08H,R6;
JNE XIANF11;
NOP
NOP
BIS.B #08H,&P1OUT;
MOV.B #0FFH,&P1DIR;
POP R7;
POP R6;
POP R4;
RET;
NOP
;-------------------------------------------------------
;中屏 写指令代码子程序
;-------------------------------------------------------
PRM0 PUSH R5
BIS.B #0F8H,&P4DIR;
BIC.B #08H,&P4OUT; ;CS2
BIS.B #10H,&P4OUT; ;CS1
BIC.B #80H,&P4OUT; ;CLR RS
BIS.B #40H,&P4OUT;; ;SETB R/W
PRM01 NOP
NOP
MOV.B #00H,&P5DIR;
BIS.B #20H,&P4OUT; ;SETB E
NOP
NOP
MOV.B &P5IN,R5;
NOP
NOP
BIC.B #20H,&P4OUT; ;CLR E
BIT.B #80H,R5; ;JB
NOP
NOP
NOP
NOP
JNZ PRM01;
BIC.B #40H,&P4OUT; ;CLR R/W XIE
MOV.B COM,&P5OUT; ;
BIS.B #0FFH,&P5DIR;
NOP;
NOP
BIS.B #20H,&P4OUT;
NOP
NOP
BIC.B #20H,&P4OUT; ;
POP R5
RET
NOP
;---------------------------------------------------------
;写中屏显示数据子程序
;---------------------------------------------------------
PRM1 PUSH R5
BIS.B #0F8H,&P4DIR;
BIC.B #08H,&P4OUT; ;CS2
BIS.B #10H,&P4OUT;
BIC.B #80H,&P4OUT;
BIS.B #40H,&P4OUT; ;R/W
PRM11 NOP
NOP
MOV.B #00H,&P5DIR;
BIS.B #20H,&P4OUT;
NOP
NOP
MOV.B &P5IN,R5;
NOP
NOP
BIC.B #20H,&P4OUT;
BIT.B #80H,R5; ;JB
JNZ PRM11;
NOP
NOP
NOP
NOP
BIS.B #80H,&P4OUT; ;SETB RS
BIC.B #40H,&P4OUT; ;CLR R/W XIE
MOV.B DAT,&P5OUT; ;
BIS.B #0FFH,&P5DIR;
NOP
NOP
BIS.B #20H,&P4OUT;
NOP
NOP
BIC.B #20H,&P4OUT;
POP R5;
RET
NOP
;---------------------------------------------------------
;写右屏指令代码子程序
;---------------------------------------------------------
PRR0 PUSH R5
BIS.B #0F8H,&P4DIR;
BIS.B #08H,&P4OUT; ;CS2
BIC.B #10H,&P4OUT; ;CS1
BIC.B #80H,&P4OUT; ;R/S
BIS.B #40H,&P4OUT; ;R/W
PRR01 NOP
NOP
MOV.B #00H,&P5DIR;
BIS.B #20H,&P4OUT;
NOP
NOP
MOV.B &P5IN,R5;
NOP
NOP
BIC.B #20H,&P4OUT;
BIT.B #80H,R5;
JNZ PRM11;
NOP
NOP
NOP
NOP
BIC.B #40H,&P4OUT; ;CLR R/W XIE
BIS.B #20H,&P4OUT; ;SETB E
MOV.B COM,&P5OUT; ;
BIS.B #0FFH,&P5DIR; ;ADD
NOP
NOP
BIC.B #20H,&P4OUT;
POP R5;
RET
NOP
;---------------------------------------------------------
;写 右屏显示数据子程序
;---------------------------------------------------------
PRR1 PUSH R5
BIS.B #0F8H,&P4DIR;
BIS.B #08H,&P4OUT; ;CS2
BIC.B #10H,&P4OUT;
BIC.B #80H,&P4OUT;
BIS.B #40H,&P4OUT; ;R/W
PRR11 NOP
NOP
MOV.B #00H,&P5DIR;
BIS.B #20H,&P4OUT;
NOP
NOP
MOV.B &P5IN,R5;
NOP
NOP
BIC.B #20H,&P4OUT;
BIT.B #80H,R5;
JNZ PRR11;
NOP
NOP
NOP
NOP
BIS.B #80H,&P4OUT; ;SETB RS
BIC.B #40H,&P4OUT; ;CLR R/W XIE
MOV.B DAT,&P5OUT; ;
BIS.B #0FFH,&P5DIR;
NOP
NOP
BIS.B #20H,&P4OUT;
NOP
NOP
BIC.B #20H,&P4OUT;
POP R5;
RET
NOP
TAB1 DB 00H,01H,02H,03H
CTAB DB 000H,038H,07CH,044H,044H,044H,07CH,038H
;0 CHAR_30
DB 000H,038H,044H,044H,044H,044H,038H,000H
;1 CHAR_31
DB 000H,008H,008H,07CH,000H,000H,000H,000H
;2 CHAR_32
DB 000H,048H,064H,064H,064H,054H,048H,000H
;3 CHAR_33
DB 000H,028H,044H,044H,054H,054H,028H,000H
;4 CHAR_34
DB 000H,020H,030H,028H,028H,024H,07CH,020H
;5 CHAR_35
DB 000H,05CH,054H,054H,054H,054H,024H,000H
;6 CHAR_36
DB 000H,038H,054H,054H,054H,054H,020H,000H
;7 CHAR_37
DB 000H,004H,004H,044H,024H,014H,00CH,000H
;8 CHAR_38
DB 000H,028H,054H,054H,054H,054H,054H,028H
;9 CHAR_39
DB 000H,008H,054H,054H,054H,054H,038H,000H
;A CHAR_41
DB 040H,060H,018H,014H,014H,018H,070H,040H
;B CHAR_42
DB 07CH,054H,054H,054H,054H,054H,028H,000H
;C CHAR_43
DB 038H,044H,044H,044H,044H,044H,028H,000H
;D CHAR_44
DB 07CH,044H,044H,044H,044H,044H,038H,000H
;E CHAR_45
DB 000H,07CH,054H,054H,054H,054H,044H,000H
;F CHAR_46
DB 07CH,014H,014H,014H,014H,014H,004H,000H
;G CHAR_47
DB 038H,044H,044H,044H,054H,054H,078H,000H
;H CHAR_48
DB 000H,07CH,010H,010H,010H,010H,07CH,000H
;I CHAR_49
DB 000H,000H,000H,07CH,000H,000H,000H,000H
;J CHAR_4A
DB 000H,020H,040H,040H,040H,040H,03CH,000H
;K CHAR_4B
DB 000H,07CH,010H,018H,018H,024H,044H,000H
;L CHAR_4C
DB 000H,07CH,040H,040H,040H,040H,040H,000H
;M CHAR_4D
DB 07CH,008H,010H,070H,010H,008H,07CH,000H
;N CHAR_4E
DB 000H,07CH,00CH,018H,030H,060H,07CH,000H
;O CHAR_4F
DB 000H,038H,044H,044H,044H,044H,038H,000H
;P CHAR_50
DB 07CH,014H,014H,014H,014H,014H,008H,000H
;Q CHAR_51
DB 000H,038H,044H,044H,064H,044H,038H,000H
;R CHAR_52
DB 07CH,014H,014H,014H,034H,054H,008H,000H
;S CHAR_53
DB 008H,054H,054H,054H,054H,054H,020H,000H
;T CHAR_54
DB 004H,004H,004H,07CH,004H,004H,004H,000H
;U CHAR_55
DB 03CH,040H,040H,040H,040H,040H,03CH,000H
;V CHAR_56
DB 004H,018H,030H,060H,030H,018H,004H,000H
;W CHAR_57
DB 01CH,060H,018H,00CH,018H,060H,01CH,000H
;X CHAR_58
DB 000H,044H,028H,010H,028H,044H,000H,000H
;Y CHAR_59
DB 000H,004H,008H,070H,008H,004H,000H,000H
;Z CHAR_5A
DB 044H,064H,054H,054H,04CH,044H,044H,000H
TABH DB 00H,01H,02H,03H
CCTAB ;成 CB3C9
DB 000H,000H,0F8H,0F8H,048H,048H,0C8H,0C8H
DB 0FFH,0FFH,009H,00BH,0CAH,0C8H,088H,008H
DB 040H,070H,03FH,00FH,008H,058H,05FH,06FH
DB 030H,01BH,00FH,01EH,033H,061H,0F0H,0F0H
;功 CB9A6
DB 000H,004H,004H,004H,0FCH,0FCH,014H,014H
DB 014H,090H,0FFH,07FH,010H,0F0H,0F0H,000H
DB 004H,00CH,00CH,004H,007H,043H,062H,033H
DB 01DH,02FH,023H,060H,060H,03FH,01FH,000H
;电 CB5E7
DB 000H,000H,0F8H,0F8H,048H,048H,048H,0FFH
DB 0FFH,048H,048H,048H,0F8H,0F8H,000H,000H
DB 000H,000H,00FH,00FH,004H,004H,004H,03FH
DB 07FH,044H,044H,044H,04FH,04FH,070H,070H
;子 CD7D3
DB 000H,000H,002H,002H,002H,002H,002H,0E2H
DB 0F2H,01AH,00EH,006H,002H,080H,080H,000H
DB 001H,001H,001H,001H,001H,041H,0C1H,0FFH
DB 07FH,001H,001H,001H,001H,001H,001H,001H
ORG 0FFFEH;
DW RESET;
END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -