Innholdsfortegnelse:

Digital klokke ved bruk av mikrokontroller (AT89S52 uten RTC -krets): 4 trinn (med bilder)
Digital klokke ved bruk av mikrokontroller (AT89S52 uten RTC -krets): 4 trinn (med bilder)

Video: Digital klokke ved bruk av mikrokontroller (AT89S52 uten RTC -krets): 4 trinn (med bilder)

Video: Digital klokke ved bruk av mikrokontroller (AT89S52 uten RTC -krets): 4 trinn (med bilder)
Video: построить цифровые часы с помощью arduino, sunfounder, arduino project, diy 2024, Juni
Anonim
Digital klokke ved bruk av mikrokontroller (AT89S52 uten RTC -krets)
Digital klokke ved bruk av mikrokontroller (AT89S52 uten RTC -krets)
Digital klokke ved bruk av mikrokontroller (AT89S52 uten RTC -krets)
Digital klokke ved bruk av mikrokontroller (AT89S52 uten RTC -krets)

La oss beskrive en klokke … "Klokke er en enhet som teller og viser tid (relativ)" !!!

Antar at jeg sa det riktig, så la oss lage en CLOCK with ALARM -funksjon.

MERK: det vil ta 2-3 minutter å lese. Les hele prosjektet, ellers vil jeg ikke være ansvarlig for eventuelle skader

Trinn 1: KREVENDE KOMPONENTER

KOMPONENTER KREVET
KOMPONENTER KREVET
KOMPONENTER KREVET
KOMPONENTER KREVET
KOMPONENTER KREVET
KOMPONENTER KREVET

6 komponenter som trengs:

1. Mikrokontroller (jeg har brukt AT89S52-8051 familie), enhver programmerbar mikrokontroller kan brukes.

2,7 segment display

3. krystalloscillator (12MHz)

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

5. lysdioder

6. motstander (330 Ohm)

7. buzzer (piezo)

8. trykkbrytere

Og jeg inkluderer ikke loddejern, wire, flux….. strøm !!! hjelp meg:)

Trinn 2: Kretsdiagram

Kretsdiagram
Kretsdiagram
Kretsdiagram
Kretsdiagram

Dette er kretsdiagrammet til den digitale klokken som bruker 8051 mikrokontroller.

Som vi kan se, er mikrokontrolleren koblet til tre 7 -segmenters display med forskjellige porter som ikke er multiplekset, og det siste timetallet er bare koblet til en pinne, ettersom det bare viser 1.

LED og summer er selvforklarende i henhold til koden.

1 av lysdioden er for AM, og jeg har koblet til en annen lysdiode som ikke er vist i figuren for alarm.

Krystalloscillator på 12 MHz er koblet til klokkehastighet og oppnår den nøyaktige 1 -sekundstellingen ved å bruke avbryteregenskapen til mikrokontrolleren.

MELLOM LEDENE DENOTERENDE ANDRE ER TILKOBLET TIL "28. OG 32." PIN

Unnskyld meg, 3 lysdioder er ikke vist i kretsdiagrammet for min latskap

28. pin LED: første 30 sekund blink

32. pin LED: hvile 30 sekunders blink

**** bidrar til et helt minutt !! *** jeg er sikker på at etter dette prosjektet ble jeg kjent med 60 sekunder gjør et minutt !!! WOW

Trinn 3: Koding

Koding
Koding
Koding
Koding
Koding
Koding

Jeg har brukt keil -programvare for å bygge en C -kode for RTC ved hjelp av mikrokontroller og å få hex -fil.

SE TIL Å KODE PORSJON PÅ DETTE FOR Å VITE MER !!

Det grunnleggende i kodingsdelen er når pinnen på hver port vil veksle for å vise sifferet som er relatert til hvert 7 -segment display.

Interrupt -egenskapen til 8051 brukes til å telle og laste om per sekund. for eksempel bare, Akkurat som å lage en forsinkelsesfunksjon med argument 1 som forårsaker 1 sekund forsinkelse. (TMOD, TL0, TH0, IE hver verdi bidrar til å ta tid)

Lysdioden for AM er programmert for alternative 12 timer.

I tillegg til at alarmen også kan angis for AM eller PM spesielt, og summerpinnen sendes med frekvenskode for å summere alarmtiden. Alarmknapp med min, time og lagre bryter brukes til å stille alarm. Ved to klikk på alarm deaktiveres alarmfunksjonen

KODE: C -kode for bare å få ideen (hex -filen er den nøyaktige i prosjektet)

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

Trinn 4: Endelig …

Endelig…
Endelig…

Ferdig !!! Nå er det på tide å nyte klokken som er lys og nøyaktig.

Anbefalt: