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

📄 lcd_12232.asm

📁 程序说明: 程序运行时
💻 ASM
字号:
;本程序适用于 DXDZ 51+AVR-A 开发板
;配置要求:
;       需要将开发板上的跳线组JP5、JP6、JP7切换到LCD一端,开关BLSW实现背光源的开通与闭合。
;郑重声明:
;       在使用12232F液晶时,需要将开发板上液晶插座的第3引脚改接VCC,出厂该引脚已被短接到GND上以适应1602液晶,
;       由此给您带来的不便表示歉意。
;程序说明:
;       程序运行后,12232液晶第一行显示“51+AVR”,第二行显示“二合一开发板”。


        DELAY1    EQU    30H
	DELAY2    EQU    31H
	DELAY3    EQU    32H
	DELAY4    EQU    33H
	DELAY5    EQU    34H
	W_COUNTER EQU    35H

        ;DB0-DB7 <----> P1
        RS  BIT    P3.3
	RW  BIT    P3.4
	E   BIT    P3.5


	ORG      0000H
	AJMP     START

	ORG      0030H
START:
        MOV      SP,#60H

        LCALL    ST_DELAY
	MOV      A,#00110000B     ;功能设定
	LCALL    WRITE_IR
	MOV      A,#00110000B
	LCALL    WRITE_IR
        MOV      A,#00000100B     ;进入点设置	
       	LCALL    WRITE_IR
	MOV      A,#00001100B     ;显示全开,不用游标
	LCALL    WRITE_IR
	MOV      A,#00000001B     ;清除
	LCALL    WRITE_IR
        LCALL    DELAY_T
	MOV      A,#00000010B     ;地址归位
	LCALL    WRITE_IR
	LCALL    DELAY_T

	MOV      A,#80H           ;选中第1行第1列
	LCALL    WRITE_IR
	MOV      DPTR,#CHINESE1
	LCALL    WRITE_CHAR

	MOV      A,#90H		  ;选中第2行第1列
	LCALL    WRITE_IR
	MOV      DPTR,#CHINESE2
	LCALL    WRITE_CHAR
          
	SJMP      $


WRITE_IR:
        LCALL     DELAY	
	CLR       RS
	CLR       RS
	CLR       RW
	CLR       RW
	MOV       P1,A
	MOV       P1,A
	SETB      E
	SETB      E
	NOP
	NOP
	CLR       E
	CLR       E
	RET
	
WRITE_CHAR:
        MOV     W_COUNTER,#8
   WC1:
   	CLR     A
	MOVC    A,@A+DPTR
	LCALL   WRITE_DR
	INC     DPTR
	CLR     A
	MOVC    A,@A+DPTR
	LCALL   WRITE_DR
	INC     DPTR
	DJNZ    W_COUNTER,WC1
        RET 

WRITE_DR:
        LCALL     DELAY
	SETB      RS
	SETB      RS
	CLR       RW
	CLR       RW
	MOV       P1,A
	MOV       P1,A
	SETB      E
	SETB      E
	NOP
	NOP
	CLR       E
	CLR       E
        RET

CHINESE1:
        DB  020H,003H	;
        DB  0A3H,0B5H   ;5
	DB  0A3H,0B1H   ;1
	DB  0A3H,0ABH   ;+
	DB  0A3H,0C1H   ;A
	DB  0A3H,0D6H   ;V
	DB  0A3H,0D2H   ;R
	DB  006H,020H   ;
CHINESE2:
        DB  020H,010H   ;
	DB  0B6H,0FEH   ;二
	DB  0BAH,0CFH   ;合
	DB  0D2H,0BBH   ;一
	DB  0BFH,0AAH   ;开
	DB  0B7H,0A2H   ;发
	DB  0B0H,0E5H   ;板
	DB  011H,020H   ;

DELAY:   ;100us
        MOV      DELAY3,#100
	DJNZ     DELAY3,$
	RET
DELAY_T:    ;5ms
        MOV      DELAY4,#50
   DL1: MOV      DELAY5,#100
	DJNZ     DELAY5,$
	DJNZ     DELAY4,DL1
	RET
ST_DELAY:  ;40ms
        MOV      DELAY1,#255
   ST1: MOV      DELAY2,#255
        DJNZ     DELAY2,$
	DJNZ     DELAY1,ST1
	RET

	END

⌨️ 快捷键说明

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