|
|
Řádek 365: |
Řádek 365: |
| [[Soubor:ch552-8051.png|300px|link=https://www.hackster.io/news/adafruit-s-ch552-8051-qt-py-is-a-tiny-modern-dev-board-with-a-vintage-twist-7295840ed641|Adafruit's CH552 8051 QT Py Is a Tiny Modern Dev Board]] | | [[Soubor:ch552-8051.png|300px|link=https://www.hackster.io/news/adafruit-s-ch552-8051-qt-py-is-a-tiny-modern-dev-board-with-a-vintage-twist-7295840ed641|Adafruit's CH552 8051 QT Py Is a Tiny Modern Dev Board]] |
|
| |
|
| ==Teorie==
| |
|
| |
|
| {| class="toccolours" cellpadding="5" style="float: left; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 45em" | | == Opakování == |
| | colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky k opakování HW''''' | | |
| |- style="vertical-align: top;" | | <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 mikrokontrolérem (MCU) | | # Minimální schéma zapojení s mikrokontrolérem (MCU) |
Řádek 416: |
Řádek 419: |
|
| |
|
| |} | | |} |
| | </div> |
| | |
|
| |
|
| ==Cvičení== | | <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 cvičení''''' |
| | |- style="vertical-align: top;" |
| | | |
|
| |
|
| {| class="toccolours" cellpadding="5" style="float: left; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 45em"
| |
| | colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky k opakování SW'''''
| |
| |- style="vertical-align: top;"
| |
| |
| |
|
| |
|
| 0. Seznam instrukcí (20/50) | | 0. Seznam instrukcí (20/50) |
Řádek 451: |
Řádek 456: |
|
| |
|
| |} | | |} |
| | |
| | </div> |
| ---- | | ---- |
Verze z 14. 5. 2025, 12:38
Mikroprocesorová technika v 3. ročníku
|
|
Domácí úkoly z teorie:
|
- Stáhněte si učební text na MIT j:\MIT3r\_Učební texty\Teorie\3.2_Řada_8051.pdf a nastudujte str. 13. a 14. Potvrďte splnění úkolu tím, že mi pošlete PrtScr z uvedených stran.
- Do sešitu (pokud možno zpaměti) nakreslete schéma připojení 4místného displeje v multiplexním režimu (ze studia z pondělí). Dále ze stejného učebního textu nakreslete i schéma připojení displeje se seriovým přenosem dat. Odevzdejte obrázek sešitu (obě schéma na jedné stránce) zde formou odpovědi t.j NE jako přílohu.
- Přihlašte se do kurzu
http://moo.sps-pi.cz/course/view.php?id=76 user/psw jako ve škole. Klíč do kurzu: xxx V dostupném textu Učební text: T3 - Jednočipové mikropočítače řady 8051 si projděte otázky a úkoly (str. 16, je to stejný učební text jako minulý týden) a připravte se na čtvrteční opakovací test.
- V kurzu http://moo.sps-pi.cz/mod/resource/view.php?id=2461 nastudujte část věnovanou čítači/časovači (str. 1-4), do sešitu zapište poznámky a hlavně obr. z přílohy.
- Nastudujte kap. 3.2. seriový kanál (http://moo.sps-pi.cz/mod/resource/view.php?id=2461), proveďte si zápis poznámek do sešitu a odevzdejte foto sešitu do odpovědi.
- Pokuste se najít na netu info o integrovaném obvodu MCP23017. Poznámky si zapište do sešitu (schéma aplikačního zapojení) a do odpovědi na tento úkol uveďte www, z kterých jste čerpali.
- Nastudujte kap. 3.3. Přerušovací systém (http://moo.sps-pi.cz/mod/resource/view.php?id=2461), proveďte si zápis poznámek v rozumném rozsahu (hlavně obr. z přílohy) do sešitu a odevzdejte foto sešitu do odpovědi.
- Nastudujte kap. 3.4. Programovatelné čítačové pole od str.13, záchytný systém od str.15 a komparační systém od str. 16 (http://moo.sps-pi.cz/mod/resource/view.php?id=2461). Proveďte si zápis poznámek všeho co je zde v příloze do sešitu a odevzdejte foto sešitu do odpovědi. Úkol i na čtvrtek.
- Nastudujte kap. 3.4. Pulsně šířková modulace od str.18 (http://moo.sps-pi.cz/mod/resource/view.php?id=2461). Proveďte si zápis poznámek (hlavně to co je zde v příloze) do sešitu a odevzdejte foto sešitu do odpovědi. Úkol i na čtvrtek.
- Podívejte se na výsledky letošního školního a krajského kola SOČ SOČ 2020 Do odpovědi na tento úkol zkopírujte link na video prezentaci SOČ práce, která vás nejvíce zaujala. Pozn.: Soutěží se v 18ti vědních oborech. Letos museli soutěžící natočit video o své práci a umístit na YT. (vyhledávací slova: Středoškolská odborná činnost a číslo oboru (10, 18 ....)) . Např. pro obor Elektrotechnika: Středoškolská odborná činnost 10 (https://bit.ly/2yaQ9m7) nebo pro obor Informatika: Středoškolská odborná činnost 18 (https://bit.ly/2Sj8wME)
- Připravte se na test z programování. Vypište si do sešitu z druhé strany pod sebe příklady (ideálně tak 30) na použití instrukcí v JSA (vždy na samostatný řádek instrukci + komentář) např.: mov A,#25 ; zápis čísla 25d do Akumulátoru atd. Odevzdejte buď foto sešitu a nebo txt z MCU 8051 IDE.
- V návaznosti na již získané podvědomí o MCU ATmega328, které se nachází ve vývojové desce Arduino, shlédněte nějaké úvodní video (vybrat lze odsud: Tutorials
- Postupně v aplikaci TinkerCad vyzkoušejte úkoly tak, aby jste mohli sestavit a naprogramovat mikroprocesorovou aplikaci s Arduinem postupně ovládající LED, RGB, 7segmentovku spolu s tlačítkem, potenciometrem apod.(PIR, LDR, čidle teploty, PING, servo, krokový motor.....) Odevzdejte PrtScr každého nového experimentu. Pro úplné začátky Blink-an-LED-With-Arduino-in-Tinkercad

- V Tincercadu vyzkoušejte připojit RGB LED. PrtScr celé obrazovky, kde bude vidět zapojení a odzkoušený program odevzdejte v odpovědi. V komentáři na začátku programu napište kolik barevných odstínů (kombinací) je program schopen vygenerovat.
Pozn.: Jak odevzdávat domácí úkoly
|
Domácí úkoly z cvičení:
|
- Nastudujte komplet pracovní list j:\MIT3r\_Učební texty\Cvičení\Úkoly\1_Základy_programování\Prac_list_05 - delay DJNZ - časovač.pdf vyzkoušejte v MCU8051IDE, elektronicky pošlete PrtScr z IDE o výsledcích Vaší práce.
- Dle pracovního listu Prac_list_05 - delay DJNZ - časovač.pdf vyzkoušejte nastavit časovač tak, aby doba běhu do přetečení (TF0) byla 50 ms. Tuto dobu aplikujte na blikání LED a vypište do komentáře výslednou frekvenci blikání LED při takovémto nastavení. Odevzdejte kód programu jako odpověď na tento úkol.
- Otestujte program pro počítání stisku tlačítka připojeného na T0 (P3.4). Odevzdejte PrtScr.
- Napište program zobrazovaní čísel 0 až 9 na 7segmentovce. Frekvenci změn nastavte na 25 ms (lze popřemýšlet nad řešením prodloužení času na 1s). Odevzdejte PrtScr.
- Zjistěte z programu (příloha č.1) jak dlouho bude LED blikat s frekvencí 125kHz.
MOV TMOD,#00000001B
MOV TL0,#LOW 55536
MOV TH0,#HIGH 55536
skok: setb tr0
cpl p0.0
jnb tf0,skok
nop
end
- Upravte program (příloha č.2) tak aby výsledná doba periody byla v poměru 1:1 (stejnou dobu LED na P1.7 svítí, stejnou dobu je zhasnutá).
mov TMOD,#00000001b
mov A,#00000001b
loop: RR A
mov P1,A
acall delay ;10 ms
sjmp loop
delay: setb TR0
mov TL0,#LOW 55546
mov TH0,#HIGH 55546
jnb TF0,$
clr TF0
ret
end
- Prodlužte dobu periody na 1 sec (t.j 0.5 sekundy svítí, 0.5 sekundy zhasnutá). Opět odevzdejte všechny 3 řešení.
- Modifikujte program ze cvičení tak, aby dokázal postupně číst data z tabulky pomocí nepřímého adresování a postupně je zobrazoval na displeji.
mov DPTR,#tab ;do DPTR začátek tabulky
loop: mov A,#1
movc A,@A+DPTR
mov P0,A
sjmp loop
tab: db 11000000b ;0 uloženo v ROM
db 11111001b ;1
db 10100100b ;2
end
- Napište program, který bude měnit postupně čísla 1 až 6 zobrazované na 7segmentovém displeji na základě stisku tlačítka. Program do odpovědi.
- Napište a otestujte program pro odpočítávání čísel od 9 do 0.
- parametry:
- Změna po 1 sec. (využít C/T)
- Čítač spustit tlačítkem.
- Při 0 se rozsvítí LED (dP = tečka na 7segmentovce)
- Při 0 zazní signál (repro s 1kHz)
- Signál z reproduktorku jen po určitou dobu (4s)
- V Tinkercadu vyzkoušejte připojit 7segmentovku. PrtScr celé obrazovky, kde bude vidět zapojení a odzkoušený program, odevzdejte v odpovědi.
|
Maturita
|
Programování mikrořadiče 8051 v asembleru - komunikace mikrořadiče s jednoduchými perifériemi (LED, spínače, sedmisegmentovka) 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
|
MIT 3. ročník
3. ročník, 2 + 2 h týdně (celkově 36 + 72 = 108 h), povinný
novinka: postavte si DIY FM Radio Kit Electronic Learning Assemble
Plán:
Základní pojmy mikroprocesorové techniky 6
T1 Úvod do předmětu
T2 Mikroprocesor, mikropočítač
T3 Blokové schéma mikropočítače, části mikropočítače
T4 Sběrnice, přerušení, přenos DMA
T5 Instrukční cyklus
T6 Opakování
Úvod do problematiky jednočipových mikropočítačů 16
T7 Mikroprocesor a jeho blokové schéma
T8 Čítač instrukcí, dekodér instrukcí, řadič
T9 ALU, příznaky
T10 Časování CPU, zřetězení instrukcí
T11 Reset mikropočítače
T12 Paměť mikropočítače, paměť programu
T13 Paměť dat, datová paměť EEPROM
T14 Stránkování paměti
T15 Obvody vstupu a výstupu
T16 Charakteristika, kvaziobousměrný V/V obvod
T17 V/V obvod s přepínáním směru přenosu
T18 Hlídací časovač WATCHDOG
T19 Další obvody umístěné na čipu mikropočítače
T20 Opakování
T21 Opakování
T22 Test
Jednočipové mikropočítače vybrané řady 14
T23 Základní vlastnosti, popis vývodů
T24 Bloková struktura
T25 Časování mikroprocesoru
T26 Organizace paměti ROM
T27 Organizace paměti RWM
T28 SFR
T29 Připojení vnější paměti
T30 Paralelní vstupní a výstupní obvody
T31 Př. připojení - 7segment
T32 Př. připojení - MPX zobraz. jednotka
T33 Př. připojení - seriová zobraz. jednotka
T34 Př. připojení - motory
T35 Opakování
T36 Test
Periferní obvody integrované na čipu mikropočítače 22
T37 Čítače / časovače
T40 Přerušovací systém
T42 Sériové vstupní a výstupní obvody UART
T43 Sériové vstupní a výstupní obvody IIC
T44 Programovatelné čítačové pole
T46 Záchytné jednotky
T47 Komparační jednotky
T48 Obvody PWM
T50 AD převodník
T51 Sériové vstupní a výstupní obvody SPI
T53 Opakování
T54 Test
Další vlastnosti mikropočítače 8
T55 Reset mikropočítače, watchdog
T56 Úsporné režimy
T57 Konfigurace mikropočítače
T58 Aplikační pravidla
T59 Programování paměti FLASH
|
Přehled dalších typů jednočipových mikropočítačů 2
T60 Nejpoužívanější řady mikropočítačů, stručná charakteristika
T61 Směry budoucího vývoje jednočipových mikropočítačů
T62 Zobrazení celých čísel bez znam. a se znam., doplňkový kód, aritm. operace
T63 Aritmetické operace, příznaky, operace s čísly v BCD kódu
T64 Opakování
T65 Opakování
T66 Opakování
T67 Opakování
T68 Opakování
Cvičení:
T1 - Program mikroprocesoru, instrukce
T2 - Jazyk symbolických adres – assembler
Základy programování v asembleru a v jazyce C
T3 - Seznámení s IVP, zapsání a odladění jednoduchého programu
T4 - Programy na přesuny dat
T5 - Aritmetické operace, porovnání
T6 - Větvení programu, programové cykly
T7 - Přesuny bloků dat
T8 - Připojení jednoduchých periférií (tlačítka, LED, sedmisegmentovka)
T9 - Zápis na port, gener. zpoždění program. smyčkou, obsluha LED (běžící světlo)
T10 - Generování zpoždění časovačem, obsluha LED (různé efekty)
T11 - Čtení z portu, využití logických a bitových operací k úpravě přečtených informací
T12 - Čtení z portu, ošetření zákmitů tlačítek, počítání a zobrazení počtu stisků
T13 - Programová obsluha sedmisegmentovky
T14 - Obsluha přerušení od čítače a vnějšího přerušení
T15 - T17 Práce na projektu, Tvorba a ladění programu, oživení aplikace
Bonus:
Obsluha periférií, využití dalších obvodů na čipu
|
Pracovní listy pro cvičení:
T1 Zobrazení čísel v počítači, aritmetické operace
Test T1
T2 Program mikroprocesoru Instrukce
Test T2
T3 Jazyk symbolických adres (asembler)
Test T3
Otevřené otázky T3
Základy_programování:
T4 Přesuny dat, přímé a nepřímé adresování SI
T5 Aritmetické operace, porovnání SI
T6 Programové cykly, komunikace s vnější pamětí dat, čtení z tabulky SI
T7 Programové cykly, testování obsahu paměťových míst SI
T8 Práce s porty, ovládání LED diod, zpožďovací podprogramy, časovač SI
T9 Práce s porty, zobrazování znaků na sedmisegmentovce SI
Obsluha_periférií - asm:
T10 Obsluha třímístného displeje SI
T11 Obsluha klávesnice 3x4 SI
T12 Obsluha maticového displeje SI
T13 Řízení krokového motoru SI
T14 Obsluha displejem se sériovým přenosem dat SI
T15 Obsluha dvouřádkového LCD displeje SI
T16 Sériová komunikace SI
|
- Jazyk C pro mikrokontroléry 8051.
- Základní operace RIDE-51 (JA)
- Jednotlivé moduly programu (JA)
- Komunikace mikrokontroléru s prostředím (JA)
Obsluha periférií - C:
- Modul LED, Modul dvoumístného displeje (CSI)
- Modul čtyřmístného displeje (MPX) (CSI)
- Modul LCD displeje (CSI)
- Obsluha tlačítka, Obsluha klávesnice (CSI)
- Modul posuvného registru, Sériová komunikace, PWM (CSI)
- Využití analogových vstupů (CSI)
- Ovládání motorů (CSI)
- I2C komunikace (CSI)
- SPI periferie (CSI)
|
Pineapple ONE
Build an 8-bit computer from scratch
https://www.tiobe.com/tiobe-index/
Opakování
Otázky k opakování z teorie
|
- Minimální schéma zapojení s mikrokontrolérem (MCU)
- Blokové schéma vývojové sestavy
- Blokové schéma mikroprocesoru - CPU
- Blokové schéma mikrokontroléru - MCU - základní
- 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 UART
- Sériové vstupní a výstupní obvody IIC
- Sériové vstupní a výstupní obvody SPI
- Obvody PWM
- AD převodník
- Programovatelné čítačové pole PCA
- Záchytné jednotky
- Komparační jednotky
- Úsporné režimy
- Přehled MCU Z80, 8051, ATmega328
- Přehled MCU ESP8266, ESP32
- Přehled MCU RP2040 (Raspberry Pi PICO), Cortex (Raspberry Pi)
|
Otázky k opakování ze cvičení
|
0. Seznam instrukcí (20/50)
- Přesuny dat pomocí přímého adresování
- Přesuny dat pomocí nepřímého adresování
- Zápis na port (LED, 7segment)
- Čtení z portu (tlačítko, klávesnice)
- Řízení 7segmentovky
- Podmíněné skoky bytové
- Podmíněné skoky bitové
- Časové smyčky s použitím registrů R0, R1....
- Časové smyčky s použitím čítače/časovače
- Počítání počtu vst. impulsů na P3.4 (T0)
- Přesun dat z RAM na PORT
- Přesun dat z ROM na PORT
- Logické operace
- Operace rotace
- Volání podprogramu
- Test 2xTL a řízení LED dle funkce AND
- Test 2xTL a řízení LED dle funkce OR
- Test 2xTL a řízení LED dle funkce XOR
- Vývoj. diagram pro test 3xTL a řízení LED dle funkce LED = 1 pro i = {1,4}
- Využití přerušení INT0
- Využití přerušení TF0
nejpoužívanější instrukce: MOV, SETB, CLR, CJNE, SJMP, INC, DEC, JB, DJNZ, ACALL, RET
|