Cuprins:

Ceas digital cu microcontroler (AT89S52 fără circuit RTC): 4 pași (cu imagini)
Ceas digital cu microcontroler (AT89S52 fără circuit RTC): 4 pași (cu imagini)

Video: Ceas digital cu microcontroler (AT89S52 fără circuit RTC): 4 pași (cu imagini)

Video: Ceas digital cu microcontroler (AT89S52 fără circuit RTC): 4 pași (cu imagini)
Video: Разработка электронных часов на базе микроконтроллера AT89C52 для микросхемы часов DS1302 2024, Noiembrie
Anonim
Ceas digital cu microcontroler (AT89S52 fără circuit RTC)
Ceas digital cu microcontroler (AT89S52 fără circuit RTC)
Ceas digital cu microcontroler (AT89S52 fără circuit RTC)
Ceas digital cu microcontroler (AT89S52 fără circuit RTC)

Să descriem un ceas … „Ceasul este un dispozitiv care contează și arată timpul (relativ)” !!!

Bănuiesc că am spus-o corect, așa că permiteți să creați o funcție Ceas cu ALARMĂ.

NOTĂ: va dura 2-3 minute în citire, vă rugăm să citiți întregul proiect sau altfel nu voi fi responsabil pentru nici o pagubă

Pasul 1: COMPONENTE NECESARE

COMPONENTE NECESARE
COMPONENTE NECESARE
COMPONENTE NECESARE
COMPONENTE NECESARE
COMPONENTE NECESARE
COMPONENTE NECESARE

6 componente necesare:

1. Microcontroler (am folosit familia AT89S52-8051), se poate folosi orice microcontroler programabil.

Afișaj de 2,7 segmente

3. Oscilator de cristal (12 MHz)

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

5. LED-uri

6. rezistențe (330 Ohm)

7. buzzer (piezo)

8. comutatoare de apăsare

Și nu includ lipit, sârmă, flux ….. electricitate !!! ajută-mă:)

Pasul 2: Diagrama circuitului

Diagrama circuitului
Diagrama circuitului
Diagrama circuitului
Diagrama circuitului

Aceasta este schema circuitului ceasului digital folosind microcontrolerul 8051.

După cum putem vedea, microcontrolerul este conectat la trei afișaje pe 7 segmente, cu porturi distincte care nu sunt multiplexate, iar ultima cifră a orei este conectată doar la un pin, deoarece arată doar 1.

LED-ul și buzzerul se explică de la sine conform codului.

1 din LED este pentru AM și am conectat un alt LED care nu este prezentat în figura pentru alarmă.

Oscilatorul de cristal de 12 MHz este conectat la viteza de ceas și atinge numărul exact 1secundă folosind proprietatea de întrerupere a microcontrolerului.

LED-urile din mijloc care denotă al doilea sunt conectate la PIN-urile "28 și 32"

Vă rog să mă iertați, 3 LED-uri nu sunt afișate în schema circuitului pentru lenea mea

LED-ul cu 28 de pini: primul clipire de 30 de secunde

LED-ul cu 32 de pini: rămâneți intermitent 30 de secunde

**** contribuind la un minut întreg !! *** Sunt sigur că după acest proiect am aflat că 60 de secunde face un minut !!! WOW

Pasul 3: Codificare

Codificare
Codificare
Codificare
Codificare
Codificare
Codificare

Am folosit software-ul keil pentru a construi un cod C pentru RTC folosind microcontroler și obținerea fișierului hex.

REFERAȚI-VĂ LA PORȚIUNEA DE CODIFICARE PE ASTA, PENTRU A ȘTI MAI MULTE !!

Elementul fundamental în partea de codificare este când pinul fiecărui port va comuta pentru afișarea cifrei aferente fiecărui afișaj de 7 segmente.

Proprietatea de întrerupere 8051 este utilizată pentru numărare și reîncărcare pe secundă. de exemplu numai, la fel ca crearea unei funcții de întârziere cu argumentul 1 care provoacă o întârziere de 1 secundă. (TMOD, TL0, TH0, IE fiecare valoare contribuie la creșterea timpului)

LED-ul pentru AM este programat pentru 12 ore alternative.

De asemenea, alarma poate fi setată și pentru AM sau PM în mod specific, iar pinul sonor este transmis cu codul de frecvență pentru a răsuna la ora alarmei. Butonul de alarmă cu comutatorul min, oră și salvare este utilizat pentru setarea alarmei. Dacă faceți clic de două ori pe alarmă, dezactivează funcția de alarmă

COD: cod C pentru a obține doar ideea (fișierul hex este cel exact al proiectului)

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

Pasul 4: În cele din urmă …

In cele din urma…
In cele din urma…

Totul este gata !!! Acum este timpul să vă bucurați de un ceas luminos și exact.

Recomandat: