Mündəricat:

CloudX ilə DS1307 Saatı: 4 addım
CloudX ilə DS1307 Saatı: 4 addım

Video: CloudX ilə DS1307 Saatı: 4 addım

Video: CloudX ilə DS1307 Saatı: 4 addım
Video: Ремонт на балконе Ошибки монтажа теплого пола. #37 2024, Noyabr
Anonim
CloudX ilə DS1307 Saatı
CloudX ilə DS1307 Saatı
CloudX ilə DS1307 Saatı
CloudX ilə DS1307 Saatı

Öz əlinizlə xüsusi bir saat və ya saat etmək istədiyinizi düşünün. DS1307 və CloudX-in birləşməsi arzularınızı problemsiz edə bilər

Addım 1: CloudX IDE -ni açın

CloudX IDE -ni açın
CloudX IDE -ni açın
CloudX IDE -ni açın
CloudX IDE -ni açın

Bağışlayın, çox danışan biri deyiləm, amma Real Time Clock layihələrinə gəldikdə, cloudX -in sizi əhatə etdiyini bilirəm.

Sadə addımlar

1. board modelini kəsməklə cloudX əsas kitabxanasını idxal edin

2. DS1307 və lazım olan digər funksional kitabxananı idxal edin

3. kitabxanasındakı DS1307 funksiyalarından zövq alın və oynayın

Addım 2: KOD!, KOD !!, KOD !

/*

* Şəkil: main.c * Müəllif: Ogboye Godwin * * 24 aprel 2018 -ci il, saat 11: 02 -də yaradılmışdır */

#daxil edin

#daxil edin

#daxil edin

imzasız qısa müddət [9], Mdate [11];

imzasız qısa ay, Gün, il, saat, min, saniyə;

getDateTime ();

loadLcd ();

resetClock ();

int set = 16;

int inc = 15;

int dec = 14;

qurmaq(){

pinMode (set, INPUT);

pinMode (daxil, GİRİŞ);

pinMode (dec, INPUT);

pinMode (1, GİRİŞ);

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

Ds1307_init ();

döngə () {

while (readPin (set) == 0) {

getDateTime ();

loadLcd ();

gecikmə (500);

}

əgər (readPin (set) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (saat); // saat

vaxt [0] = BCD2UpperCh (saat);

vaxt [1] = BCD2LowerCh (saat);

vaxt [2] = ':';

min = Ds1307_read (dəqiqə); // dəq

vaxt [3] = BCD2UpperCh (dəq);

vaxt [4] = BCD2LowerCh (dəq);

vaxt [5] = ':';

sec = Ds1307_read (ikinci); // saniyə

vaxt [6] = BCD2UpperCh (saniyə);

vaxt [7] = BCD2LowerCh (saniyə);

mth = Ds1307_read (ay); // ay

Mdate [0] = BCD2UpperCh (ay);

Mdate [1] = BCD2LowerCh (ay);

Mdate [2] = ':';

Dday = Ds1307_read (tarix); //gün

Mdate [3] = BCD2UpperCh (Gün);

Mdate [4] = BCD2LowerCh (Gün);

Mdate [5] = ':';

yr = Ds1307_read (il); // il

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (il);

Mdate [9] = BCD2LowerCh (il);

}

loadLcd () {

int cx;

Lcd_cmd (aydın);

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

// lcdWriteTextCP (Mdate);

üçün (cx = 0; cx <11; cx ++)

Lcd_writeCP (Mdate [cx]);

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

// lcdWriteTextCP (vaxt);

üçün (cx = 0; cx <9; cx ++)

Lcd_writeCP (vaxt [cx]);

}

resetClock () {

Ds1307_write (ikinci, Binary2BCD (0)); // 0 saniyə yaz

Ds1307_write (dəqiqə, Binary2BCD (12)); // 12 dəqiqə yaz

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

Ds1307_write (gün, Binary2BCD (3)); // çərşənbə günü gün yaz

Ds1307_write (tarix, Binary2BCD (24)); // 24 tarix yaz

Ds1307_write (ay, Binary2BCD (4)); // aprel ayını yaz

Ds1307_write (il, Binary2BCD (18)); // 18 il, yəni 2018 yazın

Ds1307_write (SQWE, Binary2BCD (tezlik)); // SQWE çıxışını 1Hz -ə təyin edin

Ds1307_write (ikinci, Binary2BCD (startOscilator)); // saniyəni sıfıra sıfırlayın və osilatoru işə salın

while (readPin (set) == 1);

}

Addım 3: Proteusda dizayn

Proteusda dizayn
Proteusda dizayn

proteus is yazın bu tələblərdir

1. buludX

2. DS1307

3. 4.7k müqavimət

4. düymə

5. LCD lm016

6. 32 kHz -lik kristal

və ya əlbəttə ki, müsbət və zəmini unutma.

əlaqələrinizi mənim kimi qurun.

Tövsiyə: