1 / 10

Digitální učební materiál

Digitální učební materiál. přerušení. Mikroprocesory PIC 16Fxx. Obvod přerušení – INT RB0 (Změna rychlosti blikání LED pomocí tlačítka). Mikroprocesory PIC 16Fxx. přerušení. Obvod přerušení. Mikroprocesor PIC16F84A má několik zdrojů, které mohou vyvolat přerušení. přetečení TMR0

deliz
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. přerušení Mikroprocesory PIC 16Fxx Obvod přerušení – INT RB0 (Změna rychlosti blikání LED pomocí tlačítka)

  3. Mikroprocesory PIC 16Fxx přerušení Obvod přerušení Mikroprocesor PIC16F84A má několik zdrojů, které mohou vyvolat přerušení. • přetečení TMR0 • ukončení zápisu do EEPROM • změna stavu na RB7-4 • impulz na RB0 Po přijetí přerušení program skočí na adresu 004h programové paměti. Po resetu nebo zapnutí napájecího napětí začne program na adrese 000h. Do adresy programu přerušení zbývají 4 adresové místa, kam se ukládají instrukce skoku na začátek hlavního programu.

  4. Mikroprocesory PIC 16Fxx INTCON 0Ch, 8Ch GIE - povolení jakéhokoli přerušení EEIE - přerušení po dokončení zápisu do EEPROM TOIE - přerušení po přetečení časovače TMR0 INTE - přerušení od vývodu INT - RB0 RBIE - přerušení od změny na portu B TOIF - příznak přetečení TMR0 (ručně nulovat) INTF - příznak vnějšího přerušení (ručně nulovat) RBIF - příznak přerušení od portu B (ručně nulovat) Povolení - enable 0 - zakázat 1 - povolit Příznak - flag 0 - nebyl 1 - byl

  5. Mikroprocesory PIC 16Fxx přerušení Vlastní sytém přerušení vypadá takto: TOIF & TOIE SLEEP INTF & INTE požadavek na vykonání přerušení 1 & RBIF & RBIE EEIF GIE & EEIE

  6. Mikroprocesory PIC 16Fxx přerušení Program pro změnu rychlosti blikání LED pomocí přerušení od vstupu RB0: Po stisku tlačítka připojeného na RB0 začne LED blikat dvojnásobnou rychlostí. Pro blikání LED využijeme program z lekce o přerušení pomocí TMR0. ;******************************************************************* ;Přerušení od INT RB0 - PIC 16F84A ;******************************************************************* goto main ;jdi na hlavní program nop nop nop nop ;tady začíná přerušení goto obsluha ;první instrukce přerušení obsluha btfsc intcon,1 ;test zda přišlo přerušení od tlačítka goto tlac ;vykonej akci stisku tlačítka btfsc intcon,2 ; test zda přišlo přerušení od časovače goto blik ;vykonej akci časovače return ;vrať se do hlavního programu

  7. Mikroprocesory PIC 16Fxx přerušení Program pro změnu rychlosti blikání LED pomocí přerušení od vstupu RB0: main bsf status,5 ;hlavní program movlw ffh movwf trisa clrf trisb bsf portb,0 movlw d7h movwf option ;povolení timeru s předděličkou bcf status,5 movlw b0h movwf intcon ;povolení přerušení - obecné + timer + intRB0 nekon goto nekon ;nekonečná smyčka

  8. Mikroprocesory PIC 16Fxx přerušení Program pro změnu rychlosti blikání LED pomocí přerušení od vstupu RB0: tlac nop btfsc portb,0 ;test stisku tlačítka goto rych goto pom rych bsf status,5 movlw 96h ;nastaví přerušení sestupnou hranou + dělič movwf option goto int pom bsf status,5 movlw d7h ;nastaví přerušení náběžnou hranou + dělič movwf option int bcf status,5 bcf 0Bh,1 bsf 0Bh,7 retfie ;návrat z přerušení

  9. Mikroprocesory PIC 16Fxx přerušení Program pro změnu rychlosti blikání LED pomocí přerušení od vstupu RB0: blik nop ;akce časovače btfss portb,1 ;test, jestli svítí LED goto rozsvit goto zhasni zpet bcf 0Bh,2 ;výmaz příznaku bsf 0Bh,7 ;znovupovolení generálního přerušení retfie ;návrat z přerušení rozsvit bsf portb,1 goto zpet zhasni bcf portb,1 goto zpet

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