Elektrobilim  

Anasayfa Site Hakkında Yönetici Kadromuz Kimler Online Açtığım Konular Yazdığım Cevaplar Profilim
Geri git   Elektrobilim > MICROCHIP PIC > PIC UYGULAMALARI
 
..........
Hoş geldin, gevv.
Son Ziyaretinizden Bu Yana 229 Yeni Mesaj Var.
Son Ziyaretiniz: 2 Gün önce Saat 05:53 PM
Özel Mesaj: 0 Okunmamış, Toplam 9.
Kontrol Paneliniz Üye Listesi Ajanda Yeni Mesajlar Arama Hızlı Linkler Yeni Konu Aç Çıkış

PIC UYGULAMALARI PIC devreleri ve PIC projeleri yayınlanır. Lütfen yardım içerikli konuları buraya açmayınız.

Cevapla
 
Seçenekler Arama Değerlendirme Stil
Alt 06-02-2010   #1
truvadc
forum üyesi
 
truvadc - ait Kullanıcı 
Resmi (Avatar)
 
Üyelik tarihi: 17-11-2009
Mesajlar: 81
36 mesajına 79 kere teşekkür edildi.
Arrow Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

16F877, DS1302, LM35, 7Segment Display ile [Saat - Tarih - Derece] uygulaması...

CCS C ile yazıldı...




Kod:

/*
Proje Adı: 7 SEGMENT DİSPLAY İLE SAAT-TARİH-SICAKLIK GÖSTERGESİ

- 16F877
- DS1302
- LM35
*/               

//----- ds1302 pinleri tanımlanıyor --------------------------------------------
#ifndef     rtc_sclk
#define     rtc_sclk   pin_c1
#define     rtc_io     pin_c2       
#define     rtc_rst    pin_c0
#endif                        
//------------------------------------------------------------------------------
                     
#include <16f877.h>
#device adc=10
#fuses XT,NOWDT,NOPROTECT    
#use delay (clock=20000000)   
                                        
#include <DS1302.c>                            

#define set pin_c4
#define mod pin_c5
#define arttir pin_c6
#define azalt pin_c7
 
byte saniye,dakika,saat,gun,ay,yil,haftanin_gunu;
                 
char display1_onlar,display1_birler,display2_onlar,display2_birler,display3_onlar,display3_birler;  
                  
const int display_digit[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};  // ortak anotlu için              
int i;
int set_degeri=0; // 1=saat 2=tarih
int mod_degeri=0; // 1=saat,gun 2=dakika,ay 3=saniye,yıl  
unsigned long int sicaklik_bilgisi;      
float sicaklik_degeri,sicaklik_voltaj;
int sicaklik_ekrani=0; //1=aktif, 0=pasif   
           
//------------------------------------------------------------------------------

//----- displaylerin hepsi taranıyor -------------------------------------------
void display_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(display_digit[display2_onlar]);     
delay_ms(2);            
output_d(0b00001000);
output_b(display_digit[display2_birler]);     
delay_ms(2); 
output_d(0b00010000);
output_b(display_digit[display3_onlar]);     
delay_ms(2);
output_d(0b00100000);
output_b(display_digit[display3_birler]);     
delay_ms(2);

} // display tara  
//------------------------------------------------------------------------------ 

//-------- sicaklik gosterimi icic tarama --------------------------------------
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);

}
//------------------------------------------------------------------------------
 
//------- gecisler icin animasyon ----------------------------------------------
void gecis_animasyon()
{
output_d(0x00);
delay_ms(300); 

output_d(0b00000001);         
output_b( 0xb6 );    
delay_ms(100);            
output_d(0b00000010);         
output_b( 0xb6 );    
delay_ms(100);
output_d(0b00000100);         
output_b( 0xb6 );    
delay_ms(100);
output_d(0b00001000);         
output_b( 0xb6 );    
delay_ms(100);
output_d(0b00010000);         
output_b( 0xb6 );    
delay_ms(100);
output_d(0b00100000);         
output_b( 0xb6 );    
delay_ms(100);         

output_d(0x00);
delay_ms(300);
}
//------------------------------------------------------------------------------ 

//------- sadece display1 taranıyor --------------------------------------------
void display1_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);
}
//------------------------------------------------------------------------------

//------- sadece display2 taranıyor --------------------------------------------
void display2_tara()
{
output_d(0b00000100);
output_b(display_digit[display2_onlar]);     
delay_ms(2);            
output_d(0b00001000);
output_b(display_digit[display2_birler]);     
delay_ms(2); 
} 
//------------------------------------------------------------------------------

//------- sadece display3 taranıyor --------------------------------------------
void display3_tara()
{
output_d(0b00010000);
output_b(display_digit[display3_onlar]);     
delay_ms(2);
output_d(0b00100000);
output_b(display_digit[display3_birler]);     
delay_ms(2);
}
//------------------------------------------------------------------------------

//------- SET konumunda displayler taranıyor -----------------------------------
void set_konumunda_display_tara() 
{
output_d(0x00);
delay_ms(300);
display_tara();
display_tara();
display_tara();
display_tara();
display_tara();
}
//------------------------------------------------------------------------------

//------------- saat tarih ayarı -----------------------------------------------
void ayarlar()
{ 

  if (input(set))
  {
   while(input(set))
   {
      if(sicaklik_ekrani==1){ sicaklik_tara(); }
      else { display_tara(); }
      output_low(pin_a1);output_low(pin_a2);
   }
  set_degeri=1;                                        
  }
  else { goto ayardan_cik; }

while(set_degeri==1) //saat ayarı            
{
output_e(0b001);

rtc_get_time(saat,dakika,saniye);
display1_birler=saat%10;             
display1_onlar=saat/10; 
display2_birler= dakika%10;
display2_onlar=dakika/10;
display3_birler=saniye%10; 
display3_onlar=saniye/10; 
set_konumunda_display_tara();

if(input(set)){ while(input(set)){display_tara();} set_degeri=2; goto set1_den_cik; }
                   
if(input(mod)){ while(input(mod)){display_tara();} mod_degeri=1; }
                         
 while(mod_degeri==1)   //saat ayarlanıyor.
 { 
      
  for(;;)               
  {            
    display1_birler=saat%10;             
    display1_onlar=saat/10;            
    display1_tara();
                                                               
 if(input(arttir)){saat++; while(input(arttir)){display1_tara();} if(saat==24){saat=0;} }
 if(input(azalt)){saat--; while(input(azalt)){display1_tara();} if(saat==-1){saat=23;} }
 if(input(mod)){while(input(mod)){display1_tara();} mod_degeri=2; goto mod1s_cik;}                                    
 write_ds1302(0x84,get_bcd(saat)); //saat degeri gonder. 0-23 
 delay_ms(5);
} //for smod1 
} //while mod deger = 1
mod1s_cik:
                           
 while(mod_degeri==2)   //dakika ayarlanıyor.
 {                              

  for(;;)               
  {                      
    display2_birler=dakika%10;             
    display2_onlar=dakika/10;            
    display2_tara();
  
 if(input(arttir)){dakika++; while(input(arttir)){display2_tara();} if(dakika==60){dakika=0;} }
 if(input(azalt)){dakika--; while(input(azalt)){display2_tara();} if(dakika==-1){dakika=59;} } 
 if(input(mod)){while(input(mod)){display2_tara();} mod_degeri=3; goto mod2s_cik;}                                    
 write_ds1302(0x82,get_bcd(dakika)); //dakika degeri gonder. 00-59  
 delay_ms(5);
} //for smod2
} //while mod deger = 2 
mod2s_cik:   

 while(mod_degeri==3)   //saniye ayarlanıyor.
 {   
    
  for(;;)
  {  
    display3_birler=saniye%10;             
    display3_onlar=saniye/10;            
    display3_tara();
                                      
 if(input(arttir)){saniye++; while(input(arttir)){display3_tara();} if(saniye==60){saniye=0;} }
 if(input(azalt)){saniye--; while(input(azalt)){display3_tara();} if(saniye==-1){saniye=59;} }
 if(input(mod)){while(input(mod)){display3_tara();} mod_degeri=0; goto mod3s_cik;}                                    
 write_ds1302(0x80,get_bcd(saniye)); //saniye degeri gonder. 00-59
 delay_ms(5);
} //for smod3         
} //while mod deger = 3 
mod3s_cik:
                           
delay_us(1);
} // while set deger = 1 
set1_den_cik:


 while(set_degeri==2) //tarih ayarı            
{
output_e(0b010); 

rtc_get_date(gun,ay,yil,haftanin_gunu); 
display1_birler=gun%10;                                              
display1_onlar=gun/10;                                              
display2_birler= ay%10;
display2_onlar=ay/10;                                              
display3_birler=yil%10;         
display3_onlar=yil/10;  
set_konumunda_display_tara();                                               

if(input(set)){ while(input(set)){display_tara();} set_degeri=0; goto set2_den_cik; }
                                                               
if(input(mod)){ while(input(mod)){display_tara();} mod_degeri=1; }
                         
 while(mod_degeri==1)  //gun ayarlanıyor.
 { 
      
  for(;;)               
  {            
    display1_birler=gun%10;             
    display1_onlar=gun/10;            
    display1_tara();
                                                               
 if(input(arttir)){gun++; while(input(arttir)){display1_tara();} if(gun==32){gun=1;} }
 if(input(azalt)){gun--; while(input(azalt)){display1_tara();} if(gun==0){gun=31;} }
 if(input(mod)){while(input(mod)){display1_tara();} mod_degeri=2; goto mod1t_cik;}                                    
 write_ds1302(0x86,get_bcd(gun)); //gun degeri gonder. 1-31 
 delay_ms(5);
} //for tmod1 
} //while mod deger = 1
mod1t_cik:                   
                           
 while(mod_degeri==2)    //ay ayarlanıyor.
 { 

  for(;;)               
  {                      
    display2_birler=ay%10;             
    display2_onlar=ay/10;            
    display2_tara();
  
 if(input(arttir)){ay++; while(input(arttir)){display2_tara();} if(ay==13){ay=1;} }
 if(input(azalt)){ay--; while(input(azalt)){display2_tara();} if(ay==0){ay=12;} } 
 if(input(mod)){while(input(mod)){display2_tara();} mod_degeri=3; goto mod2t_cik;}                                    
 write_ds1302(0x88,get_bcd(ay)); //ay degeri gonder. 1-12
 delay_ms(5);
} //for tmod2 
} //while mod deger = 2 
mod2t_cik:

 while(mod_degeri==3)  //yil ayarlanıyor.
 {   
    
  for(;;)
  {  
    display3_birler=yil%10;             
    display3_onlar=yil/10;            
    display3_tara();
                                      
 if(input(arttir)){yil++; while(input(arttir)){display3_tara();} if(yil==100){yil=0;} }
 if(input(azalt)){yil--; while(input(azalt)){display3_tara();} if(yil==-1){yil=99;} }
 if(input(mod)){while(input(mod)){display3_tara();} mod_degeri=0; goto mod3t_cik;}                                    
 write_ds1302(0x8C,get_bcd(yil)); //yil degeri gonder. 00-99
 delay_ms(5);                   
} //for tmod3        
} //while mod deger = 3 
mod3t_cik:

delay_us(1); 
} // while set deger = 2 
set2_den_cik:

ayardan_cik:
output_e(0b000); //lambalar söndü
} // void ayar 
//------------------------------------------------------------------------------             

//--------- saat basi alarm caliyor --------------------------------------------
void saat_basi_alarm()
{
if ((display2_onlar==0)&(display2_birler==0))
{
output_high(pin_c3); delay_ms(100); output_low(pin_c3); delay_ms(100);
output_high(pin_c3); delay_ms(100); output_low(pin_c3);
}
}
//------------------------------------------------------------------------------

//------- ana program ----------------------------------------------------------
void main () 
{  
   output_a(0x00);
   output_b(0x00);
   output_c(0x00);
   output_d(0x00);
   output_e(0x00);
   delay_ms(2);
   setup_adc(adc_clock_internal);   
   setup_adc_ports(AN0);
    
   rtc_init();  // DS1302 başlangıç ayarları yapılıyor
   delay_ms(20);
   //rtc_set_datetime(1,02,10,7,21,20); // Tarih ve Saat ayarları yapılıyor
   
   for(;;)                
   {                           
       
       gecis_animasyon();

       output_low(pin_a2);
       output_high(pin_a1); 
       
       for(i=0;i<250;i++) //for saat
       {
       if (input(set)){ayarlar();output_low(pin_a2);output_high(pin_a1);}
       rtc_get_time(saat,dakika,saniye);       // DS1302'den saat,dakika,saniye bilgileri alınıyor
       display1_birler=saat%10;  // birler basamağı için % işareti ile mod lu bölme yapılarak 10 a bölümünden kalan hesaplanıyor.             
       display1_onlar=saat/10;   // saat degerini 10 a bölüp onlar basamağı hesaplanıyor.
       display2_birler= dakika%10;
       display2_onlar=dakika/10;
       display3_birler=saniye%10;    
       display3_onlar=saniye/10; 
       display_tara();                  
       delay_ms(5);    
       } // for saat  
       
       saat_basi_alarm();
       
       output_low(pin_a1);
       output_low(pin_a2);
       
       gecis_animasyon();
 
       output_low(pin_a1);
       output_high(pin_a2);
       
       for(i=0;i<250;i++)  //for tarih
       {   
       if (input(set)){ayarlar();output_low(pin_a1);output_high(pin_a2);}
       rtc_get_date(gun,ay,yil,haftanin_gunu); 
       display1_birler=gun%10;  // birler basamağı için % işareti ile mod lu bölme yapılarak 10 a bölümünden kalan hesaplanıyor.             
       display1_onlar=gun/10;   // saat degerini 10 a bölüp onlar basamağı hesaplanıyor.
       display2_birler= ay%10;
       display2_onlar=ay/10;
       display3_birler=yil%10;         
       display3_onlar=yil/10; 
       display_tara();
       delay_ms(5);           
       } // for tarih 
       
       output_low(pin_a1);
       output_low(pin_a2);
       
       gecis_animasyon();
       
       sicaklik_ekrani=1;
       for(i=0;i<=250;i++) //for sicaklik
       {

       if (input(set)){ayarlar();}
       set_adc_channel(0);
       delay_us(20);                                                                                           
       sicaklik_bilgisi= read_adc();          
       sicaklik_voltaj=(0.0048828125*sicaklik_bilgisi)*1000;
       sicaklik_degeri=(sicaklik_voltaj/10);
       display1_birler=(int)(sicaklik_degeri)%(10);
       display1_onlar=(int)(sicaklik_degeri/10);
       sicaklik_tara();      
       delay_ms(5);
       }//for sicaklik
       sicaklik_ekrani=0;     
       
   } //for sonsuz  
}  // main 
 
