1602logo.LST
上传用户:teamwork
上传日期:2021-04-01
资源大小:15k
文件大小:7k
源码类别:

汇编语言

开发平台:

DOS

  1. A51 MACRO ASSEMBLER  1602LOGO                                                             02/11/2006 09:43:38 PAGE     1
  2. MACRO ASSEMBLER A51 V6.12
  3. OBJECT MODULE PLACED IN .1602logo.OBJ
  4. ASSEMBLER INVOKED BY: C:KeilC51BINA51.EXE .1602logo.ASM SET(SMALL) DEBUG EP
  5. LOC  OBJ            LINE     SOURCE
  6.                        1     ;///////////////////////////////////////////
  7.                        2     ;....本程序实现液晶循环显示信息功能.
  8.                        3     ;///////////////////////////////////////////
  9.                        4     
  10.   00B5                 5     RS EQU P3.5 
  11.   00B6                 6     RW EQU P3.6 
  12.   00B7                 7     E  EQU P3.7 
  13.   0090                 8     SJ EQU P1
  14. 0000                   9     org     00h
  15. 0000 0130             10     ajmp main
  16. 0030                  11     org 030h
  17. 0030                  12     main:
  18. 0030 758160           13     mov sp,#60h
  19. 0033                  14     main1:
  20. 0033 120097           15     lcall delay                     ;延时一段时间                      
  21. 0036 759038           16     MOV SJ,#38H                     ;                                  
  22. 0039 1174             17     ACALL ENABLE                    ;写指令38H                         
  23. 003B 759038           18     MOV SJ,#38H                     ;                                  
  24. 003E 1174             19     ACALL ENABLE                    ;写指令38H                         
  25. 0040 759038           20     MOV SJ,#38H                     ;                                  
  26. 0043 1174             21     ACALL ENABLE                    ;写指令38H                         
  27. 0045 759038           22     MOV SJ,#38H                     ;                                  
  28. 0048 1174             23     ACALL ENABLE                    ;写指令38H                         
  29. 004A 759008           24     MOV SJ,#08H                     ;                                  
  30. 004D 1174             25     ACALL ENABLE                    ;写指令08H                         
  31. 004F 759001           26     MOV SJ,#01H                     ;                                  
  32. 0052 1174             27     ACALL ENABLE                    ;写指令01H                         
  33. 0054 759006           28     MOV SJ,#06H                     ;                                  
  34. 0057 1174             29     ACALL ENABLE                    ;写指令06H                         
  35. 0059 75900C           30     MOV SJ,#0cH                     ;                                  
  36. 005C 1174             31     ACALL ENABLE                    ;写指令0CH                         
  37.                       32     
  38. 005E 759080           33     MOV SJ,#80H                     ;第一行显示第一个字符的位置            
  39. 0061 1174             34     ACALL ENABLE                    ;调用写指令                            
  40. 0063 9000A0           35     mov dptr,#table3                ;第一行表头位置                        
  41. 0066 117F             36     call write1                     ;调用第一行写子程序                    
  42. 0068 7590C0           37     mov SJ,#0c0h                    ;第二行位置                            
  43. 006B 1174             38     call enable                     ;调用写指令                            
  44. 006D 9000A8           39     mov dptr,#table2                ;第二行表头位置                        
  45. 0070 117F             40     call write1                     ;调用第二行写子程序
  46. 0072 80BF             41     jmp main1                       ;返回主程序不断的循环                  
  47.                       42     
  48. 0074                  43     ENABLE:                         ;写命令时序(参照1602LCD使用说明书)
  49. 0074 C2B5             44     CLR RS
  50. 0076 C2B6             45     CLR RW 
  51. 0078 C2B7             46     CLR E 
  52. 007A 1197             47     ACALL DELAY 
  53. 007C D2B7             48     SETB E 
  54. 007E 22               49     RET
  55.                       50     
  56. 007F                  51     write1:                         ;写字符串                                               
  57. 007F 7900             52     mov r1,#00h                     ;将R1清0                                      
  58. 0081 E9               53     a1:mov a,r1                     ;把R1的值送到ACC                              
  59. 0082 93               54     movc a,@a+dptr                  ;查表取将显示的示莶