Rev 221 Rev 237
Line 1... Line 1...
1 CCS PCM C Compiler, Version 4.058s, 42064 03-V-08 12:38 1 CCS PCM C Compiler, Version 4.058s, 42064 06-V-08 13:28
2   2  
3 Filename: C:\RS\Prog\infra\infra.lst 3 Filename: C:\Documents and Settings\Administrator\Plocha\rotacni_display\SW\infra\infra.lst
4   4  
5 ROM used: 470 words (6%) 5 ROM used: 553 words (7%)
6 Largest free fragment is 2048 6 Largest free fragment is 2048
7 RAM used: 47 (13%) at main() level 7 RAM used: 48 (13%) at main() level
8 50 (14%) worst case 8 51 (14%) worst case
9 Stack: 2 worst case (1 in main + 1 for interrupts) 9 Stack: 2 worst case (1 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 111 14 0002: GOTO 136
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 0BB 64 0034: GOTO 0DE
65 .................... #include "C:\RS\Prog\infra\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
70 .................... 70 ....................
71 .................... #device adc=8 71 .................... #device adc=8
72 .................... 72 ....................
73 .................... #FUSES NOWDT //No Watch Dog Timer 73 .................... #FUSES WDT //Watch Dog Timer
74 .................... #FUSES XT //Crystal osc <= 4mhz 74 .................... #FUSES XT //Crystal osc <= 4mhz
75 .................... #FUSES NOPUT //No Power Up Timer 75 .................... #FUSES NOPUT //No Power Up Timer
76 .................... #FUSES NOPROTECT //Code not protected from reading 76 .................... #FUSES NOPROTECT //Code not protected from reading
77 .................... #FUSES NODEBUG //No Debug mode for ICD 77 .................... #FUSES NODEBUG //No Debug mode for ICD
78 .................... #FUSES NOBROWNOUT //No brownout reset 78 .................... #FUSES NOBROWNOUT //No brownout reset
79 .................... #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O 79 .................... #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
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 00F9: MOVLW 41 85 00F7: MOVLW 42
85 00FA: MOVWF 04 86 00F8: MOVWF 04
86 00FB: BCF 03.7 87 00F9: BCF 03.7
87 00FC: MOVF 00,W 88 00FA: MOVF 00,W
88 00FD: BTFSC 03.2 89 00FB: BTFSC 03.2
89 00FE: GOTO 110 90 00FC: GOTO 10E
90 00FF: MOVLW 01 91 00FD: MOVLW 01
91 0100: MOVWF 78 92 00FE: MOVWF 78
92 0101: MOVLW BF 93 00FF: MOVLW BF
93 0102: MOVWF 77 94 0100: MOVWF 77
94 0103: CLRWDT 95 0101: CLRWDT
95 0104: DECFSZ 77,F 96 0102: DECFSZ 77,F
96 0105: GOTO 103 97 0103: GOTO 101
97 0106: DECFSZ 78,F 98 0104: DECFSZ 78,F
98 0107: GOTO 101 99 0105: GOTO 0FF
99 0108: MOVLW 4A 100 0106: MOVLW 4A
100 0109: MOVWF 77 101 0107: MOVWF 77
101 010A: DECFSZ 77,F 102 0108: DECFSZ 77,F
102 010B: GOTO 10A 103 0109: GOTO 108
103 010C: NOP 104 010A: NOP
104 010D: CLRWDT 105 010B: CLRWDT
105 010E: DECFSZ 00,F 106 010C: DECFSZ 00,F
106 010F: GOTO 0FF 107 010D: GOTO 0FD
-   108 010E: BCF 0A.3
107 0110: RETLW 00 109 010F: BCF 0A.4
-   110 0110: GOTO 1E5 (RETURN)
108 .................... #use rs232(baud=600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) 111 .................... #use rs232(baud=600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
109 .................... 112 ....................
110 .................... 113 ....................
111 .................... 114 ....................
112 .................... #define MAX_SLOVO 10 // Maximalni pocet znaku ve slovu 115 .................... #define MAX_SLOVO 10 // Maximalni pocet znaku ve slovu
113 .................... 116 ....................
114 .................... int8 napis[2*MAX_SLOVO] ={'A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A'}; 117 .................... int8 napis[2*MAX_SLOVO] ={'[','[',92,'[','E',']','A','[',92,'[','[','^','_','_',']',96,'^','_','_','a'};
115 * 118 *
116 0124: MOVLW 41 119 0149: MOVLW 5B
117 0125: BCF 03.5 120 014A: BCF 03.5
118 0126: MOVWF 28 121 014B: MOVWF 28
119 0127: MOVWF 29 122 014C: MOVWF 29
-   123 014D: MOVLW 5C
120 0128: MOVWF 2A 124 014E: MOVWF 2A
-   125 014F: MOVLW 5B
121 0129: MOVWF 2B 126 0150: MOVWF 2B
-   127 0151: MOVLW 45
122 012A: MOVWF 2C 128 0152: MOVWF 2C
-   129 0153: MOVLW 5D
123 012B: MOVWF 2D 130 0154: MOVWF 2D
-   131 0155: MOVLW 41
124 012C: MOVWF 2E 132 0156: MOVWF 2E
-   133 0157: MOVLW 5B
125 012D: MOVWF 2F 134 0158: MOVWF 2F
-   135 0159: MOVLW 5C
126 012E: MOVWF 30 136 015A: MOVWF 30
-   137 015B: MOVLW 5B
127 012F: MOVWF 31 138 015C: MOVWF 31
128 0130: MOVWF 32 139 015D: MOVWF 32
-   140 015E: MOVLW 5E
129 0131: MOVWF 33 141 015F: MOVWF 33
-   142 0160: MOVLW 5F
130 0132: MOVWF 34 143 0161: MOVWF 34
131 0133: MOVWF 35 144 0162: MOVWF 35
-   145 0163: MOVLW 5D
132 0134: MOVWF 36 146 0164: MOVWF 36
-   147 0165: MOVLW 60
133 0135: MOVWF 37 148 0166: MOVWF 37
-   149 0167: MOVLW 5E
134 0136: MOVWF 38 150 0168: MOVWF 38
-   151 0169: MOVLW 5F
135 0137: MOVWF 39 152 016A: MOVWF 39
136 0138: MOVWF 3A 153 016B: MOVWF 3A
-   154 016C: MOVLW 61
137 0139: MOVWF 3B 155 016D: MOVWF 3B
-   156 .................... int8 otacky;
138 .................... 157 ....................
139 .................... #int_RDA 158 .................... #int_RDA
140 .................... void RDA_isr(void) 159 .................... void RDA_isr(void)
141 .................... { 160 .................... {
142 .................... int n; 161 .................... int n;
143 .................... output_B(0x55); 162 .................... output_B(0x55);
144 * 163 *
145 00BB: BSF 03.5 164 00DE: BSF 03.5
146 00BC: CLRF 06 165 00DF: CLRF 06
147 00BD: MOVLW 55 166 00E0: MOVLW 55
148 00BE: BCF 03.5 167 00E1: BCF 03.5
149 00BF: MOVWF 06 168 00E2: MOVWF 06
150 .................... for(n=0;n<(MAX_SLOVO*2);n++) 169 .................... for(n=0;n<(MAX_SLOVO*2);n++)
151 00C0: CLRF 49 170 00E3: CLRF 4A
152 00C1: MOVF 49,W 171 00E4: MOVF 4A,W
153 00C2: SUBLW 13 172 00E5: SUBLW 13
154 00C3: BTFSS 03.0 173 00E6: BTFSS 03.0
155 00C4: GOTO 0D0 174 00E7: GOTO 0F3
156 .................... { 175 .................... {
157 .................... napis[n]=getc(); 176 .................... napis[n]=getc();
158 00C5: MOVLW 28 177 00E8: MOVLW 28
159 00C6: ADDWF 49,W 178 00E9: ADDWF 4A,W
160 00C7: MOVWF 04 179 00EA: MOVWF 04
161 00C8: BCF 03.7 180 00EB: BCF 03.7
162 00C9: BTFSS 0C.5 181 00EC: BTFSS 0C.5
163 00CA: GOTO 0C9 182 00ED: GOTO 0EC
164 00CB: MOVF 1A,W 183 00EE: MOVF 1A,W
165 00CC: MOVWF 00 184 00EF: MOVWF 00
166 .................... restart_WDT(); 185 .................... restart_WDT();
167 00CD: CLRWDT 186 00F0: CLRWDT
168 .................... } 187 .................... }
169 00CE: INCF 49,F 188 00F1: INCF 4A,F
170 00CF: GOTO 0C1 189 00F2: GOTO 0E4
171 .................... } 190 .................... }
172 .................... 191 ....................
173 00D0: BCF 0C.5 192 00F3: BCF 0C.5
174 00D1: BCF 0A.3 193 00F4: BCF 0A.3
175 00D2: BCF 0A.4 194 00F5: BCF 0A.4
176 00D3: GOTO 01F 195 00F6: GOTO 01F
177 .................... void main() 196 .................... void main()
178 .................... { 197 .................... {
179 * 198 *
180 0111: CLRF 04 199 0136: CLRF 04
181 0112: BCF 03.7 200 0137: BCF 03.7
182 0113: MOVLW 1F 201 0138: MOVLW 1F
183 0114: ANDWF 03,F 202 0139: ANDWF 03,F
184 0115: MOVLW 67 203 013A: MOVLW 67
185 0116: BSF 03.5 204 013B: BSF 03.5
186 0117: MOVWF 19 205 013C: MOVWF 19
187 0118: MOVLW A2 206 013D: MOVLW A2
188 0119: MOVWF 18 207 013E: MOVWF 18
189 011A: MOVLW 90 208 013F: MOVLW 90
190 011B: BCF 03.5 209 0140: BCF 03.5
191 011C: MOVWF 18 210 0141: MOVWF 18
192 011D: BSF 03.5 211 0142: BSF 03.5
193 011E: BSF 1F.0 212 0143: BSF 1F.0
194 011F: BSF 1F.1 213 0144: BSF 1F.1
195 0120: BSF 1F.2 214 0145: BSF 1F.2
196 0121: BCF 1F.3 215 0146: BCF 1F.3
197 0122: MOVLW 07 216 0147: MOVLW 07
198 0123: MOVWF 1C 217 0148: MOVWF 1C
199 .................... 218 ....................
200 .................... int slovo,pismeno,sloupec,j; 219 .................... int slovo,pismeno,sloupec,j;
201 .................... 220 ....................
202 .................... 221 ....................
203 .................... const int8 pis[26*5]={0b00000001,0b11110110,0b11110110,0b11110110,0b00000001, 222 .................... const int8 pis[33*5]={0b00000001,0b11110110,0b11110110,0b11110110,0b00000001, //A
204 .................... 0b00000001,0b11110110,0b11110110,0b11110110,0b00000001, 223 .................... 0b00000000,0b01110110,0b01110110,0b01110110,0b10001001, //B
205 .................... 0b10000001,0b01111110,0b01111110,0b01111110,0b10111101, 224 .................... 0b10000001,0b01111110,0b01111110,0b01111110,0b10111101, //C
206 .................... 0b00000000,0b01111110,0b01111110,0b01111110,0b10000001, 225 .................... 0b00000000,0b01111110,0b01111110,0b01111110,0b10000001, //D
207 .................... 0b00000000,0b01110110,0b01110110,0b01111110,0b01111110, 226 .................... 0b00000000,0b01110110,0b01110110,0b01111110,0b01111110, //E
208 .................... 0b00000000,0b11110110,0b11110110,0b11111110,0b11111110, 227 .................... 0b00000000,0b11110110,0b11110110,0b11111110,0b11111110, //F
209 .................... 0b10000001,0b01111110,0b01110110,0b01110110,0b10000101, 228 .................... 0b10000001,0b01111110,0b01110110,0b01110110,0b10000101, //G
210 .................... 0b00000000,0b11110111,0b11110111,0b11110111,0b00000000, 229 .................... 0b00000000,0b11110111,0b11110111,0b11110111,0b00000000, //H
211 .................... 0b01111110,0b01111110,0b00000000,0b01111110,0b01111110, 230 .................... 0b01111110,0b01111110,0b00000000,0b01111110,0b01111110, //I
212 .................... 0b10111110,0b01111110,0b01111110,0b01111110,0b10000000, 231 .................... 0b10111110,0b01111110,0b01111110,0b01111110,0b10000000, //J
213 .................... 0b00000000,0b11110111,0b11110111,0b11101011,0b00011100, 232 .................... 0b00000000,0b11110111,0b11110111,0b11101011,0b00011100, //K
214 .................... 0b00000000,0b01111111,0b01111111,0b01111111,0b01111111, 233 .................... 0b00000000,0b01111111,0b01111111,0b01111111,0b01111111, //L
215 .................... 0b00000000,0b11111110,0b11110000,0b11111110,0b00000000, 234 .................... 0b00000000,0b11111110,0b11110000,0b11111110,0b00000000, //M
216 .................... 0b00000000,0b11101111,0b11011111,0b10111111,0b00000000, 235 .................... 0b00000000,0b11101111,0b11011111,0b10111111,0b00000000, //N
217 .................... 0b10000001,0b01111110,0b01111110,0b01111110,0b10000001, 236 .................... 0b10000001,0b01111110,0b01111110,0b01111110,0b10000001, //O
218 .................... 0b00000000,0b11110110,0b11110110,0b11110110,0b11111001, 237 .................... 0b00000000,0b11110110,0b11110110,0b11110110,0b11111001, //P
219 .................... 0b10000001,0b01111110,0b01111110,0b01111110,0b00000001, 238 .................... 0b10000001,0b01111110,0b01111110,0b01111110,0b00000001, //Q
220 .................... 0b00000000,0b11110110,0b11110110,0b11110110,0b00001001, 239 .................... 0b00000000,0b11110110,0b11110110,0b11110110,0b00001001, //R
221 .................... 0b10111001,0b01110110,0b01110110,0b01110110,0b10001101, 240 .................... 0b10111001,0b01110110,0b01110110,0b01110110,0b10001101, //S
222 .................... 0b11111110,0b11111110,0b00000000,0b11111110,0b11111110, 241 .................... 0b11111110,0b11111110,0b00000000,0b11111110,0b11111110, //T
223 .................... 0b10000000,0b01111111,0b01111111,0b01111111,0b10000000, 242 .................... 0b10000000,0b01111111,0b01111111,0b01111111,0b10000000, //U
224 .................... 0b11000000,0b10111111,0b01111111,0b10111111,0b11000000, 243 .................... 0b11000000,0b10111111,0b01111111,0b10111111,0b11000000, //V
225 .................... 0b10000000,0b01111111,0b10000000,0b01111111,0b10000000, 244 .................... 0b10000000,0b01111111,0b10000000,0b01111111,0b10000000, //W
226 .................... 0b00011100,0b11101011,0b11110111,0b11101011,0b00011100, 245 .................... 0b00011100,0b11101011,0b11110111,0b11101011,0b00011100, //X
227 .................... 0b11111000,0b11110111,0b00000111,0b11110111,0b11111000, 246 .................... 0b11111000,0b11110111,0b00000111,0b11110111,0b11111000, //Y
228 .................... 0b00011110,0b01101110,0b01110110,0b01111010,0b01111100}; 247 .................... 0b00011110,0b01101110,0b01110110,0b01111010,0b01111100, //Z
-   248 .................... 0b11111111,0b11111111,0b11111111,0b11111111,0b11111111, //mezera
-   249 .................... 0b00010111,0b00110011,0b01010101,0b11100110,0b11110111, //blesk
-   250 .................... 0b11110000,0b11110111,0b11110111,0b00000001,0b11110111, //4
-   251 .................... 0b00111101,0b01011110,0b01101110,0b01110110,0b01111001, //2
-   252 .................... 0b00000000,0b01111110,0b01111110,0b01111110,0b00000000, //0
-   253 .................... 0b11110111,0b11110111,0b11110111,0b11110111,0b11110111, //pomlka
-   254 .................... 0b10001001,0b01110110,0b01110110,0b01110110,0b10001001, //8
-   255 .................... };
229 .................... 256 ....................
230 .................... setup_adc_ports(NO_ANALOGS); 257 .................... setup_adc_ports(AN0);
231 * 258 *
232 013C: BSF 03.5 259 0170: BSF 03.5
233 013D: BSF 1F.0 260 0171: BCF 1F.0
234 013E: BSF 1F.1 261 0172: BSF 1F.1
235 013F: BSF 1F.2 262 0173: BSF 1F.2
236 0140: BCF 1F.3 263 0174: BSF 1F.3
237 .................... setup_adc(ADC_OFF); 264 .................... setup_adc(ADC_CLOCK_INTERNAL);
-   265 0175: BCF 1F.6
-   266 0176: BCF 03.5
-   267 0177: BSF 1F.6
-   268 0178: BSF 1F.7
-   269 0179: BSF 03.5
-   270 017A: BCF 1F.7
238 0141: BCF 03.5 271 017B: BCF 03.5
239 0142: BCF 1F.0 272 017C: BSF 1F.0
240 .................... setup_psp(PSP_DISABLED); 273 .................... setup_psp(PSP_DISABLED);
241 0143: BSF 03.5 274 017D: BSF 03.5
242 0144: BCF 09.4 275 017E: BCF 09.4
243 .................... setup_spi(SPI_SS_DISABLED); 276 .................... setup_spi(SPI_SS_DISABLED);
244 * 277 *
245 013A: MOVLW FF 278 016E: MOVLW FF
246 013B: MOVWF 3C 279 016F: MOVWF 3D
247 * 280 *
248 0145: BCF 03.5 281 017F: BCF 03.5
249 0146: BCF 14.5 282 0180: BCF 14.5
250 0147: BCF 3C.5 283 0181: BCF 3D.5
251 0148: MOVF 3C,W 284 0182: MOVF 3D,W
252 0149: BSF 03.5 285 0183: BSF 03.5
253 014A: MOVWF 07 286 0184: MOVWF 07
254 014B: BCF 03.5 287 0185: BCF 03.5
255 014C: BSF 3C.4 288 0186: BSF 3D.4
256 014D: MOVF 3C,W 289 0187: MOVF 3D,W
257 014E: BSF 03.5 290 0188: BSF 03.5
258 014F: MOVWF 07 291 0189: MOVWF 07
259 0150: BCF 03.5 292 018A: BCF 03.5
260 0151: BCF 3C.3 293 018B: BCF 3D.3
261 0152: MOVF 3C,W 294 018C: MOVF 3D,W
262 0153: BSF 03.5 295 018D: BSF 03.5
263 0154: MOVWF 07 296 018E: MOVWF 07
264 0155: MOVLW 01 297 018F: MOVLW 01
265 0156: BCF 03.5 298 0190: BCF 03.5
266 0157: MOVWF 14 299 0191: MOVWF 14
267 0158: MOVLW 00 300 0192: MOVLW 00
268 0159: BSF 03.5 301 0193: BSF 03.5
269 015A: MOVWF 14 302 0194: MOVWF 14
270 .................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 303 .................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
271 015B: MOVF 01,W 304 0195: MOVF 01,W
272 015C: ANDLW C7 305 0196: ANDLW C7
273 015D: IORLW 08 306 0197: IORLW 08
274 015E: MOVWF 01 307 0198: MOVWF 01
275 .................... setup_wdt(WDT_2304MS); 308 .................... setup_wdt(WDT_2304MS);
276 015F: MOVLW 0F 309 0199: MOVLW 0F
277 0160: MOVWF 77 310 019A: MOVWF 77
278 0161: MOVLW 07 311 019B: MOVLW 07
279 0162: BCF 03.5 312 019C: BCF 03.5
280 0163: CLRF 01 313 019D: CLRF 01
281 0164: MOVLW 81 314 019E: MOVLW 81
282 0165: MOVWF 04 315 019F: MOVWF 04
283 0166: BCF 03.7 316 01A0: BCF 03.7
284 0167: MOVF 00,W 317 01A1: MOVF 00,W
285 0168: ANDLW F0 318 01A2: ANDLW F0
286 0169: IORLW 07 319 01A3: IORLW 07
287 016A: MOVWF 00 320 01A4: MOVWF 00
288 016B: CLRWDT 321 01A5: CLRWDT
289 016C: MOVF 00,W 322 01A6: MOVF 00,W
290 016D: ANDLW F7 323 01A7: ANDLW F7
291 016E: BTFSC 77.3 324 01A8: BTFSC 77.3
292 016F: ANDLW F0 325 01A9: ANDLW F0
293 0170: IORWF 77,W 326 01AA: IORWF 77,W
294 0171: MOVWF 00 327 01AB: MOVWF 00
295 .................... setup_timer_1(T1_DISABLED); 328 .................... setup_timer_1(T1_DISABLED);
296 0172: CLRF 10 329 01AC: CLRF 10
297 .................... setup_timer_2(T2_DISABLED,0,1); 330 .................... setup_timer_2(T2_DISABLED,0,1);
298 0173: MOVLW 00 331 01AD: MOVLW 00
299 0174: MOVWF 78 332 01AE: MOVWF 78
300 0175: MOVWF 12 333 01AF: MOVWF 12
301 0176: MOVLW 00 334 01B0: MOVLW 00
302 0177: BSF 03.5 335 01B1: BSF 03.5
303 0178: MOVWF 12 336 01B2: MOVWF 12
304 .................... setup_comparator(NC_NC_NC_NC); 337 .................... setup_comparator(NC_NC_NC_NC);
305 0179: MOVLW 07 338 01B3: MOVLW 07
306 017A: MOVWF 1C 339 01B4: MOVWF 1C
307 017B: MOVF 05,W 340 01B5: MOVF 05,W
308 017C: CLRWDT 341 01B6: CLRWDT
309 017D: MOVLW 02 342 01B7: MOVLW 02
310 017E: MOVWF 77 343 01B8: MOVWF 77
311 017F: DECFSZ 77,F 344 01B9: DECFSZ 77,F
312 0180: GOTO 17F 345 01BA: GOTO 1B9
313 0181: GOTO 182 346 01BB: GOTO 1BC
314 0182: MOVF 1C,W 347 01BC: MOVF 1C,W
315 0183: BCF 03.5 348 01BD: BCF 03.5
316 0184: BCF 0D.6 349 01BE: BCF 0D.6
317 .................... setup_vref(FALSE); 350 .................... setup_vref(FALSE);
318 0185: BSF 03.5 351 01BF: BSF 03.5
319 0186: CLRF 1D 352 01C0: CLRF 1D
320 .................... 353 ....................
321 .................... enable_interrupts(INT_RDA); 354 .................... enable_interrupts(INT_RDA);
322 0187: BSF 0C.5 355 01C1: BSF 0C.5
323 .................... enable_interrupts(GLOBAL); 356 .................... enable_interrupts(GLOBAL);
324 0188: MOVLW C0 357 01C2: MOVLW C0
325 0189: BCF 03.5 358 01C3: BCF 03.5
326 018A: IORWF 0B,F 359 01C4: IORWF 0B,F
327 .................... -  
328 .................... set_adc_channel(0); -  
329 018B: MOVLW 00 -  
330 018C: MOVWF 78 -  
331 018D: MOVF 1F,W -  
332 018E: ANDLW C7 -  
333 018F: IORWF 78,W -  
334 0190: MOVWF 1F -  
335 .................... 360 ....................
-   361 .................... set_adc_channel(0); // Prevodnik pro Hall
-   362 01C5: MOVLW 00
-   363 01C6: MOVWF 78
-   364 01C7: MOVF 1F,W
-   365 01C8: ANDLW C7
-   366 01C9: IORWF 78,W
-   367 01CA: MOVWF 1F
-   368 .................... output_B(0xFF); // Zhasneme
-   369 01CB: BSF 03.5
-   370 01CC: CLRF 06
-   371 01CD: MOVLW FF
-   372 01CE: BCF 03.5
-   373 01CF: MOVWF 06
-   374 ....................
-   375 .................... otacky=0;
-   376 01D0: CLRF 3C
-   377 ....................
336 .................... while(TRUE) 378 .................... while(TRUE)
337 .................... { 379 .................... {
338 .................... for(slovo=0;slovo<2;slovo++) 380 .................... for(slovo=0;slovo<2;slovo++)
339 0191: CLRF 3D 381 01D1: CLRF 3E
340 0192: MOVF 3D,W 382 01D2: MOVF 3E,W
341 0193: SUBLW 01 383 01D3: SUBLW 01
342 0194: BTFSS 03.0 384 01D4: BTFSS 03.0
343 0195: GOTO 1D4 385 01D5: GOTO 227
344 .................... for(j=0;j<=100;j++) // Jedno slovo se zobrazi stokrat 386 .................... for(j=0;j<=20;j++) // Jedno slovo se zobrazi stokrat
345 0196: CLRF 40 387 01D6: CLRF 41
346 0197: MOVF 40,W 388 01D7: MOVF 41,W
347 0198: SUBLW 64 389 01D8: SUBLW 14
348 0199: BTFSS 03.0 390 01D9: BTFSS 03.0
349 019A: GOTO 1D2 391 01DA: GOTO 225
350 .................... { 392 .................... {
351 .................... while(read_adc()<10); // Cekani na magnet 393 .................... while(read_adc()<9); // Cekani na magnet
352 019B: BSF 1F.2 394 01DB: BSF 1F.2
353 019C: BTFSC 1F.2 395 01DC: BTFSC 1F.2
354 019D: GOTO 19C 396 01DD: GOTO 1DC
355 019E: MOVF 1E,W 397 01DE: MOVF 1E,W
356 019F: SUBLW 09 398 01DF: SUBLW 08
357 01A0: BTFSC 03.0 399 01E0: BTFSC 03.0
358 01A1: GOTO 19B 400 01E1: GOTO 1DB
-   401 .................... delay_ms(10);
-   402 01E2: MOVLW 0A
-   403 01E3: MOVWF 42
-   404 01E4: GOTO 0F7
359 .................... 405 ....................
360 .................... for(pismeno=0;pismeno<MAX_SLOVO;pismeno++) 406 .................... for(pismeno=0;pismeno<MAX_SLOVO;pismeno++)
361 01A2: CLRF 3E 407 01E5: CLRF 3F
362 01A3: MOVF 3E,W 408 01E6: MOVF 3F,W
363 01A4: SUBLW 09 409 01E7: SUBLW 09
364 01A5: BTFSS 03.0 410 01E8: BTFSS 03.0
365 01A6: GOTO 1D0 411 01E9: GOTO 21C
366 .................... { 412 .................... {
367 .................... for(sloupec=0;sloupec<5;sloupec++) 413 .................... for(sloupec=0;sloupec<5;sloupec++)
368 01A7: CLRF 3F 414 01EA: CLRF 40
369 01A8: MOVF 3F,W 415 01EB: MOVF 40,W
370 01A9: SUBLW 04 416 01EC: SUBLW 04
371 01AA: BTFSS 03.0 417 01ED: BTFSS 03.0
372 01AB: GOTO 1CB 418 01EE: GOTO 210
373 .................... { 419 .................... {
374 .................... output_B(pis[(napis[slovo*MAX_SLOVO+pismeno]-0x40)*5+sloupec]); 420 .................... output_B(pis[(napis[slovo*MAX_SLOVO+pismeno]-0x41)*5+sloupec]);
375 01AC: MOVF 3D,W 421 01EF: MOVF 3E,W
376 01AD: MOVWF 46 422 01F0: MOVWF 47
377 01AE: MOVLW 0A 423 01F1: MOVLW 0A
378 01AF: MOVWF 47 424 01F2: MOVWF 48
379 01B0: CALL 0D4 425 01F3: CALL 111
380 01B1: MOVF 3E,W 426 01F4: MOVF 3F,W
381 01B2: ADDWF 78,W 427 01F5: ADDWF 78,W
382 01B3: ADDLW 28 428 01F6: ADDLW 28
383 01B4: MOVWF 04 429 01F7: MOVWF 04
384 01B5: BCF 03.7 430 01F8: BCF 03.7
385 01B6: MOVLW 40 431 01F9: MOVLW 41
386 01B7: SUBWF 00,W 432 01FA: SUBWF 00,W
387 01B8: MOVWF 45 433 01FB: MOVWF 46
388 01B9: MOVWF 46 434 01FC: MOVWF 47
389 01BA: MOVLW 05 435 01FD: MOVLW 05
390 01BB: MOVWF 47 436 01FE: MOVWF 48
391 01BC: CALL 0D4 437 01FF: CALL 111
392 01BD: MOVF 3F,W 438 0200: MOVF 40,W
393 01BE: ADDWF 78,W 439 0201: ADDWF 78,W
394 01BF: CALL 035 440 0202: CALL 035
395 01C0: MOVWF 48 441 0203: MOVWF 49
396 01C1: BSF 03.5 442 0204: BSF 03.5
397 01C2: CLRF 06 443 0205: CLRF 06
398 01C3: BCF 03.5 444 0206: BCF 03.5
399 01C4: MOVF 48,W 445 0207: MOVF 49,W
400 01C5: MOVWF 06 446 0208: MOVWF 06
401 .................... delay_ms(1); 447 .................... delay_us(500);
-   448 0209: CLRWDT
402 01C6: MOVLW 01 449 020A: MOVLW A6
403 01C7: MOVWF 41 450 020B: MOVWF 77
-   451 020C: DECFSZ 77,F
404 01C8: CALL 0F9 452 020D: GOTO 20C
405 .................... } 453 .................... }
406 01C9: INCF 3F,F 454 020E: INCF 40,F
407 01CA: GOTO 1A8 455 020F: GOTO 1EB
-   456 .................... output_B(0xFF);
-   457 0210: BSF 03.5
-   458 0211: CLRF 06
-   459 0212: MOVLW FF
-   460 0213: BCF 03.5
-   461 0214: MOVWF 06
408 .................... delay_ms(2); 462 .................... delay_us(500);
-   463 0215: CLRWDT
409 01CB: MOVLW 02 464 0216: MOVLW A6
410 01CC: MOVWF 41 465 0217: MOVWF 77
-   466 0218: DECFSZ 77,F
411 01CD: CALL 0F9 467 0219: GOTO 218
412 .................... } 468 .................... }
413 01CE: INCF 3E,F 469 021A: INCF 3F,F
-   470 021B: GOTO 1E6
-   471 .................... if (otacky++>120) reset_cpu();
-   472 021C: MOVF 3C,W
-   473 021D: INCF 3C,F
-   474 021E: SUBLW 78
-   475 021F: BTFSC 03.0
414 01CF: GOTO 1A3 476 0220: GOTO 223
-   477 0221: CLRF 0A
-   478 0222: GOTO 000
415 .................... } 479 .................... }
416 01D0: INCF 40,F 480 0223: INCF 41,F
417 01D1: GOTO 197 481 0224: GOTO 1D7
418 01D2: INCF 3D,F 482 0225: INCF 3E,F
419 01D3: GOTO 192 483 0226: GOTO 1D2
420 .................... } 484 .................... }
421 01D4: GOTO 191 485 0227: GOTO 1D1
422 .................... } 486 .................... }
423 01D5: SLEEP 487 0228: SLEEP
424   488  
425 Configuration Fuses: 489 Configuration Fuses:
426 Word 1: 3F39 XT NOWDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT 490 Word 1: 3F3D XT WDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT