PICAXE: Porovnání verzí
Bez shrnutí editace |
Bez shrnutí editace |
||
Řádek 68: | Řádek 68: | ||
|} | |} | ||
== Příkazy: == | |||
=====Abecední seznam příkazů===== | |||
'''backward''' (použitelné pro PICAXE: 18, 18A, 18X, 28A, 28X, 40X)<br /> | |||
''syntaxe:'' | |||
BACKWARD motor | |||
- motor je A nebo B<br /> | |||
''funkce:'' | |||
Spustí otáčení motoru dozadu. Tento příkaz je ekvivalentní low 4, high 5 pro motor A, nebo low 6, high 7 | |||
pro motor B. | |||
Bude fungovat správně na desce UMU rev. C (vyrobené v roce 2007). A je levý motor, B je pravý motor.<br /><br /> | |||
'''branch''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
BRANCH offset,(address0,address1...addressN) | |||
- offset je proměnná, určující na kterou adresu (0-N) se má skočit. | |||
- adresy (address) jsou návěští, na která se větví program podle hodnoty proměnné offset.<br /> | |||
''funkce:'' | |||
Tento příkaz umožňuje větvení programu podle proměnné offset. Pokud je její hodnota 0, skočí se na | |||
první návěští, pokud je hodnota 1, skočí se na druhé atd. Pokud je hodnota větší nežli odpovídá | |||
poslednímu uvedenému návěští, neprovede se žádný skok a program pokračuje na dalším řádku.<br /><br /> | |||
'''button''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
BUTTON pin,downstate,delay,rate,bytevariable,targetstate,address<br /> | |||
''funkce:'' | |||
Příkaz ke čtení tlačítka, odstranění zákmitů a simulaci opakovaného stisku (autorepeat). Aby správně | |||
fungoval, musí být periodicky vykonáván.<br /><br /> | |||
'''calibfreq''' (použitelné pro PICAXE: 08M, 18A, 18X)<br /> | |||
''syntaxe:'' | |||
CALIBFREQ {-} factor | |||
- factor je konstanta nebo proměnná, nabývající hodnot -31 až 31<br /> | |||
''funkce:'' | |||
Slouží k jemnému doladění interního oscilátoru. Po zapnutí napájení má konstanta hodnotu 0. Kladné | |||
hodnoty zvyšují kmitočet, záporné hodnoty snižují kmitočet oscilátoru. | |||
Tento příkaz má smysl pouze u mikrokontrolérů s interním oscilátorem – 08M, 18A a 18X.<br /><br /> | |||
'''count''' (použitelné pro PICAXE: 08M, 18X, 28X, 40X)<br /> | |||
''syntaxe:'' | |||
COUNT pin, period, variable | |||
- pin je proměnná nebo konstanta, určující, na kterém vstupu se počítají impulsy. | |||
- period je proměnná nebo konstanta, určující dobu měření (1-65535 ms při frekvenci oscilátoru 4 | |||
MHz). | |||
- variable je proměnná, do které se zaznamená výsledek (přednostně proměnná word – s rozsahem | |||
0-65535).<br /> | |||
''funkce:'' | |||
Slouží k čítání impulsů na vstupu, počítá vzestupné hrany na určeném vstupu. Nejvyšší měřitelná | |||
frekvence vstupního signálu je 25 kHz (pokud je střída signálu 1:1) pro frekvenci oscilátoru 4MHz.<br /><br /> | |||
'''debug''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
DEBUG {var} | |||
- var je nepovinná proměnná, uvedená pouze z důvodu zpětné kompatibility, její hodnota nemá | |||
žádný vliv.<br /> | |||
''funkce:'' | |||
Zobrazí hodnoty všech proměnných v ladícím okně na monitoru PC. Musí být připojen komunikační | |||
kabel. Vzhledem k množství přenášených dat tento příkaz značně zpomaluje běh programu. Rychlejší | |||
selektivní výpis ladících informací umožňuje příkaz SERTXD.<br /><br /> | |||
'''data eeprom''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
DATA {location},(data,data...) | |||
EEPROM {location},(data,data...) | |||
- location je nepovinná konstanta (0-255), určující počáteční adresu paměti eeprom, kam se budou | |||
ukládat data. Pokud není počáteční adresa uvedena, ukládání pokračuje tam, kde předchozí | |||
příkaz skončil. Při prvním použití příkazu se začíná na adrese 0. | |||
- data jsou konstanty (0-255), které budou uloženy v paměti eeprom.<br /> | |||
''funkce:'' | |||
Příkazy DATA a EEPROM jsou synonyma, oba slouží k naplnění paměti eeprom konstantami při | |||
zavádění programu z PC. Tyto konstanty lze načíst v programu příkazem READ. Příkaz DATA či | |||
EEPROM neovlivňuje délku programu.<br /><br /> | |||
'''end''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
END<br /> | |||
''funkce:'' | |||
Ukončí běh programu a uvede kontroler do režimu s minimální spotřebou. Obnova běhu programu je | |||
možná pouze vypnutím napájení, přivedením nízké úrovně na vstup MCLR (resetem) nebo zavedením | |||
nového programu z PC. | |||
Příkaz END vypíná všechny časovače, po jeho provedení se ukončí činnost příkazů PWM a SERVO a | |||
kontrolér přejde do režimu s nízkým příkonem. Pokud je tento efekt nežádoucí, lze použít příkaz STOP.<br /><br /> | |||
'''for..next''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
FOR variable = start TO end {STEP {-}increment} | |||
.. | |||
příkazy programové smyčky | |||
.. | |||
NEXT {variable} | |||
- variable je proměnná, která je použita jako čítač cyklů | |||
- start je počáteční hodnota čítače | |||
- end je konečná hodnota čítače | |||
- increment je nepovinná hodnota kroku čítače. Pokud není uvedena použije se hodnota +1. Pokud je | |||
uvedena záporna hodnota, předpokládá se, že Start je větší nežli End a čítá se směrem dolů.<br /> | |||
''funkce:'' | |||
Slouží k opakovanému provádění kódu uvedeného mezi příkazy FOR a NEXT. Při použití proměnné byte | |||
je největší možný počet cyklů 255. Při každém provedení příkazu NEXT se hodnota čítače zvětší (nebo | |||
zmenší) o předepsaný krok a porovná se s konečnou hodnotou End. Pokud je čítač větší (nebo menší při | |||
záporném kroku) nežli End, smyčka se ukončí a program pokračuje dalším řádkem za NEXT. Příkaz | |||
FOR-NEXT může mít osm úrovní vnoření.<br /> | |||
== www: == | == www: == |
Verze z 30. 1. 2012, 11:13
Základní příkazy a syntaxe:
REM Tohle je první jednoduchý program
start: pause 1000
goto start
Náměty:
Běžící had |
pins = %11111111 ;zhasne všechny diody main:
pause 1000
low 0 pause 200 high 0 ;postupně přepíná s 200 ms pauzou
low 1 pause 200 high 1
low 2 pause 200 high 2
low 3 pause 200 high 3
low 4 pause 200 high 4
low 5 pause 200 high 5
low 6 pause 200 high 6
low 7 pause 200 high 7
goto main
|
Robot Umík |
je postaven na podvozku UMU-01 Lze sestavit v konfiguraci stopař pro sledování čáry nebo minisumo
|
PICAXE MICROCONTROLLERS | |
PicAXE data logger source |
Příkazy:
Abecední seznam příkazů
backward (použitelné pro PICAXE: 18, 18A, 18X, 28A, 28X, 40X)
syntaxe:
BACKWARD motor
- motor je A nebo B
funkce:
Spustí otáčení motoru dozadu. Tento příkaz je ekvivalentní low 4, high 5 pro motor A, nebo low 6, high 7
pro motor B.
Bude fungovat správně na desce UMU rev. C (vyrobené v roce 2007). A je levý motor, B je pravý motor.
branch (použitelné pro všechny typy PICAXE)
syntaxe:
BRANCH offset,(address0,address1...addressN)
- offset je proměnná, určující na kterou adresu (0-N) se má skočit.
- adresy (address) jsou návěští, na která se větví program podle hodnoty proměnné offset.
funkce:
Tento příkaz umožňuje větvení programu podle proměnné offset. Pokud je její hodnota 0, skočí se na
první návěští, pokud je hodnota 1, skočí se na druhé atd. Pokud je hodnota větší nežli odpovídá
poslednímu uvedenému návěští, neprovede se žádný skok a program pokračuje na dalším řádku.
button (použitelné pro všechny typy PICAXE)
syntaxe:
BUTTON pin,downstate,delay,rate,bytevariable,targetstate,address
funkce:
Příkaz ke čtení tlačítka, odstranění zákmitů a simulaci opakovaného stisku (autorepeat). Aby správně
fungoval, musí být periodicky vykonáván.
calibfreq (použitelné pro PICAXE: 08M, 18A, 18X)
syntaxe:
CALIBFREQ {-} factor
- factor je konstanta nebo proměnná, nabývající hodnot -31 až 31
funkce:
Slouží k jemnému doladění interního oscilátoru. Po zapnutí napájení má konstanta hodnotu 0. Kladné
hodnoty zvyšují kmitočet, záporné hodnoty snižují kmitočet oscilátoru.
Tento příkaz má smysl pouze u mikrokontrolérů s interním oscilátorem – 08M, 18A a 18X.
count (použitelné pro PICAXE: 08M, 18X, 28X, 40X)
syntaxe:
COUNT pin, period, variable
- pin je proměnná nebo konstanta, určující, na kterém vstupu se počítají impulsy.
- period je proměnná nebo konstanta, určující dobu měření (1-65535 ms při frekvenci oscilátoru 4
MHz).
- variable je proměnná, do které se zaznamená výsledek (přednostně proměnná word – s rozsahem
0-65535).
funkce:
Slouží k čítání impulsů na vstupu, počítá vzestupné hrany na určeném vstupu. Nejvyšší měřitelná
frekvence vstupního signálu je 25 kHz (pokud je střída signálu 1:1) pro frekvenci oscilátoru 4MHz.
debug (použitelné pro všechny typy PICAXE)
syntaxe:
DEBUG {var}
- var je nepovinná proměnná, uvedená pouze z důvodu zpětné kompatibility, její hodnota nemá
žádný vliv.
funkce:
Zobrazí hodnoty všech proměnných v ladícím okně na monitoru PC. Musí být připojen komunikační
kabel. Vzhledem k množství přenášených dat tento příkaz značně zpomaluje běh programu. Rychlejší
selektivní výpis ladících informací umožňuje příkaz SERTXD.
data eeprom (použitelné pro všechny typy PICAXE)
syntaxe:
DATA {location},(data,data...)
EEPROM {location},(data,data...)
- location je nepovinná konstanta (0-255), určující počáteční adresu paměti eeprom, kam se budou
ukládat data. Pokud není počáteční adresa uvedena, ukládání pokračuje tam, kde předchozí
příkaz skončil. Při prvním použití příkazu se začíná na adrese 0.
- data jsou konstanty (0-255), které budou uloženy v paměti eeprom.
funkce:
Příkazy DATA a EEPROM jsou synonyma, oba slouží k naplnění paměti eeprom konstantami při
zavádění programu z PC. Tyto konstanty lze načíst v programu příkazem READ. Příkaz DATA či
EEPROM neovlivňuje délku programu.
end (použitelné pro všechny typy PICAXE)
syntaxe:
END
funkce:
Ukončí běh programu a uvede kontroler do režimu s minimální spotřebou. Obnova běhu programu je
možná pouze vypnutím napájení, přivedením nízké úrovně na vstup MCLR (resetem) nebo zavedením
nového programu z PC.
Příkaz END vypíná všechny časovače, po jeho provedení se ukončí činnost příkazů PWM a SERVO a
kontrolér přejde do režimu s nízkým příkonem. Pokud je tento efekt nežádoucí, lze použít příkaz STOP.
for..next (použitelné pro všechny typy PICAXE)
syntaxe:
FOR variable = start TO end {STEP {-}increment}
..
příkazy programové smyčky
..
NEXT {variable}
- variable je proměnná, která je použita jako čítač cyklů
- start je počáteční hodnota čítače
- end je konečná hodnota čítače
- increment je nepovinná hodnota kroku čítače. Pokud není uvedena použije se hodnota +1. Pokud je
uvedena záporna hodnota, předpokládá se, že Start je větší nežli End a čítá se směrem dolů.
funkce:
Slouží k opakovanému provádění kódu uvedeného mezi příkazy FOR a NEXT. Při použití proměnné byte
je největší možný počet cyklů 255. Při každém provedení příkazu NEXT se hodnota čítače zvětší (nebo
zmenší) o předepsaný krok a porovná se s konečnou hodnotou End. Pokud je čítač větší (nebo menší při
záporném kroku) nežli End, smyčka se ukončí a program pokračuje dalším řádkem za NEXT. Příkaz
FOR-NEXT může mít osm úrovní vnoření.
www:
Programování PICAXE - 1. lekce