8051: Porovnání verzí

Z MediaWiki SPŠ a VOŠ Písek
Skočit na navigaci Skočit na vyhledávání
Řádek 102: Řádek 102:
<gallery>
<gallery>
Soubor:RD2kit_01.jpg|HW: [[RD2 kit]]
Soubor:RD2kit_01.jpg|HW: [[RD2 kit]]
Soubor:RD2kit_04.jpg|SW: [[Flip]] k naprogramování MCU, který je v [[RD2 kit]]
Soubor:RD2kit_04.jpg|SW: [[Flip]] k naprogramování 89C51RD2, který je v [[RD2 kit]]u
</gallery>
</gallery>


===== Postup vývoje MIT aplikace: =====
# Napsat program v [[MCU_8051_IDE]] alt: [[Ride51]] (assembler nebo C) např. s [[Vstupní moduly|vstupními]] a [[Výstupní moduly|výstupními obvody]]
# Napsat program v [[MCU_8051_IDE]] alt: [[Ride51]] (assembler nebo C) např. s [[Vstupní moduly|vstupními]] a [[Výstupní moduly|výstupními obvody]]
# Uložit *.asm
# Uložit *.asm
Řádek 112: Řádek 113:
# Zapnout napájecí napětí pro RD2kit +5V  
# Zapnout napájecí napětí pro RD2kit +5V  
# Přepínač v poloze LOAD - loader
# Přepínač v poloze LOAD - loader
# Pomocí programu [[Flip]] pokračovat v nahrání *.hex do trenažéru
# Pomocí programu '''[[Flip]]''' pokračovat v nahrání *.hex do 89C51RD2
# Přepnout přepínač do polohy APL - aplikace
# Přepnout přepínač do polohy '''APL''' - aplikace
# Znovu vy resetovat RD2kit (černé tlačítko)
# Znovu vyresetovat [[RD2 kit]] (černé tlačítko)
# Vyzkoušet správnou funkci programu
# Vyzkoušet správnou funkci programu



Verze z 19. 12. 2013, 18:47

8051

  • Mikroprocesor 8051 je 8-bitový jednočipový mikroprocesor (8-bitová ALU, střadač a registry )
  • Harwardská archiektura, u které je oddělena programová a datová paměť.
  • 8-bitová datová sběrnice
  • 16-bitově adresová sběrnice - 64 kB (65536 bajtů) pro RAM a ROM
  • Frekvence: 12 MHz
  • Paměť programu: On-chip ROM 4 kB
  • Paměť dat: On-chip RAM 128 B
  • Patice: 40 pinů
  • Čtyřbajtový obousměrný vstupně / výstupní Port
  • UART
  • Dva 16-bitové čítače / časovače
  • Dvouúrovňová priorita přerušení
    • 5 hardwarových přerušení
    • +1 softwarové přerušeni

Tutorials

Chapter 6

C programming for 8051

Tools

Program ONESK ke stažení - onesk.zip (314kB)


MIT výstupní moduly

OUT01 - modul LED

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.

OUT02 - dvoumístný display

Zobrazovací jednotka slouží k zobrazení hexadecimálního čísla na zobrazovací jednotce, odpovídající binární hodnotě přivedenou na vstupy.

OUT03 - disp MPX

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.)

OUT04 - displ seriovy

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í).

OUT05 - LCD HD44780

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í.

OUT07 - modul ss motoru

více

MIT vstupní moduly

IN01 - modul DIP-SWITCH

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ů.

IN02 - modul tlačítek s RSKO

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.


Chyba při vytváření náhledu: Chybějící soubor IN03 - modul klávesnice 1x8

IN05 - modul IR čidla SFH5110

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.

  • teplotní rozsah –45 - +130°C
  • f = 1 – 4 kHz
  • DC = 0,32 + 0,0047 t = T1/T
  • T1 = doba trvání log „1“
  • T= doba periody

více

MIT Sestavy

SES01 Krizovatka

SES02 Jerab s 80C51

SES03 Automatická pračka s 8051

SES04 Plotr - Souřadnicový zapisovač

Soubor:SES04 Plotr obr.jpg

SES28 Krizovatka AUC


Vývoj aplikace:

IDE

MCU: 89C51RD2

Postup vývoje MIT aplikace:
  1. Napsat program v MCU_8051_IDE alt: Ride51 (assembler nebo C) např. s vstupními a výstupními obvody
  2. Uložit *.asm
  3. Zkompilovat F2 (CTRL-D), vygeneruje se soubor formátu Intel HEX *.hex
  4. SW otestovat - debug F8
  5. Propojit sestavu RD2kit s PC pomocí sériového portu RS232
  6. Zapnout napájecí napětí pro RD2kit +5V
  7. Přepínač v poloze LOAD - loader
  8. Pomocí programu Flip pokračovat v nahrání *.hex do 89C51RD2
  9. Přepnout přepínač do polohy APL - aplikace
  10. Znovu vyresetovat RD2 kit (černé tlačítko)
  11. Vyzkoušet správnou funkci programu

MCU: 89S52:

Aplikace

Programování v asm:

Programování v C:

what-when-how


  1. APPENDIX D : FLOWCHARTS AND PSEUDOCODE
  1. DATA SERIALIZATION USING 8051 C
  2. ACCESSING CODE ROM SPACE IN 8051 C
  3. DATA CONVERSION PROGRAMS IN 8051 C
  4. LOGIC OPERATIONS IN 8051 C
  5. I/O PROGRAMMING IN 8051 C
  6. DATA TYPES AND TIME DELAY IN 8051 C
  7. 8051 PROGRAMMING IN C
  1. BCD, ASCII, AND OTHER APPLICATION PROGRAM
  2. APPENDIX A : 8051 INSTRUCTIONS, TIMING, AND REGISTERS
  3. DC MOTOR INTERFACING AND PWM
  4. STEPPER MOTOR INTERFACING
  5. RELAYS AND OPTOISOLATORS
  1. KEYBOARD INTERFACING
  2. LCD INTERFACING
  3. INTERRUPT PROGRAMMING IN C
  4. []
  5. []

Zapojení s 8051

náměty z N:/janousek/36_ATM_Atmel 89c2051 a jiné náměty s 8051

e

Archiv programátorů 89S52