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

📄 1602logo.lst

📁 学习单片机的程序集
💻 LST
字号:
A51 MACRO ASSEMBLER  1602LOGO                                                             08/27/2008 23:20:58 PAGE     1


MACRO ASSEMBLER A51 V8.00d
OBJECT MODULE PLACED IN 1602logo.OBJ
ASSEMBLER INVOKED BY: D:\电子程序\C51\BIN\A51.EXE 1602logo.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;///////////////////////////////////////////
                       2     ;....本程序实现液晶循环显示信息功能.
                       3     ;///////////////////////////////////////////
                       4     
  00A0                 5     RS EQU P2.0 
  00A1                 6     RW EQU P2.1 
  00A2                 7     E  EQU P2.2 
  0080                 8     SJ EQU P0
0000                   9     org     00h
0000 0130             10     ajmp main
0030                  11     org 030h
0030                  12     main:
0030 C2A6             13     CLR P2.6
0032 758160           14     mov sp,#60h
0035                  15     main1:
0035 120099           16     lcall delay                     ;延时一段时间                      
0038 758038           17     MOV SJ,#38H                     ;                                  
003B 1176             18     ACALL ENABLE                    ;写指令38H                         
003D 758038           19     MOV SJ,#38H                     ;                                  
0040 1176             20     ACALL ENABLE                    ;写指令38H                         
0042 758038           21     MOV SJ,#38H                     ;                                  
0045 1176             22     ACALL ENABLE                    ;写指令38H                         
0047 758038           23     MOV SJ,#38H                     ;                                  
004A 1176             24     ACALL ENABLE                    ;写指令38H                         
004C 758008           25     MOV SJ,#08H                     ;                                  
004F 1176             26     ACALL ENABLE                    ;写指令08H                         
0051 758001           27     MOV SJ,#01H                     ;                                  
0054 1176             28     ACALL ENABLE                    ;写指令01H                         
0056 758006           29     MOV SJ,#06H                     ;                                  
0059 1176             30     ACALL ENABLE                    ;写指令06H                         
005B 75800C           31     MOV SJ,#0cH                     ;                                  
005E 1176             32     ACALL ENABLE                    ;写指令0CH                         
                      33     
0060 758080           34     MOV SJ,#80H                     ;第一行显示第一个字符的位置            
0063 1176             35     ACALL ENABLE                    ;调用写指令                            
0065 9000A2           36     mov dptr,#table3                ;第一行表头位置                        
0068 1181             37     call write1                     ;调用第一行写子程序                    
006A 7580C0           38     mov SJ,#0c0h                    ;第二行位置                            
006D 1176             39     call enable                     ;调用写指令                            
006F 9000B2           40     mov dptr,#table2                ;第二行表头位置                        
0072 1181             41     call write1                     ;调用第二行写子程序
0074 80BF             42     jmp main1                       ;返回主程序不断的循环                  
                      43     
0076                  44     ENABLE:                         ;写命令时序(参照1602LCD使用说明书)
0076 C2A0             45     CLR RS
0078 C2A1             46     CLR RW 
007A C2A2             47     CLR E 
007C 1199             48     ACALL DELAY 
007E D2A2             49     SETB E 
0080 22               50     RET
                      51     
0081                  52     write1:                         ;写字符串                                               
0081 7900             53     mov r1,#00h                     ;将R1清0                                      
0083 E9               54     a1:mov a,r1                     ;把R1的值送到ACC                              
0084 93               55     movc a,@a+dptr                  ;查表取将显示的数据并把要显示的数送入ACC      
0085 118C             56     call write2                     ;调用写程序写入单个字节                       
0087 09               57     inc r1                          ;将工作寄存器指针加一                         
0088 B910F8           58     cjne r1,#10h,a1                 ;R1的内容加到16后就返回到a1处                  
A51 MACRO ASSEMBLER  1602LOGO                                                             08/27/2008 23:20:58 PAGE     2

008B 22               59     ret                             ;
                      60                                                                                   
008C                  61     write2:                         ;写单个字符                                                
                                                          
008C F580             62     mov SJ,a                        ;写数据到显示端口                            
008E D2A0             63     setb rs                         ;写数据时序(请参照1602LCD使用说明书)         
0090 C2A1             64     clr rw                          
0092 C2A2             65     clr e
0094 1199             66     call delay
0096 D2A2             67     setb e
0098 22               68     ret 
                      69     
                      70     
0099                  71     delay:
0099 7FFF             72     mov r7,#255
009B 7EFF             73     d1:mov r6,#255
009D DEFE             74     d2:djnz r6,d2
009F DFFA             75     djnz r7,d1
00A1 22               76     ret
                      77           
                      78     
00A2 20202020         79     table3: db "    www.ttnu.com"
00A6 7777772E                
00AA 74746E75                
00AE 2E636F6D                
00B2 20202030         80     table2: db "   0512-58112811"
00B6 3531322D                
00BA 35383131                
00BE 32383131                
                      81     end
                             
                             
A51 MACRO ASSEMBLER  1602LOGO                                                             08/27/2008 23:20:58 PAGE     3

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


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

A1 . . . . . . . .  C ADDR   0083H   A   
D1 . . . . . . . .  C ADDR   009BH   A   
D2 . . . . . . . .  C ADDR   009DH   A   
DELAY. . . . . . .  C ADDR   0099H   A   
E. . . . . . . . .  B ADDR   00A0H.2 A   
ENABLE . . . . . .  C ADDR   0076H   A   
MAIN . . . . . . .  C ADDR   0030H   A   
MAIN1. . . . . . .  C ADDR   0035H   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
RS . . . . . . . .  B ADDR   00A0H.0 A   
RW . . . . . . . .  B ADDR   00A0H.1 A   
SJ . . . . . . . .  D ADDR   0080H   A   
SP . . . . . . . .  D ADDR   0081H   A   
TABLE2 . . . . . .  C ADDR   00B2H   A   
TABLE3 . . . . . .  C ADDR   00A2H   A   
WRITE1 . . . . . .  C ADDR   0081H   A   
WRITE2 . . . . . .  C ADDR   008CH   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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