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

📄 lcd1301.asm

📁 1602 lcd显示“spring” 最基本的显示程序
💻 ASM
字号:
;文件名:LCD1301.ASM
;程序功能:显示“OK"程序

RS  bit P3.5
RW  bit P3.6
E   bit P3.7
LCD EQU P1

MAIN:                   ;主程序
MOV LCD,#00000001B      ;清屏并光标复位
ACALL WR_COMM           ;调用写入命令子程序
ACALL INIT_LCD          ;调用初始化子程序
MOV LCD,#82H            ;写入显示起始地址
    ACALL WR_COMM           ;调用写入命令子程序
MOV LCD,#'s'            ;显示"o"
ACALL WR_DATA           ;调用写入数据子程序
MOV LCD,#'p'            ;显示"k"
ACALL WR_DATA

MOV LCD,#'r'            ;显示"r"
ACALL WR_DATA

MOV LCD,#'i'            ;显示"i"
ACALL WR_DATA
MOV LCD,#'n'            ;显示"n"
ACALL WR_DATA
MOV LCD,#'g'            ;显示"g"
ACALL WR_DATA       ;调用写入数据子程序
JMP $                   ;维持当前输出状态

INIT_LCD:                   ;LCD初始化设定
MOV LCD,#00111000B      ;设置8位、2行、5x7点阵
ACALL WR_COMM           ;调用写入命令子程序
MOV LCD,#00001111B      ;显示器开,光标允许闪烁
ACALL WR_COMM           ;调用写入命令子程序
MOV LCD,#00000110B      ;文字不动,光标自动右移
ACALL WR_COMM           ;调用写入命令子程序
RET
;----------------------------

WR_COMM:                    ;写入命令子程序
CLR RS                  ;RS=0,选择指令寄存器
CLR RW                  ;RW=0,选择写模式
CLR E                   ;E=0,禁止读/写LCM
ACALL CHECK_BF          ;调用判LCM忙碌子程序
SETB E                  ;E=1,允许读/写LCM
RET

CHECK_BF:                  ;判断是否忙碌子程序
MOV LCD,#0FFH          ;此时不接受外来指令
CLR RS                 ;RS=0,选择指令寄存器
SETB RW                ;RW=1,选择读模式
CLR E                  ;E=0,禁止读/写LCM
NOP                    ;延时1微秒
SETB E                 ;E=1,允许读/写LCM
JB LCD.7,CHECK_BF      ;忙碌循环等待
RET

WR_DATA:                   ;写入数据子程序
SETB RS                ;RS=1,选择数据寄存器
CLR RW                 ;RW=0,选择写模式
CLR E                  ;E=0,禁止读/写LCM
ACALL CHECK_BF         ;调用判断忙碌子程序
SETB E                 ;E=1,允许读/写LCM
RET

END

⌨️ 快捷键说明

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