Aceste ceasuri de buzunar neobișnuite pot deveni un cadou original. Indicatorul de timp din ele este construit pe numai șase LED-uri unice. Secretul este că numărul de ore și numărul de minute de ora curentă este afișată de către aceștia sub formă de numere binare, și numai atunci când apăsați butoanele, tot restul ceasului microcontroler „dormit“, iar LED-ul este stins, ceea ce reduce drastic consumul de curent al bateriei de litiu.
Pentru a înțelege ce este un sistem de numere binare, porniți programul "Calculator" disponibil în sistemul de operare Windows. Deoarece aceste programe diferă în diferite versiuni ale sistemului, aici vom lua în considerare cel inclus în Windows XP. După lansarea programului, găsiți în fereastra sa și faceți clic pe butonul "Vizualizare", apoi selectați "Engineering" din lista derulantă. După aceasta, multe alte funcții vor fi adăugate la cele mai vechi funcții simple ale calculatorului, permițându-vă să efectuați calcule complexe. În stânga, sub indicatorul va exista un comutator al sistemului numeric: "Hex" (hexazecimal), "Dec" (zecimal), "Oct" (octal) și "Bin" (binar). Imediat după pornirea programului, acesta se află în poziția "Dec". Aceasta înseamnă că toate datele inițiale pentru calcule și rezultatele acestora vor fi reprezentate în sistemul de numere zecimale obișnuite.
Introduceți exemplul 58, făcând clic pe butoanele numerice corespunzătoare. Dacă acum treceți comutatorul în poziția "Bin", făcând clic pe inscripția corespunzătoare, în fereastra de rezultate numărul 58 va fi schimbat la 111010. Acesta este același număr reprezentat în sistemul binar. Pentru a vedea acest lucru, puteți utiliza un tabel care explică principiul formării numerelor binare și zecimale. Numerele binare, spre deosebire de cifrele zecimale, pot lua doar două valori - 0 și 1. Greutatea biților crește de două ori și nu de 10 ori, ca în sistemul zecimal.
Sistemul binar de calcul este folosit pe scară largă în dispozitivele digitale, deoarece ne permite să facem cu elemente logice simple care disting doar două valori - 0 și 1. Astăzi multe firme produc astfel de ceasuri. Pentru a vedea acest lucru, este suficient să căutați pe Internet expresia "Clock binary".
Dar pentru radioamator este mult mai interesant să nu cumperi, ci să faci un ceas binar cu mâinile tale. În proiectarea propusă, doar trei butoane de control: includerea indicației privind ora curentă, minutele și corecția de timp - setarea exactă a începutului oră. Ceasul este protejat împotriva defecțiunilor cauzate de apăsarea accidentală a butonului de corecție. Acestea sunt construite pe elemente cunoscute și adesea folosite de elementele de radio amatori.
Ceasul este prezentat în Fig. 1. Microcontrolerul PIC16F628A DD1 conduce și îl emite pe LED-uri. Frecvența ceasului de 32768 Hz este stabilizată de rezonatorul cuarț ZQ1 de joasă frecvență. Dispozitivul este alimentat de la un element de litiu G1 CR2032 3 V B. Așa cum se cunoaște, aceste elemente Autodescărcare difera minim și capacitatea de a opera la temperaturi mai scăzute. Condensatorul C1 suprimă impulsurile de înaltă frecvență. Datorită frecvenței joase a ceasului, microcontrolerul consumă un curent mic, ceea ce face posibilă funcționarea ceasului pentru o perioadă îndelungată fără schimbarea bateriei.
Pentru ieșirile microcontrolerului RA0- RA4, RB5, RB6 prin rezistențe de limitare R1-R7 sunt conectate LED-uri HL1-HL7. Șase dintre ele (HL2-HL7) arată timpul, pot afișa numere de la 0 (toate dezactivate) la 63 (toate incluse). Acest lucru vă permite să deduceți numărul de ore de la 0 la 23 și minute de la 0 la 59. Despre LED-uri sunt greutățile biților la care corespund.
Orele sau minutele sunt afișate respectiv cu butoanele SB1 și SB2 conectate la intrările RB0 și RB1 ale microcontrolerului. Deoarece afișajul se aprinde doar câteva secunde, timp în care butonul este menținut în jos, energia bateriei este consumată în mod redus, servind o perioadă lungă de timp. Cu butonul SB3 conectat la intrarea microcontrolerului RB7, timpul este corectat. Acest lucru se va face numai la începutul următoarei ore, deoarece în timpul procesului de reglare se resetează contoarele de minute și secunde.
LED-ul HL1 cu butonul apăsat SB1 sau SB2 clipește în fiecare secundă. Acesta servește ca indicator al activității dispozitivului și face posibilă verificarea funcționabilității acestuia la zero ore sau minute. Dacă nu era acolo, o situație neplăcută ar apărea atunci când butonul este apăsat, nici unul dintre LED-uri nu dă "semne de viață".
Ieșirea 4 a microcontrolerului, care serveste de obicei ca intrare în starea inițială MCLR, este în acest caz configurată ca o intrare discretă convențională RA5. Setarea inițială la pornire se face prin intermediul mijloacelor interne ale microcontrolerului. Pentru a preveni interferențele accidentale, intrarea RA5 este conectată la firul comun. Restul liniilor portului A sunt configurate ca ieșiri.
Linia RB0, RB1, portul RB7 B este configurat ca o intrare și conectarea la rezistențe interne care sprijină pe aceste intrări nivelul ridicat de logica (de la butonul eliberat). Restul liniilor din portul B sunt configurate ca ieșiri. La sfârșitul procedurii de inițializare, programul pornește fiecare LED pentru o secundă. Acest lucru vă permite să evaluați corectitudinea instalării și să vă asigurați că programul funcționează.
Numărul de timp în microcontrolerul DD1 este încorporat în timer T1. Programul îl configurează astfel încât să genereze o solicitare de întrerupere în fiecare secundă. Operatorul de rutină de întrerupere formează în memoria principală a microcontrolerului valoarea timpului curent - secunde, minute și ore.
Operatorul de întrerupere verifică nivelurile logice ale intrărilor RB0, RB1 și RB7 pentru fiecare apel, în funcție de starea butoanelor SB1-SB3. La niveluri scăzute la intrările RB0 sau RB1, sunt afișate orele sau minutele. La un nivel scăzut pe RB7 de intrare, mărturisind SB3 butonul apăsat, și în același timp un nivel scăzut pe una dintre RB0 sau RB1 de intrare un timp de ajustare. Aceasta se face pentru a reduce probabilitatea ca ceasul să nu funcționeze din cauza apăsării accidentale a butonului SB3.
Corectarea timpului se face cu ajutorul butonului SB3. Când este executat, minutele și secundele sunt resetate la zero. În cazul în care minutele au fost mai mici de 30, numărul de ore nu se schimbă, în caz contrar se mărește cu unu. Dacă butonul SB3 este menținut în jos, o unitate va fi adăugată la numărul de ore în fiecare secundă. Acest lucru este necesar pentru setarea inițială a timpului curent după pornire, precum și în timpul tranziției de la timpul de vară la timpul de iarnă și înapoi.
Pentru a afișa secunde în program trebuie să găsească un loc unde este procesat starea butoanelor, și adăugați-l să emită o indicație a valorii stocate în registru contra secunde. Pentru a intra în modul cronometru, va trebui să utilizați un registru suplimentar. Cu două butoane apăsate, conținutul său trebuie să fie mărit cu o unitate în fiecare secundă și afișat. Textul modificat al programului ar trebui tradus în mediul MPLAB, iar fișierul HEX rezultat ar trebui încărcat în memoria microcontrolerului.
Ceasul este colectat pe un fragment de pană, așa cum se arată în Fig. 2. Rezistoarele (pentru montarea pe suprafață) sunt montate pe spatele plăcii. LED-urile FYL-3014SRC pot fi înlocuite cu altele. Pentru a verifica dacă LED-ul este adecvat, conectați-l la o sursă de tensiune de 3 V printr-o rezistență de 390 ohmi și estimați strălucirea luminii.
Condensatoare, rezistențe, butoane - orice mic. Este de dorit ca butonul SB3 să fie prevăzut cu un împingător mai scurt. Capătul său nu trebuie să se ridice deasupra suprafeței ceasului de ceas și chiar să fie înecat pentru a împinge, fiind posibil numai prin orice element ascuțit. Această soluție de design este suplimentară pentru protecția software-ului de apăsarea accidentală a butonului.