⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s12864.asm

📁 两个LED的驱动程序源代码
💻 ASM
字号:

;KS0108控制器,LCM型号:TRULY M12864-1A3,我找不到有关它的资料,用的是MSC-G12864的资料,居然也能显示
CS1 BIT P3.4
CS2 BIT P3.5
RST BIT P3.3
RS BIT P1.0
RW BIT P1.1
E BIT P1.2 ;RS RW CS1 CS2只能在E为低时改变

COM EQU 30H
DAT EQU 31H
ORG 0000H
JMP MAIN
MAIN:MOV SP,#60H
CLR A
MOV P0,A
MOV P2,A

ACALL RESET
M1:;LCALL DL12MS
LCALL INIT
M2:LCALL CLEAR
LCALL DISLMAP
LCALL DISRMAP

LCALL DISHZ
SJMP $

RESET:CLR RST;复位
LCALL DL1MS
SETB RST
RET

WC:CLR RS;写指令
SETB RW
WC1:MOV A,#0FFH
MOV P0,A
SETB E
MOV A,P0
CLR E
JB ACC.7,WC1
CLR RW
MOV P0,COM
SETB E
NOP
CLR E
RET
LEFTWC:CLR CS2;左半屏写指令
SETB CS1
ACALL WC
RET

RIGHTWC:SETB CS2;右半屏写指令
CLR CS1
ACALL WC
RET

LEFTWD:CLR CS2;左半屏写数据
SETB CS1
ACALL WD
RET

RIGHTWD: SETB CS2;左半屏写数据
CLR CS1
ACALL WD
RET

WD:CLR RS;写数据子程序
SETB RW
WD1:MOV A,#0FFH
MOV P0,A
SETB E
MOV A,P0
CLR E
JB ACC.7,WD1;判断忙?
SETB RS
CLR RW
MOV P0,DAT
SETB E
NOP
CLR E
RET
INIT:MOV COM,#0C0H;初始化
LCALL LEFTWC
LCALL RIGHTWC
MOV COM,#03FH
LCALL LEFTWC
LCALL RIGHTWC
RET

CLEAR:NOP;清屏
ACALL LCLEAR;左半屏
ACALL RCLEAR;右半屏
RET
LCLEAR:MOV R7,#8
MOV R6,#64
MOV R0,#40H
MOV R1,#0B8H
LCLEAR0:MOV COM,R1
LCALL LEFTWC
LCLEAR1:MOV COM,R0
LCALL LEFTWC
MOV DAT,#00h
LCALL LEFTWD
INC R0
DJNZ R6,LCLEAR1
MOV R0,#40H
INC R1
DJNZ R7,LCLEAR0
RET
RCLEAR:MOV R7,#8
MOV R6,#64
MOV R0,#40H
MOV R1,#0B8H
RCLEAR0:MOV COM,R1
LCALL RIGHTWC
RCLEAR1:MOV COM,R0
LCALL RIGHTWC
MOV DAT,#00H
LCALL RIGHTWD
INC R0
DJNZ R6,RCLEAR1
MOV R0,#40H
INC R1
DJNZ R7,RCLEAR0
RET
DISHZ:MOV DPTR,#HZTAB;汉字显示
MOV R3,#4
MOV R0,#0B8H
MOV R1,#040H
DISHZ0:MOV R4,#2
DISHZ1:MOV COM,R0
LCALL LEFTWC
MOV COM,R1
LCALL LEFTWC
MOV R5,#16

DISHZ2:CLR A
MOVC A,@A+DPTR
INC DPTR
MOV DAT,A
LCALL LEFTWD
HZ1:DJNZ R5,DISHZ2
INC R0
DJNZ R4,DISHZ1
DEC R0
DEC R0
MOV A,R1
ADD A,#16
MOV R1,A
DJNZ R3,DISHZ0
MOV R3,#4
MOV R0,#0B8H;初始PAGE
MOV R1,#040H;初始ADDRESS
DISRHZ0:MOV R4,#2;一个汉字分上下两次完成
DISRHZ1:MOV COM,R0
LCALL RIGHTWC;右
MOV COM,R1
LCALL RIGHTWC
MOV R5,#16;半个汉字为16字节点阵数据
DISRHZ2:CLR A
MOVC A,@A+DPTR
INC DPTR
MOV DAT,A
LCALL RIGHTWD
RHZ1:DJNZ R5,DISRHZ2
INC R0
DJNZ R4,DISRHZ1
DEC R0
DEC R0
MOV A,R1
ADD A,#16
MOV R1,A
DJNZ R3,DISRHZ0
RET
;====================图形显示子程序===================
DISLMAP:MOV R4,#8
MOV R3,#0B8H
DISLM0:MOV COM,R3
LCALL LEFTWC
MOV COM,#40H
LCALL LEFTWC
MOV R5,#64
MOV DPTR,#MAP5
DISLM1:CLR A
MOVC A,@A+DPTR
INC DPTR
MOV DAT,A
LCALL LEFTWD
DJNZ R5,DISLM1
INC R3
DJNZ R4,DISLM0
RET

DISRMAP:
MOV R4,#8
MOV R3,#0B8H
DISRM0:MOV COM,R3
LCALL RIGHTWC
MOV COM,#40H
LCALL RIGHTWC
MOV R5,#64
MOV DPTR,#MAP5
DISRM1:CLR A
MOVC A,@A+DPTR
INC DPTR
MOV DAT,A
LCALL RIGHTWD
DJNZ R5,DISRM1
INC R3
DJNZ R4,DISRM0
RET


DL1MS:MOV R7,#50
DJNZ R7,$
RET

DL12MS:
DLA:MOV R7,#18H
DLB:MOV R6,#0FFH
DLC:DJNZ R6,DLC
DJNZ R7,DLB
RET
ORG 0400H
MAP5:DB  0FFH,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H
DB  001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H
DB  001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H
DB  001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H
DB  001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H
DB  001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,0FFH
DB  0FFH,000H,000H,000H,000H,000H,000H,000H,030H,030H,0B0H,0D0H,090H,090H,090H,0FCH
DB  0FCH,0F8H,090H,090H,090H,0B0H,030H,030H,030H,010H,000H,000H,080H,0C0H,060H,0A0H
DB  0B0H,09CH,09CH,090H,0A0H,020H,000H,0F0H,000H,000H,0FCH,0FCH,000H,000H,000H,000H
DB  000H,020H,028H,0A8H,0F8H,0FCH,0A4H,020H,040H,058H,050H,020H,0FCH,0FCH,000H,000H
DB  000H,000H,000H,000H,000H,020H,030H,0A0H,0FCH,0FCH,0A0H,020H,050H,050H,07CH,07CH
DB  0D0H,090H,010H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH
DB  0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,01FH,01EH,012H,012H,012H
DB  012H,012H,012H,012H,03EH,01EH,000H,000H,000H,000H,000H,000H,000H,000H,000H,01FH
DB  018H,030H,034H,017H,011H,008H,000H,013H,030H,030H,03FH,01FH,000H,000H,000H,004H
DB  004H,006H,003H,001H,03FH,01FH,001H,002H,003H,003H,001H,001H,03FH,01FH,001H,003H
DB  003H,001H,000H,000H,010H,011H,011H,010H,01FH,00FH,018H,018H,009H,009H,006H,006H
DB  007H,00CH,018H,018H,018H,008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH
DB  0FFH,000H,000H,000H,000H,000H,000H,000H,000H,040H,0C0H,0C0H,080H,000H,000H,000H
DB  000H,000H,0E0H,060H,080H,060H,000H,000H,000H,000H,000H,000H,000H,000H,080H,080H
DB  0C0H,0E0H,000H,000H,060H,0E0H,040H,040H,000H,000H,000H,000H,000H,000H,000H,000H
DB  000H,080H,080H,080H,080H,0C0H,080H,080H,080H,000H,0E0H,0C0H,080H,080H,080H,080H
DB  000H,000H,000H,000H,000H,000H,080H,080H,080H,0E0H,0C0H,080H,080H,080H,0E0H,0A0H
DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH
DB  0FFH,000H,000H,000H,000H,000H,000H,004H,006H,002H,0FEH,066H,0B0H,0D0H,07FH,025H
DB  0A5H,099H,047H,07FH,079H,0EDH,0C1H,0C1H,080H,000H,000H,001H,003H,003H,001H,0FFH
DB  000H,001H,061H,0E9H,0ABH,0BBH,0ABH,0ABH,0EBH,0E9H,001H,003H,003H,000H,000H,000H
DB  080H,0C1H,0C4H,042H,06BH,038H,03DH,0A2H,0CCH,0C7H,06BH,039H,03FH,070H,0E0H,0C0H
DB  0C0H,040H,000H,000H,080H,081H,081H,0F5H,0FDH,08EH,0FAH,0C8H,0C8H,0FAH,0D2H,0D6H
DB  0FDH,0F1H,081H,080H,080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH
DB  0FFH,000H,000H,000H,000H,000H,000H,000H,0C0H,020H,020H,020H,020H,020H,0C0H,000H
DB  000H,000H,0E0H,020H,020H,020H,020H,0E0H,020H,000H,000H,000H,080H,040H,020H,020H
DB  020H,020H,040H,080H,000H,000H,080H,040H,020H,020H,020H,020H,040H,080H,000H,000H
DB  0C0H,020H,020H,020H,020H,0C0H,000H,000H,000H,000H,080H,040H,020H,020H,020H,020H
DB  040H,080H,000H,000H,080H,040H,020H,020H,020H,020H,040H,080H,000H,000H,080H,040H
DB  020H,020H,020H,020H,040H,080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH
DB  0FFH,000H,000H,000H,000H,000H,000H,000H,001H,080H,040H,020H,010H,00CH,083H,000H
DB  000H,000H,000H,000H,0F0H,00CH,003H,000H,000H,000H,000H,000H,087H,008H,010H,010H
DB  010H,010H,0C8H,03FH,000H,000H,087H,008H,010H,010H,010H,010H,0C8H,03FH,000H,000H
DB  0C1H,000H,004H,004H,006H,009H,0F0H,000H,000H,000H,0E3H,014H,008H,008H,008H,008H
DB  014H,0E3H,000H,000H,0E3H,014H,008H,008H,008H,008H,014H,0E3H,000H,000H,0E3H,014H
DB  008H,008H,008H,008H,014H,0E3H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH
DB  0FFH,080H,080H,080H,080H,080H,080H,080H,083H,082H,082H,082H,082H,082H,083H,080H
DB  080H,080H,080H,080H,083H,080H,080H,080H,080H,080H,080H,080H,081H,082H,082H,082H
DB  082H,081H,080H,080H,080H,080H,081H,082H,082H,082H,082H,081H,080H,080H,080H,080H
DB  081H,082H,082H,082H,082H,081H,080H,080H,080H,080H,080H,081H,082H,082H,082H,082H
DB  081H,080H,080H,080H,080H,081H,082H,082H,082H,082H,081H,080H,080H,080H,080H,081H
DB  082H,082H,082H,082H,081H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,0FFH
MAP2:DB  0FDH,0F0H,0EDH,0DBH,0EDH,0F3H,0FFH,0FFH,0F7H,0EBH,0F7H,0FFH,0FFH,0F3H,0EDH,0DBH
DB  0EDH,0F3H,0FFH,0FFH,0F7H,0EBH,0F7H,0FFH,0FFH,0F3H,0EDH,0DBH,0EDH,0F3H,0FFH,0FFH
DB  0F7H,0EBH,0F7H,0FFH,0FFH,0F3H,0EDH,0DBH,0EDH,0F3H,0FFH,0FFH,0F7H,0EBH,0F7H,0FFH
DB  0FFH,0F3H,0EDH,0DBH,0EDH,0F3H,0FFH,0FFH,0F7H,0EBH,0F7H,0FFH,00FH,003H,0C5H,0E3H
DB  0C1H,0C3H,0F3H,0C3H,0C3H,0CBH,0C7H,04FH,00FH,003H,0EDH,05BH,06DH,073H,07FH,01FH
DB  007H,083H,0E7H,007H,007H,073H,0EDH,0DBH,0EDH,0F3H,0FFH,0FFH,0F7H,0EBH,0F7H,0FFH
DB  0FFH,0F9H,076H,0EDH,076H,0F9H,0FFH,0FFH,0FBH,0F5H,0FBH,0FFH,0FFH,0F9H,076H,02DH
DB  0B6H,099H,05FH,04FH,02BH,025H,023H,017H,017H,011H,016H,015H,016H,011H,097H,097H
DB  093H,0A5H,02BH,02FH,04FH,059H,096H,0ADH,036H,079H,0FFH,0FFH,0FBH,001H,039H,0FCH
DB  0FEH,0E6H,0CEH,0FCH,0F8H,0FCH,08EH,0C2H,0FEH,07CH,039H,083H,00CH,000H,040H,044H
DB  05DH,0EDH,077H,0F5H,075H,044H,040H,040H,04CH,040H,000H,010H,034H,036H,0ECH,0CCH
DB  0B8H,01BH,01FH,0F6H,0BCH,048H,038H,039H,018H,001H,081H,0FFH,0FBH,0F5H,0FBH,0FFH
DB  0FFH,07CH,0BBH,076H,03BH,07CH,07FH,07FH,03DH,08AH,065H,013H,009H,004H,002H,001H
DB  000H,000H,000H,000H,004H,004H,004H,004H,008H,008H,008H,010H,010H,020H,040H,000H
DB  000H,000H,003H,000H,000H,000H,000H,000H,029H,02AH,054H,009H,014H,062H,089H,03CH
DB  0FCH,079H,0B3H,067H,0AFH,067H,0F3H,0F9H,0FCH,07AH,0FDH,0FFH,0FEH,07CH,080H,000H
DB  01FH,079H,063H,021H,01FH,000H,080H,0FEH,0FEH,07CH,03AH,030H,038H,039H,038H,038H
DB  0F8H,041H,0C1H,0CFH,0C1H,046H,08CH,008H,098H,010H,091H,093H,091H,012H,081H,083H
DB  007H,0F0H,00CH,002H,00DH,003H,001H,0FEH,002H,001H,050H,000H,0A8H,000H,0AAH,000H
DB  0AAH,000H,028H,000H,000H,000H,000H,03CH,0C2H,082H,080H,080H,080H,040H,040H,0C0H
DB  000H,000H,000H,000H,000H,000H,000H,000H,080H,000H,000H,000H,000H,000H,001H,00EH
DB  0F0H,006H,0DDH,0BBH,0DDH,03EH,0FFH,0FFH,07EH,0BDH,07EH,0FFH,0FFH,03EH,0DDH,0BAH
DB  0DCH,03EH,0FEH,0FEH,07EH,0BDH,07EH,0FFH,0FFH,03EH,000H,000H,07FH,0FFH,0CCH,080H
DB  000H,01DH,07EH,0FFH,0FFH,03EH,0DDH,0BBH,0DDH,03EH,0FFH,0FFH,07EH,0BDH,07EH,0FFH
DB  080H,03FH,0C0H,000H,000H,000H,000H,0FFH,000H,000H,001H,000H,002H,000H,002H,000H
DB  002H,000H,0C0H,030H,008H,004H,002H,001H,000H,000H,000H,001H,082H,045H,024H,017H
DB  008H,010H,010H,090H,00CH,080H,000H,000H,000H,003H,01CH,0E0H,000H,000H,000H,0C0H
DB  03FH,080H,06EH,0DDH,06EH,09FH,0FFH,0FFH,0BFH,05EH,0BFH,0FFH,0FFH,09FH,06EH,0DDH
DB  06EH,09FH,0FFH,0FFH,0BFH,002H,001H,031H,079H,079H,078H,078H,078H,07FH,038H,038H
DB  038H,01CH,01CH,01CH,00CH,00CH,044H,044H,060H,000H,0FFH,0FFH,0BFH,05EH,0BFH,0FFH
DB  02FH,020H,013H,01CH,008H,008H,000H,000H,003H,004H,018H,020H,040H,080H,000H,000H
DB  000H,000H,003H,004H,008H,008H,008H,008H,004H,004H,002H,001H,000H,000H,000H,054H
DB  000H,0AAH,000H,0AAH,000H,0AAH,000H,00AH,000H,000H,080H,040H,020H,098H,0C6H,0F1H
DB  0FCH,0CFH,0B7H,06EH,0B7H,0CFH,0FFH,0FFH,0DFH,0AFH,0DFH,03FH,03FH,00FH,017H,00EH
DB  097H,08FH,09FH,08FH,081H,0C1H,0F8H,0F8H,080H,080H,096H,08EH,086H,08EH,0CEH,00EH
DB  00FH,0AFH,0C0H,080H,00EH,01EH,03EH,07EH,07CH,0F8H,078H,0F9H,0F9H,001H,001H,0FFH
DB  000H,080H,080H,080H,080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,002H
DB  004H,004H,008H,088H,010H,010H,030H,020H,020H,060H,060H,060H,060H,060H,060H,020H
DB  020H,030H,030H,070H,0B8H,0E8H,004H,0B4H,0D2H,0E1H,0FCH,0FEH,0EFH,0D7H,0EFH,0FFH
DB  0FFH,0E7H,0DBH,0B7H,0DBH,0E7H,0FFH,0FFH,0EFH,0D7H,0EFH,0F8H,0F8H,0E1H,0D9H,0B1H
DB  0D9H,0E1H,001H,007H,0FFH,001H,001H,063H,070H,0FFH,012H,011H,021H,020H,020H,064H
DB  0C4H,087H,00FH,01FH,0FFH,0E6H,0DAH,034H,000H,000H,07EH,083H,000H,010H,0ECH,0FFH
DB  001H,080H,080H,080H,0C0H,061H,01EH,000H,000H,000H,000H,000H,000H,000H,080H,040H
DB  030H,088H,0E6H,0E5H,0E8H,0E8H,0E8H,0C8H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0D0H,0C8H
DB  0E8H,0E8H,0E4H,0F5H,0F2H,0F1H,0ECH,0DBH,0EDH,0F3H,0FFH,0FFH,0F7H,0EBH,0F7H,0FFH
DB  0FFH,0F3H,0EDH,0DBH,0EDH,0F3H,0FFH,0FFH,0F7H,0EBH,0F7H,0FFH,0FFH,0F3H,0EDH,0DBH
DB  0EDH,0F3H,0F8H,0F8H,0F1H,0E8H,0F0H,0F0H,0F0H,0F3H,0E0H,0D0H,0EDH,0F2H,0FCH,0FCH
DB  0F4H,0E8H,0F4H,0FCH,0FFH,0F3H,0EDH,0D0H,0C0H,0C3H,0CCH,0C3H,0C0H,0E0H,0F7H,0FFH

HZTAB:DB 000H,082H,082H,082H,082H,082H,082H,0FEH    ; 王
DB 082H,082H,082H,082H,0C3H,082H,000H,000H
DB 040H,040H,040H,040H,040H,040H,040H,07FH
DB 040H,040H,040H,040H,040H,060H,040H,000H
DB 000H,010H,010H,010H,010H,010H,0FFH,010H    ; 力
DB 010H,010H,010H,010H,0F8H,010H,000H,000H
DB 000H,080H,080H,080H,060H,018H,007H,000H
DB 020H,040H,080H,040H,03FH,000H,000H,000H
DB 000H,0F0H,000H,0FFH,000H,0F0H,090H,088H    ; 峰
DB 04FH,054H,0A4H,054H,04CH,0C4H,040H,000H
DB 000H,01FH,010H,00FH,008H,01FH,000H,014H
DB 015H,015H,0FFH,015H,015H,014H,000H,000H
DB 000H,000H,000H,000H,07FH,049H,049H,049H    ; 是
DB 049H,049H,07FH,000H,000H,080H,000H,000H
DB 001H,081H,041H,021H,01DH,021H,041H,07FH
DB 089H,089H,08DH,089H,081H,0C1H,041H,000H
DB 040H,020H,0F8H,007H,000H,07CH,0C4H,06EH    ; 傻
DB 055H,054H,054H,06CH,0C4H,07EH,004H,000H
DB 000H,000H,0FFH,000H,092H,089H,044H,047H
DB 02AH,012H,012H,02AH,046H,0C1H,043H,000H
DB 000H,081H,041H,021H,01DH,021H,041H,0FFH    ; 蛋
DB 049H,049H,04DH,0C9H,043H,061H,020H,000H
DB 000H,040H,040H,05FH,049H,049H,049H,07FH
DB 049H,049H,049H,06FH,041H,080H,000H,000H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H

END





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -