CCS PCM C Compiler, Version 4.106, 47914 03-4-13 09:45Filename: C:\Users\Honza\Documents\pic\I2C_vlhkost\main.lstROM used: 1019 words (12%)Largest free fragment is 2048RAM used: 8 (2%) at main() level29 (8%) worst caseStack: 2 locations*0000: MOVLW 020001: MOVWF 0A0002: GOTO 2630003: NOP.................... #include "C:\Users\Honza\Documents\pic\I2C_vlhkost\main.h".................... #include <16F887.h>.................... //////// Standard Header file for the PIC16F887 device ////////////////.................... #device PIC16F887.................... #list........................................ #device adc=8........................................ #FUSES NOWDT //No Watch Dog Timer.................... #FUSES INTRC //Internal RC Osc.................... #FUSES NOPUT //No Power Up Timer.................... #FUSES MCLR //Master Clear pin enabled.................... #FUSES NOPROTECT //Code not protected from reading.................... #FUSES NOCPD //No EE protection.................... #FUSES NOBROWNOUT //No brownout reset.................... #FUSES IESO //Internal External Switch Over mode enabled.................... #FUSES FCMEN //Fail-safe clock monitor enabled.................... #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O.................... #FUSES NODEBUG //No Debug mode for ICD.................... #FUSES NOWRT //Program memory not write protected.................... #FUSES BORV40 //Brownout reset at 4.0V........................................ #use delay(clock=8000000)*024D: MOVLW 2F024E: MOVWF 04024F: BCF 03.70250: MOVF 00,W0251: BTFSC 03.20252: GOTO 2600253: MOVLW 020254: MOVWF 780255: CLRF 770256: DECFSZ 77,F0257: GOTO 2560258: DECFSZ 78,F0259: GOTO 255025A: MOVLW 97025B: MOVWF 77025C: DECFSZ 77,F025D: GOTO 25C025E: DECFSZ 00,F025F: GOTO 2530260: BCF 0A.30261: BCF 0A.40262: GOTO 3F7 (RETURN)................................................................................ #define EEPROM_SDA PIN_B0.................... #define EEPROM_SCL PIN_B1.................... #use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL)*009B: MOVLW 08009C: MOVWF 78009D: NOP009E: BCF 06.1009F: BSF 03.500A0: BCF 06.100A1: NOP00A2: BCF 03.500A3: RLF 2E,F00A4: BCF 06.000A5: BTFSS 03.000A6: GOTO 0AA00A7: BSF 03.500A8: BSF 06.000A9: BCF 03.500AA: BTFSC 03.000AB: GOTO 0AF00AC: BSF 03.500AD: BCF 06.000AE: BCF 03.500AF: BSF 03.500B0: BSF 06.100B1: BCF 03.500B2: BTFSS 06.100B3: GOTO 0B200B4: DECFSZ 78,F00B5: GOTO 09D00B6: NOP00B7: BCF 06.100B8: BSF 03.500B9: BCF 06.100BA: NOP00BB: BSF 06.000BC: NOP00BD: NOP00BE: BSF 06.100BF: BCF 03.500C0: BTFSS 06.100C1: GOTO 0C000C2: CLRF 7800C3: NOP00C4: BTFSC 06.000C5: BSF 78.000C6: BCF 06.100C7: BSF 03.500C8: BCF 06.100C9: BCF 03.500CA: BCF 06.000CB: BSF 03.500CC: BCF 06.000CD: BCF 03.500CE: RETURN00CF: MOVLW 0800D0: MOVWF 2F00D1: MOVF 77,W00D2: MOVWF 3000D3: BSF 03.500D4: BSF 06.000D5: NOP00D6: BSF 06.100D7: BCF 03.500D8: BTFSS 06.100D9: GOTO 0D800DA: BTFSC 06.000DB: BSF 03.000DC: BTFSS 06.000DD: BCF 03.000DE: RLF 78,F00DF: NOP00E0: BSF 03.500E1: BCF 06.100E2: BCF 03.500E3: BCF 06.100E4: DECFSZ 2F,F00E5: GOTO 0D300E6: BSF 03.500E7: BSF 06.000E8: NOP00E9: BCF 03.500EA: BCF 06.000EB: MOVF 30,W00EC: BTFSC 03.200ED: GOTO 0F100EE: BSF 03.500EF: BCF 06.000F0: BCF 03.500F1: NOP00F2: BSF 03.500F3: BSF 06.100F4: BCF 03.500F5: BTFSS 06.100F6: GOTO 0F500F7: NOP00F8: BCF 06.100F9: BSF 03.500FA: BCF 06.100FB: NOP00FC: BCF 03.500FD: BCF 06.000FE: BSF 03.500FF: BCF 06.00100: BCF 03.50101: RETURN.................... #use rs232(baud=9600,parity=N,xmit=PIN_B3,rcv=PIN_B2,bits=8) //rcv TXD xmit RXD*0031: BSF 03.50032: BCF 06.30033: BCF 03.50034: BCF 06.30035: MOVLW 080036: MOVWF 780037: GOTO 0380038: NOP0039: BSF 78.7003A: GOTO 049003B: BCF 78.7003C: RRF 37,F003D: BTFSC 03.0003E: BSF 06.3003F: BTFSS 03.00040: BCF 06.30041: BSF 78.60042: GOTO 0490043: BCF 78.60044: DECFSZ 78,F0045: GOTO 03C0046: GOTO 0470047: NOP0048: BSF 06.30049: MOVLW 3F004A: MOVWF 04004B: DECFSZ 04,F004C: GOTO 04B004D: NOP004E: BTFSC 78.7004F: GOTO 03B0050: BTFSC 78.60051: GOTO 0430052: RETURN............................................................ void main().................... {*0263: CLRF 040264: BCF 03.70265: MOVLW 1F0266: ANDWF 03,F0267: MOVLW 710268: BSF 03.50269: MOVWF 0F026A: MOVF 0F,W026B: BCF 06.3026C: BCF 03.5026D: BSF 06.3026E: BSF 03.5026F: BSF 03.60270: MOVF 09,W0271: ANDLW C00272: MOVWF 090273: BCF 03.60274: BCF 1F.40275: BCF 1F.50276: MOVLW 000277: BSF 03.60278: MOVWF 080279: BCF 03.5027A: CLRF 07027B: CLRF 08027C: CLRF 09........................................ setup_adc_ports(NO_ANALOGS|VSS_VDD);*0280: BSF 03.50281: BSF 03.60282: MOVF 09,W0283: ANDLW C00284: MOVWF 090285: BCF 03.60286: BCF 1F.40287: BCF 1F.50288: MOVLW 000289: BSF 03.6028A: MOVWF 08.................... setup_adc(ADC_CLOCK_DIV_2);028B: BCF 03.5028C: BCF 03.6028D: BCF 1F.6028E: BCF 1F.7028F: BSF 03.50290: BCF 1F.70291: BCF 03.50292: BSF 1F.0.................... setup_spi(SPI_SS_DISABLED);0293: BCF 14.50294: BCF 20.50295: MOVF 20,W0296: BSF 03.50297: MOVWF 070298: BCF 03.50299: BSF 20.4029A: MOVF 20,W029B: BSF 03.5029C: MOVWF 07029D: BCF 03.5029E: BCF 20.3029F: MOVF 20,W02A0: BSF 03.502A1: MOVWF 0702A2: MOVLW 0102A3: BCF 03.502A4: MOVWF 1402A5: MOVLW 0002A6: BSF 03.502A7: MOVWF 14.................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);02A8: MOVF 01,W02A9: ANDLW C702AA: IORLW 0802AB: MOVWF 01.................... setup_timer_1(T1_DISABLED);02AC: BCF 03.502AD: CLRF 10.................... setup_timer_2(T2_DISABLED,0,1);02AE: MOVLW 0002AF: MOVWF 7802B0: MOVWF 1202B1: MOVLW 0002B2: BSF 03.502B3: MOVWF 12.................... setup_ccp1(CCP_OFF);02B4: BCF 03.502B5: BSF 20.202B6: MOVF 20,W02B7: BSF 03.502B8: MOVWF 0702B9: BCF 03.502BA: CLRF 1702BB: BSF 03.502BC: CLRF 1B02BD: CLRF 1C02BE: MOVLW 0102BF: MOVWF 1D.................... setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard02C0: BCF 03.502C1: BSF 03.602C2: CLRF 0702C3: CLRF 0802C4: CLRF 09........................................ printf("Simple Thermomether \r\n",);02C5: MOVLW 0402C6: MOVWF 0D02C7: MOVLW 0002C8: MOVWF 0F02C9: BCF 03.602CA: GOTO 053........................................ int16 data1, data2, data3;........................................ int XL,XH,YL,YH,ZL,ZH;........................................ while(TRUE).................... {........................................ data1=0;02CB: CLRF 2202CC: CLRF 21.................... data2=0 ;02CD: CLRF 2402CE: CLRF 23............................................................ //akcelerometr.................... int1 ack;.................... i2c_start(); // If the write command is acknowledged,02CF: BSF 03.502D0: BSF 06.002D1: NOP02D2: BSF 06.102D3: NOP02D4: BCF 03.502D5: BCF 06.002D6: BSF 03.502D7: BCF 06.002D8: NOP02D9: BCF 03.502DA: BCF 06.102DB: BSF 03.502DC: BCF 06.1.................... ack = i2c_write(0x81);//hen the device is ready.02DD: MOVLW 8102DE: BCF 03.502DF: MOVWF 2E02E0: CALL 09B02E1: MOVF 78,W02E2: BCF 2D.002E3: BTFSC 78.002E4: BSF 2D.0.................... i2c_stop();02E5: BSF 03.502E6: BCF 06.002E7: NOP02E8: BSF 06.102E9: BCF 03.502EA: BTFSS 06.102EB: GOTO 2EA02EC: NOP02ED: GOTO 2EE02EE: NOP02EF: BSF 03.502F0: BSF 06.002F1: NOP.................... ack=!ack;02F2: MOVLW 0102F3: BCF 03.502F4: XORWF 2D,F................................................................................ i2c_stop(); //T02F5: BSF 03.502F6: BCF 06.002F7: NOP02F8: BSF 06.102F9: BCF 03.502FA: BTFSS 06.102FB: GOTO 2FA02FC: NOP02FD: GOTO 2FE02FE: NOP02FF: BSF 03.50300: BSF 06.00301: NOP........................................ i2c_start();0302: BSF 06.00303: NOP0304: BSF 06.10305: NOP0306: BCF 03.50307: BCF 06.00308: BSF 03.50309: BCF 06.0030A: NOP030B: BCF 03.5030C: BCF 06.1030D: BSF 03.5030E: BCF 06.1.................... I2C_Write(0x80);030F: MOVLW 800310: BCF 03.50311: MOVWF 2E0312: CALL 09B.................... I2C_write(0xF3);0313: MOVLW F30314: MOVWF 2E0315: CALL 09B.................... // i2c_stop();.................... i2c_start();0316: BSF 03.50317: BSF 06.00318: NOP0319: BSF 06.1031A: NOP031B: BCF 03.5031C: BTFSS 06.1031D: GOTO 31C031E: BCF 06.0031F: BSF 03.50320: BCF 06.00321: NOP0322: BCF 03.50323: BCF 06.10324: BSF 03.50325: BCF 06.1.................... I2C_Write(0x81);0326: MOVLW 810327: BCF 03.50328: MOVWF 2E0329: CALL 09B.................... XH=i2c_read(0);032A: CLRF 77032B: CALL 0CF032C: MOVF 78,W032D: MOVWF 28.................... XL=i2c_read(0);032E: CLRF 77032F: CALL 0CF0330: MOVF 78,W0331: MOVWF 27.................... i2c_stop();0332: BSF 03.50333: BCF 06.00334: NOP0335: BSF 06.10336: BCF 03.50337: BTFSS 06.10338: GOTO 3370339: NOP033A: GOTO 33B033B: NOP033C: BSF 03.5033D: BSF 06.0033E: NOP............................................................ i2c_start(); //RH033F: BSF 06.00340: NOP0341: BSF 06.10342: NOP0343: BCF 03.50344: BCF 06.00345: BSF 03.50346: BCF 06.00347: NOP0348: BCF 03.50349: BCF 06.1034A: BSF 03.5034B: BCF 06.1.................... I2C_Write(0x80);034C: MOVLW 80034D: BCF 03.5034E: MOVWF 2E034F: CALL 09B.................... I2C_write(0xF5);0350: MOVLW F50351: MOVWF 2E0352: CALL 09B.................... // i2c_stop();.................... i2c_start();0353: BSF 03.50354: BSF 06.00355: NOP0356: BSF 06.10357: NOP0358: BCF 03.50359: BTFSS 06.1035A: GOTO 359035B: BCF 06.0035C: BSF 03.5035D: BCF 06.0035E: NOP035F: BCF 03.50360: BCF 06.10361: BSF 03.50362: BCF 06.1.................... I2C_Write(0x81);0363: MOVLW 810364: BCF 03.50365: MOVWF 2E0366: CALL 09B.................... YH=i2c_read(0);0367: CLRF 770368: CALL 0CF0369: MOVF 78,W036A: MOVWF 2A.................... YL=i2c_read(0);036B: CLRF 77036C: CALL 0CF036D: MOVF 78,W036E: MOVWF 29.................... i2c_stop();036F: BSF 03.50370: BCF 06.00371: NOP0372: BSF 06.10373: BCF 03.50374: BTFSS 06.10375: GOTO 3740376: NOP0377: GOTO 3780378: NOP0379: BSF 03.5037A: BSF 06.0037B: NOP................................................................................ data1 = (((unsigned int16) XH << 8) + XL>>2 );037C: BCF 03.5037D: CLRF 2F037E: MOVF 28,W037F: MOVWF 2E0380: MOVWF 2F0381: CLRF 2E0382: MOVF 27,W0383: ADDWF 2E,F0384: BTFSC 03.00385: INCF 2F,F0386: RRF 2F,W0387: MOVWF 220388: RRF 2E,W0389: MOVWF 21038A: RRF 22,F038B: RRF 21,F038C: MOVLW 3F038D: ANDWF 22,F.................... data2 = (((unsigned int16) YH << 8) + YL>>2);038E: CLRF 2F038F: MOVF 2A,W0390: MOVWF 2E0391: MOVWF 2F0392: CLRF 2E0393: MOVF 29,W0394: ADDWF 2E,F0395: BTFSC 03.00396: INCF 2F,F0397: RRF 2F,W0398: MOVWF 240399: RRF 2E,W039A: MOVWF 23039B: RRF 24,F039C: RRF 23,F039D: MOVLW 3F039E: ANDWF 24,F............................................................ printf("Stav: %d (procenta)\r\n", ack);039F: MOVLW 0003A0: BTFSC 2D.003A1: MOVLW 0103A2: MOVWF 2E03A3: MOVLW 1003A4: BSF 03.603A5: MOVWF 0D03A6: MOVLW 0003A7: MOVWF 0F03A8: BCF 03.003A9: MOVLW 0603AA: BCF 03.603AB: MOVWF 2F03AC: CALL 10203AD: MOVF 2E,W03AE: MOVWF 2F03AF: MOVLW 1F03B0: MOVWF 3003B1: GOTO 16603B2: MOVLW 1403B3: BSF 03.603B4: MOVWF 0D03B5: MOVLW 0003B6: MOVWF 0F03B7: BCF 03.003B8: MOVLW 0D03B9: BCF 03.603BA: MOVWF 2F03BB: CALL 102........................................ printf("Stav: %Ld(procenta)\r\n", data1);03BC: MOVLW 1B03BD: BSF 03.603BE: MOVWF 0D03BF: MOVLW 0003C0: MOVWF 0F03C1: BCF 03.003C2: MOVLW 0603C3: BCF 03.603C4: MOVWF 2F03C5: CALL 10203C6: MOVLW 1003C7: MOVWF 0403C8: MOVF 22,W03C9: MOVWF 2F03CA: MOVF 21,W03CB: MOVWF 2E03CC: CALL 1CD03CD: MOVLW 1F03CE: BSF 03.603CF: MOVWF 0D03D0: MOVLW 0003D1: MOVWF 0F03D2: BSF 03.003D3: MOVLW 0C03D4: BCF 03.603D5: MOVWF 2F03D6: CALL 102.................... printf("Stav: %Ld(procenta)\r\n", data2);03D7: MOVLW 2603D8: BSF 03.603D9: MOVWF 0D03DA: MOVLW 0003DB: MOVWF 0F03DC: BCF 03.003DD: MOVLW 0603DE: BCF 03.603DF: MOVWF 2F03E0: CALL 10203E1: MOVLW 1003E2: MOVWF 0403E3: MOVF 24,W03E4: MOVWF 2F03E5: MOVF 23,W03E6: MOVWF 2E03E7: CALL 1CD03E8: MOVLW 2A03E9: BSF 03.603EA: MOVWF 0D03EB: MOVLW 0003EC: MOVWF 0F03ED: BSF 03.003EE: MOVLW 0C03EF: BCF 03.603F0: MOVWF 2F03F1: CALL 102........................................ delay_ms (2000);03F2: MOVLW 0803F3: MOVWF 2E03F4: MOVLW FA03F5: MOVWF 2F03F6: GOTO 24D03F7: DECFSZ 2E,F03F8: GOTO 3F4........................................ }03F9: GOTO 2CB.................... }....................03FA: SLEEPConfiguration Fuses:Word 1: 2CF5 INTRC NOWDT NOPUT MCLR NOPROTECT NOCPD NOBROWNOUT IESO FCMEN NOLVP NODEBUGWord 2: 3FFF NOWRT BORV40