No changes between revisions
/Modules/Sensors/ALTIMET01A/SW/MPL3115/PIC16F887/main.bak
0,0 → 1,158
#include "C:\Users\Honza\Documents\pic\I2C_altimet\main.h"
 
#define EEPROM_SDA PIN_B0
#define EEPROM_SCL PIN_B1
#use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL)
#use rs232(baud=9600,parity=N,xmit=PIN_B3,rcv=PIN_B2,bits=8) //rcv TXD xmit RXD
 
#define MPL3115_ADDR_R 0xC1
#define MPL3115_ADDR_W 0xC0
 
 
void mpl3115_setA (void) //nastavení pro výšku
{
 
i2c_start(); //STANDBY mode
I2C_Write(MPL3115_ADDR_W);
I2C_write(0x26);
I2C_write(0xB8);
i2c_stop();
i2c_start(); //PT_DATA_CFG set
I2C_Write(MPL3115_ADDR_W);
I2C_write(0x13);
I2C_write(0x07); //hodnota
i2c_stop();
i2c_start(); //ACTIVE mode
I2C_Write(MPL3115_ADDR_W);
I2C_write(0x26);
I2C_write(0xB9);
i2c_stop();
}
void mpl3115_setP (void) //nastavení pro tlak
{
 
i2c_start(); //STANDBY mode
I2C_Write(MPL3115_ADDR_W);
I2C_write(0x26);
I2C_write(0xB8);
i2c_stop();
i2c_start(); //PT_DATA_CFG set
I2C_Write(MPL3115_ADDR_W);
I2C_write(0x13);
I2C_write(0x07); //hodnota
i2c_stop();
i2c_start(); //ACTIVE mode
I2C_Write(MPL3115_ADDR_W);
I2C_write(0x26);
I2C_write(0x39);
i2c_stop();
}
 
 
byte mpl3115_read (byte reg)
{
byte i;
i2c_start();
I2C_Write(MPL3115_ADDR_W);
I2C_write(reg);
i2c_start();
I2C_Write(MPL3115_ADDR_R);
i=i2c_read(0);
i2c_stop();
return i;
}
 
 
float mpl3115_T (void) //teplota ve stupnich
{
int m;
float l, t;
m= mpl3115_read (0x04);
l= (float)(mpl3115_read(0x05)>>4)/16.0;
t = (float)(M + L);
return t;
}
 
float mpl3115_A (void) //vyska v m
{
 
int16 m, c;
float l, a;
m= mpl3115_read (0x01);
c= mpl3115_read (0x02);
l= (float)(mpl3115_read(0x03)>>4)/16.0;
a = (float)((m << 8)|c) + l;
return a;
}
 
 
float mpl3115_P (void) //tlak v Pa
{
unsigned int32 m;
unsigned int16 c;
unsigned int l;
float p, l1;
m= mpl3115_read (0x01);
c= mpl3115_read (0x02);
l=mpl3115_read(0x03);
 
l1= (float)(l>>4)/4.0;
p = (float)((m << 10)|(c<<2)|(l>>6)) + l1;
 
return p;
}
 
 
 
 
 
 
 
 
 
 
 
 
void main()
{
 
float p, t, a;
printf("Tlakomer nebo vyskomer \r\n",);
 
 
while(TRUE)
{
mpl3115_setP(); //nastaveni pro tlak a teplotu
delay_ms (500);
t=mpl3115_T();
p=mpl3115_P();
mpl3115_setA(); //nastaveni pro vysku a teplotu
delay_ms (500);
a=mpl3115_A();
 
 
printf("Teplota: %10.4f(stupne)\r\n", t);
printf("Tlak: %10.4f(Pa)\r\n", p);
printf("Výška: %10.4f(m)\r\n", a);
 
delay_ms (1000);
}
 
 
}
 
 
/Modules/Sensors/ALTIMET01A/SW/MPL3115/PIC16F887/main.c
0,0 → 1,148
//Jan Chroust 15.4.2013
 
 
#include "C:\Users\Honza\Documents\pic\I2C_altimet\main.h"
 
#define EEPROM_SDA PIN_B0
#define EEPROM_SCL PIN_B1
#use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL)
#use rs232(baud=9600,parity=N,xmit=PIN_B3,rcv=PIN_B2,bits=8) //rcv TXD xmit RXD
 
#define MPL3115_ADDR_R 0xC1 //addresa pro cteni
#define MPL3115_ADDR_W 0xC0
 
 
void mpl3115_setA (void) //nastavení pro výšku
{
 
i2c_start(); //STANDBY mode
I2C_Write(MPL3115_ADDR_W);
I2C_write(0x26);
I2C_write(0xB8);
i2c_stop();
i2c_start(); //PT_DATA_CFG set
I2C_Write(MPL3115_ADDR_W);
I2C_write(0x13);
I2C_write(0x07); //hodnota
i2c_stop();
i2c_start(); //ACTIVE mode
I2C_Write(MPL3115_ADDR_W);
I2C_write(0x26);
I2C_write(0xB9);
i2c_stop();
}
void mpl3115_setP (void) //nastavení pro tlak
{
 
i2c_start(); //STANDBY mode
I2C_Write(MPL3115_ADDR_W);
I2C_write(0x26);
I2C_write(0xB8);
i2c_stop();
i2c_start(); //PT_DATA_CFG set
I2C_Write(MPL3115_ADDR_W);
I2C_write(0x13);
I2C_write(0x07); //hodnota
i2c_stop();
i2c_start(); //ACTIVE mode
I2C_Write(MPL3115_ADDR_W);
I2C_write(0x26);
I2C_write(0x39);
i2c_stop();
}
 
 
byte mpl3115_read (byte reg)
{
byte i;
i2c_start();
I2C_Write(MPL3115_ADDR_W);
I2C_write(reg);
i2c_start();
I2C_Write(MPL3115_ADDR_R);
i=i2c_read(0);
i2c_stop();
return i;
}
 
 
float mpl3115_T (void) //teplota ve stupnich
{
int m;
float l, t;
m= mpl3115_read (0x04);
l= (float)(mpl3115_read(0x05)>>4)/16.0;
t = (float)(M + L);
return t;
}
 
float mpl3115_A (void) //vyska v m
{
 
int16 m, c;
float l, a;
m= mpl3115_read (0x01);
c= mpl3115_read (0x02);
l= (float)(mpl3115_read(0x03)>>4)/16.0;
a = (float)((m << 8)|c) + l;
return a;
}
 
 
float mpl3115_P (void) //tlak v Pa
{
unsigned int32 m;
unsigned int16 c;
unsigned int l;
float p, l1;
m= mpl3115_read (0x01);
c= mpl3115_read (0x02);
l=mpl3115_read(0x03);
 
l1= (float)(l>>4)/4.0;
p = (float)((m << 10)|(c<<2)|(l>>6)) + l1;
 
return p;
}
 
void main()
{
 
float p, t, a;
printf("Tlakomer nebo vyskomer \r\n",);
while(TRUE)
{
mpl3115_setP(); //nastaveni pro tlak a teplotu
delay_ms (500);
t=mpl3115_T();
p=mpl3115_P();
mpl3115_setA(); //nastaveni pro vysku a teplotu
delay_ms (500);
a=mpl3115_A();
 
 
printf("Teplota: %10.4f(stupne)\r\n", t);
printf("Tlak: %10.4f(Pa)\r\n", p);
printf("Výška: %10.4f(m)\r\n", a);
 
delay_ms (1000);
}
 
 
}
 
 
/Modules/Sensors/ALTIMET01A/SW/MPL3115/PIC16F887/main.cof
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/Modules/Sensors/ALTIMET01A/SW/MPL3115/PIC16F887/main.err
0,0 → 1,2
Memory usage: ROM=27% RAM=5% - 15%
0 Errors, 0 Warnings.
/Modules/Sensors/ALTIMET01A/SW/MPL3115/PIC16F887/main.esym
0,0 → 1,445
D G "__PCM__" 0 163 ""4.106""
D G "__DEVICE__" 0 163 "887"
D G "__DATE__" 0 163 ""15-4-13""
D G "__TIME__" 0 163 ""19:12:01"" "Standard Header file for the PIC16F887 device ////////////////"
d G "PIN_A0" 2 20 "40"
d G "PIN_A1" 2 21 "41"
d G "PIN_A2" 2 22 "42"
d G "PIN_A3" 2 23 "43"
d G "PIN_A4" 2 24 "44"
d G "PIN_A5" 2 25 "45"
d G "PIN_A6" 2 26 "46"
d G "PIN_A7" 2 27 "47"
d G "PIN_B0" 2 29 "48"
d G "PIN_B1" 2 30 "49"
d G "PIN_B2" 2 31 "50"
d G "PIN_B3" 2 32 "51"
d G "PIN_B4" 2 33 "52"
d G "PIN_B5" 2 34 "53"
d G "PIN_B6" 2 35 "54"
d G "PIN_B7" 2 36 "55"
d G "PIN_C0" 2 38 "56"
d G "PIN_C1" 2 39 "57"
d G "PIN_C2" 2 40 "58"
d G "PIN_C3" 2 41 "59"
d G "PIN_C4" 2 42 "60"
d G "PIN_C5" 2 43 "61"
d G "PIN_C6" 2 44 "62"
d G "PIN_C7" 2 45 "63"
d G "PIN_D0" 2 47 "64"
d G "PIN_D1" 2 48 "65"
d G "PIN_D2" 2 49 "66"
d G "PIN_D3" 2 50 "67"
d G "PIN_D4" 2 51 "68"
d G "PIN_D5" 2 52 "69"
d G "PIN_D6" 2 53 "70"
d G "PIN_D7" 2 54 "71"
d G "PIN_E0" 2 56 "72"
d G "PIN_E1" 2 57 "73"
d G "PIN_E2" 2 58 "74"
d G "PIN_E3" 2 59 "75"
d G "FALSE" 2 62 "0"
d G "TRUE" 2 63 "1"
d G "BYTE" 2 65 "int8"
d G "BOOLEAN" 2 66 "int1"
d G "getc" 2 68 "getch"
d G "fgetc" 2 69 "getch"
d G "getchar" 2 70 "getch"
d G "putc" 2 71 "putchar"
d G "fputc" 2 72 "putchar"
d G "fgets" 2 73 "gets"
d G "fputs" 2 74 "puts"
d G "WDT_FROM_SLEEP" 2 79 "3"
d G "WDT_TIMEOUT" 2 80 "11"
d G "MCLR_FROM_SLEEP" 2 81 "19"
d G "MCLR_FROM_RUN" 2 82 "27"
d G "NORMAL_POWER_UP" 2 83 "25"
d G "BROWNOUT_RESTART" 2 84 "26"
d G "T0_INTERNAL" 2 91 "0"
d G "T0_EXT_L_TO_H" 2 92 "32"
d G "T0_EXT_H_TO_L" 2 93 "48"
d G "T0_DIV_1" 2 95 "8"
d G "T0_DIV_2" 2 96 "0"
d G "T0_DIV_4" 2 97 "1"
d G "T0_DIV_8" 2 98 "2"
d G "T0_DIV_16" 2 99 "3"
d G "T0_DIV_32" 2 100 "4"
d G "T0_DIV_64" 2 101 "5"
d G "T0_DIV_128" 2 102 "6"
d G "T0_DIV_256" 2 103 "7"
d G "T0_8_BIT" 2 106 "0"
d G "RTCC_INTERNAL" 2 108 "0" "The following are provided for compatibility"
d G "RTCC_EXT_L_TO_H" 2 109 "32" "with older compiler versions"
d G "RTCC_EXT_H_TO_L" 2 110 "48"
d G "RTCC_DIV_1" 2 111 "8"
d G "RTCC_DIV_2" 2 112 "0"
d G "RTCC_DIV_4" 2 113 "1"
d G "RTCC_DIV_8" 2 114 "2"
d G "RTCC_DIV_16" 2 115 "3"
d G "RTCC_DIV_32" 2 116 "4"
d G "RTCC_DIV_64" 2 117 "5"
d G "RTCC_DIV_128" 2 118 "6"
d G "RTCC_DIV_256" 2 119 "7"
d G "RTCC_8_BIT" 2 120 "0"
d G "WDT_18MS" 2 132 "8"
d G "WDT_36MS" 2 133 "9"
d G "WDT_72MS" 2 134 "10"
d G "WDT_144MS" 2 135 "11"
d G "WDT_288MS" 2 136 "12"
d G "WDT_576MS" 2 137 "13"
d G "WDT_1152MS" 2 138 "14"
d G "WDT_2304MS" 2 139 "15"
d G "WDT_ON" 2 143 "0x4100"
d G "WDT_OFF" 2 144 "0"
d G "WDT_DIV_16" 2 145 "0x100"
d G "WDT_DIV_8" 2 146 "0x300"
d G "WDT_DIV_4" 2 147 "0x500"
d G "WDT_DIV_2" 2 148 "0x700"
d G "WDT_TIMES_1" 2 149 "0x900" "Default"
d G "WDT_TIMES_2" 2 150 "0xB00"
d G "WDT_TIMES_4" 2 151 "0xD00"
d G "WDT_TIMES_8" 2 152 "0xF00"
d G "WDT_TIMES_16" 2 153 "0x1100"
d G "WDT_TIMES_32" 2 154 "0x1300"
d G "WDT_TIMES_64" 2 155 "0x1500"
d G "WDT_TIMES_128" 2 156 "0x1700"
d G "T1_DISABLED" 2 162 "0"
d G "T1_INTERNAL" 2 163 "5"
d G "T1_EXTERNAL" 2 164 "7"
d G "T1_EXTERNAL_SYNC" 2 165 "3"
d G "T1_CLK_OUT" 2 167 "8"
d G "T1_DIV_BY_1" 2 169 "0"
d G "T1_DIV_BY_2" 2 170 "0x10"
d G "T1_DIV_BY_4" 2 171 "0x20"
d G "T1_DIV_BY_8" 2 172 "0x30"
d G "T1_GATE" 2 174 "0x40"
d G "T1_GATE_INVERTED" 2 175 "0xC0"
d G "T2_DISABLED" 2 180 "0"
d G "T2_DIV_BY_1" 2 181 "4"
d G "T2_DIV_BY_4" 2 182 "5"
d G "T2_DIV_BY_16" 2 183 "6"
d G "CCP_OFF" 2 189 "0"
d G "CCP_CAPTURE_FE" 2 190 "4"
d G "CCP_CAPTURE_RE" 2 191 "5"
d G "CCP_CAPTURE_DIV_4" 2 192 "6"
d G "CCP_CAPTURE_DIV_16" 2 193 "7"
d G "CCP_COMPARE_SET_ON_MATCH" 2 194 "8"
d G "CCP_COMPARE_CLR_ON_MATCH" 2 195 "9"
d G "CCP_COMPARE_INT" 2 196 "0xA"
d G "CCP_COMPARE_RESET_TIMER" 2 197 "0xB"
d G "CCP_PWM" 2 198 "0xC"
d G "CCP_PWM_PLUS_1" 2 199 "0x1c"
d G "CCP_PWM_PLUS_2" 2 200 "0x2c"
d G "CCP_PWM_PLUS_3" 2 201 "0x3c"
d G "CCP_PWM_H_H" 2 206 "0x0c"
d G "CCP_PWM_H_L" 2 207 "0x0d"
d G "CCP_PWM_L_H" 2 208 "0x0e"
d G "CCP_PWM_L_L" 2 209 "0x0f"
d G "CCP_PWM_FULL_BRIDGE" 2 211 "0x40"
d G "CCP_PWM_FULL_BRIDGE_REV" 2 212 "0xC0"
d G "CCP_PWM_HALF_BRIDGE" 2 213 "0x80"
d G "CCP_SHUTDOWN_ON_COMP1" 2 215 "0x100000"
d G "CCP_SHUTDOWN_ON_COMP2" 2 216 "0x200000"
d G "CCP_SHUTDOWN_ON_COMP" 2 217 "0x300000"
d G "CCP_SHUTDOWN_ON_INT0" 2 218 "0x400000"
d G "CCP_SHUTDOWN_ON_COMP1_INT0" 2 219 "0x500000"
d G "CCP_SHUTDOWN_ON_COMP2_INT0" 2 220 "0x600000"
d G "CCP_SHUTDOWN_ON_COMP_INT0" 2 221 "0x700000"
d G "CCP_SHUTDOWN_AC_L" 2 223 "0x000000"
d G "CCP_SHUTDOWN_AC_H" 2 224 "0x040000"
d G "CCP_SHUTDOWN_AC_F" 2 225 "0x080000"
d G "CCP_SHUTDOWN_BD_L" 2 227 "0x000000"
d G "CCP_SHUTDOWN_BD_H" 2 228 "0x010000"
d G "CCP_SHUTDOWN_BD_F" 2 229 "0x020000"
d G "CCP_SHUTDOWN_RESTART" 2 231 "0x80000000"
d G "CCP_PULSE_STEERING_A" 2 233 "0x01000000"
d G "CCP_PULSE_STEERING_B" 2 234 "0x02000000"
d G "CCP_PULSE_STEERING_C" 2 235 "0x04000000"
d G "CCP_PULSE_STEERING_D" 2 236 "0x08000000"
d G "CCP_PULSE_STEERING_SYNC" 2 237 "0x10000000"
d G "SPI_MASTER" 2 245 "0x20"
d G "SPI_SLAVE" 2 246 "0x24"
d G "SPI_L_TO_H" 2 247 "0"
d G "SPI_H_TO_L" 2 248 "0x10"
d G "SPI_CLK_DIV_4" 2 249 "0"
d G "SPI_CLK_DIV_16" 2 250 "1"
d G "SPI_CLK_DIV_64" 2 251 "2"
d G "SPI_CLK_T2" 2 252 "3"
d G "SPI_SS_DISABLED" 2 253 "1"
d G "SPI_SAMPLE_AT_END" 2 255 "0x8000"
d G "SPI_XMIT_L_TO_H" 2 256 "0x4000"
d G "UART_ADDRESS" 2 262 "2"
d G "UART_DATA" 2 263 "4"
d G "UART_AUTODETECT" 2 264 "8"
d G "UART_AUTODETECT_NOWAIT" 2 265 "9"
d G "UART_WAKEUP_ON_RDA" 2 266 "10"
d G "UART_SEND_BREAK" 2 267 "13"
d G "NC_NC_NC_NC" 2 273 "0x00"
d G "NC_NC" 2 274 "0x00"
d G "CP1_A0_A3" 2 277 "0x00090080"
d G "CP1_A1_A3" 2 278 "0x000A0081"
d G "CP1_B3_A3" 2 279 "0x00880082"
d G "CP1_B1_A3" 2 280 "0x00280083"
d G "CP1_A0_VREF" 2 281 "0x00010084"
d G "CP1_A1_VREF" 2 282 "0x00020085"
d G "CP1_B3_VREF" 2 283 "0x00800086"
d G "CP1_B1_VREF" 2 284 "0x00200087"
d G "CP1_OUT_ON_A4" 2 286 "0x00000020"
d G "CP1_INVERT" 2 287 "0x00000010"
d G "CP1_ABSOLUTE_VREF" 2 288 "0x20000000"
d G "CP2_A0_A2" 2 291 "0x00058000"
d G "CP2_A1_A2" 2 292 "0x00068100"
d G "CP2_B3_A2" 2 293 "0x00848200"
d G "CP2_B1_A2" 2 294 "0x00248300"
d G "CP2_A0_VREF" 2 295 "0x00018400"
d G "CP2_A1_VREF" 2 296 "0x00028500"
d G "CP2_B3_VREF" 2 297 "0x00808600"
d G "CP2_B1_VREF" 2 298 "0x00208700"
d G "CP2_OUT_ON_A5" 2 300 "0x00002000"
d G "CP2_INVERT" 2 301 "0x00001000"
d G "CP2_ABSOLUTE_VREF" 2 302 "0x10000000"
d G "CP2_T1_SYNC" 2 305 "0x01000000"
d G "CP2_T1_GATE" 2 306 "0x02000000"
d G "VREF_LOW" 2 315 "0xa0"
d G "VREF_HIGH" 2 316 "0x80"
d G "OSC_31KHZ" 2 322 "1"
d G "OSC_125KHZ" 2 323 "0x11"
d G "OSC_250KHZ" 2 324 "0x21"
d G "OSC_500KHZ" 2 325 "0x31"
d G "OSC_1MHZ" 2 326 "0x41"
d G "OSC_2MHZ" 2 327 "0x51"
d G "OSC_4MHZ" 2 328 "0x61"
d G "OSC_8MHZ" 2 329 "0x71"
d G "OSC_INTRC" 2 330 "1"
d G "OSC_NORMAL" 2 331 "0"
d G "OSC_STATE_STABLE" 2 333 "4"
d G "OSC_31KHZ_STABLE" 2 334 "2"
d G "ADC_OFF" 2 342 "0" "ADC Off"
d G "ADC_CLOCK_DIV_2" 2 343 "0x100"
d G "ADC_CLOCK_DIV_8" 2 344 "0x40"
d G "ADC_CLOCK_DIV_32" 2 345 "0x80"
d G "ADC_CLOCK_INTERNAL" 2 346 "0xc0" "Internal 2-6us"
d G "sAN0" 2 350 "1" "| A0"
d G "sAN1" 2 351 "2" "| A1"
d G "sAN2" 2 352 "4" "| A2"
d G "sAN3" 2 353 "8" "| A3"
d G "sAN4" 2 354 "16" "| A5"
d G "sAN5" 2 355 "32" "| E0"
d G "sAN6" 2 356 "64" "| E1"
d G "sAN7" 2 357 "128" "| E2"
d G "sAN8" 2 358 "0x10000" "| B2"
d G "sAN9" 2 359 "0x20000" "| B3"
d G "sAN10" 2 360 "0x40000" "| B1"
d G "sAN11" 2 361 "0x80000" "| B4"
d G "sAN12" 2 362 "0x100000" "| B0"
d G "sAN13" 2 363 "0x200000" "| B5"
d G "NO_ANALOGS" 2 364 "0" "None"
d G "ALL_ANALOG" 2 365 "0x1F00FF" "A0 A1 A2 A3 A5 E0 E1 E2 B0 B1 B2 B3 B4 B5"
d G "VSS_VDD" 2 368 "0x0000" "| Range 0-Vdd"
d G "VSS_VREF" 2 369 "0x1000" "| Range 0-Vref"
d G "VREF_VREF" 2 370 "0x3000" "| Range Vref-Vref"
d G "VREF_VDD" 2 371 "0x2000" "| Range Vref-Vdd"
d G "ADC_START_AND_READ" 2 375 "7" "This is the default if nothing is specified"
d G "ADC_START_ONLY" 2 376 "1"
d G "ADC_READ_ONLY" 2 377 "6"
d G "L_TO_H" 2 389 "0x40"
d G "H_TO_L" 2 390 "0"
d G "GLOBAL" 2 392 "0x0BC0"
d G "INT_RTCC" 2 393 "0x000B20"
d G "INT_RB" 2 394 "0x01FF0B08"
d G "INT_EXT_L2H" 2 395 "0x50000B10"
d G "INT_EXT_H2L" 2 396 "0x60000B10"
d G "INT_EXT" 2 397 "0x000B10"
d G "INT_AD" 2 398 "0x008C40"
d G "INT_TBE" 2 399 "0x008C10"
d G "INT_RDA" 2 400 "0x008C20"
d G "INT_TIMER1" 2 401 "0x008C01"
d G "INT_TIMER2" 2 402 "0x008C02"
d G "INT_CCP1" 2 403 "0x008C04"
d G "INT_CCP2" 2 404 "0x008D01"
d G "INT_SSP" 2 405 "0x008C08"
d G "INT_BUSCOL" 2 406 "0x008D08"
d G "INT_EEPROM" 2 407 "0x008D10"
d G "INT_TIMER0" 2 408 "0x000B20"
d G "INT_OSC_FAIL" 2 409 "0x008D80"
d G "INT_COMP" 2 410 "0x008D20"
d G "INT_COMP2" 2 411 "0x008D40"
d G "INT_ULPWU" 2 412 "0x008D04"
d G "INT_RB0" 2 413 "0x0010B08"
d G "INT_RB1" 2 414 "0x0020B08"
d G "INT_RB2" 2 415 "0x0040B08"
d G "INT_RB3" 2 416 "0x0080B08"
d G "INT_RB4" 2 417 "0x0100B08"
d G "INT_RB5" 2 418 "0x0200B08"
d G "INT_RB6" 2 419 "0x0400B08"
d G "INT_RB7" 2 420 "0x0800B08"
D G "EEPROM_SDA" 0 3 "PIN_B0"
D G "EEPROM_SCL" 0 4 "PIN_B1"
D G "MPL3115_ADDR_R" 0 8 "0xC1"
D G "MPL3115_ADDR_W" 0 9 "0xC0"
F G "mpl3115_setA" 0 12 "void()" "nastavení pro výšku"
C L "mpl3115_setA" 0 16 1 "FUNCTION"
C L "mpl3115_setA" 0 16 1 "FUNCTION"
C L "mpl3115_setA" 0 16 1 "FUNCTION"
C L "mpl3115_setA" 0 16 1 "FUNCTION"
F G "mpl3115_setP" 0 35 "void()" "nastavení pro tlak"
C L "mpl3115_setP" 0 16 1 "FUNCTION"
C L "mpl3115_setP" 0 16 1 "FUNCTION"
C L "mpl3115_setP" 0 16 1 "FUNCTION"
C L "mpl3115_setP" 0 16 1 "FUNCTION"
F G "mpl3115_read" 0 59 "int8(int8 reg)"
V L "reg" 0 59 "int8"
V L "i" 0 61 "int8"
F G "mpl3115_T" 0 75 "float()" "teplota ve stupnich"
V L "m" 0 77 "int8"
V L "l" 0 78 "float"
V L "t" 0 78 "float"
F G "mpl3115_A" 0 86 "float()" "vyska v m"
V L "m" 0 89 "int16"
V L "c" 0 89 "int16"
V L "l" 0 90 "float"
V L "a" 0 90 "float"
F G "mpl3115_P" 0 100 "float()" "tlak v Pa"
V L "m" 0 102 "int32"
V L "c" 0 103 "int16"
V L "l" 0 104 "int8"
V L "p" 0 105 "float"
V L "l1" 0 105 "float"
F G "MAIN" 0 128 "void()"
V L "p" 0 131 "float"
V L "t" 0 131 "float"
V L "a" 0 131 "float"
C L "MAIN" 0 16 1 "FUNCTION"
C L "MAIN" 0 16 1 "FUNCTION"
F B "reset_cpu" 0 0
F B "abs" 1 0
F B "sleep_ulpwu" 1 0
F B "sleep" 0 0
F B "delay_cycles" 1 0
F B "read_bank" 2 0
F B "write_bank" 3 0
F B "shift_left" 2 2
F B "shift_right" 2 2
F B "rotate_left" 2 0
F B "rotate_right" 2 0
F B "_mul" 2 0
F B "memset" 3 0
F B "isamoung" 2 0
F B "isamong" 2 0
F B "bit_set" 2 0
F B "bit_clear" 2 0
F B "bit_test" 2 0
F B "toupper" 1 0
F B "tolower" 1 0
F B "swap" 1 0
F B "printf" 1 255
F B "fprintf" 1 255
F B "sprintf" 1 255
F B "make8" 2 0
F B "make16" 2 0
F B "make32" 1 255
F B "label_address" 1 1
F B "goto_address" 1 0
F B "_va_arg" 1 0
F B "offsetofbit" 2 2
F B "enable_interrupts" 1 0
F B "disable_interrupts" 1 0
F B "interrupt_active" 1 0
F B "clear_interrupt" 1 0
F B "jump_to_isr" 1 0
F B "ext_int_edge" 1 2
F B "read_eeprom" 1 0
F B "write_eeprom" 2 0
F B "read_program_eeprom" 1 0
F B "write_program_eeprom" 2 0
F B "write_program_memory" 4 0
F B "write_program_memory8" 4 0
F B "read_program_memory" 4 0
F B "read_program_memory8" 4 0
F B "erase_program_eeprom" 1 0
F B "strcpy" 2 0
F B "memcpy" 3 0
F B "strstr100" 2 0
F B "output_high" 1 0
F B "output_low" 1 0
F B "input" 1 0
F B "input_state" 1 0
F B "output_float" 1 0
F B "output_drive" 1 0
F B "output_bit" 1 1
F B "output_toggle" 1 0
F B "output_a" 1 0
F B "output_b" 1 0
F B "output_c" 1 0
F B "output_d" 1 0
F B "output_e" 1 0
F B "input_a" 0 0
F B "input_b" 0 0
F B "input_c" 0 0
F B "input_d" 0 0
F B "input_e" 0 0
F B "set_tris_a" 1 0
F B "set_tris_b" 1 0
F B "set_tris_c" 1 0
F B "set_tris_d" 1 0
F B "set_tris_e" 1 0
F B "get_tris_a" 0 0
F B "get_tris_b" 0 0
F B "get_tris_c" 0 0
F B "get_tris_d" 0 0
F B "get_tris_e" 0 0
F B "input_change_a" 0 0
F B "input_change_b" 0 0
F B "input_change_c" 0 0
F B "input_change_d" 0 0
F B "input_change_e" 0 0
F B "port_b_pullups" 1 0
F B "setup_counters" 2 0
F B "setup_wdt" 1 0
F B "restart_cause" 0 0
F B "restart_wdt" 0 0
F B "get_rtcc" 0 0
F B "set_rtcc" 1 0
F B "get_timer0" 0 0
F B "set_timer0" 1 0
F B "setup_comparator" 1 0
F B "setup_port_a" 1 0
F B "setup_adc_ports" 1 0
F B "setup_adc" 1 0
F B "set_adc_channel" 1 0
F B "read_adc" 0 1
F B "adc_done" 0 0
F B "setup_timer_0" 1 0
F B "setup_vref" 1 0
F B "setup_timer_1" 1 0
F B "get_timer1" 0 0
F B "set_timer1" 1 0
F B "setup_timer_2" 3 0
F B "get_timer2" 0 0
F B "set_timer2" 1 0
F B "setup_ccp1" 1 2
F B "set_pwm1_duty" 1 0
F B "setup_ccp2" 1 0
F B "set_pwm2_duty" 1 0
F B "setup_oscillator" 1 2
F B "setup_spi" 1 0
F B "spi_read" 0 1
F B "spi_write" 1 0
F B "spi_data_is_in" 0 0
F B "setup_spi2" 1 0
F B "spi_read2" 0 1
F B "spi_write2" 1 0
F B "spi_data_is_in2" 0 0
F B "brownout_enable" 1 0
F B "delay_ms" 1 0
F B "delay_us" 1 0
F B "i2c_read" 0 2
F B "i2c_write" 1 2
F B "i2c_start" 0 2
F B "i2c_stop" 0 1
F B "i2c_isr_state" 0 1
F B "putchar" 1 2
F B "puts" 1 2
F B "getch" 0 1
F B "gets" 1 3
F B "kbhit" 0 1
/Modules/Sensors/ALTIMET01A/SW/MPL3115/PIC16F887/main.h
0,0 → 1,19
#include <16F887.h>
#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)
 
