Агуулгын хүснэгт:

CloudX -тэй DS1307 цаг: 4 алхам
CloudX -тэй DS1307 цаг: 4 алхам

Видео: CloudX -тэй DS1307 цаг: 4 алхам

Видео: CloudX -тэй DS1307 цаг: 4 алхам
Видео: Interfacing Bluetooth with segment display 2024, Долдугаар сарын
Anonim
CloudX -тэй DS1307 цаг
CloudX -тэй DS1307 цаг
CloudX -тэй DS1307 цаг
CloudX -тэй DS1307 цаг

Та өөрийн хүссэн цаг, цаг хийхийг хүсч байгаагаа хэзээ ч төсөөлж байгаагүй. 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 оны 4 -р сарын 24 -ний өдрийн 11:02 цагт үүсгэгдсэн */

#оруулах

#оруулах

#оруулах

гарын үсэг зураагүй богино хугацаанд [9], Mdate [11];

гарын үсэггүй богино mth, Dday, yr, hr, min, sec;

getDateTime ();

loadLcd ();

resetClock ();

int багц = 16;

int inc = 15;

int dec = 14;

тохируулах(){

pinMode (тохируулах, оруулах);

pinMode (оруулах, оруулах);

pinMode (dec, INPUT);

pinMode (1, INPUT);

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

Ds1307_init ();

давталт () {

while (readPin (set) == 0) {

getDateTime ();

loadLcd ();

саатал (500);

}

if (readPin (set) == 1)

resetClock ();

}

}

getDateTime () {

цаг = Ds1307_ унших (цаг); // цаг

цаг [0] = BCD2UpperCh (цаг);

цаг [1] = BCD2LowerCh (цаг);

цаг [2] = ':';

мин = Ds1307_ унших (минут); // мин

цаг [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_ уншсан (жил); // жил

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (жил);

Mdate [9] = BCD2LowerCh (жил);

}

loadLcd () {

int cx;

Lcd_cmd (тодорхой);

Lcd_writeText (1, 1, "Огноо:");

// lcdWriteTextCP (Mdate);

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

Lcd_writeCP (Mdate [cx]);

Lcd_writeText (2, 1, "Цаг:");

// lcdWriteTextCP (цаг);

for (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)); // 4 -р сар хүртэл сар бич

Ds1307_write (он, Binary2BCD (18)); // 18 оныг бич, өөрөөр хэлбэл 2018 он

Ds1307_write (SQWE, Binary2BCD (давтамж)); // SQWE гаралтыг 1 Гц болгож тохируулна уу

Ds1307_write (хоёрдугаарт, Binary2BCD (startOscilator)); // секундыг 0сек болгон дахин тохируулж осциляторыг эхлүүлнэ

while (readPin (set) == 1);

}

Алхам 3: Proteus дахь дизайн

Proteus дахь дизайн
Proteus дахь дизайн

Протеусыг бичих нь эдгээр шаардлагууд юм

1. cloudX

2. DS1307

3. 4.7k эсэргүүцэл

4. товчлуур

5. lm016 LCD дэлгэц

6. 32 кГц -ийн болор

Мэдээжийн хэрэг, эерэг, үндэслэлээ бүү мартаарай.

над шиг холболтоо хий.

Зөвлөмж болгож буй: