Turinys:

DS1307 laikrodis su „CloudX“: 4 žingsniai
DS1307 laikrodis su „CloudX“: 4 žingsniai

Video: DS1307 laikrodis su „CloudX“: 4 žingsniai

Video: DS1307 laikrodis su „CloudX“: 4 žingsniai
Video: DS1307 Real Time Clock RTC, Arduino Nano and the Recycled DVD 7 Segment LED Display 2024, Liepa
Anonim
DS1307 laikrodis su „CloudX“
DS1307 laikrodis su „CloudX“
DS1307 laikrodis su „CloudX“
DS1307 laikrodis su „CloudX“

Kada nors įsivaizduokite, kad norite pasigaminti savo individualų laikrodį. sujungus DS1307 ir „CloudX“, jūsų siekiamybė gali būti nesudėtinga

1 veiksmas: atidarykite „CloudX IDE“

Atidarykite „CloudX IDE“
Atidarykite „CloudX IDE“
Atidarykite „CloudX IDE“
Atidarykite „CloudX IDE“

Atsiprašau, nesu daug kalbantis, bet žinau, kai kalbama apie „Real Time Clock“projektus, „CloudX“jus padengė.

Paprasti žingsniai

1. importuokite „cloudX“pagrindinę biblioteką su pasviruoju jos lentos modeliu

2. importuokite DS1307 ir kitą reikalingą funkcinę biblioteką

3. mėgaukitės ir žaiskite su DS1307 pramogomis iš savo bibliotekos

2 veiksmas: KODAS!, KODAS !!, KODAS !

/*

* Failas: main.c * Autorius: Ogboye Godwin * * Sukurta 2018 m. Balandžio 24 d., 11:02 */

#įtraukti

#įtraukti

#įtraukti

nepasirašytas trumpas laikas [9], Mdate [11];

unsigned short mth, Dday, yr, hr, min, sec;

getDateTime ();

loadLcd ();

resetClock ();

int rinkinys = 16;

int inc = 15;

int dec = 14;

sąranka () {

pinMode (rinkinys, Įvestis);

pinMode (įsk., Įvestis);

pinMode (mažėti, INPUT);

pinMode (1, INPUT);

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

Ds1307_init ();

kilpa () {

while (readPin (set) == 0) {

getDateTime ();

loadLcd ();

delaimai (500);

}

if (readPin (set) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (valanda); // val

laikas [0] = BCD2UpperCh (hr);

laikas [1] = BCD2LowerCh (hr);

laikas [2] = ':';

min = Ds1307_read (minutė); // min

laikas [3] = BCD2UpperCh (min);

laikas [4] = BCD2LowerCh (min);

laikas [5] = ':';

sek = Ds1307_read (antra); // sek

laikas [6] = BCD2UpperCh (sek.);

laikas [7] = BCD2LowerCh (sek.);

mth = Ds1307_read (mėnuo); // mėnuo

Mdate [0] = BCD2UpperCh (mth);

Mdate [1] = BCD2LowerCh (mth);

Data [2] = ':';

Diena = Ds1307_read (data); // diena

Mdate [3] = BCD2UpperCh (Dday);

Mdate [4] = BCD2LowerCh (Dday);

Data [5] = ':';

metai = Ds1307_read (metai); // metai

Data [6] = '2';

Data [7] = '0';

Mdate [8] = BCD2UpperCh (m.);

Mdate [9] = BCD2LowerCh (m.);

}

loadLcd () {

int cx;

Lcd_cmd (skaidrus);

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

// lcdWriteTextCP (Mdate);

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

Lcd_writeCP (Mdate [cx]);

Lcd_writeText (2, 1, „Laikas:“);

// lcdWriteTextCP (laikas);

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

Lcd_writeCP (laikas [cx]);

}

resetClock () {

Ds1307_write (antras, dvejetainis2BCD (0)); // rašyti 0 sekundžių

Ds1307_write (minutė, dvejetainis2BCD (12)); // rašyti 12 minučių

Ds1307_write (valanda, dvejetainis2BCD (12)); // rašyti 12 val

Ds1307_write (diena, dvejetainis2BCD (3)); // rašyti dieną antradienį

Ds1307_write (data, dvejetainis2BCD (24)); // parašykite datą 24 -tą

Ds1307_write (mėnuo, dvejetainis2BCD (4)); // rašyti mėnesį iki balandžio

Ds1307_write (metai, dvejetainis2BCD (18)); // rašykite 18 metus, ty 2018 m

Ds1307_write (SQWE, Binary2BCD (dažnis)); // nustatyti SQWE išvestį į 1hz

Ds1307_write (antra, Binary2BCD (startOscilator)); // iš naujo nustatykite 0 sekundžių ir paleiskite oscilatorių

while (readPin (set) == 1);

}

3 žingsnis: kurkite „Proteus“

Dizainas „Proteus“
Dizainas „Proteus“

tipo proteus isis šie reikalavimai

1. debesisX

2. DS1307

3. 4.7k rezistorius

4. mygtukas

5. lm016 LCD

6. 32khz kristalas

ir, žinoma, nepamirškite savo teigiamų dalykų.

užmegzkite tokius ryšius kaip mano.

Rekomenduojamas: