Autor: Ing. Peter Podoba Předmět/vzdělávací oblast: Digitální technika Tematická oblast: Mikroprocesorová technika Téma: Obvod přerušení od TMR0 Ročník: 4. Datum vytvoření: říjen 2013 Název: VY_32_INOVACE_11.1.13.ELE Anotace: Nastavení parametrů vnitřního přerušení programu. Materiál inovativním způsobem zužuje vztah.
Download ReportTranscript Autor: Ing. Peter Podoba Předmět/vzdělávací oblast: Digitální technika Tematická oblast: Mikroprocesorová technika Téma: Obvod přerušení od TMR0 Ročník: 4. Datum vytvoření: říjen 2013 Název: VY_32_INOVACE_11.1.13.ELE Anotace: Nastavení parametrů vnitřního přerušení programu. Materiál inovativním způsobem zužuje vztah.
Slide 1
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 2
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 3
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 4
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 5
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 6
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 7
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 8
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 9
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 10
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 2
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 3
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 4
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 5
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 6
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 7
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 8
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 9
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.
Slide 10
Autor:
Ing. Peter Podoba
Předmět/vzdělávací oblast:
Digitální technika
Tematická oblast:
Mikroprocesorová technika
Téma:
Obvod přerušení od TMR0
Ročník:
4.
Datum vytvoření:
říjen 2013
Název:
VY_32_INOVACE_11.1.13.ELE
Anotace:
Nastavení parametrů vnitřního přerušení programu.
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
Obvod přerušení - TMR0
(Blikání LED pomocí časovače)
přerušení
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.
Mikroprocesory PIC 16Fxx
INTCON 0Ch, 8Ch
GIE - povolení jakéhokoli přerušení
EEIE - přerušení po dokončení zápisu do EEPROM
Povolení - enable
0 - zakázat
1 - povolit
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)
Příznak - flag
0 - nebyl
1 - byl
INTF - příznak vnějšího přerušení (ručně nulovat)
RBIF - příznak přerušení od portu B (ručně nulovat)
Mikroprocesory PIC 16Fxx
přerušení
Přerušení
Přerušení je funkce, která po předem nastavené akci přeruší aktuální činnost
procesoru, skočí na 4. řádek programu a vykoná podprogram přerušení. Poté se
procesor vrátí zpět a pokračuje, kde skončil.
Na 4. řádku se nachází rutina, která do pomocných registrů uloží pracovní registr W
a další tři důležité registry - STATUS, PCLATH a FSR a skočí na podprogram
obsluhy přerušení.
Zde se obvykle zjistí, jaký typ přerušení proběhl a provede se příslušná akce. Při
návratu z přerušení se opět obnoví uložené registry a příkazem RETFIE se
procesor vrátí přesně do místa, kde byl před přerušením, a pokračuje zde dál.
Mikroprocesory PIC 16Fxx
přerušení
Vlastní sytém přerušení vypadá takto:
TOIF
&
TOIE
INTF
SLEEP
&
INTE
1
&
RBIF
&
RBIE
EEIF
GIE
&
EEIE
požadavek na
vykonání přerušení
Mikroprocesory PIC 16Fxx
přerušení
Program pro blikání LED pomocí přerušení od přetečení časovače:
Jeho výhodou je přesný čas cyklu bez ohledu na běh programu. Pro nastavení
delšího času není vnořená další smyčka, ale zapnutá předdělička.
;*******************************************************************
;Přerušení o TMR - PIC 16F84A
;*******************************************************************
goto
main
nop
nop
nop
;sem skočí program při přerušení - nevykoná žádnou instrukci
goto
obsluha ;první instrukce musí až sem
********************************************************************
rozsvit bsf
portb,1
;podprogram rozsvícení
goto
zpet
zhasni
bcf
portb,1
;podprogram zhasnutí
goto
zpet
********************************************************************
Mikroprocesory PIC 16Fxx
main
nekon
bsf
movlw
movwf
clrf
movlw
movwf
bcf
movlw
movwf
goto
obsluha nop
btfss
goto
goto
zpet
bcf
bsf
retfie
status,5
ffh
trisa
trisb
d4h
option
status,5
a0h
intcon
nekon
;hlavní program
portb,1
rozsvit
zhasni
0Bh,2
0Bh,7
;test, jestli svítí LED
přerušení
;povolení timeru s předděličkou
;povolení přerušení - obecné + timer
;nekonečná smyčka - tady čeká na přerušení
;výmaz příznaku
;znovupovolení generálního přerušení
;návrat z přerušení
Mikroprocesory PIC 16Fxx
přerušení
Kontrolní otázky:
1) Co je přerušení?
Přerušení je funkce, která po předem nastavené akci přeruší aktuální
činnost procesoru, skočí na 4. řádek programu a vykoná podprogram
přerušení. Poté se procesor vrátí zpět a pokračuje, kde skončil.
2) Jaká událost vyvolá přerušení?
• přetečení TMR0
• ukončení zápisu do EEPROM
• změna stavu na RB7-4
• impulz na RB0
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.