HW3r

Z MediaWiki SPŠ a VOŠ Písek
Skočit na navigaci Skočit na vyhledávání

uvod-do-programovani-v-assembleru


komplet "Assembly via Arduino" by Anas Kuzechie

Anas Kuzechie Projects


Assembly via Arduino (part 1) - Introductiona wokwi part 1

Assembly via Arduino (part 2) - Introductionawokwi part 2

Assembly via Arduino (part 3) - Programming IO Ports wokwi part 3a

Assembly via Arduino (part 4) - Programming ADC wokwi part 4

Soubor:Arduino link-part5.jpg wokwi part 5

Soubor:Arduino link-part6.jpg wokwi part 6

Soubor:Arduino link-part7.jpg wokwi part 7

Soubor:Arduino link-part8.jpg wokwi part 8

Soubor:Arduino link-part9.jpg wokwi part 9




AVR Assembly Tutorial: Part 1 (Basic Commands)


Inspirace k vyzkoušení


Otázky ke zkoušení

Otázky k opakování z teorie
  1. Minimální schéma zapojení s MCU
  2. Blokové schéma vývojové sestavy
  3. Blokové schéma CPU
  4. Čítač instrukcí, dekodér instrukcí, řadič
  5. Blokové schéma MCU - základní
  6. Blokové schéma MCU - rozšířené
  7. 8 bit. sčítačka
  8. Paměť mikropočítače - druhy
  9. Obvody vstupu a výstupu
  10. Charakteristika, kvaziobousměrný V/V obvod
  11. V/V obvod s přepínáním směru přenosu
  12. Organizace paměti dat včetně SFR
  13. Př. připojení - 7segmentovka
  14. Př. připojení - 7segmentovky 2ks
  15. Př. připojení - MPX zobraz. jednotka
  16. Př. připojení - seriová zobraz. jednotka
  17. Př. připojení - motory - stejnosměrný motor
  18. Př. připojení - motory - krokový motor
  19. Př. připojení - motory - servo motoru
  20. Čítače / časovače


Otázky k opakování ze CV a pro projekt
  1. Přesuny dat pomocí přímého a nepřímého adresování
  2. Zápis na port (více LED, 7segment, motor....)
  3. Čtení z portu (tlačítko, klávesnice .....)
  4. Podmíněné skoky bytové a bitové
  5. Časové smyčky s použitím )seřazeno od nejnižší úrovně
    1. více podprogramů
    2. registrů A, R0, R1....
    3. čítače/časovače
  6. Přesun dat z ROM ) nejhorším z RAM) na PORT
  7. Test minimálně 2ks TL a řízení LED dle funkce AND, OR, XOR

Bonus:

  1. Logické operace
  2. Operace rotace
  3. Počítání počtu vst. impulsů z pinu (P3.4 = T0, CT v registru TMOD)
  4. Vývoj. diagram pro test 3ks TL a řízení LED dle funkce LED = 1 pro i = {1,4}
  5. Využití přerušení programu

nejpoužívanější instrukce: SETB, CLR, NOP, SJMP, MOV, @, ACALL-RET, INC, CJNE, JB,


Kritéria práce'


hodnocení MCU IDE SIMULACE test na KNP 1. výstupní soubor Pozn.
1 8051 MCU 8051 IDE NE NE *.asm dle datumu cvičení odevzdat program, tj. hlavička + datum + kód + další datum/kód.....
2 ESP8266 Thonny *.py wokwi NE *.pdf s linkem na wokwi nakreslit schéma ve wokwi a pokusit se v Thonny nahrát program do MCU
3 8051 MCU 8051 IDE ANO ANO *.pdf
4 8051 MCU 8051 IDE ANO NE *.pdf
5 žádné NE NE NE žádný



Témata na referáty
  1. Čítač časovač v ATmega32 (blok. schéma, ukázka části kódu)
  2. Blokové schéma ATmega32
  3. Porovnání PINOUTu Arduiono vs ATmega328
  4. Instrukční soubor ATmega32 (porovnání s 8051)
  5. MCU ESP32 (vlastnosti, aplikační schéma)
  6. Tabulkový přehled MCU a jejich vlastností (Z80, 8051, 8080, PIC16F88...)
  7. Tabulkový přehled MCU a jejich vlastností (RF2040 (PICO), Cortex (RPi), STM32)
  8. Přerušovací systém v MCU (vlastnosti, blokové schéma, příklad část kódu)
  9. MCU RPi PICO (vlastnosti, aplikační schéma)
  10. MCU v micro:bit (vlastnosti, aplikační schéma)
  11. Sběrnice UART, I2C, SPI (vlastnosti, aplikační schéma)



Teorie
    T1 – Opakování z 2. ročníku
T1.  Úvod do předmětu, pravidla, aktivity..
T2.  Opakování LF, KLO – sčítačka, SLO: D-KO, čítač/registry
     T2 -  Architektura  mikroprocesoru CPU 
T3.  Blokové schéma mikroprocesoru CPU
T4.  Blokové schéma mikrokontroléru MCU
T5.  Minimální schéma s MCU
T6.  Řadič, programový čítač
T7.  Registr, dekodér instrukcí  
T8.  ALU, příznaky
T9.  Sběrnice, budič sběrnice
T10. Časování CPU, zřetězení instrukcí
T11. Opakování
      T3 -  Architektura  mikrokontroléru MCU
T12. Rozšířené blokové schéma MCU
T13. Von Neumanova koncepce, Harvardská architektura
T14. Architektura RISC a CISC mikrokontrolerů a jejich rozdíly (např.: 8051-ATmega328)
T15. Paměť mikropočítače, paměť programu, dat
T16. Paměť EEPROM (paralelní, sériová)
T17. Obvody vstupu a výstupu
T18. Reset mikropočítače, hlídací časovač WATCHDOG
T19. Opakování
     
     T4 - Přehled typů jednočipových mikropočítačů
T20. Z80, 8051, ATmega328
T21. ESP8266, ESP32
T22. RP2040 (Raspberry Pi PICO), Cortex (Raspberry Pi)
     T5 – Periferní obvody mikrokontroleru
T23. Příklady připojení periférií k V/V branám LED, 7segment
T24. Tlačítko, klávesnice
T25. Motory - ss, krokový, servo
T26. Opakování
     T6 - Periferní obvody integrované na čipu mikropočítače
T27. Čítače / časovače
T28. Sériové vstupní a výstupní obvody UART
T29. Přerušovací systém
T30. Obvody PWM
T31. Sériové vstupní a výstupní obvody I2C
T32. Sériové vstupní a výstupní obvody SPI 
T33. Opakování
T34. Opakování


Cvičení
Cv1.  Seznámení s IDE, zapsání a odladění jednoduchého programu v asm 
Cv2.  Instrukce na přesuny dat (mezi registry, porty apod.), 
Cv3.  Generování zpoždění programovou smyčkou 
Cv4.  Aritmetické operace, porovnání
Cv5.  Větvení programu, programové cykly
Cv6.  Čtení z portu, využití logických a bitových operací k úpravě přečtených informací
Cv7.  Generování zpoždění časovačem, obsluha LED
Cv8.  Programová obsluha sedmisegmentovky – přímé adresování, nepřímé adresování
Cv9.  Čtení dat z RAM, ROM
Cv10. Obsluha přerušení od čítače a vnějšího přerušení
Cv11. Vývoj aplikace v C/C++ , 
Cv12. Vývoj aplikace v mikroPythonu apod.
Cv13. Práce na projektu - zadání
Cv14. Práce na projektu - tvorba a ladění programu
Cv15. Práce na projektu - oživení aplikace
Cv16. Práce na projektu – zpracování dokumentace
Cv17. Práce na projektu – prezentace
Hardware v 3. ročníku
Pojetí předmětu: Učivo vyučovacího předmětu poskytuje žákům na přiměřené úrovni potřebné vědomosti o obvodech tvořících 8moi bitové mikroprocesorové systémy a zvládnutí jejich naprogramování.
Cílové vědomosti: 8-bitové MCU
Cílové dovednosti: Naprogramování MCU s elementárními periferiemi.
Organizace výuky: 3. ročník: 1 hod. teorie týdně (34/rok) + 2 hodiny cvičení jednou za 14 dní
Učební texty:

PrtScr z tabule publikovaných na MS Teams

alt. http://moo.sps-pi.cz/course/view.php?id=228

Písemné práce:

Testy na teorii:

Cvičení:

Povinné práce:
  1. Projekt: Návrh MIT aplikace (seminární práce)
SW: PICAXE - MCU 8051 IDE - UP
HW: PRESTO UNI board s 89S52 - PRESTO
Referáty:
  • Info k referátu z HW3r zde
knihy:
  1. Jean Michel Bernard „Od logických obvodů k mikroprocesorům“ SNTL 1982
www:

Klasifikace viz. klasifikační řád

Specifika:

Výsledná známka je většinově daná průměrem a to:

ø1,8-2,49 chvalitebně 
ø2,5-3,49 dobře 
ø3,5-4,19 dostatečně

Výsledná známka je váhově složena ze známek za:

malé zkoušení: (v lavici) váha 1   
velké zkoušení: (před tabulí - zápis v sešit) váha 2      
malá písemná práce: (nečekaná) - váha 2
velká písemná práce - verze A: váha dle počtu otázek
velká písemná práce - verze B: váha 10
  výborně od 90%​, 2 od 80%​, 3 od 70%, 4 od 60%​​
sešit A4: (náhodná kontrola) váha 1 
domácí úkol: váha 1 a více dle kreativity
dobrovolný domácí úkol, 
povinná (seminární) práce: váha zpravidla 10 

Symboly v klasifikaci:

? připraveno pro pozdější hodnocení, tj. není-li splněno -> 5
+ splněno, 
- nesplnil, nezvládl, neschopen (nelze zadat) -> 5
A absence - nemoc (nezajímá mne)
N nepsal, nezúčastnil se, nemoc 
U uvolněn (nikdo není uvolněn, jen na speciální přání)
X nehodnocen asi neklasifikován, jen při absenci > 30%

Podmínky úspěšné klasifikace:

absolvovat většinu písemných práci, chybí-li -> 5  
úspěšně odevzdané všechny povinné práce
70% aktivní docházky na cvičení

Cvičení:

Z bodového hodnocení se převádí na známku dle pravidel PMZ, váha dle náročnosti a času prodlení
Klasifikační stupnice PMZ: od 41 % dostatečný, od 59 % dobrý, od 74 % chvalitebný, od 88 % výborný 

Pozn.

Není-li něco splněno (v BAK "?") např. termín, místo uložení, neadekvátní vypracování apod., odevzdává se v nejbližším termínu v papírové formě se všemi vysvětlujícími údaji v hlavičce dokumentu např:
Jméno:
Třída:
Datum zadání/odevzdání:
Zadání:
Vypracování:
Zdroje informací:




Maturita

Programování mikrořadiče v asembleru - komunikace mikrořadiče s jednoduchými perifériemi (LED, spínače, 7segmentovka) s využitím čítačů/časovačů a přerušovacího systému

doporučeno si k maturitě přinést tabulku s instrukční sadou

Předpokládaná dovednosti (dle zadání):

navrhnout blokové schéma MIT aplikace
vyřešit napájení MCU
nakreslit minimální el. schéma s MCU
nakreslit schéma s navrženými perifériemi (LED, 7segmentovka, motory, tlačítko...)
navrhnout vývojový diagram
odladit program ve vhodném IDE
MCU naprogramovat (asistence s vyučujícím)
zpracovat dokumentaci  

zopakovat si programy ze cvičení řešící:

přesuny dat pomocí přímého adresování
přesuny dat pomocí nepřímého adresování
čtení a zápis na port (tlačítko, LED)
řízení 7segmentovky
podmíněné a nepodmíněné skoky
časové smyčky s použitím registrů R0, R1....
časové smyčky s použitím čítače/časovače
přesun dat z RAM na PORT
přesun dat z ROM na PORT

nejpoužívanější instrukce: MOV, SETB, CLR, CJNE, SJMP, INC, DEC, JB, DJNZ, ACALL, RET


Otázky do 3. HW písemky:
  1. Co je InstallFest?
  2. Co připravujete na letošní SOČ
  3. Co je PROXMOX?
  4. Nakreslete schéma i/o obvodu nacházejíc se uvnitř MCU
  5. Nakreslete schéma i/o obvodu nacházejíc se uvnitř MCU s předvolbou fce
  6. Vysvětlete zkratky LiFo, SP
  7. Nakreslete minimální schéma s MCU
  8. Připojte k MCU 7segmentovku jen pomocí 4 vodičů
  9. Popište organizaci ROM
  10. Popište organizaci RAM
  11. Vysvětlete zkratku SFR a uveďte několik příkladů


Otázky do 3. SW písemky:
  1. Demonstrujte použití přímého adresování
  2. Demonstrujte použití NEpřímého adresování
  3. Vypište na příkladech bitové instrukce
  4. SW pro blikání LED se frekvencí 50 kHz
  5. zapište do RAM čísla 3d,42,255d
  6. Uveďte příklad pro bitový test
  7. Uveďte příklad pro bytový test
  8. Nakreslete vývojový diagram pro LF AND
  9. Cyklicky posílejte data z RAM na display - čísla 0,8,dP