MIT3r
(→ETE Learning) |
(→Flat assembler: vývojářský nástroj ze staré školy) |
||
(Není zobrazeno 71 mezilehlých verzí od 1 uživatele.) | |||
Řádka 98: | Řádka 98: | ||
|} | |} | ||
+ | {| class="toccolours" cellpadding="5" style="float: right; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 30em" | ||
+ | | colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''[[Maturitní témata|Maturita]]''''' | ||
+ | |- style="vertical-align: top;" | ||
+ | | | ||
+ | {{Šablona:MIT3r-maturita}} | ||
+ | |} | ||
== MIT 3. ročník == | == MIT 3. ročník == | ||
Řádka 104: | Řá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: | + | 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]] | ||
Soubor:STC89C52RC.jpg|[[STC|STC89C52RC]] SW: Ceptimus | Soubor:STC89C52RC.jpg|[[STC|STC89C52RC]] SW: Ceptimus | ||
</gallery> | </gallery> | ||
+ | |||
+ | [[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=== | ||
+ | |||
+ | [[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]] | ||
=== Plán: === | === Plán: === | ||
Řádka 153: | Řádka 166: | ||
''' Periferní obvody integrované na čipu mikropočítače ''' 22 | ''' Periferní obvody integrované na čipu mikropočítače ''' 22 | ||
− | * 1 | + | * 1 [[Čítače / časovače]] |
− | * 9 | + | * 9 [[Přerušovací systém]] |
+ | * 11 [[Sériové vstupní a výstupní obvody UART]] | ||
* 13 [[Sériové vstupní a výstupní obvody IIC]] | * 13 [[Sériové vstupní a výstupní obvody IIC]] | ||
− | |||
* 16 [[Programovatelné čítačové pole]] | * 16 [[Programovatelné čítačové pole]] | ||
* 17 [[Záchytné jednotky]] | * 17 [[Záchytné jednotky]] | ||
Řádka 166: | Řádka 179: | ||
''' Další vlastnosti mikropočítače ''' 8 | ''' Další vlastnosti mikropočítače ''' 8 | ||
− | # [[Reset mikropočítače, watchdog]] | + | # 1 [[Reset mikropočítače, watchdog]] |
− | # [[Úsporné režimy]] | + | # 4 [[Úsporné režimy]] |
− | # [[Konfigurace mikropočítače | + | # 5 [[Konfigurace mikropočítače]] |
+ | # 6 [[Aplikační pravidla]] | ||
+ | # 7 [[Pprogramování paměti FLASH]] | ||
| style="background: #f0faE0; font-size: 85%; width: 30%; vertical-align: top;" | | | style="background: #f0faE0; font-size: 85%; width: 30%; vertical-align: top;" | | ||
Řádka 308: | Řádka 323: | ||
====Abdul Rehman 2050==== | ====Abdul Rehman 2050==== | ||
− | + | [[Soubor:MIT3r-YT-08.png|300px|link=https://youtu.be/cEvHdt4UYoQ|Assembly Language Program for LED Blinking for 8051]] | |
+ | [[Soubor:MIT3r-YT-00.png|300px|link=https://youtu.be/PHPcNxYEkQ4|How to create if else in assembly language]] | ||
+ | [[Soubor:MIT3r-YT-01.png|300px|link=https://youtu.be/R3Ad7N3EQOM|Rotating Bits and bytes in ACC register in 8051 assembly language tutorial]] | ||
− | + | ====Ekeeda==== | |
− | + | [[Soubor:MIT3r-YT-02.png|300px|link=https://youtu.be/g7Gypl9zNz8|8051 Microcontroller Assembly Language Programming Steps - Microcontrollers and Its Applications]] | |
− | + | [[Soubor:MIT3r-YT-03.png|300px|link=https://youtu.be/nIZdkdjuLMc|8051 Programming Example 2]] | |
− | + | ====Education 4u Bhanu priya==== | |
− | = | + | [[Soubor:MIT3r-YT-04.png|300px|link=https://youtu.be/myw7ycAgJYM|Simple programs of 8051 | Part-1/2 | Embedded Systems | Lec-6 | Bhanu priya]] |
− | + | ====Delay - DJNZ==== | |
− | + | [[Soubor:MIT3r-YT-05.png|300px|link=https://youtu.be/wddOC3Geyss|8051 microcontroller loop concepts presented by PROF SUMATHI M S]] | |
− | ==== | + | ====LED Flashing using Timer==== |
− | + | [[Soubor:MIT3r-YT-07.png|300px|link=https://youtu.be/kZM_YfoIgos|LED Flashing using Timer]] | |
− | ==== | + | ==== 8051 Interrupts ==== |
− | [[Soubor:MIT3r-YT- | + | [[Soubor:MIT3r-YT-13.png|300px|https://youtu.be/a17SdFtAbK4|8051 Interrupts]] [[Soubor:MIT3r-YT-12.png|400px|https://youtu.be/7l3-iq6OtEE|8051 Interrupts]] |
− | ==== | + | ==== 8051 Stepper motor ==== |
− | [[Soubor:MIT3r-YT- | + | [[Soubor:MIT3r-YT-14.png|400px|https://youtu.be/EOAXox9XzTI|8051 krokový motor]] |
+ | |||
+ | |||
+ | ==== Classroom: 8051 Microcontroller ==== | ||
+ | |||
+ | [[Soubor:MIT3r-YT-15.png|link=https://www.classcentral.com/course/youtube-8051-microcontroller-lecture-series-53060/classroom|Classroom: 8051 Microcontroller]] | ||
+ | |||
+ | ==Pineapple ONE== | ||
+ | |||
+ | [[Soubor:Pineapple_ONE_01.png|300px|link=https://pineapple-one.github.io/|Pineapple ONE]] | ||
+ | |||
+ | |||
+ | ==Build an 8-bit computer from scratch== | ||
+ | |||
+ | [[Soubor:Build_CPU_01.png|300px|link=https://eater.net/8bit|Build an 8-bit computer from scratch]] | ||
+ | |||
+ | |||
+ | [[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" | ||
+ | | colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky k opakování HW''''' | ||
+ | |- style="vertical-align: top;" | ||
+ | | | ||
+ | |||
+ | # 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í - 7segment]]ovka | ||
+ | # [[Př. připojení - 7segment]]ovky 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, dat, datová paměť EEPROM|Paměť mikropočítače, paměť programu]] | ||
+ | # [[Paměť mikropočítače, paměť programu, dat, datová paměť EEPROM|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]] | ||
+ | |} | ||
+ | |||
+ | {| class="toccolours" cellpadding="5" style="float: left; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 50em" | ||
+ | | 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) | ||
+ | |||
+ | # 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 | ||
+ | |||
+ | |} | ||
+ | ------ |
Aktuální verze z 16. 5. 2024, 08:27
Mikroprocesorová technika v 3. ročníku | ||||||||||||||||||||||||||||||
|
Domácí úkoly z teorie: | |
|
Domácí úkoly z cvičení: | |
MOV TMOD,#00000001B MOV TL0,#LOW 55536 MOV TH0,#HIGH 55536 skok: setb tr0 cpl p0.0 jnb tf0,skok nop end
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
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
|
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
nejpoužívanější instrukce: MOV, SETB, CLR, CJNE, SJMP, INC, DEC, JB, DJNZ, ACALL, RET |
Obsah |
MIT 3. ročník
3. ročník, 1 + 2 h týdně (celkově 36 + 72 = 108 h), povinný
IDE: MCU 8051 IDE pro vývoj aplikací v asm/C
STC89C52RC SW: Ceptimus
novinka: postavte si DIY FM Radio Kit Electronic Learning Assemble
Plán:
Pracovní listy pro cvičení:
assembler 8051 tutorial
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
Flat assembler: vývojářský nástroj ze staré školy
https://www.tiobe.com/tiobe-index/
Otázky k opakování SW | |
0. Seznam instrukcí (20/50)
nejpoužívanější instrukce: MOV, SETB, CLR, CJNE, SJMP, INC, DEC, JB, DJNZ, ACALL, RET |