?? main.bak
字號:
#include <18F452.h>
#device adc=10
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000,RESTART_WDT)
#use rs232(baud=57600, xmit=PIN_C6, rcv=PIN_C7)
#ORG 0x7000,0x7FFF {} // Added for bootloader
#include <stdio.h>
#include "LCD_zafer.c"
#include "sht11.c"
#include <math.h>
//--------------------------------------------------------------------
float calc_cig_noktasi_sicakligi(float h,float t)
//--------------------------------------------------------------------
// cig_noktasi_sicakligi hesabi
// input: nem [%RH], sicaklik [癈]
// output: cig noktasi [癈]
{ float logEx,cig_noktasi;
logEx=0.66077+7.5*t/(237.3+t)+(log10(h)-2);
cig_noktasi = (logEx - 0.66077)*237.3/(0.66077+7.5-logEx);
return cig_noktasi;
}
//--------------------------------------------------------------------
float hesapla_hissedilen_sicaklik(float r,float t)
//--------------------------------------------------------------------
// hissedilen sicaklik hesaplama
// r bagil nem
// t sicaklik cellius olarak
{
float hissedilen,t2,r2;
float a,b;
const float c_1= -42.379,
c_2= 2.04901523,
c_3 = 10.1433127,
c_4 = -0.22475541,
c_5 = -6.83783e-3,
c_6 = -5.481717e-2,
c_7 = 1.22874e-3,
c_8 = 8.5282e-4,
c_9 = -1.99e-6;
t= (t*1.8) + 32;
t2=t*t;
r2=r*r;
a=c_1+(c_2*t)+(c_3*r)+(c_4*t*r)+(c_5*t2);
b=(c_6*r2)+(c_7*t2*r)+(c_8*t*r2)+(c_9*t2*r2);
hissedilen= a + b;
hissedilen = ((hissedilen - 32)/1.8);
return hissedilen;
}
void main()
{
float restemp, truehumid,hissedilen_sicaklik,cig_noktasi;
port_b_pullups(true);
lcd_init();
sht_init();
for(;;)
{
sht_rd (restemp, truehumid);
hissedilen_sicaklik=hesapla_hissedilen_sicaklik(truehumid,restemp);
cig_noktasi=calc_cig_noktasi_sicakligi(truehumid,restemp);
lcd_goto_xy(1,1);
printf(lcd_putc, "Temp : %3.1f %cC ", restemp, 223);
lcd_goto_xy(1,2);
printf(lcd_putc, "RH : %3.1f %% ", truehumid);
lcd_goto_xy(1,3);
printf(lcd_putc, "Feel Temp : %3.1f %cC ", hissedilen_sicaklik, 223);
lcd_goto_xy(1,4);
printf(lcd_putc, "Dew Point : %3.1f %cC ", cig_noktasi, 223);
delay_ms(500); //delay 500 ms between reading to prevent self heating of sensor
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -