İçindekiler:

DS1307 CloudX ile Saat: 4 Adım
DS1307 CloudX ile Saat: 4 Adım

Video: DS1307 CloudX ile Saat: 4 Adım

Video: DS1307 CloudX ile Saat: 4 Adım
Video: Interfacing Bluetooth with segment display 2024, Temmuz
Anonim
DS1307 CloudX ile Saat
DS1307 CloudX ile Saat
DS1307 CloudX ile Saat
DS1307 CloudX ile Saat

Hiç kendi özel saatinizi veya saatinizi yapmak istediğinizi hayal edin. bir DS1307 ve CloudX'i birleştirmek, özleminizi sorunsuz hale getirebilir

1. Adım: CloudX IDE'nizi açın

CloudX IDE'nizi açın
CloudX IDE'nizi açın
CloudX IDE'nizi açın
CloudX IDE'nizi açın

Üzgünüm, pek konuşkan değilim, ancak Gerçek Zamanlı Saat projeleri söz konusu olduğunda, cloudX'in sizi koruduğunu biliyorum.

Basit adımlar

1. cloudX ana kitaplığını pano modelini eğik çizgi ile içe aktarın

2. DS1307'yi ve gereken diğer işlevsel kitaplığı içe aktarın

3. Kitaplığından DS1307 işlevleriyle eğlenin ve oynayın

Adım 2: KOD!, KOD!!!, KOD!!

/*

* Dosya: main.c * Yazar: Ogboye Godwin * * 24 Nisan 2018, 11:02 AM */

#Dahil etmek

#Dahil etmek

#Dahil etmek

imzasız kısa süre[9], Mdate[11];

imzasız kısa ay, Gün, yıl, saat, dakika, saniye;

getDateTime();

loadLcd();

resetClock();

int küme=16;

int inc=15;

int aralık=14;

kurmak(){

pinMode(set, INPUT);

pinMode(inc, INPUT);

pinMode(aralık, GİRİŞ);

pinMode(1, GİRİŞ);

Lcd_setting(2, 3, 4, 5, 6, 7);

Ds1307_init();

döngü(){

while(readPin(set)==0){

getDateTime();

loadLcd();

gecikmeler(500);

}

if(readPin(set)==1)

resetClock();

}

}

getDateTime(){

hr=Ds1307_read(saat); //saat

zaman[0] = BCD2UpperCh(sa);

zaman[1] = BCD2DüşükCh(sa);

zaman[2] = ':';

min=Ds1307_read(dakika); //dk

zaman[3] = BCD2ÜstCh(dk);

zaman[4] = BCD2DüşükCh(dk);

zaman[5] = ':';

sec=Ds1307_read(saniye); //sn

zaman[6] = BCD2ÜstCh(sn);

zaman[7] = BCD2DüşükCh(sn);

mth=Ds1307_read(ay); //ay

Mdate[0] = BCD2UpperCh(mth);

Mdate[1] = BCD2LowerCh(mth);

Mdate[2] = ':';

Gün=Ds1307_read(tarih); //gün

Mdate[3] = BCD2UpperCh(Dday);

Mdate[4] = BCD2DüşükCh(Dgün);

Mdate[5] = ':';

yıl=Ds1307_read(yıl); //yıl

Mdate[6] = '2';

Mdate[7] = '0';

Mdate[8] = BCD2UpperCh(yıl);

Mdate[9] = BCD2DüşükCh(yıl);

}

loadLcd(){

int cx;

Lcd_cmd(temizle);

Lcd_writeText(1, 1, "Tarih: ");

//lcdWriteTextCP(Mdate);

for(cx=0;cx<11;cx++)

Lcd_writeCP(Mdate[cx]);

Lcd_writeText(2, 1, "Saat: ");

//lcdWriteTextCP(zaman);

for(cx=0;cx<9;cx++)

Lcd_writeCP(zaman[cx]);

}

resetClock(){

Ds1307_write(saniye, Binary2BCD(0)); // 0 saniye yaz

Ds1307_write(dakika, Binary2BCD(12));//12 dakika yaz

Ds1307_write(saat, Binary2BCD(12)); // 12 saat yaz

Ds1307_write(gün, Binary2BCD(3)); // salı günü yaz

Ds1307_write(tarih, Binary2BCD(24)); // 24. tarihi yaz

Ds1307_write(ay, Binary2BCD(4)); // aydan nisana yaz

Ds1307_write(yıl, Binary2BCD(18)); // yıl 18, yani 2018 yaz

Ds1307_write(SQWE, Binary2BCD(frekans)); // SQWE çıkışını 1hz olarak ayarla

Ds1307_write(saniye, Binary2BCD(startOscilator)); // saniyeyi 0sn'ye sıfırla ve osilatörü başlat

while(readPin(set)==1);

}

3. Adım: Proteus'ta Tasarım

Proteus'ta Tasarım
Proteus'ta Tasarım

proteus isis yazın bu gereksinimler

1. bulutX

2. DS1307

3. 4.7k direnç

4. düğme

5. lm016 LCD

6. 32khz kristal

ve ya da elbette olumlu ve temelinizi unutmayın.

bağlantılarını benimki gibi yap.

Önerilen: