📄 lcd1602.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-38921 Mon Dec 12 18:38:34 2005
Licensed to: HF
1 processor 16F877A
2 opt pw 79
3 psect __Z38921RS_,global,delta=1
4 psect config,global,class=CONFIG,delta=2
5 psect strings,global,class=STRING,delta=2
6 psect const1,local,class=CONST,delta=2
7 psect text3,local,class=CODE,delta=2
8 psect text6,local,class=CODE,delta=2
9 psect text8,local,class=CODE,delta=2
10 psect text11,local,class=CODE,delta=2
11 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
12 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19 0000
20 0000
21 0000
22 0000
23
24 psect __Z38921RS_
25 0190
26 0190 ;#
27
28 psect config
29 2007 3F7A dw 16250 ;#
30
31 psect const1
32 0013 0782 addwf 2
33 0014 _cgram1
34 0014 3400 retlw 0
35 0015 341F retlw 31
36 0016 3412 retlw 18
37 0017 3409 retlw 9
38 0018 341F retlw 31
39 0019 3411 retlw 17
40 001A 3401 retlw 1
41 001B 340F retlw 15
42 001C 341E retlw 30
43 001D 3404 retlw 4
44 001E 3404 retlw 4
45 001F 3408 retlw 8
46 0020 341F retlw 31
47 0021 3401 retlw 1
48 0022 3400 retlw 0
49 0023 341E retlw 30
50 0024 3402 retlw 2
51 0025 3403 retlw 3
52 0026 3406 retlw 6
53 0027 3405 retlw 5
54 0028 3404 retlw 4
55 0029 3409 retlw 9
56 002A 3409 retlw 9
57 002B 3412 retlw 18
58 002C 3400 retlw 0
59 002D 341C retlw 28
60 002E 3404 retlw 4
61 002F 3408 retlw 8
62 0030 3410 retlw 16
63 0031 3418 retlw 24
64 0032 3404 retlw 4
65 0033 3407 retlw 7
66 0034 3404 retlw 4
67 0035 3404 retlw 4
68 0036 3404 retlw 4
69 0037 3404 retlw 4
70 0038 341F retlw 31
71 0039 3409 retlw 9
72 003A 3409 retlw 9
73 003B 3409 retlw 9
74 003C 3400 retlw 0
75 003D 341F retlw 31
76 003E 3401 retlw 1
77 003F 3402 retlw 2
78 0040 3404 retlw 4
79 0041 3404 retlw 4
80 0042 3404 retlw 4
81 0043 341F retlw 31
82 0044 3411 retlw 17
83 0045 3419 retlw 25
84 0046 3406 retlw 6
85 0047 3404 retlw 4
86 0048 3406 retlw 6
87 0049 340B retlw 11
88 004A 3412 retlw 18
89 004B 3410 retlw 16
90 004C 3404 retlw 4
91 004D 3404 retlw 4
92 004E 3404 retlw 4
93 004F 3404 retlw 4
94 0050 3404 retlw 4
95 0051 3404 retlw 4
96 0052 3414 retlw 20
97 0053 3408 retlw 8
98
99 psect text3
100 ;lcd1602.c: 54: wr_data_8(unsigned char dat)
101 ;lcd1602.c: 55: {
102 06E8 _wr_data_8
103 ; _dat assigned to ?a_wr_data_8+0
104 0000 _wr_data_8$dat set ?a_wr_data_8
105 ; _pb assigned to ?a_wr_data_8+1
106 0000 _wr_data_8$pb set ?a_wr_data_8+1
107 ;_dat stored from w
108 06E8 0183 clrf 3 ;select bank 0
109 06E9 00C0 movwf ?a_wr_data_8
110 ;lcd1602.c: 56: unsigned char pb;
111 06EA 1286 bcf 6,5 ;volatile
112 ;lcd1602.c: 58: PORTB &= ~0x10;
113 06EB 1206 bcf 6,4 ;volatile
114 ;lcd1602.c: 60: PORTB |= 0x10;
115 06EC 1606 bsf 6,4 ;volatile
116 ;lcd1602.c: 62: PORTB |= 0x20;
117 06ED 1686 bsf 6,5 ;volatile
118 ;lcd1602.c: 63: pb=PORTB;
119 06EE 0806 movf 6,w ;volatile
120 06EF 00C1 movwf ?a_wr_data_8+1
121 ;lcd1602.c: 64: pb=pb&0xF0;
122 06F0 30F0 movlw -16
123 06F1 05C1 andwf ?a_wr_data_8+1
124 ;lcd1602.c: 65: pb +=dat&0x0F;
125 06F2 0840 movf ?a_wr_data_8,w
126 06F3 390F andlw 15
127 06F4 07C1 addwf ?a_wr_data_8+1
128 ;lcd1602.c: 66: PORTB =pb;
129 06F5 0841 movf ?a_wr_data_8+1,w
130 06F6 0086 movwf 6 ;volatile
131 ;lcd1602.c: 68: PORTB &= ~0x20;
132 06F7 1286 bcf 6,5 ;volatile
133 ;lcd1602.c: 69: PORTB &= ~0x10;
134 06F8 1206 bcf 6,4 ;volatile
135 ;lcd1602.c: 71: }
136 06F9 0008 return
137
138 psect text6
139 ;lcd1602.c: 139: unsigned char rd_bf()
140 ;lcd1602.c: 140: {
141 06E6 _rd_bf
142 ;lcd1602.c: 142: }
143 06E6 0183 clrf 3 ;select bank 0
144 06E7 0008 return
145
146 psect text8
147 ;lcd1602.c: 193: void initial_port()
148 ;lcd1602.c: 194: {
149 06FA _initial_port
150 ;lcd1602.c: 195: TRISB=0x00;
151 06FA 1683 bsf 3,5
152 06FB 1303 bcf 3,6 ;carry unused
153 06FC 0186 clrf 6 ;volatile
154 ;lcd1602.c: 196: INTCON=0x00;
155 06FD 018B clrf 11 ;volatile
156 ;lcd1602.c: 198: }
157 06FE 1283 bcf 3,5
158 06FF 0008 return
159 0700 _delay5ms
160 ; _i assigned to ?a_delay5ms+0
161 0000 _delay5ms$i set ?a_delay5ms
162 ;lcd1602.c: 24: unsigned int i;
163 0700 0183 clrf 3 ;select bank 0
164 0701 01C1 clrf ?a_delay5ms
165 0702 01C2 clrf ?a_delay5ms+1
166 0703 l2
167 ;lcd1602.c: 26: ;
168 0703 0AC1 incf ?a_delay5ms
169 0704 1903 btfsc 3,2
170 0705 0AC2 incf ?a_delay5ms+1
171 0706 300F movlw 15
172 0707 0242 subwf ?a_delay5ms+1,w
173 0708 30A0 movlw 160
174 0709 1903 btfsc 3,2
175 070A 0241 subwf ?a_delay5ms,w
176 070B 1803 btfsc 3,0
177 070C 0008 return
178 070D 2F03 goto l2
179 ;lcd1602.c: 227: main()
180 ;lcd1602.c: 228: {
181 070E _main
182 ;lcd1602.c: 229: unsigned char in,i,da;
183 070E 2700 fcall _delay5ms
184 ;lcd1602.c: 231: initial_port();
185 070F 26FA fcall _initial_port
186 ;lcd1602.c: 232: init();
187 0710 27DB fcall _init
188 0711 l28
189 ;lcd1602.c: 234: while(1)
190 ;lcd1602.c: 235: {
191 0711 3020 movlw 32
192 0712 00A0 movwf _line1
193 ;lcd1602.c: 237: line1[1]=0;
194 0713 01A1 clrf _line1+1
195 ;lcd1602.c: 238: line1[2]=1;
196 0714 01A2 clrf _line1+2
197 0715 0AA2 incf _line1+2
198 ;lcd1602.c: 239: line1[3]=4;
199 0716 3004 movlw 4
200 0717 00A3 movwf _line1+3
201 ;lcd1602.c: 240: line1[4]=5;
202 0718 3005 movlw 5
203 0719 00A4 movwf _line1+4
204 ;lcd1602.c: 241: line1[5]=0x20;
205 071A 3020 movlw 32
206 071B 00A5 movwf _line1+5
207 ;lcd1602.c: 242: line1[6]=0;
208 071C 01A6 clrf _line1+6
209 ;lcd1602.c: 243: line1[7]=1;
210 071D 01A7 clrf _line1+7
211 071E 0AA7 incf _line1+7
212 ;lcd1602.c: 244: line1[8]=4;
213 071F 3004 movlw 4
214 0720 00A8 movwf _line1+8
215 ;lcd1602.c: 245: line1[9]=5;
216 0721 3005 movlw 5
217 0722 00A9 movwf _line1+9
218 ;lcd1602.c: 246: line1[10]=0x20;
219 0723 3020 movlw 32
220 0724 00AA movwf _line1+10
221 ;lcd1602.c: 247: line1[11]=0;
222 0725 01AB clrf _line1+11
223 ;lcd1602.c: 248: line1[12]=1;
224 0726 01AC clrf _line1+12
225 0727 0AAC incf _line1+12
226 ;lcd1602.c: 249: line1[13]=4;
227 0728 3004 movlw 4
228 0729 00AD movwf _line1+13
229 ;lcd1602.c: 250: line1[14]=5;
230 072A 3005 movlw 5
231 072B 00AE movwf _line1+14
232 ;lcd1602.c: 251: line1[15]=0x20;
233 072C 3020 movlw 32
234 072D 00AF movwf _line1+15
235 ;lcd1602.c: 253: line2[0]=0x20;
236 072E 00B0 movwf _line2
237 ;lcd1602.c: 254: line2[1]=2;
238 072F 3002 movlw 2
239 0730 00B1 movwf _line2+1
240 ;lcd1602.c: 255: line2[2]=3;
241 0731 3003 movlw 3
242 0732 00B2 movwf _line2+2
243 ;lcd1602.c: 256: line2[3]=6;
244 0733 3006 movlw 6
245 0734 00B3 movwf _line2+3
246 ;lcd1602.c: 257: line2[4]=7;
247 0735 3007 movlw 7
248 0736 00B4 movwf _line2+4
249 ;lcd1602.c: 258: line2[5]=0x20;
250 0737 3020 movlw 32
251 0738 00B5 movwf _line2+5
252 ;lcd1602.c: 259: line2[6]=2;
253 0739 3002 movlw 2
254 073A 00B6 movwf _line2+6
255 ;lcd1602.c: 260: line2[7]=3;
256 073B 3003 movlw 3
257 073C 00B7 movwf _line2+7
258 ;lcd1602.c: 261: line2[8]=6;
259 073D 3006 movlw 6
260 073E 00B8 movwf _line2+8
261 ;lcd1602.c: 262: line2[9]=7;
262 073F 3007 movlw 7
263 0740 00B9 movwf _line2+9
264 ;lcd1602.c: 263: line2[10]=0x20;
265 0741 3020 movlw 32
266 0742 00BA movwf _line2+10
267 ;lcd1602.c: 264: line2[11]=2;
268 0743 3002 movlw 2
269 0744 00BB movwf _line2+11
270 ;lcd1602.c: 265: line2[12]=3;
271 0745 3003 movlw 3
272 0746 00BC movwf _line2+12
273 ;lcd1602.c: 266: line2[13]=6;
274 0747 3006 movlw 6
275 0748 00BD movwf _line2+13
276 ;lcd1602.c: 267: line2[14]=7;
277 0749 3007 movlw 7
278 074A 00BE movwf _line2+14
279 ;lcd1602.c: 268: line2[15]=0x20;
280 074B 3020 movlw 32
281 074C 00BF movwf _line2+15
282 ;lcd1602.c: 270: display_162();
283 074D 27A6 fcall _display_162
284 ;lcd1602.c: 271: }
285 074E 2F11 goto l28
286 ;lcd1602.c: 106: wr_data(unsigned char dat)
287 ;lcd1602.c: 107: {
288 074F _wr_data
289 ; _dat assigned to ?a_wr_data+0
290 0000 _wr_data$dat set ?a_wr_data
291 ; _i assigned to ?a_wr_data+1
292 0000 _wr_data$i set ?a_wr_data+1
293 ; _pb assigned to ?a_wr_data+2
294 0000 _wr_data$pb set ?a_wr_data+2
295 ;_dat stored from w
296 074F 0183 clrf 3 ;select bank 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -