Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: Extreme - 12 Temmuz 2013, 15:34:36

Başlık: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: Extreme - 12 Temmuz 2013, 15:34:36
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.
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: elektrorazor - 22 Temmuz 2013, 12:37:40
emeğine sağlık eyvallah. :)
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: Recep METE - 22 Temmuz 2013, 14:16:53
Gerçekten güzel bir çalışma olmuş.Emeğine sağlık.
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: deblekeli - 24 Temmuz 2013, 10:06:22
Sen nerdeydin be aga.Emeğine sağlık. ;D
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: Extreme - 10 Ocak 2014, 20:41:21
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();
}
}

Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: subram - 10 Ocak 2014, 20:54:14
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)
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: veliusta - 26 Ocak 2014, 18:01:01
ds1302.c , ds18b20.c , flexy_lcd.c   Dosyalarına da paylaşabilirmisin? derleyemedim
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: sasen - 27 Ocak 2014, 14:35:00
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.
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: veliusta - 05 Şubat 2014, 21:16:28
yardım edecek yok mu?
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: 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)
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: veliusta - 05 Şubat 2014, 22:22:35
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
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: WorldWideWeb - 06 Şubat 2014, 23:29:18
Pic ile LCD menusu tasarlamak için biraz fikir gerekiyordu, aklımdaki şablon iyice oturdu. Farklı açılardan bakmak lazım :)
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: veliusta - 11 Şubat 2014, 21:32:47
(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)
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: cengav4r - 14 Şubat 2014, 14:09:09
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!..
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: veliusta - 06 Mart 2014, 23:09:27
UP
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: gececi60 - 14 Mart 2014, 00:35:40
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);{
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: Extreme - 09 Eylül 2014, 16:22:05
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
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: vedo35 - 11 Eylül 2014, 11:44:16
paylasimin icin cok tesekkurler. Arsivimde bulunsun  :) hocam birde alarm fonksiyonu olsai di ne iyi olurdu ama  :P
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: 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.
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: helloworld - 09 Ekim 2014, 21:45:10
indirdim teşekkürler.emeğine saglık...
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: ghistmanzero - 19 Şubat 2017, 01:56:33
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?
Başlık: Ynt: 16F628A Ayarlı Saat Termometre Devresi [Pcp + schematic + ccs c kodları]
Gönderen: muhendis.NT - 23 Şubat 2017, 14:22:19
Arkadaşlar linkler ölü. Drive.google a felan yüklerseniz bu linkler hiç ölmez.