Съдържание:

Часовник DS1307 с CloudX: 4 стъпки
Часовник DS1307 с CloudX: 4 стъпки

Видео: Часовник DS1307 с CloudX: 4 стъпки

Видео: Часовник DS1307 с CloudX: 4 стъпки
Видео: 7 проектов. Сборка светодиодного ЖК-будильника с использованием DS1307 и Arduino | Урок 105 2024, Ноември
Anonim
DS1307 Часовник с CloudX
DS1307 Часовник с CloudX
DS1307 Часовник с CloudX
DS1307 Часовник с CloudX

Винаги си представяйте, че искате да направите свой собствен часовник или часовник по поръчка. сливането на DS1307 и CloudX може да направи вашия стремеж безпроблемен

Стъпка 1: Отворете вашата CloudX IDE

Отворете вашата CloudX IDE
Отворете вашата CloudX IDE
Отворете вашата CloudX IDE
Отворете вашата CloudX IDE

За съжаление не съм чак толкова говорещ, но знам, че когато става въпрос за проекти с Часовник в реално време, cloudX ви е покрил.

Прости стъпки

1. импортирайте cloudX основната библиотека с наклонена черта на модела на дъската

2. импортирайте DS1307 и друга необходима функционална библиотека

3. наслаждавайте се и играйте с функциите на DS1307 от неговата библиотека

Стъпка 2: КОД !, КОД !!, КОД !

/*

* Файл: main.c * Автор: Ogboye Godwin * * Създадено на 24 април 2018 г., 11:02 ч. */

#включва

#включва

#включва

кратко време без знак [9], Mdate [11];

без знак кратък mth, Dday, yr, hr, min, sec;

getDateTime ();

loadLcd ();

resetClock ();

int set = 16;

int inc = 15;

int dec = 14;

настройвам(){

pinMode (set, INPUT);

pinMode (inc, INPUT);

pinMode (dec, INPUT);

pinMode (1, INPUT);

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

Ds1307_init ();

loop () {

while (readPin (set) == 0) {

getDateTime ();

loadLcd ();

забавяния (500);

}

if (readPin (set) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (час); // час

време [0] = BCD2UpperCh (час);

време [1] = BCD2LowerCh (час);

време [2] = ':';

min = Ds1307_read (минута); // мин

време [3] = BCD2UpperCh (мин);

време [4] = BCD2LowerCh (мин);

време [5] = ':';

sec = Ds1307_read (second); // сек

време [6] = BCD2UpperCh (сек);

време [7] = BCD2LowerCh (сек);

mth = Ds1307_прочитане (месец); // месец

Mdate [0] = BCD2UpperCh (mth);

Mdate [1] = BCD2LowerCh (mth);

Mdate [2] = ':';

Dday = Ds1307_read (дата); // ден

Mdate [3] = BCD2UpperCh (Dday);

Mdate [4] = BCD2LowerCh (Dday);

Mdate [5] = ':';

yr = Ds1307_read (година); // година

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (yr);

Mdate [9] = BCD2LowerCh (yr);

}

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 (година, Binary2BCD (18)); // напишете година 18 т.е. 2018

Ds1307_write (SQWE, Binary2BCD (честота)); // задаваме SQWE изход на 1hz

Ds1307_write (втори, Binary2BCD (startOscilator)); // нулиране на секунда до 0сек и стартиране на осцилатора

while (readPin (set) == 1);

}

Стъпка 3: Дизайн в Proteus

Дизайн в Proteus
Дизайн в Proteus

type in proteus isis тези изисквания

1. cloudX

2. DS1307

3. 4.7k резистор

4. бутон

5. lm016 LCD

6. кристал от 32khz

и или разбира се, не забравяйте позитива и позицията си.

направете вашите връзки като моите.

Препоръчано: