CCS PCM C Compiler, Version 4.106, 47914 23-4-13 11:20Filename: c:\users\honza\documents\pic\i2c_magnetometr\main.lstROM used: 1041 words (13%)Largest free fragment is 2048RAM used: 7 (2%) at main() level22 (6%) worst caseStack: 3 locations*0000: MOVLW 030001: MOVWF 0A0002: GOTO 32F0003: NOP.................... //Magnetometr Jan Chroust 2013.................... //vypise hodnoty jednotlivych os........................................ #include "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)*00EB: MOVLW 2800EC: MOVWF 0400ED: BCF 03.700EE: MOVF 00,W00EF: BTFSC 03.200F0: GOTO 0FE00F1: MOVLW 0200F2: MOVWF 7800F3: CLRF 7700F4: DECFSZ 77,F00F5: GOTO 0F400F6: DECFSZ 78,F00F7: GOTO 0F300F8: MOVLW 9700F9: MOVWF 7700FA: DECFSZ 77,F00FB: GOTO 0FA00FC: DECFSZ 00,F00FD: GOTO 0F100FE: RETURN................................................................................ #define EEPROM_SDA PIN_C4.................... #define EEPROM_SCL PIN_C3.................... #use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL)*00A1: MOVLW 0800A2: MOVWF 7800A3: NOP00A4: BCF 07.300A5: BCF 20.300A6: MOVF 20,W00A7: BSF 03.500A8: MOVWF 0700A9: NOP00AA: BCF 03.500AB: RLF 2C,F00AC: BCF 07.400AD: BTFSS 03.000AE: GOTO 0B500AF: BSF 20.400B0: MOVF 20,W00B1: BSF 03.500B2: MOVWF 0700B3: GOTO 0B900B4: BCF 03.500B5: BCF 20.400B6: MOVF 20,W00B7: BSF 03.500B8: MOVWF 0700B9: NOP00BA: BCF 03.500BB: BSF 20.300BC: MOVF 20,W00BD: BSF 03.500BE: MOVWF 0700BF: BCF 03.500C0: BTFSS 07.300C1: GOTO 0C000C2: DECFSZ 78,F00C3: GOTO 0A300C4: NOP00C5: BCF 07.300C6: BCF 20.300C7: MOVF 20,W00C8: BSF 03.500C9: MOVWF 0700CA: NOP00CB: BCF 03.500CC: BSF 20.400CD: MOVF 20,W00CE: BSF 03.500CF: MOVWF 0700D0: NOP00D1: NOP00D2: BCF 03.500D3: BSF 20.300D4: MOVF 20,W00D5: BSF 03.500D6: MOVWF 0700D7: BCF 03.500D8: BTFSS 07.300D9: GOTO 0D800DA: CLRF 7800DB: NOP00DC: BTFSC 07.400DD: BSF 78.000DE: BCF 07.300DF: BCF 20.300E0: MOVF 20,W00E1: BSF 03.500E2: MOVWF 0700E3: BCF 03.500E4: BCF 07.400E5: BCF 20.400E6: MOVF 20,W00E7: BSF 03.500E8: MOVWF 0700E9: BCF 03.500EA: RETURN*0203: MOVLW 080204: MOVWF 2D0205: MOVF 77,W0206: MOVWF 2E0207: BSF 20.40208: MOVF 20,W0209: BSF 03.5020A: MOVWF 07020B: NOP020C: BCF 03.5020D: BSF 20.3020E: MOVF 20,W020F: BSF 03.50210: MOVWF 070211: BCF 03.50212: BTFSS 07.30213: GOTO 2120214: BTFSC 07.40215: BSF 03.00216: BTFSS 07.40217: BCF 03.00218: RLF 78,F0219: NOP021A: BCF 20.3021B: MOVF 20,W021C: BSF 03.5021D: MOVWF 07021E: BCF 03.5021F: BCF 07.30220: DECFSZ 2D,F0221: GOTO 2070222: BSF 20.40223: MOVF 20,W0224: BSF 03.50225: MOVWF 070226: NOP0227: BCF 03.50228: BCF 07.40229: MOVF 2E,W022A: BTFSC 03.2022B: GOTO 231022C: BCF 20.4022D: MOVF 20,W022E: BSF 03.5022F: MOVWF 070230: BCF 03.50231: NOP0232: BSF 20.30233: MOVF 20,W0234: BSF 03.50235: MOVWF 070236: BCF 03.50237: BTFSS 07.30238: GOTO 2370239: NOP023A: BCF 07.3023B: BCF 20.3023C: MOVF 20,W023D: BSF 03.5023E: MOVWF 07023F: NOP0240: BCF 03.50241: BCF 07.40242: BCF 20.40243: MOVF 20,W0244: BSF 03.50245: MOVWF 07.................... #use rs232(baud=9600,parity=N,xmit=PIN_C7,rcv=PIN_C6,bits=8) //rcv TXD xmit RXD*0037: BCF 20.70038: MOVF 20,W0039: BSF 03.5003A: MOVWF 07003B: BCF 03.5003C: BCF 07.7003D: MOVLW 08003E: MOVWF 78003F: GOTO 0400040: NOP0041: BSF 78.70042: GOTO 0510043: BCF 78.70044: RRF 30,F0045: BTFSC 03.00046: BSF 07.70047: BTFSS 03.00048: BCF 07.70049: BSF 78.6004A: GOTO 051004B: BCF 78.6004C: DECFSZ 78,F004D: GOTO 044004E: GOTO 04F004F: NOP0050: BSF 07.70051: MOVLW 3F0052: MOVWF 040053: DECFSZ 04,F0054: GOTO 0530055: NOP0056: BTFSC 78.70057: GOTO 0430058: BTFSC 78.60059: GOTO 04B005A: RETURN........................................ #include "HMC5883L.h".................... #define MAG_ADDR_R 0x3D //addresa pro cteni.................... #define MAG_ADDR_W 0x3C............................................................ //Konstanty nastavujici rozsah.................... //pro void set_mag_roz (unsigned int8 h).................... #define MAG_ROZ088 0x00.................... #define MAG_ROZ130 0x20.................... #define MAG_ROZ190 0x40.................... #define MAG_ROZ250 0x60.................... #define MAG_ROZ400 0x80.................... #define MAG_ROZ470 0xA0.................... #define MAG_ROZ560 0xC0.................... #define MAG_ROZ810 0xE0............................................................ #include "HMC5883L.c".................... void set_mag (void) //uvodni nastaveni na kontinualni mereni, rozsah ± 8.1 Ga, frekvence mereni 15HZ.................... {.................... i2c_start(); //nastavení Configuration Register A*00FF: BSF 20.40100: MOVF 20,W0101: BSF 03.50102: MOVWF 070103: NOP0104: BCF 03.50105: BSF 20.30106: MOVF 20,W0107: BSF 03.50108: MOVWF 070109: NOP010A: BCF 03.5010B: BCF 07.4010C: BCF 20.4010D: MOVF 20,W010E: BSF 03.5010F: MOVWF 070110: NOP0111: BCF 03.50112: BCF 07.30113: BCF 20.30114: MOVF 20,W0115: BSF 03.50116: MOVWF 07.................... I2C_Write(MAG_ADDR_W);0117: MOVLW 3C0118: BCF 03.50119: MOVWF 2C011A: CALL 0A1.................... I2C_Write(0x00);011B: CLRF 2C011C: CALL 0A1.................... I2C_Write(0x70);011D: MOVLW 70011E: MOVWF 2C011F: CALL 0A1.................... i2c_stop();0120: BCF 20.40121: MOVF 20,W0122: BSF 03.50123: MOVWF 070124: NOP0125: BCF 03.50126: BSF 20.30127: MOVF 20,W0128: BSF 03.50129: MOVWF 07012A: BCF 03.5012B: BTFSS 07.3012C: GOTO 12B012D: NOP012E: GOTO 12F012F: NOP0130: BSF 20.40131: MOVF 20,W0132: BSF 03.50133: MOVWF 070134: NOP.................... Delay_ms(6);0135: MOVLW 060136: BCF 03.50137: MOVWF 280138: CALL 0EB........................................ i2c_start(); //nastavení Configuration Register B0139: BSF 20.4013A: MOVF 20,W013B: BSF 03.5013C: MOVWF 07013D: NOP013E: BCF 03.5013F: BSF 20.30140: MOVF 20,W0141: BSF 03.50142: MOVWF 070143: NOP0144: BCF 03.50145: BCF 07.40146: BCF 20.40147: MOVF 20,W0148: BSF 03.50149: MOVWF 07014A: NOP014B: BCF 03.5014C: BCF 07.3014D: BCF 20.3014E: MOVF 20,W014F: BSF 03.50150: MOVWF 07.................... I2C_Write(MAG_ADDR_W);0151: MOVLW 3C0152: BCF 03.50153: MOVWF 2C0154: CALL 0A1.................... I2C_Write(0x01);0155: MOVLW 010156: MOVWF 2C0157: CALL 0A1.................... I2C_Write(MAG_ROZ810);0158: MOVLW E00159: MOVWF 2C015A: CALL 0A1.................... i2c_stop();015B: BCF 20.4015C: MOVF 20,W015D: BSF 03.5015E: MOVWF 07015F: NOP0160: BCF 03.50161: BSF 20.30162: MOVF 20,W0163: BSF 03.50164: MOVWF 070165: BCF 03.50166: BTFSS 07.30167: GOTO 1660168: NOP0169: GOTO 16A016A: NOP016B: BSF 20.4016C: MOVF 20,W016D: BSF 03.5016E: MOVWF 07016F: NOP........................................ Delay_ms(6);0170: MOVLW 060171: BCF 03.50172: MOVWF 280173: CALL 0EB........................................ i2c_start(); //nastveni Mode Register0174: BSF 20.40175: MOVF 20,W0176: BSF 03.50177: MOVWF 070178: NOP0179: BCF 03.5017A: BSF 20.3017B: MOVF 20,W017C: BSF 03.5017D: MOVWF 07017E: NOP017F: BCF 03.50180: BCF 07.40181: BCF 20.40182: MOVF 20,W0183: BSF 03.50184: MOVWF 070185: NOP0186: BCF 03.50187: BCF 07.30188: BCF 20.30189: MOVF 20,W018A: BSF 03.5018B: MOVWF 07.................... I2C_Write(MAG_ADDR_W);018C: MOVLW 3C018D: BCF 03.5018E: MOVWF 2C018F: CALL 0A1.................... I2C_Write(0x02);0190: MOVLW 020191: MOVWF 2C0192: CALL 0A1.................... I2C_Write(0x00);0193: CLRF 2C0194: CALL 0A1.................... i2c_stop();0195: BCF 20.40196: MOVF 20,W0197: BSF 03.50198: MOVWF 070199: NOP019A: BCF 03.5019B: BSF 20.3019C: MOVF 20,W019D: BSF 03.5019E: MOVWF 07019F: BCF 03.501A0: BTFSS 07.301A1: GOTO 1A001A2: NOP01A3: GOTO 1A401A4: NOP01A5: BSF 20.401A6: MOVF 20,W01A7: BSF 03.501A8: MOVWF 0701A9: NOP.................... Delay_ms(6);01AA: MOVLW 0601AB: BCF 03.501AC: MOVWF 2801AD: CALL 0EB.................... }01AE: BCF 0A.301AF: BCF 0A.401B0: GOTO 3AA (RETURN)........................................ void set_mag_roz (unsigned int8 h) //nastavy rozsah.................... {........................................ //............................................................ i2c_start();.................... I2C_Write(MAG_ADDR_W);.................... I2C_Write(0x01);.................... I2C_Write(h);.................... i2c_stop();........................................ Delay_ms(6);............................................................ }............................................................ byte mag_read(byte reg) //pro cteni reg.................... {........................................ i2c_start();01B1: BSF 20.401B2: MOVF 20,W01B3: BSF 03.501B4: MOVWF 0701B5: NOP01B6: BCF 03.501B7: BSF 20.301B8: MOVF 20,W01B9: BSF 03.501BA: MOVWF 0701BB: NOP01BC: BCF 03.501BD: BCF 07.401BE: BCF 20.401BF: MOVF 20,W01C0: BSF 03.501C1: MOVWF 0701C2: NOP01C3: BCF 03.501C4: BCF 07.301C5: BCF 20.301C6: MOVF 20,W01C7: BSF 03.501C8: MOVWF 07.................... I2C_Write(MAG_ADDR_W);01C9: MOVLW 3C01CA: BCF 03.501CB: MOVWF 2C01CC: CALL 0A1.................... I2C_write(reg);01CD: MOVF 2B,W01CE: MOVWF 2C01CF: CALL 0A1.................... i2c_stop();01D0: BCF 20.401D1: MOVF 20,W01D2: BSF 03.501D3: MOVWF 0701D4: NOP01D5: BCF 03.501D6: BSF 20.301D7: MOVF 20,W01D8: BSF 03.501D9: MOVWF 0701DA: BCF 03.501DB: BTFSS 07.301DC: GOTO 1DB01DD: NOP01DE: GOTO 1DF01DF: NOP01E0: BSF 20.401E1: MOVF 20,W01E2: BSF 03.501E3: MOVWF 0701E4: NOP.................... i2c_start();01E5: BCF 03.501E6: BSF 20.401E7: MOVF 20,W01E8: BSF 03.501E9: MOVWF 0701EA: NOP01EB: BCF 03.501EC: BSF 20.301ED: MOVF 20,W01EE: BSF 03.501EF: MOVWF 0701F0: NOP01F1: BCF 03.501F2: BCF 07.401F3: BCF 20.401F4: MOVF 20,W01F5: BSF 03.501F6: MOVWF 0701F7: NOP01F8: BCF 03.501F9: BCF 07.301FA: BCF 20.301FB: MOVF 20,W01FC: BSF 03.501FD: MOVWF 07.................... I2C_Write(MAG_ADDR_R);01FE: MOVLW 3D01FF: BCF 03.50200: MOVWF 2C0201: CALL 0A1.................... reg=i2c_read(0);0202: CLRF 77*0246: MOVF 78,W0247: BCF 03.50248: MOVWF 2B.................... return reg;0249: MOVF 2B,W024A: MOVWF 78.................... }024B: RETURN............................................................ signed int16 mag_vypocet(unsigned int8 h, unsigned int8 l) //prepocet na 16bit cislo.................... {.................... signed int16 x;.................... x = (((unsigned int16) h << 8) + l );024C: CLRF 30024D: MOVF 2B,W024E: MOVWF 2F024F: MOVWF 300250: CLRF 2F0251: MOVF 2C,W0252: ADDWF 2F,W0253: MOVWF 780254: MOVF 30,W0255: MOVWF 7A0256: BTFSC 03.00257: INCF 7A,F0258: MOVF 78,W0259: MOVWF 2D025A: MOVF 7A,W025B: MOVWF 2E.................... return x;025C: MOVF 2D,W025D: MOVWF 78025E: MOVF 2E,W025F: MOVWF 79.................... }0260: RETURN............................................................ signed int16 mag_readX(void) //nacteni osy x.................... {.................... unsigned int8 h,l;.................... signed int16 x;.................... h=mag_read(0x03);0261: MOVLW 030262: MOVWF 2B0263: CALL 1B10264: MOVF 78,W0265: MOVWF 27.................... l=mag_read(0x04);0266: MOVLW 040267: MOVWF 2B0268: CALL 1B10269: MOVF 78,W026A: MOVWF 28.................... x=mag_vypocet(h,l);026B: MOVF 27,W026C: MOVWF 2B026D: MOVF 28,W026E: MOVWF 2C026F: CALL 24C0270: MOVF 79,W0271: MOVWF 2A0272: MOVF 78,W0273: MOVWF 29.................... return x;0274: MOVF 29,W0275: MOVWF 780276: MOVF 2A,W0277: MOVWF 79........................................ }0278: BCF 0A.30279: BCF 0A.4027A: GOTO 3B2 (RETURN)............................................................ signed int16 mag_readY(void) //nacteni osy x.................... {.................... unsigned int8 h,l;.................... signed int16 x;.................... h=mag_read(0x07);027B: MOVLW 07027C: MOVWF 2B027D: CALL 1B1027E: MOVF 78,W027F: MOVWF 27.................... l=mag_read(0x08);0280: MOVLW 080281: MOVWF 2B0282: CALL 1B10283: MOVF 78,W0284: MOVWF 28.................... x=mag_vypocet(h,l);0285: MOVF 27,W0286: MOVWF 2B0287: MOVF 28,W0288: MOVWF 2C0289: CALL 24C028A: MOVF 79,W028B: MOVWF 2A028C: MOVF 78,W028D: MOVWF 29.................... return x;028E: MOVF 29,W028F: MOVWF 780290: MOVF 2A,W0291: MOVWF 79........................................ }0292: BCF 0A.30293: BCF 0A.40294: GOTO 3B7 (RETURN)............................................................ signed int16 mag_readZ(void) //nacteni osy x.................... {.................... unsigned int8 h,l;.................... signed int16 x;.................... h=mag_read(0x05);0295: MOVLW 050296: MOVWF 2B0297: CALL 1B10298: MOVF 78,W0299: MOVWF 27.................... l=mag_read(0x06);029A: MOVLW 06029B: MOVWF 2B029C: CALL 1B1029D: MOVF 78,W029E: MOVWF 28.................... x=mag_vypocet(h,l);029F: MOVF 27,W02A0: MOVWF 2B02A1: MOVF 28,W02A2: MOVWF 2C02A3: CALL 24C02A4: MOVF 79,W02A5: MOVWF 2A02A6: MOVF 78,W02A7: MOVWF 29.................... return x;02A8: MOVF 29,W02A9: MOVWF 7802AA: MOVF 2A,W02AB: MOVWF 79........................................ }02AC: BCF 0A.302AD: BCF 0A.402AE: GOTO 3BC (RETURN)........................................................................................................................ void main().................... {*032F: CLRF 040330: BCF 03.70331: MOVLW 1F0332: ANDWF 03,F0333: MOVLW 710334: BSF 03.50335: MOVWF 0F0336: MOVF 0F,W0337: BCF 03.50338: BCF 20.70339: MOVF 20,W033A: BSF 03.5033B: MOVWF 07033C: BCF 03.5033D: BSF 07.7033E: BSF 03.5033F: BSF 03.60340: MOVF 09,W0341: ANDLW C00342: MOVWF 090343: BCF 03.60344: BCF 1F.40345: BCF 1F.50346: MOVLW 000347: BSF 03.60348: MOVWF 080349: BCF 03.5034A: CLRF 07034B: CLRF 08034C: CLRF 09........................................ setup_adc_ports(NO_ANALOGS|VSS_VDD);*0350: BSF 03.50351: BSF 03.60352: MOVF 09,W0353: ANDLW C00354: MOVWF 090355: BCF 03.60356: BCF 1F.40357: BCF 1F.50358: MOVLW 000359: BSF 03.6035A: MOVWF 08.................... setup_adc(ADC_CLOCK_DIV_2);035B: BCF 03.5035C: BCF 03.6035D: BCF 1F.6035E: BCF 1F.7035F: BSF 03.50360: BCF 1F.70361: BCF 03.50362: BSF 1F.0.................... setup_spi(SPI_SS_DISABLED);0363: BCF 14.50364: BCF 20.50365: MOVF 20,W0366: BSF 03.50367: MOVWF 070368: BCF 03.50369: BSF 20.4036A: MOVF 20,W036B: BSF 03.5036C: MOVWF 07036D: BCF 03.5036E: BCF 20.3036F: MOVF 20,W0370: BSF 03.50371: MOVWF 070372: MOVLW 010373: BCF 03.50374: MOVWF 140375: MOVLW 000376: BSF 03.50377: MOVWF 14.................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);0378: MOVF 01,W0379: ANDLW C7037A: IORLW 08037B: MOVWF 01.................... setup_timer_1(T1_DISABLED);037C: BCF 03.5037D: CLRF 10.................... setup_timer_2(T2_DISABLED,0,1);037E: MOVLW 00037F: MOVWF 780380: MOVWF 120381: MOVLW 000382: BSF 03.50383: MOVWF 12.................... setup_ccp1(CCP_OFF);0384: BCF 03.50385: BSF 20.20386: MOVF 20,W0387: BSF 03.50388: MOVWF 070389: BCF 03.5038A: CLRF 17038B: BSF 03.5038C: CLRF 1B038D: CLRF 1C038E: MOVLW 01038F: MOVWF 1D.................... setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard0390: BCF 03.50391: BSF 03.60392: CLRF 070393: CLRF 080394: CLRF 09........................................ printf("Magnetometr: \r\n",);0395: MOVLW 040396: MOVWF 0D0397: MOVLW 000398: MOVWF 0F0399: BCF 03.6039A: CALL 05B.................... printf("(c)mlab JACHO 2013: \r\n",);039B: MOVLW 0D039C: BSF 03.6039D: MOVWF 0D039E: MOVLW 00039F: MOVWF 0F03A0: BCF 03.603A1: CALL 05B.................... printf("Vysledky z jednotlivych os:\r\n",);03A2: MOVLW 1903A3: BSF 03.603A4: MOVWF 0D03A5: MOVLW 0003A6: MOVWF 0F03A7: BCF 03.603A8: CALL 05B.................... signed int16 X,Y,Z;........................................ set_mag ();03A9: GOTO 0FF.................... while(true).................... {.................... printf("Vysledky z jednotlivych os:\r\n",);03AA: MOVLW 2803AB: BSF 03.603AC: MOVWF 0D03AD: MOVLW 0003AE: MOVWF 0F03AF: BCF 03.603B0: CALL 05B.................... X=mag_readX();03B1: GOTO 26103B2: MOVF 79,W03B3: MOVWF 2203B4: MOVF 78,W03B5: MOVWF 21.................... Y=mag_readY();03B6: GOTO 27B03B7: MOVF 79,W03B8: MOVWF 2403B9: MOVF 78,W03BA: MOVWF 23.................... Z=mag_readZ();03BB: GOTO 29503BC: MOVF 79,W03BD: MOVWF 2603BE: MOVF 78,W03BF: MOVWF 25.................... printf("X: %Ld \r\n", X);03C0: MOVLW 5803C1: MOVWF 3003C2: CALL 03703C3: MOVLW 3A03C4: MOVWF 3003C5: CALL 03703C6: MOVLW 2003C7: MOVWF 3003C8: CALL 03703C9: MOVLW 1003CA: MOVWF 0403CB: MOVF 22,W03CC: MOVWF 2803CD: MOVF 21,W03CE: MOVWF 2703CF: CALL 2AF03D0: MOVLW 2003D1: MOVWF 3003D2: CALL 03703D3: MOVLW 0D03D4: MOVWF 3003D5: CALL 03703D6: MOVLW 0A03D7: MOVWF 3003D8: CALL 037.................... printf("Y %Ld \r\n", Y);03D9: MOVLW 5903DA: MOVWF 3003DB: CALL 03703DC: MOVLW 2003DD: MOVWF 3003DE: CALL 03703DF: MOVLW 1003E0: MOVWF 0403E1: MOVF 24,W03E2: MOVWF 2803E3: MOVF 23,W03E4: MOVWF 2703E5: CALL 2AF03E6: MOVLW 2003E7: MOVWF 3003E8: CALL 03703E9: MOVLW 0D03EA: MOVWF 3003EB: CALL 03703EC: MOVLW 0A03ED: MOVWF 3003EE: CALL 037.................... printf("Z: %Ld \r\n", Z);03EF: MOVLW 5A03F0: MOVWF 3003F1: CALL 03703F2: MOVLW 3A03F3: MOVWF 3003F4: CALL 03703F5: MOVLW 2003F6: MOVWF 3003F7: CALL 03703F8: MOVLW 1003F9: MOVWF 0403FA: MOVF 26,W03FB: MOVWF 2803FC: MOVF 25,W03FD: MOVWF 2703FE: CALL 2AF03FF: MOVLW 200400: MOVWF 300401: CALL 0370402: MOVLW 0D0403: MOVWF 300404: CALL 0370405: MOVLW 0A0406: MOVWF 300407: CALL 037.................... Delay_ms(2000);0408: MOVLW 080409: MOVWF 27040A: MOVLW FA040B: MOVWF 28040C: CALL 0EB040D: DECFSZ 27,F040E: GOTO 40A........................................ }040F: GOTO 3AA.................... }0410: SLEEPConfiguration Fuses:Word 1: 2CF5 INTRC NOWDT NOPUT MCLR NOPROTECT NOCPD NOBROWNOUT IESO FCMEN NOLVP NODEBUGWord 2: 3FFF NOWRT BORV40