NOTIUNI INTRODUCTIVE DESPRE MICROCONTROLERE
•Sisteme ‘embedded’
•Sistem cu microprocesor vs. sistem cu microcontroller
•Noțiunea de platformă de dezvoltare
• Pasi de dezvoltare a unei aplicatii cu microcontroler
•Familia AVR – ATMEGA 328
Tehnologia microcontrolerelor reprezinta nucleul a miliardede dispozitive ‘inteligente’ care sustin activitatile de zi cu zi;un consumator obisnuit interactioneaza zilnic cu sute demicrocontrolere inglobate (‘embedded’) in: telefoane,automobile/transport, aparatura electrocasnica, sisteme desiguranta, jucarii, elemente de control, terminale comerciale,electronice etc.
Proiectantii de sisteme ‘embedded’ creaza, in acest context,aplicatii inovatoare si au sarcina de a imbunatati permanentaplicatiile existente pe paliere ce tin de rapiditate infunctionare, consum energetic redus, interfete imbunatatite sigestionarea de la distanta a unor dispozitive;
Microsisteme încorporate sau înglobate
• “embedded system” un sistem de calcul în timp real reprezinta osoluție tehnică la problema integrării unui sistem distribuit de circuitedigitale cu funcții dedicate specifice (ex. CAD, interfață de comunicareseriala, UAL etc.)
• Apar unele beneficii și neajunsuri precum:
Gradul mare de integrare (reducerea costurilor, materialului);
Diversitatea funcțională a unor componente (multifuncțional);
Reconfigurabilitatea (mai mult logic - soft, mai puțin fizic - hard);
Performanța distribuită (contrar unui dedicat – ex. placa video);
Gestionarea nivelului de putere absorbit / debitat;
Interdependență funcțională (incapacitatea de a utiliza unele circuite cât timpsistemul de calcul realizează o anumită funcție);
Exemple de tehnologii de integrare
Tehnologia ON-BOARD• Tehnologia ON-BOARD –integrarea anumitor module de interfațare (cu
funcția de intrare/ieșire) în structura generală a sistemului de calcul(ex. modulul grafic sau modului audio integrat în placa de bază);
• AVANTAJE:Reducerea costurilor de implementare;
Simplificarea operațiunilor de gestionare a resurselor (la comun);
Inter-operabilitatea (ex. realizarea calculelor în placa video);
• DEZAVANTAJE:Performanțele depind de întregul sistem;
Modulele integrate nu au resurse proprii (memorie RAM video);
Modulele ON-BOARD nu pot deservi DECAT funcția pentru care aufost concepute;
Tehnologia System-on-Chip• Tehnologia System-on-Chip (SoC) –integrarea mai multor structuri mai
complexe (precum un microprocesor și o memorie), într-un singur cip(aceeași pastilă). Microprocesorul în sine este un sistem complexformat din circuite logice simple, la fel și memoria sau o arie de porțiprogramabilă (ex. Field Programmable Gate Array);
• AVANTAJE:Reducerea costurilor de implementare;
Simplificarea logicii de control (ex. software – alocarea adreselor);
Domeniul larg de aplicabilitate al unui singur cip;
• DEZAVANTAJE:Impedimentele termice (ex. încălzirea pastilei);
Nu permite flexibilitate dpdv a gestiunii separate software(ex.dacă se dorește creșterea unor anumite performanțe, trebuie să serenunțe la anumite funcțiie ex. frecvența PWM și interfața I2C);
Defectarea unui singur modul afectează întregul cip;
Tehnologia System-on-Chip
- Caracteristica “multicore”- mai multe unitati de procesare,programare paralela- ia avant, chiar si printre utilizatoriimicrocontrolerelor pe 8 biti
- costurile tranzistoarelor au scazut, iar combinarea maimultor procesoare de 8 biti pe un singur cip esteconsiderata o alternativa la ‘upgrade’-ul la familii de circuitepe 16- or 32-biti programatorii isi folosesc experienta incunostintele despre codare si nivelul de familiarizare cusistemul.
Doua concepte noi pentru producatorii de microcontrolere, pentruintrunirea cerintelor de performanta si actualizare a acestora:
◦ “cloud computing”
◦ Conectivitate universala (concept popular: “Internet-enabledeverything”)
Expertii din industrie examineaza impactul acestor noi concepte innoua generatie de tehnologii pentru microcontrolereconsumredus de putere, dispozitive accesibile ca pret, protocoale deinternet pentru diferite strategii de implementare;
Cerintele utilizatorului sunt legate de: interfete interactive,conectivitate universala, securitate si siguranta in noile sistemeembeddeddezvoltatorii de sisteme embedded se concentreazape dezvoltarea de unelte complexe de vizualizare si depistare aproblemelor legate de programele software pentru acestea
‘Embedded systems’
Sisteme cu destinatie speciala care sunt folosite de sinestatatoare sau ca parte a unui sistem mai complex;
Un produs din categoria ‘embedded systems’ foloseste unmicrocontroler care realizeaza doar o singura activitate decontrol;
Combinatie de elemente hardware si software care, impreunarealizeaza o componenta a unui sistem mai complex.
Un sistem ‘embedded’ este proiectat pentru a functiona farainterventie umana majora si pentru a raspunde la eventualeevenimente externe in timp real;
Exemple
Accesorii automobil
‘Embedded systems’ - domenii
I/O Ports
Microcontroller Electrical,mechanical,
chemical,or
opticaldevices
Embedded system
Bus ADCAnalogsignals
LM3S or TM4C
DAC
Processor
RAM
ROM
• Solutii de Sisteme Embedded :
• Microcontrolere• Procesoare Digitale de Semnal (DSP)• Sisteme cu microprocesor
• funcția de interfațare a procesului cu mediul sau factorul uman (eng. HumanMachine Interface – H.M.I. or human interface device – H.I.D.) (ex. senzori, elementede execuție, mijloace de intrare și ieșire destinate intervenției umane – afișaj, taste);
Proces fizic(mediu fizic)
Senzori
Microcontroler
Interfețe periferice(ADC, GPIO, I2C, SPI, UART)
Interfețe periferice(DAC, GPIO, PWM)
Afișaj, butoane, computer gazdă
Factorul
decizional
uman Parametriimăsurați
Parametrii
reglați
Comandă
digitală
Comandă
digitală / analogică
Comandă
analogică
Comandă
analogică
Semnal
analogic
Observarea
fenomenului
Elementde execuție
Fenomen fizic
– analogic –
Comunicare
serială
• DSP in IE - scopul de a realiza strategii de control mult mai complexe decât celerealizate cu sisteme pe bază de microcontroler (ex. control vectorial, procesare deimagine, procesare audio etc.).
• Astfel un procesor digital de semnal deservește la implementarea strategiei decomandă și control asupra elementului de execuție
Proces fizic(mediu fizic)
Senzori
Procesor digital de semnal
Interfețe periferice speciale
(jTAG)
Interfețe dedicate
Interfețe periferice(ADC, GPIO, SPI, I2C, UART)
Sistem cu micro – controller sau un computer gazdă
Elementde execuție
Convertor electronic de putere
Afișaj + taste
Scriere / citire în
registrele D.S.P.
Comandă analogicăComandă
digitală
Comandă
analogică
Fenomen
fizic
Semnal analogic
Comandă
digitală
• Sisteme cu microprocesor pot realiza funcții de gestiune a sarcinilor de execuție(eng. multi–tasking). Resursele necesare rulării aplicației (ex. memorie, prioritateetc.) pot fi alocate la cerere de către un sistem de operare.
• Un microcomputer deservește la implementarea algoritmului de gestiune la nivelulîntregului sistem (ex. computer central S.C.A.D.A.).
Proces fizic(mediu fizic) Senzori
Sistem cumicro – controller
Afișaj + taste
Sistem cuProcesor digital de semnal
Elementde execuție
Convertor electronic de putere
Sistem cu microprocesor (computer central cu sistem de operare –
poate fi chiar computerul
gazdă)
Interfețe periferice(UART, USB, Ethernet, WiFi)
Interfețe periferice(UART, USB, Ethernet, WiFi)
Comandă
digitală Comandă
digitală
Semnal
analogic Semnal
analogicComandă
digitală
(jTAG)
Comandă
digitalăComandă
analogică
Fenomen
fizic
Denumire categorie S.C.T.R.
Caracteristici (specifice)
Destinaţie Aplicaţii
Microcontroler
• Operații numerice discrete;
• Număr redus de instrucțiuni;
• Întreruperi de procesare;• Operații simple rapide;• Arhitectura Harvard!
• Interfațarea fenomenelor fizice (hard) cu strategia logică / algoritmul de control (soft) al unui proces oarecare (fizic);
• Intermedierea proceselor de tip „om – mașină” (eng. H.M.I. – Human Machine Interaction) prin citire de senzori / generare comandă;
Digital Signal Processor
DSP
• Sintetizarea semnalelor;• Regiştrii dedicaţi („+”,
„*”);• Periferice dedicate
(D.A.C.);• Operații complexe
rapide;• Arhitectura Harvard!
• Achiziție, procesare și generare de semnal;
• Controlul proceselor rapide din convertoarele electronice de putere;
• Telecomunicații, industria multimedia, sonorizare, procesare grafică / video;
• Electronică de putere și semnal – control;
Micro-computer
• Sistem de operare;• Paralelism aparent al
operațiilor (multitasking);• Arhitectura Von
Neumann!
• Interfațarea fizică / hard a protocoalelor de comunicație;
• Operații „Client –Server”;
• Preluare / centralizare date;
• Telecomunicații, industria IT & C, dispecerate, centre de date, evidență și stocare
• Computer central;
Exemple de platforme de dezvoltare
Microcontroler Arduino UNO
http://www.edurobot.ch/?p=1857
DSP – Texas Instruments C2000 – LaunchPad F28377s
https://www.eenewseurope.com/news/ti-adds-development-support-c2000-dspmcu-launchpad-format
Micro–Computer SoC - Intel Galileo Gen I
https://www.generationrobots.com/en/401641-arduino-intel-galileo-board.html
Micro–Computer SoC - Raspberry Pi 3 Model B
https://www.raspberrypi.org/products/raspberry-pi-3-model-b/
Proces fizic(mediu fizic)
Senzor 1 Senzor 2 Senzor 3
Micro –controller 1
Micro –controller 2
Micro –controller 3
Micro – computer (sistem de operare de tip Server – protocoale de comunicație)
Sistem cuProcesor digital de semnal
Convertor electronic de putere
Elementde execuție
Infrastructură de tip – rețea de calculatoare Ethernet
Calculator gazdă
Fenomen fizic
Comandăanalogică
Comandădigitală
Comandădigitală(jTAG)
Semnal analogic
Semnal analogic
Semnal analogic
Semnal analogic
Semnal analogic
Semnal analogi
c
Comandădigitală
Comandădigitală
Pachete de date
Pachete de date
Microcontroler‘Not transformation of data but interaction with physical world’
PIC 12F508, PIC 16F84A, PIC 16C72, Motorola 68HC05B16, PIC 16F877, Motorola 68000
Elemente esentiale ale unui sistem cu microprocesor/microcontroler
Elemente constructive pentru un sistem cu microprocesor/microcontroler
• CPU
• I/O: Input/Output
• Magistrala (Bus): de adrese si de date
• Memorii
• Timere
• Sistem de intreruperi
• Ceas (generator de tact)
Microprocesor
• - este un circuit integrat (‘chip’) de uz general folosit in dispozitivemultifunctionale:
• - nu contine porturi separate pentru memorii RAM si ROM, porturi de I/O
• UCP este de sine statatoare; se adauga memorii, porturi pentruinterfatare si timer-e, pentru a deveni functional
• Proiectantul decide cantitatea de memorie si de porturi de I/O
Exemple: INTEL x86, MOTOROLA 680x0
Microcontroler
Este un ‘computer pe chip” proiectat si optimizat pentru arealiza functii de control pentru anumite dispozitiveelectronice
UCP+memorii+I/O+Timer incorporate pe un chip
Limitari in ceea ce priveste memoriile si posibilitatile deinterfatare; se integreaza ideal in aplicatii in care spatiulocupat, consumul de putere si pretul pe unitate sunt aspectecritice, in raport cu puterea de calcul
Costuri reduse de implementare
Sisteme de dezvoltare accesibile, la costuri rezonabile
Microcontroler
Rolul principal: ‘achizitioneaza proprietati ale lumiiinconjuratoare’
Este un procesor cu circuite suplimentare
Are trei roluri principale:Receptioneaza semnale de intrare, prin senzori, elemente de
interventie umana etcStocheaza si proceseaza intrarile printr-un set de
actiuni/instructiuniAplica datele procesate altor activitati - iesirile
Elementele esentiale ale unui sistem cu microprocesor/microcontroller
UCP- Unitatea Centrala de Prelucrare - realizează funcţiile esenţiale de extragere a instrucţiunilor din memoria de program şi executarea lor.-contine UAL - Unitatea Aritmetico Logică care realizează diferite
operaţii aritmetice şi logice;
MEMORII - utilizate pentru pastrarea datelor si a instructiunilor de program-unitatea de stocare – cuvant
POSIBILITATI DE INTRARE/IESIRE I/O- introducere/extragere informatii in sistem- becuri, intrerupatoare, periferice de calculator, convertoare digital-analogice si analog digitale, placi de sunet, porturi seriale, paralele, numaratoare, temporizatoare etc
MEMORII
Fiecare cuvant se caracterizeaza printr-o locatie de memorie sauadresa;
•Se impart in doua categorii:• Volatile – datele se pierd la intreruperea alimentarii
• DRAM (Dynamic Random Access Memory)• SRAM (static Random Access Memory)
• Nevolatile – utilizate pentru stocarea codurilor de programsau informaţiilor care nu se schimbă niciodata
– ROM (Read Only Memory)
– EPROM (sau UV-EPROM - Ultra Violet ErasableProgramable ROM)
–EEPROM -- Electrically Erasable Programmable ROM
Erasable ROM
• ROM• Programat de catre producator
• Programmable ROM (PROM)• Se programeaza printr-un programator
• Erasable Programmable ROM (EPROM)• Foloseste unda ultraviolet care se aplica pentru stergere printr-o “fereastra”
de pe cip• OTP semnifica ‘one-time programmable’
• Electrically Erasable Programmable ROM (EEPROM)• Fiecare locatie din program poate fi stearsa individual• scumpa• Se cere programator
• FLASH • Se programeaza in circuit sau in sistem• Usor de sters (nu e nevoie de programator)• Doar o portiunea poate fi stearsa/scrisa o data (in general, 64 de bytes o data)
I/O
• Modul in care computerul comunica cu mediul exterior
• Porturile I/O se conecteaza la periferice• Perifericele sunt dinspozitive de I/O• Exemple
• multifunctionale, modemuri
• Tastatura, mouse
• Universal Serial Bus (USB)
Ce este un microcontroler?
• “calculator pe cip”, de dimensiuni reduse, folosit in aplicatii decontrol al unui obiect, eveniment, proces.
• Se regaseste in orice dispozitiv care masoara, stocheaza,comanda, calculeaza, afiseaza, stocheaza informatii:
• - aparatura electronica si electrocasnica• - periferice calculator• - industria automobilelor• - orice dispozitiv dintr-o aplicatie de control
• Spre deosebire de sistemul cu microprocesor,microcontrolerul contine toate componentele pe acelasi cip:UCP, memorii, posibilitatile de interfatare.
aplicatiile de control se refera la sisteme mici, cu catevaelemente aditionale
• limbaj de asamblare cu un număr redus de instrucţiuni, fiindfoarte utilizate în aplicaţiile în care este nevoie de executareaunor calcule şi a unor algoritmi nu foarte complicaţi, oferind uncost de implementare redus
• Sunt structuri mai simple si mai economice, in comparatie, deexemplu, de DSP-urile
Realizarea unei aplicatii cu microcontroler
1. Alegerea microcontrolerului – pe criterii de rapiditate, consumde putere, set de instructiuni, optiuni de interfatare
2. Scrierea programului
- limbaj de asamblare – abreviatii sau mnemonici
- limbaj de nivel inalt
- interpretoare si compilatoare
3. Testare si depanare
-sistem de dezvoltare
- simulatoare
- instructiuni in binarToate programele sunt convertite in cod masina pentru UCP, care vaexecuta programul
Dificil de implementat, cauzeaza, unerori, erori la scriere
Cod masina
Limbaj de asamblare
Limbaj de nivel inalt
Mnemonici sau abrevieriCorespondenta unu la unu cu instructiunile in cod masinaEficienta in executie si in utilizarea memoriei; specifica dispozitivului si greu dedepanat.
De exemplu: BASIC, C, C++Foloseste sintaxa standard, de obicei in engleza, este independent de dispozitivUsor de scris si de depanatNecesita mai multa memorie si este mai putin eficienta in executie
Moduri de programare ale microprocesoarelor
Cod mașină (binar) – limbaj la nivel fizic
Limbaj de asamblare – tranziție – mnemonici
Sintaxă – nivel mediu – inteligibil (ex. C++)
Mediu grafic - nivel înalt (ex. Simulink)
Procesul de compilare
Compilare = găsirea unor „comenzi echivalente” în limbajul de la nivel inferior;
= Interpretarea „substraturilor” limbajelor de programare de la complex spre rudimentar;
Sisteme cu microprocesoare
Structurarea datelor în memorie
1
1 0 1 1
Bit (unitate fundamentală – exprimă starea logicofizică);
1 0 1 1 0 1 0 1
Nibble (grupare de patru biți);
Byte (grupare de doi nibble și opt biți);
Structurarea datelor în memorie
• Un octet (eng. byte) formează un REGISTRU în memorie, deoarece fiecare bit component al octetului are o semnificație aparte asupra unei stări logico - fizice dintr-un proces dezvoltat de către unitatea de procesare.
1 0 1 1 0 1 0 1Cy AC F0 RS
1RS0
OV
P-
• „Cy” – Carry (transport);• „AC” – Auxiliary Carry;• „F0” – User - defined flag;• „RSx” – Memory configuration;• „P” – Parity check status;
Caracteristici software
• Fara sistem de operare
• Executa un singur program
• Limbaj de asamblare(vs. limbaj de nivel inalt)• Nu e transportabil, specific dispozitivului• Programatorul trebuie sa cunoasca arhitectura CPU• Viteza de executie• Marimea programului
Cele mai importante familii de microcontrolere pe 8-biti
• Microchip• Peste 2 miliarde de exemplare vandute pana in 2002 • Economice si cu multe periferice
• Motorola • Are sute de instructiuni• Exemple: 68HC05, 68HC08, 68HC11
• Intel • Are sute de instructiuni• Exemple: 8051, 8052• Producatori diferiti: Philips, Dallas/MAXIM Semiconductor
• Atmel• Economice si cu multe periferice • AVR
Arhitectura AVR
Atmega 328p
De ce studiem familia AVR?
Arhitectura AVR
• Este una dintre cele mai des întâlnite familii de micro – controllere cuconsum redus de putere;
• Există în majoritatea aplicațiilor de interfațare;
• Stă la baza platformei de dezvoltare Arduino, iar dezvoltareaaplicațiilor este susținută de comunitatea Open – Source;
• Include o gamă largă de periferice într-o singură capsulă;
• Există o legătură strânsă între platforma Arduino UNO și circuitulintegrat Atmega 328p din familia Atmel – AVR.
https://www.allaboutcircuits.com/technical-articles/understanding-arduino-uno-hardware-design/
https://robu.in/product/atmega328p-pu-pdip-28-microcontroller/
https://protostack.com.au/shop/microcontrollers/atmega328p-pu-atmel-8-bit-32k-avr-microcontroller/
https://www.ifuturetech.org/product/atmega328p-pu/
https://www.allaboutcircuits.com/technical-articles/understanding-arduino-uno-hardware-design/
Atmega 328p – Dotări și performanțe
Set de instrucțiuni pe 8 biți (număr redus de instrucțiuni);
32 de regiștri din care 8 sunt regiștrii de uz general;
Frecvență de operare maximă 16 MHz;
32 KB memorie flash programabilă;
1 KB memorie EEPROM
2 KB memorie sRAM (static RAM);
10 000 cicluri - scriere / citire în flash și 100 000 în EEPROM;
Numărător cu rezoluție de 8 biți (0 – 255 trepte);
Convertor analog – numeric pe 10 biți (0 – 1023 trepte);
Interfețe serial (sincrone și asincorne);
Interfață I2C și intrări / ieșiri de uz general digitale (GP I / O);
Atmega 328p – Moduri de programare
• Programarea microcontrolerului se poate realiza:
Cu ajutorul unui alt micro - controller;
Cu un programator dedicat (ISP);
Cu un adaptor de la interfața seriala;
• Limbajele de programare acceptate pot fi:
Cod mașină (ex. binar / hexa – zecimal);
Instrucțiuni în limbaj de asamblare (specific arhitecturii);
Cod sintaxă inteligibilă (ex. C standard, C++, Wiring);
Limbaje grafice (ex. Simulink, LabVIEW, SolidThinking);
https://jeelabs.org/category/avr/
Programator AVR ISP mk II - USB
http://blog.scraplabs.in/nugget-of-knowledge/making-your-own-arduino-board__trashed/attachment/arduinobb-min
Dezvoltarea unei aplicații cu Atmega 328p
http://blog.scraplabs.in/nugget-of-knowledge/making-your-own-arduino-board__trashed/attachment/arduinobb-min
Mediul de programare AVR – Atmel Studio
Setul de instrucțiuni Atmega 328p
Orice microcontroler sau microprocesor are instrucțiuni specificearhitecturii în limbaj de asamblare;
Se lucrează pe bază de regiștrii:Regiștrii de stare (ex. Program Counter, Status REGister - SREG);
Regiștrii de uz general (ex. X, Y, Z);
Regiștrii ai elementelor de interfațate (ex. PORT);
Zone de memorie;
Există regiștrii care pot fi accesați doar cu scopul inscripționării / citiriidatelor aflate la în acea zonă;
Setul de instrucțiuni Atmega 328pRegistrul de stare SREG:
Bitul „I” – indică starea globală a întreruperilor;
Bitul „T” – semnalează activitatea de copiere și stocare;
Bitul „H” – indică efectuarea unei jumătățide transport;
Bitul „S” – bit de semn;
Bitul „V” – indică depășirea gamei de lucru;
Bitul „N” – indică dacă valoare obținută este negativă;
Bitul „Z” – (zero) semnalează rezultatul zero (flag);
Bitul „C” – (Carry) semnalează dacă a avut loc un transport;
Setul de instrucțiuni Atmega 328pRegiștrii de uz general (pentru operații logico-aritmetice):
Setul de instrucțiuni Atmega 328pPentru a studia modul de funcționare la nivel de regiștrii a
unui microcontroler Atmega 328p vom utiliza un simulatorAVR;
Sisteme cu microprocesoareLimbajul de asamblare
Este foarte „aproape” de nivelul fizic (hard); Folosește abrevieri (mnemonice); Nu necesită spațiu de stocare însemnat; Setul de instrucțiuni este specific, fiecărui producător de
microprocesoare! Modul de scriere a instrucțiunilor, este conform principiului
„destinație – sursă”:
Sisteme cu microprocesoareLimbajul de asamblare
Exemplu:
LDI R16, 0x01
Instrucțiune(mnemonică)
Destinație Sursă / date
Tip de date
Sisteme cu microprocesoareLimbajul de asamblare
Explicație:
LDI R16, 0x01• Încărcare imediată în registrul „R16” a valorii
„01”, cu tipul de date HEXAZECIMAL;• Destinație: registrul „R16”;• Sursă: valoarea constantă „01”;
Aplicația 1
Sisteme cu microprocesoareLimbajul de asamblare – Aplicația 1 – Adunare
• LDI R16, 0x01• LDI R24, 0x02• ADD R16, R24
Sisteme cu microprocesoareLimbajul de asamblare – Aplicația 1 – Adunare
• LDI R16, 0x01• LDI R24, 0x02• ADD R16, R24
Sisteme cu microprocesoareLimbajul de asamblare – Aplicația 1 – Adunare
• LDI R16, 0x01• LDI R24, 0x02• ADD R16, R24
Sisteme cu microprocesoareLimbajul de asamblare – Aplicația 1 – Adunare
• LDI R16, 0x01• LDI R24, 0x02• ADD R16, R24
Aplicația 2
Sisteme cu microprocesoareLimbajul de asamblare – Aplicația 2 – Transport
• LDI R16, 0x0F• LDI R24, 0x01• ADD R16, R24
Sisteme cu microprocesoareLimbajul de asamblare – Aplicația 2 – Transport
• LDI R16, 0x0F• LDI R24, 0x01• ADD R16, R24
Sisteme cu microprocesoareLimbajul de asamblare – Aplicația 2 – Transport
• LDI R16, 0x0F• LDI R24, 0x01• ADD R16, R24
Sisteme cu microprocesoareLimbajul de asamblare – Aplicația 2 – Transport
• LDI R16, 0x0F• LDI R24, 0x01• ADD R16, R24
Semnalizare cu un șir finit de diode-Manipularea porturilor digitale, limbajul „mixed
assembly–syntax”-
void setup() {DDRD = B11111111;
}
void loop() {PORTD = B10101010;
delay(1000);PORTD = B01010101;
delay(1000);}
Referinte bibliografice:
[1]http://learn.mikroe.com/ebooks/picmicrocontrollersprogramminginassembly/front-matter/introduction-to-the-world-of-microcontrollers/
[2]http://www.robotplatform.com/electronics/microcontroller/microcontroller_2.html
[3] http://users.utcluj.ro/~baruch/ac/curs/Unitatea-memorie.pdf
[4] http://embedded-computing.com/
[5] http://www.avr-asm-download.de/beginner_en.pdf[6]https://courses.cs.washington.edu/courses/csep567/10wi/lectures/Lecture6.pdf
[7]http://abdnoor80.weebly.com/uploads/1/2/2/8/12282674/es_arduino_2.pdf
http://www.robotplatform.com/electronics/microcontroller/microcontroller_2.htmlhttp://users.utcluj.ro/~baruch/ac/curs/Unitatea-memorie.pdfhttp://www.avr-asm-download.de/beginner_en.pdfhttps://courses.cs.washington.edu/courses/csep567/10wi/lectures/Lecture6.pdfhttp://abdnoor80.weebly.com/uploads/1/2/2/8/12282674/es_arduino_2.pdfTop Related