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

📄 液晶显示.asm

📁 开发平台,任一MCS-51单片机上,很多程序,如键盘,显示,液晶驱动
💻 ASM
📖 第 1 页 / 共 2 页
字号:
        DJNZ	LOOPNUM,WR
	MOV     LIEL,#0
        RET
;===============================================

;===============================================
;根据行列值送一个字母或数字   字节首地址放在DPTR里
;先送上半字符,后送下半字符。1字符为16*8
SHANGXIABYTE:
        MOV     A,HANG;计算列地址(1-16)、页地址(1-4)
        DEC     A
        CLR     C
        RLC     A     ;一个字要占用两页,所以*2
	ANL	A,#0FH
	ORL	A,#0B0H
        MOV     YE,A
        MOV     A,LIE
        DEC     A
	CLR	C
	RRC	A
	JNC	SX1
	MOV	LIEL,#8
	SETB	F0
SX1:	ANL	A,#0FH
	ORL	A,#10H
        MOV     LIEH,A
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        MOV     A,YE    ;页地址
        CALL    OUTI
        MOV     A,LIEH  ;列地址高位
        CALL    OUTI
        MOV     DATAPAGE,#00H;字数据计数
	MOV	LOOPNUM,#8
        ACALL   WR      ;送字上半字符
        INC     YE
        MOV     A,YE    ;页地址
        CALL    OUTI
        MOV     A,LIEH  ;列地址高位
        CALL    OUTI
	JNB	F0,SX2
        CLR     F0
	MOV	LIEL,#8
SX2:	MOV	LOOPNUM,#8
        ACALL   WR      ;送字下半字符
        RET
;送半字符
WR2:    MOV     A,LIEL  ;列地址低位
        ACALL   OUTI
        MOV     A,DATAPAGE
        MOVC    A,@A+DPTR
        ACALL   OUTD
        INC     DATAPAGE
        INC     LIEL
        MOV     A,LIEL
        DJNZ	LOOPNUM,WR2
	MOV	LIEL,#0
        RET
;===============================================

;===============================================
;根据行列值送一个汉字   字节首地址放在DPTR里
;先送左后送右。1字为16*16
ZUOYOUONE:
        MOV     A,HANG;计算列地址(1-8)、页地址(1-4)
        DEC     A
        CLR     C
        RLC     A     ;一个字要占用两页,所以*2
	ANL	A,#0FH
	ORL	A,#0B0H
        MOV     YE,A
        MOV     A,LIE
        DEC     A
	ANL	A,#0FH
	ORL	A,#10H
        MOV     LIEH,A
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        MOV     DATAPAGE,#00H;字数据计数
        MOV     A,LIEH  ;列地址高位
        CALL    OUTI
	MOV	LOOPNUM,#16
	MOV     LIEL,#0 ;列地址低位置0
WR1:    ACALL   OUTI    ;列地址低位
        MOV     A,YE    ;页地址
        CALL    OUTI
	MOV     A,DATAPAGE
        MOVC    A,@A+DPTR
        ACALL   OUTD
        INC     DATAPAGE
	INC	YE      ;页地址+1
	MOV     A,YE
        CALL    OUTI
	MOV     A,DATAPAGE
        MOVC    A,@A+DPTR
        ACALL   OUTD
        INC     DATAPAGE
	INC	LIEL
	MOV	A,LIE
	DJNZ	LOOPNUM,WR1
	RET
;===============================================

;===============================================
;根据行列值送一个字母或数字   字节首地址放在DPTR里
;先送左后送右。1字符为16*8
ZUOYOUBYTE:
        MOV     A,HANG;计算列地址(1-16)、页地址(1-4)
        DEC     A
        CLR     C
        RLC     A     ;一个字要占用两页,所以*2
	ANL	A,#0FH
	ORL	A,#0B0H
        MOV     YE,A
        MOV     A,LIE
        DEC     A
	CLR	C
	RRC	A
	JNC	ZY1
	MOV	LIEL,#8
	SETB	F0
ZY1:	ANL	A,#0FH
	ORL	A,#10H
        MOV     LIEH,A
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        MOV     DATAPAGE,#00H;字数据计数
        MOV     A,LIEH  ;列地址高位
        CALL    OUTI
	MOV	LOOPNUM,#8
WR3:    ACALL   OUTI    ;列地址低位
        MOV     A,YE    ;页地址
        CALL    OUTI
	MOV     A,DATAPAGE
        MOVC    A,@A+DPTR
        ACALL   OUTD
        INC     DATAPAGE
	INC	YE      ;页地址+1
	MOV     A,YE
        CALL    OUTI
	MOV     A,DATAPAGE
        MOVC    A,@A+DPTR
        ACALL   OUTD
        INC     DATAPAGE
	INC	LIEL
	MOV	A,LIE
	DJNZ	LOOPNUM,WR3
	RET
;===============================================

;===============================================
RESET:                   ;初始化
        MOV    A,#0E2H   ;复位
        CALL   OUTI

        MOV     A,#0A2H
        CALL    OUTI;SET LCD BAIS
        MOV     A,#0A0H ;ADC=0 S1->S132
        CALL    OUTI
        MOV     A,#0C8H ;SET SHK
        CALL    OUTI
        MOV     A,#2FH
        CALL    OUTI;VF vc vr ON
        CALL    LDELAY

        MOV     A,#81H ;
        CALL OUTI
        CALL    LDELAY
        MOV     A,#025H  ;对比度00-3FH
        CALL OUTI
        CALL    LDELAY
        MOV     A,#0AFH ;DIAPLAY ON
        CALL OUTI
        MOV     A,#060H ;FIRST LINE =COM33
        CALL OUTI
        CALL    LDELAY
        RET
;===============================================

;===============================================
OUTD:                     ;送数据
        SETB   SCLPIN
        CLR    CSPIN
        SETB   RSPIN
        CALL   WBYTE

        SETB   CSPIN
        RET
;===============================================

;===============================================
OUTI:                      ;送指令
        SETB   SCLPIN
        CLR    CSPIN
        CLR    RSPIN
        CALL   WBYTE
        SETB   CSPIN
        RET
;===============================================

;===============================================
WBYTE:  MOV  JICHUN2,#8          ;送8个位
O_1:
        RLC   A
        MOV   SIDPIN,C
        SETB  SCLPIN
        CLR   SCLPIN
        SETB  SCLPIN
        DJNZ  JICHUN2,O_1
        RET
;===============================================

;===============================================
LDELAY: MOV     DEL1,#250   ;6mS  延时
LOOP:   MOV     DEL2,#10
        DJNZ    DEL2,$
        DJNZ    DEL1,LOOP
        RET
;===============================================

;===============================================
CLEARALL:                  ;清屏
        MOV     YE,#0B0H;页地址
        MOV     LIEH,#10H ;列地址高位
        MOV     LIEL,#00H ;列地址低位

LOP3:   MOV     A,YE   ;页地址
        CALL    OUTI
LOP2:   MOV     A,LIEH    ;列地址高位
        CALL    OUTI
LOP1:   MOV     A,LIEL   ;列地址低位
        ACALL   OUTI
        MOV     A,#0H   ;送数据
        ACALL   OUTD
        INC     LIEL
        MOV     A,LIEL
        CJNE    A,#10H,LOP1
        MOV     LIEL,#00H ;列地址低位
        INC     LIEH
        MOV     A,LIEH
        CJNE    A,#019H,LOP2
        MOV     LIEH,#10H ;列地址高位
        INC     YE
        MOV     A,YE
        CJNE    A,#0B8H,LOP3
        MOV     YE,#0B0H;页地址
        RET
;===============================================
DELAY:
       MOV JICHUN1,#8
DELAY2:
MOV     DEL1,#100   ;
DELAY1:   MOV     DEL2,#100
        DJNZ    DEL2,$
        DJNZ    DEL1,DELAY1
DJNZ    JICHUN1,DELAY2

        RET
MAOHAO:
DB 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H;
DB 00H 00H 36H 36H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H;":"
TAB1:

DB 40H 41H 0CEH 04H 00H 80H 40H 0BEH 82H 82H 82H 0BEH 0C0H 40H 40H 00H;
DB 00H 00H 7FH 20H 90H 80H 40H 43H 2CH 10H 10H 2CH 43H 0C0H 40H 00H;"设"

TAB2:
DB 40H 42H 0CCH 00H 04H 0E4H 24H 24H 0FFH 24H 24H 24H 0E4H 04H 00H 00H;
DB 40H 20H 1FH 20H 48H 49H 45H 43H 7FH 41H 43H 45H 4DH 40H 40H 00H;"速"
TAB3:
 DB 00H 10H 0CH 04H 4CH 0B4H 94H 05H 0F6H 04H 04H 04H 14H 0CH 04H 00H;
DB 00H 82H 82H 42H 42H 23H 12H 0AH 07H 0AH 12H 0E2H 42H 02H 02H 00H;"实"
TAB4:
DB 00H 0FCH 44H 44H 44H 0FCH 10H 90H 10H 10H 10H 0FFH 10H 10H 10H 00H;
DB 00H 07H 04H 04H 04H 07H 00H 00H 03H 40H 80H 7FH 00H 00H 00H 00H;"时"
TAB5:
DB 00H 0F8H 01H 06H 00H 0F0H 92H 92H 92H 92H 0F2H 02H 02H 0FEH 00H 00H;
DB 00H 0FFH 00H 00H 00H 07H 04H 04H 04H 04H 07H 40H 80H 7FH 00H 00H;"间",
ZHUANG:
DB 0C8H 0A8H 9CH 0EBH 88H 88H 88H 40H 48H 0F8H 4FH 48H 48H 48H 40H 00H;
DB 08H 08H 04H 0FFH 04H 04H 00H 02H 0BH 12H 22H 0D2H 0EH 02H 00H 00H;"转"
mei:
DB 20H 10H 0CH 07H 0F4H 14H 34H 54H 14H 14H 14H 0F4H 04H 04H 00H 00H;
DB 01H 01H 01H 1FH 11H 11H 11H 13H 15H 51H 91H 7FH 11H 11H 11H 00H;"每",
MIAO:
DB 12H 12H 0D2H 0FEH 91H 11H 0C0H 38H 10H 00H 0FFH 00H 08H 10H 60H 00H;
DB 04H 03H 00H 0FFH 00H 83H 80H 40H 40H 20H 23H 10H 08H 04H 03H 00H;"秒",2
DIAN:
DB 00H 00H 0F8H 48H 48H 48H 48H 0FFH 48H 48H 48H 48H 0F8H 00H 00H 00H;
DB 00H 00H 0FH 04H 04H 04H 04H 3FH 44H 44H 44H 44H 4FH 40H 70H 00H;"电
JI:
DB 08H 08H 0C8H 0FFH 48H 88H 08H 00H 0FEH 02H 02H 02H 0FEH 00H 00H 00H;
DB 04H 03H 00H 0FFH 00H 41H 30H 0CH 03H 00H 00H 00H 3FH 40H 78H 00H;"机"
KONG:
DB 08H 08H 08H 0FFH 88H 48H 00H 98H 48H 28H 0AH 2CH 48H 0D8H 08H 00H;
DB 02H 42H 81H 7FH 00H 00H 40H 42H 42H 42H 7EH 42H 42H 42H 40H 00H;"控
ZHI:
DB 00H 50H 4FH 4AH 48H 0FFH 48H 48H 48H 00H 0FCH 00H 00H 0FFH 00H 00H;
DB 00H 00H 3FH 01H 01H 0FFH 21H 61H 3FH 00H 0FH 40H 80H 7FH 00H 00H;"制"
XIANG:
DB 00H 00H 00H 3EH 2AH 0EAH 2AH 2AH 2AH 0EAH 2AH 3EH 00H 00H 00H 00H;
DB 20H 21H 22H 2CH 20H 3FH 20H 20H 20H 3FH 28H 24H 23H 20H 20H 00H;"显",
SHI:
DB 00H 20H 20H 22H 22H 22H 22H 0E2H 22H 22H 22H 22H 22H 20H 20H 00H;
DB 10H 08H 04H 03H 00H 40H 80H 7FH 00H 00H 01H 02H 0CH 18H 00H 00H;"示",
BIAO:
DB 00H 40H 44H 54H 54H 54H 0D4H 0FFH 54H 54H 54H 54H 54H 44H 40H 00H;
DB 08H 08H 04H 04H 0FEH 43H 21H 10H 03H 04H 08H 14H 23H 62H 20H 00H;"表",
shu:
DB 00H 0E0H 10H 08H 08H 10H 0E0H 00H 00H 0FH 10H 20H 20H 10H 0FH 00H;"0",0
DB 00H 10H 10H 0F8H 00H 00H 00H 00H 00H 20H 20H 3FH 20H 20H 00H 00H;"1",
DB 00H 70H 08H 08H 08H 88H 70H 00H 00H 30H 28H 24H 22H 21H 30H 00H;"2",
DB 00H 30H 08H 88H 88H 48H 30H 00H 00H 18H 20H 20H 20H 11H 0EH 00H;"3",
DB 00H,00H,0C0H,20H,10H,0F8H,00H,00H,00H,07H,04H,24H,24H,3FH,24H,00H;"4",
DB 00H,0F8H,08H,88H,88H,08H,08H,00H,00H,19H,21H,20H,20H,11H,0EH,00H;"5",
DB 00H,0E0H,10H,88H,88H,18H,00H,00H,00H,0FH,11H,20H,20H,11H,0EH,00H;"6"
DB 00H,38H,08H,08H,0C8H,38H,08H,00H,00H,00H,00H,3FH,00H,00H,00H,00H;"7"
DB 00H,70H,88H,08H,08H,88H,70H,00H,00H,1CH,22H,21H,21H,22H,1CH,00H;"8"
DB 00H,0E0H,10H,08H,08H,10H,0E0H,00H,00H,00H,31H,22H,22H,11H,0FH,00H;"9"
huan:
DB 14H 24H 44H 84H 64H 1CH 20H 18H 0FH 0E8H 08H 08H 28H 18H 08H 00H;
DB 20H 10H 4CH 43H 43H 2CH 20H 10H 0CH 03H 06H 18H 30H 60H 20H 00H;"欢",0
ying:
DB 40H 41H 0CEH 04H 00H 0FCH 04H 02H 02H 0FCH 04H 04H 04H 0FCH 00H 00H;
DB 40H 20H 1FH 20H 40H 47H 42H 41H 40H 5FH 40H 42H 44H 43H 40H 00H;"迎",1
shi1:
DB 40H 20H 0F0H 1CH 07H 0F2H 94H 94H 94H 0FFH 94H 94H 94H 0F4H 04H 00H;
DB 00H 00H 7FH 00H 40H 41H 22H 14H 0CH 13H 10H 30H 20H 61H 20H 00H;"使",2
yong:
DB 00H 00H 00H 0FEH 22H 22H 22H 22H 0FEH 22H 22H 22H 22H 0FEH 00H 00H;
DB 80H 40H 30H 0FH 02H 02H 02H 02H 0FFH 02H 02H 42H 82H 7FH 00H 00H;"用",3
ZHIZHI:
DB 00H 00H 00H 0F8H 48H 48H 4CH 4BH 4AH 48H 48H 48H 0F8H 00H 00H 00H;
DB 00H 00H 00H 0FFH 44H 44H 44H 44H 44H 44H 44H 44H 0FFH 00H 00H 00H;"自"
KONGKONG:
DB 08H 08H 08H 0FFH 88H 48H 00H 98H 48H 28H 0AH 2CH 48H 0D8H 08H 00H;
DB 02H 42H 81H 7FH 00H 00H 40H 42H 42H 42H 7EH 42H 42H 42H 40H 00H;"控"
DIDI:
DB 10H 08H 04H 0D3H 56H 5AH 52H 5AH 0F4H 53H 56H 5AH 72H 02H 02H 00H;
DB 00H 20H 20H 23H 12H 12H 0AH 06H 0FFH 02H 02H 12H 22H 1EH 00H 00H;"第"
SHISHI:
DB 40H 40H 40H 40H 40H 40H 40H 0FFH 40H 40H 40H 40H 40H 40H 40H 00H;
DB 00H 00H 00H 00H 00H 00H 00H 7FH 00H 00H 00H 00H 00H 00H 00H 00H;"十"
SISI:
DB 00H 0FEH 02H 02H 02H 0FEH 02H 02H 0FEH 02H 02H 02H 02H 0FEH 00H 00H;
DB 00H 7FH 28H 24H 23H 20H 20H 20H 21H 22H 22H 22H 22H 7FH 00H 00H;"四"
ZUZU:
DB 00H 20H 38H 0A7H 62H 18H 00H 0FEH 22H 22H 22H 22H 0FEH 00H 00H 00H;
DB 00H 22H 23H 22H 12H 12H 20H 3FH 22H 22H 22H 22H 3FH 20H 20H 00H;"组"
TUAN1:
DB 00H 00H 0FCH 0FCH 0FCH 0FCH 0FCH 0FCH 04H 04H 04H 04H 04H 0FCH 00H 00H;
DB 00H 00H 3FH 20H 20H 20H 20H 20H 3FH 3FH 3FH 3FH 3FH 3FH 00H 00H;"未命名文件",0
TU2:
DB 00H 00H 0FCH 04H 04H 04H 04H 04H 0FCH 0FCH 0FCH 0FCH 0FCH 0FCH 00H 00H;
DB 00H 00H 3FH 3FH 3FH 3FH 3FH 3FH 20H 20H 20H 20H 20H 3FH 00H 00H;"未命名文件",0

END

⌨️ 快捷键说明

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