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

📄 126x64液晶显示2.asm

📁 proteus实例集锦
💻 ASM
字号:
;*********************************************

 ;Controller:ST7920

 ;MCU:AT89C51 ,晶体频率:12MHz

 ;LCM:128*64

 ;LCM型号:带中文字库的128X64-0402

 ;LCM 接口:1:GND 2:VCC 3:V0 4.RS 5:RW 6:E 7--14:DB0-DB7 15:PSB 16:NC 17:RST 18:Vout

;**********************************************
;占用单元30H,31H,32H,33H,A,DPTR,R2,R4,R6,R7
;功能:显示    浙江工业职业技术
;              学院电子协会欢迎
;              您
;
RS      EQU   P2.4      ;RS=“H”,表示DB7——DB0为显示数据
                        ;RS=“L”,表示DB7——DB0为显示指令数据
RW      EQU   P2.5      ;R/W=“H”,E=“H”,数据被读到DB7——DB0
                        ;R/W=“L”,E=“H→L”, DB7——DB0的数据被写到IR或DR
E       EQU   P2.6      ;使能信号
PSB     EQU   P2.7      ;H:8位或4位并口方式,L:串口方式(见注释1)
RST     EQU   P2.0      ;复位端,低电平有效
                        ;模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空
COM     EQU   30H       ;DD RAM 地址存放单元
DAT     EQU   31H       ;汉字代码数据存放单元
DAT1    EQU   32H       ;汉字码址表低位存放单元
DAT2    EQU   33H       ;汉字码址表高位存放单元

;******************************以上是接口定义
       ORG   0000H
       AJMP  START
       ORG   0030H
START: MOV   SP,#60H
       LJMP  DISP
;*********************************
DISP:   CLR     PSB
        LCALL   DELAY
        SETB    PSB         ;将PSB置1,通信方式为8位数据并口
        LCALL   DELAY
        MOV     COM,#30H    ;功能设置---8BIT控制界面,基本指令集
        ACALL   WRI         ;调用写指令子程序
        LCALL   DELAY       ;延迟39uS
        MOV     COM,#0CH    ;显示打开,光标关,反白显示关
        ACALL   WRI         ;调用写指令子程序
        LCALL   DELAY       ;延迟39uS
        MOV     COM,#01H    ;清除屏幕显示,将DDRAM的地址计数器归零
        ACALL   WRI         ;调用写指令子程序
        LCALL   DELAY       ;延迟39uS
        MOV     COM,#06H    ;DDRAM的地址计数器(AC)加1
        ACALL   WRI         ;调用写指令子程序
        LCALL   DELAY       ;延迟39uS
;====================================================
DISPLAY:MOV     DAT1,#01H  ;汉字码址表低位初值
        MOV     DAT2,#00H  ;汉字码址表高位初值
        MOV     R2,#64      ;DDRAM地址记数器设为最大值64
        MOV     COM,#80H    ;DD RAM 地址-----0000000
        ACALL   WRI

DISP2:  MOV     A,DAT2
        MOV     DPTR,#TAB
        MOVC    A,@A+DPTR
        MOV     DAT,A       ;送汉字码址表高位
        ACALL   WRD         ;写入第一字节数据
        MOV     A,DAT2
        ADD     A,#2
        MOV     DAT2,A
        MOV     A,DAT1
        MOVC    A,@A+DPTR
        MOV     DAT,A       ;送汉字码址表低位
        ACALL   WRD         ;写入第二字节数据
        MOV     A,DAT1
        ADD     A,#2
        MOV     DAT1,A
        DJNZ    R2,DISP2    ;判断是否显示满
        LCALL   DELAY1      ;1S延时子程序
        AJMP    DISPLAY      
;**************************
WRI:    PUSH    ACC
        CLR     RS
        SETB    RW

WRI1:   MOV     P0,#0FFH
        SETB    E
        MOV     A,P0
        CLR     E
        JB      ACC.7,WRI1
        CLR     RW
        MOV     P0,COM
        SETB    E
        CLR     E
        POP     ACC
        RET

;********************以上是写指令子程序

WRD:    PUSH    ACC
        CLR     RS
        SETB    RW
WRD1:   MOV     P0,#0FFH
        SETB    E
        MOV     A,P0
        CLR     E
        JB      ACC.7,WRD1
        SETB    RS
        CLR     RW
        MOV     P0,DAT
        SETB    E
        CLR     E
        POP     ACC
        RET

;********************以上是写数据子程序
DELAY:  MOV  R7,#0FFH
DELAY4: MOV  R6,#00FH
LOOP2:  DJNZ R6,LOOP2
        DJNZ R7,DELAY4
        RET

DELAY1: MOV  R4,#08H
DELAY11:MOV  R7,#0FFH
DELAY41:MOV  R6,#0FFH
        DJNZ R6,$
        DJNZ R7,DELAY41
        DJNZ R4,DELAY11
        RET

;************************以上是延时子程序
TAB: DB  0D5H,0E3H, 0BDH,0ADH, 0B9H,0A4H, 0D2H,0B5H   ;第一行前四个字(浙江工业)
     DB  0D6H,0B0H, 0D2H,0B5H, 0BCH,0BCH, 0CAH,0F5H   ;第一行后四个字(职业技术)
     DB  0C4H,0FAH, 0A3H,0A0H, 0A3H,0A0H, 0A3H,0A0H   ;第三行前四个字(您      )
     DB  0A3H,0A0H, 0A3H,0A0H, 0A3H,0A0H, 0A3H,0A0H   ;第三行后四个字(        )
     DB  0D1H,0A7H, 0D4H,0BAH, 0B5H,0E7H, 0D7H,0D3H   ;第二行前四个字(学院电子)
     DB  0D0H,0ADH, 0BBH,0E1H, 0BBH,0B6H, 0D3H,0ADH   ;第二行后四个字(协会欢迎)
     DB  0A3H,0A0H, 0A3H,0A0H, 0A3H,0A0H, 0A3H,0A0H   ;第四行前四个字(        )
     DB  0A3H,0A0H, 0A3H,0A0H, 0A3H,0A0H, 0A3H,0A0H   ;第四行后四个字(        )

⌨️ 快捷键说明

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