HW3r: Porovnání verzí
Bez shrnutí editace |
|||
(Není zobrazeno 25 mezilehlých verzí od stejného uživatele.) | |||
Řádek 1: | Řádek 1: | ||
<div style="float: left; width: 50em;"> | |||
[[Soubor:HW3r-AvA3.jpg|600px|uvod-do-programovani-v-assembleru|link=https://www.itnetwork.cz/assembler/zaklady/uvod-do-programovani-v-assembleru]] | |||
{| class="toccolours" cellpadding="5" style=" | |||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | ''''' | ==[https://www.youtube.com/watch?v=j-qs-gJhxfs&list=PL09ZAP7_T_LmlX5vctZV4PFfZwMNzjX1F komplet "Assembly via Arduino" by Anas Kuzechie]== | ||
[[Soubor:Anas_Kuzechie_Projects.png|300px|link=https://akuzechie.blogspot.com/|Anas Kuzechie Projects]] | |||
[[Soubor:Arduino_link-part1.jpg|150px|link=https://youtu.be//j-qs-gJhxfs|Assembly via Arduino (part 1) - Introductiona]] [https://wokwi.com/projects/410089045320805377 wokwi part 1] | |||
[[Soubor:Arduino_link-part2.jpg|150px|link=https://youtu.be/k8w-IOyyvhQ|Assembly via Arduino (part 2) - Introductiona]][https://wokwi.com/projects/410091707252203521 wokwi part 2] | |||
[[Soubor:Arduino_link-part3.jpg|150px|link=https://youtu.be/cEkVxRIO5Ec|Assembly via Arduino (part 3) - Programming IO Ports]] [https://wokwi.com/projects/410123386139815937 wokwi part 3a] | |||
[[Soubor:Arduino_link-part4.jpg|150px|link=https://youtu.be/7PVTnT59cqE|Assembly via Arduino (part 4) - Programming ADC]] [https://wokwi.com/projects/410093500951859201 wokwi part 4] | |||
[[Soubor:Arduino_link-part5.jpg|150px|link=https://youtu.be/U8OF9N5rULw?si=QW85L4d_llsKmVa7]] [https://wokwi.com/projects/410722077542119425 wokwi part 5] | |||
[[Soubor:Arduino_link-part6.jpg|150px|link=https://youtu.be/alLuNNQdpCU?si=4EvKTn4lZo72XlUx]] [https://wokwi.com/projects/410722094397980673 wokwi part 6] | |||
[[Soubor:Arduino_link-part7.jpg|150px|link=https://youtu.be/a6LGLwfO154?si=U_HJwtQZxV3z5SX-]] [https://wokwi.com/projects/410724361844348929 wokwi part 7] | |||
[[Soubor:Arduino_link-part8.jpg|150px|link=https://youtu.be/pmiTszZhPoI?si=yElgYsL0VSXCPm2y]] [https://wokwi.com/projects/410724382156317697 wokwi part 8] | |||
[[Soubor:Arduino_link-part9.jpg|150px|link=https://youtu.be/wHhLtpEA5ws?si=Qd2thzBjb9vbZFDw]] [https://wokwi.com/projects/410724701114321921 wokwi part 9] | |||
--------------- | |||
[[Soubor:SteamCode_01.jpg|150px|link=https://youtu.be/9e1wSQnttXY?si=H532vDMVimHtLY7F|AVR Assembly Tutorial: Part 1 (Basic Commands)]] | |||
Inspirace k vyzkoušení | |||
* https://robodoupe.cz/2017/espeasy-je-opravdu-easy/ | |||
* https://wiki.sps-pi.cz/index.php/HAOS | |||
* https://wiki.seeedstudio.com/home_assistant_topic/ | |||
* https://www.codeconvert.ai/assembly-to-python-converter | |||
<p>Otázky ke zkoušení</p> | |||
<div style="margin: 0 0 1em 0;"> | |||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: 50em;" | |||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky k opakování z teorie''''' | |||
|- style="vertical-align: top;" | |||
| | |||
# Minimální schéma zapojení s MCU | |||
# Blokové schéma vývojové sestavy | |||
# Blokové schéma CPU | |||
# [[Čítač instrukcí, dekodér instrukcí, řadič]] | |||
# Blokové schéma MCU - základní | |||
# Blokové schéma MCU - rozšířené | |||
# 8 bit. sčítačka | |||
# Paměť mikropočítače - druhy | |||
# [[Obvody vstupu a výstupu]] | |||
# [[Charakteristika, kvaziobousměrný V/V obvod]] | |||
# [[V/V obvod s přepínáním směru přenosu]] | |||
# Organizace paměti dat včetně SFR | |||
# [[Př. připojení - 7segment]]ovka | |||
# [[Př. připojení - 7segment]]ovky 2ks | |||
# [[Př. připojení - MPX zobraz. jednotka]] | |||
# [[Př. připojení - seriová zobraz. jednotka]] | |||
# [[Př. připojení - motory]] - stejnosměrný motor | |||
# [[Př. připojení - motory]] - krokový motor | |||
# [[Př. připojení - motory]] - servo motoru | |||
# [[Čítače / časovače]] | |||
|} | |||
</div> | |||
<div style="margin: 0 0 1em 0;"> | |||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: 50em;" | |||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky k opakování ze CV a pro projekt''''' | |||
|- style="vertical-align: top;" | |||
| | |||
<ol> | |||
<li>Přesuny dat pomocí přímého a nepřímého adresování</li> | |||
<li>Zápis na port (více LED, 7segment, motor....)</li> | |||
<li>Čtení z portu (tlačítko, klávesnice .....)</li> | |||
<li>Podmíněné skoky bytové a bitové</li> | |||
<li>Časové smyčky s použitím )seřazeno od nejnižší úrovně | |||
<ol style="list-style-type: lower-alpha;"> | |||
<li>více podprogramů</li> | |||
<li>registrů A, R0, R1....</li> | |||
<li>čítače/časovače</li> | |||
</ol> | |||
</li> | |||
<li>Přesun dat z ROM ) nejhorším z RAM) na PORT</li> | |||
<li>Test minimálně 2ks TL a řízení LED dle funkce AND, OR, XOR</li> | |||
</ol> | |||
Bonus: | |||
# Logické operace | |||
# Operace rotace | |||
# Počítání počtu vst. impulsů z pinu (P3.4 = T0, CT v registru TMOD) | |||
# Vývoj. diagram pro test 3ks TL a řízení LED dle funkce LED = 1 pro i = {1,4} | |||
# Využití přerušení programu | |||
nejpoužívanější instrukce: SETB, CLR, NOP, SJMP, MOV, @, ACALL-RET, INC, CJNE, JB, | |||
|} | |||
</div> | |||
<div style="margin: 0 0 1em 0;"> | |||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: 50em;" | |||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Kritéria práce'''' | |||
|- style="vertical-align: top;" | |||
| | |||
{| class="wikitable sortable" | |||
|- | |||
! 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ý || | ||
|- | |||
|} | |||
|} | |||
</div> | |||
<div style="margin: 0 0 1em 0;"> | |||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: 50em;" | |||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Témata na referáty''''' | |||
|- style="vertical-align: top;" | |||
| | |||
# Čítač časovač v ATmega32 (blok. schéma, ukázka části kódu) | |||
# Blokové schéma ATmega32 | |||
# Porovnání PINOUTu Arduiono vs ATmega328 | |||
# Instrukční soubor ATmega32 (porovnání s 8051) | |||
# MCU ESP32 (vlastnosti, aplikační schéma) | |||
# Tabulkový přehled MCU a jejich vlastností (Z80, 8051, 8080, PIC16F88...) | |||
# Tabulkový přehled MCU a jejich vlastností (RF2040 (PICO), Cortex (RPi), STM32) | |||
# Přerušovací systém v MCU (vlastnosti, blokové schéma, příklad část kódu) | |||
# MCU RPi PICO (vlastnosti, aplikační schéma) | |||
# MCU v micro:bit (vlastnosti, aplikační schéma) | |||
# Sběrnice UART, I2C, SPI (vlastnosti, aplikační schéma) | |||
|} | |||
</div> | |||
</div> | |||
<div style="float: right; width: 40em;"> | |||
<div style="margin: 0 0 1em 0;"> | |||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: 45em;" | |||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Teorie''''' | |||
|- style="vertical-align: top;" | |||
| | |||
'''T1 – Opakování z 2. ročníku''' | |||
T1. [[Úvod do předmětu, pravidla, aktivity..]] | T1. [[Úvod do předmětu, pravidla, aktivity..]] | ||
T2. Opakování LF, KLO – sčítačka, SLO: D-KO, čítač/registry | T2. Opakování LF, KLO – sčítačka, SLO: D-KO, čítač/registry | ||
Řádek 51: | Řádek 212: | ||
T34. Opakování | T34. Opakování | ||
|} | |||
</div> | |||
{| class="toccolours" cellpadding="5" style=" | <div style="margin: 0 0 1em 0;"> | ||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Cvičení''''' | {| class="toccolours" cellpadding="5" style="font-size: 85%; width: 45em;" | ||
|- | | colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Cvičení''''' | ||
| | |- style="vertical-align: top;" | ||
| | |||
Cv1. Seznámení s IDE, zapsání a odladění jednoduchého programu v asm | Cv1. Seznámení s IDE, zapsání a odladění jednoduchého programu v asm | ||
Řádek 76: | Řádek 239: | ||
Cv16. Práce na projektu – zpracování dokumentace | Cv16. Práce na projektu – zpracování dokumentace | ||
Cv17. Práce na projektu – prezentace | Cv17. Práce na projektu – prezentace | ||
|} | |||
</div> | |||
|} | <div style="margin: 0 0 1em 0;"> | ||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: 45em;" | |||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Hardware v 3. ročníku''''' | |||
|- style="vertical-align: top;" | |||
| | |||
{{Šablona:HW3r-header}} | |||
|} | |||
</div> | |||
<div style="margin: 0 0 1em 0;"> | |||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: 45em;" | |||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Maturita''''' | |||
|- style="vertical-align: top;" | |||
| | |||
{{Šablona:HW3r-maturita}} | |||
|} | |||
</div> | |||
<div style="margin: 0 0 1em 0;"> | |||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: 45em;" | |||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky do 3. HW písemky:''''' | |||
|- style="vertical-align: top;" | |||
| | |||
# Co je InstallFest? | |||
# Co připravujete na letošní SOČ | |||
# Co je PROXMOX? | |||
# Nakreslete schéma i/o obvodu nacházejíc se uvnitř MCU | |||
# Nakreslete schéma i/o obvodu nacházejíc se uvnitř MCU s předvolbou fce | |||
# Vysvětlete zkratky LiFo, SP | |||
# Nakreslete minimální schéma s MCU | |||
# Připojte k MCU 7segmentovku jen pomocí 4 vodičů | |||
# Popište organizaci ROM | |||
# Popište organizaci RAM | |||
# Vysvětlete zkratku SFR a uveďte několik příkladů | |||
|} | |||
</div> | |||
<div style="margin: 0 0 1em 0;"> | |||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: 45em;" | |||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky do 3. SW písemky:''''' | |||
|- style="vertical-align: top;" | |||
| | |||
# Demonstrujte použití přímého adresování | |||
# Demonstrujte použití NEpřímého adresování | |||
# Vypište na příkladech bitové instrukce | |||
# SW pro blikání LED se frekvencí 50 kHz | |||
# zapište do RAM čísla 3d,42,255d | |||
# Uveďte příklad pro bitový test | |||
# Uveďte příklad pro bytový test | |||
# Nakreslete vývojový diagram pro LF AND | |||
# Cyklicky posílejte data z RAM na display - čísla 0,8,dP | |||
|} | |||
</div> | |||
</div> |
Aktuální verze z 28. 4. 2025, 12:05
komplet "Assembly via Arduino" by Anas Kuzechie
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
Inspirace k vyzkoušení
- https://robodoupe.cz/2017/espeasy-je-opravdu-easy/
- https://wiki.sps-pi.cz/index.php/HAOS
- https://wiki.seeedstudio.com/home_assistant_topic/
- https://www.codeconvert.ai/assembly-to-python-converter
Otázky ke zkoušení
Otázky k opakování z teorie | |
|
Otázky k opakování ze CV a pro projekt | |
Bonus:
nejpoužívanější instrukce: SETB, CLR, NOP, SJMP, MOV, @, ACALL-RET, INC, CJNE, JB, |
Kritéria práce' | ||||||||||||||||||||||||||||||||||||||||||
|
Témata na referáty | |
|
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 | ||||||||||||||||||||||||||||
|
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: | |
|
Otázky do 3. SW písemky: | |
|