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

📄 cog12864a.asm

📁 杭州清达光电技术有限公司HGO12864A LCD 显示程序(汇编语言实现)
💻 ASM
📖 第 1 页 / 共 2 页
字号:
        CW_PR:  MOV     DPTR,#CTAB	; 确定字符字模块首地址
                MOV     A,COD1          ; 取代码
                MOV     B,#08H		; 字模块宽度为8个字节
                MUL     AB		; 代码x8
                ADD     A,DPL		; 字符字模块首地址
		MOV     DPL,A		; = 字模库首地址 + 代码x 8
                MOV     A,B
                ADDC    A,DPH
                MOV     DPH,A
                MOV     COUN1,#08H      ; 8x8点阵
                mov      cod1,#00h
                mov     A,pa1          ; 取页地址值
                ORL     A,#0B0H		; "或"页地址指令代码
                LCALL   PR0

        CW_3:   MOV     A,COLUMN	; 设置列地址值
                anl     a,#0f0h
                swap    a
                orl     a,#10h
                LCALL   PR0		; 区域E1

                mov     a,column
                anl     a,#0fh
                lcall   pr0

        CW_5:   MOV     A,COD1          ; 取间址寄存器值
                MOVC    A,@A+DPTR	; 取字符字模数据
                LCALL   PR1		; 区域E1

                inc     cod1
            CW_9:   DJNZ    COUN1,CW_5      ; 循环
                RET
;========================================
; 西文字符库
CTAB:   DB 000H,000H,000H,000H,000H,000H,000H,000H      ;" "=00H
        DB 000H,000H,000H,04FH,000H,000H,000H,000H      ;"!"=01H
        DB 000H,000H,007H,000H,007H,000H,000H,000H      ;"""=02H
        DB 000H,014H,07FH,014H,07FH,014H,000H,000H      ;"#"=03H
        DB 000H,024H,02AH,07FH,02AH,012H,000H,000H      ;"$"=04H
        DB 000H,023H,013H,008H,064H,062H,000H,000H      ;"%"=05H
        DB 000H,036H,049H,055H,022H,050H,000H,000H      ;"&"=06H
        DB 000H,000H,005H,003H,000H,000H,000H,000H      ;"'"=07H
        DB 000H,000H,01CH,022H,041H,000H,000H,000H      ;"("=08H
        DB 000H,000H,041H,022H,01CH,000H,000H,000H      ;")"=09H
        DB 000H,014H,008H,03EH,008H,014H,000H,000H      ;"*"=0AH
        DB 000H,008H,008H,03EH,008H,008H,000H,000H      ;"+"=0BH
        DB 000H,000H,050H,030H,000H,000H,000H,000H      ;";"=0CH
        DB 000H,008H,008H,008H,008H,008H,000H,000H      ;"-"=0DH
        DB 000H,000H,060H,060H,000H,000H,000H,000H      ;"."=0EH
        DB 000H,020H,010H,008H,004H,002H,000H,000H      ;"/"=0FH
        DB 000H,03EH,051H,049H,045H,03EH,000H,000H      ;"0"=10H
        DB 000H,000H,042H,07FH,040H,000H,000H,000H      ;"1"=11H
        DB 000H,042H,061H,051H,049H,046H,000H,000H      ;"2"=12H
        DB 000H,021H,041H,045H,04BH,031H,000H,000H      ;"3"=13H
        DB 000H,018H,014H,012H,07FH,010H,000H,000H      ;"4"=14H
        DB 000H,027H,045H,045H,045H,039H,000H,000H      ;"5"=15H
        DB 000H,03CH,04AH,049H,049H,030H,000H,000H      ;"6"=16H
        DB 000H,001H,001H,079H,005H,003H,000H,000H      ;"7"=17H
        DB 000H,036H,049H,049H,049H,036H,000H,000H      ;"8"=18H
        DB 000H,006H,049H,049H,029H,01EH,000H,000H      ;"9"=19H
        DB 000H,000H,036H,036H,000H,000H,000H,000H      ;":"=1AH
        DB 000H,000H,056H,036H,000H,000H,000H,000H      ;";"=1BH
        DB 000H,008H,014H,022H,041H,000H,000H,000H      ;"<"=1CH
        DB 000H,014H,014H,014H,014H,014H,000H,000H      ;"="=1DH
        DB 000H,000H,041H,022H,014H,008H,000H,000H      ;">"=1EH
        DB 000H,002H,001H,051H,009H,006H,000H,000H      ;"?"=1FH
        DB 000H,032H,049H,079H,041H,03EH,000H,000H      ;"@"=20H
        DB 000H,07EH,011H,011H,011H,07EH,000H,000H      ;"A"=21H
        DB 000H,041H,07FH,049H,049H,036H,000H,000H      ;"B"=22H
        DB 000H,03EH,041H,041H,041H,022H,000H,000H      ;"C"=23H
        DB 000H,041H,07FH,041H,041H,03EH,000H,000H      ;"D"=24H
        DB 000H,07FH,049H,049H,049H,049H,000H,000H      ;"E"=25H
        DB 000H,07FH,009H,009H,009H,001H,000H,000H      ;"F"=26H
        DB 000H,03EH,041H,041H,049H,07AH,000H,000H      ;"G"=27H
        DB 000H,07FH,008H,008H,008H,07FH,000H,000H      ;"H"=28H
        DB 000H,000H,041H,07FH,041H,000H,000H,000H      ;"I"=29H
        DB 000H,020H,040H,041H,03FH,001H,000H,000H      ;"J"=2AH
        DB 000H,07FH,008H,014H,022H,041H,000H,000H      ;"K"=2BH
        DB 000H,07FH,040H,040H,040H,040H,000H,000H      ;"L"=2CH
        DB 000H,07FH,002H,00CH,002H,07FH,000H,000H      ;"M"=2DH
        DB 000H,07FH,006H,008H,030H,07FH,000H,000H      ;"N"=2EH
        DB 000H,03EH,041H,041H,041H,03EH,000H,000H      ;"O"=2FH
        DB 000H,07FH,009H,009H,009H,006H,000H,000H      ;"P"=30H
        DB 000H,03EH,041H,051H,021H,05EH,000H,000H      ;"Q"=31H
        DB 000H,07FH,009H,019H,029H,046H,000H,000H      ;"R"=32H
        DB 000H,026H,049H,049H,049H,032H,000H,000H      ;"S"=33H
        DB 000H,001H,001H,07FH,001H,001H,000H,000H      ;"T"=34H
        DB 000H,03FH,040H,040H,040H,03FH,000H,000H      ;"U"=35H
        DB 000H,01FH,020H,040H,020H,01FH,000H,000H      ;"V"=36H
        DB 000H,07FH,020H,018H,020H,07FH,000H,000H      ;"W"=37H
        DB 000H,063H,014H,008H,014H,063H,000H,000H      ;"X"=38H
        DB 000H,007H,008H,070H,008H,007H,000H,000H      ;"Y"=39H
        DB 000H,061H,051H,049H,045H,043H,000H,000H      ;"Z"=3AH
        DB 000H,000H,07FH,041H,041H,000H,000H,000H      ;"["=3BH
        DB 000H,002H,004H,008H,010H,020H,000H,000H      ;"\"=3CH
        DB 000H,000H,041H,041H,07FH,000H,000H,000H      ;"]"=3DH
        DB 000H,004H,002H,001H,002H,004H,000H,000H      ;"^"=3EH
        DB 000H,040H,040H,040H,040H,040H,000H,000H      ;"_"=3FH
        DB 000H,001H,002H,004H,000H,000H,000H,000H      ;"`"=40H
        DB 000H,020H,054H,054H,054H,078H,000H,000H      ;"a"=41H
        DB 000H,07FH,048H,044H,044H,038H,000H,000H      ;"b"=42H
        DB 000H,038H,044H,044H,044H,028H,000H,000H      ;"c"=43H
        DB 000H,038H,044H,044H,048H,07FH,000H,000H      ;"d"=44H
        DB 000H,038H,054H,054H,054H,018H,000H,000H      ;"e"=45H
        DB 000H,000H,008H,07EH,009H,002H,000H,000H      ;"f"=46H
        DB 000H,00CH,052H,052H,04CH,03EH,000H,000H      ;"g"=47H
        DB 000H,07FH,008H,004H,004H,078H,000H,000H      ;"h"=48H
        DB 000H,000H,044H,07DH,040H,000H,000H,000H      ;"i"=49H
        DB 000H,020H,040H,044H,03DH,000H,000H,000H      ;"j"=4AH
        DB 000H,000H,07FH,010H,028H,044H,000H,000H      ;"k"=4BH
        DB 000H,000H,041H,07FH,040H,000H,000H,000H      ;"l"=4CH
        DB 000H,07CH,004H,078H,004H,078H,000H,000H      ;"m"=4DH
        DB 000H,07CH,008H,004H,004H,078H,000H,000H      ;"n"=4EH
        DB 000H,038H,044H,044H,044H,038H,000H,000H      ;"o'=4FH
        DB 000H,07EH,00CH,012H,012H,00CH,000H,000H      ;"p"=50H
        DB 000H,00CH,012H,012H,00CH,07EH,000H,000H      ;"q"=51H
        DB 000H,07CH,008H,004H,004H,008H,000H,000H      ;"r"=52H
        DB 000H,058H,054H,054H,054H,064H,000H,000H      ;"s"=53H
        DB 000H,004H,03FH,044H,040H,020H,000H,000H      ;"t"=54H
        DB 000H,03CH,040H,040H,03CH,040H,000H,000H      ;"u"=55H
        DB 000H,01CH,020H,040H,020H,01CH,000H,000H      ;"v"=56H
        DB 000H,03CH,040H,030H,040H,03CH,000H,000H      ;"w"=57H
        DB 000H,044H,028H,010H,028H,044H,000H,000H      ;"x"=58H
        DB 000H,01CH,0CD1H,0CD1H,090H,07CH,000H,000H      ;"y"=59H
        DB 000H,044H,064H,054H,04CH,044H,000H,000H      ;"z"=5AH
        DB 000H,000H,008H,036H,041H,000H,000H,000H      ;"{"=5BH
        DB 000H,000H,000H,077H,000H,000H,000H,000H      ;"|"=5CH
        DB 000H,000H,041H,036H,008H,000H,000H,000H      ;"}"=5DH
        DB 000H,002H,001H,002H,004H,002H,000H,000H      ;"~"=5FH
        DB 000H,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H      ;" "=60H
;=================================================
; 中文字符写入子程序
        CCW_PR: MOV     DPTR,#CCTAB     ; 确定字符字模块首地址
                MOV     A,COD1          ; 取代码
                MOV     B,#20H          ; 字模块宽度为32个字节
                MUL     AB              ; 代码x32
                ADD     A,DPL           ; 字符字模块首地址
                MOV     DPL,A           ; = 字模库首地址 + 代码x 32
                MOV     A,B
                ADDC    A,DPH
                MOV     DPH,A
                PUSH    COLUMN		; 列地址入栈
                PUSH    COLUMN		; 列地址入栈
                MOV     COD1,#00H       ; 代码寄存器借用为间址寄存器
        CCW_1:  MOV     COUN1,#10H      ; 计数器设置为16
                MOV     A,PA1          ; 读页地址寄存器
                ANL     A,#0FH
                ORL     A,#0B0H		; "或"页地址设置代码
                LCALL   PR0

                POP     COLUMN		; 取列地址值
                MOV     A,COLUMN	; 读列地址寄存器
                swap    a
                anl     a,#0fh
                orl     a,#10h
                lcall   pr0

                mov     a,column
                anl     a,#0fh

                LCALL   PR0		; 区域E1
        CCW_4:  MOV     A,COD1          ; 取间址寄存器值
                MOVC    A,@A+DPTR	; 取汉字字模数据
                LCALL   PR1             ; 区域E1

        CCW_6:  INC     COD1            ; 间址寄存器加1
                DJNZ    COUN1,CCW_4     ; 当页循环
                MOV     A,PA1          ; 读页地址寄存器
                JB      ACC.7,CCW_9     ; 判完成标志D7位, "1"则完成退出
                INC     A		; 否则页地址加1
                SETB    ACC.7		; 置完成位为"1"
                CLR     ACC.3
                MOV     PA1,A
                MOV     COD1,#10H       ; 间址寄存器设置为16
                LJMP    CCW_1		; 大循环
        CCW_9:  RET
;==============================================================
; 中文字符库
CCTAB:  DB 010H,022H,064H,00CH,0C0H,044H,054H,054H    ; 清
DB 054H,07FH,054H,054H,056H,044H,040H,000H
DB 000H,004H,0FCH,003H,000H,000H,0FFH,015H
DB 015H,015H,055H,095H,07FH,000H,000H,000H

DB 040H,042H,0CCH,010H,090H,0B4H,0D4H,09FH    ; 达
DB 094H,0D4H,0B4H,090H,000H,000H,000H,000H
DB 040H,020H,01FH,028H,04AH,04AH,04AH,07FH
DB 04AH,04AH,04AH,048H,048H,040H,040H,000H

DB 040H,040H,042H,044H,058H,0C0H,040H,07FH    ; 光
DB 040H,0C0H,050H,048H,046H,064H,040H,000H
DB 000H,080H,040H,020H,018H,007H,000H,000H
DB 000H,03FH,040H,040H,040H,040H,070H,000H

DB 008H,006H,054H,055H,055H,055H,005H,0FFH    ; 电
DB 005H,055H,055H,055H,004H,016H,00CH,000H
DB 000H,000H,01FH,015H,015H,015H,015H,0FFH
DB 095H,095H,095H,095H,09FH,080H,0E0H,000H
;=========================================================
        END

⌨️ 快捷键说明

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