Autor:Ing. Peter Podoba Předmět/vzdělávací oblast:Digitální technika Tematická oblast:Mikroprocesorová technika Téma:Obsluha tlačítek PIC 16F84A Ročník:4. Datum vytvoření:leden 2013 Název:VY_32_INOVACE_ ELE Anotace: Vícenásobné větvení programu, sestavení vývojového diagramu, Materiál inovativním způsobem zužuje vztah mezi teoretickou a praktickou výukou. Vlastní schémata 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ů. Metodický pokyn: 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 Zdrojový kód (program) pro obsluhu více tlačítek. Větvení programu
Mikroprocesory PIC 16Fxx Vícenásobné větvení programu lze provést: PIC 16F84AVětvení programu 1)Postupným - cyklickým testováním všech vstupů (tlačítek). 2)Vyvoláním okamžitého přerušení programu při změně hodnoty na vstupu. (tento způsob bude obsahem další lekce)
Mikroprocesory PIC 16Fxx Úkol: Stiskem tlačítka START se rozsvítí LED, stiskem tlačítka STOP LED zhasne. PIC 16F84AVětvení programu ;********************************************************* ;FUNKCE START - STOPPIC 16F84A ;********************************************************* ; tlačíko START na RA0, tlačíko STOP na RA1 ; LED na RB0 ;********************************************************* org000 statusEQU03h;Informace pro překladač, že náš název trisaEQU085h;pro registr (status, tris, port) se nachází trisbEQU086h;na příslušné adrese. portaEQU05h;V kódu už nemusíme uvádět adresy. portbEQU06h #defineSTARTporta,0;Definice, kam je připojeno zařízení. #defineSTOPporta,1 #defineLEDportb,0
Mikroprocesory PIC 16Fxx Úkol : Stiskem tlačítka START se rozsvítí LED, stiskem tlačítka STOP LED zhasne. PIC 16F84AVětvení programu bsfstatus,5;přepnout na stránku 1 movlwB‘ ‘;nastaveni vstupů movwftrisa clrftrisb;nastavení výstupu bcfstatus,5;návrat na stránku 0 clrfporta;vymazáni vtupu clrfportb;vymazání výstupu - LED nesvítí pokračování:
Mikroprocesory PIC 16Fxx PIC 16F84AVětvení programu Nastav I/O START 1 0 Rozsviť LED STOP Zhasni LED 0 1 loopbtfscSTART bsfLED btfscSTOP bcfLED gotoloop end BTFSCSTART Při „0“ přeskočí následující instrukci, a tím můžeme testovat další vstup. Při „1“ rozsvítí LED a testuje další vstup.
Mikroprocesory PIC 16Fxx Kontrolní otázky: PIC 16F84AVětvení programu 1) Co vykoná direktiva EQU? Pojmenuje příslušný registr zvoleným jménem. 2) Napiš tělo programu pro rozsvícení dvou LED dvěma tlačítky a jejich zhasnutí dalším tlačítkem! loopbtfsc tlačítko1 bsfLED1 btfsctlačítko2 bsfLED2 btfsstlačítko3 gotoloop bcfLED1 bcfLED2 gotoloop
Použité zdroje: HRBÁČEK, Jiří. Moderní učebnice programování jednočipových mikrokontrolérů PIC - 1. díl. 1. vyd. Praha: BEN – technická literatura, ISBN HRBÁČEK, Jiří. Moderní učebnice programování jednočipových mikrokontrolérů PIC.- 2. díl 1. vyd. Praha: BEN - technická literatura, 2007, 141 s. ISBN PIC16F84A Data Sheet 18-pin Enhanced FLASH/EEPROM 8-bit Microcontroller [on line] [cit ]. Dostupné z: Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Peter Podoba.