Rev Author Line No. Line
166 svejda 1 CCS PCM C Compiler, Version 4.058s, 42064 21-III-08 20:45
2  
3 Filename: C:\RS\Prog\abcda\abcda.lst
4  
5 ROM used: 239 words (3%)
6 Largest free fragment is 2048
7 RAM used: 9 (2%) at main() level
8 9 (2%) worst case
9 Stack: 1 locations
10  
11 *
12 0000: MOVLW 00
13 0001: MOVWF 0A
14 0002: GOTO 048
15 0003: NOP
16 .................... #include "C:\RS\Prog\abcda\abcda.h"
17 .................... #include <16F877A.h>
18 .................... //////// Standard Header file for the PIC16F877A device ////////////////
19 .................... #device PIC16F877A
20 .................... #list
21 ....................
22 .................... #device adc=8
23 ....................
24 .................... #FUSES NOWDT //No Watch Dog Timer
25 .................... #FUSES XT //Crystal osc <= 4mhz
26 .................... #FUSES NOPUT //No Power Up Timer
27 .................... #FUSES NOPROTECT //Code not protected from reading
28 .................... #FUSES NODEBUG //No Debug mode for ICD
29 .................... #FUSES NOBROWNOUT //No brownout reset
30 .................... #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
31 .................... #FUSES NOCPD //No EE protection
32 .................... #FUSES NOWRT //Program memory not write protected
33 ....................
34 .................... #use delay(clock=4000000,RESTART_WDT)
35 0030: MOVLW 22
36 0031: MOVWF 04
37 0032: BCF 03.7
38 0033: MOVF 00,W
39 0034: BTFSC 03.2
40 0035: GOTO 047
41 0036: MOVLW 01
42 0037: MOVWF 78
43 0038: MOVLW BF
44 0039: MOVWF 77
45 003A: CLRWDT
46 003B: DECFSZ 77,F
47 003C: GOTO 03A
48 003D: DECFSZ 78,F
49 003E: GOTO 038
50 003F: MOVLW 4A
51 0040: MOVWF 77
52 0041: DECFSZ 77,F
53 0042: GOTO 041
54 0043: NOP
55 0044: CLRWDT
56 0045: DECFSZ 00,F
57 0046: GOTO 036
58 0047: RETLW 00
59 ....................
60 ....................
61 ....................
62 ....................
63 .................... void main()
64 .................... {
65 0048: CLRF 04
66 0049: BCF 03.7
67 004A: MOVLW 1F
68 004B: ANDWF 03,F
69 004C: BSF 03.5
70 004D: BSF 1F.0
71 004E: BSF 1F.1
72 004F: BSF 1F.2
73 0050: BCF 1F.3
74 0051: MOVLW 07
75 0052: MOVWF 1C
76 ....................
77 .................... int cas;
78 ....................
79 .................... const int8 A[7]={0b00000001,0b11110110,0b11110110,0b11110110,0b00000001,0b11111111,0b11111111};
80 .................... const int8 B[7]={0b00000000,0b01110110,0b01110110,0b01110110,0b10001001,0b11111111,0b11111111};
81 .................... const int8 C[7]={0b10000001,0b01111110,0b01111110,0b01111110,0b10111101,0b11111111,0b11111111};
82 .................... const int8 D[7]={0b00000000,0b01111110,0b01111110,0b01111110,0b10000001,0b11111111,0b11111111};
83 .................... const int8 E[7]={0b00000000,0b01110110,0b01110110,0b01111110,0b01111110,0b11111111,0b11111111};
84 .................... const int8 F[7]={0b00000000,0b11110110,0b11110110,0b11111110,0b11111110,0b11111111,0b11111111};
85 .................... const int8 G[7]={0b10000001,0b01111110,0b01110110,0b01110110,0b10000101,0b11111111,0b11111111};
86 .................... const int8 H[7]={0b00000000,0b11110111,0b11110111,0b11110111,0b00000000,0b11111111,0b11111111};
87 .................... const int8 I[7]={0b01111110,0b01111110,0b00000000,0b01111110,0b01111110,0b11111111,0b11111111};
88 .................... const int8 J[7]={0b10111110,0b01111110,0b01111110,0b01111110,0b10000000,0b11111111,0b11111111};
89 .................... const int8 K[7]={0b00000000,0b11110111,0b11110111,0b11101011,0b00011100,0b11111111,0b11111111};
90 .................... const int8 L[7]={0b00000000,0b01111111,0b01111111,0b01111111,0b01111111,0b11111111,0b11111111};
91 .................... const int8 M[7]={0b00000000,0b11111110,0b11110000,0b11111110,0b00000000,0b11111111,0b11111111};
92 .................... const int8 N[7]={0b00000000,0b11101111,0b11011111,0b10111111,0b00000000,0b11111111,0b11111111};
93 .................... const int8 O[7]={0b10000001,0b01111110,0b01111110,0b01111110,0b10000001,0b11111111,0b11111111};
94 .................... const int8 P[7]={0b00000000,0b11110110,0b11110110,0b11110110,0b11111001,0b11111111,0b11111111};
95 .................... const int8 Q[7]={0b10000001,0b01111110,0b01111110,0b01111110,0b00000001,0b01111111,0b11111111};
96 .................... const int8 R[7]={0b00000000,0b11110110,0b11110110,0b11110110,0b00001001,0b11111111,0b11111111};
97 .................... const int8 S[7]={0b10111001,0b01110110,0b01110110,0b01110110,0b10001101,0b11111111,0b11111111};
98 .................... const int8 T[7]={0b11111110,0b11111110,0b00000000,0b11111110,0b11111110,0b11111111,0b11111111};
99 .................... const int8 U[7]={0b10000000,0b01111111,0b01111111,0b01111111,0b10000000,0b11111111,0b11111111};
100 .................... const int8 V[7]={0b11000000,0b10111111,0b01111111,0b10111111,0b11000000,0b11111111,0b11111111};
101 .................... const int8 W[7]={0b10000000,0b01111111,0b10000000,0b01111111,0b10000000,0b11111111,0b11111111};
102 .................... const int8 X[7]={0b00011100,0b11101011,0b11110111,0b11101011,0b00011100,0b11111111,0b11111111};
103 .................... const int8 Y[7]={0b11111000,0b11110111,0b00000111,0b11110111,0b11111000,0b11111111,0b11111111};
104 .................... const int8 Z[7]={0b00011110,0b01101110,0b01110110,0b01111010,0b01111100,0b11111111,0b11111111};
105 .................... const int8 null [7]={0b00000000,0b01111110,0b01111110,0b01111110,0b00000000,0b11111111,0b11111111};
106 .................... const int8 one [7]={0b01111011,0b01111101,0b00000000,0b01111111,0b01111111,0b11111111,0b11111111};
107 .................... const int8 two [7]={0b00111101,0b01011110,0b01101110,0b01110110,0b01111001,0b11111111,0b11111111};
108 .................... const int8 three[7]={0b10111101,0b01111110,0b01110110,0b01110110,0b10001001,0b11111111,0b11111111};
109 .................... const int8 four [7]={0b11110000,0b11110111,0b11110111,0b00000001,0b11110111,0b11111111,0b11111111};
110 .................... const int8 five [7]={0b10111000,0b01110110,0b01110110,0b01110110,0b10001110,0b11111111,0b11111111};
111 .................... const int8 six [7]={0b10000001,0b01110110,0b01110110,0b01110110,0b10001101,0b11111111,0b11111111};
112 .................... const int8 seven[7]={0b11111110,0b11111110,0b00001110,0b11110110,0b11111000,0b11111111,0b11111111};
113 .................... const int8 eight[7]={0b10001001,0b01110110,0b01110110,0b01110110,0b10001001,0b11111111,0b11111111};
114 .................... const int8 nine [7]={0b10111001,0b01110110,0b01110110,0b01110110,0b10000001,0b11111111,0b11111111};
115 ....................
116 .................... setup_adc_ports(NO_ANALOGS);
117 *
118 0056: BSF 03.5
119 0057: BSF 1F.0
120 0058: BSF 1F.1
121 0059: BSF 1F.2
122 005A: BCF 1F.3
123 .................... setup_adc(ADC_OFF);
124 005B: BCF 03.5
125 005C: BCF 1F.0
126 .................... setup_psp(PSP_DISABLED);
127 005D: BSF 03.5
128 005E: BCF 09.4
129 .................... setup_spi(SPI_SS_DISABLED);
130 *
131 0053: MOVLW FF
132 0054: BCF 03.5
133 0055: MOVWF 20
134 *
135 005F: BCF 03.5
136 0060: BCF 14.5
137 0061: BCF 20.5
138 0062: MOVF 20,W
139 0063: BSF 03.5
140 0064: MOVWF 07
141 0065: BCF 03.5
142 0066: BSF 20.4
143 0067: MOVF 20,W
144 0068: BSF 03.5
145 0069: MOVWF 07
146 006A: BCF 03.5
147 006B: BCF 20.3
148 006C: MOVF 20,W
149 006D: BSF 03.5
150 006E: MOVWF 07
151 006F: MOVLW 01
152 0070: BCF 03.5
153 0071: MOVWF 14
154 0072: MOVLW 00
155 0073: BSF 03.5
156 0074: MOVWF 14
157 .................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
158 0075: MOVF 01,W
159 0076: ANDLW C7
160 0077: IORLW 08
161 0078: MOVWF 01
162 .................... setup_timer_1(T1_DISABLED);
163 0079: BCF 03.5
164 007A: CLRF 10
165 .................... setup_timer_2(T2_DISABLED,0,1);
166 007B: MOVLW 00
167 007C: MOVWF 78
168 007D: MOVWF 12
169 007E: MOVLW 00
170 007F: BSF 03.5
171 0080: MOVWF 12
172 .................... setup_comparator(NC_NC_NC_NC);
173 0081: MOVLW 07
174 0082: MOVWF 1C
175 0083: MOVF 05,W
176 0084: CLRWDT
177 0085: MOVLW 02
178 0086: MOVWF 77
179 0087: DECFSZ 77,F
180 0088: GOTO 087
181 0089: GOTO 08A
182 008A: MOVF 1C,W
183 008B: BCF 03.5
184 008C: BCF 0D.6
185 .................... setup_vref(FALSE);
186 008D: BSF 03.5
187 008E: CLRF 1D
188 ....................
189 .................... while(TRUE)
190 .................... {
191 .................... for(cas=0;cas<7;cas++)
192 008F: BCF 03.5
193 0090: CLRF 21
194 0091: MOVF 21,W
195 0092: SUBLW 06
196 0093: BTFSS 03.0
197 0094: GOTO 0A2
198 .................... {
199 .................... output_B(A[cas]);
200 0095: MOVF 21,W
201 0096: CALL 004
202 0097: MOVWF 22
203 0098: BSF 03.5
204 0099: CLRF 06
205 009A: BCF 03.5
206 009B: MOVF 22,W
207 009C: MOVWF 06
208 .................... delay_ms(1);
209 009D: MOVLW 01
210 009E: MOVWF 22
211 009F: CALL 030
212 .................... }
213 00A0: INCF 21,F
214 00A1: GOTO 091
215 .................... for(cas=0;cas<7;cas++)
216 00A2: CLRF 21
217 00A3: MOVF 21,W
218 00A4: SUBLW 06
219 00A5: BTFSS 03.0
220 00A6: GOTO 0B4
221 .................... {
222 .................... output_B(B[cas]);
223 00A7: MOVF 21,W
224 00A8: CALL 00F
225 00A9: MOVWF 22
226 00AA: BSF 03.5
227 00AB: CLRF 06
228 00AC: BCF 03.5
229 00AD: MOVF 22,W
230 00AE: MOVWF 06
231 .................... delay_ms(1);
232 00AF: MOVLW 01
233 00B0: MOVWF 22
234 00B1: CALL 030
235 .................... }
236 00B2: INCF 21,F
237 00B3: GOTO 0A3
238 .................... for(cas=0;cas<7;cas++)
239 00B4: CLRF 21
240 00B5: MOVF 21,W
241 00B6: SUBLW 06
242 00B7: BTFSS 03.0
243 00B8: GOTO 0C6
244 .................... {
245 .................... output_B(C[cas]);
246 00B9: MOVF 21,W
247 00BA: CALL 01A
248 00BB: MOVWF 22
249 00BC: BSF 03.5
250 00BD: CLRF 06
251 00BE: BCF 03.5
252 00BF: MOVF 22,W
253 00C0: MOVWF 06
254 .................... delay_ms(1);
255 00C1: MOVLW 01
256 00C2: MOVWF 22
257 00C3: CALL 030
258 .................... }
259 00C4: INCF 21,F
260 00C5: GOTO 0B5
261 .................... for(cas=0;cas<7;cas++)
262 00C6: CLRF 21
263 00C7: MOVF 21,W
264 00C8: SUBLW 06
265 00C9: BTFSS 03.0
266 00CA: GOTO 0D8
267 .................... {
268 .................... output_B(D[cas]);
269 00CB: MOVF 21,W
270 00CC: CALL 025
271 00CD: MOVWF 22
272 00CE: BSF 03.5
273 00CF: CLRF 06
274 00D0: BCF 03.5
275 00D1: MOVF 22,W
276 00D2: MOVWF 06
277 .................... delay_ms(1);
278 00D3: MOVLW 01
279 00D4: MOVWF 22
280 00D5: CALL 030
281 .................... }
282 00D6: INCF 21,F
283 00D7: GOTO 0C7
284 .................... for(cas=0;cas<7;cas++)
285 00D8: CLRF 21
286 00D9: MOVF 21,W
287 00DA: SUBLW 06
288 00DB: BTFSS 03.0
289 00DC: GOTO 0EA
290 .................... {
291 .................... output_B(A[cas]);
292 00DD: MOVF 21,W
293 00DE: CALL 004
294 00DF: MOVWF 22
295 00E0: BSF 03.5
296 00E1: CLRF 06
297 00E2: BCF 03.5
298 00E3: MOVF 22,W
299 00E4: MOVWF 06
300 .................... delay_ms(1);
301 00E5: MOVLW 01
302 00E6: MOVWF 22
303 00E7: CALL 030
304 .................... }
305 00E8: INCF 21,F
306 00E9: GOTO 0D9
307 .................... delay_ms(142);
308 00EA: MOVLW 8E
309 00EB: MOVWF 22
310 00EC: CALL 030
311 .................... }
312 00ED: GOTO 090
313 .................... }
314 00EE: SLEEP
315  
316 Configuration Fuses:
317 Word 1: 3F39 XT NOWDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT