Autor: Ing. Peter Podoba Předmět/vzdělávací oblast: Digitální technika Tematická oblast: Mikroprocesorová technika Téma: Nastavení I/O PIC 16F84A Ročník: 4. Datum vytvoření: listopad 2012 Název: VY_32_INOVACE_11.1.02.ELE Anotace: Input, Output, TRIS, STATUS, PORT. Materiál inovativním způsobem zužuje vztah.
Download ReportTranscript Autor: Ing. Peter Podoba Předmět/vzdělávací oblast: Digitální technika Tematická oblast: Mikroprocesorová technika Téma: Nastavení I/O PIC 16F84A Ročník: 4. Datum vytvoření: listopad 2012 Název: VY_32_INOVACE_11.1.02.ELE Anotace: Input, Output, TRIS, STATUS, PORT. Materiál inovativním způsobem zužuje vztah.
Autor: Předmět/vzdělávací oblast: Tematická oblast: Téma: Ročník: Datum vytvoření: Název: Anotace: Metodický pokyn: Ing. Peter Podoba Digitální technika Mikroprocesorová technika Nastavení I/O PIC 16F84A 4.
listopad 2012 VY_32_INOVACE_11.1.02.ELE
Input, Output, TRIS, STATUS, PORT.
Materiál inovativním způsobem zužuje vztah mezi teoretickou a praktickou výukou. Výstřižky získané pomocí nástroje Windows 8 provázejí žáka krok za krokem úzce specializovaným tématem a usnadňují jeho porozumění. Multimediální výuka se stává názornější a podporuje zájem a aktivitu i u slabších žáků. Prezentace je primárně určena pro výklad v hodině, v odborném výcviku tvoří vhodný doplněk při odborných instruktážích před zahájením praktických činností, ale díky své názornosti může být využita i k samostudiu a pro distanční formu vzdělávání. Vyžaduje použití multimediálních prostředků – PC, dataprojektoru, popř. interaktivní tabule. Otázky na konci tématu ověřují, jak žáci danou problematiku zvládli, a po vytištění je lze použít i jako samostatný test.
Mikroprocesory PIC 16Fxx
Nastavení vstupů a výstupů
Zdrojový kód (program) pro konfiguraci vstupů a výstupů
Mikroprocesory PIC 16Fxx
Nastavení vstupů a výstupů
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í
Mikroprocesory PIC 16Fxx
Nastavení vstupů a výstupů 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í
Mikroprocesory PIC 16Fxx
Nastavení vstupů a výstupů 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í
Mikroprocesory PIC 16Fxx
Nastavení vstupů a výstupů 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
Mikroprocesory PIC 16Fxx
Nastavení vstupů a výstupů 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.
Mikroprocesory PIC 16Fxx
Nastavení vstupů a výstupů Program pro konfiguraci I/O PIC 16F84A (RA0, RA1 budou vstupy, RA2-4, RB0 7 budou výstupy)
movlw 03h movwf 85h
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).
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).
Mikroprocesory PIC 16Fxx
Nastavení vstupů a výstupů Program pro konfiguraci I/O PIC 16F84A (RA0, RA1 budou vstupy, RA2-4, RB0 7 budou výstupy)
movlw 00h (clrw) movwf 86h bcf 03h,5
zápis konstanty do pracovního registru 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 naplnění registru TRISB konstantou z W 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
Mikroprocesory PIC 16Fxx
Nastavení vstupů a výstupů 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 bsf movlw movwf movlw movwf bcf 000 03h,5 03h 85h 00h 86h 03h,5
a nebo:
org bsf movlw movwf clrw movwf bcf 000 status,5 03h trisa trisb status,5
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.
Mikroprocesory PIC 16Fxx
Nastavení vstupů a výstupů
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)
Mikroprocesory PIC 16Fxx
Nastavení vstupů a výstupů
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.