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

📄 yy24.asm

📁 液晶显示的单片机代码
💻 ASM
字号:
           CWADD1 EQU 08000H ;写指令代码地址(E1)
           DWADD1 EQU 08001H ;写显示数据地址(E1)
           CRADD1 EQU 08002H
           DRADD1 EQU 08003H

           CWADD2 EQU 08004H
           DWADD2 EQU 08005H ;写显示数据地址(E2)
           CRADD2 EQU 08006H
           DRADD2 EQU 08007H

           PD1 EQU 3DH

           COLUMN EQU 30H
           PAGE_  EQU 31H
           CODE_  EQU 32H
           COUNT  EQU 33H
           DIR    EQU 34H
           DTP1   EQU 35H
           DTP2   EQU 36H
           DPT3   EQU 37H
           CTEMP  EQU 38H

      COM    EQU 20H
       DAT    EQU 21H

       ORG 0
JMP  MAIN
MOV  DPTR,#0F002H
MOV  A,#56H
MOVX @DPTR,A
MOV  A,#0
MOVX A,@DPTR
JMP  MAIN

;----------------------
;初始化程序

INIT: MOV  COM,#0E2H
      LCALL  PR0
      LCALL  PR3
      MOV  COM, #0A4H
      LCALL PR0
      LCALL PR3
      MOV  COM,#0A9H
      LCALL PR0
      LCALL PR3
      MOV  COM,#0A0H
      LCALL PR0
      LCALL PR3
      MOV  COM,#0C0H
      LCALL PR0
      LCALL PR3
      MOV  COM,#0AFH
      LCALL PR0
      LCALL PR3
      RET
;----------------------
;清屏
CLEAR:  MOV R4,#00H
CLEAR1: MOV A,R4
        ORL A,#0B8H
        MOV COM,A
        LCALL PR0
        LCALL PR3
        MOV  COM,#00H
        LCALL PR0
        LCALL PR3
        MOV  R3,#50H
CLEAR2: MOV DAT,#00H
        LCALL PR1
        LCALL PR4
        DJNZ  R3,CLEAR2
        INC R4
        CJNE R4,#04H,CLEAR1
        RET
;----------------------
;1.写指令代码子程序(E1)

PR0: PUSH DPL
     PUSH DPH
     MOV DPTR,#CRADD1
PR01:MOVX A,@DPTR
     JB ACC.7,PR01
     MOV DPTR,#CWADD1
     MOV A,COM
     MOVX @DPTR,A
     POP DPH
     POP DPL
     RET
;-------------------
;2.写显示数据子程序(E1)

PR1: PUSH DPL
     PUSH DPH
     MOV DPTR,#CRADD1
PR11:MOVX A,@DPTR
     JB ACC.7,PR11
     MOV DPTR,#DWADD1
     MOV A,DAT
     MOVX @DPTR,A
     POP DPH
     POP DPL
     RET
 ;-----------------------
 ;3.读显示数据子程序(E1)

 PR2:  PUSH DPL
       PUSH DPH
       MOV DPTR,#CRADD1
PR21:MOVX A,@DPTR
     JB ACC.7,PR21
     MOV DPTR,#DWADD1
     MOVX A,@DPTR
     MOVX DAT,A
     POP DPH
     POP DPL
     RET
;--------------------------
;4.写指令代码子程序(E2)

PR3: PUSH DPL
     PUSH DPH
     MOV DPTR,#CRADD2
PR31:MOVX A,@DPTR
     JB ACC.7,PR31
     MOV DPTR,#CWADD2
     MOV A,COM
     MOVX @DPTR,A
     POP DPH
     POP DPL
     RET
;-----------------------------
;5.写显示数据子程序(E2)

PR4: PUSH DPL
     PUSH DPH
     MOV DPTR,#CRADD2
PR41:MOVX A,@DPTR
     JB ACC.7,PR41
     MOV DPTR,#DWADD2
     MOV A,DAT
     MOVX @DPTR,A
     POP DPH
     POP DPL
     RET
;---------------------------
;6.读显示数据子程序(E2)

PR5:  PUSH DPL
       PUSH DPH
       MOV DPTR,#CRADD2
PR51:MOVX A,@DPTR
     JB ACC.7,PR51
     MOV DPTR,#DWADD2
     MOVX A,@DPTR
     MOVX DAT,A
     POP DPH
     POP DPL
     RET


; 中文显示子程序

CCW_PR:  MOV DPTR,#CCTAB
         MOV A,CODE_
         MOV B,#20H
         MUL AB
         ADD A,DPL
         MOV DPL,A
         MOV A,B
         ADDC A,DPH
         MOV DPH,A
         PUSH COLUMN
         PUSH COLUMN
         MOV CODE_,#00H
CCW_1:   MOV COUNT,#10H
         MOV A,PAGE
         ANL A,#03H
         ORL A,#0B8H
         MOV COM,A
         LCALL PR0
         LCALL PR3
         POP COLUMN
         MOV A,COLUMN
         CLR C
         SUBB A,#PD1
         JC CCW_2
         MOV COLUMN,A
         MOV A,PAGE_
         SETB ACC.3
         MOV PAGE_,A
CCW_2:   MOV COM,COLUMN
         MOV A,PAGE_
         JNB ACC.3,CCW_3
         LCALL PR3
         LJMP CCW_4
CCW_3:   LCALL PR0
CCW_4:   MOV A,CODE_
         MOVC A,@A+DPTR
         MOV DAT,A
         MOV A,PAGE_
         JNB ACC.3,CCW_5
         LCALL PR4
         LJMP CCW_6
CCW_5:   LCALL PR1
CCW_6:   INC CODE_
         INC COLUMN
         MOV A,COLUMN
         CJNE A,#PD1,CCW_7
CCW_7:   JC CCW_8
         MOV A,PAGE_
         JB ACC.3,CCW_8
         SETB ACC.3
         MOV PAGE_,A
         MOV COM,#00H
         LCALL PR3
CCW_8:   DJNZ COUNT,CCW_4
         MOV A,PAGE_
         JB ACC.7,CCW_9
         INC A
         SETB ACC.7
         CLR ACC.3
         MOV PAGE_,A
         MOV CODE_,#10H
         LJMP CCW_1
CCW_9:   RET
;-----------------------------
  ;中文字符库
CCTAB:
SMALL0: 
; DB  38H,44H,44H,44H,44H,44H,38H,00H
SMALL1:
; DB  10H,30H,50H,10H,10H,7CH,00H
SMALL2:
; DB  38H,44H,04H,08H,10H,20H,7CH,00H
SMALL3:
; DB  78H,84H,04H,38H,04H,84H,78H,00H

DB 000H,004H,0E4H,024H,024H,064H,0B4H,02FH
DB 024H,0A4H,064H,024H,024H,0E6H,004H,000H
DB 000H,000H,07FH,004H,005H,005H,005H,07FH
DB 005H,005H,005H,025H,044H,03FH,000H,000H

DB 000H,004H,004H,0E4H,024H,024H,025H,026H
DB 024H,024H,024H,0E4H,006H,004H,000H,000H
DB 000H,020H,010H,019H,00DH,041H,081H,07FH
DB 001H,001H,005H,00DH,038H,010H,000H,000H

DB 000H,080H,060H,0F8H,007H,00AH,028H,028H
DB 028H,0FFH,028H,028H,028H,028H,000H,000H
DB 001H,000H,000H,0FFH,000H,001H,001H,001H
DB 001H,0FFH,001H,021H,041H,03FH,000H,000H

DB 008H,008H,089H,0CEH,028H,018H,002H,07AH
DB 04AH,04AH,04AH,04AH,04AH,07AH,002H,000H
DB 002H,001H,000H,0FFH,001H,002H,0FFH,049H
DB 049H,049H,07FH,049H,049H,049H,0FFH,000H
;----------------------------------------
; 中文演示显示程序段
MAIN: 
        LCALL INIT
        LCALL CLEAR
        MOV CTEMP,#0
        MOV DIR,#0
        
AAA:    MOV PAGE_,#02H
        MOV COLUMN,CTEMP
        MOV CODE_,#00H
        LCALL CCW_PR
        
        MOV PAGE_,#02H
        MOV A,CTEMP
        ADD A,#10H
        MOV COLUMN,A
        MOV CODE_,#01H
        LCALL CCW_PR
        
        MOV PAGE_,#02H
        MOV A,CTEMP
        ADD A,#20H
        MOV COLUMN,A
        MOV CODE_,#02H
        LCALL CCW_PR
        
        MOV PAGE_,#02H
        MOV A,CTEMP
        ADD A,#30H
        MOV COLUMN,A
        MOV CODE_,#03H
        LCALL CCW_PR
        
        LJMP $
        
        LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        MOV A,DIR
        CJNE A,#0,LEFT
        INC CTEMP
        MOV A,CTEMP
        CJNE A,#58,AAA
        MOV DIR,#1
        LJMP AAA
LEFT:
        DEC CTEMP
        MOV A,CTEMP
        CJNE A,#0,AAA
        MOV DIR,#0
        LJMP AAA

        
        SJMP $
                
        




⌨️ 快捷键说明

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