Indicator Avr cu șapte segmente

Astăzi vom studia modul în care indicatorul LED cu șapte segmente poate fi controlat cu microcontrolerul Atmega8a. Proiectul va crea la fel de bine ca de obicei, suna-l Test05, scoateți totul de la main.c și copiați conținutul într-un fișier cu același nume de la ultimul proiect de clasă, de asemenea, înființat simulatorul ca un programator. Pentru a verifica dacă totul este normal în proiect, să încercăm să-l colectăm. Ca și în sesiunile anterioare, copiem și redenumim fișierul proteusului, în proprietățile controlerului, vom arăta calea spre firmware.







Eliminați toate LED-urile, deoarece acestea nu vor fi necesare și vom găsi în bibliotecă un indicator LED cu șapte segmente cu un anod comun. Și cu un anod comun, luăm pentru că sunt mai frecvente și, de asemenea, pentru că o am

Indicator Avr cu șapte segmente

Conectăm anodul comun la magistrala de alimentare. Și la noi segmente vor străluci, prin urmare, în cazul în care pe o picior corespunzătoare unui port va fi o tensiune scăzută, și atunci când mare - nu va fi. Aici pe această bază vom scrie codul nostru. Conectați-l astfel

Indicator Avr cu șapte segmente

Ei bine, înainte de a scrie orice cod, să vedem ce reprezintă acest indicator și unde și ce segment are (este obișnuit să desemneze segmente în litere latine)

Indicator Avr cu șapte segmente






Prin urmare, pentru a face mai ușor aceste segmente să gestioneze și să afișeze anumite numere sau simboluri cu strălucirea lor, le vom alătura în ordine - cu piciorul D0. b - cu D1 și așa mai departe în ordine și ne vom imagina constant în mintea noastră ce număr binar

PORTD = 0b00000000; // 1 2 3 4 5 6 7 8

Butonul de manipulare a butoanelor pe care îl atingem până când o vom face, ar putea fi totuși util pentru noi și, prin urmare, nu vom strica proiectul.

Adăugați următorul cod în buclă infinită, făcând posibilă afișarea unei noi cifre după 500 de milisecunde, utilizând funcția de întârziere

În cod, vedem că de fiecare dată adăugăm noi valori portului, care corespund unei anumite combinații de segmente strălucitoare. În cazul în care zero - acolo segmentul este aprins, în cazul în care unitatea nu este.

Și noi, dimpotrivă, vom străluci unitățile. Toate acestea se realizează prin operația de inversiune. În ceea ce privește optimizarea este mai bine pentru a face toate la fel, în primul exemplu de realizare, dar de atunci ne grăbim, suntem puțin în același timp, să repete încă o dată materialul acoperit de operațiile logice, deoarece acestea vor avea nevoie de noi continuu.

Vom colecta codul și îl vom verifica mai întâi în proteus

Indicator Avr cu șapte segmente

Codul nostru funcționează bine. Să vedem acum controlerul și indicatorul live. Pentru aceasta, am luat același model și am colectat totul pe el, combinându-l cu tabela de depanare. Fiecare indicator separat are o schemă proprie. La mine este aici:

Indicator Avr cu șapte segmente

Programatorul și indicatorii pot fi achiziționați aici:

Programatorul (vânzătorul este de încredere) USBASP USBISP 2.0

Indicator roșu cu o singură cifră, cu șapte segmente, cu anod comun 10 buc.

Indicator Avr cu șapte segmente







Articole similare

Trimiteți-le prietenilor: