Hardware projekti

Autor: Milan Vukobrat

E-mail: mvuk@eunet.yu

 

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).

1b42.gif (11615 bytes)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
Više tastera jednom linijom 
Samogradnja Basic Stamp modula 
PWM 
Pisanje programa u Basic Stampu 
Eksperimentalna pločica 
Taster sa dve brzine 

C o p y r i g h t  1998 mikroElektronika. All Right Reserved. Za sva pitanja obratite se redakciji