Բովանդակություն:

DS1307 ockամացույց CloudX- ով ՝ 4 քայլ
DS1307 ockամացույց CloudX- ով ՝ 4 քայլ

Video: DS1307 ockամացույց CloudX- ով ՝ 4 քայլ

Video: DS1307 ockամացույց CloudX- ով ՝ 4 քայլ
Video: Ардуино и часы реального времени (RTC) DS1307 2024, Նոյեմբեր
Anonim
DS1307 ockամացույց CloudX- ով
DS1307 ockամացույց CloudX- ով
DS1307 ockամացույց CloudX- ով
DS1307 ockամացույց CloudX- ով

Երբևէ պատկերացրե՞լ եք, որ ցանկանում եք պատրաստել ձեր սեփական ժամացույցը կամ ժամացույցը: DS1307- ի և CloudX- ի միաձուլումը կարող է ձեր ձգտումը դարձնել առանց խնդիրների

Քայլ 1: Բացեք ձեր CloudX IDE- ն

Բացեք ձեր CloudX IDE- ն
Բացեք ձեր CloudX IDE- ն
Բացեք ձեր CloudX IDE- ն
Բացեք ձեր CloudX IDE- ն

Կներեք, որ ես շատ խոսող չեմ, բայց ես գիտեմ, երբ խոսքը վերաբերում է Real Time Clock նախագծերին, cloudX- ը ձեզ ծածկել է:

Պարզ քայլեր

1. ներմուծեք cloudX- ի հիմնական գրադարանը `դրա տախտակի մոդելը կտրատելով

2. ներմուծեք DS1307- ը և անհրաժեշտ այլ ֆունկցիոնալ գրադարանը

3. վայելեք և խաղացեք նրա գրադարանից DS1307 գործառույթների հետ

Քայլ 2: ԿՈԴ !, ԿՈԴ !!, ԿՈԴ !

/*

* Պատկեր ՝ main.c * Հեղինակ ՝ Ogboye Godwin * * Ստեղծվել է 2018 թվականի ապրիլի 24 -ին, 11:02 AM */

#ներառում

#ներառում

#ներառում

անստորագիր կարճ ժամանակ [9], Mdate [11];

անստորագիր կարճ ամիս, օր, տարի, ժամ, րոպե, վրկ;

getDateTime ();

loadLcd ();

resetClock ();

int հավաքածու = 16;

int inc = 15;

int dec = 14;

կարգավորում () {

pinMode (սահմանել, INPUT);

pinMode (ներառյալ, INPUT);

pinMode (դեկ, Մուտք);

pinMode (1, Մուտք);

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

Ds1307_init ();

հանգույց () {

while (readPin (սահմանել) == 0) {

getDateTime ();

loadLcd ();

հետաձգումներ (500);

}

if (readPin (սահմանել) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (ժամ); // ժամ

ժամանակ [0] = BCD2UpperCh (ժամ);

ժամանակ [1] = BCD2LowerCh (ժամ);

ժամանակ [2] = ':';

րոպե = Ds1307_read (րոպե); // րոպե

ժամանակ [3] = BCD2UpperCh (րոպե);

ժամանակ [4] = BCD2LowerCh (րոպե);

ժամանակ [5] = ':';

վրկ = Ds1307_read (երկրորդ); // վրկ

ժամանակ [6] = BCD2UpperCh (վրկ);

ժամանակ [7] = BCD2LowerCh (վրկ);

mth = Ds1307_read (ամիս); // ամիս

Mdate [0] = BCD2UpperCh (ամիս);

Mdate [1] = BCD2LowerCh (ամիս);

Mdate [2] = ':';

Օր = Ds1307_read (ամսաթիվ); // օր

Mdate [3] = BCD2UpperCh (օր);

Mdate [4] = BCD2LowerCh (օր);

Mdate [5] = ':';

տարի = Ds1307_ կարդալ (տարի); // տարի

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (տարի);

Mdate [9] = BCD2LowerCh (տարի);

}

loadLcd () {

int cx;

Lcd_cmd (պարզ);

Lcd_writeText (1, 1, "Ամսաթիվ.");

// lcdWriteTextCP (Mdate);

համար (cx = 0; cx <11; cx ++)

Lcd_writeCP (Mdate [cx]);

Lcd_writeText (2, 1, «:ամանակը»);

// lcdWriteTextCP (ժամանակը);

համար (cx = 0; cx <9; cx ++)

Lcd_writeCP (ժամանակը [cx]);

}

resetClock () {

Ds1307_write (երկրորդ, Binary2BCD (0)); // գրել 0 վայրկյան

Ds1307_write (րոպե, Binary2BCD (12)); // գրել 12 րոպե

Ds1307_write (ժամ, Binary2BCD (12)); // գրել 12 ժամ

Ds1307_write (օր, Binary2BCD (3)); // գրել երեքշաբթի օրը

Ds1307_write (ամսաթիվ, Binary2BCD (24)); // գրել ամսաթիվ 24 -ը

Ds1307_write (ամիս, Binary2BCD (4)); // գրել ամիս մինչև ապրիլ

Ds1307_write (տարի, Երկուական 2BCD (18)); // գրել 18 տարին, այսինքն ՝ 2018 թ

Ds1307_write (SQWE, Binary2BCD (հաճախականություն)); // սահմանել SQWE ելքը 1 հց

Ds1307_write (երկրորդ, Binary2BCD (startOscilator)); // երկրորդը զրոյացնել 0 վայրկյանում և սկսել օսկիլատորը

while (readPin (սահմանել) == 1);

}

Քայլ 3. Նախագծում Proteus- ում

Դիզայնը Proteus- ում
Դիզայնը Proteus- ում

այս պահանջների տեսակը proteus isis է

1. ամպ x

2. DS1307

3. 4.7k դիմադրություն

4. կոճակ

5. lm016 LCD

6. 32 կՀց բյուրեղ

և, իհարկե, մի մոռացեք ձեր դրականի և հիմքի մասին:

ձեր կապերը դարձրեք իմի պես:

Խորհուրդ ենք տալիս: