Mikroprocesorová technika

Z MediaWiki SPŠ a VOŠ Písek
Skočit na navigaci Skočit na vyhledávání
Verze k tisku již není podporovaná a může obsahovat chyby s vykreslováním. Aktualizujte si prosím záložky ve svém prohlížeči a použijte prosím zabudovanou funkci prohlížeče pro tisknutí.


Mikroprocesorová technika v 3. ročníku
Pojetí předmětu: Učivo vyučovacího předmětu poskytuje studentům na přiměřené úrovni potřebné vědomosti o obvodech tvořících mikroprocesorové systémy a umo6ňuje zvládnutí jejich programování.
Cílové vědomosti: 8-bitové mikroprocesorové systémy
Cílové dovednosti: Praktické aplikace teoretických poznatků při návrhu a realizaci mikroprocesorových systémů.
Organizace výuky: 3. ročník: 2 hod. týdně = 2 hod teorie (68/rok) + 1 hodina týdně cvičení
Učební texty:

Icon-pdf.gif Učební texty na n:/DokumentyUčitelé/Janousek/MIT3r/_Učební texty


alt. http://moo.sps-pi.cz/course/view.php?id=76

alt. http://edu.sps-pi.cz

Písemné práce: moo.sps-pi.cz = kurz

Testy na teorii:

T1 - CPU
T2 - MCU
T3 - 8051 
T4 - Counter/Timer)

Cvičení:

Cv1 - Zobrazení čísel v počítači, aritmetické operace
Cv2 - Assembler 1 
Cv3 - Assembler 2 

Vyzkoušejte si jednotlivé testy a výsledný PrtScr odevzdejte dle domluvy (bakaláři, email, N:/.../Temp)

Písemné práce: Edubase

Archiv testů v EDUBASI (= používá se minimálně)

nejdřív se přihlaste na edu.sps-pi.cz (ex195.113.101.226) 
(usr: jmeno@sps-pi.cz psw: heslo do šk. sítě) a až pak klikněte na odkaz testu

Testy na teorii:

T1 - Základní pojmy MIT
T2 - Úvod do problematiky jednočipových mikropočítačů
T3 - Jednočipové mikropočítače řady 8051
T4 - Periferní obvody integrované na čipu mikrořadiče

Bonus: 
T5 - Další vlastnosti mikrořadičů
T6 - Další typy jednočipových mikropočítačů

Cvičení:

Cv1 - Zobrazení čísel
Cv2 - Program mikroprocesoru, instrukce (mirror)
Cv3 - Jazyk symbolických adres (mirror)

Bude-li zájem, vyzkoušejte si jednotlivé testy a výsledný PrtScr odevzdejte dle domluvy (bakaláři, email, N:/.../Temp)


Povinné práce:
  1. Projekt: Návrh MIT aplikace (seminární práce)
SW: PICAXE - MCU 8051 IDE - UP - ProgISP - alt. EdSim51
HW: PRESTO UNI board s 89S52 - RD2 kit - PRESTO - USBasp
Referáty:
  • Info k referátu z MIT3r zde
knihy:
  1. Jean Michel Bernard „Od logických obvodů k mikroprocesorům“ SNTL 1982
www:

Klasifikace

Výsledná známka je váhově složena ze známek jednotlivých:

  • malé zkoušení: (v lavici) váha 1
  • velké zkoušení: (před tabulí - zápis v sešitě) váha 1
  • malá písemná práce: (nečekaná) - váha 2
  • velká písemná práce: (plánovaná s možností si test vyzkoušet elektronicky) váha 10
    • test elektronicky v edu.sps-pi.cz nebo moo.sps-pi.cz: ​
      • 1 od 90%​
      • 2 od 80%​
      • 3 od 70%​
      • 4 od 60%​​
  • cvičení: (hodnocení za praktické výsledky) váha 5
  • sešit: (náhodná kontrola) váha 1
  • domácí úkol: váha 1
  • povinná (seminární) práce: váha 10

Podmínka úspěšné klasifikace:

  • absolvovat písemné práce min. na 60%
  • úspěšně odevzdané všechny povinné práce
  • 70% docházka


Domácí úkoly z teorie:
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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)
  11. 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.
  12. 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
  13. 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
  14. 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í:
  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
  1. 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
  1. 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í.
  2. 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
  1. 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.
  2. 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)
  1. 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ý

8051 Arduino/ATmega328 ESP8266 ESP32 Raspberry Pi Raspberry Pi Pico W


novinka: postavte si DIY FM Radio Kit Electronic Learning Assemble

DIY FM Radio Kit Electronic Learning Assemble

Plán:

Základní pojmy mikroprocesorové techniky 6

  1. Mikroprocesor, mikropočítač
  2. Blokové schéma mikropočítače, části mikropočítače
  3. Sběrnice, přerušení, přenos DMA
  4. Instrukční cyklus


Úvod do problematiky jednočipových mikropočítačů 16

  1. Mikroprocesor a jeho blokové schéma
  2. Čítač instrukcí, dekodér instrukcí, řadič
  3. ALU, příznaky
  4. Časování CPU, zřetězení instrukcí
  5. Reset mikropočítače
  6. Paměť mikropočítače, paměť programu
  7. Paměť dat, datová paměť EEPROM
  8. Stránkování paměti
  9. Obvody vstupu a výstupu
  10. Charakteristika, kvaziobousměrný V/V obvod
  11. V/V obvod s přepínáním směru přenosu
  12. Hlídací časovač WATCHDOG
  13. Další obvody umístěné na čipu mikropočítače


Jednočipové mikropočítače vybrané řady 14

  1. Základní vlastnosti, popis vývodů
  2. Bloková struktura
  3. Časování mikroprocesoru
  4. Organizace paměti ROM
  5. Organizace paměti RWM
  6. SFR
  7. Připojení vnější paměti
  8. Paralelní vstupní a výstupní obvody
  9. Př. připojení - 7segment
  10. Př. připojení - MPX zobraz. jednotka
  11. Př. připojení - seriová zobraz. jednotka
  12. Př. připojení - motory

Periferní obvody integrované na čipu mikropočítače 22


Další vlastnosti mikropočítače 8

  1. 1 Reset mikropočítače, watchdog
  2. 4 Úsporné režimy
  3. 5 Konfigurace mikropočítače
  4. 6 Aplikační pravidla
  5. 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


  1. Jazyk C pro mikrokontroléry 8051.
  2. Základní operace RIDE-51 (JA)
  3. Jednotlivé moduly programu (JA)
  4. Komunikace mikrokontroléru s prostředím (JA)

Obsluha periférií - C:

  1. Modul LED, Modul dvoumístného displeje (CSI)
  2. Modul čtyřmístného displeje (MPX) (CSI)
  3. Modul LCD displeje (CSI)
  4. Obsluha tlačítka, Obsluha klávesnice (CSI)
  5. Modul posuvného registru, Sériová komunikace, PWM (CSI)
  6. Využití analogových vstupů (CSI)
  7. Ovládání motorů (CSI)
  8. I2C komunikace (CSI)
  9. SPI periferie (CSI)

assembler 8051 tutorial

Abdul Rehman 2050

Assembly Language Program for LED Blinking for 8051 How to create if else in assembly language Rotating Bits and bytes in ACC register in 8051 assembly language tutorial

Ekeeda

8051 Microcontroller Assembly Language Programming Steps - Microcontrollers and Its Applications

8051 Programming Example 2

Education 4u Bhanu priya

Bhanu priya

Delay - DJNZ

8051 microcontroller loop concepts presented by PROF SUMATHI M S

LED Flashing using Timer

LED Flashing using Timer

8051 Interrupts

8051 Interrupts 8051 Interrupts

8051 Stepper motor

8051 krokový motor


Classroom: 8051 Microcontroller

Classroom: 8051 Microcontroller

Pineapple ONE

Pineapple ONE


Build an 8-bit computer from scratch

Build an 8-bit computer from scratch


Anas Kuzechie Projects

Flat assembler: vývojářský nástroj ze staré školy

https://www.tiobe.com/tiobe-index/

