Rev Author Line No. Line
1431 kaklik 1 CCS PCH C Compiler, Version 4.090, 47914 20-I-10 01:41
2  
3 Filename: D:\MLAB\Designs\STOPWATCH02A\SW\test\main.lst
4  
5 ROM used: 376 bytes (1%)
6 Largest free fragment is 32388
7 RAM used: 24 (1%) at main() level
8 25 (1%) worst case
9 Stack: 2 worst case (1 in main + 1 for interrupts)
10  
11 *
12 0000: GOTO 00EE
13 *
14 0008: MOVWF 05
15 000A: MOVFF FD8,06
16 000E: MOVFF FE0,07
17 0012: MOVLB 0
18 0014: MOVFF FE9,0D
19 0018: MOVFF FEA,08
20 001C: MOVFF FE1,09
21 0020: MOVFF FE2,0A
22 0024: MOVFF FD9,0B
23 0028: MOVFF FDA,0C
24 002C: MOVFF FF3,14
25 0030: MOVFF FF4,15
26 0034: MOVFF FFA,16
27 0038: MOVFF 00,0F
28 003C: MOVFF 01,10
29 0040: MOVFF 02,11
30 0044: MOVFF 03,12
31 0048: MOVFF 04,13
32 004C: BTFSS FF2.5
33 004E: GOTO 0058
34 0052: BTFSC FF2.2
35 0054: GOTO 00AA
36 0058: BTFSS FF2.3
37 005A: GOTO 0064
38 005E: BTFSC FF2.0
39 0060: GOTO 00B4
40 0064: MOVFF 0F,00
41 0068: MOVFF 10,01
42 006C: MOVFF 11,02
43 0070: MOVFF 12,03
44 0074: MOVFF 13,04
45 0078: MOVFF 0D,FE9
46 007C: MOVFF 08,FEA
47 0080: BSF 08.7
48 0082: MOVFF 09,FE1
49 0086: MOVFF 0A,FE2
50 008A: MOVFF 0B,FD9
51 008E: MOVFF 0C,FDA
52 0092: MOVFF 14,FF3
53 0096: MOVFF 15,FF4
54 009A: MOVFF 16,FFA
55 009E: MOVF 05,W
56 00A0: MOVFF 07,FE0
57 00A4: MOVFF 06,FD8
58 00A8: RETFIE 0
59 .................... #include "D:\MLAB\Designs\STOPWATCH02A\SW\test\main.h"
60 .................... #include <18F4550.h>
61 .................... //////// Standard Header file for the PIC18F4550 device ////////////////
62 .................... #device PIC18F4550
63 .................... #list
64 ....................
65 .................... #device adc=8
66 ....................
67 .................... #FUSES NOWDT //No Watch Dog Timer
68 .................... #FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
69 .................... #FUSES INTRC_IO
70 .................... #FUSES NOPROTECT //Code not protected from reading
71 .................... #FUSES NOBROWNOUT //No brownout reset
72 .................... #FUSES BORV20 //Brownout reset at 2.0V
73 .................... #FUSES NOPUT //No Power Up Timer
74 .................... #FUSES NOCPD //No EE protection
75 .................... #FUSES STVREN //Stack full/underflow will cause reset
76 .................... #FUSES NODEBUG //No Debug mode for ICD
77 .................... #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
78 .................... #FUSES NOWRT //Program memory not write protected
79 .................... #FUSES NOWRTD //Data EEPROM not write protected
80 .................... #FUSES IESO //Internal External Switch Over mode enabled
81 .................... #FUSES FCMEN //Fail-safe clock monitor enabled
82 .................... #FUSES PBADEN //PORTB pins are configured as analog input channels on RESET
83 .................... #FUSES NOWRTC //configuration not registers write protected
84 .................... #FUSES NOWRTB //Boot block not write protected
85 .................... #FUSES NOEBTR //Memory not protected from table reads
86 .................... #FUSES NOEBTRB //Boot block not protected from table reads
87 .................... #FUSES NOCPB //No Boot Block code protection
88 .................... #FUSES MCLR //Master Clear pin enabled
89 .................... #FUSES LPT1OSC //Timer1 configured for low-power operation
90 .................... #FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
91 .................... #FUSES PLL12 //Divide By 12(48MHz oscillator input)
92 .................... #FUSES CPUDIV4 //System Clock by 4
93 .................... #FUSES USBDIV //USB clock source comes from PLL divide by 2
94 .................... #FUSES NOVREGEN //USB voltage regulator enabled
95 .................... #FUSES NOICPRT //ICPRT enabled
96 ....................
97 .................... #use delay(clock=8000000)
98 *
99 00C6: CLRF FEA
100 00C8: MOVLW 18
101 00CA: MOVWF FE9
102 00CC: MOVF FEF,W
103 00CE: BZ 00EA
104 00D0: MOVLW 02
105 00D2: MOVWF 01
106 00D4: CLRF 00
107 00D6: DECFSZ 00,F
108 00D8: BRA 00D6
109 00DA: DECFSZ 01,F
110 00DC: BRA 00D4
111 00DE: MOVLW 97
112 00E0: MOVWF 00
113 00E2: DECFSZ 00,F
114 00E4: BRA 00E2
115 00E6: DECFSZ FEF,F
116 00E8: BRA 00D0
117 00EA: GOTO 0178 (RETURN)
118 .................... #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
119 ....................
120 ....................
121 ....................
122 .................... #define LED1 PIN_A1
123 .................... #define LED2 PIN_A2
124 ....................
125 .................... #int_TIMER0
126 .................... void TIMER0_isr(void)
127 .................... {
128 .................... Output_low(LED2);
129 *
130 00AA: BCF F92.2
131 00AC: BCF F89.2
132 .................... }
133 ....................
134 00AE: BCF FF2.2
135 00B0: GOTO 0064
136 .................... #int_RB
137 .................... void RB_isr(void)
138 .................... {
139 .................... output_high(LED2);
140 00B4: BCF F92.2
141 00B6: BSF F89.2
142 .................... output_toggle(PIN_B2);
143 00B8: BCF F93.2
144 00BA: BTG F8A.2
145 .................... input_b();
146 00BC: MOVLW FF
147 00BE: MOVWF F93
148 .................... }
149 ....................
150 ....................
151 00C0: BCF FF2.0
152 00C2: GOTO 0064
153 .................... void main()
154 .................... {
155 *
156 00EE: CLRF FF8
157 00F0: BCF FD0.7
158 00F2: BSF 08.7
159 00F4: CLRF FEA
160 00F6: CLRF FE9
161 00F8: MOVLW 70
162 00FA: MOVWF FD3
163 00FC: MOVF FD3,W
164 00FE: BCF FB8.3
165 0100: MOVLW 0C
166 0102: MOVWF FAF
167 0104: MOVLW A2
168 0106: MOVWF FAC
169 0108: MOVLW 90
170 010A: MOVWF FAB
171 010C: MOVF FC1,W
172 010E: ANDLW C0
173 0110: IORLW 0F
174 0112: MOVWF FC1
175 0114: MOVLW 07
176 0116: MOVWF FB4
177 .................... setup_adc_ports(NO_ANALOGS|VSS_VDD);
178 0118: MOVF FC1,W
179 011A: ANDLW C0
180 011C: IORLW 0F
181 011E: MOVWF FC1
182 .................... setup_adc(ADC_OFF);
183 0120: BCF FC2.0
184 .................... setup_psp(PSP_DISABLED);
185 0122: BCF FB0.4
186 .................... setup_spi(SPI_SS_DISABLED);
187 0124: BCF FC6.5
188 0126: BCF F94.7
189 0128: BSF F93.0
190 012A: BCF F93.1
191 012C: MOVLW 01
192 012E: MOVWF FC6
193 0130: MOVLW 00
194 0132: MOVWF FC7
195 .................... setup_wdt(WDT_OFF);
196 0134: BCF FD1.0
197 .................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
198 0136: MOVLW 81
199 0138: MOVWF FD5
200 .................... setup_timer_1(T1_DISABLED);
201 013A: CLRF FCD
202 .................... setup_timer_2(T2_DISABLED,0,1);
203 013C: MOVLW 00
204 013E: MOVWF FCA
205 0140: MOVLW 00
206 0142: MOVWF FCB
207 .................... setup_timer_3(T3_EXTERNAL|T3_DIV_BY_8);
208 0144: MOVLW B7
209 0146: MOVWF FB1
210 .................... setup_comparator(NC_NC_NC_NC);
211 0148: MOVLW 07
212 014A: MOVWF FB4
213 014C: MOVF F92,W
214 014E: MOVWF F92
215 0150: MOVLW 06
216 0152: MOVWF 00
217 0154: DECFSZ 00,F
218 0156: BRA 0154
219 0158: NOP
220 015A: MOVF FB4,W
221 015C: BCF FA1.6
222 .................... setup_vref(FALSE);
223 015E: CLRF FB5
224 ....................
225 .................... set_tris_b(0xFF);
226 0160: MOVLW FF
227 0162: MOVWF F93
228 .................... port_b_pullups(TRUE);
229 0164: BCF FF1.7
230 ....................
231 .................... enable_interrupts(INT_TIMER0);
232 0166: BSF FF2.5
233 .................... enable_interrupts(INT_RB);
234 0168: BSF FF2.3
235 .................... enable_interrupts(GLOBAL);
236 016A: MOVLW C0
237 016C: IORWF FF2,F
238 ....................
239 .................... while(true)
240 .................... {
241 .................... Output_toggle(LED1);
242 016E: BCF F92.1
243 0170: BTG F89.1
244 .................... Delay_ms(100);
245 0172: MOVLW 64
246 0174: MOVWF 18
247 0176: BRA 00C6
248 .................... }
249 0178: BRA 016E
250 .................... }
251 017A: SLEEP
252  
253 Configuration Fuses:
254 Word 1: C83F INTRC_IO IESO FCMEN PLL12 CPUDIV4 USBDIV
255 Word 2: 0E19 NOBROWNOUT WDT128 NOWDT BORV20 NOPUT NOVREGEN
256 Word 3: 8700 PBADEN CCP2C1 MCLR LPT1OSC
257 Word 4: 0081 STVREN NODEBUG NOLVP NOXINST NOICPRT
258 Word 5: C00F NOPROTECT NOCPD NOCPB
259 Word 6: E00F NOWRT NOWRTD NOWRTC NOWRTB
260 Word 7: 400F NOEBTR NOEBTRB