HW3r: Porovnání verzí
Bez shrnutí editace |
Bez shrnutí editace |
||
Řádek 2: | Řádek 2: | ||
[[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 12: | Řádek 10: | ||
[[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-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-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-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-part4.jpg|150px|link=https://youtu.be/7PVTnT59cqE|Assembly via Arduino (part 4) - Programming ADC]] [https://wokwi.com/projects/410093500951859201 wokwi part 4] | ||
Řádek 42: | Řádek 43: | ||
<p> | <p>Otázky ke zkoušení</p> | ||
<div style="margin: 0 0 1em 0;"> | <div style="margin: 0 0 1em 0;"> | ||
Řádek 84: | Řádek 85: | ||
<li>Čtení z portu (tlačítko, klávesnice .....)</li> | <li>Čtení z portu (tlačítko, klávesnice .....)</li> | ||
<li>Podmíněné skoky bytové a bitové</li> | <li>Podmíněné skoky bytové a bitové</li> | ||
<li>Časové smyčky s použitím | <li>Časové smyčky s použitím )seřazeno od nejnižší úrovně | ||
<ol style="list-style-type: lower-alpha;"> | <ol style="list-style-type: lower-alpha;"> | ||
<li>více podprogramů</li> | <li>více podprogramů</li> | ||
Řádek 91: | Řádek 92: | ||
</ol> | </ol> | ||
</li> | </li> | ||
<li>Přesun dat z RAM | <li>Přesun dat z ROM ) nejhorším z RAM) na PORT</li> | ||
<li>Test | <li>Test minimálně 2ks TL a řízení LED dle funkce AND, OR, XOR</li> | ||
</ol> | </ol> | ||
Řádek 98: | Řádek 99: | ||
# Logické operace | # Logické operace | ||
# Operace rotace | # Operace rotace | ||
# Počítání počtu vst. impulsů | # Počítání počtu vst. impulsů z pinu (P3.4 = T0, CT v registru TMOD) | ||
# Vývoj. diagram pro test | # Vývoj. diagram pro test 3ks TL a řízení LED dle funkce LED = 1 pro i = {1,4} | ||
# Využití přerušení programu | # Využití přerušení programu | ||
Řádek 115: | Řádek 116: | ||
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
| | | | ||
# Čítač časovač v ATmega32 ( | # Čítač časovač v ATmega32 (blok. schéma, ukázka části kódu) | ||
# Blokové schéma ATmega32 | # 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) | # 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í (Z80, 8051, 8080, PIC16F88...) | ||
Řádek 124: | Řádek 127: | ||
# MCU v micro:bit (vlastnosti, aplikační schéma) | # MCU v micro:bit (vlastnosti, aplikační schéma) | ||
# Sběrnice UART, I2C, SPI (vlastnosti, aplikační schéma) | # Sběrnice UART, I2C, SPI (vlastnosti, aplikační schéma) | ||
|} | |} | ||
</div> | </div> | ||
</div> | </div> | ||
Řádek 248: | Řádek 237: | ||
<div style="margin: 0 0 1em 0;"> | <div style="margin: 0 0 1em 0;"> | ||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: 40%;" | {| class="toccolours" cellpadding="5" style="font-size: 85%; width: 40%;" | ||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky do 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 269: | Řádek 258: | ||
<div style="margin: 0 0 1em 0;"> | <div style="margin: 0 0 1em 0;"> | ||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: 40%;" | {| class="toccolours" cellpadding="5" style="font-size: 85%; width: 40%;" | ||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky do 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 25. 4. 2025, 13:35
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 | |
|
Text vlevo pod tabulkou.
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, |
Text vlevo pod tabulkou.
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: | |
|