Мазмуну:

Cloud1 менен DS1307 сааты: 4 кадам
Cloud1 менен DS1307 сааты: 4 кадам

Video: Cloud1 менен DS1307 сааты: 4 кадам

Video: Cloud1 менен DS1307 сааты: 4 кадам
Video: Cloud : зачем он нужен когда есть виртуалка? [Что изучить?] 2024, Июль
Anonim
CloudX менен DS1307 сааты
CloudX менен DS1307 сааты
CloudX менен DS1307 сааты
CloudX менен DS1307 сааты

Өзүңүздүн жеке кол саатыңызды же саатты жасагыңыз келгенин элестетип көрүңүз. DS1307 менен CloudXти бириктирүү сиздин умтулууңузду көйгөйсүз кыла алат

1 -кадам: CloudX IDEиңизди ачыңыз

CloudX IDE ачыңыз
CloudX IDE ачыңыз
CloudX IDE ачыңыз
CloudX IDE ачыңыз

Кечиресиз, мен көп сүйлөбөйм, бирок реалдуу убакыт сааты долбоорлоруна келгенде, cloudX сизди каптады.

Жөнөкөй кадамдар

1. импорт cloudX негизги китепкана, анын такта моделин кыйгач менен

2. DS1307 жана башка функционалдык китепкананы импорттоо

3. китепканасынан DS1307 funtions менен ырахаттануу жана ойноо

2 -кадам: КОД !, КОД !!, КОД !

/*

* Файл: main.c * Автор: Ogboye Godwin * * Түзүлгөн күнү: 24 -апрель, 2018, 11:02 AM */

#кошуу

#кошуу

#кошуу

кол коюлбаган кыска убакыт [9], Mdate [11];

белгисиз кыска mth, Dday, yr, hr, min, sec;

getDateTime ();

loadLcd ();

resetClock ();

int set = 16;

int inc = 15;

int dec = 14;

жайгашуу(){

pinMode (коюлган, INPUT);

pinMode (Inc, INPUT);

pinMode (дек, INPUT);

pinMode (1, INPUT);

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

Ds1307_init ();

цикл () {

while (readPin (set) == 0) {

getDateTime ();

loadLcd ();

delayms (500);

}

if (readPin (set) == 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 (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 чыгарууну 1Гцке коюңуз

Ds1307_write (экинчиси, Binary2BCD (startOscilator)); // секундасын 0секке баштапкы абалга келтирип, осциляторду баштаңыз

while (readPin (set) == 1);

}

3 -кадам: Протеустагы дизайн

Протеустагы дизайн
Протеустагы дизайн

proteus isis бул талаптар бул түрү

1. cloudX

2. DS1307

3. 4.7k каршылык

4. баскычы

5. lm016 ЖК

6. 32 кГц кристалл

жана, албетте, позитивдүү жана негизиңизди унутпаңыз.

байланыштарыңызды мага окшош кылыңыз.

Сунушталууда: