Subversion Repositories svnkaklik

Rev

Go to most recent revision | Details | Last modification | View Log

Rev Author Line No. Line
2 kaklik 1
CCS PCM C Compiler, Version 3.245, 27853               03-IV-06 20:04
2
 
3
               Filename: D:\KAKLIK\programy\PIC_C\roboti\istrobot\3Orbis\main.lst
4
 
5
               ROM used: 463 words (11%)
6
                         Largest free fragment is 2048
7
               RAM used: 30 (17%) at main() level
8
                         36 (21%) worst case
9
               Stack:    4 worst case (2 in main + 2 for interrupts)
10
 
11
*
12
0000:  MOVLW  00
13
0001:  MOVWF  0A
14
0002:  GOTO   112
15
0003:  NOP
16
.................... #include ".\main.h" 
17
.................... #include <16F88.h> 
18
.................... //////// Standard Header file for the PIC16F88 device //////////////// 
19
.................... #device PIC16F88 
20
.................... #list 
21
....................  
22
.................... #device adc=8 
23
....................  
24
.................... #FUSES NOWDT                 	//No Watch Dog Timer 
25
.................... #FUSES INTRC_IO 
26
.................... #FUSES NOPUT                 	//No Power Up Timer 
27
.................... #FUSES MCLR                  	//Master Clear pin enabled 
28
.................... #FUSES NOBROWNOUT             //Reset when brownout detected 
29
.................... #FUSES NOLVP                  //Low Voltage Programming on B3(PIC16) or B5(PIC18) 
30
.................... #FUSES NOCPD                 	//No EE protection 
31
.................... #FUSES NOWRT                 	//Program memory not write protected 
32
.................... #FUSES NODEBUG               	//No Debug mode for ICD 
33
.................... #FUSES NOPROTECT             	//Code not protected from reading 
34
.................... #FUSES NOFCMEN                //Fail-safe clock monitor enabled 
35
.................... #FUSES NOIESO                  	//Internal External Switch Over mode enabled 
36
....................  
37
.................... #use delay(clock=8000000,RESTART_WDT) 
38
000C:  MOVLW  3C
39
000D:  MOVWF  04
40
000E:  MOVF   00,W
41
000F:  BTFSC  03.2
42
0010:  GOTO   023
43
0011:  MOVLW  02
44
0012:  MOVWF  78
45
0013:  MOVLW  BF
46
0014:  MOVWF  77
47
0015:  CLRWDT
48
0016:  DECFSZ 77,F
49
0017:  GOTO   015
50
0018:  DECFSZ 78,F
51
0019:  GOTO   013
52
001A:  MOVLW  96
53
001B:  MOVWF  77
54
001C:  DECFSZ 77,F
55
001D:  GOTO   01C
56
001E:  NOP
57
001F:  NOP
58
0020:  CLRWDT
59
0021:  DECFSZ 00,F
60
0022:  GOTO   011
61
0023:  RETLW  00
62
0024:  MOVLW  08
63
0025:  SUBWF  3E,F
64
0026:  BTFSS  03.0
65
0027:  GOTO   033
66
0028:  MOVLW  3E
67
0029:  MOVWF  04
68
002A:  BCF    03.0
69
002B:  RRF    00,F
70
002C:  MOVF   00,W
71
002D:  BTFSC  03.2
72
002E:  GOTO   033
73
002F:  GOTO   031
74
0030:  CLRWDT
75
0031:  DECFSZ 00,F
76
0032:  GOTO   030
77
0033:  RETLW  00
78
....................  
79
....................  
80
....................  
81
.................... #use rtos (timer=2, minor_cycle=2ms) 
82
....................  
83
.................... unsigned int8 sensors;        // pomocna promenna pro cteni cidel na caru 
84
.................... unsigned int8 line;           // na ktere strane byla detekovana cara 
85
.................... unsigned int8 dira;           // pocita dobu po kterou je ztracena cara 
86
.................... unsigned int8 uhel;           // urcuje aktualni uhel zataceni 
87
....................  
88
.................... signed int16  Lmotor;         // promene, ktere urcuji velikost vykonu na levem 
89
.................... signed int16  Rmotor;         // a pravem motoru 
90
....................  
91
.................... #define  STRED       128      // sredni poloha zadniho kolecka 
92
.................... #define  BEAR1       20       // 3 stupne zataceni 
93
.................... #define  BEAR2       40 
94
.................... #define  BEAR3       60 
95
.................... // servo 
96
.................... #define  SERVO PIN_A2 
97
....................  
98
.................... //motory 
99
.................... #define  FR         output_low(PIN_A7); output_high(PIN_A6)  // Vpred 
100
.................... #define  FL         output_low(PIN_A1); output_high(PIN_A0) 
101
.................... #define  BR         output_low(PIN_A6); output_high(PIN_A7)  // Vzad 
102
.................... #define  BL         output_low(PIN_A0); output_high(PIN_A1) 
103
.................... #define  STOPR      output_low(PIN_A6);output_low(PIN_A7) 
104
.................... #define  STOPL      output_low(PIN_A0);output_low(PIN_A1) 
105
....................  
106
.................... //HID 
107
.................... #define  LED1     PIN_B1      //oranzova 
108
.................... #define  LED2     PIN_B2      //zluta 
109
....................  
110
.................... #define  STROBE   PIN_B0 
111
.................... //#define  SW1      PIN_A2      // Motory On/off 
112
....................  
113
.................... // makro pro PWM 
114
.................... #define GO(motor, direction, power) if(get_timer0()<=power) \ 
115
.................... {direction##motor;} else {stop##motor;} 
116
....................  
117
....................  
118
.................... //////////////////////////////////////////////////////////////////////////////// 
119
.................... //////////////////////////////////////////////////////////////////////////////// 
120
.................... /* 
121
.................... void diagnostika() 
122
.................... { 
123
....................    if(input(SW1))STOPR;STOPL;While(TRUE); 
124
.................... //   if(LSENSOR==true) output_high(LED2); else output_low(LED2); 
125
.................... //   if(RSENSOR==true) output_high(LED1); else output_low(LED1); 
126
.................... } 
127
.................... */ 
128
.................... //////////////////////////////////////////////////////////////////////////////// 
129
.................... #task (rate=16ms,max=2ms) 
130
.................... void zatoc()   // ridi servo ktere otaci kolem 
131
.................... { 
132
....................    unsigned int8 n; 
133
....................  
134
....................    output_high(SERVO); 
135
0034:  BSF    03.5
136
0035:  BCF    05.2
137
0036:  BCF    03.5
138
0037:  BSF    05.2
139
....................    delay_us(1100); 
140
0038:  CLRWDT
141
0039:  MOVLW  01
142
003A:  MOVWF  3C
143
003B:  CALL   00C
144
003C:  MOVLW  63
145
003D:  MOVWF  3E
146
003E:  CALL   024
147
....................    for(n=uhel; n>0; n--); 
148
003F:  MOVF   24,W
149
0040:  MOVWF  3B
150
0041:  MOVF   3B,F
151
0042:  BTFSC  03.2
152
0043:  GOTO   046
153
0044:  DECF   3B,F
154
0045:  GOTO   041
155
....................    output_low(SERVO); 
156
0046:  BSF    03.5
157
0047:  BCF    05.2
158
0048:  BCF    03.5
159
0049:  BCF    05.2
160
.................... } 
161
004A:  MOVLW  34
162
004B:  MOVWF  2E
163
004C:  MOVLW  00
164
004D:  MOVWF  2F
165
004E:  BCF    0A.3
166
004F:  GOTO   1BF
167
0050:  RETLW  00
168
....................  
169
....................  
170
.................... void diag()   // ridi servo ktere otaci kolem 
171
.................... { 
172
....................    unsigned int8 n; 
173
....................  
174
....................    output_high(SERVO); 
175
*
176
00FA:  BSF    03.5
177
00FB:  BCF    05.2
178
00FC:  BCF    03.5
179
00FD:  BSF    05.2
180
....................    delay_us(1100); 
181
00FE:  CLRWDT
182
00FF:  MOVLW  01
183
0100:  MOVWF  3C
184
0101:  CALL   00C
185
0102:  MOVLW  63
186
0103:  MOVWF  3E
187
0104:  CALL   024
188
....................    for(n=uhel; n>0; n--); 
189
0105:  MOVF   24,W
190
0106:  MOVWF  39
191
0107:  MOVF   39,F
192
0108:  BTFSC  03.2
193
0109:  GOTO   10C
194
010A:  DECF   39,F
195
010B:  GOTO   107
196
....................    output_low(SERVO); 
197
010C:  BSF    03.5
198
010D:  BCF    05.2
199
010E:  BCF    03.5
200
010F:  BCF    05.2
201
.................... } 
202
0110:  BCF    0A.3
203
0111:  GOTO   15B (RETURN)
204
....................  
205
.................... //////////////////////////////////////////////////////////////////////////////// 
206
.................... #task (rate=2ms, max=1ms) 
207
.................... void rizeni() 
208
.................... { 
209
....................    GO(L,F,Lmotor);GO(R,F,Rmotor); 
210
*
211
0051:  MOVF   01,W
212
0052:  BTFSS  00.7
213
0053:  GOTO   057
214
0054:  BTFSS  26.7
215
0055:  GOTO   05F
216
0056:  GOTO   059
217
0057:  BTFSC  26.7
218
0058:  GOTO   068
219
0059:  MOVF   26,F
220
005A:  BTFSS  03.2
221
005B:  GOTO   05F
222
005C:  SUBWF  25,W
223
005D:  BTFSS  03.0
224
005E:  GOTO   068
225
005F:  BSF    03.5
226
0060:  BCF    05.1
227
0061:  BCF    03.5
228
0062:  BCF    05.1
229
0063:  BSF    03.5
230
0064:  BCF    05.0
231
0065:  BCF    03.5
232
0066:  BSF    05.0
233
0067:  GOTO   070
234
0068:  BSF    03.5
235
0069:  BCF    05.0
236
006A:  BCF    03.5
237
006B:  BCF    05.0
238
006C:  BSF    03.5
239
006D:  BCF    05.1
240
006E:  BCF    03.5
241
006F:  BCF    05.1
242
0070:  MOVF   01,W
243
0071:  BTFSS  00.7
244
0072:  GOTO   076
245
0073:  BTFSS  28.7
246
0074:  GOTO   07E
247
0075:  GOTO   078
248
0076:  BTFSC  28.7
249
0077:  GOTO   087
250
0078:  MOVF   28,F
251
0079:  BTFSS  03.2
252
007A:  GOTO   07E
253
007B:  SUBWF  27,W
254
007C:  BTFSS  03.0
255
007D:  GOTO   087
256
007E:  BSF    03.5
257
007F:  BCF    05.7
258
0080:  BCF    03.5
259
0081:  BCF    05.7
260
0082:  BSF    03.5
261
0083:  BCF    05.6
262
0084:  BCF    03.5
263
0085:  BSF    05.6
264
0086:  GOTO   08F
265
0087:  BSF    03.5
266
0088:  BCF    05.6
267
0089:  BCF    03.5
268
008A:  BCF    05.6
269
008B:  BSF    03.5
270
008C:  BCF    05.7
271
008D:  BCF    03.5
272
008E:  BCF    05.7
273
....................  
274
....................    delay_us(500); 
275
008F:  CLRWDT
276
0090:  MOVLW  02
277
0091:  MOVWF  3D
278
0092:  MOVLW  F7
279
0093:  MOVWF  3E
280
0094:  CALL   024
281
0095:  DECFSZ 3D,F
282
0096:  GOTO   092
283
....................  
284
....................    output_low(STROBE); 
285
0097:  BSF    03.5
286
0098:  BCF    06.0
287
0099:  BCF    03.5
288
009A:  BCF    06.0
289
....................    sensors = spi_read(0);         // cteni senzoru na caru 
290
009B:  MOVF   13,W
291
009C:  CLRF   13
292
009D:  BSF    03.5
293
009E:  BTFSC  14.0
294
009F:  GOTO   0A2
295
00A0:  BCF    03.5
296
00A1:  GOTO   09D
297
00A2:  BCF    03.5
298
00A3:  MOVF   13,W
299
00A4:  MOVWF  21
300
....................    output_high(STROBE); 
301
00A5:  BSF    03.5
302
00A6:  BCF    06.0
303
00A7:  BCF    03.5
304
00A8:  BSF    06.0
305
....................  
306
....................    if(bit_test(sensors,0)) //|......//     // z duvodu zkraceni doby reakce se cidla nevyhodnocuji poporade ale od krajnich k prostrednimu 
307
00A9:  BTFSS  21.0
308
00AA:  GOTO   0B3
309
....................    { 
310
....................       uhel=STRED+BEAR3; 
311
00AB:  MOVLW  BC
312
00AC:  MOVWF  24
313
....................       Lmotor=0;Rmotor=190; 
314
00AD:  CLRF   26
315
00AE:  CLRF   25
316
00AF:  CLRF   28
317
00B0:  MOVLW  BE
318
00B1:  MOVWF  27
319
....................       return; 
320
00B2:  GOTO   0F3
321
....................    } 
322
....................  
323
....................    if(bit_test(sensors,6)) //......|// 
324
00B3:  BTFSS  21.6
325
00B4:  GOTO   0BD
326
....................    { 
327
....................       Rmotor=0;Lmotor=190; 
328
00B5:  CLRF   28
329
00B6:  CLRF   27
330
00B7:  CLRF   26
331
00B8:  MOVLW  BE
332
00B9:  MOVWF  25
333
....................       uhel=STRED-BEAR3; 
334
00BA:  MOVLW  44
335
00BB:  MOVWF  24
336
....................       return; 
337
00BC:  GOTO   0F3
338
....................  
339
....................    } 
340
....................  
341
....................    if(bit_test(sensors,1)) //.|.....// 
342
00BD:  BTFSS  21.1
343
00BE:  GOTO   0C8
344
....................    { 
345
....................       uhel=STRED+BEAR2; 
346
00BF:  MOVLW  A8
347
00C0:  MOVWF  24
348
....................       Lmotor=150;Rmotor=190; 
349
00C1:  CLRF   26
350
00C2:  MOVLW  96
351
00C3:  MOVWF  25
352
00C4:  CLRF   28
353
00C5:  MOVLW  BE
354
00C6:  MOVWF  27
355
....................       return; 
356
00C7:  GOTO   0F3
357
....................    } 
358
....................  
359
....................    if(bit_test(sensors,5)) //.....|.// 
360
00C8:  BTFSS  21.5
361
00C9:  GOTO   0D3
362
....................    { 
363
....................       uhel=STRED-BEAR2; 
364
00CA:  MOVLW  58
365
00CB:  MOVWF  24
366
....................       Rmotor=150;Lmotor=190; 
367
00CC:  CLRF   28
368
00CD:  MOVLW  96
369
00CE:  MOVWF  27
370
00CF:  CLRF   26
371
00D0:  MOVLW  BE
372
00D1:  MOVWF  25
373
....................       return; 
374
00D2:  GOTO   0F3
375
....................    } 
376
....................  
377
....................    if (bit_test(sensors,2)) //..|....// 
378
00D3:  BTFSS  21.2
379
00D4:  GOTO   0DE
380
....................    { 
381
....................       uhel=STRED+BEAR1; 
382
00D5:  MOVLW  94
383
00D6:  MOVWF  24
384
....................       Lmotor=150;Rmotor=190; 
385
00D7:  CLRF   26
386
00D8:  MOVLW  96
387
00D9:  MOVWF  25
388
00DA:  CLRF   28
389
00DB:  MOVLW  BE
390
00DC:  MOVWF  27
391
....................       return; 
392
00DD:  GOTO   0F3
393
....................    } 
394
....................  
395
....................    if (bit_test(sensors,4)) //....|..// 
396
00DE:  BTFSS  21.4
397
00DF:  GOTO   0E9
398
....................    { 
399
....................       uhel=STRED-BEAR1; 
400
00E0:  MOVLW  6C
401
00E1:  MOVWF  24
402
....................       Rmotor=150;Lmotor=190; 
403
00E2:  CLRF   28
404
00E3:  MOVLW  96
405
00E4:  MOVWF  27
406
00E5:  CLRF   26
407
00E6:  MOVLW  BE
408
00E7:  MOVWF  25
409
....................       return; 
410
00E8:  GOTO   0F3
411
....................    } 
412
....................  
413
....................    if(bit_test(sensors,3)) //...|...// 
414
00E9:  BTFSS  21.3
415
00EA:  GOTO   0F3
416
....................    { 
417
....................       uhel=STRED; 
418
00EB:  MOVLW  80
419
00EC:  MOVWF  24
420
....................       Lmotor=190;Rmotor=190; 
421
00ED:  CLRF   26
422
00EE:  MOVLW  BE
423
00EF:  MOVWF  25
424
00F0:  CLRF   28
425
00F1:  MOVWF  27
426
....................       return; 
427
00F2:  GOTO   0F3
428
....................    } 
429
....................  
430
.................... /*STOPL;STOPR; 
431
....................       if(bit_test(sensors,7)) 
432
....................       { 
433
....................  
434
....................       }*/ 
435
.................... } 
436
00F3:  MOVLW  51
437
00F4:  MOVWF  35
438
00F5:  MOVLW  00
439
00F6:  MOVWF  36
440
00F7:  BCF    0A.3
441
00F8:  GOTO   1BF
442
00F9:  RETLW  00
443
....................  
444
....................  
445
.................... //////////////////////////////////////////////////////////////////////////////// 
446
.................... void main() 
447
.................... { 
448
*
449
0112:  CLRF   04
450
0113:  MOVLW  1F
451
0114:  ANDWF  03,F
452
0115:  MOVLW  70
453
0116:  BSF    03.5
454
0117:  MOVWF  0F
455
0118:  BCF    1F.4
456
0119:  BCF    1F.5
457
011A:  MOVF   1B,W
458
011B:  ANDLW  80
459
011C:  MOVWF  1B
460
011D:  MOVLW  07
461
011E:  MOVWF  1C
462
....................    unsigned int16 i; 
463
....................  
464
....................    setup_adc_ports(NO_ANALOGS); 
465
011F:  BCF    1F.4
466
0120:  BCF    1F.5
467
0121:  MOVF   1B,W
468
0122:  ANDLW  80
469
0123:  MOVWF  1B
470
....................    setup_adc(ADC_CLOCK_INTERNAL); 
471
0124:  BCF    1F.6
472
0125:  BCF    03.5
473
0126:  BSF    1F.6
474
0127:  BSF    1F.7
475
0128:  BSF    03.5
476
0129:  BCF    1F.7
477
012A:  BCF    03.5
478
012B:  BSF    1F.0
479
....................    setup_spi(SPI_MASTER|SPI_H_TO_L|SPI_XMIT_L_TO_H|SPI_CLK_DIV_4); 
480
012C:  BCF    14.5
481
012D:  BSF    03.5
482
012E:  BCF    06.2
483
012F:  BSF    06.1
484
0130:  BCF    06.4
485
0131:  MOVLW  30
486
0132:  BCF    03.5
487
0133:  MOVWF  14
488
0134:  MOVLW  00
489
0135:  BSF    03.5
490
0136:  MOVWF  14
491
....................    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 
492
0137:  MOVF   01,W
493
0138:  ANDLW  C7
494
0139:  IORLW  08
495
013A:  MOVWF  01
496
....................    setup_timer_1(T1_DISABLED); 
497
013B:  BCF    03.5
498
013C:  CLRF   10
499
....................    setup_oscillator(OSC_8MHZ|OSC_INTRC); 
500
013D:  MOVLW  72
501
013E:  BSF    03.5
502
013F:  MOVWF  0F
503
....................  
504
....................    STOPR; STOPL; 
505
0140:  BCF    05.6
506
0141:  BCF    03.5
507
0142:  BCF    05.6
508
0143:  BSF    03.5
509
0144:  BCF    05.7
510
0145:  BCF    03.5
511
0146:  BCF    05.7
512
0147:  BSF    03.5
513
0148:  BCF    05.0
514
0149:  BCF    03.5
515
014A:  BCF    05.0
516
014B:  BSF    03.5
517
014C:  BCF    05.1
518
014D:  BCF    03.5
519
014E:  BCF    05.1
520
....................    uhel=STRED; 
521
014F:  MOVLW  80
522
0150:  MOVWF  24
523
....................  
524
....................    for(i=0;i<100;i++) 
525
0151:  CLRF   38
526
0152:  CLRF   37
527
0153:  MOVF   38,F
528
0154:  BTFSS  03.2
529
0155:  GOTO   162
530
0156:  MOVF   37,W
531
0157:  SUBLW  63
532
0158:  BTFSS  03.0
533
0159:  GOTO   162
534
....................    { 
535
....................       diag(); 
536
015A:  GOTO   0FA
537
....................       delay_ms(16); 
538
015B:  MOVLW  10
539
015C:  MOVWF  3C
540
015D:  CALL   00C
541
....................    } 
542
015E:  INCF   37,F
543
015F:  BTFSC  03.2
544
0160:  INCF   38,F
545
0161:  GOTO   153
546
.................... //      diagnostika(); 
547
.................... Lmotor=0; 
548
0162:  CLRF   26
549
0163:  CLRF   25
550
.................... Rmotor=0; 
551
0164:  CLRF   28
552
0165:  CLRF   27
553
....................    rtos_run(); 
554
0166:  CLRF   29
555
0167:  CLRF   2B
556
0168:  MOVLW  08
557
0169:  MOVWF  2A
558
016A:  CLRF   2D
559
016B:  CLRF   2C
560
016C:  MOVLW  34
561
016D:  MOVWF  2E
562
016E:  MOVLW  00
563
016F:  MOVWF  2F
564
0170:  CLRF   30
565
0171:  CLRF   32
566
0172:  MOVLW  01
567
0173:  MOVWF  31
568
0174:  CLRF   34
569
0175:  CLRF   33
570
0176:  MOVLW  51
571
0177:  MOVWF  35
572
0178:  MOVLW  00
573
0179:  MOVWF  36
574
017A:  CLRF   20
575
017B:  MOVLW  00
576
017C:  MOVWF  78
577
017D:  IORLW  06
578
017E:  MOVWF  12
579
017F:  MOVLW  FA
580
0180:  BSF    03.5
581
0181:  MOVWF  12
582
0182:  BCF    03.5
583
0183:  BCF    0C.1
584
0184:  MOVLW  00
585
0185:  MOVWF  78
586
0186:  IORLW  06
587
0187:  MOVWF  12
588
0188:  MOVLW  FA
589
0189:  BSF    03.5
590
018A:  MOVWF  12
591
018B:  BCF    03.5
592
018C:  BCF    0C.1
593
018D:  BCF    03.0
594
018E:  RLF    20,W
595
018F:  MOVWF  77
596
0190:  CALL   004
597
0191:  MOVWF  79
598
0192:  MOVLW  01
599
0193:  ADDWF  77,W
600
0194:  CALL   004
601
0195:  MOVWF  7A
602
0196:  MOVF   79,W
603
0197:  MOVWF  04
604
0198:  MOVF   00,W
605
0199:  MOVWF  79
606
019A:  INCF   04,F
607
019B:  MOVF   00,W
608
019C:  MOVWF  77
609
019D:  INCF   04,F
610
019E:  MOVF   00,W
611
019F:  MOVWF  78
612
01A0:  INCF   04,F
613
01A1:  INCF   00,F
614
01A2:  MOVF   00,W
615
01A3:  MOVWF  7A
616
01A4:  BTFSS  03.2
617
01A5:  GOTO   1A9
618
01A6:  INCF   04,F
619
01A7:  INCF   00,F
620
01A8:  DECF   04,F
621
01A9:  INCF   04,F
622
01AA:  MOVF   00,W
623
01AB:  SUBWF  78,W
624
01AC:  BTFSS  03.2
625
01AD:  GOTO   1C1
626
01AE:  MOVF   77,W
627
01AF:  SUBWF  7A,W
628
01B0:  BTFSS  03.2
629
01B1:  GOTO   1C1
630
01B2:  DECF   04,F
631
01B3:  CLRF   00
632
01B4:  INCF   04,F
633
01B5:  CLRF   00
634
01B6:  INCF   04,F
635
01B7:  BTFSC  79.7
636
01B8:  GOTO   1C1
637
01B9:  INCF   04,F
638
01BA:  MOVF   00,W
639
01BB:  MOVWF  0A
640
01BC:  DECF   04,F
641
01BD:  MOVF   00,W
642
01BE:  MOVWF  02
643
01BF:  BCF    03.5
644
01C0:  BCF    03.6
645
01C1:  INCF   20,F
646
01C2:  MOVLW  02
647
01C3:  SUBWF  20,W
648
01C4:  BTFSS  03.2
649
01C5:  GOTO   18D
650
01C6:  CLRF   20
651
01C7:  BTFSS  0C.1
652
01C8:  GOTO   1CB
653
01C9:  BSF    03.5
654
01CA:  GOTO   18B
655
01CB:  GOTO   1C7
656
01CC:  MOVLW  FF
657
01CD:  MOVWF  20
658
....................  
659
.................... } 
660
01CE:  SLEEP
661
 
662
Configuration Fuses:
663
   Word  1: 3F38   NOWDT NOPUT MCLR NOBROWNOUT NOLVP NOCPD NOWRT NODEBUG CCPB0 NOPROTECT INTRC_IO
664
   Word  2: 3FFC   NOFCMEN NOIESO