0,0 → 1,260 |
CCS PCH C Compiler, Version 4.090, 47914 20-I-10 01:41 |
|
Filename: D:\MLAB\Designs\STOPWATCH02A\SW\test\main.lst |
|
ROM used: 376 bytes (1%) |
Largest free fragment is 32388 |
RAM used: 24 (1%) at main() level |
25 (1%) worst case |
Stack: 2 worst case (1 in main + 1 for interrupts) |
|
* |
0000: GOTO 00EE |
* |
0008: MOVWF 05 |
000A: MOVFF FD8,06 |
000E: MOVFF FE0,07 |
0012: MOVLB 0 |
0014: MOVFF FE9,0D |
0018: MOVFF FEA,08 |
001C: MOVFF FE1,09 |
0020: MOVFF FE2,0A |
0024: MOVFF FD9,0B |
0028: MOVFF FDA,0C |
002C: MOVFF FF3,14 |
0030: MOVFF FF4,15 |
0034: MOVFF FFA,16 |
0038: MOVFF 00,0F |
003C: MOVFF 01,10 |
0040: MOVFF 02,11 |
0044: MOVFF 03,12 |
0048: MOVFF 04,13 |
004C: BTFSS FF2.5 |
004E: GOTO 0058 |
0052: BTFSC FF2.2 |
0054: GOTO 00AA |
0058: BTFSS FF2.3 |
005A: GOTO 0064 |
005E: BTFSC FF2.0 |
0060: GOTO 00B4 |
0064: MOVFF 0F,00 |
0068: MOVFF 10,01 |
006C: MOVFF 11,02 |
0070: MOVFF 12,03 |
0074: MOVFF 13,04 |
0078: MOVFF 0D,FE9 |
007C: MOVFF 08,FEA |
0080: BSF 08.7 |
0082: MOVFF 09,FE1 |
0086: MOVFF 0A,FE2 |
008A: MOVFF 0B,FD9 |
008E: MOVFF 0C,FDA |
0092: MOVFF 14,FF3 |
0096: MOVFF 15,FF4 |
009A: MOVFF 16,FFA |
009E: MOVF 05,W |
00A0: MOVFF 07,FE0 |
00A4: MOVFF 06,FD8 |
00A8: RETFIE 0 |
.................... #include "D:\MLAB\Designs\STOPWATCH02A\SW\test\main.h" |
.................... #include <18F4550.h> |
.................... //////// Standard Header file for the PIC18F4550 device //////////////// |
.................... #device PIC18F4550 |
.................... #list |
.................... |
.................... #device adc=8 |
.................... |
.................... #FUSES NOWDT //No Watch Dog Timer |
.................... #FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale |
.................... #FUSES INTRC_IO |
.................... #FUSES NOPROTECT //Code not protected from reading |
.................... #FUSES NOBROWNOUT //No brownout reset |
.................... #FUSES BORV20 //Brownout reset at 2.0V |
.................... #FUSES NOPUT //No Power Up Timer |
.................... #FUSES NOCPD //No EE protection |
.................... #FUSES STVREN //Stack full/underflow will cause reset |
.................... #FUSES NODEBUG //No Debug mode for ICD |
.................... #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O |
.................... #FUSES NOWRT //Program memory not write protected |
.................... #FUSES NOWRTD //Data EEPROM not write protected |
.................... #FUSES IESO //Internal External Switch Over mode enabled |
.................... #FUSES FCMEN //Fail-safe clock monitor enabled |
.................... #FUSES PBADEN //PORTB pins are configured as analog input channels on RESET |
.................... #FUSES NOWRTC //configuration not registers write protected |
.................... #FUSES NOWRTB //Boot block not write protected |
.................... #FUSES NOEBTR //Memory not protected from table reads |
.................... #FUSES NOEBTRB //Boot block not protected from table reads |
.................... #FUSES NOCPB //No Boot Block code protection |
.................... #FUSES MCLR //Master Clear pin enabled |
.................... #FUSES LPT1OSC //Timer1 configured for low-power operation |
.................... #FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode) |
.................... #FUSES PLL12 //Divide By 12(48MHz oscillator input) |
.................... #FUSES CPUDIV4 //System Clock by 4 |
.................... #FUSES USBDIV //USB clock source comes from PLL divide by 2 |
.................... #FUSES NOVREGEN //USB voltage regulator enabled |
.................... #FUSES NOICPRT //ICPRT enabled |
.................... |
.................... #use delay(clock=8000000) |
* |
00C6: CLRF FEA |
00C8: MOVLW 18 |
00CA: MOVWF FE9 |
00CC: MOVF FEF,W |
00CE: BZ 00EA |
00D0: MOVLW 02 |
00D2: MOVWF 01 |
00D4: CLRF 00 |
00D6: DECFSZ 00,F |
00D8: BRA 00D6 |
00DA: DECFSZ 01,F |
00DC: BRA 00D4 |
00DE: MOVLW 97 |
00E0: MOVWF 00 |
00E2: DECFSZ 00,F |
00E4: BRA 00E2 |
00E6: DECFSZ FEF,F |
00E8: BRA 00D0 |
00EA: GOTO 0178 (RETURN) |
.................... #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) |
.................... |
.................... |
.................... |
.................... #define LED1 PIN_A1 |
.................... #define LED2 PIN_A2 |
.................... |
.................... #int_TIMER0 |
.................... void TIMER0_isr(void) |
.................... { |
.................... Output_low(LED2); |
* |
00AA: BCF F92.2 |
00AC: BCF F89.2 |
.................... } |
.................... |
00AE: BCF FF2.2 |
00B0: GOTO 0064 |
.................... #int_RB |
.................... void RB_isr(void) |
.................... { |
.................... output_high(LED2); |
00B4: BCF F92.2 |
00B6: BSF F89.2 |
.................... output_toggle(PIN_B2); |
00B8: BCF F93.2 |
00BA: BTG F8A.2 |
.................... input_b(); |
00BC: MOVLW FF |
00BE: MOVWF F93 |
.................... } |
.................... |
.................... |
00C0: BCF FF2.0 |
00C2: GOTO 0064 |
.................... void main() |
.................... { |
* |
00EE: CLRF FF8 |
00F0: BCF FD0.7 |
00F2: BSF 08.7 |
00F4: CLRF FEA |
00F6: CLRF FE9 |
00F8: MOVLW 70 |
00FA: MOVWF FD3 |
00FC: MOVF FD3,W |
00FE: BCF FB8.3 |
0100: MOVLW 0C |
0102: MOVWF FAF |
0104: MOVLW A2 |
0106: MOVWF FAC |
0108: MOVLW 90 |
010A: MOVWF FAB |
010C: MOVF FC1,W |
010E: ANDLW C0 |
0110: IORLW 0F |
0112: MOVWF FC1 |
0114: MOVLW 07 |
0116: MOVWF FB4 |
.................... setup_adc_ports(NO_ANALOGS|VSS_VDD); |
0118: MOVF FC1,W |
011A: ANDLW C0 |
011C: IORLW 0F |
011E: MOVWF FC1 |
.................... setup_adc(ADC_OFF); |
0120: BCF FC2.0 |
.................... setup_psp(PSP_DISABLED); |
0122: BCF FB0.4 |
.................... setup_spi(SPI_SS_DISABLED); |
0124: BCF FC6.5 |
0126: BCF F94.7 |
0128: BSF F93.0 |
012A: BCF F93.1 |
012C: MOVLW 01 |
012E: MOVWF FC6 |
0130: MOVLW 00 |
0132: MOVWF FC7 |
.................... setup_wdt(WDT_OFF); |
0134: BCF FD1.0 |
.................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4); |
0136: MOVLW 81 |
0138: MOVWF FD5 |
.................... setup_timer_1(T1_DISABLED); |
013A: CLRF FCD |
.................... setup_timer_2(T2_DISABLED,0,1); |
013C: MOVLW 00 |
013E: MOVWF FCA |
0140: MOVLW 00 |
0142: MOVWF FCB |
.................... setup_timer_3(T3_EXTERNAL|T3_DIV_BY_8); |
0144: MOVLW B7 |
0146: MOVWF FB1 |
.................... setup_comparator(NC_NC_NC_NC); |
0148: MOVLW 07 |
014A: MOVWF FB4 |
014C: MOVF F92,W |
014E: MOVWF F92 |
0150: MOVLW 06 |
0152: MOVWF 00 |
0154: DECFSZ 00,F |
0156: BRA 0154 |
0158: NOP |
015A: MOVF FB4,W |
015C: BCF FA1.6 |
.................... setup_vref(FALSE); |
015E: CLRF FB5 |
.................... |
.................... set_tris_b(0xFF); |
0160: MOVLW FF |
0162: MOVWF F93 |
.................... port_b_pullups(TRUE); |
0164: BCF FF1.7 |
.................... |
.................... enable_interrupts(INT_TIMER0); |
0166: BSF FF2.5 |
.................... enable_interrupts(INT_RB); |
0168: BSF FF2.3 |
.................... enable_interrupts(GLOBAL); |
016A: MOVLW C0 |
016C: IORWF FF2,F |
.................... |
.................... while(true) |
.................... { |
.................... Output_toggle(LED1); |
016E: BCF F92.1 |
0170: BTG F89.1 |
.................... Delay_ms(100); |
0172: MOVLW 64 |
0174: MOVWF 18 |
0176: BRA 00C6 |
.................... } |
0178: BRA 016E |
.................... } |
017A: SLEEP |
|
Configuration Fuses: |
Word 1: C83F INTRC_IO IESO FCMEN PLL12 CPUDIV4 USBDIV |
Word 2: 0E19 NOBROWNOUT WDT128 NOWDT BORV20 NOPUT NOVREGEN |
Word 3: 8700 PBADEN CCP2C1 MCLR LPT1OSC |
Word 4: 0081 STVREN NODEBUG NOLVP NOXINST NOICPRT |
Word 5: C00F NOPROTECT NOCPD NOCPB |
Word 6: E00F NOWRT NOWRTD NOWRTC NOWRTB |
Word 7: 400F NOEBTR NOEBTRB |