Სარჩევი:

DS1307 საათი CloudX– ით: 4 ნაბიჯი
DS1307 საათი CloudX– ით: 4 ნაბიჯი

ვიდეო: DS1307 საათი CloudX– ით: 4 ნაბიჯი

ვიდეო: DS1307 საათი CloudX– ით: 4 ნაბიჯი
ვიდეო: FLProg7: რეალური დროის საათი და ტემპერატურა | ESP32 NodeMCU | ვიზუალური ჩაშენებული პროგრამირება 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 * * შექმნილია 2018 წლის 24 აპრილს, 11:02 AM */

#ჩართეთ

#ჩართეთ

#ჩართეთ

ხელმოუწერელი მოკლე დრო [9], Mdate [11];

ხელმოუწერელი მოკლე mth, Dday, yr, hr, min, sec;

getDateTime ();

loadLcd ();

resetClock ();

int კომპლექტი = 16;

int inc = 15;

int dec = 14;

აწყობა(){

pinMode (მითითებული, INPUT);

pinMode (ჩათვლით, INPUT);

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 (მითითებული) == 1)

resetClock ();

}

}

getDateTime () {

სთ = Ds1307_ კითხვა (საათი); // სთ

დრო [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_read (წელი); // წელი

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 (საათი, ორობითი 2BCD (12)); // დაწერე 12 სთ

Ds1307_write (დღე, ორობითი 2BCD (3)); // დაწერე დღე სამშაბათი

Ds1307_write (თარიღი, ორობითი 2BCD (24)); // დაწერეთ თარიღი 24 -ე

Ds1307_write (თვე, Binary2BCD (4)); // დაწერე თვე აპრილამდე

Ds1307_write (წელი, Binary2BCD (18)); // დაწერე წელი 18 ანუ 2018 წ

Ds1307_write (SQWE, Binary2BCD (სიხშირე)); // დააყენეთ SQWE გამომავალი 1 ჰც

Ds1307_write (მეორე, Binary2BCD (startOscilator)); // გადააყენეთ მეორე 0 წამი და ჩართეთ ოსცილატორი

ხოლო (readPin (მითითებული) == 1);

}

ნაბიჯი 3: დიზაინი პროტეუსში

დიზაინი პროტეუსში
დიზაინი პროტეუსში

ტიპი proteus is ეს მოთხოვნები

1. ღრუბელი X

2. DS1307

3. 4.7k რეზისტორი

4. ღილაკი

5. lm016 LCD

6. 32 კჰც კრისტალი

და, რა თქმა უნდა, არ დაივიწყოთ თქვენი დადებითი და საფუძველი.

დაამყარე შენი კავშირები ჩემნაირი.

გირჩევთ: