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

📄 lcd.asm

📁 在80C196单片机下操作液晶驱动器SED1335的显示代表码
💻 ASM
📖 第 1 页 / 共 3 页
字号:
        DJNZ AXL,WR_LCD_FONT32_1      ;写第一列-------------------

        LDB WR_DA,#46H
        STB WR_DA,LCDCODE_ADD[0]
        LDB WR_DA,BXL
        STB WR_DA,LCDDA_ADD[0]
        LDB WR_DA,BXH
        STB WR_DA,LCDDA_ADD[0]        ;SET CURSOR

        LDB WR_DA,#42H
        STB WR_DA,LCDCODE_ADD[0]      ;开始写入显示数据

        LDB AXL,#32D                  ;计数器


WR_LCD_FONT32_2:

        LDB LCD_DISDA,[TAB_ADD]+      ;取显示数据
        STB LCD_DISDA,LCDDA_ADD       ;写

        DJNZ AXL,WR_LCD_FONT32_2      ;写第二列--------------------


        LDB WR_DA,#46H
        STB WR_DA,LCDCODE_ADD[0]
        LDB WR_DA,CXL
        STB WR_DA,LCDDA_ADD[0]
        LDB WR_DA,CXH
        STB WR_DA,LCDDA_ADD[0]        ;SET CURSOR

        LDB WR_DA,#42H
        STB WR_DA,LCDCODE_ADD[0]      ;开始写入显示数据

        LDB AXL,#32D                  ;计数器


WR_LCD_FONT32_3:

        LDB LCD_DISDA,[TAB_ADD]+      ;取显示数据
        STB LCD_DISDA,LCDDA_ADD[0]    ;写

        DJNZ AXL,WR_LCD_FONT32_3      ;写第三列--------------------

        LDB WR_DA,#46H
        STB WR_DA,LCDCODE_ADD[0]
        LDB WR_DA,DXL
        STB WR_DA,LCDDA_ADD[0]
        LDB WR_DA,DXH
        STB WR_DA,LCDDA_ADD[0]        ;SET CURSOR

        LDB WR_DA,#42H
        STB WR_DA,LCDCODE_ADD[0]      ;开始写入显示数据

        LDB AXL,#32D                  ;计数器


WR_LCD_FONT32_4:

        LDB LCD_DISDA,[TAB_ADD]+      ;取显示数据
        STB LCD_DISDA,LCDDA_ADD[0]    ;写

        DJNZ AXL,WR_LCD_FONT32_4      ;写第三列--------------------


        LDB WR_DA,#4CH
        STB WR_DA,LCDCODE_ADD[0]      ;重新设置光标的方向

        RET
;------------------WR MAX FRAME------------------
;写菜单框
WR_LCD_MAXFRAME:
        LDB LCD_DISDA,#0FFH           ;DISPLAY DATA
        LDB AXL,#20H                  ;计数器24D
        LD BX,#0501H
        CALL WR_LCD_GRA               ;WR LINE ADD

        LDB AXL,#20H                  ;计数器24D
        LD BX,#0529H                  ;WR LINE ADD
        CALL WR_LCD_GRA

        LDB AXL,#20H                  ;计数器24D
        LD BX,#0911H+80
        CALL WR_LCD_GRA               ;WR LINE ADD

        LDB AXL,#20H                  ;计数器24D
        LD BX,#0939H+80
        CALL WR_LCD_GRA               ;WR LINE ADD

        LDB AXL,#20H                  ;计数器24D
        LD BX,#2991H+80
        CALL WR_LCD_GRA               ;WR LINE ADD
        ;--------------
        LDB WR_DA,#4FH
        STB WR_DA,LCDCODE_ADD[0]

        LDB AXL,#02H
        LDB LCD_DISDA,#1FH
        LD BX,#0500H

        CALL WR_LCD_GRA

        LDB AXL,#26D
        LDB LCD_DISDA,#10H

        CALL WR_LCD_GRA2

        LDB LCD_DISDA,#1FH
        STB LCD_DISDA,LCDDA_ADD[0]
        STB LCD_DISDA,LCDDA_ADD[0]


        LDB AXL,#204D+2
        LDB LCD_DISDA,#10H

        CALL WR_LCD_GRA2

        LDB LCD_DISDA,#1FH
        STB LCD_DISDA,LCDDA_ADD[0]     ;-----

        LDB AXL,#02H
        LDB LCD_DISDA,#0FEH

        LD BX,#0521H

        CALL WR_LCD_GRA

        LDB AXL,#26D
        LDB LCD_DISDA,#02H

        CALL WR_LCD_GRA2

        LDB LCD_DISDA,#0FEH
        STB LCD_DISDA,LCDDA_ADD[0]
        STB LCD_DISDA,LCDDA_ADD[0]

        LDB AXL,#204D+2
        LDB LCD_DISDA,#02H

        CALL WR_LCD_GRA2

        LDB LCD_DISDA,#0FEH
        STB LCD_DISDA,LCDDA_ADD[0]

        LDB WR_DA,#4CH
        STB WR_DA,LCDCODE_ADD[0]


        RET
;------------------WR SAMLL FRAME----------------
;写功能按键指示框,参数:CXL=1为FUNC1,2为FUNC2.....

WR_LCD_SAMFRAME:
        CMPB CXL,#01H
        JNE WR_LCD_SAMFRAME1

        LD BX,#0523H  ;FUNC1  每个地址加0640H,将得到下一个功能按键的显示框地址

        LD DX,#0A9BH-50H

        LD EX,#0AC3H-50H

        LD FX,#0522H

        LD GX,#0527H

        JMP WR_LCD_SAMFRAME6

WR_LCD_SAMFRAME1:
        CMPB CXL,#02H
        JNE WR_LCD_SAMFRAME2
        LD BX,#0B63H  ;FUNC2

        LD DX,#10DBH-50H

        LD EX,#1103H-50H

        LD FX,#0B62H

        LD GX,#0B67H

        JMP WR_LCD_SAMFRAME6

WR_LCD_SAMFRAME2:
        CMPB CXL,#03H
        JNE WR_LCD_SAMFRAME3
        LD BX,#11A3H  ;FUNC3

        LD DX,#171BH-50H

        LD EX,#1743H-50H

        LD FX,#11A2H

        LD GX,#11A7H

        JMP WR_LCD_SAMFRAME6

WR_LCD_SAMFRAME3:
        CMPB CXL,#04H
        JNE WR_LCD_SAMFRAME4
        LD BX,#17E3H

        LD DX,#1D5BH-50H  ;FUNC4

        LD EX,#1D83H-50H

        LD FX,#17E2H

        LD GX,#17E7H

        JMP WR_LCD_SAMFRAME6

WR_LCD_SAMFRAME4:
        CMPB CXL,#05H
        JNE WR_LCD_SAMFRAME5
        LD BX,#1E23H

        LD DX,#239BH-50H  ;FUNC5

        LD EX,#23C3H-50H

        LD FX,#1E22H

        LD GX,#1E27H

        JMP WR_LCD_SAMFRAME6
WR_LCD_SAMFRAME5:
        LD BX,#2463H

        LD DX,#29DBH-50H

        LD EX,#2A03H-50H

        LD FX,#2462H

        LD GX,#2467H

