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

📄 lcd1301.lst

📁 51单片机开发入门与典型实例
💻 LST
字号:
A51 MACRO ASSEMBLER  LCD1301                                                              01/07/2007 20:42:53 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN LCD1301.OBJ
ASSEMBLER INVOKED BY: C:\KEIL7.06\C51\BIN\A51.EXE LCD1301.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;文件名:LCD1301.ASM
                       2     ;程序功能:显示“OK"程序
                       3     
  00B5                 4     RS  bit P3.5
  00B6                 5     RW  bit P3.6
  00B7                 6     E   bit P3.7
  0090                 7     LCD EQU P1
                       8     
0000                   9     MAIN:                   ;主程序
0000 759001           10     MOV LCD,#00000001B      ;清屏并光标复位
0003 1128             11     ACALL WR_COMM           ;调用写入命令子程序 
0005 1118             12     ACALL INIT_LCD          ;调用初始化子程序
0007 759082           13     MOV LCD,#82H            ;写入显示起始地址
000A 1128             14         ACALL WR_COMM           ;调用写入命令子程序
000C 75906F           15     MOV LCD,#'o'            ;显示"o"
000F 1143             16     ACALL WR_DATA           ;调用写入数据子程序
0011 75906B           17     MOV LCD,#'k'            ;显示"k"
0014 1143             18     ACALL WR_DATA           ;调用写入数据子程序
0016 80FE             19     JMP $                   ;维持当前输出状态
                      20     
0018                  21     INIT_LCD:                   ;LCD初始化设定
0018 759038           22     MOV LCD,#00111000B      ;设置8位、2行、5x7点阵 
001B 1128             23     ACALL WR_COMM           ;调用写入命令子程序 
001D 75900F           24     MOV LCD,#00001111B      ;显示器开,光标允许闪烁
0020 1128             25     ACALL WR_COMM           ;调用写入命令子程序
0022 759006           26     MOV LCD,#00000110B      ;文字不动,光标自动右移 
0025 1128             27     ACALL WR_COMM           ;调用写入命令子程序     
0027 22               28     RET
                      29     ;----------------------------
                      30     
0028                  31     WR_COMM:                    ;写入命令子程序
0028 C2B5             32     CLR RS                  ;RS=0,选择指令寄存器
002A C2B6             33     CLR RW                  ;RW=0,选择写模式
002C C2B7             34     CLR E                   ;E=0,禁止读/写LCM
002E 1133             35     ACALL CHECK_BF          ;调用判LCM忙碌子程序
0030 D2B7             36     SETB E                  ;E=1,允许读/写LCM
0032 22               37     RET 
                      38     
0033                  39     CHECK_BF:                  ;判断是否忙碌子程序
0033 7590FF           40     MOV LCD,#0FFH          ;此时不接受外来指令
0036 C2B5             41     CLR RS                 ;RS=0,选择指令寄存器
0038 D2B6             42     SETB RW                ;RW=1,选择读模式
003A C2B7             43     CLR E                  ;E=0,禁止读/写LCM
003C 00               44     NOP                    ;延时1微秒
003D D2B7             45     SETB E                 ;E=1,允许读/写LCM
003F 2097F1           46     JB LCD.7,CHECK_BF      ;忙碌循环等待 
0042 22               47     RET
                      48     
0043                  49     WR_DATA:                   ;写入数据子程序
0043 D2B5             50     SETB RS                ;RS=1,选择数据寄存器
0045 C2B6             51     CLR RW                 ;RW=0,选择写模式
0047 C2B7             52     CLR E                  ;E=0,禁止读/写LCM
0049 1133             53     ACALL CHECK_BF         ;调用判断忙碌子程序
004B D2B7             54     SETB E                 ;E=1,允许读/写LCM
004D 22               55     RET
                      56     
                      57     END
                             
A51 MACRO ASSEMBLER  LCD1301                                                              01/07/2007 20:42:53 PAGE     2

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

CHECK_BF . . . . .  C ADDR   0033H   A   
E. . . . . . . . .  B ADDR   00B0H.7 A   
INIT_LCD . . . . .  C ADDR   0018H   A   
LCD. . . . . . . .  D ADDR   0090H   A   
MAIN . . . . . . .  C ADDR   0000H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
RS . . . . . . . .  B ADDR   00B0H.5 A   
RW . . . . . . . .  B ADDR   00B0H.6 A   
WR_COMM. . . . . .  C ADDR   0028H   A   
WR_DATA. . . . . .  C ADDR   0043H   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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