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