Úvodní díl seriálu o programování procesorů řady PICAXE.
Tímto článkem startuje seriál o programování procesorů PICAXE, v němž pomalu krok za krokem probereme základy, tak aby je pochopil i naprostý začátečník.
Výběr procesoru
V rodině procesorů PICAXE je několik druhů, ze kterých si můžeme vybrat. Většinou jsou mezi nimi rozdíly hlavně v počtu vstupních a výstupních portů, počtu AD převodníků, možnosti PWM a v neposlední řadě velikosti paměti. Pro náš seriál jsem vybral procesor PICAXE 20M, ten je založený na procesoru firmy Microchip PIC 16F677. Disponuje 16 porty, z toho 8 je vstupních a 8 výstupních. Pamět má na cca 80 řádků programu.
Příprava na programování
Pro psaní, ladění a následné programování budeme potřebovat příslušný software. Tím je PICAXE Programming Editor, který je volně ke stažení. Dále budeme potřebovat programátor, který jsme si buď podle mého předešlého návodu sestavili, nebo zakoupili. A samozřejmě samotný procesor.
Vývojové prostředí
Před používáním musíte nejdřív editor nastavit (View -> Options) podle následujícího obrázku. V záložce Serial Port musíte vybrat číslo portu, na který je váš programátor připojen.
V IDE je k dispozici funkce Simulate, kde můžete vidět svůj procesor a stavy jeho portů, můžete také nastavovat hodnoty na AD převodnících nebo měnit úrovně na vstupních pinech. Další z funkcí je Flowchart, kde vidíte graficky znázorněný algoritmus vašeho programu a můžete ho takhle i jednoduše upravovat. Pro větší programy ale začíná být tenhle styl zobrazení nepřehledný, a proto ho ani používat nebudeme. A samozřejmě funkce Program pro naprogramování procesoru.
Základní příkazy a syntaxe
REM
Příkaz sděluje překladači, že za ním bude až do konce aktuálního řádku napsán komentář. Žádné komentáře v kódu nemají vliv na výsledný program ani na jeho velikost, překladač při překladu kódu komentáře ignoruje, slouží tedy pouze ke zvýšení přehlednosti kódu. Ekvivalentem pro stručnější zápis je znak ;
nebo ´
.
Návěstí
Návěstí je důležitý prvek, určuje místo v programu, na které budeme později skákat nebo se odkazovat. Identifikátor návěstí musí začínat písmenem a končit dvojtečkou.
Goto
Program skočí na návěstí uvedené za příkazem.
REM nekonečná smyčka
start:
goto start
Pause
Příkaz pause pozastaví průběh vykonávání programu na dobu, která je v milisekundách uvedená hned za příkazem.
REM zastaví průběh na 2,5 s
pause 2500
Zadat můžeme čísla v rozmezí integeru (0-65 535).
High, Low
Příkazy označují hodnotu nízké a vysoké úrovně. Takže High = log. 1, Low = log. 0. Pomocí nich měníme hodnotu na výstupech.
high 1 ;log. 1 na výstup 1
pause 1000
low 1 ;log. 0 na výstup 1
Toggle
Nastavuje hodnotu výstupu tak, že zamění aktuální hodnotu. Pokud je např. na pinu 1 log. 0, toggle jí nastaví na log. 1.
Konstanty
Konstanta je číslo, řetězec, který nemůže být měněn.
Typ | Zápis |
dekadické | bez označení |
binární | prefix % |
hexadecimální | prefix $ |
100 ;dec
$5A ;hex
%00110 ;bin
"B" ;ASCII
"AHOJ" ;ekvivalent "A" "H" "O" "J"
Symboly
Stejně jako návěstí můžeme definovat v programu konstanty a ty pak použít někde jinde.
REM čekání 1 s nastavené pomocí symbolu
SYMBOL cekani = 1000
pause cekani
Pokud chceme jeho hodnotu v průběhu programu změnit, použijeme klíčové slovo let
.
Operátory
Aritmetické operátory
Operátor | Význam |
+ | sčítání |
- | odečítání |
* | násobení |
/ | dělení |
% | modulo (zbytek po dělení) |
Logické operátory
Operátor | Význam |
| | AND |
& | OR |
^ | XOR |
|/ | AND NOT |
&/ | OR NOT |
^/ | XNOR |
Tohle by v úvodu stačilo, v příštím díle si ještě probereme proměnné a už vyzkoušíme nějaký zajímavý program.
Poznámka: V příštím díle budem potřebovat 8 diod.