📄 18b20lcd.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Sun Jan 6 15:32:10 2002
1 processor 16F877
2 opt pw 79
3 psect __Z49231UD_,global,delta=1
4 psect config,global,class=CONFIG,delta=2
5 psect rdata_0,global,class=BANK0,space=1,delta
+ =1
6 psect idata_0,global,class=CODE,delta=2
7 psect text2,local,class=CODE,delta=2
8 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
9 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
10 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19 0000
20 0000 ;#
21
22 psect config
23 2007 3F3A dw 16186 ;#
24
25 psect rdata_0
26 0031 _cc1
27 0031 ds 1
28 0032 ds 1
29 0033 ds 1
30 0034 ds 1
31 0035 ds 1
32 0036 ds 1
33 0037 ds 1
34 0038 ds 1
35 0039 ds 1
36 003A ds 1
37 003B ds 1
38 003C ds 1
39 003D ds 1
40 003E ds 1
41 003F ds 1
42 0040 ds 1
43 0041 ds 1
44 0042 _cc2
45 0042 ds 1
46 0043 ds 1
47 0044 ds 1
48 0045 ds 1
49 0046 ds 1
50 0047 ds 1
51 0048 ds 1
52 0049 ds 1
53 004A ds 1
54 004B ds 1
55 004C ds 1
56 004D ds 1
57 004E ds 1
58 004F ds 1
59 0050 ds 1
60 0051 _symbol
61 0051 ds 1
62
63 psect idata_0
64 07DF 3454 retlw 84
65 07E0 3465 retlw 101
66 07E1 346D retlw 109
67 07E2 3470 retlw 112
68 07E3 3465 retlw 101
69 07E4 3472 retlw 114
70 07E5 3461 retlw 97
71 07E6 3474 retlw 116
72 07E7 3475 retlw 117
73 07E8 3472 retlw 114
74 07E9 3465 retlw 101
75 07EA 3420 retlw 32
76 07EB 3469 retlw 105
77 07EC 3473 retlw 115
78 07ED 3420 retlw 32
79 07EE 343A retlw 58
80 07EF 3400 retlw 0
81 07F0 342B retlw 43
82 07F1 3430 retlw 48
83 07F2 3430 retlw 48
84 07F3 3430 retlw 48
85 07F4 342E retlw 46
86 07F5 3430 retlw 48
87 07F6 3430 retlw 48
88 07F7 3420 retlw 32
89 07F8 3444 retlw 68
90 07F9 3465 retlw 101
91 07FA 3467 retlw 103
92 07FB 3472 retlw 114
93 07FC 3465 retlw 101
94 07FD 3465 retlw 101
95 07FE 3400 retlw 0
96 07FF 342B retlw 43
97
98 psect text2
99 ;18b20LCD.c: 41: void delay_1ms(void)
100 ;18b20LCD.c: 42: {
101 050F _delay_1ms
102 ; _i assigned to ?a_delay_1ms+0
103 0000 _delay_1ms$i set ?a_delay_1ms
104 ;18b20LCD.c: 43: unsigned int i;
105 050F 0183 clrf 3 ;select bank 0
106 0510 01A7 clrf ?a_delay_1ms
107 0511 01A8 clrf ?a_delay_1ms+1
108 0512 l8
109 0512 0AA7 incf ?a_delay_1ms
110 0513 1903 btfsc 3,2
111 0514 0AA8 incf ?a_delay_1ms+1
112 0515 3000 movlw 0
113 0516 0228 subwf ?a_delay_1ms+1,w
114 0517 308E movlw 142
115 0518 1903 btfsc 3,2
116 0519 0227 subwf ?a_delay_1ms,w
117 051A 1803 btfsc 3,0
118 051B 0008 return
119 051C 2D12 goto l8
120 051D _delay_nms
121 ; _i assigned to ?a_delay_nms+0
122 0000 _delay_nms$i set ?a_delay_nms
123 ;18b20LCD.c: 49: unsigned int i=0;
124 051D 0183 clrf 3 ;select bank 0
125 051E 01A5 clrf ?a_delay_nms
126 051F 01A6 clrf ?a_delay_nms+1
127 ;18b20LCD.c: 50: for (i=0;i<n;i++)
128 0520 01A5 clrf ?a_delay_nms
129 0521 01A6 clrf ?a_delay_nms+1
130 0522 2D27 goto l15
131 0523 l12
132 ;18b20LCD.c: 51: delay_1ms();
133 0523 250F fcall _delay_1ms
134 0524 0AA5 incf ?a_delay_nms
135 0525 1903 btfsc 3,2
136 0526 0AA6 incf ?a_delay_nms+1
137 0527 l15
138 0527 0824 movf ?_delay_nms+1,w
139 0528 0226 subwf ?a_delay_nms+1,w
140 0529 1D03 btfss 3,2
141 052A 2D2D goto u35
142 052B 0823 movf ?_delay_nms,w
143 052C 0225 subwf ?a_delay_nms,w
144 052D u35
145 052D 1803 btfsc 3,0
146 052E 0008 return
147 052F 2D23 goto l12
148 0530 _delay_1us
149 ;18b20LCD.c: 29: asm("nop");
150 0530 0000 nop ;#
151 ;18b20LCD.c: 30: asm("nop");
152 0531 0000 nop ;#
153 ;18b20LCD.c: 32: }
154 0532 0183 clrf 3 ;select bank 0
155 0533 0008 return
156 0534 _delay_nus
157 ; _i assigned to ?a_delay_nus+0
158 0000 _delay_nus$i set ?a_delay_nus
159 ;18b20LCD.c: 36: unsigned int i=0;
160 0534 0183 clrf 3 ;select bank 0
161 0535 01AC clrf ?a_delay_nus
162 0536 01AD clrf ?a_delay_nus+1
163 ;18b20LCD.c: 37: for (i=0;i<n;i++)
164 0537 01AC clrf ?a_delay_nus
165 0538 01AD clrf ?a_delay_nus+1
166 0539 2D3E goto l6
167 053A l3
168 ;18b20LCD.c: 38: delay_1us();
169 053A 2530 fcall _delay_1us
170 053B 0AAC incf ?a_delay_nus
171 053C 1903 btfsc 3,2
172 053D 0AAD incf ?a_delay_nus+1
173 053E l6
174 053E 082B movf ?_delay_nus+1,w
175 053F 022D subwf ?a_delay_nus+1,w
176 0540 1D03 btfss 3,2
177 0541 2D44 goto u15
178 0542 082A movf ?_delay_nus,w
179 0543 022C subwf ?a_delay_nus,w
180 0544 u15
181 0544 1803 btfsc 3,0
182 0545 0008 return
183 0546 2D3A goto l3
184 ;18b20LCD.c: 55: void LCD_en_write(void)
185 ;18b20LCD.c: 56: {
186 0547 _LCD_en_write
187 ;18b20LCD.c: 57: RB1=1;
188 0547 0183 clrf 3 ;select bank 0
189 0548 1486 bsf 6,1
190 ;18b20LCD.c: 58: delay_nus(1);
191 0549 01AA clrf ?_delay_nus
192 054A 0AAA incf ?_delay_nus
193 054B 01AB clrf ?_delay_nus+1
194 054C 2534 fcall _delay_nus
195 ;18b20LCD.c: 59: RB1=0;
196 054D 1086 bcf 6,1
197 ;18b20LCD.c: 60: }
198 054E 0008 return
199 ;18b20LCD.c: 62: void LCD_write_command(unsigne
+ d char command)
200 ;18b20LCD.c: 63: {
201 054F _LCD_write_command
202 ; _command assigned to ?a_LCD_write_command+0
203 0000 _LCD_write_command$command set ?a_LCD_write_com
+ mand
204 ;_command stored from w
205 054F 0183 clrf 3 ;select bank 0
206 0550 00A9 movwf ?a_LCD_write_command
207 ;18b20LCD.c: 65: RB3=0;
208 0551 1186 bcf 6,3
209 ;18b20LCD.c: 66: PORTD=command;
210 0552 0088 movwf 8 ;volatile
211 ;18b20LCD.c: 67: LCD_en_write();
212 0553 2547 120A 118A fcall _LCD_en_write
213 ;18b20LCD.c: 68: delay_nus(1);
214 0556 01AA clrf ?_delay_nus
215 0557 0AAA incf ?_delay_nus
216 0558 01AB clrf ?_delay_nus+1
217 0559 2D34 ljmp _delay_nus
218 ;18b20LCD.c: 71: void LCD_write_data(unsigned c
+ har data)
219 ;18b20LCD.c: 72: {
220 055A _LCD_write_data
221 ; _data assigned to ?a_LCD_write_data+0
222 0000 _LCD_write_data$data set ?a_LCD_write_data
223 ;_data stored from w
224 055A 0183 clrf 3 ;select bank 0
225 055B 00A6 movwf ?a_LCD_write_data
226 ;18b20LCD.c: 74: RB3=1;
227 055C 1586 bsf 6,3
228 ;18b20LCD.c: 75: PORTD=data;
229 055D 0088 movwf 8 ;volatile
230 ;18b20LCD.c: 76: LCD_en_write();
231 055E 2547 120A 118A fcall _LCD_en_write
232 ;18b20LCD.c: 77: delay_nus(1);
233 0561 01AA clrf ?_delay_nus
234 0562 0AAA incf ?_delay_nus
235 0563 01AB clrf ?_delay_nus+1
236 0564 2D34 ljmp _delay_nus
237 ;18b20LCD.c: 106: void lcdinit()
238 ;18b20LCD.c: 109: {TRISD=0x00;
239 0565 _lcdinit
240 0565 1683 bsf 3,5
241 0566 1303 bcf 3,6 ;carry unused
242 0567 0188 clrf 8 ;volatile
243 ;18b20LCD.c: 110: TRISB=0XF1;
244 0568 30F1 movlw -15
245 0569 0086 movwf 6 ;volatile
246 ;18b20LCD.c: 111: RB2=0;
247 056A 1283 bcf 3,5
248 056B 1106 bcf 6,2
249 ;18b20LCD.c: 112: RD6=1;
250 056C 1708 bsf 8,6
251 ;18b20LCD.c: 113: LCD_en_write();
252 056D 2547 120A 118A fcall _LCD_en_write
253 ;18b20LCD.c: 114: delay_nus(40);
254 0570 3028 movlw 40
255 0571 00AA movwf ?_delay_nus
256 0572 01AB clrf ?_delay_nus+1
257 0573 2534 fcall _delay_nus
258 ;18b20LCD.c: 115: LCD_write_command(0x38);
259 0574 3038 movlw 56
260 0575 254F 120A 118A fcall _LCD_write_command
261 ;18b20LCD.c: 116: LCD_write_command(0x0c);
262 0578 300C movlw 12
263 0579 254F 120A 118A fcall _LCD_write_command
264 ;18b20LCD.c: 117: LCD_write_command(0x01);
265 057C 3001 movlw 1
266 057D 254F 120A 118A fcall _LCD_write_command
267 ;18b20LCD.c: 118: delay_nms(2);
268 0580 3002 movlw 2
269 0581 00A3 movwf ?_delay_nms
270 0582 01A4 clrf ?_delay_nms+1
271 0583 2D1D ljmp _delay_nms
272 ;18b20LCD.c: 185: unsigned char read_byte(void)
273 ;18b20LCD.c: 186: {
274 0584 _read_byte
275 ; _j assigned to ?a_read_byte+0
276 0000 _read_byte$j set ?a_read_byte
277 ; _value assigned to ?a_read_byte+1
278 0000 _read_byte$value set ?a_read_byte+1
279 ; _i assigned to ?a_read_byte+2
280 0000 _read_byte$i set ?a_read_byte+2
281 ;18b20LCD.c: 187: unsigned char i;
282 0584 0183 clrf 3 ;select bank 0
283 0585 01AA clrf ?a_read_byte+1
284 ;18b20LCD.c: 192: for (i=0;i<8;i++)
285 0586 01AB clrf ?a_read_byte+2
286 0587 l40
287 ;18b20LCD.c: 193: {
288 ;18b20LCD.c: 194: j=read_bit();
289 0587 25D0 120A 118A fcall _read_bit
290 058A 3000 movlw 0
291 058B 1803 btfsc 3,0
292 058C 3001 movlw 1
293 058D 00A9 movwf ?a_read_byte
294 ;18b20LCD.c: 196: if (j)
295 058E 08A9 movf ?a_read_byte
296 058F 1903 btfsc 3,2
297 0590 2DA0 goto l43
298 ;18b20LCD.c: 197: {
299 0591 3001 movlw 1
300 0592 00F0 movwf btemp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -