130 likes | 237 Views
Digitální učební materiál. Nastavení vstupů a výstupů. Mikroprocesory PIC 16Fxx. Zdrojový kód (program) pro konfiguraci vstupů a výstupů. Nastavení vstupů a výstupů. Mikroprocesory PIC 16Fxx. Základem pro dobře napsaný program je:. 1) znalost základní struktury mikroprocesoru.
E N D
Nastavení vstupů a výstupů Mikroprocesory PIC 16Fxx Zdrojový kód (program) pro konfiguraci vstupů a výstupů
Nastavení vstupů a výstupů Mikroprocesory PIC 16Fxx Základem pro dobře napsaný program je: 1) znalost základní struktury mikroprocesoru 2) znalost příslušných instrukcí mikroprocesoru 3) vhodné vývojové prostředí
Nastavení vstupů a výstupů Mikroprocesory PIC 16Fxx Pro zavedení programu do mikroprocesoru potřebujeme: Kompilátor - překladač • převede zapsaný sled instrukcí do strojového kódu (soubor s příponou .hex) • odhalí chybně napsané instrukce a nebo nelogický sled instrukcí (této části říkáme Debuger) • zpravidla je součástí vývojového prostředí
Nastavení vstupů a výstupů Mikroprocesory PIC 16Fxx Pro zavedení programu do mikroprocesoru potřebujeme: Programátor • HW, pomocí kterého nahrajeme soubor *.hex do paměti procesoru • SW obsluhující dané zařízení
Nastavení vstupů a výstupů Mikroprocesory PIC 16Fxx ASSEMBLER – jazyk symbolických adres • každý dílčí krok algoritmu má svůj specifický název - instrukci • každá instrukce musí obsahovat parametry, se kterými má pracovat • stejné instrukce se mohou opakovat s různými parametry • Například: jednoduchou instrukci „připrav čaj“zapsanou ve vyšším programovacím jazyku (např. C++) rozepíšeme v assembleru následovně: • připrav konvici • připrav šálek • připrav čaj • dej vařit vodu • po varu vypni konvici • zalij čaj v šálku
Nastavení vstupů a výstupů Mikroprocesory PIC 16Fxx Program pro konfiguraci I/O PIC 16F84A (RA0, RA1 budou vstupy, RA2-4, RB0-7 budou výstupy) • org 000 • Povinná direktiva určující kam se uloží první instrukce programu. Program se začne vykonávat od této adresy (v našem případě od 000). • bsf 03h,5 • Bit Set f – nastavení příslušného bitu do 1. „f“ je označení kteréhokoli registru – v parametrech musí být uvedena jeho adresa. • V uvedeném příkladu tato instrukce přepne RP0 registru STATUS do 1 a umožní od této chvíle přístup do stránky 1 paměti.
Nastavení vstupů a výstupů Mikroprocesory PIC 16Fxx Program pro konfiguraci I/O PIC 16F84A (RA0, RA1 budou vstupy, RA2-4, RB0-7 budou výstupy) • movlw 03h • Instrukce přesunu (move) konstanty (l) do pracovního registru (w). Pracovní registr má adresu 000, a proto nemusí být udávána jeho adresa v parametrech. Musí tam být ale uvedena konstanta l (nejčastější zápis čísel je v hexadecimálním tvaru). • movwf 85h • Instrukce přesunu obsahu pracovního registru (w) do registru TRISA (adresa 85h). • U speciálních registrů je možno zapsat adresu pomocí jména registru (movwf trisa).
Nastavení vstupů a výstupů Mikroprocesory PIC 16Fxx Program pro konfiguraci I/O PIC 16F84A (RA0, RA1 budou vstupy, RA2-4, RB0-7 budou výstupy) • movlw 00h • - zápis konstanty do pracovního registru • (clrw) • - alternativní způsob zápisu samých 0 do pracovního registru. „clr“ – vyčištění registru • - clrf – zde je nutné uvést adresu registru, který má být vymazán • movwf 86h • - naplnění registru TRISB konstantou z W • bcf 03h,5 • - nastaveni příslušného bitu do 0 • - tato instrukce přepne RP0 registru STATUS do 0 a umožní od této chvíle návrat do stránky 0 paměti
Nastavení vstupů a výstupů Mikroprocesory PIC 16Fxx Program pro konfiguraci I/O PIC 16F84A (RA0, RA1 budou vstupy, RA2-4, RB0-7 budou výstupy) • Takto bude vypadat zdrojový kód našeho programu: • org 000 • bsf 03h,5 • movlw 03h • movwf 85h • movlw 00h • movwf 86h • bcf 03h,5 • org 000 • bsf status,5 • movlw 03h • movwf trisa • clrw • movwf trisb • bcf status,5 a nebo: Přepínání zápisu do stránky 0 a 1 pomocí Satus zabrání neúmyslnému překonfigurování I/O po čas běhu programu.
Nastavení vstupů a výstupů Mikroprocesory PIC 16Fxx Program pro konfiguraci I/O PIC 16F84A (RA0, RA1 budou vstupy, RA2-4, RB0-7 budou výstupy) Zdrojový kód v assembleru Zdrojový kód přeložený do souboru .hex (strojový kód)
Nastavení vstupů a výstupů Mikroprocesory PIC 16Fxx Kontrolní otázky: 1) Jakou instrukcí změníme hodnotu jednoho bitu? Instrukcemi bsf a bcf s uvedením adresy registru a čísla bitu. 2) Jaké základní instrukce přesunu znáš? movlw a movwf 3) Co se stane, vynecháme-li v programu přepnutí do stránky 1? Hodnota konstanty se zapíše místo na adresu 85(6)h na adresu 05(6)h, i když je v parametrech zapsaná adresa TRIS registrů.
Použité zdroje: HRBÁČEK, Jiří. Moderní učebnice programování jednočipových kontrolérů PIC 1. díl. 1. vyd. Praha: BEN, 2004. ISBN 80-7300-136-5. Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Peter Podoba.