18f65k22 RTCC kullanımı

Başlatan F.T, 26 Nisan 2015, 08:34:01

F.T

Arkadaşlar bu işlemcinin saat ve takvim özelliği var.Bu özelliği nasıl kullanabiliriz.Ayrıca saatin veya takvimin enerji gitmelerinde bozulmaması için bir backup beslemesi olması gerekmiyormu?
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

matador

ccs c de proje oluştururken rtc ayarları var. Öncelikle rtc ayarları ihtiyacına göre yaparsın.

#include <ssat.h>
   //RTCC
   rtc_time_t wizardTempTime; // Bu değişkeni ccs kendisi otomatik olarak oluşturuyor.
  #include <stdio.h>
  #include <stdlib.h>
  #include <string.h>
  #include <4x20.c>    // 4*20 lcd için kütüphane dosyası


void main()
{
   setup_adc_ports(sAN0|sAN1|sAN2|sAN3|sAN4);
   setup_adc(ADC_CLOCK_DIV_32|ADC_TAD_MUL_2);
   //RTCC
   setup_rtc(RTC_ENABLE , 0);   
   wizardTempTime.tm_year = 13;   // Yıl ayarı
   wizardTempTime.tm_mon = 8;   
   wizardTempTime.tm_mday = 28;
   wizardTempTime.tm_wday = 3;
   wizardTempTime.tm_hour = 14;
   wizardTempTime.tm_min = 8;
   wizardTempTime.tm_sec = 0;
   rtc_write(&wizardTempTime);

   setup_timer_3(T3_DISABLED | T3_DIV_BY_1);
   setup_timer_4(T4_DISABLED,0,1);
   setup_timer_5(T5_DISABLED | T5_DIV_BY_1);
   setup_timer_6(T6_DISABLED,0,1);
   setup_timer_7(T7_DISABLED | T7_DIV_BY_1);
   setup_timer_8(T8_DISABLED,0,1);
   setup_timer_10(T10_DISABLED,0,1);
   setup_timer_12(T12_DISABLED,0,1);

   setup_comparator(NC_NC_NC_NC);

   LCD_init();

   while(TRUE)
   {
      char gun[10];
   
      rtc_read(&wizardTempTime);  // RTC okuma satırı
     
       printf("%02u/%02u/%02u  %u   %02u:%02u:%02u",wizardTempTime.tm_mday,wizardTempTime.tm_mon,wizardTempTime.tm_year,wizardTempTime.tm_wday,wizardTempTime.tm_hour,wizardTempTime.tm_min,wizardTempTime.tm_sec);
       printf("\r\n");   
       
        //UART'ı örnek olması için kullandım.
       
       switch(wizardTempTime.tm_wday)   
       {
         case 0:gun="Pazar";break;
         case 1:gun="Pazartesi";break;
         case 2:gun="Sali";break;
         case 3:gun="Carsamba";break;
         case 4:gun="Persembe";break;
         case 5:gun="Cuma";break;
         case 6:gun="Cumartesi";break;
       }

       // Datasheet'de haftanın günleri için bir tablo var.

       lcd_gotoxy(1,1);
       printf(lcd_putc,"%02u",wizardTempTime.tm_mday);
       lcd_putc("/");
       printf(lcd_putc,"%02u",wizardTempTime.tm_mon);
       lcd_putc("/");
       printf(lcd_putc,"%02u",wizardTempTime.tm_year);
       printf(lcd_putc,"  ");
       lcd_puts(gun);
       LCD_gotoxy(6,3);
       printf(lcd_putc,"%02u",wizardTempTime.tm_hour);
       lcd_putc(":");
       printf(lcd_putc,"%02u",wizardTempTime.tm_min);
       lcd_putc(":");
       printf(lcd_putc,"%02u",wizardTempTime.tm_sec);
   }
}

Bu linkte de örnek bir çalışma var.

http://www.4shared.com/rar/1sL1XfcJ/Dahili_RTC4x20LcdRs232.html

F.T

matador ilgin için teşekkür ediyorum fakat ben ccs ten pek anlamıyorum.Bundan dolayı proton ile ilgili olsaydı daha iyi olurdu.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

F.T

Bu entegrede enerji gittiği zaman rtcc çalışmaya nasıl devam edecek.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

JOKERAS

#4
Alıntı yapılan: F.T - 26 Nisan 2015, 20:44:23
Bu entegrede enerji gittiği zaman rtcc çalışmaya nasıl devam edecek.

Usta bir tarihte uğraşmış ve aynı durumu sorgulamıştım.
Onlarda saat için besleme yoktu,yada vardı benmi görmedim bilmiyorum.
Neden böyle yapmışlar onuda anlamış değilim,yanlış üretmişler:)

Bu işlemciler düşük güç tüketme özelliğine sahipmiş,
nanowatt xlp teknoloji falan diyor.
Sleep modda bayağı düşük enerji tüketiyormuş
Linkte AN ları var bir incleyin derim.
http://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en541031
http://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en556618
http://ww1.microchip.com/downloads/en/DeviceDoc/01146B_chapter%202.pdf



Maxim

benim bildiğim işlemciye backup pili eklemen lazım
enerji kesilince işlemci oradan beslenecek (tabi işlemciyi sleep moda alacaksın)
haliyle saati ve tarihi unutmayacak

F.T

JOKERAS hocam bende sorguluyorum.Neden böyle diye.Dediğiniz gibi bu işlemcilerde düşük güç tüketimi var.Pdf sindede sleep mod konumunda güç tüketimi az olur görünüyor.
Maxim hocam dediğin gibimi olmalı diyede aklıma gelmişti.5 volt hattına bir adet backup pili takılacak ama enerji gidince bu pil diğer alıcıları beslemeden sadece işlemciyi besleyecek ve işlemci enerjinin gittiğini bir portundan anlayacak sleep moda geçecek gibi bir düşüncem var.Maxim hocam sizin düşüncenizde bu yöndemi.Ayrıca bu tip bir çalışmanız oldumu protonda.RTCC registerleri nasıl ayarlanacak.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

JOKERAS

Alıntı yapılan: F.T - 26 Nisan 2015, 21:48:50
JOKERAS hocam bende sorguluyorum.Neden böyle diye.Dediğiniz gibi bu işlemcilerde düşük güç tüketimi var.Pdf sindede sleep mod konumunda güç tüketimi az olur görünüyor.
Maxim hocam dediğin gibimi olmalı diyede aklıma gelmişti.5 volt hattına bir adet backup pili takılacak ama enerji gidince bu pil diğer alıcıları beslemeden sadece işlemciyi besleyecek ve işlemci enerjinin gittiğini bir portundan anlayacak sleep moda geçecek gibi bir düşüncem var.Maxim hocam sizin düşüncenizde bu yöndemi.Ayrıca bu tip bir çalışmanız oldumu protonda.RTCC registerleri nasıl ayarlanacak.

F.T eklediğim pdf en alttaki,orada onun şemasını vermiş.
İnceleyin bir şeylerde anlatmışlar aslında ama İngilizce,Türk'çe olsa kesin anlardım:)

F.T

Evet dediğin gibi.Adam 2 diyodla olayı bitirmiş fakat beslemenin kesildiğini anlama olayını işlemci nasıl algılar.sanki orda bir ibare var ama tam anlayamadım.Besleme voltajı kesilip pile geçince işlemci algılar diyor.Ama nasıl algılar?
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Maxim

benim çalışmam olmadı.

beslemenin gittiğini anlamaktan kolay ne var
bir ayağı analog tanımla ve besleme girişini ölç basitçe :)

F.T

O şekil olur hocam.Vdd 5 volt gitti diyelim pil 3 volt devreye girdi.işlemcinin voltaj takip sigortası boren bunu algılayıp düşük güç tüketimine alamazmı.Bu tip bir çözüm olmazmı.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Maxim

aklıma geldi
çoğu işlemcide HLVD var (high/low voltage detect)
beslemenin gittiği bu şekilde de anlaşılabilir sanırım.

istinaf duvarı

Bu devreyi yaptım. Ama bilgiler sabit kalıyor. İlerlemiyor.