/Modules/Sensors/ALTIMET01A/SW/MPL3115/PIC16F887/main.hex
0,0 → 1,285
:1000000008308A00002800005436E135EF366539A3
:10001000203765316F10F63CF335EF366539A006B1
:100020000A00D43270366F3A611DA01231182E1AB0
:100030006614733A7538EE32A9060A005436E13573
:100040003A10A518301734332828E1140D050001A3
:100050005634FD349A346B3461343A3420342534C8
:10006000313430342E343434663428346D34293409
:100070000D340A3400348316861183128611083039
:10008000F80042280000F8175328F813BA0C031898
:100090008615031C8611781753287813F80B462809
:1000A0005128000086153F308400840B552800003D
:1000B000F81B4528781B4D280800831603178C175A
:1000C0000C140000000083120C087F390319A128CA
:1000D0000313AD0003170D080313AE0003170F0839
:1000E0000313AF002D08BA003B202E0803178D0024
:1000F00003132F0803178F0083168C170C140000AE
:10010000000083120C0D0E0D7F390319A128031373
:10011000AD0003170D080313AE0003170F080313F8
:10012000AF002D08BA003B202E0803178D000313E3
:100130002F0803178F008D0A03198F0A03135D28F8
:10014000031703138A150A1221280830F80000004B
:1001500086108316861000008312BE0D0610031C45
:10016000B4288316061483120318B92883160610C0
:100170008312831686148312861CBC28F80BA728CA
:100180000000861083168610000006140000000090
:1001900086148312861CCA28F801000006187814F9
:1001A000861083168610831206108316061083129B
:1001B000080083160614000086140000831206103F
:1001C0008316061000008312861083168610C03036
:1001D0008312BE00A5202630BE00A520B830BE0088
:1001E000A52083160610000086148312861CF628AC
:1001F0000000FA2800008316061400000614000010
:100200008614000083120610831606100000831265
:10021000861083168610C0308312BE00A5201330CE
:10022000BE00A5200730BE00A520831606100000E2
:1002300086148312861C1A2900001E2900008316CA
:100240000614000006140000861400008312061035
:100250008316061000008312861083168610C030A5
:100260008312BE00A5202630BE00A5203930BE0076
:10027000A52083160610000086148312861C3E29D2
:1002800000004229000083160614000083128A151C
:100290000A1224282E3084008313000803195D29D4
:1002A0000230F800F701F70B5329F80B5229973069
:1002B000F700F70B5929800B502908008316061404
:1002C000000086140000831206108316061000003A
:1002D0008312861083168610C0308312BE00A520BC
:1002E0003C08BE00A52083160614000086140000FA
:1002F0008312861C792906108316061000008312CB
:10030000861083168610C1308312BE00A520F70127
:100310000830BF007708C00083160614000086145A
:100320008312861C912906180314061C0310F80D6D
:1003300000008316861083128610BF0B8C2983164B
:10034000061400008312061040080319AA29831618
:10035000061083120000831686148312861CAE29B1
:100360000000861083168610000083120610831684
:10037000061078088312BD0083160610000086144C
:100380008312861CC1290000C529000083160614AB
:10039000000083123D08F80008008E30F7003E0888
:1003A000F8003D08F900FA01F808031DE129790871
:1003B000F800F9010830F702F808031DE129F701F8
:1003C000E9290310F81BE829F90DF80DF703E129D5
:1003D000F813080041080319AF2ACD004508031996
:1003E000AF2ACD02031CF9297F30CD070318AF2AAD
:1003F000FF298130CD02031CAF2A0319AF2A4D0813
:10040000F700F801F901FA01CC014208CB00CB1743
:100410004308CA004408C9001930CD004808C90281
:100420000318222A0130CA020318222ACB02031819
:10043000222ACC020318222ACC0ACB0ACA0A48086C
:10044000C907542A4708CA0203183D2A0130CB02C3
:1004500003183D2ACC0203183D2ACC0ACB0A4708D0
:10046000CA074808C907031C542ACA0A031D542A8C
:10047000CB0A031D542ACC0A542A46088038CB02E2
:100480000318532A0130CC020318532ACC0A460819
:100490008038CB074708CA07031C312ACB0A031D43
:1004A000312ACC0A312A7A14CD0B572A622A03103A
:1004B000C90DCA0DCB0DCC0D0310FA0DF90DF80DB9
:1004C000CE0D0E2A4E1C6A2A0310F80CF90CFA0CF9
:1004D000CE0C6D2AF7030319AF2ACE1B962A031000
:1004E000C90DCA0DCB0DCC0D4808C9020318822ACC
:1004F0000130CA020318822ACB020318822ACC02D6
:10050000031CA52A4708CA0203188D2A0130CB0212
:1005100003188D2ACC02031CA52A46088038CB027A
:100520000318962A0130CC02031CA52AFA0A031DDF
:10053000A52AF90A031DA52AF80A031DA52AF70A08
:100540000319AF2AF80CF90CFA0C4208CD00460842
:10055000CD06CD1FAD2AF817B32AF813B32AF70139
:10056000F801F901FA01080080308318C806CD01AE
:10057000CE014408CC004808CC0643080319A42B3C
:10058000CB00F70047080319AD2BCB020319492B09
:10059000031C072B4808D100D1174908D0004A088E
:1005A000CF00CE010310D10CD00CCF0CCE0CCB0B56
:1005B000D12ACC1FDE2A4D14C12B4D104B104D16E5
:1005C000463084008313D62B4D12CC1BF12A4B1CD2
:1005D000FC2AD10CD00CCF0CCE0CF70A0319BC2B83
:1005E000FC2AD11BFF2A0310CE0DCF0DD00DD10D4B
:1005F000F7030319BC2BF12A4D17692B4D1344083F
:10060000CC00CC1F052BD117B52BD113B52B470828
:10061000CB00F7004308CB024408D100D1174508AE
:10062000D0004608CF00CE010310D10CD00CCF0C67
:10063000CE0CCB0B132BCC1F202BCD14C12BCD10EC
:100640004B10CD164A3084008313D62BCD12CC1B11
:10065000332B4B1C3E2BD10CD00CCF0CCE0CF70AFD
:100660000319BC2B3E2BD11B412B0310CE0DCF0DFC
:10067000D00DD10DF7030319BC2B332BCD17692BEC
:10068000CD134808CC00CC1F472BD117B52BD11365
:10069000B52B4808D100D1174908D0004A08CF002F
:1006A000CC1F562BD1134D15C12B4D11CE014B1024
:1006B000463084008313D62BCC1B7F2B4408CC0000
:1006C0004B1C692BD10CD00CCF0CCE0CF70A0319A4
:1006D000BC2BCE1F7A2BCF0A031D7A2BD00A031D09
:1006E0007A2BD10A031D7A2BD10CD00CCF0CF70A30
:1006F0000319BC2B4D1BFE2ACD1B402B9E2B80309B
:10070000D106D11F872BC12B4808CC00942B44085D
:10071000CC00D108031D942BD008031D942BCF08C7
:10072000031D942BF701B52BD11B9E2B0310CE0D6F
:10073000CF0DD00DD10DF70B942BBC2BCC1FA22BC2
:10074000D117B52BD113B52B4708F7004808D100B6
:100750004908D0004A08CF00B52B4308F7004408E9
:10076000D1004508D0004608CF005108F8005008D5
:10077000F9004F08FA00F42BF701F801F901FA012A
:10078000F42BCE01CF09D009D109CE09CE0A031D21
:10079000CF2BCF0A031DCF2BD00A0319D10A4D1836
:1007A000DD2ACD181F2B4D19552B842B0008CF07A0
:1007B000031CE02BD00A031DE02BD10A03194B14B4
:1007C00084030008D007031CE82BD10A03194B143B
:1007D00084030008801F803AD10703184B144D1A78
:1007E000E42ACD1A262B5C2B08000430BC005E21C5
:1007F0007808AD000530BC005E21780EF7000F30A0
:10080000F7057708BE01BD00CD217708B60078084E
:10081000B7007908B8007A08B900C4007908C300A5
:100820007808C2007708C100C801C701C60183303B
:10083000C500EA217A08B1007908B0007808AF0055
:100840007708AE00BE012D08BD00CD2183107A08C7
:10085000C6007908C5007808C4007708C3003108CD
:10086000CA003008C9002F08C8002E08C700B422EB
:100870007A08B5007908B4007808B3007708B200A8
:100880003208F7003308F8003408F9003508FA0098
:100890008A150A1230280130BC005E21B001AF0178
:1008A000AE017808AD000230BC005E21B2017808CC
:1008B000B1000330BC005E217808B300330EF700AE
:1008C0000F30F7057708BE01BD00CD217708BD00C8
:1008D0007808BE007908BF007A08C000C400790813
:1008E000C3007808C2007708C100C801C701C6016B
:1008F0008130C500EA217A08BB007908BA0078087F
:10090000B9007708B800BD012D0DBE002E0DBF0047
:100910002F0DC000BE0DBF0DC00DFC30BE05310D4A
:10092000F900320DFA00F90DFA0DFC30F9057908DD
:10093000BD047A08BE04330EF700F70CF70C033041
:10094000F70577083D04F7003E08F8003F08F90076
:100950004008FA007A08C6007908C5007808C40083
:100960007708C300B630F700FA01F901F80143082F
:10097000440445044604031DBF2CF701CC2C03108E
:10098000F81BCB2CC30DC40DC50DC60DFA0DF90D0A
:10099000F80DF70BBF2CF8137708BD007808BE00E0
:1009A0007908BF007A08C00083107A08C600790869
:1009B000C5007808C4007708C3003B08CA003A089D
:1009C000C9003908C8003808C700B4227A08B7003F
:1009D0007908B6007808B5007708B4003408F70045
:1009E0003508F8003608F9003708FA008A150A12A7
:1009F0003B2883160614000086140000831206109C
:100A00008316061000008312861083168610C030ED
:100A10008312BE00A5202630BE00A520B830BE003F
:100A2000A52083160610000086148312861C162D3E
:100A300000001A2D000083160614000006140000A2
:100A4000861400008312061083160610000083121D
:100A5000861083168610C0308312BE00A520133086
:100A6000BE00A5200730BE00A5208316061000009A
:100A700086148312861C3A2D00003E2D000083163A
:100A800006140000061400008614000083120610ED
:100A90008316061000008312861083168610C0305D
:100AA0008312BE00A5202630BE00A520B930BE00AE
:100AB000A52083160610000086148312861C5E2D66
:100AC0000000622D000083160614000083128A15B0
:100AD0000A1246280130BC005E21AE017808AD0044
:100AE0000230BC005E21B0017808AF000330BC00CA
:100AF0005E21780EF7000F30F7057708BE01BD00C4
:100B0000CD217708B9007808BA007908BB007A08C7
:100B1000BC00C4007908C3007808C2007708C1008F
:100B2000C801C701C6018330C500EA217A08B400B4
:100B30007908B3007808B2007708B1002D08BB002F
:100B4000BA013A082F04F7002D083004FA0077089C
:100B5000BD007A08BE00CD217708BA007808BB0036
:100B60007908BC007A08BD0083107A08C6007908AD
:100B7000C5007808C4007708C3003408CA003308E9
:100B8000C9003208C8003108C700B4227A08B8008A
:100B90007908B7007808B6007708B5003508F7007F
:100BA0003608F8003708F9003808FA008A150A12E2
:100BB0005228831603178C170C140000000003182A
:100BC000082E83120C087F390313AE0003170D089B
:100BD0000313AF0003170F080313B0002E08BA0069
:100BE0003B202F0803178D000313300803178F00D5
:100BF00083168C170C140000000083120313AD0B36
:100C0000022E052E83160317082E272E8316031790
:100C100083120C0D0E0D7F390313AE0003170D0860
:100C20000313AF0003170F080313B0002E08BA0018
:100C30003B202F0803178D000313300803178F0084
:100C40008D0A03198F0A03100313AD0BD92D080069
:100C5000F701F801F901FA01C201C301C401C5019C
:100C6000410840043F043E040319662E2030C600AC
:100C70000310BA0DBB0DBC0DBD0DC20DC30DC40DCF
:100C8000C50D41084502031D4F2E40084402031DB7
:100C90004F2E3F084302031D4F2E3E084202031C05
:100CA000602E3E08C2023F08031C3F0FC3024008EB
:100CB000031C400FC4024108031C410FC50203146A
:100CC000F70DF80DF90DFA0DC60B382E42308400E1
:100CD000831308000408B2003108B4000319FC2E85
:100CE0003008BD002F08BC002E08BB002D08BA003C
:100CF000C101C0012030BF008230BE003A08031994
:100D0000EE2EC2003E080319EE2EC20703188F2EE6
:100D10007F30C202031CEE2E0319EE2E932E81307B
:100D2000C2070318EE2E4208F700F801F901FA0194
:100D30003B08C600C6173C08C5003D08C400183073
:100D4000C200C301441CBC2E4108FA07031CAE2E8E
:100D5000F90A031DAE2EF80A0319C3174008F90754
:100D6000031CB52EF80A0319C3173F08BC00BC17B3
:100D70003C08F8070318C317C30DF80CF90CFA0C5C
:100D8000C60CC50CC40C0310C20BA12E0130F70712
:100D90000318EE2EF81BD32EC60DFA0DF90DF80D23
:100DA000F7030319EE2EC61FE42EFA0A031DE42EE4
:100DB000F90A031DE42EF80A031DE42EF80CF90CC1
:100DC000FA0CF70A0319EE2E3B08C3003F08C306CE
:100DD000C31FEC2EF817F22EF813F22EF701F801CC
:100DE000F901FA017A08B0007908AF007808AE007E
:100DF0007708AD00B40B702E3008BD002F08BC0082
:100E00002E08BB002D08BA003A08B63CBA00FA0119
:100E10003B08BE00BB170310BB0CBC0CBD0CFA0C8E
:100E2000F90CF80CF70CBA0B0B2FBE1F222FF70989
:100E3000F809F909FA09F70A0319F80A0319F90A6E
:100E40000319FA0A7A08B0007908AF007808AE00F2
:100E50007708AD00B01F392FB203B216AD09AE0945
:100E6000AF09B009AD0A0319AE0A0319AF0A031995
:100E7000B00A3B30B9009A30B800CA30B700B601AA
:100E80000A30B40031080319B20A3008BD002F0837
:100E9000BC002E08BB002D08BA003908C100380874
:100EA000C0003708BF003608BE0028260008AD0085
:100EB000840A0008AE00840A0008AF00840A000813
:100EC000B000FD308407F708031D792F310A340282
:100ED0000319792F320803197B2F0F3934020319B4
:100EE000732F0318AB2FB21BAB2F321B7B2F20307D
:100EF000A72F2030B205B21E892FB2123108031D70
:100F0000B2037708B2002D30BA003B203208F70058
:100F1000B20131083402031D972F7708B2002E303A
:100F2000BA003B203208F7002030B20500303030E4
:100F3000B21EA72FB2123108031DB2037708B20008
:100F40002D30BA003B203208F700B2013030F707ED
:100F50007708BA003B203908BD003808BC003708C4
:100F6000BB003608BA00C101C001BF010A30BE0093
:100F700028267A08B9007908B8007808B7007708F9
:100F8000B600B40B452F0800831603178C170C14FA
:100F90000000000083120D080313AE0003170F08B2
:100FA0000313AF0003170C080313BA003B202E08ED
:100FB00003178D0003132F0803178F008D0A0319E1
:0A0FC0008F0A0313AD0BC42F0800C5
:10100000840183131F308305713083168F000F080E
:10101000861183128615831603170908C0398900C3
:1010200003131F129F1200300317880083128701D9
:101030008801890104308D0000308F008A1103136C
:101040005D288A158A11D9288A150230AD00FA3038
:10105000AE008A114A218A15AD0B27288A11F52B7B
:101060008A157A08A8007908A7007808A6007708EA
:10107000A5008A114B2C8A157A08A4007908A300D0
:101080007808A2007708A1008A11F92C8A1502308D
:10109000AD00FA30AE008A114A218A15AD0B4928FD
:1010A0008A116A2D8A157A08AC007908AB00780895
:1010B000AA007708A900113003178D0000308F00B7
:1010C000031009300313AD008A11D9258A150930A0
:1010D00084002808B0002708AF002608AE002508C5
:1010E000AD000430B1008A116A268A151830031742
:1010F0008D0000308F0003140A300313AD008A11F5
:10110000D9258A151E3003178D0000308F0003107B
:1011100006300313AD008A11D9258A1509308400E1
:101120002408B0002308AF002208AE002108AD005B
:101130000430B1008A116A268A15243003178D0005
:1011400000308F00031006300313AD008A11D9253B
:101150008A15283003178D0000308F0007300313E5
:10116000AD008A11C4278A15093084002C08B0000C
:101170002B08AF002A08AE002908AD000430B100EA
:101180008A116A268A15353003178D0000308F00CA
:1011900005300313AD008A11C4278A150430AD0051
:1011A000FA30AE008A114A218A15AD0BD0282228C8
:0211B0006300DA
:04400E00F52CFF3F4F
:00000001FF
;PIC16F887
;CRC=F092 CREATED="15-4-13 19:12"
/Modules/Sensors/ALTIMET01A/SW/MPL3115/PIC16F887/main.lst
0,0 → 1,1219
CCS PCM C Compiler, Version 4.106, 47914 15-4-13 19:12
 
Filename: C:\Users\Honza\Documents\pic\I2C_altimet\main.lst
 
ROM used: 2238 words (27%)
Largest free fragment is 2048
RAM used: 18 (5%) at main() level
55 (15%) worst case
Stack: 3 locations
 
*
0000: MOVLW 08
0001: MOVWF 0A
0002: GOTO 000
0003: NOP
.................... #include "C:\Users\Honza\Documents\pic\I2C_altimet\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)
*
014A: MOVLW 2E
014B: MOVWF 04
014C: BCF 03.7
014D: MOVF 00,W
014E: BTFSC 03.2
014F: GOTO 15D
0150: MOVLW 02
0151: MOVWF 78
0152: CLRF 77
0153: DECFSZ 77,F
0154: GOTO 153
0155: DECFSZ 78,F
0156: GOTO 152
0157: MOVLW 97
0158: MOVWF 77
0159: DECFSZ 77,F
015A: GOTO 159
015B: DECFSZ 00,F
015C: GOTO 150
015D: RETURN
....................
....................
....................
.................... #define EEPROM_SDA PIN_B0
.................... #define EEPROM_SCL PIN_B1
.................... #use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL)
*
00A5: MOVLW 08
00A6: MOVWF 78
00A7: NOP
00A8: BCF 06.1
00A9: BSF 03.5
00AA: BCF 06.1
00AB: NOP
00AC: BCF 03.5
00AD: RLF 3E,F
00AE: BCF 06.0
00AF: BTFSS 03.0
00B0: GOTO 0B4
00B1: BSF 03.5
00B2: BSF 06.0
00B3: BCF 03.5
00B4: BTFSC 03.0
00B5: GOTO 0B9
00B6: BSF 03.5
00B7: BCF 06.0
00B8: BCF 03.5
00B9: BSF 03.5
00BA: BSF 06.1
00BB: BCF 03.5
00BC: BTFSS 06.1
00BD: GOTO 0BC
00BE: DECFSZ 78,F
00BF: GOTO 0A7
00C0: NOP
00C1: BCF 06.1
00C2: BSF 03.5
00C3: BCF 06.1
00C4: NOP
00C5: BSF 06.0
00C6: NOP
00C7: NOP
00C8: BSF 06.1
00C9: BCF 03.5
00CA: BTFSS 06.1
00CB: GOTO 0CA
00CC: CLRF 78
00CD: NOP
00CE: BTFSC 06.0
00CF: BSF 78.0
00D0: BCF 06.1
00D1: BSF 03.5
00D2: BCF 06.1
00D3: BCF 03.5
00D4: BCF 06.0
00D5: BSF 03.5
00D6: BCF 06.0
00D7: BCF 03.5
00D8: RETURN
*
0188: MOVLW 08
0189: MOVWF 3F
018A: MOVF 77,W
018B: MOVWF 40
018C: BSF 03.5
018D: BSF 06.0
018E: NOP
018F: BSF 06.1
0190: BCF 03.5
0191: BTFSS 06.1
0192: GOTO 191
0193: BTFSC 06.0
0194: BSF 03.0
0195: BTFSS 06.0
0196: BCF 03.0
0197: RLF 78,F
0198: NOP
0199: BSF 03.5
019A: BCF 06.1
019B: BCF 03.5
019C: BCF 06.1
019D: DECFSZ 3F,F
019E: GOTO 18C
019F: BSF 03.5
01A0: BSF 06.0
01A1: NOP
01A2: BCF 03.5
01A3: BCF 06.0
01A4: MOVF 40,W
01A5: BTFSC 03.2
01A6: GOTO 1AA
01A7: BSF 03.5
01A8: BCF 06.0
01A9: BCF 03.5
01AA: NOP
01AB: BSF 03.5
01AC: BSF 06.1
01AD: BCF 03.5
01AE: BTFSS 06.1
01AF: GOTO 1AE
01B0: NOP
01B1: BCF 06.1
01B2: BSF 03.5
01B3: BCF 06.1
01B4: NOP
01B5: BCF 03.5
01B6: BCF 06.0
01B7: BSF 03.5
01B8: BCF 06.0
.................... #use rs232(baud=9600,parity=N,xmit=PIN_B3,rcv=PIN_B2,bits=8) //rcv TXD xmit RXD
*
003B: BSF 03.5
003C: BCF 06.3
003D: BCF 03.5
003E: BCF 06.3
003F: MOVLW 08
0040: MOVWF 78
0041: GOTO 042
0042: NOP
0043: BSF 78.7
0044: GOTO 053
0045: BCF 78.7
0046: RRF 3A,F
0047: BTFSC 03.0
0048: BSF 06.3
0049: BTFSS 03.0
004A: BCF 06.3
004B: BSF 78.6
004C: GOTO 053
004D: BCF 78.6
004E: DECFSZ 78,F
004F: GOTO 046
0050: GOTO 051
0051: NOP
0052: BSF 06.3
0053: MOVLW 3F
0054: MOVWF 04
0055: DECFSZ 04,F
0056: GOTO 055
0057: NOP
0058: BTFSC 78.7
0059: GOTO 045
005A: BTFSC 78.6
005B: GOTO 04D
005C: RETURN
....................
.................... #define MPL3115_ADDR_R 0xC1
.................... #define MPL3115_ADDR_W 0xC0
....................
....................
.................... void mpl3115_setA (void) //nastavení pro výšku
.................... {
....................
....................
.................... i2c_start(); //STANDBY mode
*
04F9: BSF 03.5
04FA: BSF 06.0
04FB: NOP
04FC: BSF 06.1
04FD: NOP
04FE: BCF 03.5
04FF: BCF 06.0
0500: BSF 03.5
0501: BCF 06.0
0502: NOP
0503: BCF 03.5
0504: BCF 06.1
0505: BSF 03.5
0506: BCF 06.1
.................... I2C_Write(MPL3115_ADDR_W);
0507: MOVLW C0
0508: BCF 03.5
0509: MOVWF 3E
050A: CALL 0A5
.................... I2C_write(0x26);
050B: MOVLW 26
050C: MOVWF 3E
050D: CALL 0A5
.................... I2C_write(0xB8);
050E: MOVLW B8
050F: MOVWF 3E
0510: CALL 0A5
.................... i2c_stop();
0511: BSF 03.5
0512: BCF 06.0
0513: NOP
0514: BSF 06.1
0515: BCF 03.5
0516: BTFSS 06.1
0517: GOTO 516
0518: NOP
0519: GOTO 51A
051A: NOP
051B: BSF 03.5
051C: BSF 06.0
051D: NOP
....................
.................... i2c_start(); //PT_DATA_CFG set
051E: BSF 06.0
051F: NOP
0520: BSF 06.1
0521: NOP
0522: BCF 03.5
0523: BCF 06.0
0524: BSF 03.5
0525: BCF 06.0
0526: NOP
0527: BCF 03.5
0528: BCF 06.1
0529: BSF 03.5
052A: BCF 06.1
.................... I2C_Write(MPL3115_ADDR_W);
052B: MOVLW C0
052C: BCF 03.5
052D: MOVWF 3E
052E: CALL 0A5
.................... I2C_write(0x13);
052F: MOVLW 13
0530: MOVWF 3E
0531: CALL 0A5
.................... I2C_write(0x07); //hodnota
0532: MOVLW 07
0533: MOVWF 3E
0534: CALL 0A5
.................... i2c_stop();
0535: BSF 03.5
0536: BCF 06.0
0537: NOP
0538: BSF 06.1
0539: BCF 03.5
053A: BTFSS 06.1
053B: GOTO 53A
053C: NOP
053D: GOTO 53E
053E: NOP
053F: BSF 03.5
0540: BSF 06.0
0541: NOP
....................
.................... i2c_start(); //ACTIVE mode
0542: BSF 06.0
0543: NOP
0544: BSF 06.1
0545: NOP
0546: BCF 03.5
0547: BCF 06.0
0548: BSF 03.5
0549: BCF 06.0
054A: NOP
054B: BCF 03.5
054C: BCF 06.1
054D: BSF 03.5
054E: BCF 06.1
.................... I2C_Write(MPL3115_ADDR_W);
054F: MOVLW C0
0550: BCF 03.5
0551: MOVWF 3E
0552: CALL 0A5
.................... I2C_write(0x26);
0553: MOVLW 26
0554: MOVWF 3E
0555: CALL 0A5
.................... I2C_write(0xB9);
0556: MOVLW B9
0557: MOVWF 3E
0558: CALL 0A5
.................... i2c_stop();
0559: BSF 03.5
055A: BCF 06.0
055B: NOP
055C: BSF 06.1
055D: BCF 03.5
055E: BTFSS 06.1
055F: GOTO 55E
0560: NOP
0561: GOTO 562
0562: NOP
0563: BSF 03.5
0564: BSF 06.0
0565: NOP
.................... }
0566: BCF 03.5
0567: BSF 0A.3
0568: BCF 0A.4
0569: GOTO 046 (RETURN)
....................
.................... void mpl3115_setP (void) //nastavení pro tlak
.................... {
....................
....................
.................... i2c_start(); //STANDBY mode
*
00D9: BSF 03.5
00DA: BSF 06.0
00DB: NOP
00DC: BSF 06.1
00DD: NOP
00DE: BCF 03.5
00DF: BCF 06.0
00E0: BSF 03.5
00E1: BCF 06.0
00E2: NOP
00E3: BCF 03.5
00E4: BCF 06.1
00E5: BSF 03.5
00E6: BCF 06.1
.................... I2C_Write(MPL3115_ADDR_W);
00E7: MOVLW C0
00E8: BCF 03.5
00E9: MOVWF 3E
00EA: CALL 0A5
.................... I2C_write(0x26);
00EB: MOVLW 26
00EC: MOVWF 3E
00ED: CALL 0A5
.................... I2C_write(0xB8);
00EE: MOVLW B8
00EF: MOVWF 3E
00F0: CALL 0A5
.................... i2c_stop();
00F1: BSF 03.5
00F2: BCF 06.0
00F3: NOP
00F4: BSF 06.1
00F5: BCF 03.5
00F6: BTFSS 06.1
00F7: GOTO 0F6
00F8: NOP
00F9: GOTO 0FA
00FA: NOP
00FB: BSF 03.5
00FC: BSF 06.0
00FD: NOP
....................
.................... i2c_start(); //PT_DATA_CFG set
00FE: BSF 06.0
00FF: NOP
0100: BSF 06.1
0101: NOP
0102: BCF 03.5
0103: BCF 06.0
0104: BSF 03.5
0105: BCF 06.0
0106: NOP
0107: BCF 03.5
0108: BCF 06.1
0109: BSF 03.5
010A: BCF 06.1
.................... I2C_Write(MPL3115_ADDR_W);
010B: MOVLW C0
010C: BCF 03.5
010D: MOVWF 3E
010E: CALL 0A5
.................... I2C_write(0x13);
010F: MOVLW 13
0110: MOVWF 3E
0111: CALL 0A5
.................... I2C_write(0x07); //hodnota
0112: MOVLW 07
0113: MOVWF 3E
0114: CALL 0A5
.................... i2c_stop();
0115: BSF 03.5
0116: BCF 06.0
0117: NOP
0118: BSF 06.1
0119: BCF 03.5
011A: BTFSS 06.1
011B: GOTO 11A
011C: NOP
011D: GOTO 11E
011E: NOP
011F: BSF 03.5
0120: BSF 06.0
0121: NOP
....................
.................... i2c_start(); //ACTIVE mode
0122: BSF 06.0
0123: NOP
0124: BSF 06.1
0125: NOP
0126: BCF 03.5
0127: BCF 06.0
0128: BSF 03.5
0129: BCF 06.0
012A: NOP
012B: BCF 03.5
012C: BCF 06.1
012D: BSF 03.5
012E: BCF 06.1
.................... I2C_Write(MPL3115_ADDR_W);
012F: MOVLW C0
0130: BCF 03.5
0131: MOVWF 3E
0132: CALL 0A5
.................... I2C_write(0x26);
0133: MOVLW 26
0134: MOVWF 3E
0135: CALL 0A5
.................... I2C_write(0x39);
0136: MOVLW 39
0137: MOVWF 3E
0138: CALL 0A5
.................... i2c_stop();
0139: BSF 03.5
013A: BCF 06.0
013B: NOP
013C: BSF 06.1
013D: BCF 03.5
013E: BTFSS 06.1
013F: GOTO 13E
0140: NOP
0141: GOTO 142
0142: NOP
0143: BSF 03.5
0144: BSF 06.0
0145: NOP
.................... }
0146: BCF 03.5
0147: BSF 0A.3
0148: BCF 0A.4
0149: GOTO 024 (RETURN)
....................
....................
.................... byte mpl3115_read (byte reg)
.................... {
.................... byte i;
....................
.................... i2c_start();
*
015E: BSF 03.5
015F: BSF 06.0
0160: NOP
0161: BSF 06.1
0162: NOP
0163: BCF 03.5
0164: BCF 06.0
0165: BSF 03.5
0166: BCF 06.0
0167: NOP
0168: BCF 03.5
0169: BCF 06.1
016A: BSF 03.5
016B: BCF 06.1
.................... I2C_Write(MPL3115_ADDR_W);
016C: MOVLW C0
016D: BCF 03.5
016E: MOVWF 3E
016F: CALL 0A5
.................... I2C_write(reg);
0170: MOVF 3C,W
0171: MOVWF 3E
0172: CALL 0A5
.................... i2c_start();
0173: BSF 03.5
0174: BSF 06.0
0175: NOP
0176: BSF 06.1
0177: NOP
0178: BCF 03.5
0179: BTFSS 06.1
017A: GOTO 179
017B: BCF 06.0
017C: BSF 03.5
017D: BCF 06.0
017E: NOP
017F: BCF 03.5
0180: BCF 06.1
0181: BSF 03.5
0182: BCF 06.1
.................... I2C_Write(MPL3115_ADDR_R);
0183: MOVLW C1
0184: BCF 03.5
0185: MOVWF 3E
0186: CALL 0A5
.................... i=i2c_read(0);
0187: CLRF 77
*
01B9: MOVF 78,W
01BA: BCF 03.5
01BB: MOVWF 3D
.................... i2c_stop();
01BC: BSF 03.5
01BD: BCF 06.0
01BE: NOP
01BF: BSF 06.1
01C0: BCF 03.5
01C1: BTFSS 06.1
01C2: GOTO 1C1
01C3: NOP
01C4: GOTO 1C5
01C5: NOP
01C6: BSF 03.5
01C7: BSF 06.0
01C8: NOP
....................
.................... return i;
01C9: BCF 03.5
01CA: MOVF 3D,W
01CB: MOVWF 78
.................... }
01CC: RETURN
....................
....................
.................... float mpl3115_T (void) //teplota ve stupnich
.................... {
.................... int m;
.................... float l, t;
....................
.................... m= mpl3115_read (0x04);
*
03F5: MOVLW 04
03F6: MOVWF 3C
03F7: CALL 15E
03F8: MOVF 78,W
03F9: MOVWF 2D
.................... l= (float)(mpl3115_read(0x05)>>4)/16.0;
03FA: MOVLW 05
03FB: MOVWF 3C
03FC: CALL 15E
03FD: SWAPF 78,W
03FE: MOVWF 77
03FF: MOVLW 0F
0400: ANDWF 77,F
0401: MOVF 77,W
0402: CLRF 3E
0403: MOVWF 3D
0404: CALL 1CD
0405: MOVF 77,W
0406: MOVWF 36
0407: MOVF 78,W
0408: MOVWF 37
0409: MOVF 79,W
040A: MOVWF 38
040B: MOVF 7A,W
040C: MOVWF 39
040D: MOVWF 44
040E: MOVF 79,W
040F: MOVWF 43
0410: MOVF 78,W
0411: MOVWF 42
0412: MOVF 77,W
0413: MOVWF 41
0414: CLRF 48
0415: CLRF 47
0416: CLRF 46
0417: MOVLW 83
0418: MOVWF 45
0419: CALL 1EA
041A: MOVF 7A,W
041B: MOVWF 31
041C: MOVF 79,W
041D: MOVWF 30
041E: MOVF 78,W
041F: MOVWF 2F
0420: MOVF 77,W
0421: MOVWF 2E
.................... t = (float)(M + L);
0422: CLRF 3E
0423: MOVF 2D,W
0424: MOVWF 3D
0425: CALL 1CD
0426: BCF 03.1
0427: MOVF 7A,W
0428: MOVWF 46
0429: MOVF 79,W
042A: MOVWF 45
042B: MOVF 78,W
042C: MOVWF 44
042D: MOVF 77,W
042E: MOVWF 43
042F: MOVF 31,W
0430: MOVWF 4A
0431: MOVF 30,W
0432: MOVWF 49
0433: MOVF 2F,W
0434: MOVWF 48
0435: MOVF 2E,W
0436: MOVWF 47
0437: CALL 2B4
0438: MOVF 7A,W
0439: MOVWF 35
043A: MOVF 79,W
043B: MOVWF 34
043C: MOVF 78,W
043D: MOVWF 33
043E: MOVF 77,W
043F: MOVWF 32
.................... return t;
0440: MOVF 32,W
0441: MOVWF 77
0442: MOVF 33,W
0443: MOVWF 78
0444: MOVF 34,W
0445: MOVWF 79
0446: MOVF 35,W
0447: MOVWF 7A
.................... }
0448: BSF 0A.3
0449: BCF 0A.4
044A: GOTO 030 (RETURN)
....................
.................... float mpl3115_A (void) //vyska v m
.................... {
....................
.................... int16 m, c;
.................... float l, a;
....................
.................... m= mpl3115_read (0x01);
*
056A: MOVLW 01
056B: MOVWF 3C
056C: CALL 15E
056D: CLRF 2E
056E: MOVF 78,W
056F: MOVWF 2D
.................... c= mpl3115_read (0x02);
0570: MOVLW 02
0571: MOVWF 3C
0572: CALL 15E
0573: CLRF 30
0574: MOVF 78,W
0575: MOVWF 2F
.................... l= (float)(mpl3115_read(0x03)>>4)/16.0;
0576: MOVLW 03
0577: MOVWF 3C
0578: CALL 15E
0579: SWAPF 78,W
057A: MOVWF 77
057B: MOVLW 0F
057C: ANDWF 77,F
057D: MOVF 77,W
057E: CLRF 3E
057F: MOVWF 3D
0580: CALL 1CD
0581: MOVF 77,W
0582: MOVWF 39
0583: MOVF 78,W
0584: MOVWF 3A
0585: MOVF 79,W
0586: MOVWF 3B
0587: MOVF 7A,W
0588: MOVWF 3C
0589: MOVWF 44
058A: MOVF 79,W
058B: MOVWF 43
058C: MOVF 78,W
058D: MOVWF 42
058E: MOVF 77,W
058F: MOVWF 41
0590: CLRF 48
0591: CLRF 47
0592: CLRF 46
0593: MOVLW 83
0594: MOVWF 45
0595: CALL 1EA
0596: MOVF 7A,W
0597: MOVWF 34
0598: MOVF 79,W
0599: MOVWF 33
059A: MOVF 78,W
059B: MOVWF 32
059C: MOVF 77,W
059D: MOVWF 31
.................... a = (float)((m << 8)|c) + l;
059E: MOVF 2D,W
059F: MOVWF 3B
05A0: CLRF 3A
05A1: MOVF 3A,W
05A2: IORWF 2F,W
05A3: MOVWF 77
05A4: MOVF 2D,W
05A5: IORWF 30,W
05A6: MOVWF 7A
05A7: MOVF 77,W
05A8: MOVWF 3D
05A9: MOVF 7A,W
05AA: MOVWF 3E
05AB: CALL 1CD
05AC: MOVF 77,W
05AD: MOVWF 3A
05AE: MOVF 78,W
05AF: MOVWF 3B
05B0: MOVF 79,W
05B1: MOVWF 3C
05B2: MOVF 7A,W
05B3: MOVWF 3D
05B4: BCF 03.1
05B5: MOVF 7A,W
05B6: MOVWF 46
05B7: MOVF 79,W
05B8: MOVWF 45
05B9: MOVF 78,W
05BA: MOVWF 44
05BB: MOVF 77,W
05BC: MOVWF 43
05BD: MOVF 34,W
05BE: MOVWF 4A
05BF: MOVF 33,W
05C0: MOVWF 49
05C1: MOVF 32,W
05C2: MOVWF 48
05C3: MOVF 31,W
05C4: MOVWF 47
05C5: CALL 2B4
05C6: MOVF 7A,W
05C7: MOVWF 38
05C8: MOVF 79,W
05C9: MOVWF 37
05CA: MOVF 78,W
05CB: MOVWF 36
05CC: MOVF 77,W
05CD: MOVWF 35
.................... return a;
05CE: MOVF 35,W
05CF: MOVWF 77
05D0: MOVF 36,W
05D1: MOVWF 78
05D2: MOVF 37,W
05D3: MOVWF 79
05D4: MOVF 38,W
05D5: MOVWF 7A
.................... }
05D6: BSF 0A.3
05D7: BCF 0A.4
05D8: GOTO 052 (RETURN)
....................
....................
.................... float mpl3115_P (void) //tlak v Pa
.................... {
.................... unsigned int32 m;
.................... unsigned int16 c;
.................... unsigned int l;
.................... float p, l1;
....................
.................... m= mpl3115_read (0x01);
*
044B: MOVLW 01
044C: MOVWF 3C
044D: CALL 15E
044E: CLRF 30
044F: CLRF 2F
0450: CLRF 2E
0451: MOVF 78,W
0452: MOVWF 2D
.................... c= mpl3115_read (0x02);
0453: MOVLW 02
0454: MOVWF 3C
0455: CALL 15E
0456: CLRF 32
0457: MOVF 78,W
0458: MOVWF 31
.................... l=mpl3115_read(0x03);
0459: MOVLW 03
045A: MOVWF 3C
045B: CALL 15E
045C: MOVF 78,W
045D: MOVWF 33
....................
.................... l1= (float)(l>>4)/4.0;
045E: SWAPF 33,W
045F: MOVWF 77
0460: MOVLW 0F
0461: ANDWF 77,F
0462: MOVF 77,W
0463: CLRF 3E
0464: MOVWF 3D
0465: CALL 1CD
0466: MOVF 77,W
0467: MOVWF 3D
0468: MOVF 78,W
0469: MOVWF 3E
046A: MOVF 79,W
046B: MOVWF 3F
046C: MOVF 7A,W
046D: MOVWF 40
046E: MOVWF 44
046F: MOVF 79,W
0470: MOVWF 43
0471: MOVF 78,W
0472: MOVWF 42
0473: MOVF 77,W
0474: MOVWF 41
0475: CLRF 48
0476: CLRF 47
0477: CLRF 46
0478: MOVLW 81
0479: MOVWF 45
047A: CALL 1EA
047B: MOVF 7A,W
047C: MOVWF 3B
047D: MOVF 79,W
047E: MOVWF 3A
047F: MOVF 78,W
0480: MOVWF 39
0481: MOVF 77,W
0482: MOVWF 38
.................... p = (float)((m << 10)|(c<<2)|(l>>6)) + l1;
0483: CLRF 3D
0484: RLF 2D,W
0485: MOVWF 3E
0486: RLF 2E,W
0487: MOVWF 3F
0488: RLF 2F,W
0489: MOVWF 40
048A: RLF 3E,F
048B: RLF 3F,F
048C: RLF 40,F
048D: MOVLW FC
048E: ANDWF 3E,F
048F: RLF 31,W
0490: MOVWF 79
0491: RLF 32,W
0492: MOVWF 7A
0493: RLF 79,F
0494: RLF 7A,F
0495: MOVLW FC
0496: ANDWF 79,F
0497: MOVF 79,W
0498: IORWF 3D,F
0499: MOVF 7A,W
049A: IORWF 3E,F
049B: SWAPF 33,W
049C: MOVWF 77
049D: RRF 77,F
049E: RRF 77,F
049F: MOVLW 03
04A0: ANDWF 77,F
04A1: MOVF 77,W
04A2: IORWF 3D,W
04A3: MOVWF 77
04A4: MOVF 3E,W
04A5: MOVWF 78
04A6: MOVF 3F,W
04A7: MOVWF 79
04A8: MOVF 40,W
04A9: MOVWF 7A
04AA: MOVF 7A,W
04AB: MOVWF 46
04AC: MOVF 79,W
04AD: MOVWF 45
04AE: MOVF 78,W
04AF: MOVWF 44
04B0: MOVF 77,W
04B1: MOVWF 43
*
04CC: MOVF 77,W
04CD: MOVWF 3D
04CE: MOVF 78,W
04CF: MOVWF 3E
04D0: MOVF 79,W
04D1: MOVWF 3F
04D2: MOVF 7A,W
04D3: MOVWF 40
04D4: BCF 03.1
04D5: MOVF 7A,W
04D6: MOVWF 46
04D7: MOVF 79,W
04D8: MOVWF 45
04D9: MOVF 78,W
04DA: MOVWF 44
04DB: MOVF 77,W
04DC: MOVWF 43
04DD: MOVF 3B,W
04DE: MOVWF 4A
04DF: MOVF 3A,W
04E0: MOVWF 49
04E1: MOVF 39,W
04E2: MOVWF 48
04E3: MOVF 38,W
04E4: MOVWF 47
04E5: CALL 2B4
04E6: MOVF 7A,W
04E7: MOVWF 37
04E8: MOVF 79,W
04E9: MOVWF 36
04EA: MOVF 78,W
04EB: MOVWF 35
04EC: MOVF 77,W
04ED: MOVWF 34
....................
.................... return p;
04EE: MOVF 34,W
04EF: MOVWF 77
04F0: MOVF 35,W
04F1: MOVWF 78
04F2: MOVF 36,W
04F3: MOVWF 79
04F4: MOVF 37,W
04F5: MOVWF 7A
.................... }
04F6: BSF 0A.3
04F7: BCF 0A.4
04F8: GOTO 03B (RETURN)
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
.................... void main()
.................... {
*
0800: CLRF 04
0801: BCF 03.7
0802: MOVLW 1F
0803: ANDWF 03,F
0804: MOVLW 71
0805: BSF 03.5
0806: MOVWF 0F
0807: MOVF 0F,W
0808: BCF 06.3
0809: BCF 03.5
080A: BSF 06.3
080B: BSF 03.5
080C: BSF 03.6
080D: MOVF 09,W
080E: ANDLW C0
080F: MOVWF 09
0810: BCF 03.6
0811: BCF 1F.4
0812: BCF 1F.5
0813: MOVLW 00
0814: BSF 03.6
0815: MOVWF 08
0816: BCF 03.5
0817: CLRF 07
0818: CLRF 08
0819: CLRF 09
....................
.................... float p, t, a;
.................... printf("Tlakomer nebo vyskomer \r\n",);
081A: MOVLW 04
081B: MOVWF 0D
081C: MOVLW 00
081D: MOVWF 0F
081E: BCF 0A.3
081F: BCF 03.6
0820: GOTO 05D
0821: BSF 0A.3
....................
....................
....................
.................... while(TRUE)
.................... {
.................... mpl3115_setP(); //nastaveni pro tlak a teplotu
0822: BCF 0A.3
0823: GOTO 0D9
0824: BSF 0A.3
.................... delay_ms (500);
0825: MOVLW 02
0826: MOVWF 2D
0827: MOVLW FA
0828: MOVWF 2E
0829: BCF 0A.3
082A: CALL 14A
082B: BSF 0A.3
082C: DECFSZ 2D,F
082D: GOTO 027
.................... t=mpl3115_T();
082E: BCF 0A.3
082F: GOTO 3F5
0830: BSF 0A.3
0831: MOVF 7A,W
0832: MOVWF 28
0833: MOVF 79,W
0834: MOVWF 27
0835: MOVF 78,W
0836: MOVWF 26
0837: MOVF 77,W
0838: MOVWF 25
.................... p=mpl3115_P();
0839: BCF 0A.3
083A: GOTO 44B
083B: BSF 0A.3
083C: MOVF 7A,W
083D: MOVWF 24
083E: MOVF 79,W
083F: MOVWF 23
0840: MOVF 78,W
0841: MOVWF 22
0842: MOVF 77,W
0843: MOVWF 21
....................
.................... mpl3115_setA(); //nastaveni pro vysku a teplotu
0844: BCF 0A.3
0845: GOTO 4F9
0846: BSF 0A.3
.................... delay_ms (500);
0847: MOVLW 02
0848: MOVWF 2D
0849: MOVLW FA
084A: MOVWF 2E
084B: BCF 0A.3
084C: CALL 14A
084D: BSF 0A.3
084E: DECFSZ 2D,F
084F: GOTO 049
.................... a=mpl3115_A();
0850: BCF 0A.3
0851: GOTO 56A
0852: BSF 0A.3
0853: MOVF 7A,W
0854: MOVWF 2C
0855: MOVF 79,W
0856: MOVWF 2B
0857: MOVF 78,W
0858: MOVWF 2A
0859: MOVF 77,W
085A: MOVWF 29
....................
....................
.................... printf("Teplota: %10.4f(stupne)\r\n", t);
085B: MOVLW 11
085C: BSF 03.6
085D: MOVWF 0D
085E: MOVLW 00
085F: MOVWF 0F
0860: BCF 03.0
0861: MOVLW 09
0862: BCF 03.6
0863: MOVWF 2D
0864: BCF 0A.3
0865: CALL 5D9
0866: BSF 0A.3
0867: MOVLW 09
0868: MOVWF 04
0869: MOVF 28,W
086A: MOVWF 30
086B: MOVF 27,W
086C: MOVWF 2F
086D: MOVF 26,W
086E: MOVWF 2E
086F: MOVF 25,W
0870: MOVWF 2D
0871: MOVLW 04
0872: MOVWF 31
0873: BCF 0A.3
0874: CALL 66A
0875: BSF 0A.3
0876: MOVLW 18
0877: BSF 03.6
0878: MOVWF 0D
0879: MOVLW 00
087A: MOVWF 0F
087B: BSF 03.0
087C: MOVLW 0A
087D: BCF 03.6
087E: MOVWF 2D
087F: BCF 0A.3
0880: CALL 5D9
0881: BSF 0A.3
.................... printf("Tlak: %10.4f(Pa)\r\n", p);
0882: MOVLW 1E
0883: BSF 03.6
0884: MOVWF 0D
0885: MOVLW 00
0886: MOVWF 0F
0887: BCF 03.0
0888: MOVLW 06
0889: BCF 03.6
088A: MOVWF 2D
088B: BCF 0A.3
088C: CALL 5D9
088D: BSF 0A.3
088E: MOVLW 09
088F: MOVWF 04
0890: MOVF 24,W
0891: MOVWF 30
0892: MOVF 23,W
0893: MOVWF 2F
0894: MOVF 22,W
0895: MOVWF 2E
0896: MOVF 21,W
0897: MOVWF 2D
0898: MOVLW 04
0899: MOVWF 31
089A: BCF 0A.3
089B: CALL 66A
089C: BSF 0A.3
089D: MOVLW 24
089E: BSF 03.6
089F: MOVWF 0D
08A0: MOVLW 00
08A1: MOVWF 0F
08A2: BCF 03.0
08A3: MOVLW 06
08A4: BCF 03.6
08A5: MOVWF 2D
08A6: BCF 0A.3
08A7: CALL 5D9
08A8: BSF 0A.3
.................... printf("Výška: %10.4f(m)\r\n", a);
08A9: MOVLW 28
08AA: BSF 03.6
08AB: MOVWF 0D
08AC: MOVLW 00
08AD: MOVWF 0F
08AE: MOVLW 07
08AF: BCF 03.6
08B0: MOVWF 2D
08B1: BCF 0A.3
08B2: CALL 7C4
08B3: BSF 0A.3
08B4: MOVLW 09
08B5: MOVWF 04
08B6: MOVF 2C,W
08B7: MOVWF 30
08B8: MOVF 2B,W
08B9: MOVWF 2F
08BA: MOVF 2A,W
08BB: MOVWF 2E
08BC: MOVF 29,W
08BD: MOVWF 2D
08BE: MOVLW 04
08BF: MOVWF 31
08C0: BCF 0A.3
08C1: CALL 66A
08C2: BSF 0A.3
08C3: MOVLW 35
08C4: BSF 03.6
08C5: MOVWF 0D
08C6: MOVLW 00
08C7: MOVWF 0F
08C8: MOVLW 05
08C9: BCF 03.6
08CA: MOVWF 2D
08CB: BCF 0A.3
08CC: CALL 7C4
08CD: BSF 0A.3
....................
.................... delay_ms (1000);
08CE: MOVLW 04
08CF: MOVWF 2D
08D0: MOVLW FA
08D1: MOVWF 2E
08D2: BCF 0A.3
08D3: CALL 14A
08D4: BSF 0A.3
08D5: DECFSZ 2D,F
08D6: GOTO 0D0
.................... }
08D7: GOTO 022
....................
....................
.................... }
....................
....................
08D8: SLEEP
 
Configuration Fuses:
Word 1: 2CF5 INTRC NOWDT NOPUT MCLR NOPROTECT NOCPD NOBROWNOUT IESO FCMEN NOLVP NODEBUG
Word 2: 3FFF NOWRT BORV40
/Modules/Sensors/ALTIMET01A/SW/MPL3115/PIC16F887/main.pjt
0,0 → 1,24
[PROJECT]
Target=C:\Users\Honza\Documents\pic\I2C_altimet\main.hex
Development_Mode=
Processor_Text=PIC16F887
ToolSuite=CCS
Processor=0x887F
[C:\Users\Honza\Documents\pic\I2C_altimet\main]
Type=4
Path=
FileList=
BuildTool=
OptionString=
AdditionalOptionString=
[mru-list]
1=C:\Users\Honza\Documents\pic\I2C_altimet\main.c
[Windows]
0=0000 %S 0 0 796 451 3 0
[Units]
Link=0
Count=1
1=C:\Users\Honza\Documents\pic\I2C_altimet\main
[Opened Files]
1=main.c
2=
/Modules/Sensors/ALTIMET01A/SW/MPL3115/PIC16F887/main.sta
0,0 → 1,71
 
ROM used: 2238 (27%)
2265 (28%) including unused fragments
 
4 Average locations per line
33 Average locations per statement
 
