P R O G R A M Y
BASCOM 8051
Kompilator Basica dla procesorów 51
Nie kałdy elektronik jest jednocześnie
Nie trzeba chyba nikogo
dobrym programistą i nie kałdy potrafi
przekonywaĘ, łe w elektronice
napisaĘ poprawnie program w asemble-
nastaÅ‚a era mikroprocesorÛw.
rze. Z tego teł powodu powstały i nadal
Zdecydowana wiÍkszośĘ ukÅ‚adÛw
powstajÄ… rozmaite narzÍdzia uÅ‚atwiajÄ…ce
elektronicznych zrealizowanych pisanie programÛw dla mikroprocesorÛw,
w tym kompilatory jÍzykÛw programo-
technikÄ… mikroprocesorowÄ… jest
wania wysokiego poziomu.
nie tylko Å‚atwiejsza w budowie,
Juł w momencie, kiedy komputery
ale i znacznie taÒsza od
osobiste ìtrafiÅ‚y pod strzechyî ogromnÄ…
budowanych z wykorzystaniem
popularnośĘ zdobyÅ‚ jÍzyk programowa-
standardowych ukÅ‚adÛw nia BASIC. PowÛd tej popularnoÅ›ci byÅ‚
prosty: wiÍkszośĘ komputerkÛw domo-
cyfrowych. Jednak powałnym
wych, w tym legendarne SPECTRUM
utrudnieniem w stosowaniu tych
i COMMODORE miały interpreter BASI-
nowoczesnych elementÛw jest to,
C-azaszyty w swojej pamiÍcistaÅ‚eji BA-
Å‚e sam mikroprocesor niczego
SIC byÅ‚ dla nich jedynym jÍzykiem pro-
gramowania.
ìnie potrafiî i do jego dziaÅ‚ania
Dalszy krok w kierunku popularyzacji
potrzebny jest program, ktÛrego
BASIC-a uczyniła firma IBM, wyposała-
napisanie sprawia niektÛrym
jÄ…c swÛj pierwszy komputer PC w inter-
konstruktorom trudności.
preter tego jÍzyka umieszczony w pa-
miÍci EPROM. Jednak do popularnoÅ›ci
tego, pogardzanego przez ìrasowychî
programistÛw, prostego jÍzyka najbar-
dziej przyczyniÅ‚osiÍ dodawaniego przez
Rys. 1.
MICROSOFT do kałdego pakietu syste-
mu operacyjnego MS-DOS. Przez firmy GRIFO znalazłem nieco okrojoną wer-
wiele lat, aÅ‚ do powstania sys- sjÍ programu BASCOM 8051 - BASCOM LT,
temu WINDOWS95, BASIC coraz ale firma uprzejmie udostÍpniÅ‚a mi do tes-
bardziej udoskonalany i unowo- tÛw peÅ‚nÄ… wersjÍ swego oprogramowania.
czeÅ›niany znajdowaÅ‚ siÍ niejako ProgramiÅ›ci z firmy MCS Electronics nie
ìautomatycznieî na kaÅ‚dym zadowolilisiÍ napisaniemkompilatora:stwo-
komputerze klasy PC, co pozwa- rzyli własny interpreter BASIC-a, wyposało-
laÅ‚o szerokim rzeszom uÅ‚ytkow- ny w dziesiÄ…tki poleceÒ specyficznych dla
nikÛw na zaznajomienie siÍ techniki mikroprocesorowej i sprawiajÄ…cych,
z tym jÍzykiem i stosowanie go. Å‚e napisanie programu dla procesora
Nic wiÍc dziwnego, Å‚e wielu 89C2051 (lub innego z tej rodziny) staÅ‚o siÍ
elektronikÛw chciaÅ‚oby wyko- naprawdÍ dziecinnie prostei przyjemne. Aby
rzystaĘ do programowania proce- zachÍciĘ CzytelnikÛw do dalszej lektury, po-
sorÛw ten dobrze im znany i sto- dam jeden przykÅ‚ad.
sunkowo prostyjÍzyk. Producen- Aby w asemblerze napisaĘ podprogram po-
ci oprogramowania wyszli tym wodujący wysłanie doalfanumerycznego wy-
potrzebom naprzeciw i w ciÄ…gu Å›wietlacza LCD np. napisuìElektronika Prak-
ubiegÅ‚ych lat powstaÅ‚o wiele tycznaî, trzeba chwilÍ popracowaĘ. A jak to
kompilatorÛw BASIC-a, dostoso- wyglÄ…da w stworzonym przez programistÛw
wanych do programowania MCS Electronics jÍzyku? Ano tak, jak mo-
Rys. 2.
wszystkich najbardziej popularnych rodzin Å‚ecie zobaczyĘ na rys. 1, ma ktÛrym poka-
mikroprocesorÛw. Moim zdaniem, byÅ‚y to zano okienko programowego symulatora,
jednak produkty niezbyt dopracowane, przy- składnika pakietu BASCOM.
List. 1.
gotowywane nieraz przez amatorÛw, wyko-
rzystujÄ…cetypowÄ…skÅ‚adniÍ BASIC-a,bez prÛ- MoÅ‚liwoÅ›ci
RC5.BAS (c) 1999 MCS Electronics
connect SFH506-36 IR-receiver
by stworzenia nowych, dostosowanych do PoniÅ‚szy opis bÍdzie z koniecznoÅ›ci skrÛ-
to PORT 3.2 (INT0)
specyfiki techniki mikroprocesorowej, pole- towy. Pełny opis systemu BASCOM 8051
ceÒ. Do niedawna nikt nie prÛbowaÅ‚ nawet zajÄ…Å‚by wiele numerÛw EP, chociaÅ‚by z tego
Dim New As Bit stworzyĘ na bazie BASIC-a narzÍdzia rÛwnie powodu, Å‚e sam tylko HELP do tego pro-
Dim Command As Byte , Subaddress As Byte
wszechstronnego i wygodnego w obsłudze, gramu to ponad 150 stron niezwykle staran-
jakchociałby opisywany w Elektronice Prak- nie opracowanego tekstu. Dlatego teł wszys-
SET tcon.0
tycznej ST REALIZER. tkich zainteresowanych programowaniem
On Int0 Receiverc5 Nosave
Enable Int0 Buszując w Internecie natrafiłem
Enable Interrupts
przypadkowo na prawdziwÄ… rewela-
Do
cjÍ, program, a wÅ‚aÅ›ciwie caÅ‚y sys-
If New = 1 Then received new code
tem programowania procesorÛw, ktÛ-
Print Command ; ; Subaddress
New = 0 reset new bit
ry dosÅ‚ownie ìpowaliÅ‚ mnie na ko-
End If
lanaî.
Loop
Systememtymjest BASCOM8051,
Receiverc5: interrupt routine fantastycznierozbudowane narzÍdzie
dla kaÅ‚dego, kto chociaÅ‚by trochÍ
Getrc5(Subaddress, command)
zna jÍzyk BASIC i pragnÄ…Å‚by rozpo-
New = 1
cząĘ samodzielne programowanie
Return
procesorÛw. Na stronie internetowej Rys. 3.
Elektronika Praktyczna 12/99
45
P R O G R A M Y
Rys. 4. Rys. 5.
procesorÛw w nowym dialekcie jÍzyka BA- wo starannie. Po wywoÅ‚aniu HELPu uzys- znaczyĘ myszkÄ… piksele, ktÛre majÄ… zostaĘ
SIC zapraszam do odwiedzenia strony: http:/ kujemy dostÍp do szczegÛÅ‚owej dokumenta- wyÅ›wietlone i kliknąĘ ìOKî. Odpowiedni
/www.grifo.com. JeÅ‚eli bÍdziecie Å‚aÅ‚owali tej cji programu, dokÅ‚adnego opisu wszystkich kod zostanie natychmiast umieszczony we
wizyty, to dajÍ sÅ‚owo, Å‚e podejmujÍ siÍ zjeśĘ poleceÒ, ich skÅ‚adni i zastosowania popar- wskazanym miejscu programu (rys. 5).
bez popijania wszystkie kartki z EP, na ktÛ- tego przykÅ‚adami (rys. 2). KorzystajÄ…c wy- Podobnie jak obsÅ‚uga wyÅ›wietlaczy alfa-
rych wydrukowany zostaÅ‚ ten artykuÅ‚! Å‚Ä…cznie z HELPu moÅ‚emy dowiedzieĘ siÍ numerycznych LCD potraktowany zostaÅ‚
Przejdümy teraz do szczegÛÅ‚Ûw. Po pier- wszystkiego o programie, tak Å‚e posiadanie problem komunikacji I2C. Mamy tu do dys-
wsze, jakie procesory moÅ‚emy zaprogramo- jakiejkolwiek drukowanej instrukcji jest pozycji kilka wygodnych poleceÒ: I2CRECEI-
waĘ za pomocÄ… BASCOM-a? w zasadzie zbÍdne. VE,I2CSEND,I2CSTART,I2CSTOP,I2CRBY-
Program jest przeznaczony przede wszys- PoniewaÅ‚ opisywanie wszystkich poleceÒ TE, I2CWBYTE, dziÍki ktÛrym moÅ‚emy wy-
tkim dla procesorÛw firmy ATMEL typu jÍzyka BASCOM nie miaÅ‚oby wiÍkszego sen- syÅ‚aĘ i odbieraĘ dane z szyny I2C z rÛwnÄ…
89C4051 i 89C2051, ale bez wiÍkszych trud- su, skupimy siÍ teraz na jego najwaÅ‚niej- Å‚atwoÅ›ciÄ…, jak komunikowaliÅ›my siÍ z wy-
noÅ›ci moÅ‚emy pracowaĘtakÅ‚ez innymi ukÅ‚a- szych funkcjach, szczegÛlnie uÅ‚atwiajÄ…cych Å›wietlaczem LCD. Przed kompilacjÄ… progra-
dami tej rodziny. PoniewaÅ‚ oprogramowanie programowanie procesorÛw i ich komuniko- mu naleÅ‚y jedynie okreÅ›liĘ, ktÛre nÛÅ‚ki pro-
pracuje pod kontrolÄ…systemÛw operacyjnych wanie siÍ ze Å›wiatem zewnÍtrznym. Wspo- cesora przeznaczamy do obsÅ‚ugi transmisji
WINDOWS95/98/NT, wymagania sprzÍtowe mniaÅ‚em juÅ‚ o wyjÄ…tkowo wygodnej obsÅ‚u- danych (rys. 6).
sÄ… oczywiste. JeÅ‚eli posiadamy taki sprzÍt, dze wyÅ›wietlaczy alfanumerycznych LCD. KolejnÄ… rewelacjÄ… zawartÄ… w pakiecie BAS-
to natychmiast mołemy zainstalowaĘ na nim Dodatkowym ułatwieniem jest wbudowany COM jest specjalne polecenie umołliwiające
wersjÍ demo programu Å›ciÄ…gniÍtÄ… spod po- w pakiet symulator, za pomocÄ… ktÛrego mo- odczytywanie i dekodowanie kodu RC-5 sto-
danego wyÅ‚ejadresuinternetowegolub prze- Å‚emy nie tylko przeanalizowaĘ stan poszcze- sowanego w sterowaniu sprzÍtem RTV. Temu
granÄ… z pÅ‚yty CD-EP8. Jedynym ogranicze- gÛlnych portÛw procesora, ale takÅ‚e obejrzeĘ poleceniu warto przyjrzeĘ siÍ bliÅ‚ej. W arty-
niem wersji demo jest dÅ‚ugośĘ kodu wyni- rezultaty wspÛÅ‚pracy procesora z wyÅ›wietla- kule zamieszczamy przykÅ‚adowy listing pros-
kowego, ktÛra nie moÅ‚e byĘ wiÍksza niÅ‚ 1kB. czem LCD (rys. 1). tego programiku, ktÛry po doÅ‚Ä…czeniu odbior-
Procesu instalacji nie warto omawiaĘ, po- MołemystosowaĘ praktycznie dowolnety- nika podczerwieni (np. SFH505) do pinu 3,2
niewaÅ‚ nie rÛÅ‚ni siÍ on niczym od instalacji py wyÅ›wietlaczy obsÅ‚ugiwanych za pomocÄ… procesora umoÅ‚liwia odczytywanie kodÛw
innych programÛw pracujÄ…cych pod kontrolÄ… transmisji rÛwnolegÅ‚ej 8- lub 4-bitowej (rys. RC-5 i przesyÅ‚anie wyniku poprzez Å‚Ä…cze sze-
WINDOWS, a ponadto zostaÅ‚ szczegÛÅ‚owo 3). Przed kompilacjÄ… programu musimy je- regowe (instrukcja ìPRINTî powoduje wysÅ‚a-
opisany w podrÍczniku obsÅ‚ugi doÅ‚Ä…czonym dynie okreÅ›liĘ, ktÛre wyjÅ›cia procesora prze- nie danych do portu szeregowego).
do programu. znaczamy do komunikacji z wyÅ›wietlaczem Czy jednak to wszystko dziaÅ‚a? Aby siÍ
A oto podstawowe parametry pakietu BAS- (rys. 4). o tym przekonaĘ, zaprojektowałem prosty
COM 8051: Utrapieniem polskich programistÛwsÄ…ìod ukÅ‚ad analizatora kodu RC-5, ktÛry moÅ‚e
- moÅ‚liwośĘ programowania nastÍpujÄ…cych zawszeî nasze znaki diaktrytyczne, ktÛrych znaleüĘliczne praktycznezastosowania. Oka-
procesorÛw: AT89C1051, AT89C2051, Å‚aden producent nie umieÅ›ciÅ‚ i z pewnoÅ›ciÄ… zaÅ‚o siÍ, Å‚e dziaÅ‚a i opis tego prostego ukÅ‚a-
AT89C4051, 8031, 8032, 8051, 8052, nieprÍdko umieÅ›ci w matrycach znakÛw wy- dziku zamieszczamy w bieÅ‚Ä…cym numerze
80552, 80535, 80537, i 89S8252; Å›wietlaczy LCD. A zatem pozostaje nam sa- EP, w dziale ìKursî.
- skÅ‚adnia jÍzyka zbliÅ‚ona do MICROSOFT modzielne definiowanie pols-
QBASIC; kichìogonkÛwîi ustawiczneÅ‚a-
- dodatkowe poleceniaspecyficzne dlatech- dowanie ich do pamiÍci wy-
niki mikroprocesorowej; świetlaczy. Jest to czynnośĘ
- wygodny w obsłudze, pełnoekranowyedy- dośĘ mozolna, poniewał do tej
tor wyposaÅ‚ony w funkcje automatyczne- pamiÍci moÅ‚emy jednorazowo
go wyrÛÅ‚niania (kolorem) poleceÒ; zapisaĘ jedynie osiem charakte-
- zmienne typu Bit, Byte i Integer; rystycznych dla naszego jÍzyka
- kompilator generujÄ…cy pliki BIN i/lub IN- liter. Problem definiowania
TEL HEX; wÅ‚asnych znakÛw przeznaczo-
- wbudowanysymulator pozwalający nates- nych dla wyświetlacza LCD zo-
towanie napisanych programÛw bez ko- staÅ‚ rozwiÄ…zany przez autorÛw
nieczności programowania procesora; pakietu BASCOM wyjątkowo
- wbudowana czÍśĘ software'owa programa- skutecznie, pomimo Å‚e jÍzyk
tora EEPROM i emulatora sprzÍtowego. wÅ‚oski, jako jeden z nielicz-
Po rozpoczÍciu pracy z programem BAS- nych, nie posiada wÅ‚asnychzna-
COM 8051 na ekranie monitora pojawia siÍ kÛw narodowych. Aby zdefinio-
panel edytora. Jednak przed rozpoczÍciem waĘ wÅ‚asny znak wystarczy
jakiejkolwiek pracy warto zapoznaĘ siÍ z in- w edytorze BASCOM-a otwo-
strukcją, a ta została przygotowana wyjątko- rzyĘ odpowiednie okienko, za-
Rys. 6.
Elektronika Praktyczna 12/99
46
P R O G R A M Y
gramu uzyskujemy dostÍp do ìpastylekî
DALLASa, termometrÛw i innych interesujÄ…-
cych ukÅ‚adÛw tej firmy.
OmÛwienie wszystkich interesujÄ…cych po-
leceÒ dialektu BASIC-a,stosowanego w kom-
pilatorze BASCOM, wykroczyłoby z pewnoś-
cią poza łamy tego artykułu.
Symulator
W pakiecie BASCOM zawarty jest takłe
symulator programowy umoÅ‚liwiajÄ…cy czÍÅ›-
ciowe przetestowanie napisanego programu
bez konieczności programowania procesora
lub doÅ‚Ä…czania jakichkolwiek urzÄ…dzeÒ pe-
ryferyjnych do komputera (rys. 8). Za po-
mocą tego symulatora mołemy sprawdziĘ
efekty wspÛÅ‚dziaÅ‚ania procesora z wyÅ›wiet-
laczami alfanumerycznymi LCD i wyświetla-
Rys. 7.
czami siedmiosegmentowymi, obejrzeĘ stany
Kolejnym poleceniem wartym wzmianki
wyjśĘ wszystkich portÛw, a takÅ‚e wymusiĘ
jest ìGETRCî. Po doÅ‚Ä…czeniu do procesora
na nich okreÅ›lone stany logiczne. DostÍpne
prostego układu (rys. 7) polecenie to umoł- sąedytorysłułące przyporządkowaniuokreś-
liwia pomiar wartości rezystancji R przy
lonych wyjśĘ procesora do obsÅ‚ugi urzÄ…dzeÒ
znanej pojemności kondensatora C lub od- peryferyjnych. Za pomocą odpowiednich
wrotnie: pomiar pojemnoÅ›ci przy znanej re- przyciskÛw moÅ‚emy takÅ‚e symulowaĘ wy-
zystancji.
stÍpowanie przerwaÒ, jak rÛwnieÅ‚ pracÍ ti-
merÛw.
Zbigniew Raabe, AVT
zbigniew.raabe@ep.com.pl
System BASCOM 8051
jest dostÍpny w AVT.
Wersja BASCOM '51
LT znajduje siÍ na CD-
EP8.
Rys. 8.
A teraz prawdziwa rewe-
lacja: zbiÛr poleceÒ umoÅ‚li-
wiajÄ…cych jednoprzewodowÄ…
komunikacjÍ z ukÅ‚adami fir-
my DALLAS! Trzy polece-
nia: 1WRESET, 1WWRITE
i 1WREAD pozwalajÄ… nabez-
problemowe odczytywanie
i zapisywanie danych do
tych ukÅ‚adÛw. Tak wiÍc po
napisaniu kilku linijek pro-
Elektronika Praktyczna 12/99
47
Wyszukiwarka
Podobne podstrony:
elektronika praktyczna 2002elektronika praktyczna 2000elektronika praktyczna 1998bascom 8051elektronika praktyczna 2002 2elektronika praktyczna 2000 2Elektronika Praktyczna W głośnikowym żywiole Cz 04elektronika praktyczna 09 1997elektronika praktyczna 08 1997Elektronika Praktyczna 1997 02elektronika praktyczna 1998 2elektronika praktyczna 10 1997więcej podobnych podstron