Adafruit's CH552 8051 QT Py Is a Tiny Modern Dev Board

Otázky k opakování HW
  1. Minimální schéma zapojení s MCU
  2. Blokové schéma vývojové sestavy
  3. Blokové schéma CPU
  4. Blokové schéma MCU - základní
  5. Blokové schéma MCU - rozšířené
  6. Čítač instrukcí
  7. Registr instrukcí, dekodér instrukcí
  8. PSW
  9. ALU, příznaky
  10. 8 bit. sčítačka
  11. Logické operace v ALU
  12. Reset mikropočítače
  13. Paměť mikropočítače - druhy
  14. Připojení vnější paměti
  15. Obvody vstupu a výstupu - kvaziobousměrný V/V obvod
  16. Obvody vstupu a výstupu - obvod s přepínáním směru přenosu
  17. Organizace paměti dat včetně SFR
  18. SFR
  19. Časování mikroprocesoru
  20. Př. připojení - 7segmentovka
  21. Př. připojení - 7segmentovky 2ks
  22. Př. připojení - MPX zobraz. jednotka
  23. Př. připojení - seriová zobraz. jednotka
  24. Př. připojení - motory - stejnosměrný motor
  25. Př. připojení - motory - krokový motor
  26. Př. připojení - motory - servo motoru
  27. Čítače / časovače
  28. Sériové vstupní a výstupní obvody UART
  29. Přerušovací systém
  30. Programovatelné čítačové pole PCA
  31. Záchytné jednotky
  32. Komparační jednotky
  33. Obvody PWM
  34. AD převodník
  35. Sériové vstupní a výstupní obvody IIC
  36. Sériové vstupní a výstupní obvody SPI
  37. Hlídací časovač WATCHDOG
  38. Logo!
  39. Arduino
  40. Raspberry Pi
  41. Node-RED


  1. Mikroprocesor, mikropočítač
  2. Blokové schéma mikropočítače, části mikropočítače
  3. Sběrnice, přerušení, přenos DMA
  4. Instrukční cyklus
  5. Mikroprocesor a jeho blokové schéma
  6. Čítač instrukcí, dekodér instrukcí, řadič
  7. Časování CPU, zřetězení instrukcí
  8. Reset mikropočítače
  9. Paměť mikropočítače, paměť programu
  10. Paměť dat, datová paměť EEPROM
  11. Stránkování paměti
  12. Obvody vstupu a výstupu
  13. Charakteristika, kvaziobousměrný V/V obvod
  14. V/V obvod s přepínáním směru přenosu
  15. Další obvody umístěné na čipu mikropočítače
  16. Základní vlastnosti, popis vývodů
  17. Bloková struktura
  18. Organizace paměti ROM
  19. Organizace paměti RWM
  20. Paralelní vstupní a výstupní obvody
Otázky k opakování SW

0. Seznam instrukcí (20/50)

  1. Přesuny dat pomocí přímého adresování
  2. Přesuny dat pomocí nepřímého adresování
  3. Zápis na port (LED, 7segment)
  4. Čtení z portu (tlačítko, klávesnice)
  5. Řízení 7segmentovky
  6. Podmíněné skoky bytové
  7. Podmíněné skoky bitové
  8. Časové smyčky s použitím registrů R0, R1....
  9. Časové smyčky s použitím čítače/časovače
  10. Počítání počtu vst. impulsů na P3.4 (T0)
  11. Přesun dat z RAM na PORT
  12. Přesun dat z ROM na PORT
  13. Logické operace
  14. Operace rotace
  15. Volání podprogramu
  16. Test 2xTL a řízení LED dle funkce AND
  17. Test 2xTL a řízení LED dle funkce OR
  18. Test 2xTL a řízení LED dle funkce XOR
  19. Vývoj. diagram pro test 3xTL a řízení LED dle funkce LED = 1 pro i = {1,4}
  20. Využití přerušení INT0
  21. Využití přerušení TF0

nejpoužívanější instrukce: MOV, SETB, CLR, CJNE, SJMP, INC, DEC, JB, DJNZ, ACALL, RET