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

📄 lm3033.asm

📁 液晶要带字库的!! 自己编的
💻 ASM
字号:


   RS EQU P3.2
   RW EQU P3.4
   E  EQU P3.5
   LCD_BUS EQU  P1     ;8位数据线接P1口


      ORG 0000H
;********************显示初始化**********************
       MOV SP,#5FH
       MOV A,#30H        ;30H--基本指令操作
       LCALL WR_COM
       LCALL DY_100US
       MOV A,#30H        ;8_BIT数据流
       LCALL WR_COM
       LCALL DY_100US
       MOV A,#0CH         ;开显示,无游标不反白
       LCALL WR_COM
       LCALL DY_100US
       MOV A,#01H          ;清除显示
       LCALL WR_COM
       LCALL DY_100US
       MOV A,#06H            ;指定在资料写入或读取时,光标的移动方向 及
       LCALL WR_COM       ;指定显示的移位
       LCALL DY_100US
       LCALL CESHI    ;display
       LCALL DY_50MS
       MOV A,#01H   ; Clear scream
        SJMP main  




CESHI:  LCALL DY_100US
	  MOV A,#80H
        LCALL WR_COM
        MOV DPTR,#TAB1   ;第一行字的首地址
        LCALL HZKDIS

        MOV A,#90H
        LCALL WR_COM
        MOV DPTR,#TAB2   ;第二行字的首地址
        LCALL HZKDIS

        MOV A,#88H
        LCALL WR_COM
        MOV DPTR,#TAB3   ;第3行字的首地址
        LCALL HZKDIS
        MOV A,#98H
        LCALL WR_COM
        MOV DPTR,#TAB4   ;第4行字的首地址
        LCALL HZKDIS
        RET

;===============================================
;写数据子程序
;RS=1,RW=0,E=高脉冲,D0-D7=数据
;===============================================
WR_DATA:     SETB RS
             CLR RW
             SETB E
             MOV LCD_BUS,A
             CLR E
             LCALL  DY_100US
             RET
;===============================================
;写指令子程序
;RS=0,RW=0,E=高脉冲,D0-D7=指令码
;===============================================
WR_COM:   CLR RS
          CLR RW
          SETB E
          MOV LCD_BUS,A
          CLR E
          LCALL  DY_100US
          RET
;==================================================
;显示字符串子程序
;==========================================
HZKDIS: CLR  A
        MOVC A,@A+DPTR
        CJNE A,#00H,GO_DIS ;TAB的末尾加 00H作为结束标志
        SJMP GO_RET
GO_DIS: LCALL WR_DATA
        INC DPTR
        LCALL DY_100US
        SJMP HZKDIS
GO_RET: RET

;==========================================
;延时程序
;*************************************
DY_50MS: PUSH 00H  ;R0
         PUSH 01H  ;R1
         MOV R0,#120
DEL:     MOV R1,#250
         DJNZ R1,$
         DJNZ R0,DEL
         POP 01H
         POP 00H
         RET

DY_100US: PUSH 00H  ;R0
          MOV R0,#150
          DJNZ R0,$
          POP 00H
          RET
TAB1: DB '故人西辞黄鹤楼,',00H
TAB2: DB '烟花三月下扬州。',00H
TAB3: DB '孤帆远影碧空尽,',00H
TAB4: DB '唯见长江天际流。',00H
END

⌨️ 快捷键说明

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