Kod:
AYARLAR
1- SET Butonu ile Ayarlara giriş ve çıkış yapılır.
2- MOD Butonu ile sırayla saat, dakika, saniye, gün, ay, yıl gözükür.
3- ARTTIR Butonu ile istenilen değer arttırılır.
4- AZALT Butonu ile  istenilen değer azaltılır.
5- BUZZER ON/OFF Anahtarı ile her saat başında öten buzzer aktif yada pasif olur.
Kod:
NOT:

arkadaşlar ARTTIR ve AZALT butonuna basılı olduğu sürece artsın veya azalsın istiyorsanız;

if(input(arttir)){dakika++; while(input(arttir)); if(dakika==60){dakika=0;} }
if(input(azalt)){dakika--; while(input(azalt)); if(dakika==-1){dakika=59;} }

burdaki komutlardan

while(input(arttir));
while(input(azalt));

bu ikisi yerine delay_ms(150); yazarsanız butona basıldığı sürece artar veya azalır...
burda dakika için örnek verdim diğerleride aynı şekilde olacak...

kolay gelsin...
Eklenmiş Dosya
Dosya tipi: dsn saat_tarih_derece_7sdisplay.DSN (134,3 KB (Kilobyte), 244x kez indirilmiştir)
Dosya tipi: dsn saat_tarih_derece_7sdisplay v7.x.DSN (134,3 KB (Kilobyte), 217x kez indirilmiştir)
Dosya tipi: c saat_tarih_derece_7sdisplay.c (14,7 KB (Kilobyte), 118x kez indirilmiştir)
Dosya tipi: hex saat_tarih_derece_7sdisplay.hex (18,8 KB (Kilobyte), 129x kez indirilmiştir)
Dosya tipi: rar Saat Tarih Derece 7Segment Ortak Anotlu Dosyalar.rar (221,5 KB (Kilobyte), 181x kez indirilmiştir)

Son Düzenleyen truvadc; 16-03-2010 at 02:13 PM Sebep: yenilendi...
truvadc isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla truvadc'in profil 
bilgileri truvadc'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Bu mesaj için truvadc kullanıcısına teşekkür eden 16 üyemiz:
1844 (05-04-2010), 54_fatih_54 (3 Hafta önce), abdullah (23-02-2010), ADNANGSM (06-02-2010), bayhakan (06-02-2010), KAYZER (06-02-2010), kudretuzuner (21-02-2010), meftun (20-02-2010), Mr.SEA (19-02-2010), mucit23 (21-02-2010), nuh_35 (11-03-2010), profahmet (06-02-2010), pwm.c (08-04-2010), sportmen (16-03-2010), tiviki (09-03-2010), youceflaib (07-03-2010)
Alt 06-02-2010   #2
xenophan
Üretim Mühendisi
 
xenophan - ait 
Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 03-05-2009
Mesajlar: 130
23 mesajına 24 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Resim Boyutu Küşültüldü. Tamamını görmek için BURAYA TIKLAYIN. orjinal boyutlar 688x301


Derece de bi hata var sanırım lm35 40 dereceye ayarlıyken 16 derece gösteriyor. 0 dereceye ayarlandıgında 2 derece gösteriyor.
xenophan isimli üye 
çevrimiçidir (Online) İP   Teşekkürleri Alıntı ile Cevapla xenophan'in profil 
bilgileri xenophan'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 06-02-2010   #3
truvadc
forum üyesi
 
truvadc - ait Kullanıcı 
Resmi (Avatar)
 
Üyelik tarihi: 17-11-2009
Mesajlar: 81
36 mesajına 79 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Alıntı:
xenophan Nickli Üyeden Alıntı Mesajı göster
Resim Boyutu Küşültüldü. Tamamını görmek için BURAYA TIKLAYIN. orjinal boyutlar 688x301


Derece de bi hata var sanırım lm35 40 dereceye ayarlıyken 16 derece gösteriyor. 0 dereceye ayarlandıgında 2 derece gösteriyor.
bi yerde hata yapmışım düzelttim...
truvadc isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla truvadc'in profil 
bilgileri truvadc'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 19-02-2010   #4
Mr.SEA
forum üyesi

Avatar Yok
 
Üyelik tarihi: 19-02-2010
Mesajlar: 1
0 mesajına 0 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

sayın arkadaşım, günlerdir internette saniyeli basit bir saat arıyorum.
ellerin dert görmesin.bunun baskı devresine nasıl ulaşabilirim.
yapmayı düşünüyorum.şimdiden teşekkürler.
Mr.SEA isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla Mr.SEA'in profil 
bilgileri Mr.SEA'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 21-02-2010   #5
ferittt
forum üyesi
 
ferittt - ait Kullanıcı
 Resmi (Avatar)
 
Üyelik tarihi: 31-01-2008
Mesajlar: 126
27 mesajına 38 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

güzel uygulama.kolay gelsin
ferittt isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla ferittt'in profil 
bilgileri ferittt'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 21-02-2010   #6
ghostrider07
forum üyesi

Avatar Yok
 
Üyelik tarihi: 22-05-2008
Mesajlar: 16
0 mesajına 0 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

hocam aynı sistemi 2x16 lcd de nasıl gösterebiliriz.eğer yapdısan onuda paylaşabilirmisin
ghostrider07 isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla ghostrider07'in profil 
bilgileri ghostrider07'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 21-02-2010   #7
mucit23
MUCİT
 
mucit23 - ait Kullanıcı
 Resmi (Avatar)
 
Üyelik tarihi: 14-01-2009
Mesajlar: 1.172
144 mesajına 203 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

http://www.elektrobilim.org/forum/showthread.php?t=2008
buyur kardeş burada bi tane var
mucit23 isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla mucit23'in profil 
bilgileri mucit23'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 22-02-2010   #8
abdullah
forum üyesi
 
abdullah - ait Kullanıcı Resmi 
(Avatar)
 
Üyelik tarihi: 22-02-2010
Mesajlar: 11
0 mesajına 0 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Arkadaşlar;
Devre gerçekten çok güzel.
Fakat sıcaklık eksi (-) göstermiyor sanırım.En azından ben preteusta göremedim.
Bir de preteusta simule edince saati gösteriyor, tarihi gösteriyor, dereceyi gösteriyor fakat tekrar kendinden saate geçmiyor.Acaba ben mi düzgün simule edemedim?
abdullah isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla abdullah'in profil 
bilgileri abdullah'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 03-03-2010   #9
truvadc
forum üyesi
 
truvadc - ait Kullanıcı 
Resmi (Avatar)
 
Üyelik tarihi: 17-11-2009
Mesajlar: 81
36 mesajına 79 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Alıntı:
abdullah Nickli Üyeden Alıntı Mesajı göster
Arkadaşlar;
Devre gerçekten çok güzel.
Fakat sıcaklık eksi (-) göstermiyor sanırım.En azından ben preteusta göremedim.
Bir de preteusta simule edince saati gösteriyor, tarihi gösteriyor, dereceyi gösteriyor fakat tekrar kendinden saate geçmiyor.Acaba ben mi düzgün simule edemedim?
evet (-) değerleri göstermiyor bunun için lm35 in bağlantısı farklı oluyor sanırım...
birde tekrar saate geçmiyor demişsin. ben for(i=0;i<=250;i++) bu komuttaki 250 değerini 500 olarak yapmıştım. tekrar düzeltmeyi unutmuşum... şimdi düzelttim.. kolay gelsin..
truvadc isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla truvadc'in profil 
bilgileri truvadc'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Bu mesaj için truvadc kullanıcısına teşekkür edenler:
abdullah (05-03-2010)
Alt 03-03-2010   #10
mc.elektro
forum üyesi
 
