CCS PCM C Compiler, Version 4.059d, 15399 19-III-07 15:20Filename: main.lstROM used: 268 words (13%)Largest free fragment is 1780RAM used: 8 (2%) at main() level8 (2%) worst caseStack: 0 locations*0000: MOVLW 000001: MOVWF 0A0002: GOTO 0040003: NOP........................................ #include "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,RESTART_WDT).................... #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)................................................................................ #define LED1 PIN_A2.................... #define LED2 PIN_A3 // LEDky.................... #define LED3 PIN_A5.................... #define CIDLO 8 // Port A/D prevodniku.................... #define TAD 8 // Doba na prevod jednoho bitu........................................ void main().................... {0004: CLRF 040005: BCF 03.70006: MOVLW 1F0007: ANDWF 03,F0008: MOVLW 190009: BSF 03.5000A: MOVWF 19000B: MOVLW A6000C: MOVWF 18000D: MOVLW 90000E: BCF 03.5000F: MOVWF 180010: BSF 03.50011: BSF 1F.00012: BSF 1F.10013: BSF 1F.20014: BCF 1F.30015: MOVLW 070016: MOVWF 1C.................... int8 t; // Promenna pro nacteni hodnoty z cidla........................................ setup_adc_ports(AN0); // Povolime analogovy vstup 0*001A: BSF 03.5001B: BCF 1F.0001C: BSF 1F.1001D: BSF 1F.2001E: BSF 1F.3.................... setup_adc(ADC_CLOCK_DIV_8); // Delicka hodin pro prevodnik001F: BCF 1F.60020: BCF 03.50021: BSF 1F.60022: BCF 1F.70023: BSF 03.50024: BCF 1F.70025: BCF 03.50026: BSF 1F.0.................... // setup_psp(PSP_DISABLED); // Tento HW ma pouze PIC16F877A.................... setup_spi(SPI_SS_DISABLED);*0017: MOVLW FF0018: BCF 03.50019: MOVWF 20*0027: BCF 14.50028: BCF 20.50029: MOVF 20,W002A: BSF 03.5002B: MOVWF 07002C: BCF 03.5002D: BSF 20.4002E: MOVF 20,W002F: BSF 03.50030: MOVWF 070031: BCF 03.50032: BCF 20.30033: MOVF 20,W0034: BSF 03.50035: MOVWF 070036: MOVLW 010037: BCF 03.50038: MOVWF 140039: MOVLW 00003A: BSF 03.5003B: MOVWF 14.................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);003C: MOVF 01,W003D: ANDLW C7003E: IORLW 08003F: MOVWF 01.................... setup_timer_1(T1_DISABLED);0040: BCF 03.50041: CLRF 10.................... setup_timer_2(T2_DISABLED,0,1);0042: MOVLW 000043: MOVWF 780044: MOVWF 120045: MOVLW 000046: BSF 03.50047: MOVWF 12.................... setup_comparator(NC_NC_NC_NC);0048: MOVLW 070049: MOVWF 1C004A: MOVF 05,W004B: CLRWDT004C: MOVLW 02004D: MOVWF 77004E: DECFSZ 77,F004F: GOTO 04E0050: GOTO 0510051: MOVF 1C,W0052: BCF 03.50053: BCF 0D.6.................... setup_vref(FALSE);0054: BSF 03.50055: CLRF 1D........................................ set_adc_channel(CIDLO); // Pripojime cidlo na A/D prevodnik0056: MOVLW 400057: MOVWF 780058: BCF 03.50059: MOVF 1F,W005A: ANDLW C7005B: IORWF 78,W005C: MOVWF 1F.................... delay_us(20); // Pockame na nabiti kapacit po prepnuti005D: CLRWDT005E: MOVLW 06005F: MOVWF 770060: DECFSZ 77,F0061: GOTO 060................................................................................ while(TRUE){.................... t=read_adc(); // Prvni precteni cidla0062: BSF 1F.20063: BTFSC 1F.20064: GOTO 0630065: MOVF 1E,W0066: MOVWF 21.................... //printf("%d\n\r",t);........................................ if(t>00&&t<40){0067: MOVF 21,F0068: BTFSC 03.20069: GOTO 07B006A: MOVF 21,W006B: SUBLW 27006C: BTFSS 03.0006D: GOTO 07B.................... output_low(LED2);006E: BSF 03.5006F: BCF 05.30070: BCF 03.50071: BCF 05.3.................... output_low(LED3);0072: BSF 03.50073: BCF 05.50074: BCF 03.50075: BCF 05.5.................... output_high(LED1);0076: BSF 03.50077: BCF 05.20078: BCF 03.50079: BSF 05.2.................... //rozsvit modrou.................... }.................... else if(t>39&&t<60){007A: GOTO 10A007B: MOVF 21,W007C: SUBLW 27007D: BTFSC 03.0007E: GOTO 0B0007F: MOVF 21,W0080: SUBLW 3B0081: BTFSS 03.00082: GOTO 0B0.................... output_low(LED3);0083: BSF 03.50084: BCF 05.50085: BCF 03.50086: BCF 05.5.................... output_high (LED1); // Zhasneme LED0087: BSF 03.50088: BCF 05.20089: BCF 03.5008A: BSF 05.2.................... delay_us(100);008B: CLRWDT008C: MOVLW 20008D: MOVWF 77008E: DECFSZ 77,F008F: GOTO 08E0090: GOTO 091.................... output_low (LED1); // Rozsvitime LED0091: BSF 03.50092: BCF 05.20093: BCF 03.50094: BCF 05.2.................... delay_us(100);0095: CLRWDT0096: MOVLW 200097: MOVWF 770098: DECFSZ 77,F0099: GOTO 098009A: GOTO 09B.................... output_low (LED2); // Rozsvitime LED009B: BSF 03.5009C: BCF 05.3009D: BCF 03.5009E: BCF 05.3.................... delay_us(100);009F: CLRWDT00A0: MOVLW 2000A1: MOVWF 7700A2: DECFSZ 77,F00A3: GOTO 0A200A4: GOTO 0A5.................... output_high (LED2); // Zhasneme LED00A5: BSF 03.500A6: BCF 05.300A7: BCF 03.500A8: BSF 05.3.................... delay_us(100);00A9: CLRWDT00AA: MOVLW 2000AB: MOVWF 7700AC: DECFSZ 77,F00AD: GOTO 0AC00AE: GOTO 0AF.................... //rozsvit modrou+zelenou.................... }.................... else if(t>59&&t<80){00AF: GOTO 10A00B0: MOVF 21,W00B1: SUBLW 3B00B2: BTFSC 03.000B3: GOTO 0C500B4: MOVF 21,W00B5: SUBLW 4F00B6: BTFSS 03.000B7: GOTO 0C5.................... output_low(LED3);00B8: BSF 03.500B9: BCF 05.500BA: BCF 03.500BB: BCF 05.5.................... output_low(LED1);00BC: BSF 03.500BD: BCF 05.200BE: BCF 03.500BF: BCF 05.2.................... output_high(LED2);00C0: BSF 03.500C1: BCF 05.300C2: BCF 03.500C3: BSF 05.3.................... //rozvit zelenou.................... }.................... else if(t>79&&t<100){00C4: GOTO 10A00C5: MOVF 21,W00C6: SUBLW 4F00C7: BTFSC 03.000C8: GOTO 0FA00C9: MOVF 21,W00CA: SUBLW 6300CB: BTFSS 03.000CC: GOTO 0FA.................... output_low(LED1);00CD: BSF 03.500CE: BCF 05.200CF: BCF 03.500D0: BCF 05.2.................... output_high (LED3); // Zhasneme LED00D1: BSF 03.500D2: BCF 05.500D3: BCF 03.500D4: BSF 05.5.................... delay_us(100);00D5: CLRWDT00D6: MOVLW 2000D7: MOVWF 7700D8: DECFSZ 77,F00D9: GOTO 0D800DA: GOTO 0DB.................... output_low (LED3); // Rozsvitime LED00DB: BSF 03.500DC: BCF 05.500DD: BCF 03.500DE: BCF 05.5.................... delay_us(100);00DF: CLRWDT00E0: MOVLW 2000E1: MOVWF 7700E2: DECFSZ 77,F00E3: GOTO 0E200E4: GOTO 0E5.................... output_low (LED2); // Rozsvitime LED00E5: BSF 03.500E6: BCF 05.300E7: BCF 03.500E8: BCF 05.3.................... delay_us(100);00E9: CLRWDT00EA: MOVLW 2000EB: MOVWF 7700EC: DECFSZ 77,F00ED: GOTO 0EC00EE: GOTO 0EF.................... output_high (LED2); // Zhasneme LED00EF: BSF 03.500F0: BCF 05.300F1: BCF 03.500F2: BSF 05.3.................... delay_us(100);00F3: CLRWDT00F4: MOVLW 2000F5: MOVWF 7700F6: DECFSZ 77,F00F7: GOTO 0F600F8: GOTO 0F9.................... //rozsvit zelenou+cervenou.................... }.................... else if(t>99){00F9: GOTO 10A00FA: MOVF 21,W00FB: SUBLW 6300FC: BTFSC 03.000FD: GOTO 10A.................... output_low(LED1);00FE: BSF 03.500FF: BCF 05.20100: BCF 03.50101: BCF 05.2.................... output_low(LED2);0102: BSF 03.50103: BCF 05.30104: BCF 03.50105: BCF 05.3.................... output_high(LED3);0106: BSF 03.50107: BCF 05.50108: BCF 03.50109: BSF 05.5.................... //rozsvit cervenou.................... }.................... }}010A: GOTO 062........................................010B: SLEEPConfiguration Fuses:Word 1: 3939 XT NOWDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD WRT_50%