นาฬิกาดิจิตอลโดยใช้ไมโครคอนโทรลเลอร์ (AT89S52 ไม่มีวงจร RTC): 4 ขั้นตอน (พร้อมรูปภาพ)
นาฬิกาดิจิตอลโดยใช้ไมโครคอนโทรลเลอร์ (AT89S52 ไม่มีวงจร RTC): 4 ขั้นตอน (พร้อมรูปภาพ)
Anonim
นาฬิกาดิจิตอลโดยใช้ไมโครคอนโทรลเลอร์ (AT89S52 ไม่มีวงจร RTC)
นาฬิกาดิจิตอลโดยใช้ไมโครคอนโทรลเลอร์ (AT89S52 ไม่มีวงจร RTC)
นาฬิกาดิจิตอลโดยใช้ไมโครคอนโทรลเลอร์ (AT89S52 ไม่มีวงจร RTC)
นาฬิกาดิจิตอลโดยใช้ไมโครคอนโทรลเลอร์ (AT89S52 ไม่มีวงจร RTC)

มาอธิบายนาฬิกากัน… "นาฬิกาเป็นอุปกรณ์ที่นับและแสดงเวลา (สัมพัทธ์)"!!!

เดาว่าฉันพูดถูกแล้ว มาสร้าง CLOCK พร้อมคุณสมบัติ ALARM กันเถอะ

หมายเหตุ: จะใช้เวลาอ่าน 2-3 นาที โปรดอ่านทั้งโครงการ มิฉะนั้น ฉันจะไม่รับผิดชอบต่อความเสียหายส่วนใด ๆ

ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็น

ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น

6 องค์ประกอบที่จำเป็น:

1. ไมโครคอนโทรลเลอร์ (ฉันใช้ตระกูล AT89S52-8051) สามารถใช้ไมโครคอนโทรลเลอร์ที่ตั้งโปรแกรมได้

2.7 ส่วนแสดงผล

3.คริสตัลออสซิลเลเตอร์ (12MHz)

4.ตัวเก็บประจุ (10uF, 33pF/22pF)

5. LEDs

6.ความต้านทาน (330 โอห์ม)

7.buzzer (เพียโซ)

8.กดสวิตช์

และไม่รวมถึงหัวแร้ง ลวด ฟลักซ์…..ไฟฟ้า !!! ช่วยฉันด้วย:)

ขั้นตอนที่ 2: แผนภาพวงจร

แผนภูมิวงจรรวม
แผนภูมิวงจรรวม
แผนภูมิวงจรรวม
แผนภูมิวงจรรวม

นี่คือแผนภาพวงจรของนาฬิกาดิจิตอลโดยใช้ไมโครคอนโทรลเลอร์ 8051

ดังที่เราเห็นไมโครคอนโทรลเลอร์เชื่อมต่อกับจอแสดงผล 7 เซ็กเมนต์ 3 จอ โดยมีพอร์ตที่แตกต่างกันซึ่งไม่มีมัลติเพล็กซ์ และตัวเลขชั่วโมงสุดท้ายเชื่อมต่อกับพินเท่านั้น เนื่องจากแสดงเพียง 1

LED และออดจะอธิบายตัวเองตามรหัส

LED 1 ดวงเป็นสัญญาณ AM และฉันได้เชื่อมต่อ LED อื่นที่ไม่แสดงในภาพสำหรับการเตือน

Crystal Oscillator ที่ 12MHz เชื่อมต่อกับความเร็วสัญญาณนาฬิกาและได้รับการนับ 1 วินาทีที่แน่นอนโดยใช้คุณสมบัติขัดจังหวะของไมโครคอนโทรลเลอร์

ไฟ LED กลางแสดงวินาทีเชื่อมต่อกับ PIN "28 และ 32"

โปรดให้อภัยฉันด้วย ไฟ LED 3 ดวงไม่แสดงในแผนภาพวงจรเนื่องจากความเกียจคร้านของฉัน

LED พินที่ 28: กะพริบ 30 วินาทีแรก

LED พินที่ 32: พักกะพริบ 30 วินาที

****มีส่วนทำให้ทั้งนาที!!*** หลังทำโปรเจกต์นี้รู้แล้ว 60 วินาที นาทีเดียว!!! ว้าว

ขั้นตอนที่ 3: การเข้ารหัส

การเข้ารหัส
การเข้ารหัส
การเข้ารหัส
การเข้ารหัส
การเข้ารหัส
การเข้ารหัส

ฉันใช้ซอฟต์แวร์ keil เพื่อสร้างรหัส C สำหรับ RTC โดยใช้ไมโครคอนโทรลเลอร์และรับไฟล์ hex

อ้างถึงส่วน CODING ในส่วนนี้เพื่อทราบข้อมูลเพิ่มเติม!!

สิ่งพื้นฐานในส่วนการเข้ารหัสคือ เมื่อพินของแต่ละพอร์ตจะสลับเพื่อแสดงตัวเลขที่เกี่ยวข้องกับจอแสดงผล 7segment แต่ละรายการ

คุณสมบัติขัดจังหวะของ 8051 ใช้เพื่อนับและโหลดซ้ำต่อวินาที ตัวอย่างเช่นเท่านั้น เช่นเดียวกับการสร้างฟังก์ชันการหน่วงเวลาด้วยอาร์กิวเมนต์ 1 ทำให้เกิดความล่าช้า 1 วินาที (TMOD, TL0, TH0, IE ทุกคุณค่ามีส่วนทำให้เวลา)

LED สำหรับ AM ถูกตั้งโปรแกรมไว้เป็นเวลา 12 ชั่วโมง

นอกจากนี้ยังสามารถตั้งค่าการเตือนเป็น AM หรือ PM โดยเฉพาะได้ และขาสัญญาณจะส่งผ่านพร้อมรหัสความถี่เพื่อส่งเสียงเตือนเวลาปลุก ปุ่มนาฬิกาปลุกพร้อมสวิตช์นาที ชั่วโมง และบันทึกใช้สำหรับตั้งค่าการเตือน เมื่อคลิกสองครั้งที่สัญญาณเตือนจะปิดใช้งานคุณสมบัติการเตือน

CODE: รหัส C สำหรับรับแนวคิดเท่านั้น (ไฟล์ฐานสิบหกคือหนึ่งในโปรเจ็กต์)

github.com/abhrodeep/Arduino_projs/blob/master/digitalclock.c

ขั้นตอนที่ 4: ในที่สุด…

ในที่สุด…
ในที่สุด…

ทุกอย่างเสร็จเรียบร้อย !!! ตอนนี้ได้เวลาเพลิดเพลินกับนาฬิกาที่สว่างและแม่นยำแล้ว

แนะนำ: