MSP430_cz5.pdf

(1213 KB) Pobierz
058-062_msp430_cz5.indd
PODZESPOŁY
MSP430: mikrokontrolery,
które (prawie) nie
pobierają prądu, część 5
W urządzeniach mikro-
procesorowych napotyka-
my wyświetlacze wyko-
nane w różnych technolo-
giach, w tym wyświetla-
cze ciekłokrystaliczne. Te
z kolei występują w całym
zakresie rozmiarów i wyko-
nań, zdolne są wyświetlać
wielokolorową grafikę lub
tylko monochromatyczny
tekst. Mogą być wypo-
sażone w podświetlenie,
które daje im niezaprze-
czalną zaletę – czytelność
w niemal każdych warun-
kach oświetleniowych. Są
ładne, kolorowe, zużywają
masę energii i... zazwyczaj
nie pasują do mikrokon-
trolerów MSP430. Aby za-
pewnić jednocześnie czy-
telny interfejs użytkownika
i długi czas życia urządze-
nia, liczony w miesiącach
i latach, moduł wyświetla-
cza musi zostać zastąpio-
ny przez wyświetlacz cie-
kłokrystaliczny sterowany
przez wbudowany w mi-
krokontroler sterownik.
Używając określenia
„wyświetlacz ciekłokrysta-
liczny” mamy najczęściej
na myśli te mocno roz-
budowane moduły. Z ko-
lei słowo „panel” coraz
częściej kojarzone jest
z dużym kolorowym wy-
świetlaczem wyposażonym
w ekran dotykowy. Jed-
nak w świecie MSP430 te
urządzenia są rzadkością
a „panelem LCD” zwykło
się nazywać podstawowy
element każdego wyświe-
tlacza – szklaną płytkę
z zamkniętą wewnątrz war-
stewką ciekłego kryształu.
To właśnie do pracy z ta-
kim „surowym” wyświe-
tlaczem przeznaczony jest
sterownik, jaki znajdziemy
w procesorach MSP430.
Niestety, panel LCD to
produkt daleki od stan-
dardu. Projektowany jest
zazwyczaj do zastosowania
w danym typie urządzenia
i do niego dostosowana
jest treść i forma graficz-
na znaków. Utrudnia to
znacznie użycie we wła-
snym projekcie panelu
z demontażu, bo rzadko
bywa uniwersalny. Poza
nielicznymi wyjątkami, jak
się wkrótce okaże.
Interesującym elementem wyposażenia niektórych
mikrokontrolerów z rodziny MSP430 jest sterownik
wyświetlacza ciekłokrystalicznego. W tej części
kursu dowiemy się jak go użyć. Dowiemy się
również, jak podłączyć do mikrokontrolera
wyświetlacz LCD.
Znajdujemy
rozwiązanie
Można powiedzieć, że
wygodne w użyciu panele
LCD to rzecz szalenie po-
pularna – wyświetlacz cie-
kłokrystaliczny, który dziś
omawiamy, jest bowiem
przeznaczony do kalkula-
tora elektronicznego. Waż-
ne, by był to najprostszy
Rys. 13. Rozmieszczenie wyprowadzeń wyświetlacza zasto-
sowanego w prezentowanym projekcie
model czterodziałaniowy
z 8–pozycyjnym wyświetla-
niem. Jest bardzo prawdo-
podobne, że wymontowany
z takiego kalkulatora panel
okaże się wyświetlaczem
trójpodłożowym o 27 wy-
prowadzeniach, z których
3 to wyprowadzenia steru-
jące podłożami, a pozostałe
24 to wyprowadzenia seg-
mentów. Bardzo prawdo-
podobne, że rozkład tych
wyprowadzeń będzie przy-
Wyświetlacz LCD w skrócie
Wiemy, że zachowanie ciekłego kryształu jest kontrolowane przez pole elektryczne. Aby wyświetlacz „świecił”
trzeba selektywnie pobudzać warstwę ciekłych kryształów napięciem elektrycznym przyłożonym do jego
wyprowadzeń. Zazwyczaj na płytkach szklanych wyświetlacza nałożone są w procesie metalizacji pola o kształcie
wyświetlanych znaków połączonych ścieżkami metalicznymi z zewnętrznymi wyprowadzeniami. Aby wyjaśnić teraz
sposób sterowania wyprowadzeń posłużę się analogią do siedmiosegmentowych wyświetlaczy LED.
Pojedynczy, 7–segmentowy wyświetlacz LED ma 9 wyprowadzeń elektrycznych. Jedno z nich to elektroda
wspólna dla wszystkich siedmiu segmentów (np. wspólna anoda), pozostałe 8 to elektrody zasilające segmenty.
Włączenie segmentu takiego wyświetlacza wymaga podania napięcia dodatniego na elektrodę wspólną,
a ujemnego na jedną z pozostałych. Podłączenie wielu katod do ujemnego napięcia spowoduje jednoczesne
świecenie wielu segmentów. W taki sam sposób jest zbudowany wyświetlacz ciekłokrystaliczny jednopodłożowy
– wszystkie segmenty świecące włączone są pomiędzy wyprowadzenie wspólne, zwane podłożem (będziemy jest
określać C od angielskiego common ), a jedno z wyprowadzeń segmentów (S).
Wadą takiego rozwiązania jest duża liczba wyprowadzeń potrzebna do sterowania segmentów. W technice
LED w wielocyfrowych wyświetlaczach stosujemy dla uproszczenia sterowanie multipleksowe, w przypadku
wyświetlaczy ciekłokrystalicznych również. Sterowanie jest analogiczne, wyświetlacz posiada wiele elektrod typu
C i wiele elektrod typu S. Mikrokontrolery MSP430 mogą współpracować z wyświetlaczami o liczbie podłoży od
1 do 4.
Wydawać by się mogło, że tak proste sterowanie można wykonać bez specjalizowanego sterownika LCD.
Tak jednak nie jest: od strony napięciowej, sterowanie LCD jest znacznie bardziej skomplikowane niż LED.
Tylko jednopodłożowy wyświetlacz LCD steruje się w sposób zbliżony do LED. Wielopodłożowe wyświetlacze
ciekłokrystaliczne wymagają przebiegów sterowania w postaci sekwencji napięć o skomplikowanym kształcie
schodkowym.
Czytelników zainteresowanych poznaniem szczegółów zachęcamy do zakupu Elektroniki Praktycznej Plus
„Displays” ( http://www.avt.pl/pisma.php?id=41 ).
58
Elektronika Praktyczna 1/2008
153199102.036.png 153199102.037.png
PODZESPOŁY
regulować kon-
trast.
Na rys. 14
p o k a z a n o
schemat bloko-
wy sterownika
LCD. Umiesz-
czone na ry-
sunku ozna-
czenia sygna-
łów mają swo-
je odpowied-
niki w plikach
nagłówkowych.
Będziemy się
nimi posługi-
wać podczas
objaśniania
jego pracy.
G ł ó w n e
elementy sterownika LCD
to pamięć obrazu, gene-
rator taktujący i matryca
multiplekserów, przygoto-
wująca sygnały wyprowa-
dzeń segmentów o podłoży
oraz multiplekser analo-
gowy, który w połączeniu
z zewnętrznym dzielnikiem
napięcia stanowi generator
napięć sterujących. Do re-
zystorów dzielnika napię-
ciowego można równolegle
dołączyć niewielkie pojem-
ności. Wpływa to pozy-
tywnie na kształt przebie-
gów sterujących i w wielu
przypadkach zwiększa kon-
trast i czytelność.
Pamięć obrazu proce-
sora F44x obejmuje 20
komórek, z których każda
może znaleźć swój od-
powiednik na polu LCD
w postaci świecącego ob-
szaru. Każdy bajt pamię-
ci LCDMEM reprezentuje
osiem elementów świecą-
cych, połączonych z dwo-
ma sąsiednimi wyprowa-
dzeniami S i wszystkimi
czterema podłożami. Na
rys. 15 przedstawiono
mapę pamięci, na któ-
rej zaznaczono położenie
segmentów należących do
pierwszych dwóch cyfr
opisywanego wyświetlacza.
Generator napięć słu-
ży do wytworzenia dwóch
lub więcej napięć, któ-
re poprzez multiplekser
są podawane na LCD.
W przypadku wyświetlacza
jednopodłożowego (statycz-
nego) napięcia są dwa (za-
zwyczaj 0 V i Vcc). Wtedy
na świecących segmen-
tach pojawia się napięcie
prostokątne o amplitudzie
Vcc, gdy mają one świe-
cić lub 0 V, gdy pozostają
wygaszone. Wyświetlacze
wielopodłożowe wymagają
do pracy większej liczby
napięć, których sekwen-
cja decyduje o zachowaniu
segmentów. Minimalną
liczbę napięć określa pa-
rametr BIAS – dla BIAS=
1/2 wymagane są dwa po-
tencjały o wartość 1/2 U nom
i U nom oraz potencjał 0 V.
W przypadku naszego wy-
świetlacza, którego BIAS
=1/2 zastosujemy tryb
BIAS=1/3, gdyż takim
dysponuje MSP430. Gene-
rator napięć operuje wtedy
napięciami 0 V, 1/2 Vcc,
2/3 Vcc oraz Vcc. Na kon-
taktach podłoży (sygnały
COM0…COM3) i segmen-
tów (sygnały S0 i dalsze)
pojawiają się przebiegi
schodkowe.
Na rys. 16 widzimy
przykład sterowania dwóch
segmentów wyświetlacza
włączonych pomiędzy sy-
gnały C0 oraz S1 i S2.
Dwa ostatnie wykresy ob-
razują przebieg napięcia
na segmencie włączonym
pomiędzy C0 i S1, któ-
ry pozostaje wygaszony
(napięcie różnicowe nie
przekracza 1/3Vcc, czyli
wymaganie BIAS jest speł-
nione) oraz na segmencie
świecącym, włączonym po-
między C0 i S2 (napięcie
osiąga chwilowe wartości
równe Vcc, co powoduje
świecenie).
Rys. 14. Budowa kontrolera wyświetlacza
LCD w mikrokontrolerze MSP430F449
Konfiguracja
kontrolera LCD
Aby przygotować kon-
troler do pracy należy
zdefiniować kilka podsta-
wowych parametrów.
Należy dobrać podsta-
wową częstotliwość pra-
cy (ustalając częstotliwość
f LCD w module BasicTi-
mer). W tym projekcie za-
stosujemy częstotliwość
podstawową 256 Hz, co
daje f frame =41 Hz (czę-
stotliwość podstawowa
256 Hz/(2*MUX3)), a więc
nieco mniej od wymaga-
nej. Zmniejszenie częstotli-
wości pozwoli dodatkowo
zredukować pobór prądu.
pominał ten przedstawiony
na rys. 13 .
Sterowanie
Opis sterowania powi-
nien rozpocząć się wyja-
śnieniem parametrów cha-
rakterystycznych wyświe-
tlacza. Do takich parame-
trów należą:
• U nom – nominalne na-
pięcie pracy,
• BIAS – maksymalne
napięcie polaryzacji nie
powodujące włączenia
segmentu,
• MUX – liczba podłoży,
• Viewing Direction (kie-
runek patrzenia) – kie-
runek, z którego wy-
świetlane symbole są
najbardziej czytelne,
• F frame – częstość odświe-
żania.
„Nasz” wyświetlacz ma
parametry: U nom =2,95 V,
BIAS=1/2, MUX3, 6 Hr,
64 Hz.
Sterownik LCD wbu-
dowany w mikrokontrolery
MSP430 może współpra-
cować z wyświetlaczem
jednopodłożowym oraz
wyświetlaczem wielopo-
dłożowym o parametrach:
MUX2, BIAS1/2; MUX3,
BIAS1/3 oraz MUX4, BIA-
S1/3. Sterownik LCD, za-
stosowany w mikrokontro-
lerach F41x/F43x/F44x ma
regulowaną częstotliwość
odświeżania, a moduł
LCD_A (zastosowany w se-
rii F42x0), może również
Rys. 15. Mapa pamięci LCDMEM
Elektronika Praktyczna 1/2008
59
153199102.038.png 153199102.039.png 153199102.001.png
PODZESPOŁY
Tab. 1. Zasady doboru przypisań wyprowadzeń
LCDP2 LCDP1 LCDP0 Wybrane wyprowadzenia
0 0 0
–––
ra kwarcowe-
go do pracy,
jest on jednak
niezbędny dla
prawidłowego
działania ste-
rownika wy-
świetlacza.
Na rys. 17
zamieszczono
schemat po-
łączeń. Jest
to fragment
schematu płyt-
ki Demo449
(szczegóło-
wo opisany
w EP12/2008).
Widoczne na
schemacie złą-
cze ma układ
taki jak złącze
LCD1 płyt-
ki Demo449,
które dopa-
sowano do wyświetlacza
zastosowanego w zesta-
wie. Wyświetlacz pocho-
dzi z kalkulatora kupione-
go na targowisku ( fot. 18 ).
Oryginalnie wyświetlacz
był podłączony do płytki
drukowanej taśmą prze-
wodzącą. Trzeba ją usu-
nąć i zmyć resztki kleju
spirytusem lub podobnym
0 0 1
S0…S15
0 1 0
S0…S19
0 1 1
S0…S23
1 0 0
S0…S27
1 0 1
S0…S31
1 1 0
S0…S35
1 1 1
S0…S39
List. 3. Procedura przygotowująca sterownik LCD do pra-
cy z wyświetlaczem
{
BTCTL = BTDIV + BTIP0 + BTIP1; // ustawienie Basic Timera
LCDCTL = LCDON + LCDSON + LCDMX1 + LCDP0 + LCDP1;
// ustawienie kontrolera LCD
P5SEL |= 0xfc;// ustawienie wyprowadzen
}
Należy zdefiniować wy-
prowadzenia, które będą
sterować wyświetlaczem.
Wyprowadzenia COM1…
COM3 są współdzielo-
ne z wyprowadzeniami
P5.2…P5.4, a wyprowadze-
nia R13…R33 (wejścia dla
dzielnika rezystancyjnego)
z P5.5…P5.7. Aby mogły
one sterować LCD (reali-
zować funkcję specjalną),
należy w rejestrze P5SEL
dokonać odpowiedniego
wyboru. Z kolei mecha-
nizm wyboru linii segmen-
tów jest uproszczony.
Wyboru dokonuje
się w rejestrze LCDCTL
i wpływa on na zachowa-
nie całej grupy linii. Nale-
ży pamiętać, że wszystkie
wyprowadzenia z wybranej
grupy tracą zdolność pra-
cy jako zwykłe linie I/O.
Za włączanie sterowni-
ka odpowiada bit LCDCTL.
LCDON. Włączenie kon-
trolera powoduje pojawie-
nie się napięcia Vcc na
wyprowadzeniu V1(R33)
i zasilenie dzielnika rezy-
stancyjnego. Ciekawostką
jest możliwość wygaszania
LCD bez wyłączania kon-
trolera przy użyciu bitu
kontrolnego LCDSON. Wy-
świetlacz w prezentowa-
nym przykładzie jest do-
łączony do wyprowadzeń
COM0…COM2 i S0…S23,
wybieramy więc czwarte
ustawienie z wymienio-
nych w tab. 1 . Na list. 3
pokazano procedurę przy-
gotowującą sterownik LCD
do pracy z wyświetlaczem.
Rys. 16. Przykładowe przebiegi sterujące
Podłączenie
wyświetlacza do
mikrokontrolera
Do uzyskania obrazu
na wyświetlaczu wyma-
ganych jest tylko kilka
elementów zewnętrznych:
rezonator kwarcowy oraz
trzy rezystory dla genera-
tora napięć. Ciekawostką
jest, że sam mikrokontro-
ler nie wymaga rezonato-
środkiem. Do podłączenia
wyświetlacza potrzebny
jest jeszcze elastomer. Wy-
świetlacz można przykryć
odpowiednio przyciętą
szybką z pleksi i przykrę-
cić śrubami lub wykonać
ramkę z cienkiej blaszki
i przylutować ją do płytki
( rys. 19 ). Należy pamiętać
o zamontowaniu na płytce
Rys. 17. Schemat podłączenia wyświetlacza LCD do mikrokontrolera F449 w zestawie
Demo449 (EP12/2008)
60
Elektronika Praktyczna 1/2008
153199102.002.png 153199102.003.png 153199102.004.png 153199102.005.png 153199102.006.png 153199102.007.png 153199102.008.png 153199102.009.png 153199102.010.png 153199102.011.png 153199102.012.png 153199102.013.png 153199102.014.png 153199102.015.png 153199102.016.png 153199102.017.png 153199102.018.png 153199102.019.png 153199102.020.png 153199102.021.png 153199102.022.png 153199102.023.png 153199102.024.png 153199102.025.png
PODZESPOŁY
Fot. 18. Kalkulator zakupio-
ny przez autora
Tab.2. Zasady identyfikacji elementu pola wyświetlacza i jego
reprezentację w pamięci LCDM oraz buforze buffer_LCD
L.p. Symbol Segment.Podłoże LCDMx.bit Bufor[n].bit
1 1A 1.1 1.4 0.0
2 1B 2.1 2.1 0.1
3 1C 1.2 1.6 0.2
4 1D 0.2 1.2 0.3
5 1E 0.1 1.1 0.4
6 1F 0.0 1.0 0.5
7 1G 1.1 1.5 0.6
8 1DP 2.2 2.2 0.7
9 2A 4.0 3.0 1.0
10 2B 5.1 3.5 1.1
11 2C 5.2 3.2 1.2
12 2D 3.2 2.6 1.3
13 2E 3.1 2.5 1.4
14 2F 3.0 2.4 1.5
15 2G 4.1 3.1 1.6
16 2DP 5.2 3.6 1.7
17 3A 7.1 4.1 2.0
28 3B 8.1 5.6 2.1
... ... ... ... ...
63 8G 22.1 12.1 1.6
64 8DP 23.2 12.6 1.7
65 MINUS 17.0
ną z cyfr wyświetlacza.
W każdym bajcie znajdzie-
my wszystkie siedem seg-
mentów cyfry oraz krop-
kę. Ostatni bajt zawiera
bity znaków specjalnych
(MEMORY, MINUS i ER-
ROR). Funkcja niskiego
poziomu seven_seg2LCD
z parametrem w postaci
wskaźnika na bufor gra-
ficzny dokonuje translacji
zawartości bufora na ob-
raz na polu wyświetlacza.
Zastosowanie wskaźnika
pozwala na użycie wielu
buforów danych lub łań-
cuchów znaków zawartych
w dowolnie zlokalizowa-
nych tablicach. Program
zawiera również definicje
segmentów kodu siedmio-
segmentowego oraz tablicę
znaki o dziesięciu elemen-
tach stanowiących obrazy
cyfr 0…9.
Algorytm działania
funkcji seven_seg2LCD
( list. 4 ) nie jest skompli-
9.4 8.0
66 MEMORY 20.0 11.0 8.1
67 ERROR 21.0 12.4 8.2
Rys. 19. Sposoby mocowa-
nia wyświetlacza
cej segment (za wyjąt-
kiem znaków specjal-
nych), które znajdzie-
my w drugiej kolumnie
tabeli tab. 2 . Każdy
z tych elementów włą-
czony jest między jed-
no z doprowadzeń pod-
łoży i segmentów (ko-
lumna trzecia), co we-
dług schematu pamięci
LCDMEM (rys. 15)
pozwala określić jego
lokalizację (kolum-
na czwarta). Ostatnim
elementem jest przy-
pisanie segmentowi
miejsca w buforze. To
z tego bufora pobiera
dane funkcja obsługi
wyświetlania.
List. 4. Funkcja seven_seg2LCD
void seven_seg2LCD (unsigned char* source)
{
unsigned short data_src; //
unsigned short data_eval;
unsigned short round_cnt;
unsigned char *pntr;
pntr = (unsigned char*) LCDMEM;
for (round_cnt = 0; round_cnt < 4; round_cnt++)
{ // cztery pary cyfr do analizy
// kazda para cyfr współpracuje z trzema komorkami LCDM
data_eval=0;
data_src = *source; //pobranie danych
if (data_src & segA) data_eval |= LCDAl;
if (data_src & segC) data_eval |= LCDCl;
if (data_src & segD) data_eval |= LCDDl;
if (data_src & segE) data_eval |= LCDEl;
if (data_src & segF) data_eval |= LCDFl;
if (data_src & segG) data_eval |= LCDGl;
*pntr = data_eval; // pierwsza komórka wyjsciowa
data_eval=0;
if (data_src & segB) data_eval |= LCDBl;
if (data_src & segP) data_eval |= LCDPl;
//zakonczenie analizy pierwszej cyfry w parze
source++;
data_src = *source; //pobranie danych
if (data_src & segD) data_eval |= LCDDr;
if (data_src & segE) data_eval |= LCDEr;
if (data_src & segF) data_eval |= LCDFr;
pntr++;
*pntr = data_eval; // druga komorka wyjsciowa
data_eval=0;
if (data_src & segA) data_eval |= LCDAr;
if (data_src & segB) data_eval |= LCDBr;
if (data_src & segC) data_eval |= LCDCr;
if (data_src & segG) data_eval |= LCDGr;
if (data_src & segP) data_eval |= LCDPr;
pntr++;
*pntr = data_eval; // trzecia komórka wyjsciowa
*source++; // analiza dwoch cyfr zakonczona
pntr++;
} // osiem cyfr juz narysowane
data_src = *source; //pobranie danych znakow specjalnych
pntr––;
if (data_src & ERROR) *pntr |= segERR;
pntr––;
if (data_src & MEMORY) *pntr |= segMEM;
pntr–=2;
if (data_src & MINUS) *pntr |= segMIN;
//znaki specjalne ustawione
}
Demo449 rezystorów R2,
R3, R4 i R5. Zmieniając
wartość rezystora R5 moż-
na wpływać na napięcie
sterujące wyświetlacza,
a w konsekwencji na kon-
trast.
Aby podłączyć inny
typ wyświetlacza, można
skorzystać ze złącza J9.
Wymaga to oczywiście wy-
konania dodatkowej płytki
drukowanej.
Wyświetlamy
Aby zrozumieć zasa-
dę, wedle której na wy-
świetlaczu pojawiają się
cyfry, prześledzimy dro-
gę począwszy od budo-
wy wyświetlacza, poprzez
schemat połączeń, aż do
programu. Każdemu z 67
elementów wyświetlacza
przypisujemy oznaczenie
składające się z numeru
cyfry oraz litery określają-
Oprogramowanie
Wygodnym rozwią-
zaniem dla sterowania
wyświetlaczem cie-
kłokrystalicznym jest
założenie bufora dla
danych graficznych.
Bufor LCD_buffer ma
rozmiar 9 bajtów. Każ-
dy z ośmiu początko-
wych bajtów w bufo-
rze reprezentuje jed-
Elektronika Praktyczna 1/2008
61
153199102.026.png 153199102.027.png
PODZESPOŁY
List. 5. Program wyświetlający
znaki na LCD, korzystający
z funkcji seven_seg2LCD
LCD_buffer[0] = znaki[1];
LCD_buffer[1] = znaki[2];
LCD_buffer[2] = znaki[3];
LCD_buffer[3] = znaki[4];
LCD_buffer[4] = znaki[5];
LCD_buffer[5] = znaki[6];
LCD_buffer[6] = znaki[7];
LCD_buffer[7] = znaki[8];
LCD_buffer[8] = MINUS;
seven_seg2LCD(LCD_buffer);
Na list. 6 poka-
zano przykład wy-
świetlania zmiennej
łańcuchowej zloka-
lizowanej w pamię-
ci kodu. W podob-
ny sposób można
wyświetlać dowolny
łańcuch znaków licz-
bę, należy tylko pa-
miętać, przy przed
wyświetleniem liczby
wykonać jej konwersję
na zmienną łańcuchową.
Załóżmy, że tablica
string[8] zawiera elemen-
ty zbudowane tak, jak
elementy tablicy znaki
kowany. Dla uproszcze-
nia zapisu wykorzysta-
no fakt, że każda para
z ośmiu cyfr wyświetlacza
ma podoba budowę i jest
reprezentowana w trzech
sąsiednich komórkach
Rys. 20. Symulator LCD wbudowany w pakiet IAR Embed-
ded Workbench
List. 6. Przykład wyświetlenia zmiennej łańcuchowej zlokalizowanej w pamięci kodu
const unsigned char string[8] = {data1,data2,data3,data4,data5,data6,data7,data8,dataMINUS};
uni_pntr = (unsigned char *)string;
seven_seg2LCD(uni_pntr);
Workbench IDE
w trybie debugo-
wania lub symula-
cji i w menu View
wybrać pozycję
LCD Display, a pojawi się
pole podglądu wyświetla-
cza. Po kliknięciu na nie
prawym klawiszem myszy
należy wskazać właściwą
bibliotekę. Podgląd treści
wyświetlacza jest aktyw-
ny zarówno wtedy, gdy
wybrana jest opcja pracy
z symulatorem procesora,
jak i w trybie pracy z „ży-
wym” układem.
Mariusz Kaczor
Contrans TI
LCDM. Program wyko-
nuje cztery pętle, w któ-
rych analizuje zawartość
dwóch komórek bufora
wejściowego i wypełnia
trzy komórki LCDM, ry-
sując dwie cyfry. Na za-
kończenie uzupełnia jesz-
cze pamięć LCDM bitami
znaków specjalnych.
Najprostszy program
zapisu do wyświetlacza
korzystający z tak zbudo-
wanej funkcji pokazano
na list. 5 .
W wyniku zadziałania
powyższego fragmentu
programu zostanie wy-
świetlony ciąg znaków:
–123435678–.
są to bitowe obrazy
znaków przeznaczonych
do wyświetlenia. Po wy-
konaniu programu, jak
poniżej, ponownie zosta-
nie wyświetlone wskaza-
nie –12345678–.
bibliotek, w którym moż-
na by przygotować wła-
sne modele do symulacji.
Aby to zrobić, trzeba się
posiłkować programem
LCD Editor , wchodzącym
w skład pakietu oprogra-
mowania ADT430 (pakiet
ten, choć od dawna nale-
ży do narzędzi „historycz-
nych”, jest wciąż dostęp-
ny w serwisie Texas In-
struments). Opublikujemy
go na CD–EP2/2008B.
Biblioteka do naszego
wyświetlacza jest dostęp-
na na stronie msp430.
ep.com.pl . Po jej skopio-
waniu należy uruchomić
środowisko IAR Embedded
Symulator
wyświetlacza
W środowisku IAR Em-
bedded Workbench, po-
cząwszy od wersji 3.0,
wprowadzono możliwość
symulacji zachowania wy-
świetlacza ( rys. 20 ). Do-
stępne biblioteki obejmują
niestety tylko dwa typy
wyświetlaczy. W pakiecie
brakuje również edytora
Dokumentacje projektów oraz inne
materiały i informacje na temat
mikrokontrolerów MSP430 są
dostępne na stronie
msp430.ep.com.pl .
R
E
K
L
A
M
A
62
Elektronika Praktyczna 1/2008
153199102.028.png 153199102.029.png 153199102.030.png 153199102.031.png 153199102.032.png 153199102.033.png 153199102.034.png 153199102.035.png
Zgłoś jeśli naruszono regulamin