| 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 |