HW3r: Porovnání verzí
Bez shrnutí editace |
Bez shrnutí editace |
||
| (Není zobrazeno 7 mezilehlých verzí od stejného uživatele.) | |||
| Řádek 42: | Řádek 42: | ||
* https://wiki.seeedstudio.com/home_assistant_topic/ | * https://wiki.seeedstudio.com/home_assistant_topic/ | ||
* https://www.codeconvert.ai/assembly-to-python-converter | * https://www.codeconvert.ai/assembly-to-python-converter | ||
* https://cw.fel.cvut.cz/wiki/courses/b35apo/tutorials/start | |||
| Řádek 48: | Řádek 49: | ||
<div style="margin: 0 0 1em 0;"> | <div style="margin: 0 0 1em 0;"> | ||
{| class="toccolours" cellpadding="5" style="font-size: 85%; width: 50em;" | {| class="toccolours" cellpadding="5" style="font-size: 85%; width: 50em;" | ||
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | ''''' | | colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Opakovací otázky z teorie''''' | ||
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
| | | | ||
# Minimální schéma zapojení | |||
# Blokové schéma vývojové sestavy | |||
# Blokové schéma CPU | # Minimální schéma zapojení s mikrokontrolérem (MCU) | ||
# Blokové schéma vývojové sestavy | |||
# Blokové schéma MCU - základní | # Blokové schéma mikroprocesoru - CPU | ||
# Blokové schéma MCU - rozšířené | # Blokové schéma mikrokontroléru - MCU - základní | ||
# 8 bit. sčítačka | # Blokové schéma mikrokontroléru - MCU - rozšířené | ||
# | # Řadič, čítač instrukcí | ||
# | # Registr instrukcí, dekodér instrukcí | ||
# | # ALU, stavový registr (příznaky) | ||
# | # 8 bit. sčítačka | ||
# Logické operace v ALU | |||
# | # Sběrnice, budič sběrnice | ||
# | # Reset mikropočítače, watchdog | ||
# | # Časování CPU, instrukční cyklus, zřetězení instrukcí | ||
# | # Paměti - ROM, PROM, EEPROM | ||
# | # Připojení vnější paměti | ||
# | # Stránkování paměti | ||
# | # Organizace paměti dat (ROM) - přerušení | ||
# | # Organizace paměti dat (RAM) | ||
# Von Neumanova koncepce, Harvardská architektura | |||
# Architektura RISC a CISC mikrokontrolerů a jejich rozdíly (např.: 8051-ATmega328) | |||
# Kvaziobousměrný V/V obvod | |||
# Obvod s přepínáním směru přenosu | |||
# Připojení 7segmentovky | |||
# Připojení 2 ks 7segmentovek | |||
# Připojení MPX zobraz. jednotky | |||
# Připojení seriové zobrazovací jednotky | |||
# Připojení stejnosměrného motoru | |||
# Připojení krokového motoru | |||
# Připojení serva | |||
# Čítače / časovače | |||
# Sériové vstupní a výstupní obvody USART | |||
# Sériové vstupní a výstupní obvody IIC | |||
# Sériové vstupní a výstupní obvody SPI | |||
# Obvody PWM | |||
# AD převodník | |||
# MCU Z80, 8051, ATmega328 | |||
# MCU ESP8266, ESP32 | |||
# MCU RP2040 (Raspberry Pi PICO), Cortex (Raspberry Pi) | |||
# micro:bit | |||
|} | |} | ||
</div> | </div> | ||
| Řádek 166: | Řádek 189: | ||
T19. Opakování | T19. Opakování | ||
'''T4 | '''T4 – Periferní obvody MCU''' | ||
T23. Příklady připojení periférií k V/V branám LED, 7segment | T23. Příklady připojení periférií k V/V branám LED, 7segment | ||
T24. Tlačítko, klávesnice | T24. Tlačítko, klávesnice | ||
| Řádek 177: | Řádek 195: | ||
T26. Opakování | T26. Opakování | ||
''' | '''T5 - Obvody integrované v MCU''' | ||
T27. Čítače / časovače | T27. Čítače / časovače | ||
T28. '''Sériové vstupní a výstupní obvody UART''' | T28. '''Sériové vstupní a výstupní obvody UART''' | ||
| Řádek 187: | Řádek 205: | ||
T34. Opakování | T34. Opakování | ||
'''T6 - Přehled typů MCU''' | |||
T20. Z80, 8051, ATmega328 | |||
T21. ESP8266, ESP32 | |||
T22. RP2040 (Raspberry Pi PICO), Cortex (Raspberry Pi) | |||
|} | |} | ||
</div> | </div> | ||
Aktuální verze z 26. 5. 2025, 19:08
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
- https://cw.fel.cvut.cz/wiki/courses/b35apo/tutorials/start
Otázky ke zkoušení
| Opakovací otázky 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, | |
| 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 – Periferní obvody MCU
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í
T5 - Obvody integrované v MCU 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í T6 - Přehled typů MCU T20. Z80, 8051, ATmega328 T21. ESP8266, ESP32 T22. RP2040 (Raspberry Pi PICO), Cortex (Raspberry Pi) | |
| 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: | |
| |
