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 |