Sisällysluettelo:

DS1307 -kello CloudX: 4 vaihetta
DS1307 -kello CloudX: 4 vaihetta

Video: DS1307 -kello CloudX: 4 vaihetta

Video: DS1307 -kello CloudX: 4 vaihetta
Video: Interfacing Bluetooth with segment display 2024, Heinäkuu
Anonim
DS1307 -kello ja CloudX
DS1307 -kello ja CloudX
DS1307 -kello ja CloudX
DS1307 -kello ja CloudX

Ajattele koskaan, että haluat tehdä oman kellon tai kellon. DS1307: n ja CloudX: n yhdistäminen voi tehdä toiveistasi ongelmattoman

Vaihe 1: Avaa CloudX IDE

Avaa CloudX IDE
Avaa CloudX IDE
Avaa CloudX IDE
Avaa CloudX IDE

Valitettavasti en ole kovin puhuja, mutta tiedän, että kun kyse on reaaliaikaisista kelloprojekteista, cloudX on auttanut sinua.

Yksinkertaiset vaiheet

1. Tuo cloudX -pääkirjasto kauttaviivalla

2. Tuo DS1307 ja muut tarvittavat toiminnalliset kirjastot

3. nauti ja leiki DS1307 -toiminnoista sen kirjastosta

Vaihe 2: KOODI !, KOODI !!, KOODI !

/*

* Tiedosto: main.c * Tekijä: Ogboye Godwin * * Luotu 24. huhtikuuta 2018, klo 11.02 */

#sisältää

#sisältää

#sisältää

allekirjoittamaton lyhyt aika [9], päivämäärä [11];

allekirjoittamaton lyhyt mth, Dday, yr, hr, min, sec;

getDateTime ();

loadLcd ();

resetClock ();

int set = 16;

int inc = 15;

int dec = 14;

perustaa(){

pinMode (asetettu, TULO);

pinMode (sis. tulo);

pinMode (dec, INPUT);

pinMode (1, TULO);

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

Ds1307_init ();

silmukka () {

while (readPin (set) == 0) {

getDateTime ();

loadLcd ();

delaymit (500);

}

jos (readPin (set) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (tunti); // hr

aika [0] = BCD2UpperCh (hr);

aika [1] = BCD2LowerCh (hr);

aika [2] = ':';

min = Ds1307_read (minuutti); // min

aika [3] = BCD2UpperCh (min);

aika [4] = BCD2LowerCh (min);

aika [5] = ':';

sek = Ds1307_read (toinen); // sek

aika [6] = BCD2UpperCh (sek);

aika [7] = BCD2LowerCh (sek);

mth = Ds1307_read (kuukausi); //kuukausi

Päivämäärä [0] = BCD2UpperCh (mth);

Päivämäärä [1] = BCD2LowerCh (mth);

Päivämäärä [2] = ':';

Dday = Ds1307_read (päivämäärä); //päivä

Päivämäärä [3] = BCD2UpperCh (Dday);

Päivämäärä [4] = BCD2LowerCh (Dday);

Päivämäärä [5] = ':';

vuosi = Ds1307_read (vuosi); // vuosi

Päivämäärä [6] = '2';

Päivämäärä [7] = '0';

Päivämäärä [8] = BCD2UpperCh (vuosi);

Päivämäärä [9] = BCD2LowerCh (vuosi);

}

loadLcd () {

int cx;

Lcd_cmd (kirkas);

Lcd_writeText (1, 1, "Päivämäärä:");

// lcdWriteTextCP (Mdate);

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

Lcd_writeCP (Mdate [cx]);

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

// lcdWriteTextCP (aika);

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

Lcd_writeCP (aika [cx]);

}

resetClock () {

Ds1307_write (toinen, Binary2BCD (0)); // kirjoita 0 sekuntia

Ds1307_write (minuutti, Binary2BCD (12)); // kirjoita 12 minuuttia

Ds1307_write (tunti, Binary2BCD (12)); // kirjoittaa 12 tuntia

Ds1307_write (päivä, binäärinen2BCD (3)); // kirjoita päivä tiistai

Ds1307_write (päivämäärä, Binary2BCD (24)); // kirjoita päivämäärä 24

Ds1307_write (kuukausi, Binary2BCD (4)); // kirjoita kuukaudesta huhtikuuhun

Ds1307_write (vuosi, Binary2BCD (18)); // kirjoita vuosi 18 eli 2018

Ds1307_write (SQWE, Binary2BCD (taajuus)); // aseta SQWE -lähtö 1hz: ksi

Ds1307_write (toinen, Binary2BCD (startOscilator)); // nollaa toinen 0 sekunniksi ja käynnistä oskillaattori

while (readPin (set) == 1);

}

Vaihe 3: Suunnittelu Proteuksessa

Suunnittelu Proteuksessa
Suunnittelu Proteuksessa

tyyppi proteus isis nämä vaatimukset

1. cloudX

2. DS1307

3. 4.7k vastus

4. painiketta

5. lm016 LCD

6. kristalli 32 khz

ja tai tietenkin älä unohda positiivista ja maata.

tee yhteytesi kuten minun.

Suositeltava: