MIT3r: Porovnání verzí
Bez shrnutí editace |
|||
(Není zobrazeno 28 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: | 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=== | ===novinka: postavte si DIY FM Radio Kit Electronic Learning Assemble=== | ||
[[Soubor:fmradio.png|DIY FM Radio Kit Electronic Learning | [[Soubor:fmradio.png|DIY FM Radio Kit Electronic Learning Assemble]] | ||
=== Plán: === | === Plán: === | ||
Řádek 128: | Řádek 129: | ||
| style="background: #f0faE0; font-size: 85%; width: 30%; vertical-align: top;" | | | style="background: #f0faE0; font-size: 85%; width: 30%; vertical-align: top;" | | ||
''' Základní pojmy mikroprocesorové techniky ''' 6 | ''' Základní pojmy mikroprocesorové techniky ''' 6 | ||
T1 Úvod do předmětu | |||
T2 [[Mikroprocesor, mikropočítač]] | |||
T3 [[Blokové schéma mikropočítače, části mikropočítače]] | |||
T4 [[Sběrnice, přerušení, přenos DMA]] | |||
T5 [[Instrukční cyklus]] | |||
T6 Opakování | |||
''' Úvod do problematiky jednočipových mikropočítačů ''' 16 | ''' Úvod do problematiky jednočipových mikropočítačů ''' 16 | ||
T7 [[Mikroprocesor a jeho blokové schéma]] | |||
T8 [[Čítač instrukcí, dekodér instrukcí, řadič]] | |||
T9 [[ALU, příznaky]] | |||
T10 [[Časování CPU, zřetězení instrukcí]] | |||
T11 [[Reset mikropočítače]] | |||
T12 [[Paměť mikropočítače, paměť programu, dat, datová paměť EEPROM|Paměť mikropočítače, paměť programu]] | |||
T13 [[Paměť mikropočítače, paměť programu, dat, datová paměť EEPROM|Paměť dat, datová paměť EEPROM]] | |||
T14 [[Stránkování paměti]] | |||
T15 [[Obvody vstupu a výstupu]] | |||
T16 [[Charakteristika, kvaziobousměrný V/V obvod]] | |||
T17 [[V/V obvod s přepínáním směru přenosu]] | |||
T18 [[Hlídací časovač WATCHDOG]] | |||
T19 [[Další obvody umístěné na čipu mikropočítače]] | |||
T20 Opakování | |||
T21 Opakování | |||
T22 Test | |||
''' Jednočipové mikropočítače vybrané řady ''' 14 | ''' Jednočipové mikropočítače vybrané řady ''' 14 | ||
T23 [[Základní vlastnosti, popis vývodů]] | |||
T24 [[Bloková struktura]] | |||
T25 [[Časování mikroprocesoru]] | |||
T26 [[Organizace paměti ROM]] | |||
T27 [[Organizace paměti RWM]] | |||
T28 [[SFR]] | |||
T29 [[Připojení vnější paměti]] | |||
T30 [[Paralelní vstupní a výstupní obvody]] | |||
T31 [[Př. připojení - 7segment]] | |||
T32 [[Př. připojení - MPX zobraz. jednotka]] | |||
T33 [[Př. připojení - seriová zobraz. jednotka]] | |||
T34 [[Př. připojení - motory]] | |||
T35 Opakování | |||
T36 Test | |||
''' 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]] | ||
Řádek 178: | Řádek 186: | ||
''' 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;" | | ||
Řádek 320: | Řádek 330: | ||
====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 ==== | ||
Řádek 352: | Řádek 360: | ||
[[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 | ||
# Blokové schéma | # Blokové schéma vývojové sestavy | ||
# | # Blokové schéma CPU | ||
# | # Blokové schéma MCU - základní | ||
# | # Blokové schéma MCU - rozšířené | ||
# Čítač instrukcí | # Čítač instrukcí | ||
# | # Registr instrukcí, dekodér instrukcí | ||
# PSW | |||
# [[ALU, příznaky]] | |||
# 8 bit. sčítačka | |||
# Logické operace v ALU | |||
# | |||
# | |||
# | |||
# | |||
# Reset mikropočítače | # 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 2. 12. 2024, 13:02
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 |
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 |