0 Usuarios y 4 Visitantes están viendo este tema.
CCS PCM C Compiler, Version 4.124, 15004 02-Dic-11 21:31 Filename: C:\Jeremy\Probando_PIC12LF1822_CCSv4_124\Prob.lst ROM used: 255 words (12%) Largest free fragment is 1792 RAM used: 19 (15%) at main() level 34 (27%) worst case Stack: 2 worst case (0 in main + 2 for interrupts)*0000: MOVLP 000001: GOTO 08D0002: NOP*0004: CLRF 030005: CLRF 0A0006: MOVLB 000007: MOVF 20,W0008: MOVWF 240009: MOVF 21,W000A: MOVWF 25000B: MOVF 22,W000C: MOVWF 26000D: MOVF 23,W000E: MOVWF 27000F: BTFSS 0B.50010: GOTO 0130011: BTFSC 0B.20012: GOTO 0230013: MOVF 24,W0014: MOVWF 200015: MOVF 25,W0016: MOVWF 210017: MOVF 26,W0018: MOVWF 220019: MOVF 27,W001A: MOVWF 23001B: RETFIE.................... .................... #INCLUDE <12LF1822.h> .................... //////// Standard Header file for the PIC12LF1822 device //////////////// *008A: BCF 0B.2008B: MOVLP 00008C: GOTO 013.................... #device PIC12LF1822 .................... #list .................... .................... .................... #FUSES INTRC_IO .................... #FUSES NOWDT .................... #FUSES PUT .................... #FUSES NOMCLR .................... #FUSES PROTECT .................... #FUSES NOCPD .................... #FUSES NOBROWNOUT .................... #FUSES NOCLKOUT .................... #FUSES NOIESO .................... #FUSES NOFCMEN .................... #FUSES NOWRT .................... #FUSES PLL_SW .................... #FUSES STVREN .................... #FUSES BORV25 .................... #FUSES NODEBUG .................... #FUSES NOLVP .................... .................... #USE DELAY (CLOCK = 32 000 000) .................... .................... #USE TOUCHPAD (PIN_A2 = 'A') .................... .................... #USE FAST_IO(A) .................... .................... #DEFINE PIN_TEST PIN_A4 .................... .................... char Touch_tecla; .................... .................... #ZERO_RAM .................... void Main (void) .................... { *008D: MOVLW 5E008E: MOVWF 20008F: MOVLW 210090: MOVWF 040091: MOVLW 000092: MOVWF 050093: CLRF 000094: INCF 04,F0095: DECFSZ 20,F0096: GOTO 0930097: MOVLW 200098: MOVWF 200099: MOVLW A0009A: MOVWF 04009B: MOVLW 00009C: MOVWF 05009D: CLRF 00009E: INCF 04,F009F: DECFSZ 20,F00A0: GOTO 09D00A1: CLRF 2000A2: CLRF 0500A3: CLRF 0400A4: MOVLW 1F00A5: ANDWF 03,F00A6: MOVLW F000A7: MOVLB 0100A8: MOVWF 1900A9: MOVLW 0300AA: MOVLB 0000AB: MOVWF 2900AC: CLRF 2800AD: MOVLB 0100AE: MOVF 15,W00AF: ANDLW C000B0: IORLW 0700B1: MOVWF 1500B2: MOVLW C500B3: MOVLB 0000B4: MOVWF 1800B5: MOVLW 8100B6: MOVWF 1900B7: MOVLW 8D00B8: MOVWF 1E00B9: MOVLW 0200BA: MOVWF 1F00BB: BSF 0B.500BC: MOVLB 0300BD: CLRF 0C00BE: MOVLB 0200BF: CLRF 1200C0: CLRF 11.................... setup_oscillator(OSC_8MHZ | OSC_NORMAL | OSC_PLL_ON); 00C1: MOVLW F000C2: MOVLB 0100C3: MOVWF 19.................... .................... setup_adc_ports(NO_ANALOGS|VSS_VDD); 00C4: BCF 1E.000C5: BCF 1E.100C6: MOVLW 0000C7: MOVLB 0300C8: MOVWF 0C00C9: MOVWF 0E.................... setup_adc(ADC_OFF); 00CA: MOVLB 0100CB: BCF 1D.0.................... setup_dac(DAC_OFF); 00CC: MOVLB 0200CD: CLRF 18.................... //setup_dac(DAC_VSS_VDD | DAC_OUTPUT); .................... setup_spi(SPI_SS_DISABLED); 00CE: BCF 1D.500CF: BCF 1D.600D0: MOVLB 0400D1: BCF 15.500D2: MOVLW 0100D3: MOVWF 1500D4: MOVLW 0000D5: MOVWF 14.................... //setup_timer_0(T0_internal); .................... //setup_timer_1(T1_DISABLED); .................... setup_timer_2(T2_DISABLED,0,1); 00D6: MOVLB 0000D7: MOVWF 2100D8: MOVWF 1C00D9: MOVLW 0000DA: MOVWF 1B.................... setup_ccp1(CCP_OFF); 00DB: MOVLB 0500DC: CLRF 1300DD: CLRF 1400DE: CLRF 1500DF: BCF 1E.000E0: BCF 1E.1.................... setup_comparator(NC_NC); 00E1: MOVLB 0200E2: CLRF 1200E3: CLRF 11.................... .................... set_tris_a(0b001100); 00E4: MOVLW 0C00E5: MOVLB 0100E6: MOVWF 0C.................... output_a(0); 00E7: MOVLB 0200E8: CLRF 0C.................... .................... TOUCHPAD_STATE(1); //calibrates, then enters normal state 00E9: MOVLW 0200EA: MOVLB 0000EB: MOVWF 29.................... .................... enable_interrupts(GLOBAL); 00EC: MOVLW C000ED: IORWF 0B,F.................... .................... while (true) .................... { .................... if (touchpad_hit() == true) 00EE: MOVF 28,W00EF: BTFSC 03.200F0: GOTO 0FE.................... { .................... Touch_tecla = TOUCHPAD_GETC(); //will wait until a pin is detected 00F1: MOVF 28,W00F2: BTFSC 03.200F3: GOTO 0F100F4: CLRF 2800F5: MOVWF 30.................... .................... if (Touch_tecla == 'A') 00F6: MOVF 30,W00F7: SUBLW 4100F8: BTFSS 03.200F9: GOTO 0FE.................... output_toggle(PIN_TEST); 00FA: MOVLW 1000FB: MOVLB 0200FC: XORWF 0C,F00FD: MOVLB 00.................... } .................... } 00FE: GOTO 0EE.................... } 00FF: SLEEP