Indholdsfortegnelse:

Digitalt ur ved hjælp af mikrokontroller (AT89S52 uden RTC -kredsløb): 4 trin (med billeder)
Digitalt ur ved hjælp af mikrokontroller (AT89S52 uden RTC -kredsløb): 4 trin (med billeder)

Video: Digitalt ur ved hjælp af mikrokontroller (AT89S52 uden RTC -kredsløb): 4 trin (med billeder)

Video: Digitalt ur ved hjælp af mikrokontroller (AT89S52 uden RTC -kredsløb): 4 trin (med billeder)
Video: Microcontrollers - AVR - Controlling Digital Servos Part 4 2024, September
Anonim
Digitalt ur ved hjælp af mikrokontroller (AT89S52 uden RTC -kredsløb)
Digitalt ur ved hjælp af mikrokontroller (AT89S52 uden RTC -kredsløb)
Digitalt ur ved hjælp af mikrokontroller (AT89S52 uden RTC -kredsløb)
Digitalt ur ved hjælp af mikrokontroller (AT89S52 uden RTC -kredsløb)

Lad os beskrive et ur … "Ur er en enhed, der tæller og viser tid (relativ)" !!!

Gæt jeg sagde det rigtigt, så lad os lave en CLOCK with ALARM -funktion.

BEMÆRK: det vil tage 2-3 minutter at læse, læs hele projektet, ellers er jeg ikke ansvarlig for nogen delskade

Trin 1: KRAVEDE KOMPONENTER

NØDVENDIGE KOMPONENTER
NØDVENDIGE KOMPONENTER
NØDVENDIGE KOMPONENTER
NØDVENDIGE KOMPONENTER
NØDVENDIGE KOMPONENTER
NØDVENDIGE KOMPONENTER

6 komponenter nødvendige:

1. Mikrocontroller (jeg har brugt AT89S52-8051 familie), enhver programmerbar mikrokontroller kan bruges.

2,7 segment display

3. krystaloscillator (12MHz)

4. kondensator (10uF, 33pF/22pF)

5. lysdioder

6. modstande (330 Ohm)

7. buzzer (piezo)

8. trykkontakter

Og jeg inkluderer ikke loddejern, tråd, flux….. elektricitet !!! hjælp mig:)

Trin 2: Kredsløbsdiagram

Kredsløbsdiagram
Kredsløbsdiagram
Kredsløbsdiagram
Kredsløbsdiagram

Dette er kredsløbsdiagrammet for det digitale ur ved hjælp af 8051 mikrokontroller.

Som vi kan se, er mikrokontrolleren forbundet til tre 7 -segmenters display med forskellige porte, der ikke er multiplekset, og det sidste timeciffer er kun forbundet til en pin, da det kun viser 1.

LED og summer summerer sig selv i henhold til koden.

1 på LED'en er til AM, og jeg har tilsluttet en anden LED, der ikke er vist i figuren for alarm.

Krystaloscillator på 12 MHz er forbundet til urets hastighed og opnår den nøjagtige tælling på 1 sekund ved hjælp af mikrokontrollerens interrupt -egenskab.

MIDDELLEDERNE DENOTERENDE ANDEN ER TILSLUTTET TIL "28. OG 32." PIN

Undskyld mig, 3 lysdioder vises ikke i kredsløbsdiagrammet for min dovenskab

28. pin LED: første 30 sekund blink

32. pin LED: hvile 30 sekunders blink

**** bidrager til et helt minut !! *** jeg er sikker på, at efter dette projekt lærte jeg 60 sekunder at lave et minut !!! WOW

Trin 3: Kodning

Kodning
Kodning
Kodning
Kodning
Kodning
Kodning

Jeg har brugt keil -software til at opbygge en C -kode til RTC ved hjælp af mikrokontroller og få hex -fil.

SE TIL AT KODE PORTIONEN PÅ DET FOR AT VIDE MERE !!

Det grundlæggende i kodningsdelen er, når stiften på hver port skifter for at vise cifret relateret til hvert 7segment display.

Interrupt -egenskaben 8051 bruges til at tælle og genindlæse pr. Sekund. for eksempel kun, Ligesom at oprette en forsinkelsesfunktion med argument 1, der forårsager 1 sekunds forsinkelse. (TMOD, TL0, TH0, IE hver værdi bidrager til tidskrævende)

LED'en til AM er programmeret til alternative 12 timer.

Samt alarm kan også indstilles til AM eller PM specifikt, og summernålen sendes med frekvenskode for at buzz på alarmtiden. Alarmknap med min, time og gem switch bruges til at indstille alarm. Ved to klik på alarm deaktiveres alarmfunktionen

KODE: C -kode til kun at få ideen (hex -fil er den nøjagtige i projektet)

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

Trin 4: Endelig …

Endelig…
Endelig…

Helt færdig !!! Nu er det tid til at nyde uret, der er lyst og præcist.

Anbefalede: