สารบัญ:

DS1307 Clock พร้อม CloudX: 4 ขั้นตอน
DS1307 Clock พร้อม CloudX: 4 ขั้นตอน

วีดีโอ: DS1307 Clock พร้อม CloudX: 4 ขั้นตอน

วีดีโอ: DS1307 Clock พร้อม CloudX: 4 ขั้นตอน
วีดีโอ: Interfacing Bluetooth with segment display 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: CODE!, CODE!!, CODE!!

/*

* ไฟล์: main.c * ผู้แต่ง: Ogboye Godwin * * สร้างเมื่อ 24 เมษายน 2018, 11:02 น. */

#รวม

#รวม

#รวม

เวลาสั้นที่ไม่ได้ลงนาม[9], Mdate[11];

mth สั้นที่ไม่ได้ลงนาม, Dday, yr, hr, min, sec;

getDateTime();

loadLcd();

รีเซ็ตนาฬิกา ();

ชุด int=16;

int inc=15;

int ธ.ค.=14;

ติดตั้ง(){

pinMode(ตั้งค่า, INPUT);

โหมดพิน (inc, INPUT);

pinMode(ธันวาคม, INPUT);

โหมดพิน (1, อินพุต);

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

Ds1307_init();

วน (){

ในขณะที่ (readPin (ชุด)==0){

getDateTime();

loadLcd();

ความล่าช้า (500);

}

ถ้า(readPin(ชุด)==1)

รีเซ็ตนาฬิกา ();

}

}

getDateTime(){

ชม=Ds1307_read(ชั่วโมง); //ชม

เวลา[0] = BCD2UpperCh(ชม.);

เวลา [1] = BCD2LowerCh(ชม.);

เวลา [2] = ':';

min=Ds1307_read(นาที); //นาที

เวลา[3] = BCD2UpperCh(นาที);

เวลา[4] = BCD2LowerCh(นาที);

เวลา[5] = ':';

วินาที=Ds1307_read(วินาที); //วินาที

เวลา[6] = BCD2UpperCh(วินาที);

เวลา[7] = BCD2LowerCh(วินาที);

mth=Ds1307_read(เดือน); //เดือน

Mdate[0] = BCD2UpperCh(เดือน);

Mdate[1] = BCD2LowerCh(mth);

Mdate[2] = ':';

Dday=Ds1307_read(วันที่); //วัน

Mdate[3] = BCD2UpperCh(Dday);

Mdate[4] = BCD2LowerCh(Dday);

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);

สำหรับ(cx=0;cx<11; cx++)

Lcd_writeCP(Mdate[cx]);

Lcd_writeText(2, 1, "เวลา:");

//lcdWriteTextCP(เวลา);

สำหรับ(cx=0;cx<9; cx++)

Lcd_writeCP(เวลา[cx]);

}

รีเซ็ตนาฬิกา (){

Ds1307_write(วินาที, Binary2BCD(0)); //เขียน 0 วินาที

Ds1307_write(นาที, Binary2BCD(12));//เขียน 12 นาที

Ds1307_write(ชั่วโมง, Binary2BCD(12)); // เขียน 12hrs

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 วินาทีแล้วเริ่ม oscilator

ในขณะที่(readPin(ชุด)==1);

}

ขั้นตอนที่ 3: ออกแบบใน Proteus

การออกแบบในโพรทูส
การออกแบบในโพรทูส

พิมพ์ proteus isis ข้อกำหนดเหล่านี้

1. cloudX

2. DS1307

3. ตัวต้านทาน 4.7k

4. ปุ่ม

5. lm016 LCD

6. คริสตัล 32khz

และหรือแน่นอนอย่าลืมบวกและพื้นดินของคุณ

ทำให้การเชื่อมต่อของคุณเหมือนของฉัน

แนะนำ: