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

📄 lcd1302.lst

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


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

LOC  OBJ            LINE     SOURCE

                       1         
                       2      ;文件名:LCD1302.ASM
                       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 112D             11        ACALL WR_COMM        ;调用写指令子程序 
0005 111D             12        ACALL INIT_LCD       ;调用初始化子程序
                      13     
0007 759081           14        MOV LCD,#81H         ;写入第1行第2个位置
000A 112D             15        ACALL WR_COMM        ;调用写指令子程序
000C 759041           16        MOV LCD,#'A'         ;显示"A"
000F 1148             17        ACALL WR_DATA        ;调用写数据子程序
                      18     
0011 7590C6           19        MOV LCD,#0c6H        ;写入第2行第7个位置
0014 112D             20        ACALL WR_COMM        ;调用写指令子程序
0016 759042           21        MOV LCD,#'B'         ;显示"B"
0019 1148             22        ACALL WR_DATA        ;调用写数据子程序
001B 80FE             23        JMP $                ;维持当前输出状态          
                      24     
001D                  25      INIT_LCD:              ;LCM初始化设定
001D 759038           26        MOV LCD,#00111000B   ;设置8位、2行、5x7点阵 
0020 112D             27        ACALL WR_COMM        ;调用写指令子程序 
0022 75900F           28        MOV LCD,#00001111B   ;显示器开,光标允许闪烁
0025 112D             29        ACALL WR_COMM        ;调用写指令子程序
0027 759006           30        MOV LCD,#00000110B   ;文字不动,光标自动右移 
002A 112D             31        ACALL WR_COMM        ;调用写指令子程序       
002C 22               32        RET                                             
                      33     
002D                  34      WR_COMM:               ;写指令子程序
002D C2B5             35        CLR RS               ;RS=0,选择指令寄存器
002F C2B6             36        CLR RW               ;RW=0,选择写模式
0031 C2B7             37        CLR E                ;E=0,禁止读/写LCM
0033 1138             38        ACALL CHECK_BF       ;调用判LCM忙碌子程序
0035 D2B7             39        SETB E               ;E=1,允许读/写LCM;
0037 22               40        RET                                              
                      41     
0038                  42      CHECK_BF:             ;判断是否忙碌子程序
0038 7590FF           43        MOV LCD,#0FFH       ;此时不接受外来指令
003B C2B5             44        CLR RS              ;RS=0,选择指令寄存器
003D D2B6             45        SETB RW             ;RW=1,选择读模式
003F C2B7             46        CLR E               ;E=0,禁止读/写LCM
0041 00               47        NOP                 ;延时1微秒
0042 D2B7             48        SETB E              ;E=1,允许读/写LCM
0044 2097F1           49        JB LCD.7,CHECK_BF   ;忙碌循环等待 
0047 22               50        RET                                            
                      51     
0048                  52      WR_DATA:               ;写数据子程序
0048 D2B5             53        SETB RS              ;RS=1,选择数据寄存器
004A C2B6             54        CLR RW               ;RW=0,选择写模式
004C C2B7             55        CLR E                ;E=0,禁止读/写LCM
004E 1138             56        ACALL CHECK_BF       ;调用判断忙碌子程序
0050 D2B7             57        SETB E               ;E=1,允许读/写LCM
0052 22               58        RET                                           
A51 MACRO ASSEMBLER  LCD1302                                                              01/07/2007 20:55:09 PAGE     2

                      59        
                      60        END                  ;程序结束
                             
A51 MACRO ASSEMBLER  LCD1302                                                              01/07/2007 20:55:09 PAGE     3

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


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

CHECK_BF . . . . .  C ADDR   0038H   A   
E. . . . . . . . .  B ADDR   00B0H.7 A   
INIT_LCD . . . . .  C ADDR   001DH   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   002DH   A   
WR_DATA. . . . . .  C ADDR   0048H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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