ds18b20 ile 7 segment display sorunu

semfero

Üye
Katılım
21 Şub 2013
Mesajlar
6
Puanları
1
Yaş
51
Arkadaşlar 7 segment displayde ds18b20 ile derece yaptım.Ancak şöyle bir sorunla karşılaştım.7 segment display 1 saniye sıcaklığı gösterip kayboluyor.Sonra 3 veya 5 saniye gibi düzensiz peryotlarla sıcaklığı 1 saniye göseri gösterip kayboluyor.Sorunu çözemedim.Yardımlarınızı bekliyorum.

Kod:

Kod:
#include <16f877.h>
#device *=16

#device adc=10
#fuses XT,NOWDT,NOPROTECT   
#use delay (clock=20000000)                 
 #include <ds18b20.c>                                     
                        

                
char display1_onlar,display1_birler,display2_onlar,display2_birler,display3_onlar,display3_birler,temp;
                
const int display_digit[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};  // ortak anotlu için             


unsigned long int sicaklik_bilgisi;   
float sicaklik;   
 
void sicaklik_tara()
{

output_d(0b00000001);     
output_b(display_digit[display1_onlar]);   
delay_ms(2);           
output_d(0b00000010);                 
output_b(display_digit[display1_birler]);   
delay_ms(2);               
output_d(0b00000100);
output_b(0x9c); // derece simgesi   
delay_ms(2);           
output_d(0b00001000);
output_b(0xc6); // C harfi 
delay_ms(2);
output_d(0b00000000);

}


//------- ana program ----------------------------------------------------------
void main ()                               
{
   output_a(0x00);
   output_b(0x00);
 
   output_d(0x00);
 
   delay_ms(2);
   setup_adc(adc_clock_internal); 
   setup_adc_ports(AN0);
  
 
 
   for(;;)               
   {                         
      
      
       sicaklik_tara();   
       sicaklik = ds1820_read();  //Sıcaklık bilgisi okunuyor ve çevriliyor
 
    temp = sicaklik;
 
      
       display1_birler=temp%10;
       display1_onlar=(temp/10);
      
       sicaklik_tara();
       delay_ms(5);
      
       }                   
          
      
   }
 

Forum istatistikleri

Konular
129,805
Mesajlar
930,258
Kullanıcılar
452,606
Son üye
ferat66556

Yeni konular

Geri
Üst