RAM used: 18 (5%) at main() level
55 (15%) worst case
 
Stack used: 3 worst case (out of 8 total available)
 
Lines Stmts % Files
----- ----- --- -----
159 67 100 main.c
20 0 0 main.h
423 0 0 ..\..\..\..\..\Program Files (x86)\PICC\devices\16F887.h
----- -----
602 67 Total
 
Page ROM % RAM Vol Diff Functions:
---- --- --- --- --- ---- ----------
0 20 1 1 @delay_ms1
Inline 3 @I2C_READ_1
0 52 2 1 @I2C_WRITE_1
0 34 2 1 @PUTCHAR_1_
0 113 5 0 280 1.4 mpl3115_setA
0 113 5 0 280 1.4 mpl3115_setP
0 111 5 2 167 2.4 mpl3115_read
0 86 4 13 206 4.3 mpl3115_T
0 29 1 2 @ITOF
0 202 9 14 @DIVFF
0 321 14 16 395 5.3 @ADDFF
0 111 5 17 289 5.3 mpl3115_A
0 174 8 22 411 5.7 mpl3115_P
Inline 4 321 2.7 @DTOF
1 217 10 13 365 2.7 MAIN
0 13 1 0 @const110
0 72 3 3 @PSTRINGC7_68
0 13 1 0 @const112
0 79 4 4 @PSTRINGCN7_68
Inline 13 @MULFF
Inline 5 @FTOSD
0 66 3 13 @DIV3232
0 346 15 13 @PRINTF_L32D_68FPFPF
0 10 0 0 @const126
0 19 1 0 @const127
0 33 1 3 @PSTRINGCN_68
 
Program metrics:
Functions 9
Statements 67
Comments 98
Volume (V) 4404
Difficilty (D) 28.9
Effort to implement (E) 127218
Time to implement (T) 1 hours, 58 minutes
Est Delivered Bugs (B) 1
Cyclomatic Complexity 1
Maintainability (MI) 60
 
Segment Used Free
----------- ---- ----
00000-00003 4 0
00004-007FF 2017 27
00800-00FFF 217 1831
01000-017FF 0 2048
01800-01FFF 0 2048
 
 
 
/Modules/Sensors/ALTIMET01A/SW/MPL3115/PIC16F887/main.sym
0,0 → 1,177
004-005 @READ_PROGRAM_MEMORY8.P1
004 @WRITE_PROGRAM_MEMORY8.P2
015 CCP_1_LOW
015 CCP_1
016 CCP_1_HIGH
01B CCP_2
01B CCP_2_LOW
01C CCP_2_HIGH
021-024 MAIN.p
025-028 MAIN.t
029-02C MAIN.a
02D-030 mpl3115_P.m
02D-02E mpl3115_A.m
02D-030 @PRINTF_L32D_68FPFPF.P1
02D mpl3115_T.m
02D @PSTRINGCN_68.P1
02D @PSTRINGCN7_68.P2
02D MAIN.@SCRATCH1
02D @PSTRINGC7_68.@SCRATCH1
02E @delay_ms1.P1
02E-031 mpl3115_T.l
02E @PSTRINGC7_68.@SCRATCH2
02E @PSTRINGCN7_68.@SCRATCH1
02E @PSTRINGCN_68.@SCRATCH1
02F-030 mpl3115_A.c
02F @PSTRINGC7_68.@SCRATCH3
02F @PSTRINGCN7_68.@SCRATCH2
02F @PSTRINGCN_68.@SCRATCH2
030 @PSTRINGCN7_68.@SCRATCH3
031-034 mpl3115_A.l
031-032 mpl3115_P.c
031 @PRINTF_L32D_68FPFPF.P1
032-035 mpl3115_T.t
032 @PRINTF_L32D_68FPFPF.@SCRATCH1
033 mpl3115_P.l
033 @PRINTF_L32D_68FPFPF.@SCRATCH2
034-037 mpl3115_P.p
034 @PRINTF_L32D_68FPFPF.@SCRATCH3
035-038 mpl3115_A.a
035 @PRINTF_L32D_68FPFPF.@SCRATCH4
036 mpl3115_T.@SCRATCH1
036 @PRINTF_L32D_68FPFPF.@SCRATCH5
037 mpl3115_T.@SCRATCH2
037 @PRINTF_L32D_68FPFPF.@SCRATCH6
038-03B mpl3115_P.l1
038 mpl3115_T.@SCRATCH3
038 @PRINTF_L32D_68FPFPF.@SCRATCH7
039 mpl3115_T.@SCRATCH4
039 mpl3115_A.@SCRATCH1
039 @PRINTF_L32D_68FPFPF.@SCRATCH8
03A-03D @DIV3232.P1
03A-03D @MULFF.P2
03A-03D @FTOSD.P3
03A @PUTCHAR_1_.P4
03A mpl3115_A.@SCRATCH2
03B mpl3115_A.@SCRATCH3
03C mpl3115_read.reg
03C mpl3115_A.@SCRATCH4
03C mpl3115_P.@SCRATCH1
03D-03E @ITOF.P1
03D mpl3115_read.i
03D mpl3115_A.@SCRATCH5
03D mpl3115_P.@SCRATCH2
03E @I2C_READ_1.P1
03E @I2C_WRITE_1.P2
03E-041 @DIV3232.P3
03E-041 @MULFF.P4
03E mpl3115_P.@SCRATCH3
03E @FTOSD.@SCRATCH1
03F @I2C_READ_1.@SCRATCH1
03F mpl3115_P.@SCRATCH4
040 @I2C_READ_1.@SCRATCH2
040 mpl3115_P.@SCRATCH5
041-044 @DIVFF.P1
041 mpl3115_P.@SCRATCH6
042 mpl3115_P.@SCRATCH7
042 @MULFF.@SCRATCH1
042 @DIV3232.@SCRATCH1
043-046 @DTOF.P1
043-046 @ADDFF.P2
043 @MULFF.@SCRATCH2
043 @DIV3232.@SCRATCH2
044 @MULFF.@SCRATCH3
044 @DIV3232.@SCRATCH3
045-048 @DIVFF.P1
045 @MULFF.@SCRATCH4
045 @DIV3232.@SCRATCH4
046 @MULFF.@SCRATCH5
046 @DIV3232.@SCRATCH5
047-04A @ADDFF.P1
049 @DIVFF.@SCRATCH1
04A @DIVFF.@SCRATCH2
04B @DIVFF.@SCRATCH3
04B @ADDFF.@SCRATCH1
04C @DIVFF.@SCRATCH4
04C @ADDFF.@SCRATCH2
04D @DIVFF.@SCRATCH5
04D @ADDFF.@SCRATCH3
04E @DIVFF.@SCRATCH6
04E @ADDFF.@SCRATCH4
04F @ADDFF.@SCRATCH5
050 @ADDFF.@SCRATCH6
051 @ADDFF.@SCRATCH7
052 @ADDFF.@SCRATCH8
077 @SCRATCH
078 @SCRATCH
078 _RETURN_
079 @SCRATCH
07A @SCRATCH
107.6 C1OUT
108.6 C2OUT
10D-10E @WRITE_PROGRAM_MEMORY8.P1
10D-10E @READ_PROGRAM_MEMORY8.P2
 
ROM Allocation:
014A @delay_ms1
0188 @I2C_READ_1
00A5 @I2C_WRITE_1
003B @PUTCHAR_1_
04F9 mpl3115_setA
00D9 mpl3115_setP
015E mpl3115_read
03F5 mpl3115_T
01CD @ITOF
01EA @DIVFF
02B4 @ADDFF
056A mpl3115_A
044B mpl3115_P
04B2 @DTOF
0800 MAIN
0004 @const110
005D @PSTRINGC7_68
0011 @const112
05D9 @PSTRINGCN7_68
067E @MULFF
0704 @FTOSD
0628 @DIV3232
066A @PRINTF_L32D_68FPFPF
001E @const126
0028 @const127
07C4 @PSTRINGCN_68
0800 @cinit
 
 
User Memory space:
 
User Memory space:
 
Project Directory:
C:\Users\Honza\Documents\pic\I2C_altimet\
 
Project Files:
main.c
main.h
..\..\..\..\..\Program Files (x86)\PICC\devices\16F887.h
 
Units:
C:\Users\Honza\Documents\pic\I2C_altimet\main (main)
 
Compiler Settings:
Processor: PIC16F887
Pointer Size: 16
ADC Range: 0-255
Opt Level: 9
Short,Int,Long: UNSIGNED: 1,8,16
Float,Double: 32,32
 
Output Files:
Errors: main.err
Ext Symbols: main.esym
INHX8: main.hex
Symbols: main.sym
List: main.lst
Debug/COFF: main.cof
Project: main.PJT
Call Tree: main.tre
Statistics: main.sta
/Modules/Sensors/ALTIMET01A/SW/MPL3115/PIC16F887/main.tre
0,0 → 1,127
ÀÄmain
ÀÄMAIN 1/217 Ram=13
ÃÄ??0??
ÃÄ@PSTRINGC7_68 0/72 Ram=3
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÀÄ@PUTCHAR_1_ 0/34 Ram=1
ÃÄmpl3115_setP 0/113 Ram=0
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÀÄ@I2C_WRITE_1 0/52 Ram=1
ÃÄ@delay_ms1 0/20 Ram=1
ÃÄmpl3115_T 0/86 Ram=13
³ ÃÄmpl3115_read 0/111 Ram=2
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÀÄ@I2C_READ_1 (Inline) Ram=3
³ ÃÄmpl3115_read 0/111 Ram=2
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÀÄ@I2C_READ_1 (Inline) Ram=3
³ ÃÄ@ITOF 0/29 Ram=2
³ ÃÄ@DIVFF 0/202 Ram=14
³ ÃÄ@ITOF 0/29 Ram=2
³ ÀÄ@ADDFF 0/321 Ram=16
ÃÄmpl3115_P 0/174 Ram=22
³ ÃÄmpl3115_read 0/111 Ram=2
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÀÄ@I2C_READ_1 (Inline) Ram=3
³ ÃÄmpl3115_read 0/111 Ram=2
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÀÄ@I2C_READ_1 (Inline) Ram=3
³ ÃÄmpl3115_read 0/111 Ram=2
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÀÄ@I2C_READ_1 (Inline) Ram=3
³ ÃÄ@ITOF 0/29 Ram=2
³ ÃÄ@DIVFF 0/202 Ram=14
³ ÃÄ@DTOF (Inline) Ram=4
³ ÀÄ@ADDFF 0/321 Ram=16
ÃÄmpl3115_setA 0/113 Ram=0
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ÀÄ@I2C_WRITE_1 0/52 Ram=1
ÃÄ@delay_ms1 0/20 Ram=1
ÃÄmpl3115_A 0/111 Ram=17
³ ÃÄmpl3115_read 0/111 Ram=2
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÀÄ@I2C_READ_1 (Inline) Ram=3
³ ÃÄmpl3115_read 0/111 Ram=2
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÀÄ@I2C_READ_1 (Inline) Ram=3
³ ÃÄmpl3115_read 0/111 Ram=2
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÃÄ@I2C_WRITE_1 0/52 Ram=1
³ ³ ÀÄ@I2C_READ_1 (Inline) Ram=3
³ ÃÄ@ITOF 0/29 Ram=2
³ ÃÄ@DIVFF 0/202 Ram=14
³ ÃÄ@ITOF 0/29 Ram=2
³ ÀÄ@ADDFF 0/321 Ram=16
ÃÄ@PSTRINGCN7_68 0/79 Ram=4
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÀÄ@PUTCHAR_1_ 0/34 Ram=1
ÃÄ@PRINTF_L32D_68FPFPF 0/346 Ram=13
³ ÃÄ@MULFF (Inline) Ram=13
³ ÃÄ@FTOSD (Inline) Ram=5
³ ÃÄ@DIV3232 0/66 Ram=13
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÀÄ@DIV3232 0/66 Ram=13
ÃÄ@PSTRINGCN7_68 0/79 Ram=4
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÀÄ@PUTCHAR_1_ 0/34 Ram=1
ÃÄ@PSTRINGCN7_68 0/79 Ram=4
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÀÄ@PUTCHAR_1_ 0/34 Ram=1
ÃÄ@PRINTF_L32D_68FPFPF 0/346 Ram=13
³ ÃÄ@MULFF (Inline) Ram=13
³ ÃÄ@FTOSD (Inline) Ram=5
³ ÃÄ@DIV3232 0/66 Ram=13
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÀÄ@DIV3232 0/66 Ram=13
ÃÄ@PSTRINGCN7_68 0/79 Ram=4
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÀÄ@PUTCHAR_1_ 0/34 Ram=1
ÃÄ@PSTRINGCN_68 0/33 Ram=3
³ ÀÄ@PUTCHAR_1_ 0/34 Ram=1
ÃÄ@PRINTF_L32D_68FPFPF 0/346 Ram=13
³ ÃÄ@MULFF (Inline) Ram=13
³ ÃÄ@FTOSD (Inline) Ram=5
³ ÃÄ@DIV3232 0/66 Ram=13
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÃÄ@PUTCHAR_1_ 0/34 Ram=1
³ ÀÄ@DIV3232 0/66 Ram=13
ÃÄ@PSTRINGCN_68 0/33 Ram=3
³ ÀÄ@PUTCHAR_1_ 0/34 Ram=1
ÀÄ@delay_ms1 0/20 Ram=1