MIT3r
(→8051 Stepper motor) |
(→Flat assembler: vývojářský nástroj ze staré školy) |
||
(Není zobrazeno 24 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: | + | 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|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 165: | Řá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 178: | Řá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 320: | Řádka 323: | ||
====Abdul Rehman 2050==== | ====Abdul Rehman 2050==== | ||
− | [[Soubor:MIT3r-YT-08.png|link=https://youtu.be/cEvHdt4UYoQ|Assembly Language Program for LED Blinking for 8051]] | + | [[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-00.png|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]] |
− | + | ||
− | [[Soubor:MIT3r-YT-01.png|link=https://youtu.be/R3Ad7N3EQOM|Rotating Bits and bytes in ACC register in 8051 assembly language tutorial]] | + | |
====Ekeeda==== | ====Ekeeda==== | ||
− | [[Soubor:MIT3r-YT-02.png|link=https://youtu.be/g7Gypl9zNz8|8051 Microcontroller Assembly Language Programming Steps - Microcontrollers and Its Applications]] | + | [[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|link=https://youtu.be/nIZdkdjuLMc|8051 Programming Example 2]] | + | [[Soubor:MIT3r-YT-03.png|300px|link=https://youtu.be/nIZdkdjuLMc|8051 Programming Example 2]] |
====Education 4u Bhanu priya==== | ====Education 4u Bhanu priya==== | ||
− | [[Soubor:MIT3r-YT-04.png|link=https://youtu.be/myw7ycAgJYM|Simple programs of 8051 | Part-1/2 | Embedded Systems | Lec-6 | 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==== | ====Delay - DJNZ==== | ||
− | [[Soubor:MIT3r-YT-05.png|link=https://youtu.be/wddOC3Geyss|8051 microcontroller loop concepts presented by PROF SUMATHI M S]] | + | [[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==== | ====LED Flashing using Timer==== | ||
− | [[Soubor:MIT3r-YT-07.png| | + | [[Soubor:MIT3r-YT-07.png|300px|link=https://youtu.be/kZM_YfoIgos|LED Flashing using Timer]] |
==== 8051 Interrupts ==== | ==== 8051 Interrupts ==== | ||
− | [[Soubor:MIT3r-YT-13.png| | + | [[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 ==== | ==== 8051 Stepper motor ==== | ||
Řádka 352: | Řádka 353: | ||
[[Soubor:MIT3r-YT-14.png|400px|https://youtu.be/EOAXox9XzTI|8051 krokový motor]] | [[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" | {| 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í''''' | + | | colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky k opakování HW''''' |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
| | | | ||
# Minimální schéma zapojení s MCU | # Minimální schéma zapojení s MCU | ||
+ | # Blokové schéma vývojové sestavy | ||
# Blokové schéma CPU | # Blokové schéma CPU | ||
# Blokové schéma MCU - základní | # Blokové schéma MCU - základní | ||
Řádka 365: | Řádka 389: | ||
# Registr instrukcí, dekodér instrukcí | # Registr instrukcí, dekodér instrukcí | ||
# PSW | # PSW | ||
− | # ALU | + | # [[ALU, příznaky]] |
# 8 bit. sčítačka | # 8 bit. sčítačka | ||
# Logické operace v ALU | # Logické operace v ALU | ||
# Reset mikropočítače | # Reset mikropočítače | ||
− | # Paměť 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 - kvaziobousměrný V/V obvod | ||
# Obvody vstupu a výstupu - obvod s přepínáním směru přenosu | # Obvody vstupu a výstupu - obvod s přepínáním směru přenosu | ||
− | # Organizace paměti dat | + | # Organizace paměti dat včetně SFR |
− | # SFR | + | # [[SFR]] |
− | # Časování mikroprocesoru | + | # [[Č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 | |
− | # Čítače / časovače | + | # [[Záchytné jednotky]] |
− | # Sériové vstupní a výstupní obvody UART | + | # [[Komparační jednotky]] |
− | # Přerušovací systém | + | # [[Obvody PWM]] |
− | # Programovatelné čítačové pole | + | # [[AD převodník]] |
− | # Záchytné jednotky | + | # [[Sériové vstupní a výstupní obvody IIC]] |
− | # Komparační jednotky | + | # [[Sériové vstupní a výstupní obvody SPI]] |
− | # Obvody PWM | + | # [[Hlídací časovač WATCHDOG]] |
− | # AD převodník | + | # [[Logo!]] |
− | # Sériové vstupní a výstupní obvody | + | # [[Arduino]] |
− | # Sériové vstupní a výstupní obvody SPI | + | # [[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 |