|
|
(Není zobrazeno 6 mezilehlých verzí od 1 uživatele.) |
Řádka 110: |
Řádka 110: |
| <gallery> | | <gallery> |
| Soubor:MCU-8051-IDE-screen.png|IDE: [[MCU 8051 IDE]] pro vývoj aplikací v asm/C | | Soubor:MCU-8051-IDE-screen.png|IDE: [[MCU 8051 IDE]] pro vývoj aplikací v asm/C |
− | Soubor:ATM13.png|HW: [[ATM13|UNI board s 89S52]] | + | Soubor:89S51-sch.png|HW: [[ATM80|UNI board s 89S52]] |
| Soubor:D10_HW_presto.jpg|Programátor: [[PRESTO]] SW: [[UP]] | | Soubor:D10_HW_presto.jpg|Programátor: [[PRESTO]] SW: [[UP]] |
| Soubor:Arduino_01.jpg|[[Arduino]] | | Soubor:Arduino_01.jpg|[[Arduino]] |
Řádka 116: |
Řádka 116: |
| </gallery> | | </gallery> |
| | | |
− | [[Soubor:8051-logo.gif|link=8051|8051]] [[Soubor:Arduino_link-01.jpg|120px|link=Arduino|Arduino]] [[Soubor:ESP8266.png|120px|link=ESP8266|ESP8266]] [[Soubor:ESP32.png|120px|link=ESP8266|ESP32]] [[Soubor:Raspberry_Pi_2.png|120px|link=Raspberry_Pi|Raspberry Pi]] [[Soubor:Raspberry_Pico.png|120px|link=Raspberry_Pi|Raspberry Pi Pico W]] [[Soubor:D10_HW_picaxe.jpg|120px|link=PICAXE|PICAXE]] | + | [[Soubor:8051-logo.gif|link=8051|8051]] [[Soubor:Arduino_link-01.jpg|160px|link=Arduino|Arduino/ATmega328]] [[Soubor:ESP8266.png|120px|link=ESP8266|ESP8266]] [[Soubor:ESP32.png|120px|link=ESP8266|ESP32]] [[Soubor:Raspberry_Pi_2.png|200px|link=Raspberry_Pi|Raspberry Pi]] [[Soubor:Raspberry_Pico.png|160px|link=Raspberry_Pi|Raspberry Pi Pico W]] |
| | | |
| | | |
Řádka 369: |
Řádka 369: |
| | | |
| [[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]] |
| + | |
| + | == [https://www.root.cz/clanky/flat-assembler-vyvojarsky-nastroj-ze-stare-skoly/ Flat assembler: vývojářský nástroj ze staré školy] == |
| + | |
| + | https://www.tiobe.com/tiobe-index/ |
| + | |
| + | [[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]] |
| | | |
| {| class="toccolours" cellpadding="5" style="float: left; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 50em" | | {| class="toccolours" cellpadding="5" style="float: left; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 50em" |
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
- 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
|
3. ročník, 1 + 2 h týdně (celkově 36 + 72 = 108 h), povinný