Artykuły

Firma Philips jako pierwsza opracowała, lub zaadaptowała, standard RC5 dla swoich nadajników – odbiorników podczerwieni do zastosowań w sprzęcie domowego użytku. Stosowano w nim stały czas trwania i liczbę bitów. Za każdym razem, gdy użytkownik naciska przycisk w nadajniku zdalnego sterowania, pracującym zgodnie ze specyfikacją Philips, wysyła on ciąg 14 bitów o czasie trwania 1,728 ms każdy. Jeśli klawisz pozostaje naciśnięty, to cała transmisja powtarzana jest, co 130 ms. W artykule opisano sposób budowy odbiornika transmisji kodowanej zgodnie z RC5 za pomocą mikrokontrolera 8051. czytaj więcej
Port równoległy jest do dziś jednym z najpowszechniej stosowanych interfejsów drukarkowych. Celem artykułu jest przedstawienie przykładu sposobu, w jaki można podłączyć drukarkę do systemu wyposażonego w mikrokontroler z rdzeniem 8051/8052. Obecnie port równoległy wypierany jest z zastosowań przez dużo wygodniejszy w użyciu interfejs USB. Stale jednak stanowi podstawowe wyposażenie komputerów PC, a w sklepach czy na rynku podzespołów wtórnych, bez większych kłopotów można kupić drukarkę wyposażoną w złącze równoległe. Jej przeznaczenie w systemie z mikrokontrolerem może być różne i zależy od potrzeb i inwencji konstruktora czy programisty. Ciekawy dla elektroników amatorów wydaje się być zwłaszcza rynek wtórny, gdzie za niewielką cenę można nabyć drukarkę igłową czy atramentową, wyposażoną w ten rodzaj interfejsu i dołączyć ją do własnego urządzenia. czytaj więcej
W artykule prezentowany jest przykład aplikacji, która opisuje sposób podłączenia telefonu GSM do systemu z mikrokontrolerem. Napisany dla mikrokontrolera program, to rodzaj alarmu z powiadomieniem, który może zostać zainstalowany na przykład w samochodzie. Jednak opisywaną aplikację bardziej należy traktować jako pewną sugestię, co do wykonania części sprzętowej i interfejsu łączącego mikrokontroler z telefonem GSM, aniżeli gotowe do wykorzystania urządzenie. czytaj więcej
Urządzenia alarmowe bardzo często są wyposażane w różnego rodzaju sygnalizacje włamania. Najprostszym jest uruchomienie sygnału dźwiękowego czy optycznego, te bardziej zaawansowane potrafią podawać swój status przez Internet czy telefon. Prezentowane w tym artykule urządzenie to amatorski alarm, który potrafi przesłać informację o załączeniu przez krótką informację tekstową, tak zwany SMS. Dla potrzeb modelu wykorzystałem modem GSM firmy Wavecom (testowałem również Siemens M20), jednak można użyć dowolnego telefonu komórkowego. Być może jego wykorzystanie będzie wymagało rozwiązania problemu zasilania oraz sposobu kodowania SMS, jednak jest możliwe i wykonalne w warunkach warsztatu elektronika – amatora. czytaj więcej
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
W tym 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ś wartości. 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
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
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 (Carry bit).   czytaj więcej
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 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... czytaj więcej
Każdy z układów z interfejsem 1-Wire posiada unikatowy 64-bitowy kod identyfikacyjny. Kod ten nosi nazwę „kod ROM” i może być utożsamiany z unikatowym adresem układu z interfejsem 1-Wire. Kod ten używany jest przez układ Master do wyboru układu w sieci. W związku z tym, że jest to kod unikatowy, to jeśli nie jest znana liczba układów Slave w sieci, może ona zostać określona przy jego użyciu przez zastosowanie funkcji przeszukiwania sieci. Algorytm jej działania oparty jest o zasadę przeszukiwania drzewa binarnego. Gałęzie przeszukiwane są do momentu aż zostanie odnaleziony koniec gałęzi lub pamięć ROM układu 1-Wire. Funkcja przeszukuje drzewo do momentu aż wszystkie numery ROM i wszystkie zakończenia zostaną odkryte. czytaj więcej