8051: Porovnání verzí
Řádek 121: | Řádek 121: | ||
=== Programování v asm: === | === Programování v asm: === | ||
*[[Přesuny]] | * [[Přesuny]] | ||
*[[Skoky]] | * [[Skoky]] | ||
*[[Časová smyčka]] | * [[Časová smyčka]] | ||
*[[Ovládání modulu LED OUT01]] | * [[Ovládání modulu LED OUT01]] | ||
*[[Ovládání dvoumístného displeje OUT02]] | * [[Ovládání dvoumístného displeje OUT02]] | ||
*[[Ovládání krokového motoru OUT04]] | * [[Ovládání krokového motoru OUT04]] | ||
*[[Ovládání modulu LED kostky OUT09]] | * [[Ovládání modulu LED kostky OUT09]] | ||
* | * | ||
* | * | ||
* | * | ||
*[http://myplctutorial.blogspot.com/2008/09/display-keypad-data-to-led.html Display Keypad Data to LED] | * [[Využití čítače pro časové zpoždění]] [http://www.circuitstoday.com/delay-using-8051-timer Delay using 8051 timer] | ||
*[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-data-to-led.html Display Keypad Data to LED] | ||
*[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-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] | |||
*[[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 | ||
* [http://www.circuitstoday.com/interfacing-dc-motor-to-8051 Interfacing DC motor to 8051] | |||
=== Programování v C: === | === Programování v C: === |
Verze z 1. 5. 2013, 05:32
8051 | |
|
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:
-
SW: MCU 8051 IDE
-
HW: RD2 kit
-
SW: Flip
- 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 F8
- Propojit sestavu RD2kit s PC pomocí sériového portu RS232
- Zapnout napájecí napětí pro RD2kit +5V
- Přepinač v poloze LOAD - loader
- Pomocí programu Flip pokračovat v nahrání *.hex do trenažéru
- Přepnout přepínač do polohy APL - aplikace
- Znovu vyresetovat RD2kit (černé tlačítko)
- Vyzkoušet správnou funkci programu
HW:
- RD2 kit - vývojová deska
- Výstupní moduly
- Vstupní moduly
- Modely pro vývoj MIT aplikace
SW:
-
MCU 8051 IDE pro vývoj aplikací v asm nebo C
-
Diagram Designer - kreslení vývojových diagramů
-
Ride51 pro vývoj aplikací v asm nebo C
-
Multisim - simulace el. obvodu
Programmers
Aplikace
Programování v asm:
- Přesuny
- Skoky
- Časová smyčka
- Ovládání modulu LED OUT01
- Ovládání dvoumístného displeje OUT02
- Ovládání krokového motoru OUT04
- Ovládání modulu LED kostky OUT09
- Využití čítače pro časové zpoždění Delay using 8051 timer
- Display Keypad Data to LED
- Display Keypad 4 x 4 with LCD Character 2 x16
- Display Keypad 4 x 4 with 8x7 Seven Segmen
- Ovládání motoru s H můstkem program v ASM a C
- Interfacing DC motor to 8051
Programování v C:
- Ovládání motoru s H můstkem program v ASM a C
- 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
www:
- Jak se naučit programovat? ( nejen jednočipy )ze stránek DHservis
- Popis 8051 ze stránek DHservis
- Školička psaní programů pro jednočipy v C jazyku
- Stručný popis 8051
- ASCII tabulka
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