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?
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 (http://www.4shared.com/rar/1sL1XfcJ/Dahili_RTC4x20LcdRs232.html)
matador ilgin için teşekkür ediyorum fakat ben ccs ten pek anlamıyorum.Bundan dolayı proton ile ilgili olsaydı daha iyi olurdu.
Bu entegrede enerji gittiği zaman rtcc çalışmaya nasıl devam edecek.
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=en541031)
http://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en556618 (http://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en556618)
http://ww1.microchip.com/downloads/en/DeviceDoc/01146B_chapter%202.pdf (http://ww1.microchip.com/downloads/en/DeviceDoc/01146B_chapter%202.pdf)
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
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.
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:)
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?
benim çalışmam olmadı.
beslemenin gittiğini anlamaktan kolay ne var
bir ayağı analog tanımla ve besleme girişini ölç basitçe :)
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ı.
aklıma geldi
çoğu işlemcide HLVD var (high/low voltage detect)
beslemenin gittiği bu şekilde de anlaşılabilir sanırım.
Bu devreyi yaptım. Ama bilgiler sabit kalıyor. İlerlemiyor.