8051: Porovnání verzí
(Není zobrazeno 13 mezilehlých verzí od stejného uživatele.) | |||
Řádek 25: | Řádek 25: | ||
=='''Tutorials'''== | =='''Tutorials'''== | ||
[[Soubor:Mikroe.jpg|link= | [[Soubor:Mikroe.jpg|link=https://www.mikroe.com/ebooks/architecture-and-programming-of-8051-mcus/introduction]] | ||
* [http://www.dhservis.cz/dalsi_1/obsah_popis.htm Jak se naučit programovat?] | * [http://www.dhservis.cz/dalsi_1/obsah_popis.htm Jak se naučit programovat?] | ||
* [http://www.dhservis.cz/popis8051.htm Popis 8051] | * [http://www.dhservis.cz/popis8051.htm Popis 8051] | ||
[[Soubor:Learning-by-LeongKJ.jpg|200px|link=http://c8051.leongkj.net/learning_object/]] | [[Soubor:Learning-by-LeongKJ.jpg|200px|link=http://c8051.leongkj.net/learning_object/]] | ||
[[Soubor:8051-timer.jpg|200px|link=http://c8051.leongkj.net/learning_object/timer.swf]] | [[Soubor:8051-timer.jpg|200px|link=http://c8051.leongkj.net/learning_object/timer.swf]] | ||
== Tools== | == Tools== | ||
Řádek 91: | Řádek 82: | ||
[[Image:8051-blok.gif]] | [[Image:8051-blok.gif]] | ||
[[Soubor:ATM13.png|600px|UNI board s 89S52]] | |||
== Vývoj aplikace: == | == Vývoj aplikace: == | ||
=== [http://cs.wikipedia.org/wiki/V%C3%BDvojov%C3%A9_prost%C5%99ed%C3%AD IDE] === | === [http://cs.wikipedia.org/wiki/V%C3%BDvojov%C3%A9_prost%C5%99ed%C3%AD IDE] === | ||
<gallery> | <gallery> | ||
Soubor:MCU-8051-IDE-screen.png|IDE: [[MCU 8051 IDE]] pro vývoj aplikací v asm | Soubor:MCU-8051-IDE-screen.png|IDE: [[MCU 8051 IDE]] pro vývoj aplikací v asm/C | ||
Soubor:EDSIM-screen.png|[https://www.edsim51.com/ EdSim51] | |||
Soubor:Ride.jpg|[[Ride51]] pro vývoj aplikací v asm nebo C | Soubor:Ride.jpg|[[Ride51]] pro vývoj aplikací v asm nebo C | ||
</gallery> | </gallery> | ||
Řádek 104: | Řádek 98: | ||
Soubor:RD2kit_04.jpg|SW: [[Flip]] k naprogramování 89C51RD2, který je v [[RD2 kit]]u | Soubor:RD2kit_04.jpg|SW: [[Flip]] k naprogramování 89C51RD2, který je v [[RD2 kit]]u | ||
</gallery> | </gallery> | ||
=== [[MCU]]: 89S52: === | |||
<gallery> | |||
Soubor:ATM13.png|HW: [[ATM13|UNI board s 89S52]] | |||
Soubor:D10_HW_presto.jpg|Programátor: [[PRESTO]] SW: [[UP]] | |||
Soubor:D10_HW_USBasp.jpg|Programátor: [http://goo.gl/Ioozyz USBasp] SW: [[ProgISP]] | |||
</gallery> | |||
=== [[MCU]]: CH552 === | |||
[[Soubor:CH552.png|300px]] | |||
* [https://www.chiptron.cz/news.php?readmore=819 CH552 - mikrokontrolér za 0.3 USD a jeho programování] | |||
* [https://www.chiptron.cz/news.php?readmore=631 Vývojové kity pro mikrokontroléry CH55x] | |||
* [https://lcsc.com/product-detail/USB_CH552G_C111292.html Here you can buy the chip] | |||
* [https://hackaday.com/2019/02/17/how-to-program-a-really-cheap-microcontroller/ HOW TO PROGRAM A REALLY CHEAP MICROCONTROLLER] | |||
SW: WCHISPTool_Setup.exe | |||
[[Soubor:CH552-guitar.png|300px|link=https://www.bilibili.com/video/BV1V7411d7AU?from=search&seid=13957540296442588915]] | |||
====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/wholesale?catId=0&initiative_id=SB_20210907091323&origin=y&SearchText=DIY+FM+Radio+Kit+Electronic+Learning+Assemble]] | |||
===== Postup vývoje MIT aplikace: ===== | ===== Postup vývoje MIT aplikace: ===== | ||
Řádek 109: | Řádek 128: | ||
# Uložit *.asm | # Uložit *.asm | ||
# Zkompilovat F2 (CTRL-D), vygeneruje se soubor formátu [[Intel HEX]] *.hex | # Zkompilovat F2 (CTRL-D), vygeneruje se soubor formátu [[Intel HEX]] *.hex | ||
# SW otestovat - debug F8 | # SW otestovat - debug F6,F7,F8 | ||
# Propojit sestavu | # Propojit sestavu s PC pomocí USB | ||
# Pomocí programu '''[[progISP]]''' pokračovat v nahrání *.hex do 89S51 | |||
# Pomocí programu '''[[ | |||
# Vyzkoušet správnou funkci programu | # Vyzkoušet správnou funkci programu | ||
== Aplikace == | == Aplikace == | ||
Řádek 147: | Řádek 151: | ||
*[http://myplctutorial.blogspot.com/2008/09/display-keypad-4-x-4-with-lcd-character.html Display Keypad 4 x 4 with LCD Character 2 x16] | *[http://myplctutorial.blogspot.com/2008/09/display-keypad-4-x-4-with-lcd-character.html Display Keypad 4 x 4 with LCD Character 2 x16] | ||
*[http://myplctutorial.blogspot.com/2008/09/display-keypad-4-x-4-with-8x7-seven.html Display Keypad 4 x 4 with 8x7 Seven Segmen] | *[http://myplctutorial.blogspot.com/2008/09/display-keypad-4-x-4-with-8x7-seven.html Display Keypad 4 x 4 with 8x7 Seven Segmen] | ||
*[ | * [http://www.circuitstoday.com/delay-using-8051-timer Delay using 8051 timer] | ||
*[[Ovládání motoru s H můstkem]] program v ASM a C | *[[Ovládání motoru s H můstkem]] program v ASM a C | ||
Aktuální verze z 7. 9. 2021, 17:15
8051 | |
TutorialsToolsProgram ONESK ke stažení - onesk.zip (314kB) |
MIT výstupní moduly | |
Modul zajišťuje statické zobrazení dat na příslušné datové sběrnici či výstupní bráně. Modul využívá budič sběrnice IO 74245, který zde slouží k výkonovému oddělení datových vodičů od osmice LED. Zobrazovací jednotka slouží k zobrazení hexadecimálního čísla na zobrazovací jednotce, odpovídající binární hodnotě přivedenou na vstupy. Tento Modul obsahuje převodník ( 7446) hexadecimálního kódu na sedmisegmentovou zobrazovací jednotku a to tak, že všechny výstupy z převodníku jsou připojeny paralelně na katody všech čtyřech zobrazovacích jednotek a ovládání jednotlivých segmentů je realizováno pomocí dynamické obsluhy, která spočívá v časově multiplexovaném připojení napájecího napětí na jednotlivé sedmisegmentovky. Dolní polovina osmibitové datové sběrnice obsahuje kódované číslo (v hexa) a bity horní poloviny řídí jednotlivé pozice displeje(aktivní v log. "0.) Základem modulu je integrovaný obvod M5451, který umožňuje pomocí sériového příjmu řídit až 35 LED . Sérioparalelní převodník je realizován posuvným registrem s délkou 36 bitů, který je ovládán vnějšími signály DATA a CLOCK a vnitřním signálem RESET pro nulování všech bitů. RESET je také generován vždy po přivedení napájecího napětí. Logické hodnoty ze vstupu DATA se zapíší a údaje v registru se posouvají s každou náběžnou hranou signálu CLK. Objeví-li se na posledním bitu posuvného registru log.1, vygeneruje se signál LOAD, který zkopíruje 35 předcházejících bitů do vyrovnávacího registru a signál RESET. Pro změnu údaje zobrazeného na displeji je nutno zapsat do vstupu DATA posuvného registru 36 binárních hodnot. Úvodní z dávky zapisovaných bitů musí mít hodnotu log.1, která způsobí přepis vyrovnávací paměti a vynulování posuvného registru. Následujících 35 bitů ovládá svit jedné z LED (log.1-LED svítí). LCD displeje mají relativně snadné ovládání, možnost definice až osmi uživatelských znaků, 2 * 20 znaků. Možnost výběru z mnoha předdefinovaých znaků. Možnost použití rastru 5x7 nebo 5x10 S displejem lze komunikavat buď osmi nebo v našem případě čtyřbitově. ASCII tabulka, popis displeje LCD OUT06 - modul krokového motoru Tento modul obsahuje krokový motůrek se čtyřmi skupinami vinutí, která se ovládají přes tranzistory logickými úrovněmi vysílanými na příslušné vstupy. Pro otáčení do požadovaného směru je třeba dodržet sekvenci signálů dle tabulky, která ukazuje 4-taktní řízení. Frekvence obměny ovlivňuje rychlost otáčení. |
MIT vstupní moduly | |
Tento modul umožňuje ruční statické nastavení jednotlivých bitů na jedné vstupní bráně (log. "0" nebo log. "1") a to bez odstraněných zákmitových jevů. Z těchto důvodů nelze použit pro řízení hodinového signálu sekvenčních obvodů. Použijeme-li sekvenční obvod RS s negovanými vstupy získáme obvod pomocí jehož můžeme řídit zadávání log. úrovně především do hodinových vstupů. Klopný obvod díky své schopnosti pamatovat si svůj stav na výstupu při logických „1“ na svých vstupech odstraní přechodové zákmitové jevy. Další obvod zapojený jako asynchronní dělič kmitočtu zdvojnásobuje dobu trvaní na výstupu. Tento modul obsahuje čtveřici takovýchto tlačítek, které jsou vyvedeny na bity P0 – P3.
Modul využívá továrně vyrobené čidlo, které převádí infračervené záření vysílané ze zdroje (např. dálkového ovládání) na sled pravoúhlých impulsů a to buď v přímé nebo negované proměnné. Na obrázku je znázorněn průběh signálu na výstupu modulu,připojeného k satelitnímu přijímači PACE. Soubor:IN06 modul cidla teploty s AKO.JPG IN06 - modul čidla teploty s AKO Čidlo teploty převádí teplotu na elektrický signál, který je vhodný ke zpracování počítačem. Teplota je snímána termistorem, jehož odpor se s teplotou mění a změna odporu ovlivňuje délku impulsů. Převodník teploty na délku impulsu je navržen s časovačem typu 555. Jeho přesnost a teplotní stabilita zaručují dobré výsledky a stabilitu naměřených údajů. Teplota je snímána termistorem TS1. Jeho odpor, měnící se v závislosti na teplotě, spolu s odporem trimru R3 a kapacitu C3 vytváří časovou konstantu - při změně odporu se mění doba nabíjení C3. Časovač IO2 je zapojen jako monostabilní klopný obvod a zmíněná časová konstanta určuje délku jeho impulsu. Trimr R3 slouží k případné kalibraci délky impulsu. Monostabilní klopný obvod se spouští impulsem (aktivní v log. "0"), přiváděným na vstup pro spouštění u 555 č.2 , na konektoru č.2 (bit. 7). Tento impuls musí být kratší než nejkratší výstupní impuls z časovače. V našem případě je mezní délka 1 ms. Výstupní signál (kladný impuls), jehož délka je úměrná měřené teplotě, je odebírán z vývodu 3 časovače 555, na konektoru je to vývod č.3 (bit.5). IN07 - modul čidla teploty s MKO IN08 - modul čidla teploty s OZ Další modul čidla teploty slouží především k vyhodnocováni mezní hodnoty teploty. Použijeme-li negativní termistor, tak při zvýšení teploty se zmenší jeho hodnota odporu. Následně se zvětší napětí dané děličem R2 a TR1, přiváděné na neinvertující vstup operačního zesilovače. OZ tuto hodnotu porovnává s hodnotou přiváděnou na invertující vstup. Zde je napětí dané odporovým děličem R3, R4. Pokud hodnota na neivertujícím vstupu převládne nad hodnotou invertujícího vstupu, napětí na výstupu se změní z log. „0“ na log. „1“ (OZ ve funkci komparátoru, s „nekonečně“ velkým zesílením). Pokud je OZ napájen nesymetrickým napětím je výstup kompatibilní s technologií TTL. IN09 - modul čidla s SMT 160-30 Jedná se o integrovaný senzor teploty s výstupním signálem ve tvaru impulsní šířkové modulace. Dvě svorky jsou pro připojení napájecího napětí, třetí je k dispozici pro výstupní signál. Impulsní šířková modulace je použita proto, aby vstupní signál byl převeditelný do číslicové formy i bez zapojení A/Č převodníku.
|
MIT Sestavy | ||||||||||
SES01 Krizovatka SES02 Jerab s 80C51 SES03 Automatická pračka s 8051 SES04 Plotr - Souřadnicový zapisovač
SES28 Krizovatka AUC
|
Vývoj aplikace:
IDE
-
IDE: MCU 8051 IDE pro vývoj aplikací v asm/C
-
Ride51 pro vývoj aplikací v asm nebo C
MCU: 89C51RD2
-
HW: RD2 kit
MCU: 89S52:
MCU: CH552
- CH552 - mikrokontrolér za 0.3 USD a jeho programování
- Vývojové kity pro mikrokontroléry CH55x
- Here you can buy the chip
- HOW TO PROGRAM A REALLY CHEAP MICROCONTROLLER
SW: WCHISPTool_Setup.exe
novinka: postavte si DIY FM Radio Kit Electronic Learning Assemble
Postup vývoje MIT aplikace:
- Napsat program v MCU_8051_IDE alt: Ride51 (assembler nebo C) např. s vstupními a výstupními obvody
- Uložit *.asm
- Zkompilovat F2 (CTRL-D), vygeneruje se soubor formátu Intel HEX *.hex
- SW otestovat - debug F6,F7,F8
- Propojit sestavu s PC pomocí USB
- Pomocí programu progISP pokračovat v nahrání *.hex do 89S51
- Vyzkoušet správnou funkci programu
Aplikace
Programování v asm:
- Základy programování v 8051
- Display Keypad Data to LED
- Display Keypad 4 x 4 with LCD Character 2 x16
- Display Keypad 4 x 4 with 8x7 Seven Segmen
- Delay using 8051 timer
- Ovládání motoru s H můstkem program v ASM a C
Programování v C:
- HOW TO BLINK
- Led blinking
- Blink a LED by software delay
- HOW TO BLINK AN LED USING 8051
- Delay Subroutine in C language for 8051
- Driving 8 LED C
- Ovládání motoru s H můstkem program v ASM a C
- Interfacing DC motor to 8051
- Delay using 8051 timer
- Příklady s časovým zpožděním v C pro 8051
- DS1820 C PROGRAM WITH 8051
- Matrix Keypad 3X4 C Code
- DATA SERIALIZATION USING 8051 C
- ACCESSING CODE ROM SPACE IN 8051 C
- DATA CONVERSION PROGRAMS IN 8051 C
- LOGIC OPERATIONS IN 8051 C
- I/O PROGRAMMING IN 8051 C
- DATA TYPES AND TIME DELAY IN 8051 C
- 8051 PROGRAMMING IN C
- BCD, ASCII, AND OTHER APPLICATION PROGRAM
- APPENDIX A : 8051 INSTRUCTIONS, TIMING, AND REGISTERS
- DC MOTOR INTERFACING AND PWM
- STEPPER MOTOR INTERFACING
- RELAYS AND OPTOISOLATORS
Zapojení s 8051
náměty z N:/janousek/36_ATM_Atmel 89c2051 a jiné
-
VYV30 51 SCM Minimum System
-
VYV40 Development Board
-
ATM68 [Bargraf k 8051]
-
ATM67 číslicový otáčkoměr
-
ATM66 Knight Rider blikač
-
ATM62 Běžící šipka s 89S2051
-
ATM58 LCD s 89s4051
-
ATM33 Blikač - evulution board
-
ATM01 Přijímač DO RC5 link
-
ATM02 Teploměr s SMT160-30 a SA10
-
ATM09 Autoalarm s 2051
-
ATM13 Počitadlo impulsů
-
ATM17 Autoalarm S2-1
-
ATM17 Kodový zámek
-
ATM21 Digitální hodiny s LCD
-
ATM35 Web server 89C52
-
ATM36 efekt-s-led
-
ATM41 Převodnik 8OUT s 89C2051
-
ATM42 Zajímavé efekty s LED
-
ATM43 Postavme si snehuliaka
-
ATM45 Počítadlo jízd
-
ATM47 Alarm PaJa & DHS003
-
ATM48 Kódový zámek s 89C2051
-
ATM54 Digital Visitor Counter (AT89C2051) link
-
ATM55 Digital Countdown Timer (AT89C2051) link
Pattern Scheme
ATM89 s 89S2051
ATM80 s 89S51