Kazalo:

Ura DS1307 z CloudX: 4 koraki
Ura DS1307 z CloudX: 4 koraki

Video: Ura DS1307 z CloudX: 4 koraki

Video: Ura DS1307 z CloudX: 4 koraki
Video: 12 Hour Alarm Clock With RTC Module | Arduino Oled Display Alarm Clock Using DS1307 RTC & DS3231 RTC 2024, November
Anonim
Ura DS1307 z CloudX
Ura DS1307 z CloudX
Ura DS1307 z CloudX
Ura DS1307 z CloudX

Si kdaj predstavljate, da želite izdelati svojo uro ali uro po meri. z združitvijo DS1307 in CloudX lahko vaše hrepenenje brez težav

1. korak: Odprite IDE CloudX

Odprite IDE CloudX
Odprite IDE CloudX
Odprite IDE CloudX
Odprite IDE CloudX

Žal nisem ravno govornik, vendar vem, da ko gre za projekte ure v realnem času, vas je cloudX pokril.

Preprosti koraki

1. Uvozi glavno knjižnico cloudX s poševnico njenega modela plošče

2. uvozite DS1307 in drugo potrebno funkcionalno knjižnico

3. uživajte in se igrajte s funkcijami DS1307 iz njegove knjižnice

2. korak: KODA !, KODA !!, KODA !!

/*

* Datoteka: main.c * Avtor: Ogboye Godwin * * Ustvarjeno 24. aprila 2018, 11:02 */

#vključi

#vključi

#vključi

podpisan kratek čas [9], Mdate [11];

nepodpisani kratek mth, Dday, yr, hr, min, sec;

getDateTime ();

loadLcd ();

resetClock ();

int set = 16;

int inc = 15;

int dec = 14;

nastaviti(){

pinMode (nastavljeno, VHOD);

pinMode (inc, INPUT);

pinMode (dec, INPUT);

pinMode (1, INPUT);

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

Ds1307_init ();

zanka () {

medtem ko (readPin (set) == 0) {

getDateTime ();

loadLcd ();

zamude (500);

}

if (readPin (set) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_preberite (ura); // hr

čas [0] = BCD2UpperCh (h);

čas [1] = BCD2LowerCh (h);

čas [2] = ':';

min = Ds1307_preberite (minuta); // min

čas [3] = BCD2UpperCh (min);

čas [4] = BCD2LowerCh (min);

čas [5] = ':';

sec = Ds1307_read (drugo); // sek

čas [6] = BCD2UpperCh (sek);

čas [7] = BCD2LowerCh (sek);

mth = Ds1307_preberite (mesec); // mesec

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] = ':';

letnik = Ds1307_preberite (leto); // leto

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (leto);

Mdate [9] = BCD2LowerCh (leto);

}

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, "Čas:");

// lcdWriteTextCP (čas);

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

Lcd_writeCP (čas [cx]);

}

resetClock () {

Ds1307_write (drugi, Binary2BCD (0)); // napiši 0 sekundo

Ds1307_write (minuta, Binary2BCD (12)); // pisanje 12 minut

Ds1307_write (ura, Binary2BCD (12)); // piše 12 ur

Ds1307_write (dan, Binary2BCD (3)); // napiši dan v torek

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

Ds1307_write (mesec, Binary2BCD (4)); // pisanje meseca do aprila

Ds1307_write (leto, Binary2BCD (18)); // napišite leto 18, torej 2018

Ds1307_write (SQWE, Binary2BCD (frekvenca)); // nastavimo izhod SQWE na 1Hz

Ds1307_write (drugi, Binary2BCD (startOscilator)); // ponastavimo sekundo na 0sec in zaženemo oscilator

medtem ko (readPin (set) == 1);

}

3. korak: Oblikovanje v Proteusu

Oblikovanje v Proteusu
Oblikovanje v Proteusu

type in proteus isis so te zahteve

1. cloudX

2. DS1307

3. 4,7 k upor

4. gumb

5. lm016 LCD

6. kristal 32kHz

in ali seveda ne pozabite na svojo pozitivo in podlago.

naj bodo vaše povezave podobne mojim.

Priporočena: