สารบัญ:

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

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

วีดีโอ: นาฬิกาดิจิตอลโดยใช้ไมโครคอนโทรลเลอร์ (AT89S52 ไม่มีวงจร RTC): 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Digital Stopwatch Using 8051 microcontroller(AT89S52) and 4 digit 7 segment display. 2024, พฤศจิกายน
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: ในที่สุด…

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

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

แนะนำ: