HW3r: Porovnání verzí
Bez shrnutí editace |
Bez shrnutí editace |
||
Řádek 1: | Řádek 1: | ||
<div style="float: left; width: | <div style="float: left; width: 45em;"> | ||
[[Soubor:HW3r-AvA3.jpg|600px|uvod-do-programovani-v-assembleru|link=https://www.itnetwork.cz/assembler/zaklady/uvod-do-programovani-v-assembleru]] | [[Soubor:HW3r-AvA3.jpg|600px|uvod-do-programovani-v-assembleru|link=https://www.itnetwork.cz/assembler/zaklady/uvod-do-programovani-v-assembleru]] | ||
Řádek 5: | Řádek 5: | ||
==[https://www.youtube.com/watch?v=j-qs-gJhxfs&list=PL09ZAP7_T_LmlX5vctZV4PFfZwMNzjX1F komplet "Assembly via Arduino" by Anas Kuzechie]== | ==[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:Anas_Kuzechie_Projects.png|300px|link=https://akuzechie.blogspot.com/|Anas Kuzechie Projects]] | ||
Řádek 28: | Řádek 29: | ||
---- | |||
Řádek 143: | Řádek 144: | ||
# Čítač časovač v ATmega32 (blok. schéma, ukázka části kódu) | # Čítač časovač v ATmega32 (blok. schéma, ukázka části kódu) | ||
# Blokové schéma ATmega32 | # Blokové schéma ATmega32 | ||
# Porovnání PINOUTu | # Porovnání PINOUTu Arduino vs ATmega328 | ||
# Instrukční soubor ATmega32 (porovnání s 8051) | # Instrukční soubor ATmega32 (porovnání s 8051) | ||
# MCU ESP32 (vlastnosti, aplikační schéma) | # MCU ESP32 (vlastnosti, aplikační schéma) | ||
Řádek 184: | Řádek 185: | ||
T12. Rozšířené blokové schéma MCU | T12. Rozšířené blokové schéma MCU | ||
T13. '''Von Neumanova koncepce, Harvardská architektura''' | T13. '''Von Neumanova koncepce, Harvardská architektura''' | ||
T14. '''Architektura RISC a CISC''' mikrokontrolerů a jejich rozdíly (např.: 8051-ATmega328) | T14. '''Architektura RISC a CISC''' mikrokontrolerů a jejich rozdíly | ||
(např.: 8051-ATmega328) | |||
T15. Paměť mikropočítače, paměť programu, dat | T15. Paměť mikropočítače, paměť programu, dat | ||
T16. Paměť EEPROM (paralelní, sériová) | T16. Paměť EEPROM (paralelní, sériová) | ||
Řádek 217: | Řádek 219: | ||
<div style="margin: 0 0 1em 0;"> | <div style="margin: 0 0 1em 0;"> | ||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: | {| class="toccolours" cellpadding="5" style="font-size: 85%; width: 40em;" | ||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Cvičení''''' | | colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Cvičení''''' | ||
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Řádek 243: | Řádek 245: | ||
<div style="margin: 0 0 1em 0;"> | <div style="margin: 0 0 1em 0;"> | ||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: | {| class="toccolours" cellpadding="5" style="font-size: 85%; width: 40em;" | ||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Hardware v 3. ročníku''''' | | colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Hardware v 3. ročníku''''' | ||
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Řádek 253: | Řádek 255: | ||
<div style="margin: 0 0 1em 0;"> | <div style="margin: 0 0 1em 0;"> | ||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: | {| class="toccolours" cellpadding="5" style="font-size: 85%; width: 40em;" | ||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Maturita''''' | | colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Maturita''''' | ||
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Řádek 263: | Řádek 265: | ||
<div style="margin: 0 0 1em 0;"> | <div style="margin: 0 0 1em 0;"> | ||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: | {| class="toccolours" cellpadding="5" style="font-size: 85%; width: 40em;" | ||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky do 3. HW písemky:''''' | | colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky do 3. HW písemky:''''' | ||
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Řádek 284: | Řádek 286: | ||
<div style="margin: 0 0 1em 0;"> | <div style="margin: 0 0 1em 0;"> | ||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: | {| class="toccolours" cellpadding="5" style="font-size: 85%; width: 40em;" | ||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky do 3. SW písemky:''''' | | colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky do 3. SW písemky:''''' | ||
|- style="vertical-align: top;" | |- style="vertical-align: top;" |
Verze z 12. 5. 2025, 18:46
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č, stavový registr T7. Registr, dekodér instrukcí T8. ALU, příznaky T9. Sběrnice, budič sběrnice T10. Časování CPU, instrukční cyklus, 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. Úsporný režim 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: | |
|