mc.elektro - ait Kullanıcı 
Resmi (Avatar)
 
Üyelik tarihi: 17-07-2008
Mesajlar: 36
3 mesajına 3 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Hocam ellerinize sağlık kodlar vs paylaştığınız içinde çok teşekkür ederim.
Benim ds1302 ile ilgili bir sorum oalcaktı.
Şimdi benimde bir projem var onda saat değerleri sürekli olarak normal şekilde sayılması gerekmekte,elektrikler kesildiğinde saymaya devam etmesi için,besleme uçlarına pil taktığımda saymaya devam ediyormuş.Ancak şurayı anlamadım,pici çalıştırmaya başladığımızda orda şu komutla "rtc_set_datetime(1,02,10,7,21,20); "saat tarih ayarlarını kendimiz giriyoruz.Önce normal şekilde doğru tarihi girdik ve çalıştırmaya başladık diyelim,elektrikler kesildi,geri geldi ve pic tekrar komutları baştan işlemeye başlayınca,bizim ilk başta yaptığımız ayardan saymaya başlamaz mı?yani 1302 nin sayması burda ne işe yarıyor,ya da projemde gerektiği şekilde doğru tarih ve saati saydırmayı ne şekilde sağlayabilirim,şimdiden teşekkürler hocam.
mc.elektro isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla mc.elektro'in profil 
bilgileri mc.elektro'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 03-03-2010   #11
mucit23
MUCİT
 
mucit23 - ait Kullanıcı
 Resmi (Avatar)
 
Üyelik tarihi: 14-01-2009
Mesajlar: 1.172
144 mesajına 203 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Ds1302 sadece sati sürme işlemini yapar pic ise zamanı geldiği zaman saat bilgisini okur ve ekrana yansıtır .
saati ayarlama işlemi ise sadece saat ayarlama menüsüne geldiğinde gerçekleşir. saat ayarlandıktan sonra ds1302ye yazar ve ds1302 yeni ayardan itibaren saymaya başlar .
yani enerji kesilip yeniden geldiği zaman pic yine saati okuyup ekrana yansıtır.her seferinde saati ayarlamaya gerek yoktur saat pili olduktan sonra ds1302 çalışır.
enim bildiğim kadarıyla böyle tabi hocalarım daha iyisini bilir
mucit23 isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla mucit23'in profil 
bilgileri mucit23'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 04-03-2010   #12
mc.elektro
forum üyesi
 
mc.elektro - ait Kullanıcı 
Resmi (Avatar)
 
Üyelik tarihi: 17-07-2008
Mesajlar: 36
3 mesajına 3 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

tamamdır hocam şimdi anladım olayı çok teşekkürler
mc.elektro isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla mc.elektro'in profil 
bilgileri mc.elektro'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 05-03-2010   #13
abdullah
forum üyesi
 
abdullah - ait Kullanıcı Resmi 
(Avatar)
 
Üyelik tarihi: 22-02-2010
Mesajlar: 11
0 mesajına 0 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Sn.truvadc
İlginize teşekkür ederim.
Burada lm35 yerine ds18b20 kullanamayız mı?
Bir de geçişlerdeki animasyonda harf yapabilirmiyiz?Mesela E harfi A harfi J harfi gibi.Animasyonun standardı nedir?yardımcı olabilirmisiniz?
abdullah isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla abdullah'in profil 
bilgileri abdullah'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 05-03-2010   #14
truvadc
forum üyesi
 
truvadc - ait Kullanıcı 
Resmi (Avatar)
 
Üyelik tarihi: 17-11-2009
Mesajlar: 81
36 mesajına 79 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Alıntı:
abdullah Nickli Üyeden Alıntı Mesajı göster
Sn.truvadc
İlginize teşekkür ederim.
Burada lm35 yerine ds18b20 kullanamayız mı?
Bir de geçişlerdeki animasyonda harf yapabilirmiyiz?Mesela E harfi A harfi J harfi gibi.Animasyonun standardı nedir?yardımcı olabilirmisiniz?
burda lm35 yerine direk ds18b20 kullanırsan olmaz... yazılımı değiştirmek gerekiyor...
Animasyonlar için ise...
http://www.elektrobilim.org/forum/showthread.php?t=3532
burdaki LCD KarakterMatik programından yardım alabilirsin...

burdaki animasyondaki simge output_b( 0xb6 ); kodu ile E harfi için output_b( 0x86 ); kullanırsın...



kolay gelsin...
truvadc isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla truvadc'in profil 
bilgileri truvadc'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Bu mesaj için truvadc kullanıcısına teşekkür edenler:
abdullah (05-03-2010)
Alt 05-03-2010   #15
abdullah
forum üyesi
 
abdullah - ait Kullanıcı Resmi 
(Avatar)
 
Üyelik tarihi: 22-02-2010
Mesajlar: 11
0 mesajına 0 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Sn.truvadc
lm35 in datasheet ini inceledim.-55 +125 için (+) ve (-) iki çıkış veriyor.lm35 e devre ekleyerek en fazla - 5 dereceye kadar inebiliyoruz.
Peki niçin ds18b20 kullanmayı düşünmediniz?bu sensörü kulllanmak için nasıl bir değişiklik yapmak lazım kabaca anlatırmısınız?
abdullah isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla abdullah'in profil 
bilgileri abdullah'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 05-03-2010   #16
truvadc
forum üyesi
 
truvadc - ait Kullanıcı 
Resmi (Avatar)
 
Üyelik tarihi: 17-11-2009
Mesajlar: 81
36 mesajına 79 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

ds18b20 ile uygulama yapmadığım için lm35 i kullandım... ds18b20 hakkında bilgim olmadığı için o konuda yardım edemeyeceğim.. forumda uygulama yapmış arkadaşlar var...
truvadc isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla truvadc'in profil 
bilgileri truvadc'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Bu mesaj için truvadc kullanıcısına teşekkür edenler:
abdullah (05-03-2010)
Alt 05-03-2010   #17
abdullah
forum üyesi
 
abdullah - ait Kullanıcı Resmi 
(Avatar)
 
Üyelik tarihi: 22-02-2010
Mesajlar: 11
0 mesajına 0 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Sn truvadc ilginize çok teşekkür ederim. :-)
abdullah isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla abdullah'in profil 
bilgileri abdullah'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 05-03-2010   #18
truvadc
forum üyesi
 
truvadc - ait Kullanıcı 
Resmi (Avatar)
 
Üyelik tarihi: 17-11-2009
Mesajlar: 81
36 mesajına 79 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Alıntı:
ghostrider07 Nickli Üyeden Alıntı Mesajı göster
hocam aynı sistemi 2x16 lcd de nasıl gösterebiliriz.eğer yapdısan onuda paylaşabilirmisin
Lcd ile yaptım ve konuyu burada paylaştım...

http://www.elektrobilim.org/forum/showthread.php?t=4470

kolay gelsin...
truvadc isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla truvadc'in profil 
bilgileri truvadc'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 09-03-2010   #19
tiviki
forum üyesi
 
tiviki - ait Kullanıcı 
Resmi (Avatar)
 
Üyelik tarihi: 14-02-2010
Mesajlar: 18
1 mesajına 2 kez teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

sayın hocam devreniz çok hoşuma gitti ama display kısmını
pek anlamadım bu display özel bir display mı yoksa normal displayı baska bır entegre veya transistörlemi sürmek gerekiyor.elinizde baskı devresi varsa sanırım bana daha çok yardımcı olacaksınız tesekkurler
tiviki isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla tiviki'in profil 
bilgileri tiviki'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 09-03-2010   #20
truvadc
forum üyesi
 
truvadc - ait Kullanıcı 
Resmi (Avatar)
 
Üyelik tarihi: 17-11-2009
Mesajlar: 81
36 mesajına 79 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Alıntı:
tiviki Nickli Üyeden Alıntı Mesajı göster
sayın hocam devreniz çok hoşuma gitti ama display kısmını
pek anlamadım bu display özel bir display mı yoksa normal displayı baska bır entegre veya transistörlemi sürmek gerekiyor.elinizde baskı devresi varsa sanırım bana daha çok yardımcı olacaksınız tesekkurler
displaylar normal display... ister tekli display kullan istersen ikili... Burda Ortak Anotlu display kullandım...
baskı devresi şuanda yok ama yakında yaparım...
truvadc isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla truvadc'in profil 
bilgileri truvadc'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 10-03-2010   #21
tiviki
forum üyesi
 
tiviki - ait Kullanıcı 
Resmi (Avatar)
 
Üyelik tarihi: 14-02-2010
Mesajlar: 18
1 mesajına 2 kez teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

hocam birde simulasyonda dereceyi 2 derece fazla gosterıyor lm35 :34 c displaylarda 36c gozukuyor
tiviki isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla tiviki'in profil 
bilgileri tiviki'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 11-03-2010   #22
mc.elektro
forum üyesi
 
mc.elektro - ait Kullanıcı 
Resmi (Avatar)
 
Üyelik tarihi: 17-07-2008
Mesajlar: 36
3 mesajına 3 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Hocam bu ds18b20 entegresini,ISIS da simule ederken,küsuratlı değer okuma şansımız var mı?Yani 25.4,25.5 gibi falan.Bunun için ne yapmamız gerek.
mc.elektro isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla mc.elektro'in profil 
bilgileri mc.elektro'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 11-03-2010   #23
mucit23
MUCİT
 
mucit23 - ait Kullanıcı
 Resmi (Avatar)
 
Üyelik tarihi: 14-01-2009
Mesajlar: 1.172
144 mesajına 203 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

tabiki var basic olsaydı nasıl yapılacağını söylerdim ama bu c dilinde yazılmış ama programı yazanlar sana söyleyebilirler
ama bu devrede küsüratlı göstermesi pek uygun olmazki çünkü 4 display var. lcd li olsaydı olurdu
mucit23 isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla mucit23'in profil 
bilgileri mucit23'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 11-03-2010   #24
mc.elektro
forum üyesi
 
mc.elektro - ait Kullanıcı 
Resmi (Avatar)
 
Üyelik tarihi: 17-07-2008
Mesajlar: 36
3 mesajına 3 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

Hocam benim projemde lcd li,değişkenleri vs nasıl ayarlayabileceğimi biliyorum,ama örneğin ISIS 18b20 üzerinde sıcaklığı değiştirirken sadece tam değerler üzerinde değişiklik yapabiliyoruz.Yani ISIS ta ondalıklı olarak 18b20 üzerinde değişim yapabilir miyiz?
mc.elektro isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla mc.elektro'in profil 
bilgileri mc.elektro'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Alt 11-03-2010   #25
mucit23
MUCİT
 
mucit23 - ait Kullanıcı
 Resmi (Avatar)
 
Üyelik tarihi: 14-01-2009
Mesajlar: 1.172
144 mesajına 203 kere teşekkür edildi.
Standart Cevap: Saat - Tarih - Sıcaklık Göstergesi [16F877,DS1302,LM35,7SEGMENT] - [CCS C]

onu bende bilmiyorum hiç düşünmemiştim onu
mucit23 isimli üyemiz çevrimdışıdır. (Offline) İP   Teşekkürleri Alıntı ile Cevapla mucit23'in profil 
bilgileri mucit23'e özel mesaj 
gönder Konuyu düzenle/Sil Mesajı Moderatöre bildir Hızlı Cevap
Cevapla

Denetleme

Etiketler
ccs c saat tarih sıcaklık 16f877 lm35 ds1302

Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Ds1302 & 16f628 & 100mm Displaylerle Saat Termometre erdemefe PIC UYGULAMALARI 539 4 Hafta önce 02:37 PM
10 CM 7 Segment Display DS18B20 & DS1302 Saat Termometre aliveli PIC UYGULAMALARI 5 14-02-2010 02:36 PM
LM35 ile negatif(-) sıcaklık okuma nasıl oluyor? xxmaster2 PIC YARDIM SORU VE İSTEKLER 3 28-01-2010 09:12 PM
dijital saat-termometre veya dijital saat-tarih devresi hakkında yardım edebilecek gürhan DİGİTAL ELEKTRONİK 2 12-01-2010 03:01 PM
DS1302 entegresi ile saat/takvim yapmak - öğrenecek çok şey var :) cem PIC YARDIM SORU VE İSTEKLER 4 01-10-2009 09:48 AM


Hızlı Cevap
Mesajınız:
Yazı şeklini sil
Kalın
Eğik 
yazı
Altı
 çizik

Grafik ekle
Alıntı yap [QUOTE]
Kod ekle [CODE] metin 
etiketi
 
Paneli küçült
Paneli büyült
 
Soltabanlı
Ortalanmış
Sağtabanlı
Sıralı Liste
Sıralanmamış Liste
Metni sol tarafa çek
Metni sağ tarafa çek



Seçenekler
Eklenti ayarları
İzin verilen Eklenti tipleri: asm bas bmp c doc dsn gif hex jpe jpeg jpg lyt pdf php png psd rar txt zip


Konuyu Toplam 1 Üye okuyor. (1 Kayıtlı üye ve 0 Misafir)
gevv

Hizli Erisim




WEZ Format +3. Şuan Saat: 12:40 AM.


Powered by vBulletin®
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.