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

📄 2322.asm

📁 2322LCD模块测试程序。。 汇编。
💻 ASM
字号:
;******************************
        RS      EQU   P3.2
        RW      EQU   P3.1
        E       EQU   P3.0
        PORT0   EQU   P1
;******************************
        ORG  0000H
        AJMP begin
        ORG   0030H
BEGIN:  
        MOV   SP,#60H
        LCALL DELAY
        MOV   A,#38H
        LCALL WCOM
        MOV   A,#38H
        LCALL WCOM
        MOV   A,#06H
        LCALL WCOM
        MOV   A,#0CH
        LCALL WCOM
        MOV   A,#40H
        LCALL WCOM
        MOV   A,#01H
        LCALL WCOM
START:
        LCALL WELLCOM
        LCALL WHIJ
        LCALL SHTRT
        LCALL SHTLT
        LCALL WCGROM
        LCALL TSTEND
        LJMP  START
;*******************************
WELLCOM:
        MOV   A,#00001100B
        LCALL WCOM
        MOV   DPTR,#DATA1
        mov   a,#80h
        MOV   R3,#02
W0:     MOV   R2,#16
        LCALL WCOM
W1:     CLR   A
        MOVC  A,@A+DPTR
        LCALL WDATA
        INC   DPTR
        DJNZ  R2,W1
        MOV   A,#0C0H
        DJNZ  R3,W0
        MOV   R5,#0E0H
        LCALL DELAY1
        JNB   P3.3,$
        MOV   R5,#0FH
        LCALL DELAY1
        RET
;*******************************

WHIJ:
        MOV   DPTR,#DATA2
        MOV   R1,#03
WRT0:   MOV   R2,#02
        MOV   A,#80H
WRT1:   LCALL WCOM
        MOV   R3,#16
WRT2:   CLR   A
        MOVC  A,@A+DPTR
        LCALL WDATA
        DJNZ  R3,WRT2
        MOV   A,#0C0H
        DJNZ  R2,WRT1
        MOV   R5,#0A0H
        LCALL DELAY1
        JNB   P3.3,$
        LCALL DELAY
        LCALL DELAY
        INC   DPTR
        DJNZ  R1,WRT0
        RET
;****************************************
SHTRT:
        MOV   A,#01H
        LCALL WCOM
        MOV   R1,#03
SHIFT0: MOV   R2,#02
        MOV   A,#80H
SHIFT1: LCALL WCOM
        MOV   DPTR,#DATA3
        MOV   R3,#13
SHIFT2: CLR   A
        MOVC  A,@A+DPTR
        LCALL WDATA
        INC   DPTR
        DJNZ  R3,SHIFT2
        MOV   A,#0C0H
        DJNZ  R2,SHIFT1

        MOV   A,#00001111b
        LCALL WCOM
        MOV   R5,#40H
        LCALL DELAY1

        MOV   A,#00011100B
        LCALL WCOM
        DJNZ  R1,SHIFT0

        MOV   R5,#0B0H
        LCALL DELAY1
        RET
;**********************************
SHTLT:
        MOV   A,#01H
        LCALL WCOM
        MOV   R1,#04
SHTLT0: MOV   R2,#02
        MOV   A,#80H
SHTLT1: LCALL WCOM
        MOV   DPTR,#DATA4
        MOV   R3,#12
SHTLT2: CLR   A
        MOVC  A,@A+DPTR
        LCALL WDATA
        INC   DPTR
        DJNZ  R3,SHTLT2
        MOV   A,#0C0H
        DJNZ  R2,SHTLT1

        MOV   A,#00001111b
        LCALL WCOM
        MOV   R5,#40H
        LCALL DELAY1
        MOV   A,#00011000B
        LCALL WCOM
        DJNZ  R1,SHTLT0

        MOV   R5,#0B0H
        LCALL DELAY1
        RET
;**********************************
WCGROM:
        MOV   A,#01H
        LCALL WCOM
        LCALL DELAY
        MOV   A,#01000000B
        LCALL WCOM
        LCALL DELAY
        MOV   R0,#33
        MOV   R1,#07
WDDROM0:MOV   R2,#02H
        MOV   A,#80H
WDDROM1:LCALL WCOM
        MOV   R3,#16
        MOV   A,R0
WDDROM2:LCALL WDATA
        INC   A
        DJNZ  R3,WDDROM2
        MOV   A,R0
        ADD   A,#16
        MOV   R0,A
        MOV   A,#0C0H
        DJNZ  R2,WDDROM1
        MOV   R5,#7FH
        LCALL DELAY1
        JNB   P3.3,$
        MOV   R5,#10H
        LCALL DELAY1
        DJNZ  R1,WDDROM0
        RET
;*****************************
TSTEND:
        MOV   A,#00001100B
        LCALL WCOM
        MOV   A,#01H
        LCALL WCOM
        MOV   A,#84H
        LCALL WCOM
        LCALL DELAY
        MOV   R3,#9
        MOV   DPTR,#DATA5
WEND:   CLR   A
        MOVC  A,@A+DPTR
        LCALL WDATA
        INC   DPTR
        DJNZ  R3,WEND
        MOV   R5,#0F0H
        LCALL DELAY1
        RET
;***************************
WCOM:
        PUSH  DPH
        PUSH  DPL
        PUSH  ACC
        LCALL BUSY_CHECK
        POP   ACC
        NOP
        NOP
        CLR   RS
        NOP
        NOP
        CLR   RW
        NOP
        NOP
        SETB  E
	NOP
        NOP
        MOV   PORT0,A
        NOP
        NOP
        CLR   E
        NOP
        NOP
        SETB  RW
        NOP
        SETB  RS
        POP   DPL
        POP   DPH
        RET
WDATA: 
        PUSH  DPH
        PUSH  DPL
        PUSH  ACC
        LCALL BUSY_CHECK
        POP   ACC
        SETB  RS
        NOP
        CLR   RW
        NOP
        NOP
        SETB  E
      	NOP
        NOP
        MOV   PORT0,A
        NOP
        NOP
        CLR   E
      	NOP
        NOP
        SETB  RW
        NOP
        CLR   RS
        POP   DPL
        POP   DPH
        RET
;****************************************
BUSY_CHECK:
        NOP
        CLR   RS
        NOP
        NOP
        SETB  RW
        NOP
        NOP
        SETB  E
        NOP
        NOP
        MOV   A,PORT0
        NOP
        NOP
        CLR   E
      	NOP
        NOP
        CLR   RW
        NOP
        ANL   A,#80H
        CJNE  A,#00H,BUSY_CHECK
        RET
;****************************
DELAY:  
        MOV   R6,#46
DE1:    MOV   R7,#250
DE2:    DJNZ  R7,DE2
        DJNZ  R6,DE1
        RET
DELAY1:
        MOV  R6,#20
DEL1:   MOV  R7,#200
DEL2:   DJNZ R7,DEL2
        DJNZ R6,DEL1
        DJNZ R5,DELAY1
        RET
;********************************
DATA1:
     DB ' This is VK2006 '
     DB '   5V Module    '

DATA2:
     DB '#HI'
DATA3:
     DB 'SHIFT RIGHT->'
DATA4:
     DB '<-SHIFT LEFT'
DATA5:
     DB 'TEST OK !'
      END

⌨️ 快捷键说明

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