📄 lcd_12232.lst
字号:
A51 MACRO ASSEMBLER LCD_12232 08/02/2007 21:37:30 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN LCD_12232.OBJ
ASSEMBLER INVOKED BY: E:\Program Files\Keil\C51\BIN\A51.EXE LCD_12232.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;本程序适用于 DXDZ 51+AVR-A 开发板
2 ;配置要求:
3 ; 需要将开发板上的跳线组JP5、JP6、JP7切换到LCD一端,开关BLSW实现背光源的开通与闭合。
4 ;郑重声明:
5 ; 在使用12232F液晶时,需要将开发板上液晶插座的第3引脚改接VCC,出厂该引脚已被短接到GND
上以适应1602液晶,
6 ; 由此给您带来的不便表示歉意。
7 ;程序说明:
8 ; 程序运行后,12232液晶第一行显示“51+AVR”,第二行显示“二合一开发板”。
9
10
0030 11 DELAY1 EQU 30H
0031 12 DELAY2 EQU 31H
0032 13 DELAY3 EQU 32H
0033 14 DELAY4 EQU 33H
0034 15 DELAY5 EQU 34H
0035 16 W_COUNTER EQU 35H
17
18 ;DB0-DB7 <----> P1
00B3 19 RS BIT P3.3
00B4 20 RW BIT P3.4
00B5 21 E BIT P3.5
22
23
0000 24 ORG 0000H
0000 0130 25 AJMP START
26
0030 27 ORG 0030H
0030 28 START:
0030 758160 29 MOV SP,#60H
30
0033 1200ED 31 LCALL ST_DELAY
0036 7430 32 MOV A,#00110000B ;功能设定
0038 120072 33 LCALL WRITE_IR
003B 7430 34 MOV A,#00110000B
003D 120072 35 LCALL WRITE_IR
0040 7404 36 MOV A,#00000100B ;进入点设置
0042 120072 37 LCALL WRITE_IR
0045 740C 38 MOV A,#00001100B ;显示全开,不用游标
0047 120072 39 LCALL WRITE_IR
004A 7401 40 MOV A,#00000001B ;清除
004C 120072 41 LCALL WRITE_IR
004F 1200E0 42 LCALL DELAY_T
0052 7402 43 MOV A,#00000010B ;地址归位
0054 120072 44 LCALL WRITE_IR
0057 1200E0 45 LCALL DELAY_T
46
005A 7480 47 MOV A,#80H ;选中第1行第1列
005C 120072 48 LCALL WRITE_IR
005F 9000B9 49 MOV DPTR,#CHINESE1
0062 12008C 50 LCALL WRITE_CHAR
51
0065 7490 52 MOV A,#90H ;选中第2行第1列
0067 120072 53 LCALL WRITE_IR
006A 9000C9 54 MOV DPTR,#CHINESE2
006D 12008C 55 LCALL WRITE_CHAR
56
0070 80FE 57 SJMP $
A51 MACRO ASSEMBLER LCD_12232 08/02/2007 21:37:30 PAGE 2
58
59
0072 60 WRITE_IR:
0072 1200D9 61 LCALL DELAY
0075 C2B3 62 CLR RS
0077 C2B3 63 CLR RS
0079 C2B4 64 CLR RW
007B C2B4 65 CLR RW
007D F590 66 MOV P1,A
007F F590 67 MOV P1,A
0081 D2B5 68 SETB E
0083 D2B5 69 SETB E
0085 00 70 NOP
0086 00 71 NOP
0087 C2B5 72 CLR E
0089 C2B5 73 CLR E
008B 22 74 RET
75
008C 76 WRITE_CHAR:
008C 753508 77 MOV W_COUNTER,#8
008F 78 WC1:
008F E4 79 CLR A
0090 93 80 MOVC A,@A+DPTR
0091 12009F 81 LCALL WRITE_DR
0094 A3 82 INC DPTR
0095 E4 83 CLR A
0096 93 84 MOVC A,@A+DPTR
0097 12009F 85 LCALL WRITE_DR
009A A3 86 INC DPTR
009B D535F1 87 DJNZ W_COUNTER,WC1
009E 22 88 RET
89
009F 90 WRITE_DR:
009F 1200D9 91 LCALL DELAY
00A2 D2B3 92 SETB RS
00A4 D2B3 93 SETB RS
00A6 C2B4 94 CLR RW
00A8 C2B4 95 CLR RW
00AA F590 96 MOV P1,A
00AC F590 97 MOV P1,A
00AE D2B5 98 SETB E
00B0 D2B5 99 SETB E
00B2 00 100 NOP
00B3 00 101 NOP
00B4 C2B5 102 CLR E
00B6 C2B5 103 CLR E
00B8 22 104 RET
105
00B9 106 CHINESE1:
00B9 2003 107 DB 020H,003H ;
00BB A3B5 108 DB 0A3H,0B5H ;5
00BD A3B1 109 DB 0A3H,0B1H ;1
00BF A3AB 110 DB 0A3H,0ABH ;+
00C1 A3C1 111 DB 0A3H,0C1H ;A
00C3 A3D6 112 DB 0A3H,0D6H ;V
00C5 A3D2 113 DB 0A3H,0D2H ;R
00C7 0620 114 DB 006H,020H ;
00C9 115 CHINESE2:
00C9 2010 116 DB 020H,010H ;
00CB B6FE 117 DB 0B6H,0FEH ;二
00CD BACF 118 DB 0BAH,0CFH ;合
00CF D2BB 119 DB 0D2H,0BBH ;一
00D1 BFAA 120 DB 0BFH,0AAH ;开
00D3 B7A2 121 DB 0B7H,0A2H ;发
00D5 B0E5 122 DB 0B0H,0E5H ;板
00D7 1120 123 DB 011H,020H ;
A51 MACRO ASSEMBLER LCD_12232 08/02/2007 21:37:30 PAGE 3
124
00D9 125 DELAY: ;100us
00D9 753264 126 MOV DELAY3,#100
00DC D532FD 127 DJNZ DELAY3,$
00DF 22 128 RET
00E0 129 DELAY_T: ;5ms
00E0 753332 130 MOV DELAY4,#50
00E3 753464 131 DL1: MOV DELAY5,#100
00E6 D534FD 132 DJNZ DELAY5,$
00E9 D533F7 133 DJNZ DELAY4,DL1
00EC 22 134 RET
00ED 135 ST_DELAY: ;40ms
00ED 7530FF 136 MOV DELAY1,#255
00F0 7531FF 137 ST1: MOV DELAY2,#255
00F3 D531FD 138 DJNZ DELAY2,$
00F6 D530F7 139 DJNZ DELAY1,ST1
00F9 22 140 RET
141
142 END
A51 MACRO ASSEMBLER LCD_12232 08/02/2007 21:37:30 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
CHINESE1 . . . . . C ADDR 00B9H A
CHINESE2 . . . . . C ADDR 00C9H A
DELAY. . . . . . . C ADDR 00D9H A
DELAY1 . . . . . . N NUMB 0030H A
DELAY2 . . . . . . N NUMB 0031H A
DELAY3 . . . . . . N NUMB 0032H A
DELAY4 . . . . . . N NUMB 0033H A
DELAY5 . . . . . . N NUMB 0034H A
DELAY_T. . . . . . C ADDR 00E0H A
DL1. . . . . . . . C ADDR 00E3H A
E. . . . . . . . . B ADDR 00B0H.5 A
P1 . . . . . . . . D ADDR 0090H A
P3 . . . . . . . . D ADDR 00B0H A
RS . . . . . . . . B ADDR 00B0H.3 A
RW . . . . . . . . B ADDR 00B0H.4 A
SP . . . . . . . . D ADDR 0081H A
ST1. . . . . . . . C ADDR 00F0H A
START. . . . . . . C ADDR 0030H A
ST_DELAY . . . . . C ADDR 00EDH A
WC1. . . . . . . . C ADDR 008FH A
WRITE_CHAR . . . . C ADDR 008CH A
WRITE_DR . . . . . C ADDR 009FH A
WRITE_IR . . . . . C ADDR 0072H A
W_COUNTER. . . . . N NUMB 0035H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -