100 likes | 189 Views
Anglicky v odborných předmětech "Support of teaching technical subjects in English “. Výukový program: Mechanik - elektrotechnik Název programu: Číslicová technika - mikroprocesory III . ročník Mikrořadiče Vypracoval : Vlastimil Vlček.
E N D
Anglicky v odborných předmětech"Support ofteachingtechnicalsubjects in English“ Výukový program: Mechanik - elektrotechnik Název programu: Číslicová technika - mikroprocesory III. ročník Mikrořadiče Vypracoval: Vlastimil Vlček Projekt Anglicky v odborných předmětech, CZ.1.07/1.3.09/04.0002 je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.
Práce s podprogramy Proč používat podprogramy? • Zvyšují přehlednost celého programu • Šetří místo v paměti (nahrazují opakující se části programu) • Podporují systematičnost práce (vytvářením knihoven podprogramů) • Šetří čas programátora (využitím knihoven podprogramů) • Umožňují využití knihoven podprogramů jinými programátory (internet)
Práce s podprogramy Princip podprogramu
Práce s podprogramy Příklad využití podprogramu start1 bcf LED1 ;rozsvit LED1 call cekej ;pockej 80ms bsf LED1 ; zhasni LED1 call cekej ; pockej 80ms bcf LED2 ;rozsvit LED2 call cekej ;pockej 80ms bsf LED2 ; zhasni LED call cekej ; pockej 80ms cekej movlw .255 ;zacatek podprogramu movwf citac_1 ;vnejsi smycka cekej_A movlw .255 movwf citac_2 ;vnitrni smycka decfsz citac_2,f ;odecet citace vnitrnismycky, test na nulu goto $-1 ;neni nulovy- zpet decfsz citac_1,f ;odecet citace vnejsi smycky, ;test na nulu goto cekej_A ;neni nulovy - zpet nop return ;obe smycky vynulovany - navrat
Práce s podprogramy Instrukce pro práci s podprogramy CALL Volání podprogramu RETURN Návrat z podprogramu (Využití: běžné podprogramy) RETLW Návrat z podprogramu s konstantou v registru W (Využití: práce s tabulkami) RETFIE Návrat z podprogramu přerušení (Využití: systém přerušení) Každé instrukci CALL musí odpovídat instrukce RETURN (RETLW, RETFIE). Nedodržení této podmínky vede k porušení systému registru návratových adres a ke zhroucení programu!
Práce s podprogramy Registr návratových adres (STACK)
Práce s podprogramy Vnořené podprogramy
Shrnutí učiva - cvičení • Kdy je výhodné použít podprogramy? • Jaké jsou zásady psaní podprogramů? • Jaké jsou výhody tvorby knihoven podprogramů? • Jsou podprogramy přenositelné mezi různými typy mikrořadičů? Na čem přenositelnost závisí?
Shrnutí učiva - cvičení • Jaký vztah má instrukce CALL k instrukci RETURN? • Co jsou „vnořené“ podprogramy? • Jakou funkci v mikrořadiči má registr návratových adres? • Jak vzniká tzv. „přetečení“ zásobníku návratových adres a jaké má následky?
Použitá literatura • DatasheetMicrochip PIC16F882/883/884/886/887 DS41291E (http://www.microchip.com) • Microchip.com: GettingStartedwithPICmicroMCUs • Microchip.com: MPLAB IDE User’s Guide • Microchip.com: QuickGuide to MicrochipDevelopmentTools