Line 1... |
Line 1... |
1 |
CCS PCM C Compiler, Version 4.059d, 15399 03-III-07 19:39 |
1 |
CCS PCM C Compiler, Version 4.059d, 15399 19-III-07 15:20 |
2 |
|
2 |
|
3 |
Filename: main.lst |
3 |
Filename: main.lst |
4 |
|
4 |
|
5 |
ROM used: 252 words (12%) |
5 |
ROM used: 268 words (13%) |
6 |
Largest free fragment is 1796 |
6 |
Largest free fragment is 1780 |
7 |
RAM used: 8 (2%) at main() level |
7 |
RAM used: 8 (2%) at main() level |
8 |
8 (2%) worst case |
8 |
8 (2%) worst case |
9 |
Stack: 0 locations |
9 |
Stack: 0 locations |
10 |
|
10 |
|
11 |
* |
11 |
* |
12 |
0000: MOVLW 00 |
12 |
0000: MOVLW 00 |
13 |
0001: MOVWF 0A |
13 |
0001: MOVWF 0A |
14 |
0002: GOTO 004 |
14 |
0002: GOTO 004 |
15 |
0003: NOP |
15 |
0003: NOP |
16 |
.................... /**** Analog to Digital Converter ****/ |
16 |
.................... |
17 |
.................... #include "main.h" |
17 |
.................... #include "main.h" |
18 |
.................... #include <16F877A.h> |
18 |
.................... #include <16F877A.h> |
19 |
.................... //////// Standard Header file for the PIC16F877A device //////////////// |
19 |
.................... //////// Standard Header file for the PIC16F877A device //////////////// |
20 |
.................... #device PIC16F877A |
20 |
.................... #device PIC16F877A |
21 |
.................... #list |
21 |
.................... #list |
Line 62... |
Line 62... |
62 |
0012: BSF 1F.1 |
62 |
0012: BSF 1F.1 |
63 |
0013: BSF 1F.2 |
63 |
0013: BSF 1F.2 |
64 |
0014: BCF 1F.3 |
64 |
0014: BCF 1F.3 |
65 |
0015: MOVLW 07 |
65 |
0015: MOVLW 07 |
66 |
0016: MOVWF 1C |
66 |
0016: MOVWF 1C |
67 |
.................... int8 t; // Promenna pro nacteni hodnoty z potenciometru |
67 |
.................... int8 t; // Promenna pro nacteni hodnoty z cidla |
68 |
.................... |
68 |
.................... |
69 |
.................... setup_adc_ports(AN0); // Povolime analogovy vstup 0 |
69 |
.................... setup_adc_ports(AN0); // Povolime analogovy vstup 0 |
70 |
* |
70 |
* |
71 |
001A: BSF 03.5 |
71 |
001A: BSF 03.5 |
72 |
001B: BCF 1F.0 |
72 |
001B: BCF 1F.0 |
Line 154... |
Line 154... |
154 |
005D: CLRWDT |
154 |
005D: CLRWDT |
155 |
005E: MOVLW 06 |
155 |
005E: MOVLW 06 |
156 |
005F: MOVWF 77 |
156 |
005F: MOVWF 77 |
157 |
0060: DECFSZ 77,F |
157 |
0060: DECFSZ 77,F |
158 |
0061: GOTO 060 |
158 |
0061: GOTO 060 |
159 |
.................... //t=read_adc(); // Prvni precteni cidla |
- |
|
160 |
.................... |
159 |
.................... |
- |
|
160 |
.................... |
- |
|
161 |
.................... |
161 |
.................... while(TRUE){ |
162 |
.................... while(TRUE){ |
162 |
.................... t=read_adc(); // Prvni precteni cidla |
163 |
.................... t=read_adc(); // Prvni precteni cidla |
163 |
0062: BSF 1F.2 |
164 |
0062: BSF 1F.2 |
164 |
0063: BTFSC 1F.2 |
165 |
0063: BTFSC 1F.2 |
165 |
0064: GOTO 063 |
166 |
0064: GOTO 063 |
166 |
0065: MOVF 1E,W |
167 |
0065: MOVF 1E,W |
167 |
0066: MOVWF 21 |
168 |
0066: MOVWF 21 |
168 |
.................... |
169 |
.................... //printf("%d\n\r",t); |
169 |
.................... |
170 |
.................... |
170 |
.................... if(t>00&&t<50){ |
171 |
.................... if(t>00&&t<40){ |
171 |
0067: MOVF 21,F |
172 |
0067: MOVF 21,F |
172 |
0068: BTFSC 03.2 |
173 |
0068: BTFSC 03.2 |
173 |
0069: GOTO 073 |
174 |
0069: GOTO 07B |
174 |
006A: MOVF 21,W |
175 |
006A: MOVF 21,W |
175 |
006B: SUBLW 31 |
176 |
006B: SUBLW 27 |
176 |
006C: BTFSS 03.0 |
177 |
006C: BTFSS 03.0 |
177 |
006D: GOTO 073 |
178 |
006D: GOTO 07B |
178 |
.................... output_high(LED1); |
179 |
.................... output_low(LED2); |
179 |
006E: BSF 03.5 |
180 |
006E: BSF 03.5 |
180 |
006F: BCF 05.2 |
181 |
006F: BCF 05.3 |
181 |
0070: BCF 03.5 |
182 |
0070: BCF 03.5 |
- |
|
183 |
0071: BCF 05.3 |
- |
|
184 |
.................... output_low(LED3); |
- |
|
185 |
0072: BSF 03.5 |
- |
|
186 |
0073: BCF 05.5 |
- |
|
187 |
0074: BCF 03.5 |
- |
|
188 |
0075: BCF 05.5 |
- |
|
189 |
.................... output_high(LED1); |
- |
|
190 |
0076: BSF 03.5 |
- |
|
191 |
0077: BCF 05.2 |
- |
|
192 |
0078: BCF 03.5 |
182 |
0071: BSF 05.2 |
193 |
0079: BSF 05.2 |
183 |
.................... //rozsvit modrou |
194 |
.................... //rozsvit modrou |
184 |
.................... } |
195 |
.................... } |
185 |
.................... else if(t>50&&t<80){ |
196 |
.................... else if(t>39&&t<60){ |
186 |
0072: GOTO 0FA |
197 |
007A: GOTO 10A |
187 |
0073: MOVF 21,W |
198 |
007B: MOVF 21,W |
188 |
0074: SUBLW 32 |
199 |
007C: SUBLW 27 |
189 |
0075: BTFSC 03.0 |
200 |
007D: BTFSC 03.0 |
190 |
0076: GOTO 0A4 |
201 |
007E: GOTO 0B0 |
191 |
0077: MOVF 21,W |
202 |
007F: MOVF 21,W |
192 |
0078: SUBLW 4F |
203 |
0080: SUBLW 3B |
193 |
0079: BTFSS 03.0 |
204 |
0081: BTFSS 03.0 |
194 |
007A: GOTO 0A4 |
205 |
0082: GOTO 0B0 |
- |
|
206 |
.................... output_low(LED3); |
- |
|
207 |
0083: BSF 03.5 |
- |
|
208 |
0084: BCF 05.5 |
- |
|
209 |
0085: BCF 03.5 |
- |
|
210 |
0086: BCF 05.5 |
195 |
.................... output_high (LED1); // Zhasneme LED |
211 |
.................... output_high (LED1); // Zhasneme LED |
196 |
007B: BSF 03.5 |
212 |
0087: BSF 03.5 |
197 |
007C: BCF 05.2 |
213 |
0088: BCF 05.2 |
198 |
007D: BCF 03.5 |
214 |
0089: BCF 03.5 |
199 |
007E: BSF 05.2 |
215 |
008A: BSF 05.2 |
200 |
.................... delay_us(100); |
216 |
.................... delay_us(100); |
201 |
007F: CLRWDT |
217 |
008B: CLRWDT |
202 |
0080: MOVLW 20 |
218 |
008C: MOVLW 20 |
203 |
0081: MOVWF 77 |
219 |
008D: MOVWF 77 |
204 |
0082: DECFSZ 77,F |
220 |
008E: DECFSZ 77,F |
205 |
0083: GOTO 082 |
221 |
008F: GOTO 08E |
206 |
0084: GOTO 085 |
222 |
0090: GOTO 091 |
207 |
.................... output_low (LED1); // Rozsvitime LED |
223 |
.................... output_low (LED1); // Rozsvitime LED |
208 |
0085: BSF 03.5 |
224 |
0091: BSF 03.5 |
209 |
0086: BCF 05.2 |
225 |
0092: BCF 05.2 |
210 |
0087: BCF 03.5 |
226 |
0093: BCF 03.5 |
211 |
0088: BCF 05.2 |
227 |
0094: BCF 05.2 |
212 |
.................... delay_us(100); |
228 |
.................... delay_us(100); |
213 |
0089: CLRWDT |
229 |
0095: CLRWDT |
214 |
008A: MOVLW 20 |
230 |
0096: MOVLW 20 |
215 |
008B: MOVWF 77 |
231 |
0097: MOVWF 77 |
216 |
008C: DECFSZ 77,F |
232 |
0098: DECFSZ 77,F |
217 |
008D: GOTO 08C |
233 |
0099: GOTO 098 |
218 |
008E: GOTO 08F |
234 |
009A: GOTO 09B |
219 |
.................... output_low (LED2); // Rozsvitime LED |
235 |
.................... output_low (LED2); // Rozsvitime LED |
220 |
008F: BSF 03.5 |
236 |
009B: BSF 03.5 |
221 |
0090: BCF 05.3 |
237 |
009C: BCF 05.3 |
222 |
0091: BCF 03.5 |
238 |
009D: BCF 03.5 |
223 |
0092: BCF 05.3 |
239 |
009E: BCF 05.3 |
224 |
.................... delay_us(100); |
240 |
.................... delay_us(100); |
225 |
0093: CLRWDT |
241 |
009F: CLRWDT |
226 |
0094: MOVLW 20 |
242 |
00A0: MOVLW 20 |
227 |
0095: MOVWF 77 |
243 |
00A1: MOVWF 77 |
228 |
0096: DECFSZ 77,F |
244 |
00A2: DECFSZ 77,F |
229 |
0097: GOTO 096 |
245 |
00A3: GOTO 0A2 |
230 |
0098: GOTO 099 |
246 |
00A4: GOTO 0A5 |
231 |
.................... output_high (LED2); // Zhasneme LED |
247 |
.................... output_high (LED2); // Zhasneme LED |
232 |
0099: BSF 03.5 |
248 |
00A5: BSF 03.5 |
233 |
009A: BCF 05.3 |
249 |
00A6: BCF 05.3 |
234 |
009B: BCF 03.5 |
250 |
00A7: BCF 03.5 |
235 |
009C: BSF 05.3 |
251 |
00A8: BSF 05.3 |
236 |
.................... delay_us(100); |
252 |
.................... delay_us(100); |
237 |
009D: CLRWDT |
253 |
00A9: CLRWDT |
238 |
009E: MOVLW 20 |
254 |
00AA: MOVLW 20 |
239 |
009F: MOVWF 77 |
255 |
00AB: MOVWF 77 |
240 |
00A0: DECFSZ 77,F |
256 |
00AC: DECFSZ 77,F |
241 |
00A1: GOTO 0A0 |
257 |
00AD: GOTO 0AC |
242 |
00A2: GOTO 0A3 |
258 |
00AE: GOTO 0AF |
243 |
.................... //rozsvit modrou+zelenou |
259 |
.................... //rozsvit modrou+zelenou |
244 |
.................... } |
260 |
.................... } |
245 |
.................... else if(t>80&&t<120){ |
261 |
.................... else if(t>59&&t<80){ |
246 |
00A3: GOTO 0FA |
262 |
00AF: GOTO 10A |
247 |
00A4: MOVF 21,W |
263 |
00B0: MOVF 21,W |
248 |
00A5: SUBLW 50 |
264 |
00B1: SUBLW 3B |
249 |
00A6: BTFSC 03.0 |
265 |
00B2: BTFSC 03.0 |
250 |
00A7: GOTO 0C1 |
266 |
00B3: GOTO 0C5 |
251 |
00A8: MOVF 21,W |
267 |
00B4: MOVF 21,W |
252 |
00A9: SUBLW 77 |
268 |
00B5: SUBLW 4F |
253 |
00AA: BTFSS 03.0 |
269 |
00B6: BTFSS 03.0 |
254 |
00AB: GOTO 0C1 |
270 |
00B7: GOTO 0C5 |
- |
|
271 |
.................... output_low(LED3); |
- |
|
272 |
00B8: BSF 03.5 |
- |
|
273 |
00B9: BCF 05.5 |
- |
|
274 |
00BA: BCF 03.5 |
- |
|
275 |
00BB: BCF 05.5 |
- |
|
276 |
.................... output_low(LED1); |
- |
|
277 |
00BC: BSF 03.5 |
- |
|
278 |
00BD: BCF 05.2 |
- |
|
279 |
00BE: BCF 03.5 |
- |
|
280 |
00BF: BCF 05.2 |
255 |
.................... //output_high(LED2); |
281 |
.................... output_high(LED2); |
- |
|
282 |
00C0: BSF 03.5 |
- |
|
283 |
00C1: BCF 05.3 |
- |
|
284 |
00C2: BCF 03.5 |
- |
|
285 |
00C3: BSF 05.3 |
256 |
.................... //rozvit zelenou |
286 |
.................... //rozvit zelenou |
257 |
.................... output_low (LED2); // Rozsvitime LED |
- |
|
258 |
00AC: BSF 03.5 |
- |
|
259 |
00AD: BCF 05.3 |
- |
|
260 |
00AE: BCF 03.5 |
- |
|
261 |
00AF: BCF 05.3 |
- |
|
262 |
.................... delay_us(100); |
- |
|
263 |
00B0: CLRWDT |
- |
|
264 |
00B1: MOVLW 20 |
- |
|
265 |
00B2: MOVWF 77 |
- |
|
266 |
00B3: DECFSZ 77,F |
- |
|
267 |
00B4: GOTO 0B3 |
- |
|
268 |
00B5: GOTO 0B6 |
- |
|
269 |
.................... output_high (LED2); // Zhasneme LED |
- |
|
270 |
00B6: BSF 03.5 |
- |
|
271 |
00B7: BCF 05.3 |
- |
|
272 |
00B8: BCF 03.5 |
- |
|
273 |
00B9: BSF 05.3 |
- |
|
274 |
.................... delay_us(100); |
- |
|
275 |
00BA: CLRWDT |
- |
|
276 |
00BB: MOVLW 20 |
- |
|
277 |
00BC: MOVWF 77 |
- |
|
278 |
00BD: DECFSZ 77,F |
- |
|
279 |
00BE: GOTO 0BD |
- |
|
280 |
00BF: GOTO 0C0 |
- |
|
281 |
.................... } |
287 |
.................... } |
282 |
.................... else if(t>120&&t<160){ |
288 |
.................... else if(t>79&&t<100){ |
283 |
00C0: GOTO 0FA |
- |
|
284 |
00C1: MOVF 21,W |
- |
|
285 |
00C2: SUBLW 78 |
- |
|
286 |
00C3: BTFSC 03.0 |
- |
|
287 |
00C4: GOTO 0F2 |
289 |
00C4: GOTO 10A |
288 |
00C5: MOVF 21,W |
290 |
00C5: MOVF 21,W |
289 |
00C6: SUBLW 9F |
291 |
00C6: SUBLW 4F |
290 |
00C7: BTFSS 03.0 |
292 |
00C7: BTFSC 03.0 |
291 |
00C8: GOTO 0F2 |
293 |
00C8: GOTO 0FA |
- |
|
294 |
00C9: MOVF 21,W |
- |
|
295 |
00CA: SUBLW 63 |
- |
|
296 |
00CB: BTFSS 03.0 |
- |
|
297 |
00CC: GOTO 0FA |
- |
|
298 |
.................... output_low(LED1); |
- |
|
299 |
00CD: BSF 03.5 |
- |
|
300 |
00CE: BCF 05.2 |
- |
|
301 |
00CF: BCF 03.5 |
- |
|
302 |
00D0: BCF 05.2 |
292 |
.................... output_high (LED3); // Zhasneme LED |
303 |
.................... output_high (LED3); // Zhasneme LED |
293 |
00C9: BSF 03.5 |
304 |
00D1: BSF 03.5 |
294 |
00CA: BCF 05.5 |
305 |
00D2: BCF 05.5 |
295 |
00CB: BCF 03.5 |
306 |
00D3: BCF 03.5 |
296 |
00CC: BSF 05.5 |
307 |
00D4: BSF 05.5 |
297 |
.................... delay_us(100); |
308 |
.................... delay_us(100); |
298 |
00CD: CLRWDT |
309 |
00D5: CLRWDT |
299 |
00CE: MOVLW 20 |
310 |
00D6: MOVLW 20 |
300 |
00CF: MOVWF 77 |
311 |
00D7: MOVWF 77 |
301 |
00D0: DECFSZ 77,F |
312 |
00D8: DECFSZ 77,F |
302 |
00D1: GOTO 0D0 |
313 |
00D9: GOTO 0D8 |
303 |
00D2: GOTO 0D3 |
314 |
00DA: GOTO 0DB |
304 |
.................... output_low (LED3); // Rozsvitime LED |
315 |
.................... output_low (LED3); // Rozsvitime LED |
305 |
00D3: BSF 03.5 |
316 |
00DB: BSF 03.5 |
306 |
00D4: BCF 05.5 |
317 |
00DC: BCF 05.5 |
307 |
00D5: BCF 03.5 |
318 |
00DD: BCF 03.5 |
308 |
00D6: BCF 05.5 |
319 |
00DE: BCF 05.5 |
309 |
.................... delay_us(100); |
320 |
.................... delay_us(100); |
310 |
00D7: CLRWDT |
321 |
00DF: CLRWDT |
311 |
00D8: MOVLW 20 |
322 |
00E0: MOVLW 20 |
312 |
00D9: MOVWF 77 |
323 |
00E1: MOVWF 77 |
313 |
00DA: DECFSZ 77,F |
324 |
00E2: DECFSZ 77,F |
314 |
00DB: GOTO 0DA |
325 |
00E3: GOTO 0E2 |
315 |
00DC: GOTO 0DD |
326 |
00E4: GOTO 0E5 |
316 |
.................... output_low (LED2); // Rozsvitime LED |
327 |
.................... output_low (LED2); // Rozsvitime LED |
317 |
00DD: BSF 03.5 |
328 |
00E5: BSF 03.5 |
318 |
00DE: BCF 05.3 |
329 |
00E6: BCF 05.3 |
319 |
00DF: BCF 03.5 |
330 |
00E7: BCF 03.5 |
320 |
00E0: BCF 05.3 |
331 |
00E8: BCF 05.3 |
321 |
.................... delay_us(100); |
332 |
.................... delay_us(100); |
322 |
00E1: CLRWDT |
333 |
00E9: CLRWDT |
323 |
00E2: MOVLW 20 |
334 |
00EA: MOVLW 20 |
324 |
00E3: MOVWF 77 |
335 |
00EB: MOVWF 77 |
325 |
00E4: DECFSZ 77,F |
336 |
00EC: DECFSZ 77,F |
326 |
00E5: GOTO 0E4 |
337 |
00ED: GOTO 0EC |
327 |
00E6: GOTO 0E7 |
338 |
00EE: GOTO 0EF |
328 |
.................... output_high (LED2); // Zhasneme LED |
339 |
.................... output_high (LED2); // Zhasneme LED |
329 |
00E7: BSF 03.5 |
340 |
00EF: BSF 03.5 |
330 |
00E8: BCF 05.3 |
341 |
00F0: BCF 05.3 |
331 |
00E9: BCF 03.5 |
342 |
00F1: BCF 03.5 |
332 |
00EA: BSF 05.3 |
343 |
00F2: BSF 05.3 |
333 |
.................... delay_us(100); |
344 |
.................... delay_us(100); |
334 |
00EB: CLRWDT |
345 |
00F3: CLRWDT |
335 |
00EC: MOVLW 20 |
346 |
00F4: MOVLW 20 |
336 |
00ED: MOVWF 77 |
347 |
00F5: MOVWF 77 |
337 |
00EE: DECFSZ 77,F |
348 |
00F6: DECFSZ 77,F |
338 |
00EF: GOTO 0EE |
349 |
00F7: GOTO 0F6 |
339 |
00F0: GOTO 0F1 |
350 |
00F8: GOTO 0F9 |
340 |
.................... //rozsvit zelenou+cervenou |
351 |
.................... //rozsvit zelenou+cervenou |
341 |
.................... } |
352 |
.................... } |
342 |
.................... else if(t>160){ |
353 |
.................... else if(t>99){ |
343 |
00F1: GOTO 0FA |
354 |
00F9: GOTO 10A |
344 |
00F2: MOVF 21,W |
355 |
00FA: MOVF 21,W |
345 |
00F3: SUBLW A0 |
356 |
00FB: SUBLW 63 |
346 |
00F4: BTFSC 03.0 |
357 |
00FC: BTFSC 03.0 |
347 |
00F5: GOTO 0FA |
358 |
00FD: GOTO 10A |
- |
|
359 |
.................... output_low(LED1); |
- |
|
360 |
00FE: BSF 03.5 |
- |
|
361 |
00FF: BCF 05.2 |
- |
|
362 |
0100: BCF 03.5 |
- |
|
363 |
0101: BCF 05.2 |
- |
|
364 |
.................... output_low(LED2); |
- |
|
365 |
0102: BSF 03.5 |
- |
|
366 |
0103: BCF 05.3 |
- |
|
367 |
0104: BCF 03.5 |
- |
|
368 |
0105: BCF 05.3 |
348 |
.................... output_high(LED3); |
369 |
.................... output_high(LED3); |
349 |
00F6: BSF 03.5 |
370 |
0106: BSF 03.5 |
350 |
00F7: BCF 05.5 |
371 |
0107: BCF 05.5 |
351 |
00F8: BCF 03.5 |
372 |
0108: BCF 03.5 |
352 |
00F9: BSF 05.5 |
373 |
0109: BSF 05.5 |
353 |
.................... //rozsvit cervenou |
374 |
.................... //rozsvit cervenou |
354 |
.................... } |
375 |
.................... } |
355 |
.................... |
- |
|
356 |
.................... }} |
376 |
.................... }} |
357 |
00FA: GOTO 062 |
377 |
010A: GOTO 062 |
358 |
.................... |
378 |
.................... |
359 |
.................... |
379 |
.................... |
360 |
00FB: SLEEP |
380 |
010B: SLEEP |
361 |
|
381 |
|
362 |
Configuration Fuses: |
382 |
Configuration Fuses: |
363 |
Word 1: 3939 XT NOWDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD WRT_50% |
383 |
Word 1: 3939 XT NOWDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD WRT_50% |