Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilSimona Soukupová
1
Autor:Ing. Peter Podoba Předmět/vzdělávací oblast:Digitální technika Tematická oblast:Mikroprocesorová technika Téma:Obsluha více tlačítek – drát PIC 16F84A – zdrojový kód Ročník:4. Datum vytvoření:květen 2013 Název:VY_32_INOVACE_11.1.06.ELE Anotace: Jednoduché 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.
2
Mikroprocesory PIC 16Fxx Zdrojový kód (program) pro obsluhu více tlačítek přiřazených k více LED. (stiskem rozsvítí, uvolněním zhasne) Větvení programu
3
Mikroprocesory PIC 16Fxx Vícenásobné větvení programu budeme provádět postupným - cyklickým testováním všech vstupů (tlačítek). PIC 16F84AVětvení programu V případě stisknutého tlačítka vyvoláme rozsvícení příslušné LED a posuneme program na test dalšího tlačítka. V případě uvolněného tlačítka vyvoláme zhasnutí příslušné LED a posuneme program na test dalšího tlačítka. Po testu posledního tlačítka vrátíme program za začátek cyklu. Uvedeným způsobem můžeme testovat libovolný počet tlačítek.
4
Mikroprocesory PIC 16Fxx PIC 16F84AVětvení programu Úkol: Stiskem příslušného tlačítka Tl1-4 se rozsvítí LED1-4 a uvolněním tlačítka LED zhasne. Nastav I/O Test Tl1 1 0 Rozsviť LED1Zhasni LED1Rozsviť LED1 Test Tl3 1 0 Rozsviť LED3 Zhasni LED3 Test Tl2 1 0 Rozsviť LED2 Zhasni LED2 Test Tl4 1 0 Rozsviť LED4 Zhasni LED4 Vývojový diagram:
5
Mikroprocesory PIC 16Fxx Úkol: Stiskem příslušného tlačítka Tl1-4 se rozsvítí LED1-4 a uvolněním tlačítka LED zhasne. PIC 16F84AVětvení programu ;********************************************************* ;FUNKCE DRÁT ČTYŘI TLAČÍTKAPIC 16F84A ;********************************************************* ; tlačíko Tl1 ovládá LED1, Tl2 – LED2, Tl3 – LED3 a Tl4 – LED4 ;********************************************************* org000 bsfstatus,5;přepne na stránku 1 movlw0fh movwftrisa;Tl1 na RA0, Tl2 na RA1, Tl3 na RA2, Tl4 na RA3 movlw00h movwftrisb;LED1-RB0, LED2-RB1, LED3-RB2, LED4-RB3 bcfstatus,5;návrat na stránku 0 clrfporta;vynulování vstupů clrfportb;zhasnutí všech LED
6
Mikroprocesory PIC 16Fxx Úkol: Stiskem příslušného tlačítka Tl1-4 se rozsvítí LED1-4 a uvolněním tlačítka LED zhasne. PIC 16F84AVětvení programu tl1btfscporta,0 gotorozled1;skočí na podprogram rozsvícení gotozhaled1;skočí na podprogram zhasnutí tl2btfscporta,1 gotorozled2 gotozhaled2 tl3btfscporta,2 gotorozled3 gotozhaled3 tl4btfscporta,3 gotorozled4 gotozhaled4
7
Mikroprocesory PIC 16Fxx Úkol: Stiskem příslušného tlačítka Tl1-4 se rozsvítí LED1-4 a uvolněním tlačítka LED zhasne. PIC 16F84AVětvení programu rozled1bsfportb,0;rozsvítí LED1 gototl2;skočí na test tl2 zhaled1bcfportb,0;zhasne LED1 gototl2;skočí na test tl2 rozled2bsfportb,1;rozsvítí LED2 gototl3;skočí na test tl3 zhaled2bcfportb,1;zhasne LED2 gototl3;skočí na test tl3 rozled3bsfportb,2;rozsvítí LED3 gototl4;skočí na test tl4 zhaled3bcfportb,2;zhasne LED3 gototl4;skočí na test tl4 rozled4bsfportb,3;rozsvítí LED4 gototl1;skočí na test tl1 zhaled4bcfportb,3;zhasne LED4 gototl1;skočí na test tl1 end
8
Mikroprocesory PIC 16Fxx PIC 16F84AVětvení programu Uvedený algoritmus je sice jednoduchý, ale značně rozsáhlý. Stejný úkol lze řešit i kopírováním obrazu stavu tlačítek (porta) do portb. V případě negativní logiky vstupů nebo výstupů se obraz před kopírovaním do portb neguje. Vývojový diagram: Nastav I/O Přesuň W do portb Kopíruj porta do W org000 bsfstatus,5 movlw0fh movwftrisa movlw00h movwftrisb bcfstatus,5 clrfporta clrfportb loopmovfwporta;kopíruje porta do movwfportb;portb přes W gotoloop end Zdrojový kód:
9
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, 2004. ISBN 80-7300-136-5. 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 978-80-7300-137-7. PIC16F84A Data Sheet 18-pin Enhanced FLASH/EEPROM 8-bit Microcontroller [on line]. 2004 [cit. 2013-02-03]. Dostupné z: http://www.microchip.com/TechDoc.aspx?type=datasheethttp://www.microchip.com/TechDoc.aspx?type=datasheet Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Peter Podoba.
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.