bascom_ep2_2007[1].pdf

(2371 KB) Pobierz
043-046_bascom.indd
PROGRAMY
Bascomowe nowości
W natłoku wielu informacji dotyczących rozwoju elektroniki, do
których można zaliczyć szybką ekspansję mikrokontrolerów ARM,
trochę „zapomnieliśmy” o pakiecie programistycznym Bascom. Choć
ma on wielu przeciwników, jeszcze więcej ma zwolenników, gdyż
mikrokontrolery AVR są nadal bardzo popularne w naszym kraju.
Bascom nadal jest rozwijany, a grono jego użytkowników ciągle
wzrasta. Prócz kosmetycznych zmian polegających na poprawieniu
błędów lub ulepszeniu działania niektórych instrukcji, dodano
do Bascom wiele interesujących elementów. W artykule zostaną
przedstawione tylko najważniejsze informacje o nowych, ciekawych
elementach jakie posiadł Bascom. Pozostałych informacji o nowych
elementach w Bascom można szukać w zawartej w nim pomocy.
lerów AVR za
pomocą bo-
otloadera , bę-
dzie dotyczyła
tylko niektó-
rych z nich.
Jedynie większość mikrokontrolerów
ATmega umożliwia umieszczenie
w ich pamięci Flash programu bo-
otloadera . W katalogu zawierającym
przykłady, po zainstalowaniu Basco-
ma znajduje się plik Bootloader.bas ,
w którym należy wybrać typ mikro-
kontrolera, do jakiego będzie on ła-
dowany. Na przykład w przypadku
mikrokontrolera ATmega88 należy
aktywować linie:
$regfile = "m88def.dat"
Const Loaderchip = 88
MCS Bootloader
W Bascomie dodano możliwość
programowania mikrokontrolerów
z wykorzystaniem bootloadera (pro-
gramu umożliwiającego programo-
wanie mikrokontrolera), który musi
być wcześniej umieszczony tylko
raz w odpowiedniej sekcji pamięci
Flash mikrokontrolera. Bootloader
wykorzystuje do komunikacji inter-
fejs UART i za jego pomocą moż-
na bez dodatkowego programatora
programować mikrokontrolery AVR.
Można również wykorzystać do tego
celu konwerter USB<–>UART. Moż-
liwość programowania mikrokontro-
'$regfile = "m162def.dat"
'Const Loaderchip = 162
Pierwsza linia wskazuje plik
z rejestrami mikrokontrolera, a dru-
Elektronika Praktyczna 2/2007
43
204372269.051.png
PROGRAMY
prędkości transmisji
UART będą zależeć
od kwarcu użytego do
taktowania mikrokon-
trolera. W przypadku
wykorzystania do tak-
towania wewnętrznego
oscylatora mikrokon-
trolera, zaleca się nie
korzystanie z szybkości
większych niż 38400
bodów, ze względu
na małą stabilność
tego typu oscylatora.
Bootloader umożliwia
prócz programowania
pamięci Flash, rów-
nież programowanie
pamięci EEPROM. Li-
sta programatorów obsługiwanych
przez Bascom została uzupełnio-
na o bootloader ( rys. 2 ). Dodatko-
wo w oknie programatorów można
skonfigurować czy linia DTR ma
być wykorzystywana do zerowania
mikrokontrolera. Po wczytaniu bo-
otloadera do mikrokontrolera, aby
go zaprogramować (po kompilacji
programu przez naciśnięcie klawi-
sza F7) wystarczy nacisnąć klawisz
F4. Wyświetlone zostanie okno po-
kazane na rys. 3 , w którym wi-
doczny jest postęp programowania.
Dostępny jest również bezpłatny
zewnętrzny program umożliwiający
programowanie mikrokontrolerów
AVR poprzez bootloader ( rys. 4 ).
Informacje przedstawione w artykule dotyczą
Bascoma AVR w wersjach 1.11.7.3 do
1.11.8.3.
Rys. 1. Schemat elektryczny sprzętowego interfejsu
bootloadera
te same instrukcje, co do programo-
wej obsługi interfejsu I 2 C. W Bascom
można również wykorzystać interfejs
TWI pracujący jako Slave . Umożli-
wi to na emulowanie nietypowych
układów (zależnie od oprogramowa-
nia) z interfejsem I 2 C Slave . Również
i w tym przypadku konfiguracja in-
terfejsu TWI jest prosta. Dla pracy
układu TWI w trybie Slave , należy
prócz częstotliwości sygnału zegaro-
wego, dodatkowo podać parametr ad-
resu, jaki układ ma posiadać w magi-
strali I 2 C. Większość nowych mikro-
kontrolerów posiada już układ TWI.
Korzystając ze sprzętowego interfejsu
TWI obsługa interfejsu I 2 C będzie
zajmowała mniej pamięci, gdyż ko-
munikacja nie będzie się odbywała
w sposób programowy.
ga na typ mikrokontrolera. Moż-
na również w pliku bootloadera
skonfigurować prędkość transmisji
przez UART. Należy mieć na uwa-
dze że za pomocą bootloadera nie
ma możliwości zmiany bitów Fuse .
Można je zmienić tylko za pośred-
nictwem zewnętrznych programato-
rów. Bootloader może być urucha-
miany automatycznie za pomocą li-
nii DTR interfejsu UART, używanej
do zerowania mikrokontrolera lub
ręcznie poprzez jego zerowanie. Na
rys. 1 pokazano przykładowy sche-
mat interfejsu umożliwiającego ko-
munikację z bootloaderem zapisanym
w pamięci mikrokontrolera. Składa
się on jedynie z konwertera napięć
MAX232 i kilku dodatkowych ele-
mentów biernych. Rezystor R6 blo-
kuje możliwość zerowania mikro-
kontrolera, gdyby nie było podłą-
czone złącze RS232 do komputera.
Do komunikacji z bootloaderem rów-
nie proste będzie zastosowanie kon-
wertera USB<–>UART wykonanego
na układzie typu FT232R. Możliwe
Rys. 3. Okno MCS Bootloadera
podczas pracy
Obsługa interfejsu TWI
W mikrokontrolerach AVR interfejs
I 2 C, a dokładnie kompatybilny z nim
interfejs, jest nazywany TWI ( Two
Wire Interface ). Interfejs ten służy do
łączenia wielu nadajników jak i od-
biorników do jednej dwuprzewodo-
wej magistrali szeregowej. Dołączane
układy mogą pracować w try-
bach nadrzędnych ( Master )
lub podrzędnych ( Slave ).
Na rys. 5 pokazano sche-
mat blokowy interfejsu TWI
jednego z mikrokontrolerów
AVR. Układ TWI jest zgodny
ze specyfikacją I 2 C i umożli-
wia pracę w trybie nadrzęd-
nym i podrzędnym. Bascom
umożliwia obsługę interfejsu
TWI, którego konfiguracja jest
bardzo prosta: wystarczy po-
dać w instrukcji konfiguracyj-
nej Config Twi częstotliwość
taktowania linii zegarowej. Do
obsługi interfejsu TWI, służą
Obsługa EASY TCP/IP TWI
Od jakiegoś czasu w Bascom jest
dostępna biblioteka TCP/IP, za po-
mocą której jest możliwość korzysta-
nia z układów TCP/IP firmy Wiznet
(mogą to być moduły IIM7000A lub
IIM7010A). Jak dotąd komunikacja
z układem TCP/IP odbywała się w spo-
sób równoległy w którym potrzebnych
jest kilkanaście linii mikrokontrolera.
W modułach Wiznet można również
wykorzystać do komunikacji interfejs
I 2 C, co oznacza, że do zapewnienia
komunikacji wystarczą 2 linie magi-
Rys. 2. W nowych wersjach Bascoma pro-
gramowanie za pomocą bootloadera wystę-
puje na liście programatorów
Rys. 4. Okno bezpłatnego programu
MCS Bootloader
44
Elektronika Praktyczna 2/2007
204372269.058.png 204372269.059.png 204372269.060.png 204372269.001.png
PROGRAMY
ELEKTRONIKA. TECHNIKA. INNOWACJE.
Elektronika do domu,
biura,warsztatu,ogrodu,gara˝u
oraz dla hobbystów!
Zamów darmowy katalog na www . con rad . pl
lub pod numerem telefonu 022 627 80 80
Rys. 5. Schemat blokowy interfejsu TWI (I2C) stosowane-
go w mikrokontrolerach AVR
strali I 2 C, 2 linie zasilania
oraz linie: przerwania i ze-
rowania.
W nowych wersjach Ba-
scoma dodano możliwość
komunikacji w modułami
firmy Wiznet za pomocą
interfejsu TWI (I 2 C). Komu-
nikacja poprzez I 2 C będzie
wolniejsza niż w przypadku
komunikacji równoległej. Za-
zwyczaj nie będzie potrzeb-
ny szybki interfejs komuni-
kacyjny i szeregowa komu-
nikacja w zupełności wystar-
czy w większości urządzeń,
w których przykładowo, co
jakiś czas będzie wysyłana
wiadomość e–mail. Firma
MCS Electronics, dla uła-
twienia użycia modułu II-
M7010A z zamontowanym
w nim złączem RJ45, przy-
gotowała dla niego adapter
( fot. 6 ). Przełącznik DIP
umożliwia ustawienie adre-
su Slave , jaki będzie posia-
dał moduł w magistrali I 2 C.
Dzięki wykorzystaniu ada-
ptera potrzebne jest tylko
dołączenie do niego sześciu
linii. Dla adaptera TCP/IP
TWI dostępny jest rów-
nież prosty zestaw starto-
wy ( fot. 7 ). W zestawie jest
możliwość umieszczenia mi-
krokontrolera ATmega88 lub
ATmega32. Dostępny jest
interfejs RS232, wyświetlacz
LCD, złącze do programo-
wania oraz wszystkie linie
portów mikrokontrolera. Po-
przez zastosowanie magistra-
li szeregowej, z zalet modułu
IIM7010A można skorzystać
wykorzystując mikrokontro-
lery z niewielkimi zasobami.
Programy wykorzystujące
już równoległą komunikację
z układami TCP/IP w bardzo
prosty sposób można dosto-
sować do komunikacji przez
I 2 C. Wystarczy zmienić tyl-
ko jedna linijkę programu,
a dokładnie w komendzie
Config Tcpip , należy do-
pisać parametr określający
adres modułu (w przypadku
wykorzystywania adaptera,
adres jest ustawiany prze-
łącznikiem DIP). Na stronie
internetowej fir-
my MCS znajdu-
je się polskoję-
zyczna instrukcja
do adaptera, jak
i przygotowanego
dla niego pro-
stego zestawu.
Można w niej
znaleźć wszystkie
Fot. 6. Wygląd modułu IIM7010A na
płytce adaptera
Elektronika Praktyczna 2/2007
45
204372269.002.png 204372269.003.png 204372269.004.png 204372269.005.png 204372269.006.png 204372269.007.png 204372269.008.png 204372269.009.png 204372269.010.png 204372269.011.png 204372269.012.png 204372269.013.png 204372269.014.png 204372269.015.png 204372269.016.png 204372269.017.png 204372269.018.png 204372269.019.png 204372269.020.png 204372269.021.png 204372269.022.png 204372269.023.png 204372269.024.png 204372269.025.png 204372269.026.png 204372269.027.png 204372269.028.png 204372269.029.png 204372269.030.png 204372269.031.png 204372269.032.png 204372269.033.png 204372269.034.png 204372269.035.png 204372269.036.png 204372269.037.png 204372269.038.png 204372269.039.png 204372269.040.png 204372269.041.png 204372269.042.png 204372269.043.png 204372269.044.png 204372269.045.png 204372269.046.png 204372269.047.png 204372269.048.png 204372269.049.png 204372269.050.png 204372269.052.png 204372269.053.png 204372269.054.png 204372269.055.png
PROGRAMY
Fot. 7. Wygląd zestawu startowego
TCP/IP
SON.LBX dla wyświetlaczy
z kontrolerami firmy Epson
i LCD–PCF8833.LBX dla wy-
świetlaczy z kontrolerem
PCF8833. Do komunikacji
z tego typu wyświetlaczami
wymaganych jest kilka linii
mikrokontrolera. W przypad-
ku kolorowego wyświetla-
cza można wykorzystywać
komendy: LINE , LCDAT ,
CIRCLE , PSET i BOX . Wy-
świetlacze te nie posiadają
wbudowanego generatora
znaków. Czcionki należy
wygenerować samemu, do
czego można wykorzystać
program FontEditor ( rys. 8 ),
który wchodzi w skład pa-
kietu Bascom.
Dla ułatwienia pracy
z kolorowymi wyświetlaczami
LCD jest dostępny program
LCD RGB–8 Converter , które-
go okno pokazano na rys. 9 .
Za pomocą tego programu możliwe
jest konwertowanie bitmap do plików
BGC. Format BGC jest Bascomowym
formatem zapisu plików graficznych,
które można wyświetlić na wyświe-
tlaczu wykorzystując komendę SHOW-
PIC . Program ten umożliwia otworze-
nie pliku, jego zapisanie, edytowanie
oraz obsługę schowka. Jest również
możliwość edytowania wczytanego pli-
ku graficznego za pomocą kilkunastu
prostych narzędzi charakterystycznych
dla programów graficznych. Konwerter
można ściągnąć ze strony: http://www.
mcselec.com/index.php?option=com_do-
cman&task=doc_download&gid=168&I-
temid=54 . Wykorzystanie we własnych
projektach tanich kolorowych wyświe-
tlaczy graficznych nie tylko podniesie
ich funkcjonalność, ale i zwiększy ich
atrakcyjność.
informacje o tym jak zmontować ze-
staw startowy w raz z adapterem oraz
jak go uruchomić. W instrukcji został
przedstawiony również jeden przy-
kład. Więcej przykładów wykorzysta-
nia TCP/IP dostępnych jest w katalogu
SAMPLES znajdującym się w katalogu
instalacyjnym oprogramowania Ba-
scom.
Rys. 9. Widok okna programu LCD RGB8
Converter
Obsługa kolorowych
wyświetlaczy LCD
W Bascom predefiniowano obsłu-
gę wielu wyświetlaczy. Oprócz wy-
świetlaczy alfanumerycznych LCD,
można wygodnie obsłużyć mono-
chromatyczne wyświetlacze gra-
ficzne z popularnymi sterownikami
KS0107B, KS0108B, T6963C oraz
sterownikami z rodziny SED. Coraz
popularniejsze i tanie są kolorowe
wyświetlacze LCD, zwłaszcza wy-
świetlacze wymontowane z telefo-
nów komórkowych. W Bascom zaim-
plementowano obsługę kolorowych
wyświetlaczy, które zostały wyposa-
żone w kontroler firmy Epson lub
PCF8833 Philipsa.
Ponieważ w Bascomie można
obsługiwać kolorowe wyświetlacze
z dwoma rożnymi kontrolerami, do-
stępne są dwie biblioteki: LCD–EP-
ryczny wyświetlacza LCD dodano
obsługę nowych wyświetlaczy ze
sterownikami KS077 i DOGM. Dotąd
były obsługiwane wyłącznie wyświe-
tlacze LCD z kontrolerem Hitachi.
Dodano także polecenia umożli-
wiające obsługę układu MAX485, za
pomocą którego jest możliwe zreali-
zowanie transmisji danych w stan-
dardzie RS485. Pojawiło się rów-
nież wiele nowych dyrektyw kom-
pilatora, za pomocą których można
ustawiać stosy oraz wybierać typ
programatora.
Nie sposób wymienić tutaj
wszystkich nowych i uaktualnionych
instrukcji oraz dyrektyw. Tego typu
informacje można znaleźć w pliku
history.txt znajdującym się w kata-
logu instalacyjnym pakietu Bascom.
Opis i przykłady wykorzystania no-
wych instrukcji znajdują się w ba-
scomowym helpie .
Nowe rozkazy
W każdej kolejnej wersji
Bascoma pojawiają się nowe
rozkazy, ponadto wiele zna-
nych już rozkazów jest po-
prawianych (są do nich do-
dawane nowe parametry). Do
interesujących nowych rozka-
zów można zaliczyć umożli-
wiające obsługę impulsatora
oraz polecenia obsługi sy-
gnałów CTS/RTS (w przypad-
ku korzystania z „pełnego”
interfejsu RS232).
Do grupy poleceń kon-
figuracyjnych dla alfanume-
Rys. 8. Okno edytora fontów
Podsumowanie
Bascom jest cały czas rozwijany,
o czym świadczą m.in. jego wielo-
krotne aktualizacje co roku. Jest to
narzędzie coraz doskonalsze, speł-
niające wymagania coraz bardziej
zaawansowanych aplikacji.
Warto wspomnieć o tym, że ogra-
niczenie wielkości kompilowanego
programu w wersji demonstracyjnej
Bascom zostało zwiększone z 2 kB
do 4 kB. Miłej zabawy!
Marcin Wiązania, EP
marcin.wiazania@ep.com.pl
46
Elektronika Praktyczna 2/2007
204372269.056.png 204372269.057.png
Zgłoś jeśli naruszono regulamin