lcd2.asm

来自「Library for the 8051 microcontroller. s」· 汇编 代码 · 共 134 行

ASM
134
字号
                ORG 0000H
                LJMP MAIN
                ORG 0030H
		RS EQU P3.5
		RW EQU P3.4
		EN EQU P3.7
                                    	;initialization
MAIN:           MOV A,#038H     	;first time
                LCALL COM
                MOV A,#038H             ;second time
                LCALL COM
                MOV A,#038H             ;third time
                LCALL COM
                MOV A,#038H             ;fourth time
                LCALL COM
                MOV A,#00CH
                LCALL COM
                MOV A,#001H
                LCALL COM
                MOV A,#006H
                LCALL COM
                MOV A,#083H
                LCALL COM       	;initialization End
		;===========================================
                MOV A,#'D'     		;data to write on LCD
                LCALL DATAW
		LCALL DELAY
                MOV A,#'A'
                LCALL DATAW
		LCALL DELAY
                MOV A,#'R'     		
                LCALL DATAW
		LCALL DELAY
		MOV A,#'E'
                LCALL DATAW
		LCALL DELAY
		MOV A,#' '     		
                LCALL DATAW
		LCALL DELAY
		MOV A,#'D'
                LCALL DATAW
		LCALL DELAY
		MOV A,#'E'
                LCALL DATAW
		LCALL DELAY
		MOV A,#'V'
                LCALL DATAW
		LCALL DELAY
		MOV A,#'I'
                LCALL DATAW
		LCALL DELAY
		MOV A,#'L'
                LCALL DATAW		
		LCALL DELAY
		;===========================================
		MOV A,#0C1H
		LCALL COM
		;===========================================
		MOV A,#'A'     		;data to write on LCD
                LCALL DATAW
		LCALL DELAY
                MOV A,#'S'
                LCALL DATAW
		LCALL DELAY
                MOV A,#'I'     		
                LCALL DATAW
		LCALL DELAY
		MOV A,#'F'
                LCALL DATAW
		LCALL DELAY
		MOV A,#' '     		
                LCALL DATAW
		LCALL DELAY
		MOV A,#'A'
                LCALL DATAW
		LCALL DELAY
		MOV A,#'L'
                LCALL DATAW
		LCALL DELAY
		MOV A,#'I'
                LCALL DATAW
		LCALL DELAY
                MOV A,#' '     		
                LCALL DATAW
		LCALL DELAY
		;===========================================
		MOV A,#'R'     		;data to write on LCD
                LCALL DATAW
		LCALL DELAY
                MOV A,#'A'
                LCALL DATAW
		LCALL DELAY
                MOV A,#'J'     		
                LCALL DATAW
		LCALL DELAY
		MOV A,#'P'
                LCALL DATAW
		LCALL DELAY
		MOV A,#'U'     		
                LCALL DATAW
		LCALL DELAY
		MOV A,#'T'
                LCALL DATAW
		LCALL DELAY
		;===========================================
AGAIN:          SJMP AGAIN    		;endless loop
COM:            MOV P1,A   		;command write sequence
                CLR RS
                CLR RW
                SETB EN
		;LCALL TEST
		CLR EN
		LCALL DELAY
                RET
DATAW:          MOV P1,A   		;data write sequence
                SETB RS
                CLR RW
                SETB EN
                ;LCALL TEST
		CLR EN
		LCALL DELAY
                RET
DELAY:          MOV R6,#50    		;simple delay routine
HERE2:          MOV R7,#255  		;for 0.0124S or 124MS
HERE:           DJNZ R7,HERE
                DJNZ R6,HERE2
                RET
TEST:		JB P3.0,TEST
TEST2:		JNB P3.0,TEST2
		RET
                END


⌨️ 快捷键说明

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