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 Report

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