|
|
Řádek 36: |
Řádek 36: |
| |- style="vertical-align: top;" | | |- style="vertical-align: top;" |
| | | | | |
| # 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.
| | 1- 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 [http://moo.sps-pi.cz/mod/resource/view.php?id=2479 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.
| | 2- Dle pracovního listu [http://moo.sps-pi.cz/mod/resource/view.php?id=2479 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.
| | 3- 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.
| | 4- 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. |
| # zjistit z programu (příloha č.1) jak dlouho bude LED blikat s frekvencí 125kHz
| | 5- Zjistěte z programu (příloha č.1) jak dlouho bude LED blikat s frekvencí 125kHz |
|
| |
|
| <source lang="asm"> | | <source lang="asm"> |
Řádek 54: |
Řádek 54: |
| </source> | | </source> |
|
| |
|
| # upravit 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á).
| | 6- 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á). |
|
| |
|
| <source lang="asm"> | | <source lang="asm"> |
Řádek 73: |
Řádek 73: |
| end | | end |
| </source> | | </source> |
| # Prodloužit dobu periody na 1 sec (t.j 0.5 sekundy svítí, 0.5 sekundy zhasnutá). Opět zde odevzdat všechny 3 řešení.
| | 7- 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.
| | 8- 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. |
|
| |
|
| <source lang="asm"> | | <source lang="asm"> |
Řádek 89: |
Řádek 89: |
| end | | end |
| </source> | | </source> |
| # 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.
| | 9- 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. |
| | 10- Napište a otestujte program pro odpočítávání čísel od 9 do 0. |
| * parametry: | | * parametry: |
| ** Změna po 1 sec. (využít C/T) | | ** Změna po 1 sec. (využít C/T) |
Řádek 97: |
Řádek 98: |
| ** Při 0 zazní signál (repro s 1kHz) | | ** Při 0 zazní signál (repro s 1kHz) |
| ** Signál z reproduktorku jen po určitou dobu (4s) | | ** Signál z reproduktorku jen po určitou dobu (4s) |
| | 11- V [[Tinkercad|Tinkercadu]] vyzkoušejte připojit 7segmentovku. PrtScr celé obrazovky, kde bude vidět zapojení a odzkoušený program, odevzdejte v odpovědi. |
| |} | | |} |
|
| |
|
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
Pozn.: Jak odevzdávat domácí úkoly
|
Domácí úkoly z cvičení:
|
1- 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.
2- 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.
3- Otestujte program pro počítání stisku tlačítka připojeného na T0 (P3.4). Odevzdejte PrtScr.
4- 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.
5- 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
6- 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
7- 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í.
8- 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
9- 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.
10- 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)
11- V Tinkercadu vyzkoušejte připojit 7segmentovku. PrtScr celé obrazovky, kde bude vidět zapojení a odzkoušený program, odevzdejte v odpovědi.
|
MIT 3. ročník
3. ročník, 1 + 2 h týdně (celkově 36 + 72 = 108 h), povinný
Plán:
Základní pojmy mikroprocesorové techniky 6
- Mikroprocesor, mikropočítač
- Blokové schéma mikropočítače, části mikropočítače
- Sběrnice, přerušení, přenos DMA
- Instrukční cyklus
Úvod do problematiky jednočipových mikropočítačů 16
- Mikroprocesor a jeho blokové schéma
- Čítač instrukcí, dekodér instrukcí, řadič
- ALU, příznaky
- Časování CPU, zřetězení instrukcí
- Reset mikropočítače
- Paměť mikropočítače, paměť programu
- Paměť dat, datová paměť EEPROM
- Stránkování paměti
- Obvody vstupu a výstupu
- Charakteristika, kvaziobousměrný V/V obvod
- V/V obvod s přepínáním směru přenosu
- Hlídací časovač WATCHDOG
- Další obvody umístěné na čipu mikropočítače
Jednočipové mikropočítače vybrané řady 14
- Základní vlastnosti, popis vývodů
- Bloková struktura
- Časování mikroprocesoru
- Organizace paměti ROM
- Organizace paměti RWM
- SFR
- Připojení vnější paměti
- Paralelní vstupní a výstupní obvody
- Př. připojení - 7segment
- Př. připojení - MPX zobraz. jednotka
- Př. připojení - seriová zobraz. jednotka
- Př. připojení - motory
Periferní obvody integrované na čipu mikropočítače 22
Další vlastnosti mikropočítače 8
- Reset mikropočítače, watchdog
- Úsporné režimy
- Konfigurace mikropočítače, aplikační pravidla, programování paměti FLASH
|
Přehled dalších typů jednočipových mikropočítačů 2
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)
|