80
NOTIUNI INTRODUCTIVE DESPRE MICROCONTROLERE

NOTIUNI INTRODUCTIVE DESPRE MICROCONTROLERE...NOTIUNI INTRODUCTIVE DESPRE MICROCONTROLERE •Sisteme ‘embedded’ •Sistem cu microprocesor vs. sistem cu microcontroller •Noțiuneade

  • Upload
    others

  • View
    47

  • Download
    5

Embed Size (px)

Citation preview

  • 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.pdf