Sadržaj:

DS1307 Sat s CloudX -om: 4 koraka
DS1307 Sat s CloudX -om: 4 koraka

Video: DS1307 Sat s CloudX -om: 4 koraka

Video: DS1307 Sat s CloudX -om: 4 koraka
Video: DS1307 Real Time Clock RTC, Arduino Nano and the Recycled DVD 7 Segment LED Display 2024, Srpanj
Anonim
DS1307 Sat s CloudX -om
DS1307 Sat s CloudX -om
DS1307 Sat s CloudX -om
DS1307 Sat s CloudX -om

Zamislite da želite napraviti vlastiti sat ili sat po mjeri. spajanjem DS1307 i CloudX-a vaša će težnja biti bez problema

Korak 1: Otvorite svoj CloudX IDE

Otvorite svoj CloudX IDE
Otvorite svoj CloudX IDE
Otvorite svoj CloudX IDE
Otvorite svoj CloudX IDE

Nažalost, nisam neki govornik, ali znam da kada su u pitanju projekti satova u stvarnom vremenu, cloudX vas je pokrio.

Jednostavni koraci

1. uvezite cloudX glavnu knjižnicu sa kosom crtom modela ploče

2. uvesti DS1307 i drugu potrebnu funkcionalnu knjižnicu

3. uživajte i igrajte se s funkcijama DS1307 iz njegove biblioteke

Korak 2: KOD !, KOD !!, KOD !

/*

* Datoteka: main.c * Autor: Ogboye Godwin * * Kreirano 24. travnja 2018., 11:02 */

#uključi

#uključi

#uključi

nepotpisano kratko vrijeme [9], Mdate [11];

bez potpisa kratki mth, Dday, yr, hr, min, sec;

getDateTime ();

loadLcd ();

resetClock ();

int set = 16;

int inc = 15;

int dec = 14;

postaviti(){

pinMode (set, INPUT);

pinMode (inc, INPUT);

pinMode (dec, INPUT);

pinMode (1, INPUT);

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

Ds1307_init ();

petlja(){

while (readPin (set) == 0) {

getDateTime ();

loadLcd ();

kašnjenja (500);

}

if (readPin (set) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_čitano (sat); // hr

vrijeme [0] = BCD2UpperCh (hr);

vrijeme [1] = BCD2LowerCh (hr);

vrijeme [2] = ':';

min = Ds1307_čitaj (minuta); // min

vrijeme [3] = BCD2UpperCh (min);

vrijeme [4] = BCD2LowerCh (min);

vrijeme [5] = ':';

sec = Ds1307_read (drugi); // sek

vrijeme [6] = BCD2UpperCh (sek);

vrijeme [7] = BCD2LowerCh (sek);

mth = Ds1307_čitano (mjesec); //mjesec

Mdate [0] = BCD2UpperCh (mth);

Mdate [1] = BCD2LowerCh (mth);

Mdate [2] = ':';

Dday = Ds1307_read (datum); //dan

Mdate [3] = BCD2UpperCh (dan);

Mdate [4] = BCD2LowerCh (dan);

Mdate [5] = ':';

god = Ds1307_čitano (godina); //godina

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (god);

Mdate [9] = BCD2LowerCh (god);

}

loadLcd () {

int cx;

Lcd_cmd (jasno);

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

// lcdWriteTextCP (Mdate);

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

Lcd_writeCP (Mdate [cx]);

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

// lcdWriteTextCP (vrijeme);

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

Lcd_writeCP (vrijeme [cx]);

}

resetClock () {

Ds1307_write (drugi, Binary2BCD (0)); // upis 0 sekundi

Ds1307_write (minuta, Binary2BCD (12)); // zapisivanje 12 minuta

Ds1307_write (sat, Binary2BCD (12)); // pisanje 12 sati

Ds1307_write (dan, Binary2BCD (3)); // piši dan utorak

Ds1307_write (datum, Binary2BCD (24)); // zapisati datum 24

Ds1307_write (mjesec, Binary2BCD (4)); // pisanje mjeseca do travnja

Ds1307_write (godina, Binary2BCD (18)); // napiši godinu 18 tj. 2018

Ds1307_write (SQWE, Binary2BCD (frekvencija)); // postavite izlaz SQWE na 1Hz

Ds1307_write (drugi, Binary2BCD (startOscilator)); // resetirajte sekundu na 0sec i pokrenite oscilator

while (readPin (set) == 1);

}

Korak 3: Dizajn u Proteusu

Dizajn u Proteusu
Dizajn u Proteusu

type in proteus isis ti su zahtjevi

1. cloudX

2. DS1307

3. 4,7 k otpornik

4. gumb

5. lm016 LCD

6. kristal od 32khz

i naravno ne zaboravite svoju pozitivnost i tlo.

napravite svoje veze poput mojih.

Preporučeni: