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