0,0 → 1,261 |
CCS PCH C Compiler, Version 4.090, 47914 23-I-10 18:55 |
|
Filename: D:\MLAB\Designs\STOPWATCH02A\SW\test\main.lst |
|
ROM used: 370 bytes (1%) |
Largest free fragment is 32394 |
RAM used: 25 (1%) at main() level |
26 (1%) worst case |
Stack: 2 worst case (1 in main + 1 for interrupts) |
|
* |
0000: GOTO 00D0 |
* |
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 009E |
0058: MOVFF 0F,00 |
005C: MOVFF 10,01 |
0060: MOVFF 11,02 |
0064: MOVFF 12,03 |
0068: MOVFF 13,04 |
006C: MOVFF 0D,FE9 |
0070: MOVFF 08,FEA |
0074: BSF 08.7 |
0076: MOVFF 09,FE1 |
007A: MOVFF 0A,FE2 |
007E: MOVFF 0B,FD9 |
0082: MOVFF 0C,FDA |
0086: MOVFF 14,FF3 |
008A: MOVFF 15,FF4 |
008E: MOVFF 16,FFA |
0092: MOVF 05,W |
0094: MOVFF 07,FE0 |
0098: MOVFF 06,FD8 |
009C: 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) |
* |
00A8: CLRF FEA |
00AA: MOVLW 19 |
00AC: MOVWF FE9 |
00AE: MOVF FEF,W |
00B0: BZ 00CC |
00B2: MOVLW 02 |
00B4: MOVWF 01 |
00B6: CLRF 00 |
00B8: DECFSZ 00,F |
00BA: BRA 00B8 |
00BC: DECFSZ 01,F |
00BE: BRA 00B6 |
00C0: MOVLW 97 |
00C2: MOVWF 00 |
00C4: DECFSZ 00,F |
00C6: BRA 00C4 |
00C8: DECFSZ FEF,F |
00CA: BRA 00B2 |
00CC: GOTO 015C (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); |
* |
009E: BCF F92.2 |
00A0: BCF F89.2 |
.................... } |
.................... |
.................... /*#int_RB |
.................... void RB_isr(void) |
.................... { |
.................... output_high(LED2); |
.................... }*/ |
.................... |
.................... |
00A2: BCF FF2.2 |
00A4: GOTO 0058 |
.................... void main() |
.................... { |
* |
00D0: CLRF FF8 |
00D2: BCF FD0.7 |
00D4: BSF 08.7 |
00D6: CLRF FEA |
00D8: CLRF FE9 |
00DA: MOVLW 70 |
00DC: MOVWF FD3 |
00DE: MOVF FD3,W |
00E0: BCF FB8.3 |
00E2: MOVLW 0C |
00E4: MOVWF FAF |
00E6: MOVLW A2 |
00E8: MOVWF FAC |
00EA: MOVLW 90 |
00EC: MOVWF FAB |
00EE: MOVF FC1,W |
00F0: ANDLW C0 |
00F2: IORLW 0F |
00F4: MOVWF FC1 |
00F6: MOVLW 07 |
00F8: MOVWF FB4 |
.................... unsigned int8 last; |
.................... |
.................... setup_adc_ports(NO_ANALOGS|VSS_VDD); |
00FA: MOVF FC1,W |
00FC: ANDLW C0 |
00FE: IORLW 0F |
0100: MOVWF FC1 |
.................... setup_adc(ADC_OFF); |
0102: BCF FC2.0 |
.................... setup_psp(PSP_DISABLED); |
0104: BCF FB0.4 |
.................... setup_spi(SPI_SS_DISABLED); |
0106: BCF FC6.5 |
0108: BCF F94.7 |
010A: BSF F93.0 |
010C: BCF F93.1 |
010E: MOVLW 01 |
0110: MOVWF FC6 |
0112: MOVLW 00 |
0114: MOVWF FC7 |
.................... setup_wdt(WDT_OFF); |
0116: BCF FD1.0 |
.................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4); |
0118: MOVLW 81 |
011A: MOVWF FD5 |
.................... setup_timer_1(T1_DISABLED); |
011C: CLRF FCD |
.................... setup_timer_2(T2_DISABLED,0,1); |
011E: MOVLW 00 |
0120: MOVWF FCA |
0122: MOVLW 00 |
0124: MOVWF FCB |
.................... setup_timer_3(T3_EXTERNAL|T3_DIV_BY_8); |
0126: MOVLW B7 |
0128: MOVWF FB1 |
.................... setup_comparator(NC_NC_NC_NC); |
012A: MOVLW 07 |
012C: MOVWF FB4 |
012E: MOVF F92,W |
0130: MOVWF F92 |
0132: MOVLW 06 |
0134: MOVWF 00 |
0136: DECFSZ 00,F |
0138: BRA 0136 |
013A: NOP |
013C: MOVF FB4,W |
013E: BCF FA1.6 |
.................... setup_vref(FALSE); |
0140: CLRF FB5 |
.................... |
.................... port_b_pullups(TRUE); |
0142: BCF FF1.7 |
.................... |
.................... enable_interrupts(INT_TIMER0); |
0144: BSF FF2.5 |
.................... // enable_interrupts(INT_RB); |
.................... enable_interrupts(GLOBAL); |
0146: MOVLW C0 |
0148: IORWF FF2,F |
.................... |
.................... last=input_b(); |
014A: MOVLW FF |
014C: MOVWF F93 |
014E: MOVFF F81,18 |
.................... |
.................... while(true) |
.................... { |
.................... Output_toggle(LED1); |
0152: BCF F92.1 |
0154: BTG F89.1 |
.................... Delay_ms(100); |
0156: MOVLW 64 |
0158: MOVWF 19 |
015A: BRA 00A8 |
.................... if(last!=Input_b()) output_high(LED2); |
015C: MOVLW FF |
015E: MOVWF F93 |
0160: MOVF F81,W |
0162: SUBWF 18,W |
0164: BZ 016A |
0166: BCF F92.2 |
0168: BSF F89.2 |
.................... last=input_b(); |
016A: MOVLW FF |
016C: MOVWF F93 |
016E: MOVFF F81,18 |
.................... } |
0172: BRA 0152 |
.................... } |
0174: 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 |