PICAXE: Porovnání verzí
Bez shrnutí editace |
Bez shrnutí editace |
||
Řádek 397: | Řádek 397: | ||
závorkou pořadové číslo shodné hodnoty. Číslování začíná nulou. Pokud se shoda nenajde, proměnná za | závorkou pořadové číslo shodné hodnoty. Číslování začíná nulou. Pokud se shoda nenajde, proměnná za | ||
závorkou zůstane beze změny.<br /><br /> | závorkou zůstane beze změny.<br /><br /> | ||
'''lookup''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
LOOKUP offset,(data0,data1...dataN),variable | |||
- offset je proměnná nebo konstanta, určuje, která položka z data0 až dataN se uloží do proměnné | |||
variable. | |||
- data jsou proměnné nebo konstanty | |||
- variable předává výslednou hodnotu, nebo zůstává beze změny<br /> | |||
''funkce:'' | |||
Vybírá z pole hodnot podle zadaného ofsetu (indexu). Pokud je ofset mimo rozsah uvedených hodnot, | |||
výstupní proměnná zůstává beze změny.<br /><br /> | |||
'''low''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
LOW pin | |||
- pin je proměnná nebo konstanta, označuje výstup, který se použije<br /> | |||
''funkce:'' | |||
Nastaví nízkou výstupní úroveň. (U PICAXE-08 zároveň nastaví vývod jako výstupní.)<br /><br /> | |||
'''low portc''' (pro PICAXE: 28X, 40X)<br /> | |||
''syntaxe:'' | |||
LOW PORTC pin | |||
- pin je proměnná nebo konstanta, označuje výstup na portu C, který se použije<br /> | |||
''funkce:'' | |||
Nastaví nízkou výstupní úroveň na výstupu portu C. (Pouze u kontrolérů 28X a 40X)<br /><br /> | |||
'''nap''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
NAP period | |||
- period je proměnná nebo konstanta, určující dobu, na kterou přejde kontroler do režimu s nízkou | |||
spotřebou. Rozsah 0 až 7. | |||
Doba zpoždění: | |||
0 18 ms | |||
1 32 ms | |||
2 72 ms | |||
3 144 ms | |||
4 288 ms | |||
5 576 ms | |||
6 1,152 s | |||
7 2,304 s<br /> | |||
''funkce:'' | |||
Uvede kontroler do spánku na dobu 2^period*18 ms. Tento příkaz využívá watchdog timer s omezenou | |||
přesností časování. Delší prodlevy lze dosáhnout příkazem Sleep.<br /><br /> | |||
'''output''' (použitelné pro PICAXE: 08, 08M)<br /> | |||
''syntaxe:'' | |||
OUTPUT pin | |||
- pin je proměnná nebo konstanta, označuje použitý vývod<br /> | |||
''funkce:'' | |||
Nastaví vývod jako výstupní. Funguje pouze u kontrolérů 08 a 08M.<br /><br /> | |||
'''pause''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
PAUSE milliseconds | |||
- milliseconds je proměnná nebo konstanta v rozsahu 0 až 65535, určuje dobu v jednotkách | |||
milisekund, po kterou bude tento příkaz trvat. Toto platí pouze při nastavené | |||
hodinové frekvenci 4 MHz. Při nastavení hodinové frekvence 8 MHz se čas | |||
zkracuje na 0,5 ms a na 0,25 ms při nastavení hodinové frekvence na 16 MHz.<br /> | |||
''funkce:'' | |||
Zastaví běh programu na určenou dobu. Přesnost je odvozena od hodinového kmitočtu kontroleru.<br /><br /> | |||
'''peek''' (použitelné pro PICAXE: 08M, 18, 18A, 18X, 28A, 28X, 40X)<br /> | |||
''syntaxe:'' | |||
PEEK location,variable | |||
- location je proměnná nebo konstanta, určující adresu registru. Platné hodnoty jsou 0 až 255. | |||
- variable je 8bitová proměnná, ve které je navrácen obsah registru na udané adrese.<br /> | |||
''funkce:'' | |||
Čte data z registrů mikrokontroleru. Umožňuje obnovit data uschovaná příkazem POKE.<br /><br /> | |||
'''play''' (použitelné pro PICAXE: 08M)<br /> | |||
''syntaxe:'' | |||
PLAY tune,LED | |||
- tune je proměnná nebo konstanta (0 - 3) určující, která skladba se zahraje: | |||
0 - Happy Birthday | |||
1 - Jingle Bells | |||
2 - Silent Night | |||
3 - Rudolf the Red Nosed Reindeer | |||
- LED je proměnná nebo konstanta (0 -3) určující způsob blikání připojených LED během hraní: | |||
0 - bez blikání | |||
1 - výstup 0 se zapíná a vypíná | |||
2 - výstup 4 se zapíná a vypíná | |||
3 - výstupy 0 a 4 se střídavě zapínají a vypínají<br /> | |||
''funkce:'' | |||
Přehrává skladbu, pouze na PICAXE-08M. Výstupní signál se objeví na výstupu 2.<br /><br /> | |||
''poke'' (použitelné pro PICAXE: 08M, 18, 18A, 18X, 28A, 28X, 40X)<br /> | |||
''syntaxe:'' | |||
POKE location,data | |||
- location je proměnná nebo konstanta určující adresu registru. Platné hodnoty jsou 0 až 255. | |||
- data je proměnná nebo konstanta obsahující data, která budou zapsána na uvednou adresu.<br /> | |||
''funkce:'' | |||
Zapisuje data do registrů kontroleru. Umožňuje uložit proměnné b0 až b13 do paměti a dále využít | |||
hardware prostřednictvím SFR (podle dokumentace v katalogovém listu příslušného kontroleru).<br /><br /> | |||
'''pulsin''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
PULSIN pin,state,variable | |||
- pin je proměnná nebo konstanta (0-7), určující, který vývod bude použit. | |||
- state je proměnná nebo konstanta (0 nebo 1), určující, která hrana se musí první objevit před | |||
začátkem měření. | |||
- variable obsahuje výsledek měření (1 - 65535) v jednotkách 10 μs.<br /> | |||
''funkce:'' | |||
Měří délku vstupního pulsu v jednotkách 10 μs. Jestliže se puls neobjeví do 0,65536 s, příkaz končí a | |||
výsledek je 0. Pokud je proměnná state = 1, měří se délka pulsu ve vysoké úrovni, měření začíná | |||
vzestupná hrana a končí sestupná hrana. Pokud je proměnná state = 0, měří se délka pulsu v nízké úrovni, | |||
měření začíná sestupná hrana a končí vzestupná hrana. Výstupní proměnná se obvykle používá 16bitová.<br /><br /> | |||
'''pulsout''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
PULSOUT pin,time | |||
- pin je proměnná nebo konstanta (0-7) určující, který vývod bude použit. | |||
- time je proměnná nebo konstanta určující dobu trvání pulsu (0-65535) v jednotkách 10 μs.<br /> | |||
''funkce:'' | |||
Vyšle impuls zadané délky. Polarita impulsu je určená počátečním stavem pinu, během pulsu se stav | |||
invertuje a po skončení se vrátí na původní úroveň.<br /><br /> | |||
'''pwm''' (použitelné pro PICAXE: 08, 08M)<br /> | |||
''syntaxe:'' | |||
PWM pin,duty,cycles | |||
- pin je proměnná nebo konstanta (0-7), určující, který vývod bude použit. | |||
- duty je proměnná nebo konstanta (0-255), určující činitel plnění PWM (dobu, kterou výstup | |||
setrvá ve stavu 1) | |||
- cycles je proměnná nebo konstanta (0-255), určující počet cyklů PWM, které na určeném vývodu | |||
proběhnout. Každý cyklus trvá asi 5 ms.<br /> | |||
''funkce:'' | |||
Tento příkaz se používá zřídka, vhodnější je použít PWMOUT. Příkaz PWM ukončí svoji činnost po | |||
zadaném počtu cyklů, neprobíhá na pozadí jako příkaz PWMOUT. Ve spojení s RC filtrem může | |||
napodobit analogový výstup na kontroléru PICAXE-08. Příkaz musí být volán opakovaně.<br /><br /> | |||
'''pwmout''' (použitelné pro PICAXE: 08M, 18X, 28X, 40X)<br /> | |||
''syntaxe:'' | |||
PWMOUT pin,period,duty cycles | |||
- pin je proměnná nebo konstanta určující, který vývod bude použit. | |||
(pouze vývod 3 na 18X, pouze vývod 2 na 08M, vývod 1 nebo 2 na 28X a 40X) | |||
- period je proměnná nebo konstanta (0-255) určující periodu pulsně šířkové modulace (PWM) | |||
- duty je proměnná nebo konstanta (0-1023) určující činitel plnění PWM (dobu, kterou výstup | |||
setrvá ve stavu 1) | |||
Generuje pulsně modulovaný výstupní signál na zvoleném vývodu s využitím interního hardware | |||
kontroleru. Tento signál zůstává aktivní i po ukončení příkazu PWMOUT. Pokud je třeba signál zrušit, | |||
použije se příkaz PWMOUT s periodou 0.<br /><br /> | |||
'''random''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
RANDOM wordvariable | |||
- wordvariable slouží zároveň jako výsledek i jako pracovní proměnná (násada) pro příští použití | |||
příkazu. Musí být použita proměnná typu word a její hodnota se nesmí do dalšího | |||
použití příkazu změnit. | |||
Vytváří sekvenci pseudonáhodných čísel mezi 0 a 65535.<br /><br /> | |||
'''readadc''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
READADC channel,variable | |||
- channel je proměnná nebo konstanta, určující vstup (0-7) | |||
- variable obsahuje výsledek A/D převodu<br /> | |||
''funkce:'' | |||
Příkaz čte napětí na analogovém vstupu a převádí ho na osmibitové číslo. Pouze některé vstupy mohou | |||
sloužit jako analogové. Na některých kontrolerech jsou analogové a digitální vstupy sdílené, mohou plnit | |||
obě funkce.<br /><br /> | |||
'''readadc10''' (použitelné pro PICAXE: 08M, 18X, 28X, 40X)<br /> | |||
''syntaxe:'' | |||
READADC10 channel,wordvariable | |||
- channel je proměnná nebo konstanta určující vstup (0-7) | |||
- wordvariable obsahuje výsledek A/D převodu<br /> | |||
''funkce:'' | |||
Příkaz čte napětí na analogovém vstupu a převádí ho na 10bitové číslo, proto se výsledek musí ukládat do | |||
16bitové proměnné. Pouze některé vstupy mohou sloužit jako analogové. Na některých kontrolerech jsou | |||
analogové a digitální vstupy sdílené, mohou plnit obě funkce. Při použití příkazu DEBUG může | |||
komunikace s PC narušit výsledek A/D převodu. V tom případě se doporučuje doplnit obvod o | |||
Schottkyho diodu, která tento efekt potlačí.<br /><br /> | |||
'''readi2c''' (použitelné pro PICAXE: 18X, 28X, 40X)<br /> | |||
''syntaxe:'' | |||
READI2C location,(variable,...) | |||
- location je proměnná nebo konstanta, určující adresu z které se bude číst. | |||
- variable proměnné, které po provedení příkazu obsahují data přečtená z uvedené adresy.<br /> | |||
''funkce:'' | |||
Čte data z I2C sběrnice a ukládá je do proměnné (proměnných). | |||
Adresa zařízení na I2C sběrnici je určená příkazem I2CSLAVE, location udává adresu v rámci tohoto | |||
zařízení, například adresu dat v (externí) EEPROM nebo RTC obvodu apod.<br /><br /> | |||
'''read''' (použitelné pro všechny typy PICAXE)<br /> | |||
''syntaxe:'' | |||
READ location,variable | |||
- location je proměnná nebo konstanta, určující 8bitovou adresu v interní EEPROM (0-255). | |||
- variable obsahuje přečtená data<br /> | |||
''funkce:'' | |||
Příkaz READ načítá data z EEPROM. Obsah této paměti je zachován i po vypnutí napájení. Tato data | |||
jsou zapisována při každém zavedení nového programu do mikrokontroléru, podle definice v příkazu | |||
DATA/EEPROM. Za běhu programu mohou být tato data přepisována pomocí příkazu WRITE.<br /><br /> | |||
'''readtemp''' (použitelné pro PICAXE: 08M, 18A, 18X, 28A, 28X, 40X)<br /> | |||
''syntaxe:'' | |||
READTEMP pin,variable | |||
- pin je proměnná nebo konstanta, určující, který vývod bude použit. | |||
- variable obsahuje přečtená data (byte).<br /> | |||
''funkce:'' | |||
Příkaz přečte teplotu z digitálního čidla DS18B20 a uloží ji do proměnné. Převod může trvat až 750 ms. | |||
Teplota se předává v celých stupních celsia. Senzor pracuje v rozmezí teplot -55 až +125°C.<br /><br /> | |||
== www: == | == www: == |
Verze z 30. 1. 2012, 11:49
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í.
forward (použitelné pro PICAXE: 18, 18A, 18X, 28A, 28X, 40X)
syntaxe:
FORWARD motor
- motor je A nebo B
funkce:
Spustí otáčení motoru dopředu. Tento příkaz je ekvivalentní high 4 low 5 pro motor A, nebo high 6 low 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.
gosub (použitelné pro všechny typy PICAXE)
syntaxe:
GOSUB address
- address je návěští podprogramu, který příkaz GOSUB volá
funkce:
Předává řízení programu na udanou adresu, po vykonání příkazu RETURN se vrátí vykonávání programu
na řádek následující po příkazu GOSUB. Příkaz GOSUB se liší od příkazu GOTO v tom, že uchovává
návratovou adresu. Po každém příkazu GOSUB musí následovat vykonání příkazu RETURN, jinak by
došlo k přeplnění zásobníku návratových adres. Příkazy GOSUB mohou mít čtyři úrovně vnoření.
Program kontrolérů 18X, 28X a 40X může obsahovat celkem 15 nebo 255 příkazů GOSUB, podle
nastavení v menu Options. U ostatních kontrolérů je povoleno 15, případně 16 příkazů GOSUB v celém
programu.
goto (použitelné pro všechny typy PICAXE)
syntaxe:
GOTO address
- address je návěští, na které se předá provádění programu – nepodmíněný skok na jiné místo v
programu.
halt (použitelné pro PICAXE: 18, 18A, 18X, 28A, 28X, 40X)
syntaxe:
HALT motor
- motor je A nebo B
funkce:
Zastaví otáčení motoru. Tento příkaz je ekvivalentní low 4 low 5 pro motor A, nebo low 6 low 7 pro
motor B.
high (použitelné pro všechny typy PICAXE)
syntaxe:
HIGH pin
- pin je proměnná nebo konstanta, označuje výstup, který se použije
funkce:
Nastaví vysokou výstupní úroveň. (U PICAXE-08 zároveň nastaví vývod jako výstupní.)
high portc (použitelné pro PICAXE: 28X, 40X)
syntaxe:
HIGH PORTC pin
- pin je proměnná nebo konstanta, označuje výstup na portu C, který se použije
funkce:
Nastaví vysokou výstupní úroveň na výstupu portu C. (Pouze u kontrolérů 28X a 40X)
i2cslave (použitelné pro PICAXE: 18X, 28X, 40X)
syntaxe:
I2CSLAVE slave, speed, address
- slave je adresa zařízení na I2C sběrnici
- speed je klíčové slovo i2cfast (400 kHz) nebo i2cslow (100 kHz) (krystal 4 MHz), určuje rychlost
komunikace. Pokud je na sběrnici více zařízení, určuje se rychlost podle nejpomalejšího z
nich – rychlejší periferie může pracovat s nižší rychlostí, naopak pracovat nelze.
- address je klíčové slovo i2cbyte nebo i2cword, určuje, zda je adresa 8-bitová nebo 16-bitová.
funkce:
Nastavuje parametry pro komunikaci po I2C sběrnici a konfiguruje vývody SCL a SDA jako vstupní.
Komunikaci obstarávají příkazy READI2C, WRITEI2C.
if .. then
if .. and .. then
if .. or .. then (použitelné pro všechny typy PICAXE)
syntaxe:
IF variable ?? value {AND/OR variable ?? value ...} THEN address
- variable je proměnná. Bude porovnána s value
- value může být proměnná nebo konstanta
- address je návěští, na které se předá řízení programu. Pokud je podmínka splněna
- ?? může být jeden z následujících operátorů:
= rovná se
is rovná se (alternativní zápis)
<> nerovná se
!= nerovná se (alternativní zápis)
> větší než
>= větší nebo rovno
< menší než
<= menší nebo rovno
funkce:
Příkaz porovnává dvě proměnné nebo proměnnou s konstantou a skočí na určené místo, pokud je
podmínka splněna. Pokud není podmínka splněna, pokračuje se na daším řádku programu.
infrain (použitelné pro PICAXE: 18A, 18X, 28A, 28X, 40X)
syntaxe:
INFRAIN
funkce:
Čeká na příjem znaku z dálkového ovládání. Přijatý kód je v proměnné infrain. Vyžaduje připojení
přijímače infračerveného signálu na vstup input0, používá protokol Sony.
infrain2 (použitelné pro PICAXE: 08M)
syntaxe:
INFRAIN2
funkce:
Obdoba předchozího příkazu pro PICAXE-08M. Vyžaduje připojení přijímače infračerveného signálu na
vstup input3, používá protokol Sony.
infraout (použitelné pro PICAXE: 08M)
syntaxe:
INFRAOUT device,data
funkce:
Vyšle data protokolem Sony infračerveného dálkového ovládání, pouze na PICAXE-08M. Předpokládá
připojení vysílací infračervené LED s omezovacím odporem na výstup 0.
input (použitelné pro PICAXE: 08, 08M)
syntaxe:
INPUT pin
- pin je proměnná nebo konstanta, označuje použitý vývod
funkce:
Nastaví vývod jako vstupní.
Po zapnutí napájení jsou všechny konfigurovatelné vývody nastaveny jako vstupní. Kromě příkazů k
přímému nastavení (LET DIRS, INPUT, OUTPUT, REVERSE) se příslušné vývody nastavují také
příkazy HIGH, LOW, TOGGLE, PULSOUT jako výstupní.
keyin (použitelné pro PICAXE: 18A, 18X, 28A, 28X, 40X)
syntaxe:
KEYIN
funkce:
Čeká na příjem znaku z počítačové klávesnice připojené přímo k mikrokontroléru. Přijatý kód je v
proměnné keyin. Vyžaduje připojení klávesnice na vstupy input6 a input7 a zdvihací rezistory 4k7.
keyled (použitelné pro PICAXE: 18A, 18X, 28A, 28X, 40X)
syntaxe:
KEYLED mask
- mask je proměnná nebo konstanta, určuje stav LED na klávesnici.
funkce:
Rozsvěcí nebo zhasíná LED na klávesnici PC. Vyžaduje připojení klávesnice na vstupy input6 a input7.
let (použitelné pro všechny typy PICAXE)
syntaxe:
{LET} variable = {-} value ?? value...
- variable je proměnná, které bude přiřazen výsledek početní operace
- value jsou proměnné nebo konstanty spojené operátory
Klíčové slovo LET je nepovinné
funkce:
Provádí početní operace v celočíselné 16-bitové aritmetice (hodnoty 0 až 65535). Výrazy jsou
vyhodnocovány zleva doprava bez upatnění přednosti operátorů. Všechna čísla jsou chápána jako kladná.
Výsledek může být také 8-bitový nebo 1-bitový, v tom případě jsou vyšší bity oříznuty.
let dirs = (použitelné pro PICAXE: 08, 08M)
let dirsc = (použitelné pro PICAXE: 28X, 40X)
syntaxe:
{LET} dirs = value
{LET} dirsc = value
- value jsou proměnné nebo konstanty, jejichž hodnota je uložena do proměnné dirs (dirsc).
funkce:
Konfiguruje vývody kontroléru jako vstupní nebo výstupní (let dirs, na PICAXE-08/08M)
Konfiguruje vývody kontroléru na portu C jako vstupní nebo výstupní (let dirsc, na PICAXE-28X/40X).
Hodnota 1 příslušného bitu značí vstup, hodnota 0 značí výstup.
let pins = (použitelné pro všechny typy PICAXE)
let pinsc = (použitelné pro PICAXE: 28X, 40X)
syntaxe:
{LET} pins = value
{LET} pinsc = value
- value je proměnná nebo konstanta, jejíž hodnota je uložena do proměnné pins (pinsc).
funkce:
Tento příkaz nastavuje současně všechny výstupy kontroléru individuálně na vysokou nebo nízkou
úroveň, u kontrolérů PICAXE-28X/40X lze takto nastavit též všechny vývody portu C. Klíčové slovo
LET je nepovinné.
K individuálnímu nastavení jednotlivých výstupů lze použít příkazy high a low. Příkaz LET PINS
umožňuje hromadné nastavení všech osmi výstupů současně.
lookdown (použitelné pro všechny typy PICAXE)
syntaxe:
LOOKDOWN target,(value0,value1...valueN),variable
- target je proměnná nebo konstanta, která se porovnává s řadou hodnot v závorce.
- value0... jsou proměnné nebo konstanty
- variable obsahuje výsledek porovnávání.
funkce:
Porovnává target se seznamem hodnot v závorce, pokud najde stejnou hodnotu, uloží do proměnné za
závorkou pořadové číslo shodné hodnoty. Číslování začíná nulou. Pokud se shoda nenajde, proměnná za
závorkou zůstane beze změny.
lookup (použitelné pro všechny typy PICAXE)
syntaxe:
LOOKUP offset,(data0,data1...dataN),variable
- offset je proměnná nebo konstanta, určuje, která položka z data0 až dataN se uloží do proměnné
variable.
- data jsou proměnné nebo konstanty
- variable předává výslednou hodnotu, nebo zůstává beze změny
funkce:
Vybírá z pole hodnot podle zadaného ofsetu (indexu). Pokud je ofset mimo rozsah uvedených hodnot,
výstupní proměnná zůstává beze změny.
low (použitelné pro všechny typy PICAXE)
syntaxe:
LOW pin
- pin je proměnná nebo konstanta, označuje výstup, který se použije
funkce:
Nastaví nízkou výstupní úroveň. (U PICAXE-08 zároveň nastaví vývod jako výstupní.)
low portc (pro PICAXE: 28X, 40X)
syntaxe:
LOW PORTC pin
- pin je proměnná nebo konstanta, označuje výstup na portu C, který se použije
funkce:
Nastaví nízkou výstupní úroveň na výstupu portu C. (Pouze u kontrolérů 28X a 40X)
nap (použitelné pro všechny typy PICAXE)
syntaxe:
NAP period
- period je proměnná nebo konstanta, určující dobu, na kterou přejde kontroler do režimu s nízkou
spotřebou. Rozsah 0 až 7.
Doba zpoždění:
0 18 ms
1 32 ms
2 72 ms
3 144 ms
4 288 ms
5 576 ms
6 1,152 s
7 2,304 s
funkce:
Uvede kontroler do spánku na dobu 2^period*18 ms. Tento příkaz využívá watchdog timer s omezenou
přesností časování. Delší prodlevy lze dosáhnout příkazem Sleep.
output (použitelné pro PICAXE: 08, 08M)
syntaxe:
OUTPUT pin
- pin je proměnná nebo konstanta, označuje použitý vývod
funkce:
Nastaví vývod jako výstupní. Funguje pouze u kontrolérů 08 a 08M.
pause (použitelné pro všechny typy PICAXE)
syntaxe:
PAUSE milliseconds
- milliseconds je proměnná nebo konstanta v rozsahu 0 až 65535, určuje dobu v jednotkách
milisekund, po kterou bude tento příkaz trvat. Toto platí pouze při nastavené
hodinové frekvenci 4 MHz. Při nastavení hodinové frekvence 8 MHz se čas
zkracuje na 0,5 ms a na 0,25 ms při nastavení hodinové frekvence na 16 MHz.
funkce:
Zastaví běh programu na určenou dobu. Přesnost je odvozena od hodinového kmitočtu kontroleru.
peek (použitelné pro PICAXE: 08M, 18, 18A, 18X, 28A, 28X, 40X)
syntaxe:
PEEK location,variable
- location je proměnná nebo konstanta, určující adresu registru. Platné hodnoty jsou 0 až 255.
- variable je 8bitová proměnná, ve které je navrácen obsah registru na udané adrese.
funkce:
Čte data z registrů mikrokontroleru. Umožňuje obnovit data uschovaná příkazem POKE.
play (použitelné pro PICAXE: 08M)
syntaxe:
PLAY tune,LED
- tune je proměnná nebo konstanta (0 - 3) určující, která skladba se zahraje:
0 - Happy Birthday
1 - Jingle Bells
2 - Silent Night
3 - Rudolf the Red Nosed Reindeer
- LED je proměnná nebo konstanta (0 -3) určující způsob blikání připojených LED během hraní:
0 - bez blikání
1 - výstup 0 se zapíná a vypíná
2 - výstup 4 se zapíná a vypíná
3 - výstupy 0 a 4 se střídavě zapínají a vypínají
funkce:
Přehrává skladbu, pouze na PICAXE-08M. Výstupní signál se objeví na výstupu 2.
poke (použitelné pro PICAXE: 08M, 18, 18A, 18X, 28A, 28X, 40X)
syntaxe:
POKE location,data
- location je proměnná nebo konstanta určující adresu registru. Platné hodnoty jsou 0 až 255.
- data je proměnná nebo konstanta obsahující data, která budou zapsána na uvednou adresu.
funkce:
Zapisuje data do registrů kontroleru. Umožňuje uložit proměnné b0 až b13 do paměti a dále využít
hardware prostřednictvím SFR (podle dokumentace v katalogovém listu příslušného kontroleru).
pulsin (použitelné pro všechny typy PICAXE)
syntaxe:
PULSIN pin,state,variable
- pin je proměnná nebo konstanta (0-7), určující, který vývod bude použit.
- state je proměnná nebo konstanta (0 nebo 1), určující, která hrana se musí první objevit před
začátkem měření.
- variable obsahuje výsledek měření (1 - 65535) v jednotkách 10 μs.
funkce:
Měří délku vstupního pulsu v jednotkách 10 μs. Jestliže se puls neobjeví do 0,65536 s, příkaz končí a
výsledek je 0. Pokud je proměnná state = 1, měří se délka pulsu ve vysoké úrovni, měření začíná
vzestupná hrana a končí sestupná hrana. Pokud je proměnná state = 0, měří se délka pulsu v nízké úrovni,
měření začíná sestupná hrana a končí vzestupná hrana. Výstupní proměnná se obvykle používá 16bitová.
pulsout (použitelné pro všechny typy PICAXE)
syntaxe:
PULSOUT pin,time
- pin je proměnná nebo konstanta (0-7) určující, který vývod bude použit.
- time je proměnná nebo konstanta určující dobu trvání pulsu (0-65535) v jednotkách 10 μs.
funkce:
Vyšle impuls zadané délky. Polarita impulsu je určená počátečním stavem pinu, během pulsu se stav
invertuje a po skončení se vrátí na původní úroveň.
pwm (použitelné pro PICAXE: 08, 08M)
syntaxe:
PWM pin,duty,cycles
- pin je proměnná nebo konstanta (0-7), určující, který vývod bude použit.
- duty je proměnná nebo konstanta (0-255), určující činitel plnění PWM (dobu, kterou výstup
setrvá ve stavu 1)
- cycles je proměnná nebo konstanta (0-255), určující počet cyklů PWM, které na určeném vývodu
proběhnout. Každý cyklus trvá asi 5 ms.
funkce:
Tento příkaz se používá zřídka, vhodnější je použít PWMOUT. Příkaz PWM ukončí svoji činnost po
zadaném počtu cyklů, neprobíhá na pozadí jako příkaz PWMOUT. Ve spojení s RC filtrem může
napodobit analogový výstup na kontroléru PICAXE-08. Příkaz musí být volán opakovaně.
pwmout (použitelné pro PICAXE: 08M, 18X, 28X, 40X)
syntaxe:
PWMOUT pin,period,duty cycles
- pin je proměnná nebo konstanta určující, který vývod bude použit.
(pouze vývod 3 na 18X, pouze vývod 2 na 08M, vývod 1 nebo 2 na 28X a 40X)
- period je proměnná nebo konstanta (0-255) určující periodu pulsně šířkové modulace (PWM)
- duty je proměnná nebo konstanta (0-1023) určující činitel plnění PWM (dobu, kterou výstup
setrvá ve stavu 1)
Generuje pulsně modulovaný výstupní signál na zvoleném vývodu s využitím interního hardware
kontroleru. Tento signál zůstává aktivní i po ukončení příkazu PWMOUT. Pokud je třeba signál zrušit,
použije se příkaz PWMOUT s periodou 0.
random (použitelné pro všechny typy PICAXE)
syntaxe:
RANDOM wordvariable
- wordvariable slouží zároveň jako výsledek i jako pracovní proměnná (násada) pro příští použití
příkazu. Musí být použita proměnná typu word a její hodnota se nesmí do dalšího
použití příkazu změnit.
Vytváří sekvenci pseudonáhodných čísel mezi 0 a 65535.
readadc (použitelné pro všechny typy PICAXE)
syntaxe:
READADC channel,variable
- channel je proměnná nebo konstanta, určující vstup (0-7)
- variable obsahuje výsledek A/D převodu
funkce:
Příkaz čte napětí na analogovém vstupu a převádí ho na osmibitové číslo. Pouze některé vstupy mohou
sloužit jako analogové. Na některých kontrolerech jsou analogové a digitální vstupy sdílené, mohou plnit
obě funkce.
readadc10 (použitelné pro PICAXE: 08M, 18X, 28X, 40X)
syntaxe:
READADC10 channel,wordvariable
- channel je proměnná nebo konstanta určující vstup (0-7)
- wordvariable obsahuje výsledek A/D převodu
funkce:
Příkaz čte napětí na analogovém vstupu a převádí ho na 10bitové číslo, proto se výsledek musí ukládat do
16bitové proměnné. Pouze některé vstupy mohou sloužit jako analogové. Na některých kontrolerech jsou
analogové a digitální vstupy sdílené, mohou plnit obě funkce. Při použití příkazu DEBUG může
komunikace s PC narušit výsledek A/D převodu. V tom případě se doporučuje doplnit obvod o
Schottkyho diodu, která tento efekt potlačí.
readi2c (použitelné pro PICAXE: 18X, 28X, 40X)
syntaxe:
READI2C location,(variable,...)
- location je proměnná nebo konstanta, určující adresu z které se bude číst.
- variable proměnné, které po provedení příkazu obsahují data přečtená z uvedené adresy.
funkce:
Čte data z I2C sběrnice a ukládá je do proměnné (proměnných).
Adresa zařízení na I2C sběrnici je určená příkazem I2CSLAVE, location udává adresu v rámci tohoto
zařízení, například adresu dat v (externí) EEPROM nebo RTC obvodu apod.
read (použitelné pro všechny typy PICAXE)
syntaxe:
READ location,variable
- location je proměnná nebo konstanta, určující 8bitovou adresu v interní EEPROM (0-255).
- variable obsahuje přečtená data
funkce:
Příkaz READ načítá data z EEPROM. Obsah této paměti je zachován i po vypnutí napájení. Tato data
jsou zapisována při každém zavedení nového programu do mikrokontroléru, podle definice v příkazu
DATA/EEPROM. Za běhu programu mohou být tato data přepisována pomocí příkazu WRITE.
readtemp (použitelné pro PICAXE: 08M, 18A, 18X, 28A, 28X, 40X)
syntaxe:
READTEMP pin,variable
- pin je proměnná nebo konstanta, určující, který vývod bude použit.
- variable obsahuje přečtená data (byte).
funkce:
Příkaz přečte teplotu z digitálního čidla DS18B20 a uloží ji do proměnné. Převod může trvat až 750 ms.
Teplota se předává v celých stupních celsia. Senzor pracuje v rozmezí teplot -55 až +125°C.
www:
Programování PICAXE - 1. lekce