Rev 238 Rev 239
Line 1... Line 1...
1 CCS PCM C Compiler, Version 4.058s, 42064 07-V-08 16:06 1 CCS PCM C Compiler, Version 3.245, 27853 08-V-08 23:27
2   2  
3 Filename: main.lst 3 Filename: D:\MLAB_E\projekty\Ovladani_mobilnim_telefonem\SW\final\main.lst
4   4  
5 ROM used: 1821 words (22%) 5 ROM used: 1505 words (18%)
6 Largest free fragment is 2048 6 Largest free fragment is 2048
7 RAM used: 114 (31%) at main() level 7 RAM used: 56 (32%) at main() level
8 291 (79%) worst case 8 64 (37%) worst case
9 Stack: 4 locations 9 Stack: 4 locations
10   10  
11 * 11 *
12 0000: MOVLW 00 12 0000: MOVLW 00
13 0001: MOVWF 0A 13 0001: MOVWF 0A
14 0002: GOTO 2F1 14 0002: GOTO 29D
15 0003: NOP 15 0003: NOP
16 .................... #include ".\main.h" 16 .................... #include ".\main.h"
17 .................... #include <16F876A.h> 17 .................... #include <16F876A.h>
18 .................... //////// Standard Header file for the PIC16F876A device //////////////// 18 .................... //////// Standard Header file for the PIC16F876A device ////////////////
19 .................... #device PIC16F876A 19 .................... #device PIC16F876A
Line 31... Line 31...
31 .................... #FUSES NOCPD //No EE protection 31 .................... #FUSES NOCPD //No EE protection
32 .................... #FUSES NOWRT //Program memory not write protected 32 .................... #FUSES NOWRT //Program memory not write protected
33 .................... 33 ....................
34 .................... #use delay(clock=18432000,RESTART_WDT) 34 .................... #use delay(clock=18432000,RESTART_WDT)
35 * 35 *
36 0119: MOVLW 9A 36 0126: MOVLW 52
37 011A: MOVWF 04 37 0127: MOVWF 04
38 011B: BSF 03.7 -  
39 011C: MOVF 00,W 38 0128: MOVF 00,W
40 011D: BTFSC 03.2 39 0129: BTFSC 03.2
41 011E: GOTO 12F 40 012A: GOTO 13B
42 011F: MOVLW 05 41 012B: MOVLW 05
43 0120: MOVWF 78 42 012C: MOVWF 78
44 0121: MOVLW BF 43 012D: MOVLW BF
45 0122: MOVWF 77 44 012E: MOVWF 77
46 0123: CLRWDT 45 012F: CLRWDT
47 0124: DECFSZ 77,F 46 0130: DECFSZ 77,F
48 0125: GOTO 123 47 0131: GOTO 12F
49 0126: DECFSZ 78,F 48 0132: DECFSZ 78,F
50 0127: GOTO 121 49 0133: GOTO 12D
51 0128: MOVLW F9 50 0134: MOVLW F9
52 0129: MOVWF 77 51 0135: MOVWF 77
53 012A: DECFSZ 77,F 52 0136: DECFSZ 77,F
54 012B: GOTO 12A 53 0137: GOTO 136
55 012C: CLRWDT 54 0138: CLRWDT
56 012D: DECFSZ 00,F 55 0139: DECFSZ 00,F
57 012E: GOTO 11F 56 013A: GOTO 12B
58 012F: RETLW 00 57 013B: RETLW 00
59 * 58 *
60 016E: MOVLW 04 59 0153: MOVLW 04
61 016F: SUBWF 20,F 60 0154: SUBWF 58,F
62 0170: BTFSS 03.0 61 0155: BTFSS 03.0
63 0171: GOTO 186 62 0156: GOTO 16B
64 0172: MOVLW A0 63 0157: MOVLW 58
65 0173: MOVWF 04 64 0158: MOVWF 04
66 0174: BSF 03.7 -  
67 0175: MOVLW F8 65 0159: MOVLW F8
68 0176: ANDWF 00,F 66 015A: ANDWF 00,F
69 0177: BCF 03.0 67 015B: BCF 03.0
70 0178: RRF 00,F 68 015C: RRF 00,F
71 0179: RRF 00,F 69 015D: RRF 00,F
72 017A: RRF 00,F 70 015E: RRF 00,F
73 017B: MOVF 00,W 71 015F: MOVF 00,W
74 017C: BTFSC 03.2 72 0160: BTFSC 03.2
75 017D: GOTO 186 73 0161: GOTO 16B
76 017E: MOVLW 0A 74 0162: MOVLW 0A
77 017F: MOVWF 77 75 0163: MOVWF 77
78 0180: DECFSZ 77,F 76 0164: DECFSZ 77,F
79 0181: GOTO 180 77 0165: GOTO 164
-   78 0166: NOP
80 0182: GOTO 183 79 0167: NOP
81 0183: CLRWDT 80 0168: CLRWDT
82 0184: DECFSZ 00,F 81 0169: DECFSZ 00,F
83 0185: GOTO 17E 82 016A: GOTO 162
-   83 016B: BCF 0A.3
-   84 016C: BCF 0A.4
-   85 016D: GOTO 183 (RETURN)
84 .................... #use rs232(STREAM=MOBIL,baud=19200,force_sw,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) 86 .................... #use rs232(STREAM=MOBIL,baud=19200,force_sw,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
85 * 87 *
86 01E4: BCF 20.6 88 01C3: BCF 20.6
87 01E5: MOVF 20,W 89 01C4: MOVF 20,W
88 01E6: BSF 03.5 90 01C5: BSF 03.5
89 01E7: MOVWF 07 91 01C6: MOVWF 07
90 01E8: BCF 03.5 92 01C7: BCF 03.5
91 01E9: BCF 07.6 93 01C8: BCF 07.6
92 01EA: MOVLW 08 94 01C9: MOVLW 08
93 01EB: MOVWF 78 95 01CA: MOVWF 78
-   96 01CB: NOP
-   97 01CC: NOP
-   98 01CD: NOP
-   99 01CE: BSF 78.7
-   100 01CF: GOTO 1DF
-   101 01D0: BCF 78.7
-   102 01D1: RRF 51,F
-   103 01D2: BTFSC 03.0
-   104 01D3: BSF 07.6
-   105 01D4: BTFSS 03.0
-   106 01D5: BCF 07.6
-   107 01D6: BSF 78.6
-   108 01D7: GOTO 1DF
-   109 01D8: BCF 78.6
-   110 01D9: DECFSZ 78,F
-   111 01DA: GOTO 1D1
-   112 01DB: NOP
-   113 01DC: NOP
-   114 01DD: NOP
-   115 01DE: BSF 07.6
-   116 01DF: MOVLW 49
-   117 01E0: MOVWF 04
-   118 01E1: DECFSZ 04,F
94 01EC: GOTO 1ED 119 01E2: GOTO 1E1
-   120 01E3: NOP
-   121 01E4: NOP
95 01ED: NOP 122 01E5: NOP
96 01EE: BSF 78.7 123 01E6: BTFSC 78.7
-   124 01E7: GOTO 1D0
-   125 01E8: BTFSC 78.6
97 01EF: GOTO 202 126 01E9: GOTO 1D8
-   127 01EA: BCF 0A.3
-   128 01EB: BCF 0A.4
-   129 01EC: GOTO 324 (RETURN)
-   130 01ED: MOVLW 08
-   131 01EE: MOVWF 77
98 01F0: BCF 78.7 132 01EF: BSF 20.7
-   133 01F0: MOVF 20,W
99 01F1: BSF 03.5 134 01F1: BSF 03.5
100 01F2: BSF 03.6 135 01F2: MOVWF 07
101 01F3: RRF 18,F -  
102 01F4: BCF 03.5 136 01F3: BCF 03.5
103 01F5: BCF 03.6 -  
104 01F6: BTFSC 03.0 -  
105 01F7: BSF 07.6 -  
106 01F8: BTFSS 03.0 137 01F4: BTFSS 07.7
107 01F9: BCF 07.6 -  
108 01FA: BSF 78.6 -  
109 01FB: GOTO 202 -  
110 01FC: BCF 78.6 -  
111 01FD: DECFSZ 78,F -  
112 01FE: GOTO 1F1 138 01F5: GOTO 1F8
113 01FF: GOTO 200 -  
114 0200: NOP -  
115 0201: BSF 07.6 139 01F6: BSF 03.5
116 0202: MOVLW 49 -  
117 0203: MOVWF 04 -  
118 0204: DECFSZ 04,F -  
119 0205: GOTO 204 -  
120 0206: GOTO 207 -  
121 0207: NOP -  
122 0208: BTFSC 78.7 -  
123 0209: GOTO 1F0 -  
124 020A: BTFSC 78.6 -  
125 020B: GOTO 1FC 140 01F7: GOTO 1F3
126 020C: BCF 0A.3 -  
127 020D: BCF 0A.4 -  
128 020E: GOTO 38B (RETURN) -  
129 020F: BSF 20.7 -  
130 0210: MOVF 20,W -  
131 0211: BSF 03.5 -  
132 0212: MOVWF 07 -  
133 0213: BCF 03.5 -  
134 0214: BTFSC 07.7 -  
135 0215: GOTO 214 -  
136 0216: MOVLW 08 -  
137 0217: MOVWF 77 -  
138 0218: BSF 03.5 -  
139 0219: BSF 03.6 -  
140 021A: CLRF 17 141 01F8: CLRF 50
141 021B: BSF 77.7 142 01F9: BSF 77.7
142 021C: GOTO 22F 143 01FA: GOTO 209
143 021D: BCF 77.7 144 01FB: BCF 77.7
144 021E: GOTO 22F 145 01FC: GOTO 209
145 021F: BCF 03.0 146 01FD: BCF 03.0
146 0220: BCF 03.5 -  
147 0221: BCF 03.6 -  
148 0222: BTFSC 07.7 147 01FE: BTFSC 07.7
149 0223: BSF 03.0 148 01FF: BSF 03.0
150 0224: BSF 03.5 -  
151 0225: BSF 03.6 -  
152 0226: RRF 17,F 149 0200: RRF 50,F
153 0227: BSF 77.6 150 0201: BSF 77.6
154 0228: GOTO 22F 151 0202: GOTO 209
155 0229: BCF 77.6 152 0203: BCF 77.6
156 022A: DECFSZ 77,F 153 0204: DECFSZ 77,F
157 022B: GOTO 21F 154 0205: GOTO 1FD
158 022C: MOVF 17,W 155 0206: MOVF 50,W
159 022D: MOVWF 78 156 0207: MOVWF 78
160 022E: GOTO 23B 157 0208: GOTO 216
161 022F: MOVLW 49 158 0209: MOVLW 49
162 0230: BTFSC 77.7 159 020A: BTFSC 77.7
163 0231: MOVLW 14 160 020B: MOVLW 14
164 0232: MOVWF 78 161 020C: MOVWF 78
165 0233: DECFSZ 78,F 162 020D: DECFSZ 78,F
166 0234: GOTO 233 163 020E: GOTO 20D
-   164 020F: NOP
167 0235: GOTO 236 165 0210: NOP
168 0236: BTFSC 77.7 166 0211: BTFSC 77.7
169 0237: GOTO 21D 167 0212: GOTO 1FB
170 0238: BTFSC 77.6 168 0213: BTFSC 77.6
171 0239: GOTO 229 169 0214: GOTO 203
172 023A: GOTO 21F 170 0215: GOTO 1FD
173 023B: BCF 03.5 -  
174 023C: BCF 03.6 -  
175 023D: RETLW 00 171 0216: RETLW 00
176 * 172 *
177 0306: MOVLW FF 173 02B1: MOVLW FF
178 0307: BCF 03.5 174 02B2: BCF 03.5
179 0308: MOVWF 20 175 02B3: MOVWF 20
180 .................... #use rs232(STREAM=VRTULE,baud=600,parity=N,xmit=PIN_B2,rcv=PIN_B4,bits=8) 176 .................... #use rs232(STREAM=VRTULE,baud=600,parity=N,xmit=PIN_B2,rcv=PIN_B4,bits=8)
181 * 177 *
182 02C2: BSF 03.5 178 026F: BSF 03.5
183 02C3: BCF 06.2 179 0270: BCF 06.2
184 02C4: BCF 03.5 180 0271: BCF 03.5
185 02C5: BCF 06.2 181 0272: BCF 06.2
186 02C6: MOVLW 08 182 0273: MOVLW 08
187 02C7: MOVWF 78 183 0274: MOVWF 78
188 02C8: GOTO 2C9 184 0275: NOP
189 02C9: NOP 185 0276: NOP
190 02CA: BSF 78.7 -  
191 02CB: GOTO 2DE 186 0277: NOP
192 02CC: BCF 78.7 187 0278: BSF 78.7
193 02CD: BSF 03.5 188 0279: GOTO 289
194 02CE: BSF 03.6 189 027A: BCF 78.7
195 02CF: RRF 19,F 190 027B: RRF 51,F
196 02D0: BCF 03.5 -  
197 02D1: BCF 03.6 -  
198 02D2: BTFSC 03.0 191 027C: BTFSC 03.0
199 02D3: BSF 06.2 192 027D: BSF 06.2
200 02D4: BTFSS 03.0 193 027E: BTFSS 03.0
201 02D5: BCF 06.2 194 027F: BCF 06.2
202 02D6: BSF 78.6 195 0280: BSF 78.6
203 02D7: GOTO 2DE 196 0281: GOTO 289
204 02D8: BCF 78.6 197 0282: BCF 78.6
205 02D9: DECFSZ 78,F 198 0283: DECFSZ 78,F
206 02DA: GOTO 2CD 199 0284: GOTO 27B
-   200 0285: NOP
207 02DB: GOTO 2DC 201 0286: NOP
208 02DC: NOP 202 0287: NOP
209 02DD: BSF 06.2 203 0288: BSF 06.2
210 02DE: MOVLW 09 204 0289: MOVLW 09
211 02DF: MOVWF 77 205 028A: MOVWF 77
212 02E0: CLRF 04 206 028B: CLRF 04
213 02E1: DECFSZ 04,F 207 028C: DECFSZ 04,F
214 02E2: GOTO 2E1 208 028D: GOTO 28C
215 02E3: DECFSZ 77,F 209 028E: DECFSZ 77,F
216 02E4: GOTO 2E0 210 028F: GOTO 28B
217 02E5: MOVLW F0 211 0290: MOVLW F0
218 02E6: MOVWF 04 212 0291: MOVWF 04
219 02E7: DECFSZ 04,F 213 0292: DECFSZ 04,F
220 02E8: GOTO 2E7 214 0293: GOTO 292
-   215 0294: NOP
221 02E9: GOTO 2EA 216 0295: NOP
222 02EA: BTFSC 78.7 217 0296: BTFSC 78.7
223 02EB: GOTO 2CC 218 0297: GOTO 27A
224 02EC: BTFSC 78.6 219 0298: BTFSC 78.6
225 02ED: GOTO 2D8 220 0299: GOTO 282
226 02EE: BCF 0A.3 221 029A: BCF 0A.3
227 02EF: BCF 0A.4 222 029B: BCF 0A.4
228 02F0: GOTO 620 (RETURN) 223 029C: GOTO 514 (RETURN)
229 .................... 224 ....................
230 .................... 225 ....................
231 .................... 226 ....................
232 .................... #define LCD_RS PIN_B1 // rizeni registru LCD displeje 227 .................... #define LCD_RS PIN_B1 // rizeni registru LCD displeje
233 .................... #define LCD_E PIN_B0 // enable LCD displeje 228 .................... #define LCD_E PIN_B0 // enable LCD displeje
Line 321... Line 316...
321 .................... // 316 .................... //
322 .................... void lcd_send_nibble( BYTE n ) 317 .................... void lcd_send_nibble( BYTE n )
323 .................... { 318 .................... {
324 .................... *LCD_PORT = (*LCD_PORT & ~LCD_MASK) | ((n << LCD_SHIFT) & LCD_MASK); // nastav datove bity portu a ostatni zachovej 319 .................... *LCD_PORT = (*LCD_PORT & ~LCD_MASK) | ((n << LCD_SHIFT) & LCD_MASK); // nastav datove bity portu a ostatni zachovej
325 * 320 *
326 0130: MOVF 07,W 321 013C: MOVF 07,W
327 0131: ANDLW F0 322 013D: ANDLW F0
328 0132: BSF 03.5 -  
329 0133: BSF 03.6 -  
330 0134: MOVWF 21 323 013E: MOVWF 59
331 0135: MOVF 20,W 324 013F: MOVF 58,W
332 0136: ANDLW 0F 325 0140: ANDLW 0F
333 0137: IORWF 21,W 326 0141: IORWF 59,W
334 0138: BCF 03.5 -  
335 0139: BCF 03.6 -  
336 013A: MOVWF 07 327 0142: MOVWF 07
337 .................... output_bit(LCD_E,1); // vzestupna hrana 328 .................... output_bit(LCD_E,1); // vzestupna hrana
338 013B: BSF 06.0 329 0143: BSF 06.0
339 013C: BSF 03.5 330 0144: BSF 03.5
340 013D: BCF 06.0 331 0145: BCF 06.0
341 .................... delay_us(100); // pockej alespon 450ns od e nebo alespon 195ns od dat 332 .................... delay_us(100); // pockej alespon 450ns od e nebo alespon 195ns od dat
342 013E: CLRWDT 333 0146: CLRWDT
343 013F: MOVLW 98 334 0147: MOVLW 98
344 0140: MOVWF 77 335 0148: MOVWF 77
345 0141: DECFSZ 77,F 336 0149: DECFSZ 77,F
346 0142: GOTO 141 337 014A: GOTO 149
-   338 014B: NOP
347 0143: GOTO 144 339 014C: NOP
348 .................... output_bit(LCD_E,0); // sestupna hrana (minimalni perioda e je 1us) 340 .................... output_bit(LCD_E,0); // sestupna hrana (minimalni perioda e je 1us)
349 0144: BCF 03.5 341 014D: BCF 03.5
350 0145: BCF 06.0 342 014E: BCF 06.0
351 0146: BSF 03.5 343 014F: BSF 03.5
352 0147: BCF 06.0 344 0150: BCF 06.0
353 .................... } 345 .................... }
354 0148: BCF 03.5 346 0151: BCF 03.5
355 0149: RETLW 00 347 0152: RETLW 00
356 .................... 348 ....................
357 .................... 349 ....................
358 .................... // Odesle bajt do registru LCD 350 .................... // Odesle bajt do registru LCD
359 .................... // 351 .................... //
360 .................... // Pokud je Adr=0 .. instrukcni registr 352 .................... // Pokud je Adr=0 .. instrukcni registr
361 .................... // Pokud je Adr=1 .. datovy registr 353 .................... // Pokud je Adr=1 .. datovy registr
362 .................... // 354 .................... //
363 .................... void lcd_send_byte( BOOLEAN Adr, BYTE n ) 355 .................... void lcd_send_byte( BOOLEAN Adr, BYTE n )
364 .................... { 356 .................... {
365 .................... output_bit(LCD_RS,Adr); // vyber registr 357 .................... output_bit(LCD_RS,Adr); // vyber registr
366 014A: BSF 03.5 -  
367 014B: BSF 03.6 358 *
368 014C: MOVF 1E,F 359 016E: MOVF 56,F
369 014D: BTFSS 03.2 360 016F: BTFSS 03.2
370 014E: GOTO 155 361 0170: GOTO 173
371 014F: BCF 03.5 -  
372 0150: BCF 03.6 -  
373 0151: BCF 06.1 362 0171: BCF 06.1
374 0152: GOTO 158 363 0172: GOTO 174
375 0153: BSF 03.5 -  
376 0154: BSF 03.6 -  
377 0155: BCF 03.5 -  
378 0156: BCF 03.6 -  
379 0157: BSF 06.1 364 0173: BSF 06.1
380 0158: BSF 03.5 365 0174: BSF 03.5
381 0159: BCF 06.1 366 0175: BCF 06.1
382 .................... swap(n); 367 .................... swap(n);
383 015A: BSF 03.6 368 0176: BCF 03.5
384 015B: SWAPF 1F,F 369 0177: SWAPF 57,F
385 .................... lcd_send_nibble(n); // posli horni pulku bajtu 370 .................... lcd_send_nibble(n); // posli horni pulku bajtu
386 015C: MOVF 1F,W 371 0178: MOVF 57,W
387 015D: MOVWF 20 372 0179: MOVWF 58
388 015E: BCF 03.5 -  
389 015F: BCF 03.6 -  
390 0160: CALL 130 373 017A: CALL 13C
391 .................... swap(n); 374 .................... swap(n);
392 0161: BSF 03.5 -  
393 0162: BSF 03.6 -  
394 0163: SWAPF 1F,F 375 017B: SWAPF 57,F
395 .................... lcd_send_nibble(n); // posli spodni pulku bajtu 376 .................... lcd_send_nibble(n); // posli spodni pulku bajtu
396 0164: MOVF 1F,W 377 017C: MOVF 57,W
397 0165: MOVWF 20 378 017D: MOVWF 58
398 0166: BCF 03.5 -  
399 0167: BCF 03.6 -  
400 0168: CALL 130 379 017E: CALL 13C
401 .................... delay_us(200); // minimalni doba na provedeni prikazu 380 .................... delay_us(200); // minimalni doba na provedeni prikazu
402 0169: CLRWDT 381 017F: CLRWDT
403 016A: MOVLW C7 382 0180: MOVLW C7
404 016B: BSF 03.5 383 0181: MOVWF 58
405 016C: BSF 03.6 -  
406 016D: MOVWF 20 384 0182: GOTO 153
407 .................... } 385 .................... }
408 * -  
409 0186: BCF 03.5 -  
410 0187: BCF 03.6 -  
411 0188: RETLW 00 386 0183: RETLW 00
412 .................... 387 ....................
413 .................... 388 ....................
414 .................... // Provede inicializaci LCD displeje, smaze obsah a nastavi mod displeje 389 .................... // Provede inicializaci LCD displeje, smaze obsah a nastavi mod displeje
415 .................... // 390 .................... //
416 .................... // Tato procedura se musi volat pred pouzitim ostatnich lcd_ procedur 391 .................... // Tato procedura se musi volat pred pouzitim ostatnich lcd_ procedur
Line 419... Line 394...
419 .................... { 394 .................... {
420 .................... 395 ....................
421 .................... int i; // pocitadlo cyklu 396 .................... int i; // pocitadlo cyklu
422 .................... 397 ....................
423 .................... delay_ms(20); // spozdeni pro provedeni startu displeje po zapnuti napajeni 398 .................... delay_ms(20); // spozdeni pro provedeni startu displeje po zapnuti napajeni
424 0189: MOVLW 14 399 0184: MOVLW 14
425 018A: BSF 03.5 -  
426 018B: BSF 03.6 -  
427 018C: MOVWF 1A 400 0185: MOVWF 52
428 018D: BCF 03.5 -  
429 018E: BCF 03.6 -  
430 018F: CALL 119 401 0186: CALL 126
431 .................... 402 ....................
432 .................... *LCD_TRIS = *LCD_TRIS & ~LCD_MASK; // nuluj odpovidajici bity tris registru datoveho portu LCD 403 .................... *LCD_TRIS = *LCD_TRIS & ~LCD_MASK; // nuluj odpovidajici bity tris registru datoveho portu LCD
433 0190: MOVLW F0 404 0187: MOVLW F0
434 0191: BSF 03.5 405 0188: BSF 03.5
435 0192: ANDWF 07,F 406 0189: ANDWF 07,F
436 .................... 407 ....................
437 .................... output_bit(LCD_RS,0); // nastav jako vystup a nastav klidovy stav 408 .................... output_bit(LCD_RS,0); // nastav jako vystup a nastav klidovy stav
438 0193: BCF 03.5 409 018A: BCF 03.5
439 0194: BCF 06.1 410 018B: BCF 06.1
440 0195: BSF 03.5 411 018C: BSF 03.5
441 0196: BCF 06.1 412 018D: BCF 06.1
442 .................... output_bit(LCD_E,0); // nastav jako vystup a nastav klidovy stav 413 .................... output_bit(LCD_E,0); // nastav jako vystup a nastav klidovy stav
443 0197: BCF 03.5 414 018E: BCF 03.5
444 0198: BCF 06.0 415 018F: BCF 06.0
445 0199: BSF 03.5 416 0190: BSF 03.5
446 019A: BCF 06.0 417 0191: BCF 06.0
447 .................... 418 ....................
448 .................... for (i=0; i<3; i++) // nastav lcd do rezimu 8 bitu sbernice 419 .................... for (i=0; i<3; i++) // nastav lcd do rezimu 8 bitu sbernice
449 019B: BSF 03.6 420 0192: BCF 03.5
450 019C: CLRF 17 421 0193: CLRF 50
451 019D: MOVF 17,W 422 0194: MOVF 50,W
452 019E: SUBLW 02 423 0195: SUBLW 02
453 019F: BTFSS 03.0 424 0196: BTFSS 03.0
454 01A0: GOTO 1B1 425 0197: GOTO 1A0
455 .................... { 426 .................... {
456 .................... delay_ms(2); // muze byt rozdelany prenos dat (2x 4 bity) nebo pomaly povel 427 .................... delay_ms(2); // muze byt rozdelany prenos dat (2x 4 bity) nebo pomaly povel
457 01A1: MOVLW 02 428 0198: MOVLW 02
458 01A2: MOVWF 1A 429 0199: MOVWF 52
459 01A3: BCF 03.5 -  
460 01A4: BCF 03.6 -  
461 01A5: CALL 119 430 019A: CALL 126
462 .................... lcd_send_nibble(3); // rezim 8 bitu 431 .................... lcd_send_nibble(3); // rezim 8 bitu
463 01A6: MOVLW 03 432 019B: MOVLW 03
464 01A7: BSF 03.5 -  
465 01A8: BSF 03.6 -  
466 01A9: MOVWF 20 433 019C: MOVWF 58
467 01AA: BCF 03.5 -  
468 01AB: BCF 03.6 -  
469 01AC: CALL 130 434 019D: CALL 13C
470 .................... } 435 .................... }
471 01AD: BSF 03.5 -  
472 01AE: BSF 03.6 -  
473 01AF: INCF 17,F 436 019E: INCF 50,F
474 01B0: GOTO 19D 437 019F: GOTO 194
475 .................... 438 ....................
476 .................... delay_us(40); // cas na zpracovani 439 .................... delay_us(40); // cas na zpracovani
477 01B1: CLRWDT 440 01A0: CLRWDT
478 01B2: MOVLW 3C 441 01A1: MOVLW 3C
479 01B3: MOVWF 77 442 01A2: MOVWF 77
480 01B4: DECFSZ 77,F 443 01A3: DECFSZ 77,F
481 01B5: GOTO 1B4 444 01A4: GOTO 1A3
-   445 01A5: NOP
482 01B6: GOTO 1B7 446 01A6: NOP
483 .................... lcd_send_nibble(2); // nastav rezim 4 bitu (plati od nasledujiciho prenosu) 447 .................... lcd_send_nibble(2); // nastav rezim 4 bitu (plati od nasledujiciho prenosu)
484 01B7: MOVLW 02 448 01A7: MOVLW 02
485 01B8: MOVWF 20 449 01A8: MOVWF 58
486 01B9: BCF 03.5 -  
487 01BA: BCF 03.6 -  
488 01BB: CALL 130 450 01A9: CALL 13C
489 .................... delay_us(40); // cas na zpracovani 451 .................... delay_us(40); // cas na zpracovani
490 01BC: CLRWDT 452 01AA: CLRWDT
491 01BD: MOVLW 3C 453 01AB: MOVLW 3C
492 01BE: MOVWF 77 454 01AC: MOVWF 77
493 01BF: DECFSZ 77,F 455 01AD: DECFSZ 77,F
494 01C0: GOTO 1BF 456 01AE: GOTO 1AD
-   457 01AF: NOP
495 01C1: GOTO 1C2 458 01B0: NOP
496 .................... 459 ....................
497 .................... for (i=0;i<3;i++) // proved inicializaci (nastaveni modu, smazani apod) 460 .................... for (i=0;i<3;i++) // proved inicializaci (nastaveni modu, smazani apod)
498 01C2: BSF 03.5 -  
499 01C3: BSF 03.6 -  
500 01C4: CLRF 17 461 01B1: CLRF 50
501 01C5: MOVF 17,W 462 01B2: MOVF 50,W
502 01C6: SUBLW 02 463 01B3: SUBLW 02
503 01C7: BTFSS 03.0 464 01B4: BTFSS 03.0
504 01C8: GOTO 1E1 465 01B5: GOTO 1C2
505 .................... { 466 .................... {
506 .................... lcd_send_byte(0,LCD_INIT_STRING[i]); 467 .................... lcd_send_byte(0,LCD_INIT_STRING[i]);
507 01C9: MOVF 17,W 468 01B6: MOVF 50,W
508 01CA: BCF 03.5 -  
509 01CB: BCF 03.6 -  
510 01CC: CALL 004 469 01B7: CALL 004
511 01CD: BSF 03.5 -  
512 01CE: BSF 03.6 -  
513 01CF: MOVWF 18 470 01B8: MOVWF 51
514 01D0: CLRF 1E 471 01B9: CLRF 56
515 01D1: MOVF 18,W 472 01BA: MOVF 51,W
516 01D2: MOVWF 1F 473 01BB: MOVWF 57
517 01D3: BCF 03.5 -  
518 01D4: BCF 03.6 -  
519 01D5: CALL 14A 474 01BC: CALL 16E
520 .................... delay_ms(2); 475 .................... delay_ms(2);
521 01D6: MOVLW 02 476 01BD: MOVLW 02
522 01D7: BSF 03.5 -  
523 01D8: BSF 03.6 -  
524 01D9: MOVWF 1A 477 01BE: MOVWF 52
525 01DA: BCF 03.5 -  
526 01DB: BCF 03.6 -  
527 01DC: CALL 119 478 01BF: CALL 126
528 .................... } 479 .................... }
529 01DD: BSF 03.5 -  
530 01DE: BSF 03.6 -  
531 01DF: INCF 17,F 480 01C0: INCF 50,F
532 01E0: GOTO 1C5 481 01C1: GOTO 1B2
533 .................... } 482 .................... }
534 01E1: BCF 03.5 -  
535 01E2: BCF 03.6 -  
536 01E3: RETLW 00 483 01C2: RETLW 00
537 .................... 484 ....................
538 .................... 485 ....................
539 .................... // Proved presun kurzoru 486 .................... // Proved presun kurzoru
540 .................... // 487 .................... //
541 .................... // Pozice 1.1 je domu 488 .................... // Pozice 1.1 je domu
Line 547... Line 494...
547 .................... BYTE Adr; 494 .................... BYTE Adr;
548 .................... 495 ....................
549 .................... switch(y) 496 .................... switch(y)
550 .................... { 497 .................... {
551 * 498 *
552 023E: MOVLW 01 499 0217: MOVLW 01
553 023F: BSF 03.5 -  
554 0240: BSF 03.6 -  
555 0241: SUBWF 1B,W 500 0218: SUBWF 53,W
556 0242: ADDLW FC 501 0219: ADDLW FC
557 0243: BTFSC 03.0 502 021A: BTFSC 03.0
558 0244: GOTO 25E 503 021B: GOTO 229
559 0245: ADDLW 04 504 021C: ADDLW 04
560 0246: BCF 03.5 -  
561 0247: BCF 03.6 -  
562 0248: GOTO 26B 505 021D: GOTO 234
563 .................... case 1: Adr=0; break; 506 .................... case 1: Adr=0; break;
564 0249: BSF 03.5 -  
565 024A: BSF 03.6 -  
566 024B: CLRF 1C 507 021E: CLRF 54
567 024C: GOTO 25E 508 021F: GOTO 229
568 .................... case 2: Adr=0x40; break; 509 .................... case 2: Adr=0x40; break;
569 024D: MOVLW 40 510 0220: MOVLW 40
570 024E: BSF 03.5 -  
571 024F: BSF 03.6 -  
572 0250: MOVWF 1C 511 0221: MOVWF 54
573 0251: GOTO 25E 512 0222: GOTO 229
574 .................... case 3: Adr=0x14; break; 513 .................... case 3: Adr=0x14; break;
575 0252: MOVLW 14 514 0223: MOVLW 14
576 0253: BSF 03.5 -  
577 0254: BSF 03.6 -  
578 0255: MOVWF 1C 515 0224: MOVWF 54
579 0256: GOTO 25E 516 0225: GOTO 229
580 .................... case 4: Adr=0x54; break; 517 .................... case 4: Adr=0x54; break;
581 0257: MOVLW 54 518 0226: MOVLW 54
582 0258: BSF 03.5 -  
583 0259: BSF 03.6 -  
584 025A: MOVWF 1C 519 0227: MOVWF 54
585 025B: GOTO 25E 520 0228: GOTO 229
586 025C: BSF 03.5 -  
587 025D: BSF 03.6 -  
588 .................... } 521 .................... }
589 .................... Adr+=x-1; 522 .................... Adr+=x-1;
590 025E: MOVLW 01 523 0229: MOVLW 01
591 025F: SUBWF 1A,W 524 022A: SUBWF 52,W
592 0260: ADDWF 1C,F 525 022B: ADDWF 54,F
593 .................... 526 ....................
594 .................... lcd_send_byte(0,0x80|Adr); 527 .................... lcd_send_byte(0,0x80|Adr);
595 0261: MOVF 1C,W 528 022C: MOVF 54,W
596 0262: IORLW 80 529 022D: IORLW 80
597 0263: MOVWF 1D 530 022E: MOVWF 55
598 0264: CLRF 1E 531 022F: CLRF 56
599 0265: MOVF 1D,W 532 0230: MOVF 55,W
600 0266: MOVWF 1F 533 0231: MOVWF 57
601 0267: BCF 03.5 -  
602 0268: BCF 03.6 -  
603 0269: CALL 14A 534 0232: CALL 16E
604 .................... } 535 .................... }
605 026A: RETLW 00 536 0233: RETLW 00
606 .................... 537 ....................
607 .................... 538 ....................
608 .................... // Zapis znaku na displej, zpracovani ridicich znaku 539 .................... // Zapis znaku na displej, zpracovani ridicich znaku
609 .................... // 540 .................... //
610 .................... #separate 541 .................... #separate
Line 612... Line 543...
612 .................... { 543 .................... {
613 .................... 544 ....................
614 .................... switch (c) 545 .................... switch (c)
615 .................... { 546 .................... {
616 * 547 *
617 0273: BSF 03.5 -  
618 0274: BSF 03.6 -  
619 0275: MOVF 19,W 548 023C: MOVF 51,W
620 0276: XORLW 0C 549 023D: XORLW 0C
621 0277: BCF 03.5 -  
622 0278: BCF 03.6 -  
623 0279: BTFSC 03.2 550 023E: BTFSC 03.2
624 027A: GOTO 285 551 023F: GOTO 24A
625 027B: XORLW 06 552 0240: XORLW 06
626 027C: BTFSC 03.2 553 0241: BTFSC 03.2
627 027D: GOTO 295 554 0242: GOTO 252
628 027E: XORLW 07 555 0243: XORLW 07
629 027F: BTFSC 03.2 556 0244: BTFSC 03.2
630 0280: GOTO 29F 557 0245: GOTO 258
631 0281: XORLW 05 558 0246: XORLW 05
632 0282: BTFSC 03.2 559 0247: BTFSC 03.2
633 0283: GOTO 2A8 560 0248: GOTO 25D
634 0284: GOTO 2B1 561 0249: GOTO 262
635 .................... case '\f' : lcd_send_byte(0,1); // smaz displej 562 .................... case '\f' : lcd_send_byte(0,1); // smaz displej
636 0285: BSF 03.5 -  
637 0286: BSF 03.6 -  
638 0287: CLRF 1E 563 024A: CLRF 56
639 0288: MOVLW 01 564 024B: MOVLW 01
640 0289: MOVWF 1F 565 024C: MOVWF 57
641 028A: BCF 03.5 -  
642 028B: BCF 03.6 -  
643 028C: CALL 14A 566 024D: CALL 16E
644 .................... delay_ms(2); 567 .................... delay_ms(2);
645 028D: MOVLW 02 568 024E: MOVLW 02
646 028E: BSF 03.5 -  
647 028F: BSF 03.6 -  
648 0290: MOVWF 1A 569 024F: MOVWF 52
649 0291: BCF 03.5 -  
650 0292: BCF 03.6 -  
651 0293: CALL 119 570 0250: CALL 126
652 .................... break; 571 .................... break;
653 0294: GOTO 2C1 572 0251: GOTO 26E
654 .................... case '\n' : lcd_gotoxy(1,2); break; // presun se na 1. znak 2. radky 573 .................... case '\n' : lcd_gotoxy(1,2); break; // presun se na 1. znak 2. radky
655 0295: MOVLW 01 574 0252: MOVLW 01
656 0296: BSF 03.5 -  
657 0297: BSF 03.6 -  
658 0298: MOVWF 1A 575 0253: MOVWF 52
659 0299: MOVLW 02 576 0254: MOVLW 02
660 029A: MOVWF 1B 577 0255: MOVWF 53
661 029B: BCF 03.5 -  
662 029C: BCF 03.6 -  
663 029D: CALL 23E 578 0256: CALL 217
664 029E: GOTO 2C1 579 0257: GOTO 26E
665 .................... case '\r' : lcd_gotoxy(1,1); break; // presun home 580 .................... case '\r' : lcd_gotoxy(1,1); break; // presun home
666 029F: MOVLW 01 581 0258: MOVLW 01
667 02A0: BSF 03.5 -  
668 02A1: BSF 03.6 -  
669 02A2: MOVWF 1A 582 0259: MOVWF 52
670 02A3: MOVWF 1B 583 025A: MOVWF 53
671 02A4: BCF 03.5 -  
672 02A5: BCF 03.6 -  
673 02A6: CALL 23E 584 025B: CALL 217
674 02A7: GOTO 2C1 585 025C: GOTO 26E
675 .................... case '\b' : lcd_send_byte(0,0x10); break; // posun kurzor o 1 zpet 586 .................... case '\b' : lcd_send_byte(0,0x10); break; // posun kurzor o 1 zpet
676 02A8: BSF 03.5 -  
677 02A9: BSF 03.6 -  
678 02AA: CLRF 1E 587 025D: CLRF 56
679 02AB: MOVLW 10 588 025E: MOVLW 10
680 02AC: MOVWF 1F 589 025F: MOVWF 57
681 02AD: BCF 03.5 -  
682 02AE: BCF 03.6 -  
683 02AF: CALL 14A 590 0260: CALL 16E
684 02B0: GOTO 2C1 591 0261: GOTO 26E
685 .................... default : if (c<0x20) c&=0x7; // preklopeni definovatelnych znaku na rozsah 0 az 0x1F 592 .................... default : if (c<0x20) c&=0x7; // preklopeni definovatelnych znaku na rozsah 0 az 0x1F
686 02B1: BSF 03.5 -  
687 02B2: BSF 03.6 -  
688 02B3: MOVF 19,W 593 0262: MOVF 51,W
689 02B4: SUBLW 1F 594 0263: SUBLW 1F
690 02B5: BTFSS 03.0 595 0264: BTFSS 03.0
691 02B6: GOTO 2B9 596 0265: GOTO 268
692 02B7: MOVLW 07 597 0266: MOVLW 07
693 02B8: ANDWF 19,F 598 0267: ANDWF 51,F
694 .................... lcd_send_byte(1,c); break; // zapis znak 599 .................... lcd_send_byte(1,c); break; // zapis znak
695 02B9: MOVLW 01 600 0268: MOVLW 01
696 02BA: MOVWF 1E 601 0269: MOVWF 56
697 02BB: MOVF 19,W 602 026A: MOVF 51,W
698 02BC: MOVWF 1F 603 026B: MOVWF 57
699 02BD: BCF 03.5 -  
700 02BE: BCF 03.6 -  
701 02BF: CALL 14A 604 026C: CALL 16E
702 02C0: GOTO 2C1 605 026D: GOTO 26E
703 .................... } 606 .................... }
704 .................... } 607 .................... }
705 02C1: RETLW 00 608 026E: RETLW 00
706 .................... 609 ....................
707 .................... 610 ....................
708 .................... // Zapni kurzor 611 .................... // Zapni kurzor
709 .................... // 612 .................... //
710 .................... void lcd_cursor_on() 613 .................... void lcd_cursor_on()
Line 803... Line 706...
803 .................... 706 ....................
804 .................... 707 ....................
805 .................... void main() 708 .................... void main()
806 .................... { 709 .................... {
807 * 710 *
808 02F1: CLRF 04 711 029D: CLRF 04
809 02F2: BCF 03.7 -  
810 02F3: MOVLW 1F 712 029E: MOVLW 1F
811 02F4: ANDWF 03,F 713 029F: ANDWF 03,F
812 02F5: BCF 20.6 714 02A0: BCF 20.6
813 02F6: MOVF 20,W 715 02A1: MOVF 20,W
814 02F7: BSF 03.5 716 02A2: BSF 03.5
815 02F8: MOVWF 07 717 02A3: MOVWF 07
816 02F9: BCF 03.5 718 02A4: BCF 03.5
817 02FA: BSF 07.6 719 02A5: BSF 07.6
818 02FB: BSF 03.5 720 02A6: BSF 03.5
819 02FC: BCF 06.2 721 02A7: BCF 06.2
820 02FD: BCF 03.5 722 02A8: BCF 03.5
821 02FE: BSF 06.2 723 02A9: BSF 06.2
822 02FF: BSF 03.5 724 02AA: BSF 03.5
823 0300: BSF 1F.0 725 02AB: BSF 1F.0
824 0301: BSF 1F.1 726 02AC: BSF 1F.1
825 0302: BSF 1F.2 727 02AD: BSF 1F.2
826 0303: BCF 1F.3 728 02AE: BCF 1F.3
827 0304: MOVLW 07 729 02AF: MOVLW 07
828 0305: MOVWF 1C 730 02B0: MOVWF 1C
829 .................... char odp[96]; 731 .................... char odp[40];
830 .................... int pom,pom2,pom3,odkl,odkl2,maskovadlo,status; 732 .................... int pom,pom2,pom3,odkl,odkl2,maskovadlo,status;
831 .................... 733 ....................
832 .................... setup_adc_ports(NO_ANALOGS); 734 .................... setup_adc_ports(NO_ANALOGS);
833 * 735 *
834 0309: BSF 03.5 736 02B4: BSF 03.5
835 030A: BSF 1F.0 737 02B5: BSF 1F.0
836 030B: BSF 1F.1 738 02B6: BSF 1F.1
837 030C: BSF 1F.2 739 02B7: BSF 1F.2
838 030D: BCF 1F.3 740 02B8: BCF 1F.3
839 .................... setup_adc(ADC_OFF); 741 .................... setup_adc(ADC_OFF);
840 030E: BCF 03.5 742 02B9: BCF 03.5
841 030F: BCF 1F.0 743 02BA: BCF 1F.0
842 .................... setup_spi(SPI_SS_DISABLED); 744 .................... setup_spi(SPI_SS_DISABLED);
843 0310: BCF 14.5 745 02BB: BCF 14.5
844 0311: BCF 20.5 746 02BC: BCF 20.5
845 0312: MOVF 20,W 747 02BD: MOVF 20,W
846 0313: BSF 03.5 748 02BE: BSF 03.5
847 0314: MOVWF 07 749 02BF: MOVWF 07
848 0315: BCF 03.5 750 02C0: BCF 03.5
849 0316: BSF 20.4 751 02C1: BSF 20.4
850 0317: MOVF 20,W 752 02C2: MOVF 20,W
851 0318: BSF 03.5 753 02C3: BSF 03.5
852 0319: MOVWF 07 754 02C4: MOVWF 07
853 031A: BCF 03.5 755 02C5: BCF 03.5
854 031B: BCF 20.3 756 02C6: BCF 20.3
855 031C: MOVF 20,W 757 02C7: MOVF 20,W
856 031D: BSF 03.5 758 02C8: BSF 03.5
857 031E: MOVWF 07 759 02C9: MOVWF 07
858 031F: MOVLW 01 760 02CA: MOVLW 01
859 0320: BCF 03.5 761 02CB: BCF 03.5
860 0321: MOVWF 14 762 02CC: MOVWF 14
861 0322: MOVLW 00 763 02CD: MOVLW 00
862 0323: BSF 03.5 764 02CE: BSF 03.5
863 0324: MOVWF 14 765 02CF: MOVWF 14
864 .................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 766 .................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
865 0325: MOVF 01,W 767 02D0: MOVF 01,W
866 0326: ANDLW C7 768 02D1: ANDLW C7
867 0327: IORLW 08 769 02D2: IORLW 08
868 0328: MOVWF 01 770 02D3: MOVWF 01
869 .................... setup_timer_1(T1_DISABLED); 771 .................... setup_timer_1(T1_DISABLED);
870 0329: BCF 03.5 772 02D4: BCF 03.5
871 032A: CLRF 10 773 02D5: CLRF 10
872 .................... setup_timer_2(T2_DISABLED,0,1); 774 .................... setup_timer_2(T2_DISABLED,0,1);
873 032B: MOVLW 00 775 02D6: MOVLW 00
874 032C: MOVWF 78 776 02D7: MOVWF 78
875 032D: MOVWF 12 777 02D8: MOVWF 12
876 032E: MOVLW 00 778 02D9: MOVLW 00
877 032F: BSF 03.5 779 02DA: BSF 03.5
878 0330: MOVWF 12 780 02DB: MOVWF 12
879 .................... setup_comparator(NC_NC_NC_NC); 781 .................... setup_comparator(NC_NC_NC_NC);
880 0331: MOVLW 07 782 02DC: MOVLW 07
881 0332: MOVWF 1C 783 02DD: MOVWF 1C
882 0333: MOVF 05,W 784 02DE: MOVF 05,W
883 0334: CLRWDT 785 02DF: CLRWDT
884 0335: MOVLW 0E 786 02E0: MOVLW 0E
885 0336: MOVWF 77 787 02E1: MOVWF 77
886 0337: DECFSZ 77,F 788 02E2: DECFSZ 77,F
887 0338: GOTO 337 789 02E3: GOTO 2E2
-   790 02E4: NOP
888 0339: GOTO 33A 791 02E5: NOP
889 033A: MOVF 1C,W 792 02E6: MOVF 1C,W
890 033B: BCF 03.5 793 02E7: BCF 03.5
891 033C: BCF 0D.6 794 02E8: BCF 0D.6
892 .................... setup_vref(FALSE); 795 .................... setup_vref(FALSE);
893 033D: BSF 03.5 796 02E9: BSF 03.5
894 033E: CLRF 1D 797 02EA: CLRF 1D
895 .................... setup_wdt(WDT_2304MS); 798 .................... setup_wdt(WDT_2304MS);
896 033F: MOVLW 0F 799 02EB: MOVLW 0F
897 0340: MOVWF 77 800 02EC: MOVWF 77
898 0341: MOVLW 07 801 02ED: MOVLW 07
899 0342: BCF 03.5 802 02EE: BCF 03.5
900 0343: CLRF 01 803 02EF: CLRF 01
901 0344: MOVLW 81 804 02F0: MOVLW 81
902 0345: MOVWF 04 805 02F1: MOVWF 04
903 0346: BCF 03.7 -  
904 0347: MOVF 00,W 806 02F2: MOVF 00,W
905 0348: ANDLW F0 807 02F3: ANDLW F0
906 0349: IORLW 07 808 02F4: IORLW 07
907 034A: MOVWF 00 809 02F5: MOVWF 00
908 034B: CLRWDT 810 02F6: CLRWDT
909 034C: MOVF 00,W 811 02F7: MOVF 00,W
910 034D: ANDLW F7 812 02F8: ANDLW F7
911 034E: BTFSC 77.3 813 02F9: BTFSC 77.3
912 034F: ANDLW F0 814 02FA: ANDLW F0
913 0350: IORWF 77,W 815 02FB: IORWF 77,W
914 0351: MOVWF 00 816 02FC: MOVWF 00
915 .................... lcd_init(); 817 .................... lcd_init();
916 0352: CALL 189 818 02FD: CALL 184
917 .................... 819 ....................
918 .................... /* -  
919 .................... delay_us(10); -  
920 .................... lcd_gotoxy(1,1); -  
921 .................... printf(lcd_putc," Ovladani mobilem"); -  
922 .................... lcd_gotoxy(1,2); -  
923 .................... printf(lcd_putc,""); -  
924 .................... lcd_gotoxy(1,3); -  
925 .................... printf(lcd_putc," autor: Tomas Kapl"); -  
926 .................... lcd_gotoxy(1,4); -  
927 .................... printf(lcd_putc," www.kapl.cz"); -  
928 .................... delay_ms(5000); -  
929 .................... */ -  
930 .................... -  
931 .................... while(TRUE) 820 .................... while(TRUE)
932 .................... { 821 .................... {
933 .................... restart_wdt(); 822 .................... restart_wdt();
934 0353: CLRWDT 823 02FE: CLRWDT
935 .................... 824 ....................
936 .................... output_low(PIN_A4) ; 825 .................... output_low(PIN_A4) ;
937 0354: BSF 03.5 826 02FF: BSF 03.5
938 0355: BCF 05.4 827 0300: BCF 05.4
939 0356: BCF 03.5 828 0301: BCF 03.5
940 0357: BCF 05.4 829 0302: BCF 05.4
941 .................... delay_ms(150); 830 .................... delay_ms(150);
942 0358: MOVLW 96 831 0303: MOVLW 96
943 0359: BSF 03.5 -  
944 035A: BSF 03.6 -  
945 035B: MOVWF 1A 832 0304: MOVWF 52
946 035C: BCF 03.5 -  
947 035D: BCF 03.6 -  
948 035E: CALL 119 833 0305: CALL 126
949 .................... output_high(PIN_A4); 834 .................... output_high(PIN_A4);
950 035F: BSF 03.5 835 0306: BSF 03.5
951 0360: BCF 05.4 836 0307: BCF 05.4
952 0361: BCF 03.5 837 0308: BCF 03.5
953 0362: BSF 05.4 838 0309: BSF 05.4
954 .................... delay_ms(150); 839 .................... delay_ms(150);
955 0363: MOVLW 96 840 030A: MOVLW 96
956 0364: BSF 03.5 -  
957 0365: BSF 03.6 -  
958 0366: MOVWF 1A 841 030B: MOVWF 52
959 0367: BCF 03.5 -  
960 0368: BCF 03.6 -  
961 0369: CALL 119 842 030C: CALL 126
962 .................... output_low(PIN_A4) ; 843 .................... output_low(PIN_A4) ;
963 036A: BSF 03.5 844 030D: BSF 03.5
964 036B: BCF 05.4 845 030E: BCF 05.4
965 036C: BCF 03.5 846 030F: BCF 03.5
966 036D: BCF 05.4 847 0310: BCF 05.4
967 .................... delay_ms(150); 848 .................... delay_ms(150);
968 036E: MOVLW 96 849 0311: MOVLW 96
969 036F: BSF 03.5 -  
970 0370: BSF 03.6 -  
971 0371: MOVWF 1A 850 0312: MOVWF 52
972 0372: BCF 03.5 -  
973 0373: BCF 03.6 -  
974 0374: CALL 119 851 0313: CALL 126
975 .................... output_high(PIN_A4); 852 .................... output_high(PIN_A4);
976 0375: BSF 03.5 853 0314: BSF 03.5
977 0376: BCF 05.4 854 0315: BCF 05.4
978 0377: BCF 03.5 855 0316: BCF 03.5
979 0378: BSF 05.4 856 0317: BSF 05.4
980 .................... delay_ms(150); 857 .................... delay_ms(150);
981 0379: MOVLW 96 858 0318: MOVLW 96
982 037A: BSF 03.5 -  
983 037B: BSF 03.6 -  
984 037C: MOVWF 1A 859 0319: MOVWF 52
985 037D: BCF 03.5 -  
986 037E: BCF 03.6 -  
987 037F: CALL 119 860 031A: CALL 126
988 .................... 861 ....................
989 .................... /* 862 .................... /*
990 .................... while(kbhit(MOBIL)) {fgetc(MOBIL); delay_ms(100);} // Preskoc zbytek radku 863 .................... while(kbhit(MOBIL)) {fgetc(MOBIL); delay_ms(100);} // Preskoc zbytek radku
991 .................... fprintf(MOBIL,"AT\r"); //vycti prijate SMS 864 .................... fprintf(MOBIL,"AT\r"); //vycti prijate SMS
992 .................... while(fgetc(MOBIL)!=0x0A); // predkoc prvni radek odpovedi 865 .................... while(fgetc(MOBIL)!=0x0A); // predkoc prvni radek odpovedi
993 .................... 866 ....................
Line 1005... Line 878...
1005 .................... fgetc(MOBIL); 878 .................... fgetc(MOBIL);
1006 .................... 879 ....................
1007 .................... delay_ms(1000); 880 .................... delay_ms(1000);
1008 .................... continue; 881 .................... continue;
1009 .................... */ 882 .................... */
1010 .................... fprintf(MOBIL,"AT+CMGL=1\r"); //vycti prijate SMS (0=nove;1=vsechny) 883 .................... fprintf(MOBIL,"AT+CMGL=1\r"); //vycti prijate SMS (0=nove;1=vsechny)
1011 0380: CLRF 28 884 031B: CLRF 50
1012 0381: MOVF 28,W 885 031C: MOVF 50,W
1013 0382: CALL 00C 886 031D: CALL 00C
1014 0383: INCF 28,F -  
1015 0384: MOVWF 77 887 031E: IORLW 00
1016 0385: BSF 03.5 888 031F: BTFSC 03.2
1017 0386: BSF 03.6 889 0320: GOTO 325
1018 0387: MOVWF 18 -  
1019 0388: BCF 03.5 890 0321: INCF 50,F
1020 0389: BCF 03.6 891 0322: MOVWF 51
1021 038A: GOTO 1E4 892 0323: GOTO 1C3
1022 038B: MOVLW 0A -  
1023 038C: SUBWF 28,W -  
1024 038D: BTFSS 03.2 -  
1025 038E: GOTO 381 893 0324: GOTO 31C
1026 .................... //SPEN=1; 894 .................... //SPEN=1;
1027 .................... 895 ....................
1028 .................... 896 ....................
1029 .................... while(fgetc(MOBIL)!=0x0A); // predkoc prvni radek odpovedi 897 .................... while(fgetc(MOBIL)!=0x0A); // predkoc prvni radek odpovedi
1030 038F: CALL 20F 898 0325: CALL 1ED
1031 0390: MOVF 78,W 899 0326: MOVF 78,W
1032 0391: SUBLW 0A 900 0327: SUBLW 0A
1033 0392: BTFSS 03.2 901 0328: BTFSS 03.2
1034 0393: GOTO 38F 902 0329: GOTO 325
1035 .................... 903 ....................
1036 .................... odp[0]=fgetc(MOBIL); // Nacti prvni dva znaky druheho radku odpovedi 904 .................... odp[0]=fgetc(MOBIL); // Nacti prvni dva znaky druheho radku odpovedi
1037 0394: CALL 20F 905 032A: CALL 1ED
1038 0395: MOVF 78,W 906 032B: MOVF 78,W
1039 0396: BSF 03.6 -  
1040 0397: MOVWF 10 907 032C: MOVWF 21
1041 .................... odp[1]=fgetc(MOBIL); 908 .................... odp[1]=fgetc(MOBIL);
1042 0398: BCF 03.6 -  
1043 0399: CALL 20F 909 032D: CALL 1ED
1044 039A: MOVF 78,W 910 032E: MOVF 78,W
1045 039B: BSF 03.6 -  
1046 039C: MOVWF 11 911 032F: MOVWF 22
1047 .................... while(fgetc(MOBIL)!=0x0A); // Preskoc zbytek radku 912 .................... while(fgetc(MOBIL)!=0x0A); // Preskoc zbytek radku
1048 039D: BCF 03.6 -  
1049 039E: CALL 20F 913 0330: CALL 1ED
1050 039F: MOVF 78,W 914 0331: MOVF 78,W
1051 03A0: SUBLW 0A 915 0332: SUBLW 0A
1052 03A1: BTFSS 03.2 916 0333: BTFSS 03.2
1053 03A2: GOTO 39E 917 0334: GOTO 330
1054 .................... 918 ....................
1055 .................... while(kbhit(MOBIL)) {fgetc(MOBIL); delay_ms(100);} // Preskoc zbytek radku 919 .................... // while(kbhit(MOBIL)) {fgetc(MOBIL); delay_ms(100);} // Preskoc zbytek radku
1056 03A3: BTFSC 07.7 -  
1057 03A4: GOTO 3AE -  
1058 03A5: CALL 20F -  
1059 03A6: MOVLW 64 -  
1060 03A7: BSF 03.5 -  
1061 03A8: BSF 03.6 -  
1062 03A9: MOVWF 1A -  
1063 03AA: BCF 03.5 -  
1064 03AB: BCF 03.6 -  
1065 03AC: CALL 119 -  
1066 03AD: GOTO 3A3 -  
1067 .................... output_high(PIN_A4) ; 920 .................... output_high(PIN_A4);
1068 03AE: BSF 03.5 921 0335: BSF 03.5
1069 03AF: BCF 05.4 922 0336: BCF 05.4
1070 03B0: BCF 03.5 923 0337: BCF 03.5
1071 03B1: BSF 05.4 924 0338: BSF 05.4
1072 .................... 925 ....................
1073 .................... 926 ....................
1074 .................... if(odp[0] == 79 && odp[1] ==75) // Je odpoved "OK"? 927 .................... if(odp[0] == 79 && odp[1] ==75) // Je odpoved "OK"?
1075 03B2: BSF 03.6 -  
1076 03B3: MOVF 10,W 928 0339: MOVF 21,W
1077 03B4: SUBLW 4F 929 033A: SUBLW 4F
1078 03B5: BTFSS 03.2 930 033B: BTFSS 03.2
1079 03B6: GOTO 417 931 033C: GOTO 384
1080 03B7: MOVF 11,W 932 033D: MOVF 22,W
1081 03B8: SUBLW 4B 933 033E: SUBLW 4B
1082 03B9: BTFSS 03.2 934 033F: BTFSS 03.2
1083 03BA: GOTO 417 935 0340: GOTO 384
1084 .................... { 936 .................... {
1085 .................... lcd_gotoxy(1,1); 937 .................... lcd_gotoxy(1,1);
1086 03BB: MOVLW 01 938 0341: MOVLW 01
1087 03BC: BSF 03.5 -  
1088 03BD: MOVWF 1A 939 0342: MOVWF 52
1089 03BE: MOVWF 1B 940 0343: MOVWF 53
1090 03BF: BCF 03.5 -  
1091 03C0: BCF 03.6 -  
1092 03C1: CALL 23E 941 0344: CALL 217
1093 .................... printf(lcd_putc,"\fNeni nova SMS zprava"); 942 .................... printf(lcd_putc,"\fNeni nova SMS zprava");
1094 03C2: CLRF 28 943 0345: CLRF 50
1095 03C3: MOVF 28,W 944 0346: MOVF 50,W
1096 03C4: CALL 01B 945 0347: CALL 01B
1097 03C5: INCF 28,F -  
1098 03C6: MOVWF 77 946 0348: IORLW 00
1099 03C7: BSF 03.5 -  
1100 03C8: BSF 03.6 947 0349: BTFSC 03.2
1101 03C9: MOVWF 19 -  
1102 03CA: BCF 03.5 948 034A: GOTO 34F
1103 03CB: BCF 03.6 949 034B: INCF 50,F
1104 03CC: CALL 273 -  
1105 03CD: MOVLW 15 950 034C: MOVWF 51
1106 03CE: SUBWF 28,W -  
1107 03CF: BTFSS 03.2 951 034D: CALL 23C
1108 03D0: GOTO 3C3 952 034E: GOTO 346
1109 .................... lcd_gotoxy(1,2); 953 .................... lcd_gotoxy(1,2);
1110 03D1: MOVLW 01 954 034F: MOVLW 01
1111 03D2: BSF 03.5 -  
1112 03D3: BSF 03.6 -  
1113 03D4: MOVWF 1A 955 0350: MOVWF 52
1114 03D5: MOVLW 02 956 0351: MOVLW 02
1115 03D6: MOVWF 1B 957 0352: MOVWF 53
1116 03D7: BCF 03.5 -  
1117 03D8: BCF 03.6 -  
1118 03D9: CALL 23E 958 0353: CALL 217
1119 .................... printf(lcd_putc,""); 959 .................... printf(lcd_putc,"");
-   960 0354: CLRF 50
-   961 0355: MOVF 50,W
-   962 0356: CALL 035
-   963 0357: IORLW 00
-   964 0358: BTFSC 03.2
-   965 0359: GOTO 35E
-   966 035A: INCF 50,F
-   967 035B: MOVWF 51
-   968 035C: CALL 23C
-   969 035D: GOTO 355
1120 .................... lcd_gotoxy(1,3); 970 .................... lcd_gotoxy(1,3);
1121 03DA: MOVLW 01 971 035E: MOVLW 01
1122 03DB: BSF 03.5 -  
1123 03DC: BSF 03.6 -  
1124 03DD: MOVWF 1A 972 035F: MOVWF 52
1125 03DE: MOVLW 03 973 0360: MOVLW 03
1126 03DF: MOVWF 1B 974 0361: MOVWF 53
1127 03E0: BCF 03.5 -  
1128 03E1: BCF 03.6 -  
1129 03E2: CALL 23E 975 0362: CALL 217
1130 .................... printf(lcd_putc,"Zaslete SMS na cislo"); 976 .................... printf(lcd_putc,"Zaslete SMS na cislo");
1131 03E3: CLRF 28 977 0363: CLRF 50
1132 03E4: MOVF 28,W 978 0364: MOVF 50,W
1133 03E5: CALL 035 979 0365: CALL 03A
1134 03E6: INCF 28,F 980 0366: IORLW 00
1135 03E7: MOVWF 77 981 0367: BTFSC 03.2
1136 03E8: BSF 03.5 982 0368: GOTO 36D
1137 03E9: BSF 03.6 983 0369: INCF 50,F
1138 03EA: MOVWF 19 984 036A: MOVWF 51
1139 03EB: BCF 03.5 -  
1140 03EC: BCF 03.6 -  
1141 03ED: CALL 273 985 036B: CALL 23C
1142 03EE: MOVLW 14 -  
1143 03EF: SUBWF 28,W -  
1144 03F0: BTFSS 03.2 -  
1145 03F1: GOTO 3E4 986 036C: GOTO 364
1146 .................... lcd_gotoxy(1,4); 987 .................... lcd_gotoxy(1,4);
1147 03F2: MOVLW 01 988 036D: MOVLW 01
1148 03F3: BSF 03.5 -  
1149 03F4: BSF 03.6 -  
1150 03F5: MOVWF 1A 989 036E: MOVWF 52
1151 03F6: MOVLW 04 990 036F: MOVLW 04
1152 03F7: MOVWF 1B 991 0370: MOVWF 53
1153 03F8: BCF 03.5 -  
1154 03F9: BCF 03.6 -  
1155 03FA: CALL 23E 992 0371: CALL 217
1156 .................... printf(lcd_putc," 736 655 250"); 993 .................... printf(lcd_putc," 736 655 250");
1157 03FB: CLRF 28 994 0372: CLRF 50
1158 03FC: MOVF 28,W 995 0373: MOVF 50,W
1159 03FD: CALL 04E 996 0374: CALL 053
1160 03FE: INCF 28,F -  
1161 03FF: MOVWF 77 997 0375: IORLW 00
1162 0400: BSF 03.5 998 0376: BTFSC 03.2
1163 0401: BSF 03.6 999 0377: GOTO 37C
1164 0402: MOVWF 19 -  
1165 0403: BCF 03.5 1000 0378: INCF 50,F
1166 0404: BCF 03.6 1001 0379: MOVWF 51
1167 0405: CALL 273 1002 037A: CALL 23C
1168 0406: MOVLW 0F -  
1169 0407: SUBWF 28,W -  
1170 0408: BTFSS 03.2 -  
1171 0409: GOTO 3FC 1003 037B: GOTO 373
1172 .................... delay_ms(5000); 1004 .................... delay_ms(5000);
1173 040A: MOVLW 14 1005 037C: MOVLW 14
1174 040B: MOVWF 28 1006 037D: MOVWF 50
1175 040C: MOVLW FA 1007 037E: MOVLW FA
1176 040D: BSF 03.5 -  
1177 040E: BSF 03.6 -  
1178 040F: MOVWF 1A 1008 037F: MOVWF 52
1179 0410: BCF 03.5 -  
1180 0411: BCF 03.6 -  
1181 0412: CALL 119 1009 0380: CALL 126
1182 0413: DECFSZ 28,F 1010 0381: DECFSZ 50,F
1183 0414: GOTO 40C 1011 0382: GOTO 37E
1184 .................... } 1012 .................... }
1185 .................... else 1013 .................... else
1186 0415: GOTO 71B 1014 0383: GOTO 5DF
1187 0416: BSF 03.6 -  
1188 .................... { 1015 .................... {
1189 .................... //!!!KAKL for(pom=0;pom<55;pom++) //preskoc nedulezite informace 1016 .................... //!!!KAKL for(pom=0;pom<55;pom++) //preskoc nedulezite informace
1190 .................... for(pom=0;pom<54;pom++) //preskoc nedulezite informace 1017 .................... for(pom=0;pom<54;pom++) //preskoc nedulezite informace
1191 0417: BCF 03.6 -  
1192 0418: CLRF 21 1018 0384: CLRF 49
1193 0419: MOVF 21,W 1019 0385: MOVF 49,W
1194 041A: SUBLW 35 1020 0386: SUBLW 35
1195 041B: BTFSS 03.0 1021 0387: BTFSS 03.0
1196 041C: GOTO 420 1022 0388: GOTO 38C
1197 .................... { 1023 .................... {
1198 .................... fgetc(MOBIL); 1024 .................... fgetc(MOBIL);
1199 041D: CALL 20F 1025 0389: CALL 1ED
1200 .................... } 1026 .................... }
1201 041E: INCF 21,F 1027 038A: INCF 49,F
1202 041F: GOTO 419 1028 038B: GOTO 385
1203 .................... 1029 ....................
1204 .................... //gets(odp); //uloz zakodovany text SMS 1030 .................... //gets(odp); //uloz zakodovany text SMS
1205 .................... 1031 ....................
1206 .................... odp[0]=fgetc(MOBIL); 1032 .................... odp[0]=fgetc(MOBIL);
1207 0420: CALL 20F 1033 038C: CALL 1ED
1208 0421: MOVF 78,W 1034 038D: MOVF 78,W
1209 0422: BSF 03.6 -  
1210 0423: MOVWF 10 1035 038E: MOVWF 21
1211 .................... odp[1]=fgetc(MOBIL); 1036 .................... odp[1]=fgetc(MOBIL);
1212 0424: BCF 03.6 -  
1213 0425: CALL 20F 1037 038F: CALL 1ED
1214 0426: MOVF 78,W 1038 0390: MOVF 78,W
1215 0427: BSF 03.6 -  
1216 0428: MOVWF 11 1039 0391: MOVWF 22
1217 .................... odp[2]=fgetc(MOBIL); 1040 .................... odp[2]=fgetc(MOBIL);
1218 0429: BCF 03.6 -  
1219 042A: CALL 20F 1041 0392: CALL 1ED
1220 042B: MOVF 78,W 1042 0393: MOVF 78,W
1221 042C: BSF 03.6 -  
1222 042D: MOVWF 12 1043 0394: MOVWF 23
1223 .................... odp[3]=fgetc(MOBIL); 1044 .................... odp[3]=fgetc(MOBIL);
1224 042E: BCF 03.6 -  
1225 042F: CALL 20F 1045 0395: CALL 1ED
1226 0430: MOVF 78,W 1046 0396: MOVF 78,W
1227 0431: BSF 03.6 -  
1228 0432: MOVWF 13 1047 0397: MOVWF 24
1229 .................... odp[4]=fgetc(MOBIL); 1048 .................... odp[4]=fgetc(MOBIL);
1230 0433: BCF 03.6 -  
1231 0434: CALL 20F 1049 0398: CALL 1ED
1232 0435: MOVF 78,W 1050 0399: MOVF 78,W
1233 0436: BSF 03.6 -  
1234 0437: MOVWF 14 1051 039A: MOVWF 25
1235 .................... odp[5]=fgetc(MOBIL); 1052 .................... odp[5]=fgetc(MOBIL);
1236 0438: BCF 03.6 -  
1237 0439: CALL 20F 1053 039B: CALL 1ED
1238 043A: MOVF 78,W 1054 039C: MOVF 78,W
1239 043B: BSF 03.6 -  
1240 043C: MOVWF 15 1055 039D: MOVWF 26
1241 .................... odp[6]=fgetc(MOBIL); 1056 .................... odp[6]=fgetc(MOBIL);
1242 043D: BCF 03.6 -  
1243 043E: CALL 20F 1057 039E: CALL 1ED
1244 043F: MOVF 78,W 1058 039F: MOVF 78,W
1245 0440: BSF 03.6 -  
1246 0441: MOVWF 16 1059 03A0: MOVWF 27
1247 .................... odp[7]=fgetc(MOBIL); 1060 .................... odp[7]=fgetc(MOBIL);
1248 0442: BCF 03.6 -  
1249 0443: CALL 20F 1061 03A1: CALL 1ED
1250 0444: MOVF 78,W 1062 03A2: MOVF 78,W
1251 0445: BSF 03.6 -  
1252 0446: MOVWF 17 1063 03A3: MOVWF 28
1253 .................... 1064 ....................
1254 .................... /*lcd_gotoxy(1,1); 1065 .................... /*lcd_gotoxy(1,1);
1255 .................... printf(lcd_putc,"\f%s\n",odp);*/ 1066 .................... printf(lcd_putc,"\f%s\n",odp);*/
1256 .................... 1067 ....................
1257 .................... if(odp[0]==0) odp[1]='0'; // Prevod z ASCII do BIN 1068 .................... if(odp[0]==0) odp[1]='0'; // Prevod z ASCII do BIN
1258 0447: MOVF 10,F 1069 03A4: MOVF 21,F
1259 0448: BTFSS 03.2 1070 03A5: BTFSS 03.2
1260 0449: GOTO 44C 1071 03A6: GOTO 3A9
1261 044A: MOVLW 30 1072 03A7: MOVLW 30
1262 044B: MOVWF 11 1073 03A8: MOVWF 22
1263 .................... odp[0]=odp[0] - '0'; 1074 .................... odp[0]=odp[0] - '0';
1264 044C: MOVLW 30 1075 03A9: MOVLW 30
1265 044D: SUBWF 10,F 1076 03AA: SUBWF 21,F
1266 .................... odp[1]=odp[1] - '0'; 1077 .................... odp[1]=odp[1] - '0';
1267 044E: SUBWF 11,F 1078 03AB: SUBWF 22,F
1268 .................... if(odp[0]>9) odp[0]=odp[0]-7; 1079 .................... if(odp[0]>9) odp[0]=odp[0]-7;
1269 044F: MOVF 10,W 1080 03AC: MOVF 21,W
1270 0450: SUBLW 09 1081 03AD: SUBLW 09
1271 0451: BTFSC 03.0 1082 03AE: BTFSC 03.0
1272 0452: GOTO 455 1083 03AF: GOTO 3B2
1273 0453: MOVLW 07 1084 03B0: MOVLW 07
1274 0454: SUBWF 10,F 1085 03B1: SUBWF 21,F
1275 .................... if(odp[1]>9) odp[1]=odp[1]-7; 1086 .................... if(odp[1]>9) odp[1]=odp[1]-7;
1276 0455: MOVF 11,W 1087 03B2: MOVF 22,W
1277 0456: SUBLW 09 1088 03B3: SUBLW 09
1278 0457: BTFSC 03.0 1089 03B4: BTFSC 03.0
1279 0458: GOTO 45B 1090 03B5: GOTO 3B8
1280 0459: MOVLW 07 1091 03B6: MOVLW 07
1281 045A: SUBWF 11,F 1092 03B7: SUBWF 22,F
1282 .................... odp[0]=odp[0] << 4; 1093 .................... odp[0]=odp[0] << 4;
1283 045B: SWAPF 10,F 1094 03B8: SWAPF 21,F
1284 045C: MOVLW F0 1095 03B9: MOVLW F0
1285 045D: ANDWF 10,F 1096 03BA: ANDWF 21,F
1286 .................... odp[0] |= odp[1]; 1097 .................... odp[0] |= odp[1];
1287 045E: MOVF 11,W 1098 03BB: MOVF 22,W
1288 045F: IORWF 10,F 1099 03BC: IORWF 21,F
1289 .................... 1100 ....................
1290 .................... if(odp[2]==0) odp[3]='0'; 1101 .................... if(odp[2]==0) odp[3]='0';
1291 0460: MOVF 12,F 1102 03BD: MOVF 23,F
1292 0461: BTFSS 03.2 1103 03BE: BTFSS 03.2
1293 0462: GOTO 465 1104 03BF: GOTO 3C2
1294 0463: MOVLW 30 1105 03C0: MOVLW 30
1295 0464: MOVWF 13 1106 03C1: MOVWF 24
1296 .................... odp[2]=odp[2] - '0'; 1107 .................... odp[2]=odp[2] - '0';
1297 0465: MOVLW 30 1108 03C2: MOVLW 30
1298 0466: SUBWF 12,F 1109 03C3: SUBWF 23,F
1299 .................... odp[3]=odp[3] - '0'; 1110 .................... odp[3]=odp[3] - '0';
1300 0467: SUBWF 13,F 1111 03C4: SUBWF 24,F
1301 .................... if(odp[2]>9) odp[2]=odp[2]-7; 1112 .................... if(odp[2]>9) odp[2]=odp[2]-7;
1302 0468: MOVF 12,W 1113 03C5: MOVF 23,W
1303 0469: SUBLW 09 1114 03C6: SUBLW 09
1304 046A: BTFSC 03.0 1115 03C7: BTFSC 03.0
1305 046B: GOTO 46E 1116 03C8: GOTO 3CB
1306 046C: MOVLW 07 1117 03C9: MOVLW 07
1307 046D: SUBWF 12,F 1118 03CA: SUBWF 23,F
1308 .................... if(odp[3]>9) odp[3]=odp[3]-7; 1119 .................... if(odp[3]>9) odp[3]=odp[3]-7;
1309 046E: MOVF 13,W 1120 03CB: MOVF 24,W
1310 046F: SUBLW 09 1121 03CC: SUBLW 09
1311 0470: BTFSC 03.0 1122 03CD: BTFSC 03.0
1312 0471: GOTO 474 1123 03CE: GOTO 3D1
1313 0472: MOVLW 07 1124 03CF: MOVLW 07
1314 0473: SUBWF 13,F 1125 03D0: SUBWF 24,F
1315 .................... odp[2]=odp[2] << 4; 1126 .................... odp[2]=odp[2] << 4;
1316 0474: SWAPF 12,F 1127 03D1: SWAPF 23,F
1317 0475: MOVLW F0 1128 03D2: MOVLW F0
1318 0476: ANDWF 12,F 1129 03D3: ANDWF 23,F
1319 .................... odp[2] |= odp[3]; 1130 .................... odp[2] |= odp[3];
1320 0477: MOVF 13,W 1131 03D4: MOVF 24,W
1321 0478: IORWF 12,F 1132 03D5: IORWF 23,F
1322 .................... 1133 ....................
1323 .................... if(odp[4]==0) odp[5]='0'; 1134 .................... if(odp[4]==0) odp[5]='0';
1324 0479: MOVF 14,F 1135 03D6: MOVF 25,F
1325 047A: BTFSS 03.2 1136 03D7: BTFSS 03.2
1326 047B: GOTO 47E 1137 03D8: GOTO 3DB
1327 047C: MOVLW 30 1138 03D9: MOVLW 30
1328 047D: MOVWF 15 1139 03DA: MOVWF 26
1329 .................... odp[4]=odp[4] - '0'; 1140 .................... odp[4]=odp[4] - '0';
1330 047E: MOVLW 30 1141 03DB: MOVLW 30
1331 047F: SUBWF 14,F 1142 03DC: SUBWF 25,F
1332 .................... odp[5]=odp[5] - '0'; 1143 .................... odp[5]=odp[5] - '0';
1333 0480: SUBWF 15,F 1144 03DD: SUBWF 26,F
1334 .................... if(odp[4]>9) odp[4]=odp[4]-7; 1145 .................... if(odp[4]>9) odp[4]=odp[4]-7;
1335 0481: MOVF 14,W 1146 03DE: MOVF 25,W
1336 0482: SUBLW 09 1147 03DF: SUBLW 09
1337 0483: BTFSC 03.0 1148 03E0: BTFSC 03.0
1338 0484: GOTO 487 1149 03E1: GOTO 3E4
1339 0485: MOVLW 07 1150 03E2: MOVLW 07
1340 0486: SUBWF 14,F 1151 03E3: SUBWF 25,F
1341 .................... if(odp[5]>9) odp[5]=odp[5]-7; 1152 .................... if(odp[5]>9) odp[5]=odp[5]-7;
1342 0487: MOVF 15,W 1153 03E4: MOVF 26,W
1343 0488: SUBLW 09 1154 03E5: SUBLW 09
1344 0489: BTFSC 03.0 1155 03E6: BTFSC 03.0
1345 048A: GOTO 48D 1156 03E7: GOTO 3EA
1346 048B: MOVLW 07 1157 03E8: MOVLW 07
1347 048C: SUBWF 15,F 1158 03E9: SUBWF 26,F
1348 .................... odp[4]=odp[4] << 4; 1159 .................... odp[4]=odp[4] << 4;
1349 048D: SWAPF 14,F 1160 03EA: SWAPF 25,F
1350 048E: MOVLW F0 1161 03EB: MOVLW F0
1351 048F: ANDWF 14,F 1162 03EC: ANDWF 25,F
1352 .................... odp[4] |= odp[5]; 1163 .................... odp[4] |= odp[5];
1353 0490: MOVF 15,W 1164 03ED: MOVF 26,W
1354 0491: IORWF 14,F 1165 03EE: IORWF 25,F
1355 .................... 1166 ....................
1356 .................... if(odp[6]==0) odp[7]='0'; 1167 .................... if(odp[6]==0) odp[7]='0';
1357 0492: MOVF 16,F 1168 03EF: MOVF 27,F
1358 0493: BTFSS 03.2 1169 03F0: BTFSS 03.2
1359 0494: GOTO 497 1170 03F1: GOTO 3F4
1360 0495: MOVLW 30 1171 03F2: MOVLW 30
1361 0496: MOVWF 17 1172 03F3: MOVWF 28
1362 .................... odp[6]=odp[6] - '0'; 1173 .................... odp[6]=odp[6] - '0';
1363 0497: MOVLW 30 1174 03F4: MOVLW 30
1364 0498: SUBWF 16,F 1175 03F5: SUBWF 27,F
1365 .................... odp[7]=odp[7] - '0'; 1176 .................... odp[7]=odp[7] - '0';
1366 0499: SUBWF 17,F 1177 03F6: SUBWF 28,F
1367 .................... if(odp[6]>9) odp[6]=odp[6]-7; 1178 .................... if(odp[6]>9) odp[6]=odp[6]-7;
1368 049A: MOVF 16,W 1179 03F7: MOVF 27,W
1369 049B: SUBLW 09 1180 03F8: SUBLW 09
1370 049C: BTFSC 03.0 1181 03F9: BTFSC 03.0
1371 049D: GOTO 4A0 1182 03FA: GOTO 3FD
1372 049E: MOVLW 07 1183 03FB: MOVLW 07
1373 049F: SUBWF 16,F 1184 03FC: SUBWF 27,F
1374 .................... if(odp[7]>9) odp[7]=odp[7]-7; 1185 .................... if(odp[7]>9) odp[7]=odp[7]-7;
1375 04A0: MOVF 17,W 1186 03FD: MOVF 28,W
1376 04A1: SUBLW 09 1187 03FE: SUBLW 09
1377 04A2: BTFSC 03.0 1188 03FF: BTFSC 03.0
1378 04A3: GOTO 4A6 1189 0400: GOTO 403
1379 04A4: MOVLW 07 1190 0401: MOVLW 07
1380 04A5: SUBWF 17,F 1191 0402: SUBWF 28,F
1381 .................... odp[6]=odp[6] << 4; 1192 .................... odp[6]=odp[6] << 4;
1382 04A6: SWAPF 16,F 1193 0403: SWAPF 27,F
1383 04A7: MOVLW F0 1194 0404: MOVLW F0
1384 04A8: ANDWF 16,F 1195 0405: ANDWF 27,F
1385 .................... odp[6] |= odp[7]; 1196 .................... odp[6] |= odp[7];
1386 04A9: MOVF 17,W 1197 0406: MOVF 28,W
1387 04AA: IORWF 16,F 1198 0407: IORWF 27,F
1388 .................... 1199 ....................
1389 .................... odp[1]=odp[2]; 1200 .................... odp[1]=odp[2];
1390 04AB: MOVF 12,W 1201 0408: MOVF 23,W
1391 04AC: MOVWF 11 1202 0409: MOVWF 22
1392 .................... odp[2]=odp[4]; 1203 .................... odp[2]=odp[4];
1393 04AD: MOVF 14,W 1204 040A: MOVF 25,W
1394 04AE: MOVWF 12 1205 040B: MOVWF 23
1395 .................... odp[3]=odp[6]; 1206 .................... odp[3]=odp[6];
1396 04AF: MOVF 16,W 1207 040C: MOVF 27,W
1397 04B0: MOVWF 13 1208 040D: MOVWF 24
1398 .................... odp[4],odp[5],odp[6]=""; 1209 .................... odp[4]=odp[5]=odp[6]=0;
1399 04B1: CLRF 16 1210 040E: CLRF 27
-   1211 040F: MOVF 27,W
-   1212 0410: MOVWF 26
-   1213 0411: MOVWF 25
1400 .................... 1214 ....................
1401 .................... /*lcd_gotoxy(1,2); 1215 .................... /*lcd_gotoxy(1,2);
1402 .................... printf(lcd_putc,"%u %u %u %u",odp[0],odp[1],odp[2]odp[3]); */ 1216 .................... printf(lcd_putc,"%u %u %u %u",odp[0],odp[1],odp[2]odp[3]); */
1403 .................... 1217 ....................
1404 .................... pom3=0; 1218 .................... pom3=0;
1405 04B2: BCF 03.6 -  
1406 04B3: CLRF 23 1219 0412: CLRF 4B
1407 .................... for (pom = 0; pom < 4;pom++) 1220 .................... for (pom = 0; pom < 4;pom++)
1408 04B4: CLRF 21 1221 0413: CLRF 49
1409 04B5: MOVF 21,W 1222 0414: MOVF 49,W
1410 04B6: SUBLW 03 1223 0415: SUBLW 03
1411 04B7: BTFSS 03.0 1224 0416: BTFSS 03.0
1412 04B8: GOTO 52A 1225 0417: GOTO 46B
1413 .................... { 1226 .................... {
1414 .................... maskovadlo = maskovadlo >> 1; //rotace promene urcene pro maskovani 1227 .................... maskovadlo = maskovadlo >> 1; //rotace promene urcene pro maskovani
1415 04B9: BCF 03.0 1228 0418: BCF 03.0
1416 04BA: RRF 26,F 1229 0419: RRF 4E,F
1417 .................... maskovadlo = maskovadlo | 0x80; 1230 .................... maskovadlo = maskovadlo | 0x80;
1418 04BB: BSF 26.7 1231 041A: BSF 4E.7
1419 .................... odkl = odp[pom] & maskovadlo; //odlozeni "prenosu" do odkl pomoci maskovadla 1232 .................... odkl = odp[pom] & maskovadlo; //odlozeni "prenosu" do odkl pomoci maskovadla
1420 04BC: MOVLW 10 1233 041B: MOVLW 21
1421 04BD: ADDWF 21,W 1234 041C: ADDWF 49,W
1422 04BE: MOVWF 04 1235 041D: MOVWF 04
1423 04BF: BSF 03.7 -  
1424 04C0: MOVF 00,W 1236 041E: MOVF 00,W
1425 04C1: ANDWF 26,W 1237 041F: ANDWF 4E,W
1426 04C2: MOVWF 24 1238 0420: MOVWF 4C
1427 .................... odp[pom] = odp[pom] << pom3; //rotace znaku 1239 .................... odp[pom] = odp[pom] << pom3; //rotace znaku
1428 04C3: MOVLW 10 1240 0421: MOVLW 21
1429 04C4: ADDWF 21,W 1241 0422: ADDWF 49,W
1430 04C5: MOVWF 78 1242 0423: MOVWF 50
1431 04C6: MOVLW 01 1243 0424: MOVLW 21
1432 04C7: MOVWF 7A -  
1433 04C8: BTFSC 03.0 -  
1434 04C9: INCF 7A,F -  
1435 04CA: MOVF 78,W -  
1436 04CB: MOVWF 28 -  
1437 04CC: MOVF 7A,W -  
1438 04CD: MOVWF 29 -  
1439 04CE: MOVLW 10 -  
1440 04CF: ADDWF 21,W 1244 0425: ADDWF 49,W
1441 04D0: MOVWF 04 1245 0426: MOVWF 04
1442 04D1: BSF 03.7 -  
1443 04D2: MOVF 00,W 1246 0427: MOVF 00,W
1444 04D3: MOVWF 77 1247 0428: MOVWF 77
1445 04D4: MOVF 23,W 1248 0429: MOVF 4B,W
1446 04D5: MOVWF 78 1249 042A: MOVWF 78
1447 04D6: BTFSC 03.2 1250 042B: BTFSC 03.2
1448 04D7: GOTO 4DC 1251 042C: GOTO 431
1449 04D8: BCF 03.0 1252 042D: BCF 03.0
1450 04D9: RLF 77,F 1253 042E: RLF 77,F
1451 04DA: DECFSZ 78,F 1254 042F: DECFSZ 78,F
1452 04DB: GOTO 4D8 1255 0430: GOTO 42D
1453 04DC: MOVF 28,W 1256 0431: MOVF 50,W
1454 04DD: MOVWF 04 1257 0432: MOVWF 04
1455 04DE: BCF 03.7 -  
1456 04DF: BTFSC 29.0 -  
1457 04E0: BSF 03.7 -  
1458 04E1: MOVF 77,W 1258 0433: MOVF 77,W
1459 04E2: MOVWF 00 1259 0434: MOVWF 00
1460 .................... for (pom2 = 0; pom2 < (8-pom3);pom2++) //rotace odkl2 1260 .................... for (pom2 = 0; pom2 < (8-pom3);pom2++) //rotace odkl2
1461 04E3: CLRF 22 1261 0435: CLRF 4A
1462 04E4: MOVF 23,W 1262 0436: MOVF 4B,W
1463 04E5: SUBLW 08 1263 0437: SUBLW 08
1464 04E6: SUBWF 22,W 1264 0438: SUBWF 4A,W
1465 04E7: BTFSC 03.0 1265 0439: BTFSC 03.0
1466 04E8: GOTO 4EE 1266 043A: GOTO 440
1467 .................... { 1267 .................... {
1468 .................... odkl2 = odkl2 >> 1; 1268 .................... odkl2 = odkl2 >> 1;
1469 04E9: BCF 03.0 1269 043B: BCF 03.0
1470 04EA: RRF 25,F 1270 043C: RRF 4D,F
1471 .................... odkl2 = odkl2 & 127; 1271 .................... odkl2 = odkl2 & 127;
1472 04EB: BCF 25.7 1272 043D: BCF 4D.7
1473 .................... } 1273 .................... }
1474 04EC: INCF 22,F 1274 043E: INCF 4A,F
1475 04ED: GOTO 4E4 1275 043F: GOTO 436
1476 .................... odp[pom] = odp[pom] | odkl2; //pridani odkl2 ke znaku 1276 .................... odp[pom] = odp[pom] | odkl2; //pridani odkl2 ke znaku
1477 04EE: MOVLW 10 1277 0440: MOVLW 21
1478 04EF: ADDWF 21,W 1278 0441: ADDWF 49,W
1479 04F0: MOVWF 78 -  
1480 04F1: MOVLW 01 -  
1481 04F2: MOVWF 7A 1279 0442: MOVWF 50
1482 04F3: BTFSC 03.0 -  
1483 04F4: INCF 7A,F -  
1484 04F5: MOVLW 10 1280 0443: MOVLW 21
1485 04F6: ADDWF 21,W 1281 0444: ADDWF 49,W
1486 04F7: MOVWF 04 1282 0445: MOVWF 04
1487 04F8: BSF 03.7 -  
1488 04F9: MOVF 00,W 1283 0446: MOVF 00,W
1489 04FA: IORWF 25,W 1284 0447: IORWF 4D,W
1490 04FB: MOVWF 2B 1285 0448: MOVWF 52
1491 04FC: MOVF 78,W 1286 0449: MOVF 50,W
1492 04FD: MOVWF 04 1287 044A: MOVWF 04
1493 04FE: BCF 03.7 -  
1494 04FF: BTFSC 7A.0 -  
1495 0500: BSF 03.7 -  
1496 0501: MOVF 2B,W 1288 044B: MOVF 52,W
1497 0502: MOVWF 00 1289 044C: MOVWF 00
1498 .................... odp[pom] = odp[pom] & 127; //smazani nejvysiho bitu 1290 .................... odp[pom] = odp[pom] & 127; //smazani nejvysiho bitu
1499 0503: MOVLW 10 1291 044D: MOVLW 21
1500 0504: ADDWF 21,W 1292 044E: ADDWF 49,W
1501 0505: MOVWF 78 1293 044F: MOVWF 50
1502 0506: MOVLW 01 1294 0450: MOVLW 21
1503 0507: MOVWF 7A -  
1504 0508: BTFSC 03.0 -  
1505 0509: INCF 7A,F -  
1506 050A: MOVLW 10 -  
1507 050B: ADDWF 21,W 1295 0451: ADDWF 49,W
1508 050C: MOVWF 04 1296 0452: MOVWF 04
1509 050D: BSF 03.7 -  
1510 050E: MOVF 00,W 1297 0453: MOVF 00,W
1511 050F: ANDLW 7F 1298 0454: ANDLW 7F
1512 0510: MOVWF 2B 1299 0455: MOVWF 52
1513 0511: MOVF 78,W 1300 0456: MOVF 50,W
1514 0512: MOVWF 04 1301 0457: MOVWF 04
1515 0513: BCF 03.7 -  
1516 0514: BTFSC 7A.0 -  
1517 0515: BSF 03.7 -  
1518 0516: MOVF 2B,W 1302 0458: MOVF 52,W
1519 0517: MOVWF 00 1303 0459: MOVWF 00
1520 .................... odkl2 = odkl; //ulozeni odlk na dalsi pruchod 1304 .................... odkl2 = odkl; //ulozeni odlk na dalsi pruchod
1521 0518: MOVF 24,W 1305 045A: MOVF 4C,W
1522 0519: MOVWF 25 1306 045B: MOVWF 4D
1523 .................... pom3++; //inkrementace citace rotace 1307 .................... pom3++; //inkrementace citace rotace
1524 051A: INCF 23,F 1308 045C: INCF 4B,F
1525 .................... if (pom3 == 8) //kazdy 8my znak 1309 .................... if (pom3 == 8) //kazdy 8my znak
1526 051B: MOVF 23,W 1310 045D: MOVF 4B,W
1527 051C: SUBLW 08 1311 045E: SUBLW 08
1528 051D: BTFSS 03.2 1312 045F: BTFSS 03.2
1529 051E: GOTO 528 1313 0460: GOTO 469
1530 .................... { 1314 .................... {
1531 .................... pom3 = 0; //smaz citac 1315 .................... pom3 = 0; //smaz citac
1532 051F: CLRF 23 1316 0461: CLRF 4B
1533 .................... odp[pom+1] = odkl2; //uloz 8my znak vznikly z "prenosu" 1317 .................... odp[pom+1] = odkl2; //uloz 8my znak vznikly z "prenosu"
1534 0520: MOVLW 01 1318 0462: MOVLW 01
1535 0521: ADDWF 21,W 1319 0463: ADDWF 49,W
1536 0522: ADDLW 10 1320 0464: ADDLW 21
1537 0523: MOVWF 04 1321 0465: MOVWF 04
1538 0524: BSF 03.7 -  
1539 0525: MOVF 25,W 1322 0466: MOVF 4D,W
1540 0526: MOVWF 00 1323 0467: MOVWF 00
1541 .................... maskovadlo = 0; //smaz maskovadlo 1324 .................... maskovadlo = 0; //smaz maskovadlo
1542 0527: CLRF 26 1325 0468: CLRF 4E
1543 .................... } 1326 .................... }
1544 .................... } 1327 .................... }
1545 0528: INCF 21,F 1328 0469: INCF 49,F
1546 0529: GOTO 4B5 1329 046A: GOTO 414
1547 .................... odp[pom]='\0'; 1330 .................... odp[pom]='\0';
1548 052A: MOVLW 10 1331 046B: MOVLW 21
1549 052B: ADDWF 21,W 1332 046C: ADDWF 49,W
1550 052C: MOVWF 04 1333 046D: MOVWF 04
1551 052D: BSF 03.7 -  
1552 052E: CLRF 00 1334 046E: CLRF 00
1553 .................... 1335 ....................
1554 .................... /*lcd_gotoxy(1,3); 1336 .................... /*lcd_gotoxy(1,3);
1555 .................... printf(lcd_putc,"%u %u %u %u",odp[0],odp[1],odp[2],odp[3]); */ 1337 .................... printf(lcd_putc,"%u %u %u %u",odp[0],odp[1],odp[2],odp[3]); */
1556 .................... lcd_init(); 1338 .................... lcd_init();
1557 052F: CALL 189 1339 046F: CALL 184
1558 .................... lcd_gotoxy(1,1); 1340 .................... lcd_gotoxy(1,1);
1559 0530: MOVLW 01 1341 0470: MOVLW 01
1560 0531: BSF 03.5 -  
1561 0532: BSF 03.6 -  
1562 0533: MOVWF 1A 1342 0471: MOVWF 52
1563 0534: MOVWF 1B 1343 0472: MOVWF 53
1564 0535: BCF 03.5 -  
1565 0536: BCF 03.6 -  
1566 0537: CALL 23E 1344 0473: CALL 217
1567 .................... printf(lcd_putc,"\fPrijata SMS s textem",); 1345 .................... printf(lcd_putc,"\fPrijata SMS s textem");
1568 0538: CLRF 28 1346 0474: CLRF 50
1569 0539: MOVF 28,W 1347 0475: MOVF 50,W
1570 053A: CALL 062 1348 0476: CALL 067
1571 053B: INCF 28,F -  
1572 053C: MOVWF 77 1349 0477: IORLW 00
1573 053D: BSF 03.5 -  
1574 053E: BSF 03.6 1350 0478: BTFSC 03.2
1575 053F: MOVWF 19 1351 0479: GOTO 47E
1576 0540: BCF 03.5 1352 047A: INCF 50,F
1577 0541: BCF 03.6 1353 047B: MOVWF 51
1578 0542: CALL 273 1354 047C: CALL 23C
1579 0543: MOVLW 15 -  
1580 0544: SUBWF 28,W -  
1581 0545: BTFSS 03.2 -  
1582 0546: GOTO 539 1355 047D: GOTO 475
1583 .................... lcd_gotoxy(9,3); 1356 .................... lcd_gotoxy(9,3);
1584 0547: MOVLW 09 1357 047E: MOVLW 09
1585 0548: BSF 03.5 -  
1586 0549: BSF 03.6 -  
1587 054A: MOVWF 1A 1358 047F: MOVWF 52
1588 054B: MOVLW 03 1359 0480: MOVLW 03
1589 054C: MOVWF 1B 1360 0481: MOVWF 53
1590 054D: BCF 03.5 -  
1591 054E: BCF 03.6 -  
1592 054F: CALL 23E 1361 0482: CALL 217
1593 .................... printf(lcd_putc,"%s",odp); 1362 .................... printf(lcd_putc,"%s",odp);
1594 0550: MOVLW 10 1363 0483: MOVLW 21
1595 0551: MOVWF 04 1364 0484: MOVWF 04
1596 0552: BSF 03.7 -  
1597 0553: MOVLW 00 1365 0485: MOVLW 00
1598 0554: IORWF 00,W 1366 0486: IORWF 00,W
1599 0555: BTFSC 03.2 1367 0487: BTFSC 03.2
1600 0556: GOTO 56B 1368 0488: GOTO 492
1601 0557: CLRF 29 -  
1602 0558: MOVF 04,W 1369 0489: MOVF 04,W
1603 0559: MOVWF 28 1370 048A: MOVWF 50
1604 055A: BCF 29.0 -  
1605 055B: BTFSC 03.7 -  
1606 055C: BSF 29.0 -  
1607 055D: MOVF 00,W 1371 048B: MOVF 00,W
1608 055E: BSF 03.5 -  
1609 055F: BSF 03.6 -  
1610 0560: MOVWF 19 1372 048C: MOVWF 51
1611 0561: BCF 03.5 -  
1612 0562: BCF 03.6 -  
1613 0563: CALL 273 1373 048D: CALL 23C
1614 0564: MOVF 28,W 1374 048E: MOVF 50,W
1615 0565: MOVWF 04 1375 048F: MOVWF 04
1616 0566: BCF 03.7 -  
1617 0567: BTFSC 29.0 -  
1618 0568: BSF 03.7 -  
1619 0569: INCF 04,F 1376 0490: INCF 04,F
1620 056A: GOTO 553 1377 0491: GOTO 485
1621 .................... output_low(PIN_A4) ; 1378 .................... output_low(PIN_A4) ;
1622 056B: BSF 03.5 1379 0492: BSF 03.5
1623 056C: BCF 05.4 1380 0493: BCF 05.4
1624 056D: BCF 03.5 1381 0494: BCF 03.5
1625 056E: BCF 05.4 1382 0495: BCF 05.4
1626 .................... delay_ms(1000); 1383 .................... delay_ms(1000);
1627 056F: MOVLW 04 1384 0496: MOVLW 04
1628 0570: MOVWF 28 1385 0497: MOVWF 50
1629 0571: MOVLW FA 1386 0498: MOVLW FA
1630 0572: BSF 03.5 -  
1631 0573: BSF 03.6 -  
1632 0574: MOVWF 1A 1387 0499: MOVWF 52
1633 0575: BCF 03.5 -  
1634 0576: BCF 03.6 -  
1635 0577: CALL 119 1388 049A: CALL 126
1636 0578: DECFSZ 28,F 1389 049B: DECFSZ 50,F
1637 0579: GOTO 571 1390 049C: GOTO 498
1638 .................... output_high(PIN_A4); 1391 .................... output_high(PIN_A4);
1639 057A: BSF 03.5 1392 049D: BSF 03.5
1640 057B: BCF 05.4 1393 049E: BCF 05.4
1641 057C: BCF 03.5 1394 049F: BCF 03.5
1642 057D: BSF 05.4 1395 04A0: BSF 05.4
1643 .................... 1396 ....................
1644 .................... //!!! fprintf(MOBIL,"AT+CMGD=1\r"); //smaz prijatou SMSku 1397 .................... //!!! fprintf(MOBIL,"AT+CMGD=1\r"); //smaz prijatou SMSku
1645 .................... 1398 ....................
1646 .................... if (odp[0] > 64 && odp[0] < 91 ) 1399 .................... if (odp[0] > 64 && odp[0] < 91 )
1647 057E: BSF 03.6 -  
1648 057F: MOVF 10,W 1400 04A1: MOVF 21,W
1649 0580: SUBLW 40 1401 04A2: SUBLW 40
1650 0581: BTFSC 03.0 1402 04A3: BTFSC 03.0
1651 0582: GOTO 589 1403 04A4: GOTO 4AB
1652 0583: MOVF 10,W 1404 04A5: MOVF 21,W
1653 0584: SUBLW 5A 1405 04A6: SUBLW 5A
1654 0585: BTFSS 03.0 1406 04A7: BTFSS 03.0
1655 0586: GOTO 589 1407 04A8: GOTO 4AB
1656 .................... { 1408 .................... {
1657 .................... odp[0] += 32; 1409 .................... odp[0] += 32;
1658 0587: MOVLW 20 1410 04A9: MOVLW 20
1659 0588: ADDWF 10,F 1411 04AA: ADDWF 21,F
1660 .................... } 1412 .................... }
1661 .................... 1413 ....................
1662 .................... if (odp[1] > 64 && odp[1] < 91 ) 1414 .................... if (odp[1] > 64 && odp[1] < 91 )
1663 0589: MOVF 11,W 1415 04AB: MOVF 22,W
1664 058A: SUBLW 40 1416 04AC: SUBLW 40
1665 058B: BTFSC 03.0 1417 04AD: BTFSC 03.0
1666 058C: GOTO 593 1418 04AE: GOTO 4B5
1667 058D: MOVF 11,W 1419 04AF: MOVF 22,W
1668 058E: SUBLW 5A 1420 04B0: SUBLW 5A
1669 058F: BTFSS 03.0 1421 04B1: BTFSS 03.0
1670 0590: GOTO 593 1422 04B2: GOTO 4B5
1671 .................... { 1423 .................... {
1672 .................... odp[1] += 32; 1424 .................... odp[1] += 32;
1673 0591: MOVLW 20 1425 04B3: MOVLW 20
1674 0592: ADDWF 11,F 1426 04B4: ADDWF 22,F
1675 .................... } 1427 .................... }
1676 .................... 1428 ....................
1677 .................... if (odp[2] > 64 && odp[2] < 91 ) 1429 .................... if (odp[2] > 64 && odp[2] < 91 )
1678 0593: MOVF 12,W 1430 04B5: MOVF 23,W
1679 0594: SUBLW 40 1431 04B6: SUBLW 40
1680 0595: BTFSC 03.0 1432 04B7: BTFSC 03.0
1681 0596: GOTO 59D 1433 04B8: GOTO 4BF
1682 0597: MOVF 12,W 1434 04B9: MOVF 23,W
1683 0598: SUBLW 5A 1435 04BA: SUBLW 5A
1684 0599: BTFSS 03.0 1436 04BB: BTFSS 03.0
1685 059A: GOTO 59D 1437 04BC: GOTO 4BF
1686 .................... { 1438 .................... {
1687 .................... odp[2] += 32; 1439 .................... odp[2] += 32;
1688 059B: MOVLW 20 1440 04BD: MOVLW 20
1689 059C: ADDWF 12,F 1441 04BE: ADDWF 23,F
1690 .................... } 1442 .................... }
1691 .................... 1443 ....................
1692 .................... if (odp[3] > 64 && odp[3] < 91 ) 1444 .................... if (odp[3] > 64 && odp[3] < 91 )
1693 059D: MOVF 13,W 1445 04BF: MOVF 24,W
1694 059E: SUBLW 40 1446 04C0: SUBLW 40
1695 059F: BTFSC 03.0 1447 04C1: BTFSC 03.0
1696 05A0: GOTO 5A7 1448 04C2: GOTO 4C9
1697 05A1: MOVF 13,W 1449 04C3: MOVF 24,W
1698 05A2: SUBLW 5A 1450 04C4: SUBLW 5A
1699 05A3: BTFSS 03.0 1451 04C5: BTFSS 03.0
1700 05A4: GOTO 5A7 1452 04C6: GOTO 4C9
1701 .................... { 1453 .................... {
1702 .................... odp[3] += 32; 1454 .................... odp[3] += 32;
1703 05A5: MOVLW 20 1455 04C7: MOVLW 20
1704 05A6: ADDWF 13,F 1456 04C8: ADDWF 24,F
1705 .................... } 1457 .................... }
1706 .................... 1458 ....................
1707 .................... lcd_gotoxy(1,1); 1459 .................... lcd_gotoxy(1,1);
1708 05A7: MOVLW 01 1460 04C9: MOVLW 01
1709 05A8: BSF 03.5 -  
1710 05A9: MOVWF 1A 1461 04CA: MOVWF 52
1711 05AA: MOVWF 1B 1462 04CB: MOVWF 53
1712 05AB: BCF 03.5 -  
1713 05AC: BCF 03.6 -  
1714 05AD: CALL 23E 1463 04CC: CALL 217
1715 .................... printf(lcd_putc,"\f Odstraneni velkych",); 1464 .................... printf(lcd_putc,"\f Odstraneni velkych");
1716 05AE: CLRF 28 1465 04CD: CLRF 50
1717 05AF: MOVF 28,W 1466 04CE: MOVF 50,W
1718 05B0: CALL 07C 1467 04CF: CALL 081
1719 05B1: INCF 28,F -  
1720 05B2: MOVWF 77 1468 04D0: IORLW 00
1721 05B3: BSF 03.5 -  
1722 05B4: BSF 03.6 1469 04D1: BTFSC 03.2
1723 05B5: MOVWF 19 1470 04D2: GOTO 4D7
1724 05B6: BCF 03.5 1471 04D3: INCF 50,F
1725 05B7: BCF 03.6 1472 04D4: MOVWF 51
1726 05B8: CALL 273 1473 04D5: CALL 23C
1727 05B9: MOVLW 14 -  
1728 05BA: SUBWF 28,W -  
1729 05BB: BTFSS 03.2 -  
1730 05BC: GOTO 5AF 1474 04D6: GOTO 4CE
1731 .................... lcd_gotoxy(1,2); 1475 .................... lcd_gotoxy(1,2);
1732 05BD: MOVLW 01 1476 04D7: MOVLW 01
1733 05BE: BSF 03.5 -  
1734 05BF: BSF 03.6 -  
1735 05C0: MOVWF 1A 1477 04D8: MOVWF 52
1736 05C1: MOVLW 02 1478 04D9: MOVLW 02
1737 05C2: MOVWF 1B 1479 04DA: MOVWF 53
1738 05C3: BCF 03.5 -  
1739 05C4: BCF 03.6 -  
1740 05C5: CALL 23E 1480 04DB: CALL 217
1741 .................... printf(lcd_putc," pismen"); 1481 .................... printf(lcd_putc," pismen");
1742 05C6: CLRF 28 1482 04DC: CLRF 50
1743 05C7: MOVF 28,W 1483 04DD: MOVF 50,W
1744 05C8: CALL 095 1484 04DE: CALL 09A
1745 05C9: INCF 28,F -  
1746 05CA: MOVWF 77 1485 04DF: IORLW 00
1747 05CB: BSF 03.5 1486 04E0: BTFSC 03.2
1748 05CC: BSF 03.6 1487 04E1: GOTO 4E6
1749 05CD: MOVWF 19 -  
1750 05CE: BCF 03.5 1488 04E2: INCF 50,F
1751 05CF: BCF 03.6 1489 04E3: MOVWF 51
1752 05D0: CALL 273 1490 04E4: CALL 23C
1753 05D1: MOVLW 0D -  
1754 05D2: SUBWF 28,W -  
1755 05D3: BTFSS 03.2 -  
1756 05D4: GOTO 5C7 1491 04E5: GOTO 4DD
1757 .................... lcd_gotoxy(9,4); 1492 .................... lcd_gotoxy(9,4);
1758 05D5: MOVLW 09 1493 04E6: MOVLW 09
1759 05D6: BSF 03.5 -  
1760 05D7: BSF 03.6 -  
1761 05D8: MOVWF 1A 1494 04E7: MOVWF 52
1762 05D9: MOVLW 04 1495 04E8: MOVLW 04
1763 05DA: MOVWF 1B 1496 04E9: MOVWF 53
1764 05DB: BCF 03.5 -  
1765 05DC: BCF 03.6 -  
1766 05DD: CALL 23E 1497 04EA: CALL 217
1767 .................... printf(lcd_putc,"%s",odp); 1498 .................... printf(lcd_putc,"%s",odp);
1768 05DE: MOVLW 10 1499 04EB: MOVLW 21
1769 05DF: MOVWF 04 1500 04EC: MOVWF 04
1770 05E0: BSF 03.7 -  
1771 05E1: MOVLW 00 1501 04ED: MOVLW 00
1772 05E2: IORWF 00,W 1502 04EE: IORWF 00,W
1773 05E3: BTFSC 03.2 1503 04EF: BTFSC 03.2
1774 05E4: GOTO 5F9 1504 04F0: GOTO 4FA
1775 05E5: CLRF 29 -  
1776 05E6: MOVF 04,W 1505 04F1: MOVF 04,W
1777 05E7: MOVWF 28 1506 04F2: MOVWF 50
1778 05E8: BCF 29.0 -  
1779 05E9: BTFSC 03.7 -  
1780 05EA: BSF 29.0 -  
1781 05EB: MOVF 00,W 1507 04F3: MOVF 00,W
1782 05EC: BSF 03.5 -  
1783 05ED: BSF 03.6 -  
1784 05EE: MOVWF 19 1508 04F4: MOVWF 51
1785 05EF: BCF 03.5 -  
1786 05F0: BCF 03.6 -  
1787 05F1: CALL 273 1509 04F5: CALL 23C
1788 05F2: MOVF 28,W 1510 04F6: MOVF 50,W
1789 05F3: MOVWF 04 1511 04F7: MOVWF 04
1790 05F4: BCF 03.7 -  
1791 05F5: BTFSC 29.0 -  
1792 05F6: BSF 03.7 -  
1793 05F7: INCF 04,F 1512 04F8: INCF 04,F
1794 05F8: GOTO 5E1 1513 04F9: GOTO 4ED
1795 .................... output_low(PIN_A4) ; 1514 .................... output_low(PIN_A4) ;
1796 05F9: BSF 03.5 1515 04FA: BSF 03.5
1797 05FA: BCF 05.4 1516 04FB: BCF 05.4
1798 05FB: BCF 03.5 1517 04FC: BCF 03.5
1799 05FC: BCF 05.4 1518 04FD: BCF 05.4
1800 .................... delay_ms(1000); 1519 .................... delay_ms(1000);
1801 05FD: MOVLW 04 1520 04FE: MOVLW 04
1802 05FE: MOVWF 28 1521 04FF: MOVWF 50
1803 05FF: MOVLW FA 1522 0500: MOVLW FA
1804 0600: BSF 03.5 -  
1805 0601: BSF 03.6 -  
1806 0602: MOVWF 1A 1523 0501: MOVWF 52
1807 0603: BCF 03.5 -  
1808 0604: BCF 03.6 -  
1809 0605: CALL 119 1524 0502: CALL 126
1810 0606: DECFSZ 28,F 1525 0503: DECFSZ 50,F
1811 0607: GOTO 5FF 1526 0504: GOTO 500
1812 .................... output_high(PIN_A4); 1527 .................... output_high(PIN_A4);
1813 0608: BSF 03.5 1528 0505: BSF 03.5
1814 0609: BCF 05.4 1529 0506: BCF 05.4
1815 060A: BCF 03.5 1530 0507: BCF 03.5
1816 060B: BSF 05.4 1531 0508: BSF 05.4
1817 .................... 1532 ....................
1818 .................... 1533 ....................
1819 .................... //!!!KAKL 1534 .................... //!!!KAKL
1820 .................... fprintf(VRTULE,"%s",odp); 1535 .................... fprintf(VRTULE,"%s",odp);
1821 060C: MOVLW 10 1536 0509: MOVLW 21
1822 060D: MOVWF 04 1537 050A: MOVWF 04
1823 060E: BSF 03.7 -  
1824 060F: MOVLW 00 1538 050B: MOVLW 00
1825 0610: IORWF 00,W 1539 050C: IORWF 00,W
1826 0611: BTFSC 03.2 1540 050D: BTFSC 03.2
1827 0612: GOTO 627 1541 050E: GOTO 518
1828 0613: CLRF 29 -  
1829 0614: MOVF 04,W 1542 050F: MOVF 04,W
1830 0615: MOVWF 28 1543 0510: MOVWF 50
1831 0616: BCF 29.0 -  
1832 0617: BTFSC 03.7 -  
1833 0618: BSF 29.0 -  
1834 0619: MOVF 00,W 1544 0511: MOVF 00,W
1835 061A: BSF 03.5 -  
1836 061B: BSF 03.6 -  
1837 061C: MOVWF 19 1545 0512: MOVWF 51
1838 061D: BCF 03.5 -  
1839 061E: BCF 03.6 -  
1840 061F: GOTO 2C2 1546 0513: GOTO 26F
1841 0620: MOVF 28,W 1547 0514: MOVF 50,W
1842 0621: MOVWF 04 1548 0515: MOVWF 04
1843 0622: BCF 03.7 -  
1844 0623: BTFSC 29.0 -  
1845 0624: BSF 03.7 -  
1846 0625: INCF 04,F 1549 0516: INCF 04,F
1847 0626: GOTO 60F 1550 0517: GOTO 50B
1848 .................... 1551 ....................
1849 .................... 1552 ....................
1850 .................... if (odp[0] == 122 && odp[1] == 97 && odp[2] == 112 && odp[3] == 49) //odp=="zap1" 1553 .................... if (odp[0] == 122 && odp[1] == 97 && odp[2] == 112 && odp[3] == 49) //odp=="zap1"
1851 0627: BSF 03.6 -  
1852 0628: MOVF 10,W 1554 0518: MOVF 21,W
1853 0629: SUBLW 7A 1555 0519: SUBLW 7A
1854 062A: BTFSS 03.2 1556 051A: BTFSS 03.2
1855 062B: GOTO 63C 1557 051B: GOTO 52A
1856 062C: MOVF 11,W 1558 051C: MOVF 22,W
1857 062D: SUBLW 61 1559 051D: SUBLW 61
1858 062E: BTFSS 03.2 1560 051E: BTFSS 03.2
1859 062F: GOTO 63C 1561 051F: GOTO 52A
1860 0630: MOVF 12,W 1562 0520: MOVF 23,W
1861 0631: SUBLW 70 1563 0521: SUBLW 70
1862 0632: BTFSS 03.2 1564 0522: BTFSS 03.2
1863 0633: GOTO 63C 1565 0523: GOTO 52A
1864 0634: MOVF 13,W 1566 0524: MOVF 24,W
1865 0635: SUBLW 31 1567 0525: SUBLW 31
1866 0636: BTFSS 03.2 1568 0526: BTFSS 03.2
1867 0637: GOTO 63C 1569 0527: GOTO 52A
1868 .................... { 1570 .................... {
1869 .................... status=1; 1571 .................... status=1;
1870 0638: MOVLW 01 1572 0528: MOVLW 01
1871 0639: BCF 03.6 -  
1872 063A: MOVWF 27 1573 0529: MOVWF 4F
1873 063B: BSF 03.6 -  
1874 .................... } 1574 .................... }
1875 .................... 1575 ....................
1876 .................... if (odp[0] == 118 && odp[1] == 121 && odp[2] == 112 && odp[3]== 49) //odp=="vyp1" 1576 .................... if (odp[0] == 118 && odp[1] == 121 && odp[2] == 112 && odp[3]== 49) //odp=="vyp1"
1877 063C: MOVF 10,W 1577 052A: MOVF 21,W
1878 063D: SUBLW 76 1578 052B: SUBLW 76
1879 063E: BTFSS 03.2 1579 052C: BTFSS 03.2
1880 063F: GOTO 650 1580 052D: GOTO 53C
1881 0640: MOVF 11,W 1581 052E: MOVF 22,W
1882 0641: SUBLW 79 1582 052F: SUBLW 79
1883 0642: BTFSS 03.2 1583 0530: BTFSS 03.2
1884 0643: GOTO 650 1584 0531: GOTO 53C
1885 0644: MOVF 12,W 1585 0532: MOVF 23,W
1886 0645: SUBLW 70 1586 0533: SUBLW 70
1887 0646: BTFSS 03.2 1587 0534: BTFSS 03.2
1888 0647: GOTO 650 1588 0535: GOTO 53C
1889 0648: MOVF 13,W 1589 0536: MOVF 24,W
1890 0649: SUBLW 31 1590 0537: SUBLW 31
1891 064A: BTFSS 03.2 1591 0538: BTFSS 03.2
1892 064B: GOTO 650 1592 0539: GOTO 53C
1893 .................... { 1593 .................... {
1894 .................... status=2; 1594 .................... status=2;
1895 064C: MOVLW 02 1595 053A: MOVLW 02
1896 064D: BCF 03.6 -  
1897 064E: MOVWF 27 1596 053B: MOVWF 4F
1898 064F: BSF 03.6 -  
1899 .................... } 1597 .................... }
1900 .................... 1598 ....................
1901 .................... if (odp[0] == 97 && odp[1] == 104 && odp[2] == 111 && odp[3]== 106) //odp=="ahoj" 1599 .................... if (odp[0] == 97 && odp[1] == 104 && odp[2] == 111 && odp[3]== 106) //odp=="ahoj"
1902 0650: MOVF 10,W 1600 053C: MOVF 21,W
1903 0651: SUBLW 61 1601 053D: SUBLW 61
1904 0652: BTFSS 03.2 1602 053E: BTFSS 03.2
1905 0653: GOTO 664 1603 053F: GOTO 54E
1906 0654: MOVF 11,W 1604 0540: MOVF 22,W
1907 0655: SUBLW 68 1605 0541: SUBLW 68
1908 0656: BTFSS 03.2 1606 0542: BTFSS 03.2
1909 0657: GOTO 664 1607 0543: GOTO 54E
1910 0658: MOVF 12,W 1608 0544: MOVF 23,W
1911 0659: SUBLW 6F 1609 0545: SUBLW 6F
1912 065A: BTFSS 03.2 1610 0546: BTFSS 03.2
1913 065B: GOTO 664 1611 0547: GOTO 54E
1914 065C: MOVF 13,W 1612 0548: MOVF 24,W
1915 065D: SUBLW 6A 1613 0549: SUBLW 6A
1916 065E: BTFSS 03.2 1614 054A: BTFSS 03.2
1917 065F: GOTO 664 1615 054B: GOTO 54E
1918 .................... { 1616 .................... {
1919 .................... status=3; 1617 .................... status=3;
1920 0660: MOVLW 03 1618 054C: MOVLW 03
1921 0661: BCF 03.6 -  
1922 0662: MOVWF 27 1619 054D: MOVWF 4F
1923 0663: BSF 03.6 -  
1924 .................... } 1620 .................... }
1925 .................... 1621 ....................
1926 .................... switch (status) 1622 .................... switch (status)
1927 .................... { 1623 .................... {
1928 0664: BCF 03.6 -  
1929 0665: MOVF 27,W 1624 054E: MOVF 4F,W
1930 0666: XORLW 01 1625 054F: XORLW 01
1931 0667: BTFSC 03.2 1626 0550: BTFSC 03.2
1932 0668: GOTO 670 1627 0551: GOTO 559
1933 0669: XORLW 03 1628 0552: XORLW 03
1934 066A: BTFSC 03.2 1629 0553: BTFSC 03.2
1935 066B: GOTO 694 1630 0554: GOTO 577
1936 066C: XORLW 01 1631 0555: XORLW 01
1937 066D: BTFSC 03.2 1632 0556: BTFSC 03.2
1938 066E: GOTO 6B8 1633 0557: GOTO 595
1939 066F: GOTO 6D8 1634 0558: GOTO 5AF
1940 .................... 1635 ....................
1941 .................... case 1: output_low(zar1); 1636 .................... case 1: output_low(zar1);
1942 0670: BSF 03.5 1637 0559: BSF 03.5
1943 0671: BCF 05.3 1638 055A: BCF 05.3
1944 0672: BCF 03.5 1639 055B: BCF 03.5
1945 0673: BCF 05.3 1640 055C: BCF 05.3
1946 .................... printf(lcd_putc,"\f"); 1641 .................... printf(lcd_putc,"\f");
1947 0674: MOVLW 0C 1642 055D: CLRF 50
1948 0675: BSF 03.5 1643 055E: MOVF 50,W
1949 0676: BSF 03.6 1644 055F: CALL 0AC
1950 0677: MOVWF 19 1645 0560: IORLW 00
1951 0678: BCF 03.5 1646 0561: BTFSC 03.2
-   1647 0562: GOTO 567
1952 0679: BCF 03.6 1648 0563: INCF 50,F
-   1649 0564: MOVWF 51
1953 067A: CALL 273 1650 0565: CALL 23C
-   1651 0566: GOTO 55E
1954 .................... lcd_gotoxy(1,2); 1652 .................... lcd_gotoxy(1,2);
1955 067B: MOVLW 01 1653 0567: MOVLW 01
1956 067C: BSF 03.5 -  
1957 067D: BSF 03.6 -  
1958 067E: MOVWF 1A 1654 0568: MOVWF 52
1959 067F: MOVLW 02 1655 0569: MOVLW 02
1960 0680: MOVWF 1B 1656 056A: MOVWF 53
1961 0681: BCF 03.5 -  
1962 0682: BCF 03.6 -  
1963 0683: CALL 23E 1657 056B: CALL 217
1964 .................... printf(lcd_putc," Zapnuto zarizeni 1"); 1658 .................... printf(lcd_putc," Zapnuto zarizeni 1");
1965 0684: CLRF 28 1659 056C: CLRF 50
1966 0685: MOVF 28,W 1660 056D: MOVF 50,W
1967 0686: CALL 0A7 1661 056E: CALL 0B2
1968 0687: INCF 28,F -  
1969 0688: MOVWF 77 1662 056F: IORLW 00
1970 0689: BSF 03.5 1663 0570: BTFSC 03.2
1971 068A: BSF 03.6 1664 0571: GOTO 576
1972 068B: MOVWF 19 -  
1973 068C: BCF 03.5 1665 0572: INCF 50,F
1974 068D: BCF 03.6 1666 0573: MOVWF 51
1975 068E: CALL 273 1667 0574: CALL 23C
1976 068F: MOVLW 13 -  
1977 0690: SUBWF 28,W -  
1978 0691: BTFSS 03.2 -  
1979 0692: GOTO 685 1668 0575: GOTO 56D
1980 .................... break; 1669 .................... break;
1981 0693: GOTO 710 1670 0576: GOTO 5D8
1982 .................... 1671 ....................
1983 .................... case 2: output_high(zar1); 1672 .................... case 2: output_high(zar1);
1984 0694: BSF 03.5 1673 0577: BSF 03.5
1985 0695: BCF 05.3 1674 0578: BCF 05.3
1986 0696: BCF 03.5 1675 0579: BCF 03.5
1987 0697: BSF 05.3 1676 057A: BSF 05.3
1988 .................... printf(lcd_putc,"\f"); 1677 .................... printf(lcd_putc,"\f");
1989 0698: MOVLW 0C 1678 057B: CLRF 50
1990 0699: BSF 03.5 1679 057C: MOVF 50,W
1991 069A: BSF 03.6 1680 057D: CALL 0AC
1992 069B: MOVWF 19 1681 057E: IORLW 00
1993 069C: BCF 03.5 1682 057F: BTFSC 03.2
-   1683 0580: GOTO 585
1994 069D: BCF 03.6 1684 0581: INCF 50,F
-   1685 0582: MOVWF 51
1995 069E: CALL 273 1686 0583: CALL 23C
-   1687 0584: GOTO 57C
1996 .................... lcd_gotoxy(1,2); 1688 .................... lcd_gotoxy(1,2);
1997 069F: MOVLW 01 1689 0585: MOVLW 01
1998 06A0: BSF 03.5 -  
1999 06A1: BSF 03.6 -  
2000 06A2: MOVWF 1A 1690 0586: MOVWF 52
2001 06A3: MOVLW 02 1691 0587: MOVLW 02
2002 06A4: MOVWF 1B 1692 0588: MOVWF 53
2003 06A5: BCF 03.5 -  
2004 06A6: BCF 03.6 -  
2005 06A7: CALL 23E 1693 0589: CALL 217
2006 .................... printf(lcd_putc," Vypnuto zarizeni 1"); 1694 .................... printf(lcd_putc," Vypnuto zarizeni 1");
2007 06A8: CLRF 28 1695 058A: CLRF 50
2008 06A9: MOVF 28,W 1696 058B: MOVF 50,W
2009 06AA: CALL 0BF 1697 058C: CALL 0CA
2010 06AB: INCF 28,F -  
2011 06AC: MOVWF 77 1698 058D: IORLW 00
2012 06AD: BSF 03.5 -  
2013 06AE: BSF 03.6 1699 058E: BTFSC 03.2
2014 06AF: MOVWF 19 1700 058F: GOTO 594
2015 06B0: BCF 03.5 1701 0590: INCF 50,F
2016 06B1: BCF 03.6 1702 0591: MOVWF 51
2017 06B2: CALL 273 1703 0592: CALL 23C
2018 06B3: MOVLW 13 -  
2019 06B4: SUBWF 28,W -  
2020 06B5: BTFSS 03.2 -  
2021 06B6: GOTO 6A9 1704 0593: GOTO 58B
2022 .................... break; 1705 .................... break;
2023 06B7: GOTO 710 1706 0594: GOTO 5D8
2024 .................... 1707 ....................
2025 .................... case 3: printf(lcd_putc,"\f"); 1708 .................... case 3: printf(lcd_putc,"\f");
-   1709 0595: CLRF 50
2026 06B8: MOVLW 0C 1710 0596: MOVF 50,W
2027 06B9: BSF 03.5 1711 0597: CALL 0AC
-   1712 0598: IORLW 00
2028 06BA: BSF 03.6 1713 0599: BTFSC 03.2
2029 06BB: MOVWF 19 1714 059A: GOTO 59F
2030 06BC: BCF 03.5 1715 059B: INCF 50,F
2031 06BD: BCF 03.6 1716 059C: MOVWF 51
2032 06BE: CALL 273 1717 059D: CALL 23C
-   1718 059E: GOTO 596
2033 .................... lcd_gotoxy(1,2); 1719 .................... lcd_gotoxy(1,2);
2034 06BF: MOVLW 01 1720 059F: MOVLW 01
2035 06C0: BSF 03.5 -  
2036 06C1: BSF 03.6 -  
2037 06C2: MOVWF 1A 1721 05A0: MOVWF 52
2038 06C3: MOVLW 02 1722 05A1: MOVLW 02
2039 06C4: MOVWF 1B 1723 05A2: MOVWF 53
2040 06C5: BCF 03.5 -  
2041 06C6: BCF 03.6 -  
2042 06C7: CALL 23E 1724 05A3: CALL 217
2043 .................... printf(lcd_putc," Preji hezky den!"); 1725 .................... printf(lcd_putc," Preji hezky den!");
2044 06C8: CLRF 28 1726 05A4: CLRF 50
2045 06C9: MOVF 28,W 1727 05A5: MOVF 50,W
2046 06CA: CALL 0D7 1728 05A6: CALL 0E2
2047 06CB: INCF 28,F -  
2048 06CC: MOVWF 77 1729 05A7: IORLW 00
2049 06CD: BSF 03.5 -  
2050 06CE: BSF 03.6 1730 05A8: BTFSC 03.2
2051 06CF: MOVWF 19 1731 05A9: GOTO 5AE
2052 06D0: BCF 03.5 1732 05AA: INCF 50,F
2053 06D1: BCF 03.6 1733 05AB: MOVWF 51
2054 06D2: CALL 273 1734 05AC: CALL 23C
2055 06D3: MOVLW 12 -  
2056 06D4: SUBWF 28,W -  
2057 06D5: BTFSS 03.2 -  
2058 06D6: GOTO 6C9 1735 05AD: GOTO 5A5
2059 .................... break; 1736 .................... break;
2060 06D7: GOTO 710 1737 05AE: GOTO 5D8
2061 .................... 1738 ....................
2062 .................... default: printf(lcd_putc,"\f"); 1739 .................... default: printf(lcd_putc,"\f");
-   1740 05AF: CLRF 50
2063 06D8: MOVLW 0C 1741 05B0: MOVF 50,W
2064 06D9: BSF 03.5 1742 05B1: CALL 0AC
-   1743 05B2: IORLW 00
2065 06DA: BSF 03.6 1744 05B3: BTFSC 03.2
2066 06DB: MOVWF 19 1745 05B4: GOTO 5B9
2067 06DC: BCF 03.5 1746 05B5: INCF 50,F
2068 06DD: BCF 03.6 1747 05B6: MOVWF 51
2069 06DE: CALL 273 1748 05B7: CALL 23C
-   1749 05B8: GOTO 5B0
2070 .................... lcd_gotoxy(1,2); 1750 .................... lcd_gotoxy(1,2);
2071 06DF: MOVLW 01 1751 05B9: MOVLW 01
2072 06E0: BSF 03.5 -  
2073 06E1: BSF 03.6 -  
2074 06E2: MOVWF 1A 1752 05BA: MOVWF 52
2075 06E3: MOVLW 02 1753 05BB: MOVLW 02
2076 06E4: MOVWF 1B 1754 05BC: MOVWF 53
2077 06E5: BCF 03.5 -  
2078 06E6: BCF 03.6 -  
2079 06E7: CALL 23E 1755 05BD: CALL 217
2080 .................... printf(lcd_putc," Prikaz nebyl"); 1756 .................... printf(lcd_putc," Prikaz nebyl");
2081 06E8: CLRF 28 1757 05BE: CLRF 50
2082 06E9: MOVF 28,W 1758 05BF: MOVF 50,W
2083 06EA: CALL 0EE 1759 05C0: CALL 0F9
2084 06EB: INCF 28,F -  
2085 06EC: MOVWF 77 1760 05C1: IORLW 00
2086 06ED: BSF 03.5 -  
2087 06EE: BSF 03.6 1761 05C2: BTFSC 03.2
2088 06EF: MOVWF 19 1762 05C3: GOTO 5C8
2089 06F0: BCF 03.5 1763 05C4: INCF 50,F
2090 06F1: BCF 03.6 1764 05C5: MOVWF 51
2091 06F2: CALL 273 1765 05C6: CALL 23C
2092 06F3: MOVLW 10 -  
2093 06F4: SUBWF 28,W -  
2094 06F5: BTFSS 03.2 -  
2095 06F6: GOTO 6E9 1766 05C7: GOTO 5BF
2096 .................... lcd_gotoxy(1,3); 1767 .................... lcd_gotoxy(1,3);
2097 06F7: MOVLW 01 1768 05C8: MOVLW 01
2098 06F8: BSF 03.5 -  
2099 06F9: BSF 03.6 -  
2100 06FA: MOVWF 1A 1769 05C9: MOVWF 52
2101 06FB: MOVLW 03 1770 05CA: MOVLW 03
2102 06FC: MOVWF 1B 1771 05CB: MOVWF 53
2103 06FD: BCF 03.5 -  
2104 06FE: BCF 03.6 -  
2105 06FF: CALL 23E 1772 05CC: CALL 217
2106 .................... printf(lcd_putc," rozeznan"); 1773 .................... printf(lcd_putc," rozeznan");
2107 0700: CLRF 28 1774 05CD: CLRF 50
2108 0701: MOVF 28,W 1775 05CE: MOVF 50,W
2109 0702: CALL 106 1776 05CF: CALL 113
2110 0703: INCF 28,F -  
2111 0704: MOVWF 77 1777 05D0: IORLW 00
2112 0705: BSF 03.5 -  
2113 0706: BSF 03.6 1778 05D1: BTFSC 03.2
2114 0707: MOVWF 19 1779 05D2: GOTO 5D7
2115 0708: BCF 03.5 1780 05D3: INCF 50,F
2116 0709: BCF 03.6 1781 05D4: MOVWF 51
2117 070A: CALL 273 1782 05D5: CALL 23C
2118 070B: MOVLW 0E -  
2119 070C: SUBWF 28,W -  
2120 070D: BTFSS 03.2 -  
2121 070E: GOTO 701 1783 05D6: GOTO 5CE
2122 .................... break; 1784 .................... break;
2123 070F: GOTO 710 1785 05D7: GOTO 5D8
2124 .................... } 1786 .................... }
2125 .................... delay_ms(1000); 1787 .................... delay_ms(1000);
2126 0710: MOVLW 04 1788 05D8: MOVLW 04
2127 0711: MOVWF 28 1789 05D9: MOVWF 50
2128 0712: MOVLW FA 1790 05DA: MOVLW FA
2129 0713: BSF 03.5 -  
2130 0714: BSF 03.6 -  
2131 0715: MOVWF 1A 1791 05DB: MOVWF 52
2132 0716: BCF 03.5 -  
2133 0717: BCF 03.6 -  
2134 0718: CALL 119 1792 05DC: CALL 126
2135 0719: DECFSZ 28,F 1793 05DD: DECFSZ 50,F
2136 071A: GOTO 712 1794 05DE: GOTO 5DA
2137 .................... } 1795 .................... }
2138 .................... 1796 ....................
2139 .................... } 1797 .................... }
2140 071B: GOTO 353 1798 05DF: GOTO 2FE
2141 .................... } 1799 .................... }
2142 071C: SLEEP 1800 05E0: SLEEP
2143   1801  
2144 Configuration Fuses: 1802 Configuration Fuses:
2145 Word 1: 3F3A HS NOWDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT 1803 Word 1: 3F3A HS NOWDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT