1 / 9

Digitální učební materiál

Digitální učební materiál. Větvení programu. 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). Mikroprocesory PIC 16Fxx. PIC 16F84A Větvení programu.

chi
Télécharger la présentation

Digitální učební materiál

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Digitální učební materiál

  2. Větvení programu 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)

  3. Mikroprocesory PIC 16Fxx PIC 16F84A Větvení programu Vícenásobné větvení programu budeme provádět postupným -cyklickým testováním všech vstupů (tlačítek). • 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. Nastav I/O Test Tl1 Test Tl3 Test Tl2 Test Tl4 0 0 0 0 1 1 1 1 Rozsviť LED2 Rozsviť LED3 Rozsviť LED4 Rozsviť LED1 Mikroprocesory PIC 16Fxx PIC 16F84A Vě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. Vývojový diagram: Zhasni LED1 Rozsviť LED1 Zhasni LED3 Zhasni LED4 Zhasni LED2

  5. Mikroprocesory PIC 16Fxx PIC 16F84A Vě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. ;********************************************************* ; FUNKCE DRÁT ČTYŘI TLAČÍTKA PIC 16F84A ;********************************************************* ; tlačíko Tl1 ovládá LED1, Tl2 – LED2, Tl3 – LED3 a Tl4 – LED4 ;********************************************************* org 000 bsf status,5 ;přepne na stránku 1 movlw 0fh movwf trisa ;Tl1 na RA0, Tl2 na RA1, Tl3 na RA2, Tl4 na RA3 movlw 00h movwf trisb ;LED1-RB0, LED2-RB1, LED3-RB2, LED4-RB3 bcf status,5 ;návrat na stránku 0 clrf porta ;vynulování vstupů clrf portb ;zhasnutí všech LED

  6. Mikroprocesory PIC 16Fxx PIC 16F84A Vě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. tl1 btfsc porta,0 goto rozled1 ;skočí na podprogram rozsvícení goto zhaled1 ;skočí na podprogram zhasnutí tl2 btfsc porta,1 goto rozled2 goto zhaled2 tl3 btfsc porta,2 goto rozled3 goto zhaled3 tl4 btfsc porta,3 goto rozled4 goto zhaled4

  7. Mikroprocesory PIC 16Fxx PIC 16F84A Vě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. rozled1 bsf portb,0 ;rozsvítí LED1 goto tl2 ;skočí na test tl2 zhaled1bcf portb,0 ;zhasne LED1 goto tl2 ;skočí na test tl2 rozled2 bsf portb,1 ;rozsvítí LED2 goto tl3 ;skočí na test tl3 zhaled2bcf portb,1 ;zhasne LED2 goto tl3 ;skočí na test tl3 rozled3 bsf portb,2 ;rozsvítí LED3 goto tl4 ;skočí na test tl4 zhaled3bcf portb,2 ;zhasne LED3 goto tl4 ;skočí na test tl4 rozled4 bsf portb,3 ;rozsvítí LED4 goto tl1 ;skočí na test tl1 zhaled4bcf portb,3 ;zhasne LED4 goto tl1 ;skočí na test tl1 end

  8. Mikroprocesory PIC 16Fxx PIC 16F84A Vě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: Zdrojový kód: org 000 bsf status,5 movlw 0fh movwf trisa movlw 00h movwf trisb bcf status,5 clrf porta clrf portb loop movfw porta ;kopíruje porta do movwf portb ;portb přes W goto loop end Nastav I/O Kopíruj porta do W Přesuň W do portb

  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=datasheet Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Peter Podoba.

More Related