DHT-11 ısı nem sensörü ccs compiler. isteyen lcd ilede yapabilir. kolay gelsin
#include <16F883.h>
#FUSES NOWDT
#FUSES hs
#FUSES NOMCLR
#use delay(clock=4m)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#define DATA PIN_b0
unsigned int alan[5];
unsigned int baytal()
{
unsigned int8 degeroku = 0;
int8 i=0;
for(i=0; i<8; i++)
{
degeroku <<= 1;
while(!input(DATA));
delay_us(30);
if(input(DATA))
{
degeroku |= 1;
}
while(input(DATA));
}
return degeroku;
}
unsigned int verial(){
int dogrula = 0;
int saglama = 0;
int8 j=0;
output_high(DATA);
output_low(DATA);
delay_ms(18);
output_high(DATA);
delay_us(25);
dogrula = input(DATA);
delay_us(80);
dogrula = input(DATA);
if(!dogrula){
printf( "Dogrulama Hatası \r");
}
delay_us(80);
for(j=0; j<5; j++){
alan[j] = baytal();
}
output_high(DATA);
for(j=0; j<4; j++){
saglama += alan[j];
}
if(saglama == alan[4]){
return 0;
}
}
void main()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
while(TRUE)
{
if(verial()==0)
printf( "\fTemp: %2u - R.H: %2u \r", alan[2], alan[0]);
delay_ms(500);
}
}
Hiç yorum yok:
Yorum Gönder
Her yorum bilgidir. Araştırmaya devam...