| |
Asembler: ST7 - podłączenie wyświetlacza LED via SPI z użyciem rejestrów 74HCT595
Wysłany przez Jacek dnia 13-09-2006 o godz. 15:30:43 (987 odsłon)
Tym razem, korzystając z modułu wyświetlacza LED już wcześniej opisywanego na tej stronie (np.
http://www.easy-soft.net.pl/modules.php?name=News&file=article&sid=43), podłączyłem go do mikrokontrolera ST7. Jednocześnie zastanawiałem się, czy nie można by było wykorzystać do jego obsługi interfejsu SPI, to
znaczy czy rejestr 74HCT595 nadaje się do odbioru danych przesyłanych za pomocą SPI w którymś z trybów pracy. Przecież SPI posiada linię zegara w takt którego przesyła i odbiera dane. A użycie interfejsu
SPI, zresztą - któregokolwiek ze sprzętowych udogodnień wbudowanych w strukturę mikrokontrolera, znakomicie wręcz upraszcza program, wpływa na łatwość jego uruchomienia (a co za tym idzie - skraca
czas potrzebny na przetestowanie układu).
(Czytaj więcej... | 943 bajtów więcej | Asembler | Wynik: 0)
|
|
Asembler: ST7 - podstawowe operacje arytmetyczne w języku asembler
Wysłany przez Jacek dnia 13-09-2006 o godz. 10:10:29 (1023 odsłon)
Podstawą działania wielu programów są wszelkiego rodzaju operacje arytmetyczne wykonywane czy to na zmiennych wejściowych, czy to na zmiennych wewnętrznych. Podobnie podstawą wielu interfejsów użytkownika jest bardzo często wyświetlacz LED, czy LCD i konwersja liczb binarnych na dziesiętne. Trudno jest bowiem zrozumieć i właściwie zinterpretować wynik pomiaru wyświetlany na przykład w kodzie binarnym. W artykule zaprezentuję podstawowe działania arytmetyczne w języku asembler mikrokontrolera ST7. Opiszę dodawanie, odejmowanie, mnożenie i dzielenie liczb. Na podstawie tych działań zaprezentuję również funkcje porównywania liczb oraz konwersję liczb binarnych na dziesiętne. W artykule wykorzystano algorytmy i kody źródłowe zawarte w nocie aplikacyjnej firmy ST Microelectronics "ST7 Math Utility Routines"
(Czytaj więcej... | 919 bajtów więcej | Asembler | Wynik: 0)
|
|
Asembler: AVR Asembler: Opis architektury uK AVR na przykładzie AT90S8515
Wysłany przez jacek dnia 01-01-2005 o godz. 19:21:30 (5560 odsłon)
Pierwszy rzut oka na instrukcję programowania mikrokontrolera z rodziny AVR w języku asembler nieco przeraża. Dziesiątki zupełnie niezrozumiałych poleceń to dla wielu przeszkoda nie do przebycia. Niestety - taki jest urok programowania w asemblerze. Tutaj proste z pozoru operacje dodawania czy mnożenia muszą zawierać się w kilku czy kilkunastu poleceniach. Cykl artykułów, który rozpoczynamy, będzie próbą wprowadzenia Czytelnika w świat programowania w języku asemblera AVR. Będzie też próbą pokazania, że nie taki diabeł straszny... Napiszemy też proste programy: kopiowanie stanu wejścia na wyjście i licznik binarny.
(Czytaj więcej... | 727 bajtów więcej | Asembler | Wynik: 5)
|
|
Asembler: AVR Asembler: Konwersja liczb szesnastkowych
Wysłany przez jacek dnia 01-01-2005 o godz. 18:41:31 (2414 odsłon)
Najprostszą metodą konwersji liczb szesnastkowych na dziesiętne jest liczenie ile razy dana waga dziesiętna "zmieści się" w liczbie szesnastkowej. W języku asembler operację tę przeprowadza się najczęściej przez odejmowanie wagi dziesiętnej i liczenie ilości operacji odejmowania do momentu ustawienia flagi przeniesienia C.
(Czytaj więcej... | 429 bajtów więcej | Asembler | Wynik: 5)
|
|
Asembler: AVR Asembler: Podstawowe operacje arytmetyczne
Wysłany przez jacek dnia 01-01-2005 o godz. 18:40:07 (2455 odsłon)
W dzisiejszym odcinku kursu nieco odbiegniemy od prezentowanych wcześniej sposobów wykorzystywania zasobów mikrokontrolera. Każda aplikacja musi czasami dodać, odjąć lub porównać jakieś liczby. Tworząc ją w języku wysokiego poziomu wszystko jest proste: deklarujemy typy zmiennych A i B a następnie prosty zapis A+B rozwiązuje problem. W asemblerze nie jest niestety tak łatwo...
(Czytaj więcej... | 484 bajtów więcej | Asembler | Wynik: 4.2)
|
|
Asembler: AVR Asembler: Obsługa przycisku+Licznik zdarzeń
Wysłany przez jacek dnia 01-01-2005 o godz. 18:38:10 (2000 odsłon)
Początki nauki nie są zbyt pasjonujące. Ale tak to już jest, że aby zacząć biegać, trzeba się nauczyć chodzić. Niestety, początki są na "czworaka". W tym odcinku kursu dołożymy kolejny klocek: odczyt stanu przycisku. Następnie połączymy tę funkcję z poznaną wcześniej, służącą do wyświetlenia stanu licznika. Utworzona w ten sposób aplikacja będzie najprostszym licznikiem zdarzeń.
(Czytaj więcej... | 486 bajtów więcej | Asembler | Wynik: 5)
|
|
Asembler: AVR Asembler: Obsługa cyfry LED i Licznik
Wysłany przez jacek dnia 01-01-2005 o godz. 18:36:21 (2362 odsłon)
Podczas lektury poprzedniego odcinka kursu poznaliśmy podstawy organizacji pamięci oraz wykorzystania zasobów mikrokontrolera AT90S8515. Nauczyliśmy się w jaki sposób skonfigurować linie portów mikrokontrolera, jak odczytać stan portu wejściowego i jak zaświecić diodę LED dołączoną do wyprowadzenia mikrokontrolera. Poznaliśmy też sposób użycia przerwania zewnętrznego do realizacji licznika. Dziś posuniemy
się o krok dalej. Do mikrokontrolera dołączymy cyfrę LED i nauczymy się nią sterować. Wszystko na przykładzie
prostej aplikacji licznika.
(Czytaj więcej... | 653 bajtów więcej | Asembler | Wynik: 4.66)
|
|
Asembler: AVR Asembler: Podstawy użytkowania AVR Studio 4
Wysłany przez jacek dnia 01-01-2005 o godz. 18:34:22 (2158 odsłon)
Pierwszym krokiem nauki programowania w AVR Asemblerze będzie instalacja programu AVR Studio. Osobiście używam wersji 3.55 ... i 4.05. Niestety - nowa wersja AVR Studio nie nadaje się do pracy z kompilatorem GCC jest natomiast dużo lepsza od swojej poprzedniczki. Być może jest to celowa polityka firmy Atmel a być może następna wersja AVR Studio będzie również akceptować składnię języka C? Trudno powiedzieć - w tym momencie radzę sobie tak, jak mogę. Poszczególne wersje AVR Studio różnią się nieco między sobą. Metody opisane dla AVR Studio 4 niestety nie dadzą wprost przenieść się do 3.55.
(Czytaj więcej... | 700 bajtów więcej | Asembler | Wynik: 5)
|
|
Asembler: Driver do obsługi modułu LCD 4x20,konwersja HEX na ASCII
Wysłany przez Jacek dnia 01-11-2004 o godz. 12:32:18 (3114 odsłon)
Sposoby komunikowania się układów
sterowanych mikroprocesorowo z użytkownikiem stale się zmieniają i są coraz bardziej doskonałe. Powoli normalnymi stają się układy mówiące do nas zapamiętanym lub zsyntetyzowanym głosem, wyświetlające
rozmaite informacje w graficznie za pomocą różnych obrazów. Nie maleje jednak
popularność zwykłych, 7-segmentowych wskaźników i ich różnych odmian - głównym
powodem jest bardzo atrakcyjna cena. Co jednak zrobić, gdy musimy wyświetlić informację w formie tekstu? Proponuję sięgnąć do wyświetlacza alfanumerycznego.
Wyświetlacz alfanumeryczny, najczęściej ciekłokrystaliczny lub gazowy VFD, stał się
na tyle popularnym, że nie trzeba nikogo przekonywać o zaletach jego stosowania. Dosyć jest powiedzieć, że daje bardzo szerokie możliwości obrazowania informacji, począwszy od typowych znaków ASCII aż do definiowanych przez użytkownika, czyli prawie dowolnych. W odróżnieniu od wyświetlacza graficznego umożliwia jednak wyświetlanie wyłącznie znaków, których definicje umieszczono wcześniej w wewnętrznej pamięci, tak zwanym generatorze znaków. Celem artykułu jest opisanie propozycji podłączenia wyświetlacza znakowego do systemu mikroprocesorowego opartego o mikrokontroler z rodziny MCS51. W opisywanych modelach użyłem wyświetlacza LCD 4 linie x 20 znaków typu PVC200403-PYL01 z wbudowanym kontrolerem HD44780 i do niego to odnoszą się wszystkie aplikacje. Jego wybór podyktowany był przystępną ceną przy dobrych walorach użytkowych (podświetlanie
na diodach LED, kontrastowy i wyraźny obraz). Prezentowane aplikacje można odnieść do dowolnego wyświetlacza alfanumerycznego LCD, ponieważ większość producentów używa tego samego algorytmu ich sterowania oraz tego samego zestawu rozkazów. Mało tego, w większości możemy znale?ć taki sam układ sterownika, to jest HD44780 lub temu równoważny. Aplikacja zawiera funkcje konwersji liczb HEX na BCD oraz BCD na ASCII (asembler 8051)
(Czytaj więcej... | 2026 bajtów więcej | Asembler | Wynik: 4.5)
|
|
Asembler: Pseudo - tekstowy wyświetlacz LED (6 znaków x 7 segmentów)
Wysłany przez Jacek dnia 01-11-2004 o godz. 12:27:36 (2321 odsłon)
Cóż jest trudnego w podłączeniu modułowego wyświetlacza LCD do mikrokontrolera? Czasami (zwłaszcza dzięki kompilatorowi Bascom) mam wrażenie, że już każde dziecko to potrafi. Ale podłączenie wyświetlacza LED z tzw. multipleksowaniem może być ciekawą zabawą. Oto pomysł układowy, który do połączenia z mikrokontrolerem wymaga tylko 3 linii sygnałowych i 2 zasilania.
Wyświetlacz z multipleksowaniem, zwany bardzo często sekwencyjnym, wykorzystuje
jako zasadę działania właściwość ludzkiego oka polegającą na tym, że nie zauważa ono
światła migoczącego z częstotliwością większą lub równą 50Hz. W związku z tym, jeśli na czas 1/100 sekundy zaświecimy cyfrę LED numer 1 a po tym czasie cyfrę LED numer 2 na ten sam okres i będziemy je naprzemiennie wyświetlać (raz jedna, raz druga ale nigdy obie na raz), ludzkie oko zauważy, że świecą się obie cyfry mimo, iż w danym momencie świeci tylko jedna z nich. Oczywiście częstotliwość przełączania może być znacznie większa. Należy jednak bardzo uważać dobierając czas załączenia i wyłączenia cyfr. Zbyt krótkie czasy mogą spowodować, że cyfry będą się nawzajem "przenikać" oraz będą sprawiały wrażenie nieostrych. Zbyt niska częstotliwość spowoduje, że będziemy mieli wrażenie migotania. Cała tajemnica tkwi więc w umiejętnym dobraniu czasu załączenia i
wyłączenia.
(Czytaj więcej... | 1421 bajtów więcej | Asembler | Wynik: 5)
|
|
| |
 |
Artykuł dnia |
 |
|
|
Dziś nie dodano nowego artykułu.
|
|
|
 |
|