Merhaba Picproje üyeleri,
Alıntı deyil tamamı bana ait.
http://u1307.hizliresim.com/1c/d/q5wt6.jpg (http://u1307.hizliresim.com/1c/d/q5wt6.jpg)
http://m1307.hizliresim.com/1c/d/q5wtw.jpg (http://m1307.hizliresim.com/1c/d/q5wtw.jpg)
http://u1307.hizliresim.com/1c/d/q5wtt.jpg (http://u1307.hizliresim.com/1c/d/q5wtt.jpg)
https://hotfile.com/dl/233673517/94c8b27/Saat-Termometre.rar.html (https://hotfile.com/dl/233673517/94c8b27/Saat-Termometre.rar.html)
Alternatif sitelerden upload ederseniz ilk mesajın içeriğine koyabilirim.
emeğine sağlık eyvallah. :)
Gerçekten güzel bir çalışma olmuş.Emeğine sağlık.
Sen nerdeydin be aga.Emeğine sağlık. ;D
Link ölmüş özel mesajla gelen istek üzerine kodları aşağıda veriyorum.
#include <16f628a.h> // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.
#fuses INTRC_IO,NOWDT,NOBROWNOUT,NOLVP,NOPUT,NOCPD // Fuses ayarları
#use delay (clock=4000000) //4mhz delay süresi
#include "flexy_lcd.c" //lcd c dosyası
#include "ds18b20.c" //termometre entegresi c dosyası
#include "ds1302.C" //saat entegresi c dosyasi
int8 sicak,saniye,dakika,saat,gun,ay,hafta,yil,ayar=0;
void lcd()
{
lcd_gotoxy(1,1);
printf(lcd_putc,"%02d/%02d/%02d",gun,ay,yil);
lcd_gotoxy(1,2);
printf(lcd_putc,"%02d:%02d:%02d",saat,dakika,saniye);
lcd_gotoxy(11,1);
switch(hafta)
{
case 1: printf(lcd_putc,"Pzts"); break;
case 2: printf(lcd_putc,"SALI"); break;
case 3: printf(lcd_putc,"CARS"); break;
case 4: printf(lcd_putc,"PERS"); break;
case 5: printf(lcd_putc,"CUMA"); break;
case 6: printf(lcd_putc,"Cmts"); break;
case 7: printf(lcd_putc,"Pzar"); break;
}
}
void sicaklik()
{
sicak=ds1820_read(); //termometre entegresindeki değeri sicak değişkenine aktar
lcd_gotoxy(11,2);printf(lcd_putc,"%02d",sicak);
lcd_gotoxy(13,2);lcd_send_byte(0x4a,0xdf);lcd_gotoxy(14,2);printf(lcd_putc,"C");
}
void ayaryap(){
//(0x0d) lcd belirtilen konumun yanıp sönmesi
if(input(pin_b0)==0){ayar++;delay_ms(20);printf(lcd_putc,"\f AYAR MODU");delay_ms(450);printf(lcd_putc,"\f");}
while(ayar==1){
lcd();lcd_gotoxy(1,1);lcd_send_byte(0x01,0x0d);lcd_gotoxy(2,1);lcd_send_byte(0x02,0x0d);
if(input(pin_a3)==0){gun++;delay_ms(20);if(gun==32){gun=1;}while(input(pin_a3)==0);}
if(input(pin_a4)==0){gun--;delay_ms(20);if(gun==0){gun=31;}while(input(pin_a4)==0);}
if(input(pin_b0)==0){ayar++;delay_ms(200);while(input(pin_b0)==0);}}
while(ayar==2){
lcd();lcd_gotoxy(4,1);lcd_send_byte(0x04,0x0d);lcd_gotoxy(5,1);lcd_send_byte(0x05,0x0d);
if(input(pin_a3)==0){ay++;delay_ms(20);if(ay==13){ay=1;}while(input(pin_a3)==0);}
if(input(pin_a4)==0){ay--;delay_ms(20);if(ay==0){ay=12;}while(input(pin_a4)==0);}
if(input(pin_b0)==0){ayar++;delay_ms(200);while(input(pin_b0)==0);}}
while(ayar==3){
lcd();lcd_gotoxy(7,1);lcd_send_byte(0x07,0x0d);lcd_gotoxy(8,1);lcd_send_byte(0x08,0x0d);
if(input(pin_a3)==0){yil++;delay_ms(20);while(input(pin_a3)==0);}
if(input(pin_a4)==0){yil--;delay_ms(20);if(yil==-1)yil=99;while(input(pin_a4)==0);}
if(input(pin_b0)==0){ayar++;delay_ms(200);while(input(pin_b0)==0);}}
while(ayar==4){
lcd_gotoxy(11,1);lcd_send_byte(0x11,0x0d);lcd();delay_us(5);
if(input(pin_a3)==0){hafta++;delay_ms(20);if(hafta==8){hafta=1;}while(input(pin_a3)==0);}
if(input(pin_a4)==0){hafta--;delay_ms(20);if(hafta==0){hafta=7;}while(input(pin_a4)==0);}
if(input(pin_b0)==0){ayar++;delay_ms(200);while(input(pin_b0)==0);}}
while(ayar==5){
lcd_gotoxy(1,2);lcd_send_byte(0x40,0x0d);lcd_gotoxy(2,2);lcd_send_byte(0x41,0x0d);lcd();
if(input(pin_a3)==0){saat++;delay_ms(20);if(saat==24){saat=0;}while(input(pin_a3)==0);}
if(input(pin_a4)==0){saat--;delay_ms(20);if(saat==-1){saat=23;}while(input(pin_a4)==0);}
if(input(pin_b0)==0){ayar++;delay_ms(200);while(input(pin_b0)==0);}}
while(ayar==6){
lcd_gotoxy(4,2);lcd_send_byte(0x43,0x0d);lcd_gotoxy(5,2);lcd_send_byte(0x44,0x0d);lcd();
if(input(pin_a3)==0){dakika++;delay_ms(20);if(dakika==60){dakika=0;}while(input(pin_a3)==0);}
if(input(pin_a4)==0){dakika--;delay_ms(20);if(dakika==-1){dakika=59;}while(input(pin_a4)==0);}
if(input(pin_b0)==0){ayar++;delay_ms(200);while(input(pin_b0)==0);}}
while(ayar==7){rtc_set_datetime(gun,ay,yil,hafta,saat,dakika); //değişkenleri saat entegresine aktar.
delay_ms(20);
printf(lcd_putc,"\f AYARLAR\n YUKLENIYOR");
delay_ms(1000);printf(lcd_putc,"\f");
ayar=0;}
}
void main()
{
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
lcd_init(); //lcd yi hazırla
rtc_init(); //saat entegresini hazırla
delay_ms(5);
printf(lcd_putc,"\fAIBU");
delay_ms(3000);
printf(lcd_putc,"\f");
delay_ms(5);
while(1)
{
if(ayar==0){rtc_get_time(saat,dakika,saniye);rtc_get_date(gun,ay,yil,hafta);}
sicaklik();
lcd();
ayaryap();
}
}
Resim boyutları çok büyük lütfen daha küçük resimler kulanın
https://www.picproje.org/index.php/topic,49397.0.html (https://www.picproje.org/index.php/topic,49397.0.html)
ds1302.c , ds18b20.c , flexy_lcd.c Dosyalarına da paylaşabilirmisin? derleyemedim
Emeğine sağlık arkadaşım devreyi çalıştırdım ancak bir sıkıntım var.ds18b20 devreye bağlıyken saatteki saniye de belli aralıklarla durma oluyor .Devreden ds180b20 yi çıkartıp programdan da kaldırınca saat ve takvim olarak çalışırken bir sıkıntı olmuyor.Ds180b20 okunurken oluşan bu saniyedeki bekleme sorununu nasıl çözebilirim?Teşekkürler.
yardım edecek yok mu?
istediğin kütüphanelerden zaten ds18b20.c ile ds1302.c CCS C derleyicisinin kendi driver klasöründe var. Diğeri ise kendi kullandığın LCD'ye göre uygun kütüphaneyi kullanmalısın. yok ben aynısını kullanıcam diyorsan flexy_lcd.c google bir sürü var.
C:\Program Files (x86)\PICC\Drivers\ds18b20.c
C:\Program Files (x86)\PICC\Drivers\DS1302.C
flexy_lcd.c
http://picmania.garcia-cuervo.net/recursos/flex_lcd.c (http://picmania.garcia-cuervo.net/recursos/flex_lcd.c)
Alıntı yapılan: xoom - 05 Şubat 2014, 21:35:10
istediğin kütüphanelerden zaten ds18b20.c ile ds1302.c CCS C derleyicisinin kendi driver klasöründe var. Diğeri ise kendi kullandığın LCD'ye göre uygun kütüphaneyi kullanmalısın. yok ben aynısını kullanıcam diyorsan flexy_lcd.c google bir sürü var.
C:\Program Files (x86)\PICC\Drivers\ds18b20.c
C:\Program Files (x86)\PICC\Drivers\DS1302.C
flexy_lcd.c
http://picmania.garcia-cuervo.net/recursos/flex_lcd.c (http://picmania.garcia-cuervo.net/recursos/flex_lcd.c)
ds18b20.c dosyasını driver'imde bulamadım. Sende neden var. Herhangi bir eklentimi yüklemem gerekiyor?
mesaj birleştirme:: 05 Şubat 2014, 22:26:03
PCM Compiler V4.068
Pic ile LCD menusu tasarlamak için biraz fikir gerekiyordu, aklımdaki şablon iyice oturdu. Farklı açılardan bakmak lazım :)
(http://i.hizliresim.com/xY6rRD.png)
Tüm Dosyalar (HATALI); http://www.dosya.tc/server24/roKrU3/ccc.rar.html (http://www.dosya.tc/server24/roKrU3/ccc.rar.html)
bu devreyi bende yapmak istedim ancak bende veliusta ile aynı hatayı aldım. Sorunsuz çalıştıranlar nasıl çalıştırdı? ds18b20.c, DS1302 ve flexy_lcd dosyalarımız farklı olabilir!..
UP
if(ayar==0){rtc_get_time(saat,dakika,saniye);rtc_get_date(gun,ay,yil,hafta);}
satırının sonundaki süslü parantez yanlış yazılmış. Parantezin açılması gerekir. Yani doğrusu şu şekilde olmalı:
if(ayar==0){rtc_get_time(saat,dakika,saniye);rtc_get_date(gun,ay,yil,hafta);{
https://www.dropbox.com/s/j3em65qh7ucncrs/Saat-Termometre.rar?dl=0 (https://www.dropbox.com/s/j3em65qh7ucncrs/Saat-Termometre.rar?dl=0)
ilk mesajıma yönetici arkadaşlardan biri bu linki ekleyebilirse faydalı olur
paylasimin icin cok tesekkurler. Arsivimde bulunsun :) hocam birde alarm fonksiyonu olsai di ne iyi olurdu ama :P
https://www.dropbox.com/s/dvh3i51ow1qq091/Saat-Termometre.rar?dl=0 (https://www.dropbox.com/s/dvh3i51ow1qq091/Saat-Termometre.rar?dl=0)
link yenilendi.
indirdim teşekkürler.emeğine saglık...
Alıntı yapılan: Extreme - 29 Eylül 2014, 22:08:32
https://www.dropbox.com/s/dvh3i51ow1qq091/Saat-Termometre.rar?dl=0 (https://www.dropbox.com/s/dvh3i51ow1qq091/Saat-Termometre.rar?dl=0)
link yenilendi.
Linki tekrar yenileyebilirsiniz acaba?
Arkadaşlar linkler ölü. Drive.google a felan yüklerseniz bu linkler hiç ölmez.