جدول المحتويات:

DS1307 ساعة مع CloudX: 4 خطوات
DS1307 ساعة مع CloudX: 4 خطوات

فيديو: DS1307 ساعة مع CloudX: 4 خطوات

فيديو: DS1307 ساعة مع CloudX: 4 خطوات
فيديو: How to use the DS1307 Real Time Clock RTC with Arduino code 2024, شهر نوفمبر
Anonim
DS1307 ساعة مع CloudX
DS1307 ساعة مع CloudX
DS1307 ساعة مع CloudX
DS1307 ساعة مع CloudX

تخيلت يومًا أنك تريد صنع ساعتك أو ساعتك المخصصة. يمكن أن يؤدي دمج DS1307 و CloudX إلى جعل طموحك خاليًا من المتاعب

الخطوة 1: افتح IDE الخاص بـ CloudX

افتح IDE الخاص بـ CloudX
افتح IDE الخاص بـ CloudX
افتح IDE الخاص بـ CloudX
افتح IDE الخاص بـ CloudX

آسف لست متحدثًا كثيرًا ، لكنني أعلم أنه عندما يتعلق الأمر بمشاريع Real Time Clock ، فإن CloudX قد جعلك مغطى.

خطوات بسيطة

1. استيراد مكتبة cloudX الرئيسية بقطع نموذج اللوحة

2. استيراد DS1307 والمكتبة الوظيفية الأخرى اللازمة

3. استمتع واللعب مع funtions DS1307 من مكتبتها

الخطوة 2: CODE !، CODE !! ، CODE !

/*

* ملف: main.c * المؤلف: Ogboye Godwin * * تم إنشاؤه في 24 أبريل 2018 ، 11:02 ص * /

#يشمل

#يشمل

#يشمل

وقت قصير بدون توقيع [9] ، Mdate [11] ؛

شهر قصير بدون توقيع ، يوم ، سنة ، ساعة ، دقيقة ، ثانية ؛

getDateTime () ،

loadLcd () ؛

resetClock () ،

مجموعة int = 16 ؛

int inc = 15 ؛

كثافة العمليات ديسمبر = 14 ؛

اقامة(){

pinMode (مجموعة ، الإدخال) ؛

pinMode (المؤتمر الوطني العراقي ، المدخلات) ؛

pinMode (ديسمبر ، الإدخال) ؛

pinMode (1 ، الإدخال) ؛

Lcd_setting (2 ، 3 ، 4 ، 5 ، 6 ، 7) ؛

Ds1307_init () ،

حلقة(){

بينما (readPin (مجموعة) == 0) {

getDateTime () ،

loadLcd () ؛

تأخير (500) ؛

}

إذا (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] = ':'؛

yr = Ds1307_read (سنة) ؛ //عام

Mdate [6] = '2' ،

Mdate [7] = '0' ،

Mdate [8] = BCD2UpperCh (سنة) ؛

Mdate [9] = BCD2LowerCh (سنة) ؛

}

loadLcd () {

int cx

Lcd_cmd (مسح) ؛

Lcd_writeText (1، 1، "Date:") ؛

// lcdWriteTextCP (Mdate) ؛

لـ (cx = 0 ؛ cx <11 ؛ cx ++)

Lcd_writeCP (Mdate [cx]) ،

Lcd_writeText (2، 1، "Time:") ؛

// 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 ثانية وابدأ المذبذب

بينما (readPin (مجموعة) == 1) ؛

}

الخطوة 3: التصميم في Proteus

التصميم في Proteus
التصميم في Proteus

اكتب في بروتين isis هذه المتطلبات

1. cloudX

2. DS1307

3. 4.7 كيلو المقاوم

4. زر

5. lm016 شاشات الكريستال السائل

6. بلورة 32 كيلو هرتز

و أو بالطبع لا تنسى الإيجابية والأرضية.

اجعل اتصالاتك مثل اتصالاتي.

موصى به: