Sisällysluettelo:

Digitaalikello mikrokontrollerilla (AT89S52 ilman RTC -piiriä): 4 vaihetta (kuvien kanssa)
Digitaalikello mikrokontrollerilla (AT89S52 ilman RTC -piiriä): 4 vaihetta (kuvien kanssa)

Video: Digitaalikello mikrokontrollerilla (AT89S52 ilman RTC -piiriä): 4 vaihetta (kuvien kanssa)

Video: Digitaalikello mikrokontrollerilla (AT89S52 ilman RTC -piiriä): 4 vaihetta (kuvien kanssa)
Video: Разработка электронных часов на базе микроконтроллера AT89C52 для микросхемы часов DS1302 2024, Kesäkuu
Anonim
Digitaalikello mikrokontrollerilla (AT89S52 ilman RTC -piiriä)
Digitaalikello mikrokontrollerilla (AT89S52 ilman RTC -piiriä)
Digitaalikello mikrokontrollerilla (AT89S52 ilman RTC -piiriä)
Digitaalikello mikrokontrollerilla (AT89S52 ilman RTC -piiriä)

Kuvataan kello… "Kello on laite, joka laskee ja näyttää aikaa (suhteellinen)" !!!

Arvasin, että sanoin oikein, joten tehdään KELLO ALARM -toiminnolla.

HUOMAUTUS: lukeminen kestää 2-3 minuuttia, lue koko projekti tai muuten en ole vastuussa osien vaurioista

Vaihe 1: VAATIVAT KOMPONENTIT

VAATIVAT OSAT
VAATIVAT OSAT
VAATIVAT OSAT
VAATIVAT OSAT
VAATIVAT OSAT
VAATIVAT OSAT

6 komponenttia tarvitaan:

1. Mikro-ohjain (olen käyttänyt AT89S52-8051-perhettä), mitä tahansa ohjelmoitavaa mikro-ohjainta voidaan käyttää.

2.7 segmenttinäyttö

3. kristalli oskillaattori (12MHz)

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

5. LEDit

6. vastukset (330 ohmia)

7. summeri (piezo)

8. push -kytkimet

Ja en sisällä juotinta, lankaa, virtausta….. sähköä !!! auta minua:)

Vaihe 2: Piirikaavio

Piirikaavio
Piirikaavio
Piirikaavio
Piirikaavio

Tämä on 8051 -mikrokontrolleria käyttävän digitaalikellon kytkentäkaavio.

Kuten näemme, mikrokontrolleri on kytketty kolmeen 7 -segmenttiseen näyttöön, joissa ei ole erillisiä portteja, eikä niitä ole multipleksoitu, ja viimeisen tunnin numero on liitetty vain nastaan, koska se näyttää vain 1.

LED ja summeri ovat itsestään selviä koodin mukaan.

1 LEDistä on tarkoitettu AM: lle ja olen liittänyt hälytykseen toisen LEDin, jota ei ole esitetty kuvassa.

12 MHz: n kristallioskillaattori on kytketty kellotaajuuteen ja saavuttaa tarkan 1 sekunnin laskennan käyttämällä mikro -ohjaimen keskeytysominaisuutta.

KESKIEN LEDIT, JOTKA TOISTAVAT, ON KYTKETTY "28. JA 32." PIN -KOODIIN

Anteeksi, 3 LEDiä ei näy piirikaaviossa laiskuuteni vuoksi

28. nastainen LED: ensimmäinen 30 sekunnin vilkkuu

32. nastainen LED: loput 30 sekunnin vilkkuminen

**** myötävaikuttaa koko minuuttiin !! *** Olen varma, että tämän projektin jälkeen sain tietää, että 60 sekuntia tekee minuutin !!! VAU

Vaihe 3: Koodaus

Koodaus
Koodaus
Koodaus
Koodaus
Koodaus
Koodaus

Olen käyttänyt keil -ohjelmistoa CC -koodin rakentamiseen RTC: lle käyttäen mikro -ohjainta ja saamassa heksatiedoston.

KATSO TÄMÄN OSAN KOODOINTI TIETÄÄ LISÄÄ !!

Peruskoodi koodausosassa on, kun kunkin portin nasta vaihtuu näyttämään kuhunkin 7 segmentin näyttöön liittyvä numero.

Keskeytysominaisuutta 8051 käytetään laskemaan ja lataamaan uudelleen sekunnissa. vain esimerkiksi, aivan kuten viivefunktion luominen argumentilla 1, joka aiheuttaa 1 sekunnin viiveen. (TMOD, TL0, TH0, IE jokainen arvo vaikuttaa ajan tekemiseen)

AM -merkkivalo on ohjelmoitu vuorotellen 12 tunniksi.

Hälytyksen lisäksi voidaan asettaa myös AM tai PM erityisesti ja summerin nasta välitetään taajuuskoodin kanssa hälytyshetkellä. Hälytyspainiketta, jossa on min, tunti ja tallennuskytkin, käytetään hälytyksen asettamiseen. Kun hälytys napsautetaan kahdesti, hälytystoiminto poistetaan käytöstä

CODE: C -koodi vain idean saamiseksi (heksatiedosto on tarkka projekti)

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

Vaihe 4: Lopuksi…

Lopuksi…
Lopuksi…

Valmista !!! Nyt on aika nauttia kirkkaasta ja tarkasta kellosta.

Suositeltava: