CCS PCM C Compiler, Version 4.106, 47914 02-4-13 10:53Filename: C:\Users\Honza\Documents\pic\I2C_gyrsokop\main.lstROM used: 859 words (10%)Largest free fragment is 2048RAM used: 7 (2%) at main() level19 (5%) worst caseStack: 2 locations*0000: MOVLW 010001: MOVWF 0A0002: GOTO 1E10003: NOP.................... #include "C:\Users\Honza\Documents\pic\I2C_magnetometr\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)*01CB: MOVLW 2501CC: MOVWF 0401CD: BCF 03.701CE: MOVF 00,W01CF: BTFSC 03.201D0: GOTO 1DE01D1: MOVLW 0201D2: MOVWF 7801D3: CLRF 7701D4: DECFSZ 77,F01D5: GOTO 1D401D6: DECFSZ 78,F01D7: GOTO 1D301D8: MOVLW 9701D9: MOVWF 7701DA: DECFSZ 77,F01DB: GOTO 1DA01DC: DECFSZ 00,F01DD: GOTO 1D101DE: BCF 0A.301DF: BCF 0A.401E0: GOTO 357 (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 24,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 2500D1: MOVF 77,W00D2: MOVWF 2600D3: 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 25,F00E5: GOTO 0D300E6: BSF 03.500E7: BSF 06.000E8: NOP00E9: BCF 03.500EA: BCF 06.000EB: MOVF 26,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 2B,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().................... {*01E1: CLRF 0401E2: BCF 03.701E3: MOVLW 1F01E4: ANDWF 03,F01E5: MOVLW 7101E6: BSF 03.501E7: MOVWF 0F01E8: MOVF 0F,W01E9: BCF 06.301EA: BCF 03.501EB: BSF 06.301EC: BSF 03.501ED: BSF 03.601EE: MOVF 09,W01EF: ANDLW C001F0: MOVWF 0901F1: BCF 03.601F2: BCF 1F.401F3: BCF 1F.501F4: MOVLW 0001F5: BSF 03.601F6: MOVWF 0801F7: BCF 03.501F8: CLRF 0701F9: CLRF 0801FA: CLRF 09........................................ setup_adc_ports(NO_ANALOGS|VSS_VDD);*01FE: BSF 03.501FF: BSF 03.60200: MOVF 09,W0201: ANDLW C00202: MOVWF 090203: BCF 03.60204: BCF 1F.40205: BCF 1F.50206: MOVLW 000207: BSF 03.60208: MOVWF 08.................... setup_adc(ADC_CLOCK_DIV_2);0209: BCF 03.5020A: BCF 03.6020B: BCF 1F.6020C: BCF 1F.7020D: BSF 03.5020E: BCF 1F.7020F: BCF 03.50210: BSF 1F.0.................... setup_spi(SPI_SS_DISABLED);0211: BCF 14.50212: BCF 20.50213: MOVF 20,W0214: BSF 03.50215: MOVWF 070216: BCF 03.50217: BSF 20.40218: MOVF 20,W0219: BSF 03.5021A: MOVWF 07021B: BCF 03.5021C: BCF 20.3021D: MOVF 20,W021E: BSF 03.5021F: MOVWF 070220: MOVLW 010221: BCF 03.50222: MOVWF 140223: MOVLW 000224: BSF 03.50225: MOVWF 14.................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);0226: MOVF 01,W0227: ANDLW C70228: IORLW 080229: MOVWF 01.................... setup_timer_1(T1_DISABLED);022A: BCF 03.5022B: CLRF 10.................... setup_timer_2(T2_DISABLED,0,1);022C: MOVLW 00022D: MOVWF 78022E: MOVWF 12022F: MOVLW 000230: BSF 03.50231: MOVWF 12.................... setup_ccp1(CCP_OFF);0232: BCF 03.50233: BSF 20.20234: MOVF 20,W0235: BSF 03.50236: MOVWF 070237: BCF 03.50238: CLRF 170239: BSF 03.5023A: CLRF 1B023B: CLRF 1C023C: MOVLW 01023D: MOVWF 1D.................... setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard023E: BCF 03.5023F: BSF 03.60240: CLRF 070241: CLRF 080242: CLRF 09........................................ printf("Simple Thermomether \r\n",);0243: MOVLW 040244: MOVWF 0D0245: MOVLW 000246: MOVWF 0F0247: BCF 03.60248: GOTO 053........................................ int STAV1;.................... unsigned int data1;............................................................ while(TRUE).................... {................................................................................ //akcelerometr.................... int1 ack;.................... i2c_start(); // If the write command is acknowledged,0249: BSF 03.5024A: BSF 06.0024B: NOP024C: BSF 06.1024D: NOP024E: BCF 03.5024F: BCF 06.00250: BSF 03.50251: BCF 06.00252: NOP0253: BCF 03.50254: BCF 06.10255: BSF 03.50256: BCF 06.1.................... ack = i2c_write(0xD1);// then the device is ready.0257: MOVLW D10258: BCF 03.50259: MOVWF 24025A: CALL 09B025B: MOVF 78,W025C: BCF 23.0025D: BTFSC 78.0025E: BSF 23.0.................... i2c_stop();025F: BSF 03.50260: BCF 06.00261: NOP0262: BSF 06.10263: BCF 03.50264: BTFSS 06.10265: GOTO 2640266: NOP0267: GOTO 2680268: NOP0269: BSF 03.5026A: BSF 06.0026B: NOP.................... ack=!ack;026C: MOVLW 01026D: BCF 03.5026E: XORWF 23,F................................................................................ i2c_stop();026F: BSF 03.50270: BCF 06.00271: NOP0272: BSF 06.10273: BCF 03.50274: BTFSS 06.10275: GOTO 2740276: NOP0277: GOTO 2780278: NOP0279: BSF 03.5027A: BSF 06.0027B: NOP........................................ i2c_start();027C: BSF 06.0027D: NOP027E: BSF 06.1027F: NOP0280: BCF 03.50281: BCF 06.00282: BSF 03.50283: BCF 06.00284: NOP0285: BCF 03.50286: BCF 06.10287: BSF 03.50288: BCF 06.1.................... I2C_Write(0xD0);0289: MOVLW D0028A: BCF 03.5028B: MOVWF 24028C: CALL 09B.................... I2C_write(0x28);028D: MOVLW 28028E: MOVWF 24028F: CALL 09B.................... i2c_stop();0290: BSF 03.50291: BCF 06.00292: NOP0293: BSF 06.10294: BCF 03.50295: BTFSS 06.10296: GOTO 2950297: NOP0298: GOTO 2990299: NOP029A: BSF 03.5029B: BSF 06.0029C: NOP.................... i2c_start();029D: BSF 06.0029E: NOP029F: BSF 06.102A0: NOP02A1: BCF 03.502A2: BCF 06.002A3: BSF 03.502A4: BCF 06.002A5: NOP02A6: BCF 03.502A7: BCF 06.102A8: BSF 03.502A9: BCF 06.1.................... I2C_Write(0xD1);02AA: MOVLW D102AB: BCF 03.502AC: MOVWF 2402AD: CALL 09B.................... STAV1=i2c_read(0);02AE: CLRF 7702AF: CALL 0CF02B0: MOVF 78,W02B1: MOVWF 21.................... i2c_stop();02B2: BSF 03.502B3: BCF 06.002B4: NOP02B5: BSF 06.102B6: BCF 03.502B7: BTFSS 06.102B8: GOTO 2B702B9: NOP02BA: GOTO 2BB02BB: NOP02BC: BSF 03.502BD: BSF 06.002BE: NOP........................................ i2c_start();02BF: BSF 06.002C0: NOP02C1: BSF 06.102C2: NOP02C3: BCF 03.502C4: BCF 06.002C5: BSF 03.502C6: BCF 06.002C7: NOP02C8: BCF 03.502C9: BCF 06.102CA: BSF 03.502CB: BCF 06.1.................... I2C_Write(0xD0);02CC: MOVLW D002CD: BCF 03.502CE: MOVWF 2402CF: CALL 09B.................... I2C_write(0x0F);02D0: MOVLW 0F02D1: MOVWF 2402D2: CALL 09B.................... i2c_stop();02D3: BSF 03.502D4: BCF 06.002D5: NOP02D6: BSF 06.102D7: BCF 03.502D8: BTFSS 06.102D9: GOTO 2D802DA: NOP02DB: GOTO 2DC02DC: NOP02DD: BSF 03.502DE: BSF 06.002DF: NOP.................... i2c_start();02E0: BSF 06.002E1: NOP02E2: BSF 06.102E3: NOP02E4: BCF 03.502E5: BCF 06.002E6: BSF 03.502E7: BCF 06.002E8: NOP02E9: BCF 03.502EA: BCF 06.102EB: BSF 03.502EC: BCF 06.1.................... I2C_Write(0xD1);02ED: MOVLW D102EE: BCF 03.502EF: MOVWF 2402F0: CALL 09B.................... data1=i2c_read(0);02F1: CLRF 7702F2: CALL 0CF02F3: MOVF 78,W02F4: MOVWF 22.................... i2c_stop();02F5: 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........................................................................................................................ printf("Stav: %d (procenta)\r\n", ack);0302: MOVLW 000303: BCF 03.50304: BTFSC 23.00305: MOVLW 010306: MOVWF 240307: MOVLW 100308: BSF 03.60309: MOVWF 0D030A: MOVLW 00030B: MOVWF 0F030C: BCF 03.0030D: MOVLW 06030E: BCF 03.6030F: MOVWF 250310: CALL 1020311: MOVF 24,W0312: MOVWF 250313: MOVLW 1F0314: MOVWF 260315: CALL 1660316: MOVLW 140317: BSF 03.60318: MOVWF 0D0319: MOVLW 00031A: MOVWF 0F031B: BCF 03.0031C: MOVLW 0D031D: BCF 03.6031E: MOVWF 25031F: CALL 102.................... printf("Stav: %d (procenta)\r\n", STAV1);0320: MOVLW 1B0321: BSF 03.60322: MOVWF 0D0323: MOVLW 000324: MOVWF 0F0325: BCF 03.00326: MOVLW 060327: BCF 03.60328: MOVWF 250329: CALL 102032A: MOVF 21,W032B: MOVWF 25032C: MOVLW 1F032D: MOVWF 26032E: CALL 166032F: MOVLW 1F0330: BSF 03.60331: MOVWF 0D0332: MOVLW 000333: MOVWF 0F0334: BCF 03.00335: MOVLW 0D0336: BCF 03.60337: MOVWF 250338: CALL 102.................... printf("Stav: %du(procenta)\r\n", data1);0339: MOVLW 26033A: BSF 03.6033B: MOVWF 0D033C: MOVLW 00033D: MOVWF 0F033E: BCF 03.0033F: MOVLW 060340: BCF 03.60341: MOVWF 250342: CALL 1020343: MOVF 22,W0344: MOVWF 250345: MOVLW 1F0346: MOVWF 260347: CALL 1660348: MOVLW 2A0349: BSF 03.6034A: MOVWF 0D034B: MOVLW 00034C: MOVWF 0F034D: BCF 03.0034E: MOVLW 0D034F: BCF 03.60350: MOVWF 250351: CALL 102.................... delay_ms (2000);0352: MOVLW 080353: MOVWF 240354: MOVLW FA0355: MOVWF 250356: GOTO 1CB0357: DECFSZ 24,F0358: GOTO 354........................................ }0359: GOTO 249.................... }035A: SLEEPConfiguration Fuses:Word 1: 2CF5 INTRC NOWDT NOPUT MCLR NOPROTECT NOCPD NOBROWNOUT IESO FCMEN NOLVP NODEBUGWord 2: 3FFF NOWRT BORV40