80 likes | 197 Views
Digitální učební materiál. Mikroprocesory Atmel AVR. Atmel AVR Cykly. cykly. Mikroprocesory Atmel AVR. Na vývojové desce nastavte piny RA jako vstupy a RB jako výstupy, Piny RB propojte s LED. LED 0-3 budou svítit, LED 4-7 budou zhasnuté. cykly. Mikroprocesory Atmel AVR.
E N D
Mikroprocesory Atmel AVR Atmel AVR Cykly
cykly Mikroprocesory Atmel AVR Na vývojové desce nastavte piny RA jako vstupy a RB jako výstupy, Piny RB propojte s LED. LED 0-3 budou svítit, LED 4-7 budou zhasnuté.
cykly Mikroprocesory Atmel AVR Na úvod napíšeme kód pro blikání LED: Pro změnu hodnoty pinu použijeme instrukci Toggle. Pro čekání (zastavení běhu programu) použijeme instrukci Wait (hodnota). waitms 30 - čeká 30 ms waitus 750 - čeká 750 us wait 5 - čeká 5 s. Pro nekonečné střídání s časovou prodlevou použijeme instrukce nekonečné smyčky. ConfigPortA= output PortA = &B 00001111 Do TogglePortA Waitms500 Loop nastavení pinů LED 0-3 svítí, LED 4-7 nesvítí začátek smyčky změna hodnoty na 11110000 čeká 500 ms návrat na začátek smyčky
cykly Mikroprocesory Atmel AVR Někdy potřebujeme smyčku opustit při splnění zadané podmínky. K tomu použijeme smyčku s podmínkou: Do příkazy LoopUntil [výraz] Config Porta = Output Porta = &B11110000 Dim A As Byte A = 1 Leva: Do Toggle Porta Waitms 150 Incr A Loop Until A = 11 A = 1 Wait 2 Goto Leva nastavení pinů vytvoření proměnné a její výchozí hodnota návěští začátek smyčky blikání přičtení 1 k proměnné konec smyčky s podmínkou nastavení výchozí hodnoty čeká 2 s návrat na návěští
cykly Mikroprocesory Atmel AVR Dalším příkazem pro tvorbu cyklu je příkaz While – Wend, který je podobný předchozímu příkazu, ale podmínka se testuje na začátku cyklu. While podmínka příkazy Wend Posledním příkazem pro tvorbu cyklu je příkaz For – Next. Tímto cyklem předem nastavujeme počet opakování. Do For I = 140 To 180 Servo(1) = I Waitms 5 Next For I = 180 To 140 Step -1 Servo(1) = I Waitms 5 Next Loop nastavení rozsahu krokování nastavení kroku
cykly Mikroprocesory Atmel AVR Kontrolní otázky: • Co provede instrukce TOGGLE? • Průchod programu přes instrukci Toggle změní hodnotu na příslušném pinu. • Napiš instrukci pro čekání 50 ms. • waitms 50 • Jaké používáme příkazy pro cykly? • Do [tělo cyklu] Loop • Do [tělo cyklu] Loopuntil (podmínka) • While (podmínka) [tělo cyklu] Wend
Použité zdroje: VÁŇA, Vladimír. Mikrokontroléry ATMEL AVR– programování v jazyce Bascom. 1. vyd. Praha: BEN - technická literatura, 2004, 143 s. ISBN 80-7300-115-2. Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Peter Podoba.