CCS PCM C Compiler, Version 4.059d, 15399 20-IV-06 14:11Filename: main.lstROM used: 335 words (16%)Largest free fragment is 1713RAM used: 11 (3%) at main() level15 (4%) worst caseStack: 2 locations*0000: MOVLW 000001: MOVWF 0A0002: GOTO 0810003: NOP.................... #include "C:\RS\gmc\main.h".................... #include <16F877A.h>.................... //////// Standard Header file for the PIC16F877A device ////////////////.................... #device PIC16F877A.................... #list........................................ #device adc=8........................................ #FUSES NOWDT //No Watch Dog Timer.................... #FUSES XT //Crystal osc <= 4mhz.................... #FUSES NOPUT //No Power Up Timer.................... #FUSES NOPROTECT //Code not protected from reading.................... #FUSES NODEBUG //No Debug mode for ICD.................... #FUSES NOBROWNOUT //No brownout reset.................... #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O.................... #FUSES NOCPD //No EE protection.................... #FUSES WRT_50% //Lower half of Program Memory is Write Protected........................................ #use delay(clock=4000000)*001F: MOVLW 250020: MOVWF 040021: BCF 03.70022: MOVF 00,W0023: BTFSC 03.20024: GOTO 0330025: MOVLW 010026: MOVWF 780027: CLRF 770028: DECFSZ 77,F0029: GOTO 028002A: DECFSZ 78,F002B: GOTO 027002C: MOVLW 4A002D: MOVWF 77002E: DECFSZ 77,F002F: GOTO 02E0030: GOTO 0310031: DECFSZ 00,F0032: GOTO 0250033: RETLW 00.................... #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)............................................................ //#define PIP1 output_high(PIN_A2).................... //#define PIP2 output_low(PIN_A3)........................................ void main().................... {*0081: CLRF 040082: BCF 03.70083: MOVLW 1F0084: ANDWF 03,F0085: MOVLW 190086: BSF 03.50087: MOVWF 190088: MOVLW A60089: MOVWF 18008A: MOVLW 90008B: BCF 03.5008C: MOVWF 18008D: BSF 03.5008E: BSF 1F.0008F: BSF 1F.10090: BSF 1F.20091: BCF 1F.30092: MOVLW 070093: MOVWF 1C........................................ unsigned int8 poc;.................... //int8 delay;.................... int cas;.................... int b;........................................ b=0;*0097: CLRF 23............................................................ setup_adc_ports(NO_ANALOGS);0098: BSF 03.50099: BSF 1F.0009A: BSF 1F.1009B: BSF 1F.2009C: BCF 1F.3.................... setup_adc(ADC_OFF);009D: BCF 03.5009E: BCF 1F.0.................... setup_psp(PSP_DISABLED);009F: BSF 03.500A0: BCF 09.4.................... setup_spi(SPI_SS_DISABLED);*0094: MOVLW FF0095: BCF 03.50096: MOVWF 20*00A1: BCF 03.500A2: BCF 14.500A3: BCF 20.500A4: MOVF 20,W00A5: BSF 03.500A6: MOVWF 0700A7: BCF 03.500A8: BSF 20.400A9: MOVF 20,W00AA: BSF 03.500AB: MOVWF 0700AC: BCF 03.500AD: BCF 20.300AE: MOVF 20,W00AF: BSF 03.500B0: MOVWF 0700B1: MOVLW 0100B2: BCF 03.500B3: MOVWF 1400B4: MOVLW 0000B5: BSF 03.500B6: MOVWF 14.................... setup_timer_0(RTCC_EXT_L_TO_H|RTCC_DIV_1);00B7: MOVF 01,W00B8: ANDLW C700B9: IORLW 2800BA: MOVWF 01.................... setup_timer_1(T1_EXTERNAL|T1_DIV_BY_8);00BB: MOVLW B700BC: BCF 03.500BD: MOVWF 10.................... setup_timer_2(T2_DIV_BY_1,1023,1);00BE: MOVLW 0000BF: MOVWF 7800C0: IORLW 0400C1: MOVWF 1200C2: MOVLW FF00C3: BSF 03.500C4: MOVWF 12.................... setup_ccp1(CCP_PWM);00C5: BCF 03.500C6: BCF 20.200C7: MOVF 20,W00C8: BSF 03.500C9: MOVWF 0700CA: BCF 03.500CB: BCF 07.200CC: MOVLW 0C00CD: MOVWF 17.................... setup_ccp2(CCP_PWM);00CE: BCF 20.100CF: MOVF 20,W00D0: BSF 03.500D1: MOVWF 0700D2: BCF 03.500D3: BCF 07.100D4: MOVLW 0C00D5: MOVWF 1D.................... set_pwm1_duty(265);00D6: MOVLW 4200D7: MOVWF 1500D8: MOVF 17,W00D9: ANDLW CF00DA: IORLW 1000DB: MOVWF 17.................... set_pwm2_duty(265);00DC: MOVLW 4200DD: MOVWF 1B00DE: MOVF 1D,W00DF: ANDLW CF00E0: IORLW 1000E1: MOVWF 1D.................... setup_comparator(NC_NC_NC_NC);00E2: MOVLW 0700E3: BSF 03.500E4: MOVWF 1C00E5: MOVF 05,W00E6: MOVLW 0300E7: MOVWF 7700E8: DECFSZ 77,F00E9: GOTO 0E800EA: MOVF 1C,W00EB: BCF 03.500EC: BCF 0D.6.................... setup_vref(FALSE);00ED: BSF 03.500EE: CLRF 1D.................................................................................................... while(TRUE).................... {.................... //set_timer0(0);.................... for(b=0;b<5;b++)00EF: BCF 03.500F0: CLRF 2300F1: MOVF 23,W00F2: SUBLW 0400F3: BTFSS 03.000F4: GOTO 132........................................ {.................... //delay=read_adc(); //pwm-ka je nastavena na pevnou hodnotu.................... // set_pwm1_duty(delay);.................... //set_pwm2_duty(delay);............................................................ poc=get_timer0();00F5: MOVF 01,W00F6: MOVWF 21.................... if (poc!=poc)00F7: MOVF 21,W00F8: SUBWF 21,W00F9: BTFSC 03.200FA: GOTO 129.................... {.................... poc++;00FB: INCF 21,F........................................ cas=get_timer1();00FC: MOVF 0F,W00FD: MOVWF 7A00FE: MOVF 0E,W00FF: MOVWF 770100: MOVF 0F,W0101: SUBWF 7A,W0102: BTFSS 03.20103: GOTO 0FC0104: MOVF 77,W0105: MOVWF 22.................... cas++;0106: INCF 22,F.................... /*output_low(PIN_A2);.................... output_high(PIN_A3);.................... delay_us(500);.................... output_high(PIN_A2);.................... output_low(PIN_A3);*/.................... if(cas=~cas)0107: COMF 22,F0108: BTFSC 03.20109: GOTO 129.................... {.................... output_low(PIN_C4);010A: BCF 20.4010B: MOVF 20,W010C: BSF 03.5010D: MOVWF 07010E: BCF 03.5010F: BCF 07.4.................... output_high(PIN_C5);0110: BCF 20.50111: MOVF 20,W0112: BSF 03.50113: MOVWF 070114: BCF 03.50115: BSF 07.5.................... delay_ms(300);0116: MOVLW 020117: MOVWF 240118: MOVLW 960119: MOVWF 25011A: CALL 01F011B: DECFSZ 24,F011C: GOTO 118.................... output_high(PIN_C4);011D: BCF 20.4011E: MOVF 20,W011F: BSF 03.50120: MOVWF 070121: BCF 03.50122: BSF 07.4.................... output_low(PIN_C5);0123: BCF 20.50124: MOVF 20,W0125: BSF 03.50126: MOVWF 070127: BCF 03.50128: BCF 07.5.................... }.................... //!PIP1;.................... //!PIP2;.................... //delay_cycles(300);.................... //PIP1;.................... //PIP2;.................... //delay_ms(110);.................... }................................................................................ delay_ms(500);0129: MOVLW 02012A: MOVWF 24012B: MOVLW FA012C: MOVWF 25012D: CALL 01F012E: DECFSZ 24,F012F: GOTO 12B.................... }0130: INCF 23,F0131: GOTO 0F1............................................................ printf("\n\r");0132: MOVLW 0A0133: BTFSS 0C.40134: GOTO 1330135: MOVWF 190136: MOVLW 0D0137: BTFSS 0C.40138: GOTO 1370139: MOVWF 19.................... printf("sum of peaks per 1s:\n\r");013A: CLRF 24013B: MOVF 24,W013C: CALL 004013D: INCF 24,F013E: MOVWF 77013F: MOVF 77,W0140: BTFSS 0C.40141: GOTO 1400142: MOVWF 190143: MOVLW 160144: SUBWF 24,W0145: BTFSS 03.20146: GOTO 13B.................... printf("%u",poc);0147: MOVF 21,W0148: MOVWF 240149: MOVLW 1B014A: MOVWF 25014B: GOTO 049.................... set_timer0(0);014C: CLRF 01............................................................ }014D: GOTO 0F0............................................................ }014E: SLEEPConfiguration Fuses:Word 1: 3939 XT NOWDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD WRT_50%