Ceasul de pe microcontroler

Ceasul de pe ATTiny2313 microcontroler

Luați în considerare detalii această schemă simplă: Puterea poate fi livrat ca un trei baterii AA și o sursă de alimentare reglementată

ATTiny2313 microcontroler cuarț este cronometrat la 16 MHz. Deoarece contorul de timp în circuitul intern timer-ul microcontroler de 16 biți este utilizat cu un separator 256. Imediat ce contorul intern contează până la 625, realizat de întrerupere. Prin urmare, vom întrerupe apare de 100 de ori pe secundă.

Intervalul de timp este luat în considerare în variabile globale, iar fiecare întrerupere este necesară pentru a crește valoarea unității de milisecunde. Odată ce numărul ajunge la 100 de milisecunde, este necesar să incrementa magnitudinea de secunde, la zero milisecundă. Și așa mai departe, în conformitate cu același algoritm la zeci de ore, care este resetat numai la atingerea valorii de 24, și fără creșterea următoarea descărcare de gestiune.

În conformitate cu acest principiu, creând o valoare de timp curentă înregistrată în variabile globale. Acum, avem nevoie pentru a afișa vizual datele. Deoarece microcontroler are un număr limitat de porturi, utilizarea unei astfel de trăsături ca inerția sa15-11gwa segmente afișaj digital. Catozi indicatorilor săi sunt conectate în paralel, iar anozii sunt controlate separat, care permite în orice moment să-și retragă numărul pe oricare dintre cei patru indicatori.

comutare rapidă a portului microcontroler la care sunt conectate toate catozilor și anozilor fac naveta rapid, creând iluzia afișa toate cele patru cifre pe display segment, cu toate că, de fapt, este doar unul dintre segmentele. Dacă ora curentă este 11:57, prima pentru a deduce cifre primele ore indicator, după 1 ms deduce figura 1 pe al doilea indicator după 1 ms 5 pentru a afișa indicatorul 3, după 1 ms 4 pentru a activa afișajul 7, și așa mai departe actualizarea ciclic fiecare indicator după 1 ms.

Starea comenzilor de ceas sunt eșantionate la sfârșitul fiecărui ciclu de afișaj de aproximativ 40 de ori pe secundă.

Desen PCB făcute în software-ul Sprint Layout și firmware pentru microcontroler descarcati link-ul de mai sus. Despre programare AVR microcontroler și firmware-ul direct pe labirintul, citiți aici.

Ceasul de pe microcontroler PIC16F628A

Acest design, deși pe un alt tip de microcontroler, dar nu mai puțin dificilă decât schema anterioară.

Structural, ceasurile sunt realizate pe două plăci cu circuite imprimate, care sunt situate una lângă alta, la un unghi de 90 de grade. La prima placa este un indicator, iar restul electronicii în al doilea. putere de rezervă ca cel folosit trei baterii plasate în suportul de vechi brichetele chinezești cu LED-uri. Pentru alimentarea de curent alternativ de casă orice sursă de alimentare adecvată 5V și un curent de 150mA.

Ceasul de pe microcontroler

Un ceas mare pe microcontroler Atmega

În acest design, există o corecție de precizie digitală a cursului, precum și un termometru încorporat, care, la rândul său, afișează exact citirile de temperatura de timp pe diploma LED. Design-ul se aplică ore de memorie nevolatilă a microcontroler, setarea sohronyayuschaya și ajustarea chiar și în timpul pierderii puterii externe.

Managementul anozi de LED-uri, switch-uri tranzistor sunt utilizate pentru schema de conectare standard.

Absolut, în toate celulele care dețin plus / minus butoanele pentru a comuta prin instalarea accelerată. Dacă setările sunt modificate de către utilizator, noua valoare este stocată în memoria nevolatilă a microcontrolerului, și va fi citit în 10 secunde. Fyuz cu EEPROM IC sunt setate după cum urmează:

Dispozitiv de performanță extern, puteți aprecia fotografiile de mai jos, proschivka și fișiere suplimentare la proiectarea, puteți descărca un pic mai mare pe link-ul de voință.

Ceasul de pe microcontroler

Ceas, calendar, ceas cu alarmă inteligentă pentru MK

Alarma de EEPROM programele implementate schimbare: 4/5 (patru până la cinci) - 4 zile până la 1 schimburi, de ieșire 1, 4 zile la 2 schimburi, de ieșire 1, 4 din zi la noapte, o ieșire; - zi, noapte, week-end-2; Ziua săptămânii - Luni-Vineri - timpul săptămânii, Sat-Duminica - ieșire; (Sărbătorile nu sunt incluse); Zilnic.

Utilizatorul selecteaza tipul de alarmă și seturi graffika orice timp de răspuns. În exemplele de realizare 4/5 zi și noapte, 2 zile libere - trebuie să alegeți, de asemenea, trecerea de curent.

În plus față de firmware-ul MK următoarele funcții sunt puse în aplicare: Tranziția la vară și de iarnă; reglarea orei; Accelerarea alarma; Afisare cifra zero ore și la data de descărcare

Ceasul de pe microcontroler

Sistemul se bazează pe oră ceas cip DS1307 și MEGA8 microcontroler. Schema (de firmware arhiva MC PCB și desene), concepute pentru a fi utilizate cu șapte segmente afisaje digitale de tensiune anod comun 5V. (NOTĂ:..... Schema de a simplifica rezistențe de balast netrase au nevoie pentru a activa stabilite pentru fiecare segment de indicator total 112 buc Par se calculează în conformitate cu documentația am folosit un segmentara indicatori de tip fys15011 și FYD-5622 Dacă aplicați mai puternic, este probabil nici comutatoare suplimentare tranzistor nu pot face.

PCB desen dezvoltat sub o cutie existentă de ceas vechi rupt. Pe Alarma de conectare (ceas cu alarmă), vă puteți conecta de încărcare consum redus de energie, de exemplu, un card de muzică și săritor JP1 - deconectați beeper-ul intern. Microcontrolerul poate proshivat imediat pe bord, care facilitează setarea în cazul modificării de proiectare.

Setarea ceasului
Pentru a face acest lucru, introduceți modul de setare parametri:
Opțiunea, valoarea este stocată în memorie
P.01 - Ceasuri [-]
P.02 - MINUTE [-]
P.03 - ZIUA [-]
P.04 - LUNA [-]
P.05 - AN [-]
R.06 - alarmă de tip [+] (1-4 / 5, 2-5 / 8, 3-tren program; 4-zi)
P.07 - CUT [+]
P.08 - Bud.1.ChCh [+]
P.09 - Bud.1.MM [+]
P.10 - Bud.2.ChCh [+]
P.11 - Bud.2.MM [+]
P.12 - Bud.3.ChCh [+]
P.13 - Bud.3.MM [+]
P.14 - Corecție (D.CH) [+]
P.15 - Vara / Iarna [+]
P.16 - Accelerarea pagerul [+]
P.17 - Afișaj nesemnificativ la descărcarea de gestiune pm zero, [+]
P.18 - Afișează zero, nesemnificativ în evacuarea [+]

Setarea alarmei: Apăsați butonul On / On Bud. - se efectuează ON / OFF, în care: Atunci când tipul de alarmă 1: Bud.1 - 1 shift; Bud.2 - schimbare; Bud.3 - 3 schimbare;
Modificări Program: 1,2,3,4 - prima schimbare; 5 - ieșire; 6,7,8,9 - a doua schimbare; 10 - ieșire; 11,12,13,14 - 3 schimbare; 15.16 - ieșire; Apoi, zilele se repetă.
În prima alarmă de tip 2: Bud.1 - specifică semnalul de timp; Bud.2, Bud.3 - nu funcționează; schimburi Program: În timpul săptămânii.
Al treilea tip de alarmă: Bud.1 - stabilită în timpul zilei; Bud.2 - setează timpul nopții; Bud.3 - nu funcționează;
Program schimburi - zi, noapte, week-end-2;. Atunci când tipul de alarmă 4 Bud.1, Bud.2, Bud.3- dat timp; Dacă intenționați să utilizați numai un ceas cu alarmă - setați ora trei identice.
În cazul în care programul se schimbă: zilnic. Dacă apăsați butonul Vykl.Bud. în modul de setare a parametrilor - va părăsi configurarea fără a salva.
Ajustare: Cu corecție aplicată următoarea metodă: +/- CH.D unde: W - corectat de numărul de secunde pe oră (max 9). D - corectat de o secundă pe zi. ATENȚIE! Cu reglarea puterii off nu este efectuată. În cazul în care - verifică timpul.

Ceasul de pe microcontroler