|
BASIC STAMP
Većina elektroničara u svom
radu, pre ili kasnije, suoči se s problemom kompleksnosti uređaja koji treba da sagradi.
Problem u početku izgleda
jednostavan; dovoljno je par standardnih digitalnih kola i eventualno neki EPROM da se
reši ono osnovno - rad kola po idejnom rešenju. Muke nastaju obično u fazi testiranja
ili probnog rada - ako ste nešto prevideli ili ako kolo ne funkcioniše ispravno u
realnim uslovima eksploatacije, to obično znači krpljenje štampane ploče ili izradu
nove. Još ako se pojave i dodatni zahtevi tipa “Bilo bi dobro da imamo još ... “
,jasno je da se ciklus realizacije ne jednom, nego i više puta, s kraja vraća na
početak.
Elektroničar s početka naše priče zna da bi uređajem s mikroprocesorom rešio svoje
noćne more, fle-ksibilnost takvog sistema spasla bi ga od većine njegovih muka, ali će
se verovatno obeshrabriti kada shvati da će morati da pročita brdo literature, da uči
asembler i da nabavi razvojni sistem, programator, uređaj za brisanje i sl. Pa i kad sve
to nabavi, biće kao babica pred komplikovanim porođajem - ako nema u blizini dobrog
doktora, stvar je propala.

Ideja je jednostavna - u
mikrokontroler je smešten BASIC interpreter, a u spoljnu memoriju (EEPROM) program koji
treba izvršiti. Interpreter uzima jednu po jednu instrukciju iz memorije i izvršava je.
Stari program se briše upisivanjem novog. Ceo sistem sastoji se od modula, kabla za vezu
s računarom i softvera za pisanje programa. Ovde će biti prikazan BASIC STAMP I modul
firme PARALLAX .
Modul BASIC STAMP I
Gornja slika prikazuje izgled
pločice za eksperimentisanje i razvoj prototipa. Levo su kontakti za bateriju (9V), zatim
se vidi 8-pinski EEPROM (93LC56) i PIC kontroler 16C56. U ovaj kontroler smešten je
interpreter.
Ispod EEPROM-a vide se 3 pina gde se vezuje kabel za vezu s računarom. Desna polovina
pločice je namenjena za razvoj prototipa uređaja i izlazne linije . Modul ima 8 I/O
linija a kapacitet memorije je dovoljan za program dužine 80 - 100 naredbi. Cela pločica
je nešto veća od poštanske marke (STAMP), pa je i dobila takvo ime. STAMP.EXE je naziv
osnovnog programa, bolje rečeno editora, u kom se pišu programi i kojim se vrši
programiranje. Kad završite sa pisanjem programa, komandom Run praktično ga šaljete u
EEPROM i kontroler odmah počinje sa izvršavanjem instrukcija. Program ostaje u memoriji
i posle isključenja uređaja. BASIC STAMP je IN-SYSTEM-PROGRAMMABLE, što znači da ako
ustanovite da modul u vašem uređaju ne radi kako ste želeli, treba samo da na njega
prikačite kabel i iz računara pošaljete novi program koji će se upisati preko starog -
nema vađenja čipova, razlemljavanja, brisanja i slično - sve se radi direktno na
ploči. Na raspolaganju je i 16 bajtova RAM-a za smeštaj promenljivih; prva dva su
rezervisana za rad sa I/O portom. Postoji mogućnost da se radi i na nivou bit promenljive
(varijabla dužine svega jedan bit ).
napomena
PARALLAX
proizvodi i SMD verziju BASIC STAMP -a. Ona se montira vertikalno i ima izgled malog
hibrida. Ako ima potrebe za jačim sistemom, postoji i BASIC STAMP II (16 I/O linija, 9600
bauda , program dužine do 600 instrukcija).
Pokazalo se da je
zgodnije modul realizovati kao mali hibrid za vertikalnu montažu gde bočni pinovi imaju
raster pogodan za ubadanje u protobord. Jedan od primera upotrebe BASIC STAMP-a dolazi iz
Engleske od firme “Milford Instruments” koja je napravila malog robota buba-švabu.
Instrukcije
Pomenuto je da se za
programiranje koristi BASIC. Tabela ispod daje kratak prikaz seta instrukcija iz kojeg se
lako vidi snaga BASIC STAMP-a.
IF ... THEN
BRANCH
GOTO
GOSUB
RETURN
FOR ... NEXT
LOOKUP
RANDOM
OUTPUT
LOW
HIGH
TOGGLE
PULSOUT
INPUT
PULSIN
REVERSE
BUTTON
SERIN
SEROUT
PWM
POT
SOUND
EEPROM
READ
WRITE
PAUSE
NAP
SLEEP
END
DEBUG |
Poređenje i uslovno grananje
Grananje na adresu određenu ofsetom
Skok na adresu
Skok na potprogram
Povratak iz potprograma
Petlja
Uzimanje podataka iz tabele
Generiše pseudo - slučajan broj
Proglašava pin za izlaz
Daje logičku nulu na izabranom pinu
Daje logičku jedinicu na izabranom pinu
Izmena direkcije pina
Generiše povorku impulsa
Proglašava pin za ulaz
Meri trajanje impulsa
"Ako je pin izlaz, postaje ulaz i obrnuto"
"Očitava stanje tastera, ugrađen debounce"
"Serijski ulaz za komunikaciju "
"Šalje podatke serijski (300 do 2400 baud , 8N1)"
Promenljiv odnos impuls/pauza
Čita 5k - 50K potenciometar i skalira rezultat
Proizvodi zvuk različite visine ili trajanja
Smešta podatke u EEPROM pre učitavanja programa
Smešta EEPROM podatak u promenljivu
Upisuje bajt u EEPROM
Zaustavlja izvršenje ( 0 do 65535ms)
Ne radi ništa
Sleep mod ( 1 do 65535 sekundi) .
Kraj programa
Šalje varijable na PC radi kontrole izvršavanja programa |
| Pročitajte
više o ovoj temi |
|
|
|