WR_LCD_SAMFRAME6:
        LDB AXL,#04H
        LDB LCD_DISDA,#0FFH

        CALL WR_LCD_GRA

        LD BX,DX

        LDB AXL,#04H
        LDB LCD_DISDA,#0FFH

        CALL WR_LCD_GRA

        LD BX,EX

        LDB AXL,#04H
        LDB LCD_DISDA,#0FFH

        CALL WR_LCD_GRA


        LDB WR_DA,#4FH
        STB WR_DA,LCDCODE_ADD

 ;-----------------------------------

        LD BX,FX

        LDB AXL,#01H
        LDB LCD_DISDA,#07H

        CALL WR_LCD_GRA

        LDB LCD_DISDA,#04H
        LDB AXL,#32D

        CALL WR_LCD_GRA2

        LDB LCD_DISDA,#07H
        STB LCD_DISDA,LCDDA_ADD
        STB LCD_DISDA,LCDDA_ADD

        LDB BX,GX

        LDB AXL,#01H
        LDB LCD_DISDA,#0E0H

        CALL WR_LCD_GRA

        LDB LCD_DISDA,#30H
        STB LCD_DISDA,LCDDA_ADD

        LDB AXL,#31D
        LDB LCD_DISDA,#38H

        CALL WR_LCD_GRA2

        LDB LCD_DISDA,#0F8H
        STB LCD_DISDA,LCDDA_ADD
        STB LCD_DISDA,LCDDA_ADD

        LDB WR_DA,#4CH
        STB WR_DA,LCDCODE_ADD

        RET

;------------------CLEAR TXT--------------------
;清除文本区显示内容
CLEAR_LCD_TXT:
        LDB LCD_DISDA,#00H
        LDB AXL,#0FFH
        LD BX,#0000H       ;TXT BEGIN ADD

        CALL WR_LCD_GRA

        LDB AXL,#0FFH
        CALL WR_LCD_GRA2

        LDB AXL,#0FFH
        CALL WR_LCD_GRA2

        LDB AXL,#0FFH
        CALL WR_LCD_GRA2

        LDB AXL,#180D
        CALL WR_LCD_GRA2
        RET

;---------------CLEAR FILE NUM-----------------
;清除菜单显示的档案序号
CLEAR_LCD_FILENUM:
        LDB LCD_DISDA,#00H
        LDB AXL,#02H
        LD BX,#71D

        CALL WR_LCD_GRA

        RET
;-----------CLEAR PAGE INPORMATION------------
;清除翻页信息指示
CLEAR_LCD_PAGE:
        LDB LCD_DISDA,#00H
        LDB AXL,#07D
        LD BX,#0106D

        CALL WR_LCD_GRA

        RET

;-----------CLEAR ALL GRAPH DATA----------------
;清除所有图形区中的显示数据
CLEAR_LCD_ALLGRA:
        LD AX,#2580H
        LDB LCD_DISDA,#00H

        LDB WR_DA,#46H
        STB WR_DA,LCDCODE_ADD[0]
        LDB WR_DA,#0B0H
        STB WR_DA,LCDDA_ADD[0]
        LDB WR_DA,#04H
        STB WR_DA,LCDDA_ADD[0]        ;SET CURSOR

        LDB WR_DA,#42H
        STB WR_DA,LCDCODE_ADD[0]      ;开始写入显示数据


CLEAR_LCD_ALLGRA1:
        STB LCD_DISDA,LCDDA_ADD[0]
        NOP
        DJNZW AX,CLEAR_LCD_ALLGRA1

        RET

;---------------CLEAR FUNC FRAME----------------
;清除功能按键显示区
CLEAR_LCD_SAMFRAME:
        LDB WR_DA,#4FH
        STB WR_DA,LCDCODE_ADD   ;SET CURSOR DOWN

        LDB LCD_DISDA,#00H
        LDB AXL,#75;#235D
        LD BX,#0522H

        CALL WR_LCD_GRA

        LDB AXL,#75;#235D
        LD BX,#0523H

        CALL WR_LCD_GRA

        LDB AXL,#75;#235D
        LD BX,#0524H

        CALL WR_LCD_GRA

        LDB AXL,#75;#235D
        LD BX,#0525H

        CALL WR_LCD_GRA

        LDB AXL,#75;#235D
        LD BX,#0526H

        CALL WR_LCD_GRA

⌨️ 快捷键说明

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