Rev 241 Rev 245
Line 1... Line 1...
1 CCS PCM C Compiler, Version 3.245, 27853 11-V-08 12:42 1 CCS PCM C Compiler, Version 3.245, 27853 11-V-08 14:54
2   2  
3 Filename: D:\MLAB_E\projekty\rotacni_display\SW\infra\infra.lst 3 Filename: D:\MLAB_E\projekty\rotacni_display\SW\infra\infra.lst
4   4  
5 ROM used: 526 words (6%) 5 ROM used: 637 words (8%)
6 Largest free fragment is 2048 6 Largest free fragment is 2048
7 RAM used: 28 (16%) at main() level 7 RAM used: 28 (16%) at main() level
8 37 (21%) worst case 8 38 (22%) worst case
9 Stack: 3 worst case (2 in main + 1 for interrupts) 9 Stack: 3 worst case (2 in main + 1 for interrupts)
10   10  
11 * 11 *
12 0000: MOVLW 00 12 0000: MOVLW 00
13 0001: MOVWF 0A 13 0001: MOVWF 0A
14 0002: GOTO 181 14 0002: GOTO 1D7
15 0003: NOP 15 0003: NOP
16 0004: MOVWF 7F 16 0004: MOVWF 7F
17 0005: SWAPF 03,W 17 0005: SWAPF 03,W
18 0006: CLRF 03 18 0006: CLRF 03
19 0007: MOVWF 21 19 0007: MOVWF 21
Line 59... Line 59...
59 002F: SWAPF 7F,F 59 002F: SWAPF 7F,F
60 0030: SWAPF 7F,W 60 0030: SWAPF 7F,W
61 0031: RETFIE 61 0031: RETFIE
62 0032: BCF 0A.3 62 0032: BCF 0A.3
63 0033: BCF 0A.4 63 0033: BCF 0A.4
64 0034: GOTO 0ED 64 0034: GOTO 13B
65 .................... #include ".\infra.h" 65 .................... #include ".\infra.h"
66 .................... #include <16F877A.h> 66 .................... #include <16F877A.h>
67 .................... //////// Standard Header file for the PIC16F877A device //////////////// 67 .................... //////// Standard Header file for the PIC16F877A device ////////////////
68 .................... #device PIC16F877A 68 .................... #device PIC16F877A
69 .................... #list 69 .................... #list
Line 80... Line 80...
80 .................... #FUSES NOCPD //No EE protection 80 .................... #FUSES NOCPD //No EE protection
81 .................... #FUSES NOWRT //Program memory not write protected 81 .................... #FUSES NOWRT //Program memory not write protected
82 .................... 82 ....................
83 .................... #use delay(clock=4000000,RESTART_WDT) 83 .................... #use delay(clock=4000000,RESTART_WDT)
84 * 84 *
85 0104: MOVLW 39 85 0153: MOVLW 3A
86 0105: MOVWF 04 86 0154: MOVWF 04
87 0106: MOVF 00,W 87 0155: MOVF 00,W
88 0107: BTFSC 03.2 88 0156: BTFSC 03.2
89 0108: GOTO 11A 89 0157: GOTO 169
90 0109: MOVLW 01 90 0158: MOVLW 01
91 010A: MOVWF 78 91 0159: MOVWF 78
92 010B: MOVLW BF 92 015A: MOVLW BF
93 010C: MOVWF 77 93 015B: MOVWF 77
94 010D: CLRWDT 94 015C: CLRWDT
95 010E: DECFSZ 77,F 95 015D: DECFSZ 77,F
96 010F: GOTO 10D 96 015E: GOTO 15C
97 0110: DECFSZ 78,F 97 015F: DECFSZ 78,F
98 0111: GOTO 10B 98 0160: GOTO 15A
99 0112: MOVLW 4A 99 0161: MOVLW 4A
100 0113: MOVWF 77 100 0162: MOVWF 77
101 0114: DECFSZ 77,F 101 0163: DECFSZ 77,F
102 0115: GOTO 114 102 0164: GOTO 163
103 0116: NOP 103 0165: NOP
104 0117: CLRWDT 104 0166: CLRWDT
105 0118: DECFSZ 00,F 105 0167: DECFSZ 00,F
106 0119: GOTO 109 106 0168: GOTO 158
107 011A: BCF 0A.3 107 0169: BCF 0A.3
108 011B: BCF 0A.4 108 016A: BCF 0A.4
109 011C: GOTO 14E (RETURN) 109 016B: GOTO 1A4 (RETURN)
110 .................... #use rs232(baud=600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) 110 .................... #use rs232(baud=600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
111 .................... 111 ....................
112 .................... 112 ....................
113 .................... 113 ....................
-   114 ....................
114 .................... #define MAX_SLOVO 10 // Maximalni pocet znaku ve slovu 115 .................... #define MAX_SLOVO 10 // Maximalni pocet znaku ve slovu
115 .................... 116 ....................
116 .................... int8 napis[MAX_SLOVO+1]; 117 .................... int8 napis[MAX_SLOVO+1];
117 .................... int8 otacky; 118 .................... int8 otacky;
118 .................... 119 ....................
119 .................... const int8 logo[MAX_SLOVO+1]={'[','^','_','_',']',96,'^','_','_','a',0}; // [blesk] E4A [blesk] 120 .................... const int8 logo[MAX_SLOVO+1]={'[','[',92,'[','E','e','A','[',92,'[',0}; // [blesk] E4A [blesk]
120 .................... const int8 rok[MAX_SLOVO+1]={'[','[',92,'[','E',']','A','[',92,'[',0}; // 2004-2008 121 .................... const int8 rok[MAX_SLOVO+1]={'[','c','a','a','e',']','c','a','a','i',0}; // 2004-2008
121 .................... 122 ....................
122 .................... #int_RDA 123 .................... #int_RDA
123 .................... void RDA_isr(void) 124 .................... void RDA_isr(void)
124 .................... { 125 .................... {
125 .................... int n; 126 .................... int n;
126 .................... output_B(0x55); 127 .................... output_B(0x55);
127 * 128 *
128 00ED: BSF 03.5 129 013B: BSF 03.5
129 00EE: CLRF 06 130 013C: CLRF 06
130 00EF: MOVLW 55 131 013D: MOVLW 55
131 00F0: BCF 03.5 132 013E: BCF 03.5
132 00F1: MOVWF 06 133 013F: MOVWF 06
133 .................... for(n=0;n<MAX_SLOVO;n++) 134 .................... for(n=0;n<MAX_SLOVO;n++)
134 00F2: CLRF 3E 135 0140: CLRF 3F
135 00F3: MOVF 3E,W 136 0141: MOVF 3F,W
136 00F4: SUBLW 09 137 0142: SUBLW 09
137 00F5: BTFSS 03.0 138 0143: BTFSS 03.0
138 00F6: GOTO 100 139 0144: GOTO 14E
139 .................... { 140 .................... {
140 .................... napis[n]=getc(); 141 .................... napis[n]=getc();
141 00F7: MOVLW 28 142 0145: MOVLW 28
142 00F8: ADDWF 3E,W 143 0146: ADDWF 3F,W
143 00F9: MOVWF 04 144 0147: MOVWF 04
144 00FA: BTFSS 0C.5 145 0148: BTFSS 0C.5
145 00FB: GOTO 0FA 146 0149: GOTO 148
146 00FC: MOVF 1A,W 147 014A: MOVF 1A,W
147 00FD: MOVWF 00 148 014B: MOVWF 00
148 .................... } 149 .................... }
149 00FE: INCF 3E,F 150 014C: INCF 3F,F
150 00FF: GOTO 0F3 151 014D: GOTO 141
-   152 .................... otacky=0;
-   153 014E: CLRF 33
151 .................... } 154 .................... }
152 .................... 155 ....................
153 0100: BCF 0C.5 156 014F: BCF 0C.5
154 0101: BCF 0A.3 157 0150: BCF 0A.3
155 0102: BCF 0A.4 158 0151: BCF 0A.4
156 0103: GOTO 01F 159 0152: GOTO 01F
157 .................... void LED_print() 160 .................... void LED_print()
158 .................... { 161 .................... {
159 .................... unsigned int slovo,pismeno,sloupec,j; 162 .................... unsigned int slovo,pismeno,sloupec,j;
160 .................... 163 ....................
161 .................... const int8 pis[33*5]={0b00000001,0b11110110,0b11110110,0b11110110,0b00000001, //A 164 .................... const int8 pis[45*5]={0b00000001,0b11110110,0b11110110,0b11110110,0b00000001, // A
162 .................... 0b00000000,0b01110110,0b01110110,0b01110110,0b10001001, //B 165 .................... 0b00000000,0b01110110,0b01110110,0b01110110,0b10001001, // B
163 .................... 0b10000001,0b01111110,0b01111110,0b01111110,0b10111101, //C 166 .................... 0b10000001,0b01111110,0b01111110,0b01111110,0b10111101, // C
164 .................... 0b00000000,0b01111110,0b01111110,0b01111110,0b10000001, //D 167 .................... 0b00000000,0b01111110,0b01111110,0b01111110,0b10000001, // D
165 .................... 0b00000000,0b01110110,0b01110110,0b01111110,0b01111110, //E 168 .................... 0b00000000,0b01110110,0b01110110,0b01111110,0b01111110, // E
166 .................... 0b00000000,0b11110110,0b11110110,0b11111110,0b11111110, //F 169 .................... 0b00000000,0b11110110,0b11110110,0b11111110,0b11111110, // F
167 .................... 0b10000001,0b01111110,0b01110110,0b01110110,0b10000101, //G 170 .................... 0b10000001,0b01111110,0b01110110,0b01110110,0b10000101, // G
168 .................... 0b00000000,0b11110111,0b11110111,0b11110111,0b00000000, //H 171 .................... 0b00000000,0b11110111,0b11110111,0b11110111,0b00000000, // H
169 .................... 0b01111110,0b01111110,0b00000000,0b01111110,0b01111110, //I 172 .................... 0b01111110,0b01111110,0b00000000,0b01111110,0b01111110, // I
170 .................... 0b10111110,0b01111110,0b01111110,0b01111110,0b10000000, //J 173 .................... 0b10111110,0b01111110,0b01111110,0b01111110,0b10000000, // J
171 .................... 0b00000000,0b11110111,0b11110111,0b11101011,0b00011100, //K 174 .................... 0b00000000,0b11110111,0b11110111,0b11101011,0b00011100, // K
172 .................... 0b00000000,0b01111111,0b01111111,0b01111111,0b01111111, //L 175 .................... 0b00000000,0b01111111,0b01111111,0b01111111,0b01111111, // L
173 .................... 0b00000000,0b11111110,0b11110000,0b11111110,0b00000000, //M 176 .................... 0b00000000,0b11111110,0b11110000,0b11111110,0b00000000, // M
174 .................... 0b00000000,0b11101111,0b11011111,0b10111111,0b00000000, //N 177 .................... 0b00000000,0b11101111,0b11011111,0b10111111,0b00000000, // N
175 .................... 0b10000001,0b01111110,0b01111110,0b01111110,0b10000001, //O 178 .................... 0b10000001,0b01111110,0b01111110,0b01111110,0b10000001, // O
176 .................... 0b00000000,0b11110110,0b11110110,0b11110110,0b11111001, //P 179 .................... 0b00000000,0b11110110,0b11110110,0b11110110,0b11111001, // P
177 .................... 0b10000001,0b01111110,0b01111110,0b01111110,0b00000001, //Q 180 .................... 0b10000001,0b01111110,0b01111110,0b01111110,0b00000001, // Q
178 .................... 0b00000000,0b11110110,0b11110110,0b11110110,0b00001001, //R 181 .................... 0b00000000,0b11110110,0b11110110,0b11110110,0b00001001, // R
179 .................... 0b10111001,0b01110110,0b01110110,0b01110110,0b10001101, //S 182 .................... 0b10111001,0b01110110,0b01110110,0b01110110,0b10001101, // S
180 .................... 0b11111110,0b11111110,0b00000000,0b11111110,0b11111110, //T 183 .................... 0b11111110,0b11111110,0b00000000,0b11111110,0b11111110, // T
181 .................... 0b10000000,0b01111111,0b01111111,0b01111111,0b10000000, //U 184 .................... 0b10000000,0b01111111,0b01111111,0b01111111,0b10000000, // U
182 .................... 0b11000000,0b10111111,0b01111111,0b10111111,0b11000000, //V 185 .................... 0b11000000,0b10111111,0b01111111,0b10111111,0b11000000, // V
183 .................... 0b10000000,0b01111111,0b10000000,0b01111111,0b10000000, //W 186 .................... 0b10000000,0b01111111,0b10000000,0b01111111,0b10000000, // W
184 .................... 0b00011100,0b11101011,0b11110111,0b11101011,0b00011100, //X 187 .................... 0b00011100,0b11101011,0b11110111,0b11101011,0b00011100, // X
185 .................... 0b11111000,0b11110111,0b00000111,0b11110111,0b11111000, //Y 188 .................... 0b11111000,0b11110111,0b00000111,0b11110111,0b11111000, // Y
186 .................... 0b00011110,0b01101110,0b01110110,0b01111010,0b01111100, //Z 189 .................... 0b00011110,0b01101110,0b01110110,0b01111010,0b01111100, // Z
187 .................... 0b11111111,0b11111111,0b11111111,0b11111111,0b11111111, //mezera 190 .................... 0b11111111,0b11111111,0b11111111,0b11111111,0b11111111, // mezera [ 91
188 .................... 0b00010111,0b00110011,0b01010101,0b11100110,0b11110111, //blesk 191 .................... 0b00010111,0b00110011,0b01010101,0b11100110,0b11110111, // blesk \ 92
189 .................... 0b11110000,0b11110111,0b11110111,0b00000001,0b11110111, //4 192 .................... 0b11110111,0b11110111,0b11110111,0b11110111,0b11110111, // - ] 93
-   193 .................... 0b11111111,0b11111111,0b01111111,0b11111111,0b11111111, // . ^ 94
-   194 .................... 0b11111100,0b11110000,0b01000000,0b11110000,0b11111100, // ! _ 95
190 .................... 0b00111101,0b01011110,0b01101110,0b01110110,0b01111001, //2 195 .................... 0b11111101,0b11111110,0b01001110,0b11110110,0b11111001, // ? ` 96
191 .................... 0b00000000,0b01111110,0b01111110,0b01111110,0b00000000, //0 196 .................... 0b00000000,0b01111110,0b01111110,0b01111110,0b00000000, // 0 a
-   197 .................... 0b01111011,0b01111101,0b00000000,0b01111111,0b01111111, // 1 b
-   198 .................... 0b00111101,0b01011110,0b01101110,0b01110110,0b01111001, // 2 c
-   199 .................... 0b10111101,0b01111110,0b01110110,0b01110110,0b10001001, // 3 d
192 .................... 0b11110111,0b11110111,0b11110111,0b11110111,0b11110111, //pomlka 200 .................... 0b11110000,0b11110111,0b11110111,0b00000001,0b11110111, // 4 e
-   201 .................... 0b10111000,0b01110110,0b01110110,0b01110110,0b10001110, // 5 f
-   202 .................... 0b10000001,0b01110110,0b01110110,0b01110110,0b10001101, // 6 g
-   203 .................... 0b11111110,0b11111110,0b00001110,0b11110110,0b11111000, // 7 h
193 .................... 0b10001001,0b01110110,0b01110110,0b01110110,0b10001001, //8 204 .................... 0b10001001,0b01110110,0b01110110,0b01110110,0b10001001, // 8 i
-   205 .................... 0b10111001,0b01110110,0b01110110,0b01110110,0b10000001, // 9 j
-   206 .................... 0b11111111,0b01111110,0b10111101,0b11000011,0b11111111, // ) k
-   207 .................... 0b11111111,0b11000011,0b10111101,0b01111110,0b11111111, // ( l
-   208 .................... 0b11111111,0b11111111,0b11111111,0b11011011,0b11111111, // : m
194 .................... }; 209 .................... };
-   210 ....................
195 .................... while(read_adc()<9); // Cekani na magnet 211 .................... while(read_adc()<9); // Cekani na magnet
196 * 212 *
197 0144: BSF 1F.2 213 0193: BSF 1F.2
198 0145: BTFSC 1F.2 214 0194: BTFSC 1F.2
199 0146: GOTO 145 215 0195: GOTO 194
200 0147: MOVF 1E,W 216 0196: MOVF 1E,W
201 0148: SUBLW 08 217 0197: SUBLW 08
202 0149: BTFSC 03.0 218 0198: BTFSC 03.0
203 014A: GOTO 144 219 0199: GOTO 193
204 .................... delay_ms(10); 220 .................... while(read_adc()>50); // Cekani na opusteni magnetu
-   221 019A: BSF 1F.2
-   222 019B: BTFSC 1F.2
-   223 019C: GOTO 19B
-   224 019D: MOVF 1E,W
-   225 019E: SUBLW 32
-   226 019F: BTFSS 03.0
-   227 01A0: GOTO 19A
-   228 .................... delay_ms(7); //cekani, na dostatecni odstup od magnetu, pred zacatkem psani textu
205 014B: MOVLW 0A 229 01A1: MOVLW 07
206 014C: MOVWF 39 230 01A2: MOVWF 3A
207 014D: GOTO 104 231 01A3: GOTO 153
208 .................... 232 ....................
209 .................... for(pismeno=0;pismeno<MAX_SLOVO;pismeno++) 233 .................... for(pismeno=0;pismeno<MAX_SLOVO;pismeno++)
210 014E: CLRF 36 234 01A4: CLRF 37
211 014F: MOVF 36,W 235 01A5: MOVF 37,W
212 0150: SUBLW 09 236 01A6: SUBLW 09
213 0151: BTFSS 03.0 237 01A7: BTFSS 03.0
214 0152: GOTO 17E 238 01A8: GOTO 1D4
215 .................... { 239 .................... {
216 .................... for(sloupec=0;sloupec<5;sloupec++) 240 .................... for(sloupec=0;sloupec<5;sloupec++)
217 0153: CLRF 37 241 01A9: CLRF 38
218 0154: MOVF 37,W 242 01AA: MOVF 38,W
219 0155: SUBLW 04 243 01AB: SUBLW 04
220 0156: BTFSS 03.0 244 01AC: BTFSS 03.0
221 0157: GOTO 172 245 01AD: GOTO 1C8
222 .................... { 246 .................... {
223 .................... output_B(pis[(napis[pismeno]-0x41)*5+sloupec]); 247 .................... output_B(pis[(napis[pismeno]-0x41)*5+sloupec]);
224 0158: MOVLW 28 248 01AE: MOVLW 28
225 0159: ADDWF 36,W 249 01AF: ADDWF 37,W
226 015A: MOVWF 04 250 01B0: MOVWF 04
227 015B: MOVLW 41 251 01B1: MOVLW 41
228 015C: SUBWF 00,W 252 01B2: SUBWF 00,W
229 015D: MOVWF 3B 253 01B3: MOVWF 3C
230 015E: MOVWF 3C 254 01B4: MOVWF 3D
231 015F: MOVLW 05 255 01B5: MOVLW 05
232 0160: MOVWF 3D 256 01B6: MOVWF 3E
233 0161: GOTO 11D 257 01B7: GOTO 16C
234 0162: MOVF 37,W 258 01B8: MOVF 38,W
235 0163: ADDWF 78,W 259 01B9: ADDWF 78,W
236 0164: CALL 044 260 01BA: CALL 053
237 0165: MOVWF 39 261 01BB: MOVWF 3A
238 0166: BSF 03.5 262 01BC: BSF 03.5
239 0167: CLRF 06 263 01BD: CLRF 06
240 0168: BCF 03.5 264 01BE: BCF 03.5
241 0169: MOVF 39,W 265 01BF: MOVF 3A,W
242 016A: MOVWF 06 266 01C0: MOVWF 06
243 .................... delay_us(500); 267 .................... delay_us(500);
244 016B: CLRWDT 268 01C1: CLRWDT
245 016C: MOVLW A6 269 01C2: MOVLW A6
246 016D: MOVWF 77 270 01C3: MOVWF 77
247 016E: DECFSZ 77,F 271 01C4: DECFSZ 77,F
248 016F: GOTO 16E 272 01C5: GOTO 1C4
249 .................... } 273 .................... }
250 0170: INCF 37,F 274 01C6: INCF 38,F
251 0171: GOTO 154 275 01C7: GOTO 1AA
252 .................... output_B(0xFF); 276 .................... output_B(0xFF);
253 0172: BSF 03.5 277 01C8: BSF 03.5
254 0173: CLRF 06 278 01C9: CLRF 06
255 0174: MOVLW FF 279 01CA: MOVLW FF
256 0175: BCF 03.5 280 01CB: BCF 03.5
257 0176: MOVWF 06 281 01CC: MOVWF 06
258 .................... delay_us(500); 282 .................... delay_us(500);
259 0177: CLRWDT 283 01CD: CLRWDT
260 0178: MOVLW A6 284 01CE: MOVLW A6
261 0179: MOVWF 77 285 01CF: MOVWF 77
262 017A: DECFSZ 77,F 286 01D0: DECFSZ 77,F
263 017B: GOTO 17A 287 01D1: GOTO 1D0
264 .................... } 288 .................... }
265 017C: INCF 36,F 289 01D2: INCF 37,F
266 017D: GOTO 14F 290 01D3: GOTO 1A5
267 .................... } 291 .................... }
268 017E: BCF 0A.3 292 01D4: BCF 0A.3
269 017F: BCF 0A.4 293 01D5: BCF 0A.4
270 0180: GOTO 1FC (RETURN) 294 01D6: GOTO 257 (RETURN)
271 .................... 295 ....................
272 .................... void main() 296 .................... void main()
273 .................... { 297 .................... {
274 0181: CLRF 04 298 01D7: CLRF 04
275 0182: MOVLW 1F 299 01D8: MOVLW 1F
276 0183: ANDWF 03,F 300 01D9: ANDWF 03,F
277 0184: MOVLW 67 301 01DA: MOVLW 67
278 0185: BSF 03.5 302 01DB: BSF 03.5
279 0186: MOVWF 19 303 01DC: MOVWF 19
280 0187: MOVLW 22 304 01DD: MOVLW 22
281 0188: MOVWF 18 305 01DE: MOVWF 18
282 0189: MOVLW 90 306 01DF: MOVLW 90
283 018A: BCF 03.5 307 01E0: BCF 03.5
284 018B: MOVWF 18 308 01E1: MOVWF 18
285 018C: BSF 03.5 309 01E2: BSF 03.5
286 018D: BSF 1F.0 310 01E3: BSF 1F.0
287 018E: BSF 1F.1 311 01E4: BSF 1F.1
288 018F: BSF 1F.2 312 01E5: BSF 1F.2
289 0190: BCF 1F.3 313 01E6: BCF 1F.3
290 0191: MOVLW 07 314 01E7: MOVLW 07
291 0192: MOVWF 1C 315 01E8: MOVWF 1C
292 .................... 316 ....................
293 .................... 317 ....................
294 .................... setup_adc_ports(AN0); 318 .................... setup_adc_ports(AN0);
295 * 319 *
296 0196: BSF 03.5 320 01EC: BSF 03.5
297 0197: BCF 1F.0 321 01ED: BCF 1F.0
298 0198: BSF 1F.1 322 01EE: BSF 1F.1
299 0199: BSF 1F.2 323 01EF: BSF 1F.2
300 019A: BSF 1F.3 324 01F0: BSF 1F.3
301 .................... setup_adc(ADC_CLOCK_INTERNAL); 325 .................... setup_adc(ADC_CLOCK_INTERNAL);
302 019B: BCF 1F.6 326 01F1: BCF 1F.6
303 019C: BCF 03.5 327 01F2: BCF 03.5
304 019D: BSF 1F.6 328 01F3: BSF 1F.6
305 019E: BSF 1F.7 329 01F4: BSF 1F.7
306 019F: BSF 03.5 330 01F5: BSF 03.5
307 01A0: BCF 1F.7 331 01F6: BCF 1F.7
308 01A1: BCF 03.5 332 01F7: BCF 03.5
309 01A2: BSF 1F.0 333 01F8: BSF 1F.0
310 .................... setup_psp(PSP_DISABLED); 334 .................... setup_psp(PSP_DISABLED);
311 01A3: BSF 03.5 335 01F9: BSF 03.5
312 01A4: BCF 09.4 336 01FA: BCF 09.4
313 .................... setup_spi(SPI_SS_DISABLED); 337 .................... setup_spi(SPI_SS_DISABLED);
314 * 338 *
315 0193: MOVLW FF 339 01E9: MOVLW FF
316 0194: BCF 03.5 340 01EA: BCF 03.5
317 0195: MOVWF 34 341 01EB: MOVWF 34
318 * 342 *
319 01A5: BCF 03.5 343 01FB: BCF 03.5
320 01A6: BCF 14.5 344 01FC: BCF 14.5
321 01A7: BCF 34.5 345 01FD: BCF 34.5
322 01A8: MOVF 34,W 346 01FE: MOVF 34,W
323 01A9: BSF 03.5 347 01FF: BSF 03.5
324 01AA: MOVWF 07 348 0200: MOVWF 07
325 01AB: BCF 03.5 349 0201: BCF 03.5
326 01AC: BSF 34.4 350 0202: BSF 34.4
327 01AD: MOVF 34,W 351 0203: MOVF 34,W
328 01AE: BSF 03.5 352 0204: BSF 03.5
329 01AF: MOVWF 07 353 0205: MOVWF 07
330 01B0: BCF 03.5 354 0206: BCF 03.5
331 01B1: BCF 34.3 355 0207: BCF 34.3
332 01B2: MOVF 34,W 356 0208: MOVF 34,W
333 01B3: BSF 03.5 357 0209: BSF 03.5
334 01B4: MOVWF 07 358 020A: MOVWF 07
335 01B5: MOVLW 01 359 020B: MOVLW 01
336 01B6: BCF 03.5 360 020C: BCF 03.5
337 01B7: MOVWF 14 361 020D: MOVWF 14
338 01B8: MOVLW 00 362 020E: MOVLW 00
339 01B9: BSF 03.5 363 020F: BSF 03.5
340 01BA: MOVWF 14 364 0210: MOVWF 14
341 .................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 365 .................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
342 01BB: MOVF 01,W 366 0211: MOVF 01,W
343 01BC: ANDLW C7 367 0212: ANDLW C7
344 01BD: IORLW 08 368 0213: IORLW 08
345 01BE: MOVWF 01 369 0214: MOVWF 01
346 .................... setup_wdt(WDT_2304MS); 370 .................... setup_wdt(WDT_2304MS);
347 01BF: MOVLW 0F 371 0215: MOVLW 0F
348 01C0: MOVWF 77 372 0216: MOVWF 77
349 01C1: MOVLW 07 373 0217: MOVLW 07
350 01C2: BCF 03.5 374 0218: BCF 03.5
351 01C3: CLRF 01 375 0219: CLRF 01
352 01C4: MOVLW 81 376 021A: MOVLW 81
353 01C5: MOVWF 04 377 021B: MOVWF 04
354 01C6: MOVF 00,W 378 021C: MOVF 00,W
355 01C7: ANDLW F0 379 021D: ANDLW F0
356 01C8: IORLW 07 380 021E: IORLW 07
357 01C9: MOVWF 00 381 021F: MOVWF 00
358 01CA: CLRWDT 382 0220: CLRWDT
359 01CB: MOVF 00,W 383 0221: MOVF 00,W
360 01CC: ANDLW F7 384 0222: ANDLW F7
361 01CD: BTFSC 77.3 385 0223: BTFSC 77.3
362 01CE: ANDLW F0 386 0224: ANDLW F0
363 01CF: IORWF 77,W 387 0225: IORWF 77,W
364 01D0: MOVWF 00 388 0226: MOVWF 00
365 .................... setup_timer_1(T1_DISABLED); 389 .................... setup_timer_1(T1_DISABLED);
366 01D1: CLRF 10 390 0227: CLRF 10
367 .................... setup_timer_2(T2_DISABLED,0,1); 391 .................... setup_timer_2(T2_DISABLED,0,1);
368 01D2: MOVLW 00 392 0228: MOVLW 00
369 01D3: MOVWF 78 393 0229: MOVWF 78
370 01D4: MOVWF 12 394 022A: MOVWF 12
371 01D5: MOVLW 00 395 022B: MOVLW 00
372 01D6: BSF 03.5 396 022C: BSF 03.5
373 01D7: MOVWF 12 397 022D: MOVWF 12
374 .................... setup_comparator(NC_NC_NC_NC); 398 .................... setup_comparator(NC_NC_NC_NC);
375 01D8: MOVLW 07 399 022E: MOVLW 07
376 01D9: MOVWF 1C 400 022F: MOVWF 1C
377 01DA: MOVF 05,W 401 0230: MOVF 05,W
378 01DB: CLRWDT 402 0231: CLRWDT
379 01DC: MOVLW 02 403 0232: MOVLW 02
380 01DD: MOVWF 77 404 0233: MOVWF 77
381 01DE: DECFSZ 77,F 405 0234: DECFSZ 77,F
382 01DF: GOTO 1DE 406 0235: GOTO 234
383 01E0: NOP 407 0236: NOP
384 01E1: NOP 408 0237: NOP
385 01E2: MOVF 1C,W 409 0238: MOVF 1C,W
386 01E3: BCF 03.5 410 0239: BCF 03.5
387 01E4: BCF 0D.6 411 023A: BCF 0D.6
388 .................... setup_vref(FALSE); 412 .................... setup_vref(FALSE);
389 01E5: BSF 03.5 413 023B: BSF 03.5
390 01E6: CLRF 1D 414 023C: CLRF 1D
391 .................... 415 ....................
392 .................... enable_interrupts(INT_RDA); 416 .................... enable_interrupts(INT_RDA);
393 01E7: BSF 0C.5 417 023D: BSF 0C.5
394 .................... enable_interrupts(GLOBAL); 418 .................... enable_interrupts(GLOBAL);
395 01E8: MOVLW C0 419 023E: MOVLW C0
396 01E9: BCF 03.5 420 023F: BCF 03.5
397 01EA: IORWF 0B,F 421 0240: IORWF 0B,F
398 .................... 422 ....................
399 .................... set_adc_channel(0); // Prevodnik pro Hall 423 .................... set_adc_channel(0); // Prevodnik pro Hall
400 01EB: MOVLW 00 424 0241: MOVLW 00
401 01EC: MOVWF 78 425 0242: MOVWF 78
402 01ED: MOVF 1F,W 426 0243: MOVF 1F,W
403 01EE: ANDLW C7 427 0244: ANDLW C7
404 01EF: IORWF 78,W 428 0245: IORWF 78,W
405 01F0: MOVWF 1F 429 0246: MOVWF 1F
406 .................... output_B(0xFF); // Zhasneme 430 .................... output_B(0xFF); // Zhasneme
407 01F1: BSF 03.5 431 0247: BSF 03.5
408 01F2: CLRF 06 432 0248: CLRF 06
409 01F3: MOVLW FF 433 0249: MOVLW FF
410 01F4: BCF 03.5 434 024A: BCF 03.5
411 01F5: MOVWF 06 435 024B: MOVWF 06
412 .................... 436 ....................
413 .................... otacky=0; 437 .................... otacky=0;
414 01F6: CLRF 33 438 024C: CLRF 33
415 .................... napis[0]=0; 439 .................... napis[0]=0;
416 01F7: CLRF 28 440 024D: CLRF 28
417 .................... 441 ....................
418 .................... while(TRUE) 442 .................... while(TRUE)
419 .................... { 443 .................... {
-   444 .................... int1 vyber;
-   445 ....................
-   446 .................... otacky++;
-   447 024E: INCF 33,F
-   448 ....................
420 .................... if (napis[0]!=0) 449 .................... if (napis[0]!=0 && otacky <= 30)
421 01F8: MOVF 28,F 450 024F: MOVF 28,F
422 01F9: BTFSC 03.2 451 0250: BTFSC 03.2
-   452 0251: GOTO 258
-   453 0252: MOVF 33,W
-   454 0253: SUBLW 1E
-   455 0254: BTFSS 03.0
423 01FA: GOTO 1FD 456 0255: GOTO 258
424 .................... { 457 .................... {
425 .................... LED_print(); 458 .................... LED_print();
426 01FB: GOTO 144 459 0256: GOTO 193
427 .................... } 460 .................... }
428 .................... else 461 .................... else
429 01FC: GOTO 20C 462 0257: GOTO 27B
430 .................... { 463 .................... {
431 .................... strcpy(napis,logo); 464 .................... if (vyber == 0) strcpy(napis,logo);
-   465 0258: BTFSC 35.0
-   466 0259: GOTO 26A
432 01FD: CLRF 35 467 025A: CLRF 36
433 01FE: CLRF 36 468 025B: CLRF 37
434 01FF: MOVLW 28 469 025C: MOVLW 28
435 0200: MOVWF 04 470 025D: MOVWF 04
436 0201: MOVF 35,W 471 025E: MOVF 36,W
437 0202: ADDWF 04,F 472 025F: ADDWF 04,F
438 0203: MOVF 36,W 473 0260: MOVF 37,W
439 0204: CALL 035 474 0261: CALL 035
440 0205: MOVWF 00 475 0262: MOVWF 00
441 0206: IORLW 00 476 0263: IORLW 00
442 0207: BTFSC 03.2 477 0264: BTFSC 03.2
-   478 0265: GOTO 269
-   479 0266: INCF 37,F
-   480 0267: INCF 36,F
443 0208: GOTO 20C 481 0268: GOTO 25C
-   482 .................... else strcpy(napis,rok);
-   483 0269: GOTO 279
-   484 026A: CLRF 36
-   485 026B: CLRF 37
-   486 026C: MOVLW 28
-   487 026D: MOVWF 04
-   488 026E: MOVF 36,W
-   489 026F: ADDWF 04,F
-   490 0270: MOVF 37,W
-   491 0271: CALL 044
-   492 0272: MOVWF 00
-   493 0273: IORLW 00
-   494 0274: BTFSC 03.2
-   495 0275: GOTO 279
444 0209: INCF 36,F 496 0276: INCF 37,F
445 020A: INCF 35,F 497 0277: INCF 36,F
446 020B: GOTO 1FF 498 0278: GOTO 26C
-   499 .................... vyber++;
-   500 0279: MOVLW 01
-   501 027A: XORWF 35,F
447 .................... } 502 .................... }
448 .................... } 503 .................... }
449 020C: GOTO 1F8 504 027B: GOTO 24E
450 .................... } 505 .................... }
451 020D: SLEEP 506 027C: SLEEP
452   507  
453 Configuration Fuses: 508 Configuration Fuses:
454 Word 1: 3F3D XT WDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT 509 Word 1: 3F3D XT WDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT