laborator de electronica si programare

copie

if ($ this-> show_pages_images $ PAGE_NUM doc [ 'images_node_id']) // $ Foarfecă = Library :: get_smart_snippet ($ text, DocShare_Docs :: CHARS_LIMIT_PAGE_IMAGE_TITLE); $ Snips = Library :: get_text_chunks ($ text, 4); ?>

4 înregistrează o logică port "1" de ieșire configurat pentru ieșire, atunci când "0" - intrare [1]. Astfel, putem scrie programul: // inițializarea portul C DDRC = 0x03; // 0 și 1 biți la ieșire cu ajutorul acestui operator set biții 0 și 1 port C, care sunt conectate la LED-urile la ieșire. Că necesare logice „0“ și „1“ au apărut deja pe PC0 pini microcontroler și PC1, acestea trebuie să fie scrise într-un registru special de ieșire, care este asociat cu concluziile. În acest caz, PORTC [1]: PORTC = 0x00; // LED-urile off Folosind acest operator 0 este înregistrat în toate portul de descărcare C. Rețineți că, în aceste exemple, datele sunt înregistrate direct în toate cele 8 biți de port. Pentru a stabili o valoare dorită a descărcării, există comandă specială [2], cu referire la lecția Exemplu: PORTC = _BV (VD1); // set bit VD1 în portul PORTC PORTC =

(_BV (VD2)); // reseta biții VD2 în port PORTC în program la C, cu excepția celor deja considerate directive și operatori există funcții. De obicei, acesta este un set de instrucțiuni pentru a îndeplini o sarcină specifică. Programul ar trebui să fie întotdeauna sigur că așa-numita principală funcție principală. Restul caracteristicilor sunt adăugate după cum este necesar. int main (void) <Записывается она следующим образом:> In interiorul parantezelor sunt operatori introduse și directivele. Directivele pot fi localizate în afara funcției. În principiu, toate gata pentru a scrie programul de control pentru LED-uri. Se va arăta în felul următor: #include // #define descriere VD1 microcontrolerului înregistrează 0 // declara nume pentru LED-uri #define VD2 1

5 int main (void)

(_BV (VD2)); // reseta bitul VD2 din portc portul> // fixație în timp ce programul (1) <>; Acest program include și dezactiva LED-ul VD1 VD2. Deoarece inițializarea au fost ambele LED-uri off, în mod oficial off VD2 și VD2 este necesară linie de biți de resetare nu se poate scrie. Dacă observați, LED-urile sunt oprite înainte de portul este configurat pentru ieșire (setare valori zero în PORTC se face pentru a ajusta direcția portului DDRC). Acest lucru se face de obicei pentru a evita semnalele de comutare nedorite la terminalele la comutarea portului la locul de muncă „ca intrare“ la locul de muncă „ca o cale de ieșire.“ Explicații necesită, de asemenea, operatorul: // fixație în timp ce programul (1) <>; Acest ciclu de declarație. În această aplicație, efectuăm bucla gol fără sfârșit. Ie ruleaza microcontroler, dar nici o acțiune concretă este luată. Adăugarea de această afirmație este necesar pentru tine pentru a vedea cum luminile LED. Pentru a testa programul, a crea un nou proiect în mediul de dezvoltare. [3] Introdu-l programul de mai sus. exemplu de fișier este în cerere. Compile proiectul cu construirea de hex-fișier (Build Team). Rezultând în fișierul rezultate.hex este un program în cod mașină care poate „coase“ în microcontroler. Programul de la programarea microcontroler c folosind programul de lucru existent și verificați pe aspectul. De asemenea, a verifica funcționarea se poate face în depanator. SIGURANTELE Atunci când programarea unui microcontroler, un tip de oscilator cu cuarț.

6 Pentru materialul de auto-învățare, răspunde la întrebări și de a rezolva problema: 1. Care sunt obiectele este un program C? 2. Ce orientări știi? 3. Ce funcție ar trebui să fie prezent în program? 4. Scrierea și funcționarea test pe structura programului, care se aprinde VD2 LED și VD1 - nr. 5. Scrierea și test pe un program de performanță model care se aprinde ambele LED-uri (VD1 și VD2). Pentru a fi continuat. Referințe și link-uri 1. Foaie de date ATmega16A. Atmel Corporation. 2. WinAVR TM. 3. AVR Studio. Atmel Corporation.