Sadržaj:

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

Video: DS1307 Sat sa CloudX -om: 4 koraka

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

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

Korak 1: Otvorite 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 sa satom u stvarnom vremenu, cloudX vas je pokrio.

Jednostavni koraci

1. uvezite cloudX glavnu biblioteku sa kosom crtom svog modela ploče

2. uvezite DS1307 i drugu potrebnu funkcionalnu biblioteku

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. aprila 2018, 11:02 */

#include

#include

#include

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

nepotpisani 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_čitano (minuta); // min

vrijeme [3] = BCD2UpperCh (min);

vrijeme [4] = BCD2LowerCh (min);

vrijeme [5] = ':';

sec = Ds1307_read (second); // sec

vrijeme [6] = BCD2UpperCh (sek);

vrijeme [7] = BCD2LowerCh (sek);

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

Mdate [0] = BCD2UpperCh (mth);

Mdate [1] = BCD2LowerCh (mth);

Mdate [2] = ':';

Ddan = Ds1307_čitano (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 (vreme [cx]);

}

resetClock () {

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

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

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

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

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

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

Ds1307_write (godina, Binary2BCD (18)); // pisati 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 su ovi zahtjevi

1. cloudX

2. DS1307

3. 4.7k otpornik

4. dugme

5. lm016 LCD

6. kristal od 32 kHz

i naravno ne zaboravite svoju pozitivnost i oslonac.

napravite svoje veze poput mojih.

Preporučuje se: