|
|
(Není zobrazeno 5 mezilehlých verzí od stejného uživatele.) |
Řádek 110: |
Řádek 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]] |
Řádek 116: |
Řádek 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|200px|link=Raspberry_Pi|Raspberry Pi]] [[Soubor:Raspberry_Pico.png|180px|link=Raspberry_Pi|Raspberry Pi Pico W]] | | [[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]] |
|
| |
|
|
| |
|
| ===novinka: postavte si DIY FM Radio Kit Electronic Learning Assemble=== | | ===novinka: postavte si DIY FM Radio Kit Electronic Learning Assemble=== |
|
| |
|
| [[Soubor:fmradio.png|DIY FM Radio Kit Electronic Learning Assemble|link=https://www.aliexpress.com/item/1005003201639265.html?spm=a2g0o.productlist.0.0.63f51dfe4gzPCS&algo_pvid=fe930595-6c44-457a-8fa8-f3ea885e25da&algo_exp_id=fe930595-6c44-457a-8fa8-f3ea885e25da-31&pdp_ext_f=%7B%22sku_id%22%3A%2212000024635078864%22%7D&pdp_npi=2%40dis%21USD%2122.87%2121.73%21%21%21%21%21%402100bdd016626400099164540ed548%2112000024635078864%21sea&curPageLogUid=hrGiUBu66ZAJ]] | | [[Soubor:fmradio.png|DIY FM Radio Kit Electronic Learning Assemble]] |
|
| |
|
| === Plán: === | | === Plán: === |
Řádek 369: |
Řádek 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" |
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
- 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, 1 + 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
- 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
- 1 Reset mikropočítače, watchdog
- 4 Úsporné režimy
- 5 Konfigurace mikropočítače
- 6 Aplikační pravidla
- 7 Pprogramová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)
|
Abdul Rehman 2050
Ekeeda
Education 4u Bhanu priya
Delay - DJNZ
LED Flashing using Timer
8051 Interrupts
8051 Stepper motor
Classroom: 8051 Microcontroller
Pineapple ONE
Build an 8-bit computer from scratch
https://www.tiobe.com/tiobe-index/
Otázky k opakování HW
|
- Minimální schéma zapojení s MCU
- Blokové schéma vývojové sestavy
- Blokové schéma CPU
- Blokové schéma MCU - základní
- Blokové schéma MCU - rozšířené
- Čítač instrukcí
- Registr instrukcí, dekodér instrukcí
- PSW
- ALU, příznaky
- 8 bit. sčítačka
- Logické operace v ALU
- Reset mikropočítače
- Paměť mikropočítače - druhy
- Připojení vnější paměti
- Obvody vstupu a výstupu - kvaziobousměrný V/V obvod
- Obvody vstupu a výstupu - obvod s přepínáním směru přenosu
- Organizace paměti dat včetně SFR
- SFR
- Časování mikroprocesoru
- Př. připojení - 7segmentovka
- Př. připojení - 7segmentovky 2ks
- Př. připojení - MPX zobraz. jednotka
- Př. připojení - seriová zobraz. jednotka
- Př. připojení - motory - stejnosměrný motor
- Př. připojení - motory - krokový motor
- Př. připojení - motory - servo motoru
- Čítače / časovače
- Sériové vstupní a výstupní obvody UART
- Přerušovací systém
- Programovatelné čítačové pole PCA
- Záchytné jednotky
- Komparační jednotky
- Obvody PWM
- AD převodník
- Sériové vstupní a výstupní obvody IIC
- Sériové vstupní a výstupní obvody SPI
- Hlídací časovač WATCHDOG
- Logo!
- Arduino
- Raspberry Pi
- Node-RED
- Mikroprocesor, mikropočítač
- Blokové schéma mikropočítače, části mikropočítače
- Sběrnice, přerušení, přenos DMA
- Instrukční cyklus
- Mikroprocesor a jeho blokové schéma
- Čítač instrukcí, dekodér instrukcí, řadič
- Č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
- Další obvody umístěné na čipu mikropočítače
- Základní vlastnosti, popis vývodů
- Bloková struktura
- Organizace paměti ROM
- Organizace paměti RWM
- Paralelní vstupní a výstupní obvody
|
Otázky k opakování SW
|
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
|