s.a arkadaşlar siteye yeni üye oldum ccs compiler ile derleme yapıyorum hiçbir hata vermiyor ama devre varsayılan tarih ve saati gösteriyor, benim verdiğim tarih ve saati göstermiyor, nedenini bulamıyorum...bilen varsa cevap verebilir mi? herkese iyi çalışmalar... kodlar aşağıda...devrenin fotoğrafı
(http://s13.postimg.cc/dl19vpyjn/saat_tarih.jpg) (http://postimg.cc/image/dl19vpyjn/)
#include <main.h>
#define use_portb_lcd TRUE
#include <lcd420.c>
#include <DS1302.c>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=4000000)
#define RTC_SCLK PIN_c1
#define RTC_IO PIN_c2
#define RTC_RST PIN_c0
byte saniye, dakika, saat, gun, ay, yil, haftanin_gunu;
void main()
{
setup_psp(PSP_DISABLED); // PSP birimi devre dışı
setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı
setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
setup_CCP1(CCP_OFF); // CCP1 birimi devre dışı
setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı
setup_adc_ports(NO_ANALOGS); // RA0/AN0 girişi analog
setup_adc(ADC_OFF);
lcd_init();
rtc_init();
rtc_set_datetime(27,02,15,6,10,15);
while(1)
{
rtc_get_time(saat,dakika,saniye);
rtc_get_date(gun,ay,yil,haftanin_gunu);
lcd_gotoxy(1,1);
printf(lcd_putc,"Tarih: %d/%d/20%02d",gun,ay,yil);
lcd_gotoxy(1,3);
switch(haftanin_gunu)
{
case 1: printf(lcd_putc,"PAZAR"); break;
case 2: printf(lcd_putc,"PAZRTESi"); break;
case 3: printf(lcd_putc,"SALI"); break;
case 4: printf(lcd_putc,"CARSMBA"); break;
case 5: printf(lcd_putc,"PERSMBE"); break;
case 6: printf(lcd_putc,"CUMA"); break;
case 7: printf(lcd_putc,"CUMRTESi"); break;
}
lcd_gotoxy(1,2);
printf(lcd_putc,"Saat : %02d:%02d",saat,dakika);
delay_ms(1000);
}
}
Pice doğru hexi kendi derlediğin hexi yüklediğine eminsen;
byte
yerine
unsigned int8
yazıp dene.
mesaj birleştirme:: 27 Şubat 2015, 23:12:19
Olmazsa isis+ccsc dosyalarını gönder deneyelim.
DS1302' nin data yollarında pull-up dirençleri yok mu?
gerek yok. i2c değil. Direnç olmadan da çalışıyor.
DS1307 veya bq32000 daha konforlu
sanki...
Bu konuda size katılıyorum.
Çoğu kişi ds1302 hazır kütüphane kullanıyor, o yüzden hep aynı hata oluyor. Geçişler (oku-yaz) esnasında veri bozulması olabiliyor.
bq yu nerede bulabiliriz hocam ? direnc.net de yok sanırım
Ebay' da olması lazım...
Hocam yakınlarda yok mu ? ebaydan urun alamıyorum
Tamamen yanlış hex olayından kaynaklı. Derleme yaparken hex in nereye derlendigini takip et onu kullan.
yanlış hex değil onu takip ediyorum hala çözemedim sorunu... :( isis ve ccs c dosyalarını nasıl paylaşılıyor bilmiyorum
Herhangibbir dosya paylaşım sitesine
zip olarak yükleyip linkini buraya ekleyebilirsin.
arkadaşlar isis+compiler dosyaları bu linkte...
http://s4.dosya.tc/server/ObNqwa/tarihvesaat.rar.html (http://s4.dosya.tc/server/ObNqwa/tarihvesaat.rar.html)
arkadaşlar tamam problemi çözdüm ilgilenen herkese teşekkür ederim
Problem proteus ile ilgili gözüküyor,
birebir senin verdiğin hex i
proteus8 de tekrar çizdiğim simulasyona aktardım
sonuç gördüğün gibi,
programda bir problem yok.
(http://s30.postimg.cc/valtlhqz1/gec.jpg) (http://postimg.cc/image/valtlhqz1/)
mesaj birleştirme:: 03 Mart 2015, 18:51:24
Problemi nasıl çözdüğünü belirtmende fayda var.
ds1302 nin üzerine çit tıklayınca özelliklerinin bulunduğu pencere açılıyor ya orda sol altta bir kaç tane özellikler var. herbirinin yanında içine tik koyulması için kutucuklar var. o kutucuklardan "exclude from simulation" bunun yanındaki kutunun içindeki tik çalışmasını engelliyormuş. tiki kaldırınca çalıştı....
Hiç aklıma gelmemişti, iyi yakalamışsın.
Ayarları kendin yanlışlıkla değiştirmişmiydin yoksa isiste öylemi ayarlı geldi acaba.
Belirtilen tiki kaldırdıktan sonra,
isisde solda eleman seçme menüsü açıkken
menüdedi ds1302 nin üzerine gelip sağ tıklayıp
update dersen (sonra ok evet onayla vs.)
isis in kütüphanesindeki ds1302 yi son uyguladığın ayarla kaydeder
bu sayede birdaha ds1302 kullandığında
aynı hata ile karşılaşmazsın
exclude from schematic direk tikli olmadan isis şemanda kullanabilirsin.
Belirttiğim ayar şu;
(https://lh4.googleusercontent.com/-v4TvKYN7lAo/VPckUCihIWI/AAAAAAAABNM/KSDHmkIwpuY/w402-h589-no/isis%2Bchanging%2Bdefault%2Bsetting%2Bfor%2Bcomponent.png)
ayarlarıyla ufak tefek oynamıştım ama orayı öyle unutmuşum demekki...senin soylediğin de güzel bilgi....bunu kullanırım artık..
mesaj birleştirme:: 05 Mart 2015, 12:04:43
Hocam bi de A1 veya A2 portunu analog giriş olarak kullanmak istiyorum, kullandığım işlemci PIC16F877A, hangi kodları eklemem lazım ?
daha önce 4 adet saat projesinde ds1302 kullanmıştım. fakat verim alamadım. 2 günde bir ayarları kaçıyordu. bazende stabil gidiyorlardı. neden bilmiyorum ama çok sıkıntılı bunlar bence. bir daha kullanırsam mutlaka başka birşey deneyeceğim.
Kristal.
piyasadaki bulabildiğim hepsini denedim. açıkçası bende ds1302 ye karşı antipati oluştu :D
hocam işlemcinin kristal devresini kurmadan da proteusta çalışıyor ama devreyi karta kurunca muhtemelen çalışmayacaktır...onu karta kurarım proplem değil o....A1 veya A2 portuna analog sinyal bağladım onu okuyup değişkene atamam lazım bunun kodlar ne onu bilmiyorum...
Çin malı ürünlerden kristal söküp kullanan,
gayet randımanlı olduğunu söyleyenler vardı.
aslında kristali içinde olanlarda vardır. onlardan kullanmak daha iyi çözüm olur kanaatindeyim.
Alıntı yapılan: SercanTEK - 04 Mart 2015, 22:17:20
piyasadaki bulabildiğim hepsini denedim. açıkçası bende ds1302 ye karşı antipati oluştu :D
Senin ilacanı yazıyorum. PCF8583
4 bacaklı kristal osilatörleri denediniz mi?
RTC ne kadar kaliteli olsa da kristal kaliteli
olmadan saat düzgün gitmiyor. ±20ppm olan
bir kristal ile çalışan saat, yaklaşık 6 ayda
10 dakika kayıyor.
Ortam sıcaklığını da unutmamak gerekiyor...
http://www.best-microcontroller-projects.com/ppm.html (http://www.best-microcontroller-projects.com/ppm.html)
http://www.hizliresimyukle.com/image/BuJd (http://www.hizliresimyukle.com/image/BuJd)
arkadaşlar mrb lcd neden böyle görüntü veriyor ? bilen var mı...