Autor:Ing. Peter Podoba Předmět/vzdělávací oblast:Digitální technika Tematická oblast:Mikroprocesorová technika Téma:Vnořená časová smyčka Ročník:4. Datum vytvoření:září 2013 Název:VY_32_INOVACE_ ELE Anotace: Princip vytvoření vnořené časové smyčky. 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 Vnořená časová smyčka (zdrojový kód) Časové smyčky
Mikroprocesory PIC 16Fxx PIC 16F84Ačasové smyčky Čekání Čítač = 0 1 Čítač = počáteční hodnota Konec čekání Čítač = Čítač Vývojový diagram jednoduché čekací smyčky. zadání počáteční hodnoty max. 255 Tato čekací smyčka vyvolá zpoždění cca 1000 str.cyklů, což při taktování 4 MHz představuje asi 1 ms. Pro spoustu aplikací je to málo, a proto čas čekání prodloužíme vnořením další čekací smyčky do původní smyčky. Takto můžeme řetězit libovolný počet smyček.
Mikroprocesory PIC 16Fxx PIC 16F84Ačasové smyčky Vývojový diagram vnořené čekací smyčky. max. 255 Tato čekací smyčka vyvolá zpoždění cca str.cyklů, což při taktování 4 MHz představuje asi 0,5 s. Čekání Čítač 1 = 0 1 Čítač 1 = počáteční hodnota Čítač 1 = Čítač Čítač 2 = 0 1 Čítač 2 = počáteční hodnota Konec čekání Čítač 2 = Čítač max. 255
Mikroprocesory PIC 16Fxx Uvedenou smyčku můžeme použít víckrát, a to i v různých částech programu. Pro vyvolání podprogramu je vhodnější instrukce CALL. PIC 16F84Ačasové smyčky Do zásobníkové paměti se uloží adresa programu, která následuje po instrukci volání PP. return calladresa PP (návěští) Návratová instrukce RETURN vrátí program na místo, ze kterého byl volán PP. Nemusíme tedy zadávat adresu, jak tomu bylo u instrukce GOTO. Zásobníková paměť (Stack) pracuje podobně jako zásobník do pistole. Vložíte 1. náboj, pak atd. Vystřelíte jako první poslední vložený a jako poslední první vložený náboj. Proto se této paměti také říká paměť LIFO (last in, first out).
Mikroprocesory PIC 16Fxx Zdrojový kód vnořené čekací smyčky: PIC 16F84Ačasové smyčky ;******Nastavení I/O********** citac1EQU10h citac2EQU11h ;*************************** cekanimovlw255h movwfcitac2 loop1movlw100h movwfcitac1 movfcitac1,0 btfscstatus,2 gotoloop2 decfcitac1,1 gotoloop1 loop2movfcitac2,0 btfscstatus,2 return decfcitac2,1 gotoloop1 Čekání Čítač 1 = 0 1 Čítač 1 = počáteční hodnota Čítač 1 = Čítač Čítač 2 = 0 1 Čítač 2 = počáteční hodnota Konec čekání Čítač 2 = Čítač
Mikroprocesory PIC 16Fxx PIC 16F84Ačasové smyčky Zdrojový kód blikající LED: ;************************** ;Bĺikající LED PIC16F84A ;************************** ; LED na RB0 ;************************** org000 movlw0fh trisa clrw trisb clrfportb citac1EQU10h citac2EQU11h ;************************** blikbsf portb,0 callcekani bcfportb,0 callcekani gotoblik cekanimovlw255h movwfcitac2 loop1movlw100h movwfcitac1 movfcitac1,0 btfscstatus,2 gotoloop2 decfcitac1,1 gotoloop1 loop2movfcitac2,0 btfscstatus,2 return decfcitac2,1 gotoloop1
Mikroprocesory PIC 16Fxx Kontrolní otázky: PIC 16F84Ačasové smyčky 1)Co vyvolá instrukce CALL návěští? Vyvolá skok programu na místo označené návěštím (podprogram) a současně zapíše do zásobníkové paměti adresu která následuje po instrukci volání PP. 2)Co vyvolá instrukce RETURN? Návratová instrukce RETURN vrátí program na místo, ze kterého byl volán PP. Nemusíme tedy zadávat adresu, jak tomu bylo u instrukce GOTO.
Použité zdroje: HRBÁČEK, Jiří. Moderní učebnice programování jednočipových mikrokontrolérů PIC - 1. díl. 1. vyd. Praha: BEN – technická literatura, ISBN HRBÁČEK, Jiří. Moderní učebnice programování jednočipových mikrokontrolérů PIC.- 2. díl 1. vyd. Praha: BEN - technická literatura, 2007, 141 s. ISBN PIC16F84A Data Sheet 18-pin Enhanced FLASH/EEPROM 8-bit Microcontroller [on line] [cit ]. Dostupné z: Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Peter Podoba.