Artykuły

Pamięci są dzielone na dwie kategorie. Pierwszą z nich są pamięci nieulotne. Od wielu lat są one używane w aplikacjach w celu zapamiętania pewnych stałych, niezmiennych informacji. Może to być program realizowany przez mikroprocesor czy też dla przykładu wzorce znaków wyświetlanych na ekranie wyświetlacza LCD. Podstawową cechą tego rodzaju pamięci jest stałość przechowywanych informacji również wtedy, gdy brak jest napięcia zasilania. Zazwyczaj zapis pamięci stałej (często zwany jej programowaniem), nawet mimo użycia technologii EEPROM czy też FLASH EEPROM, jest dość trudny i zajmuje dużo czasu, jeśli odnieść to do czasu odczytu tej pamięci. Druga grupa to pamięci ulotne, tzw. RAM. Są one łatwe do zapisu i pracują bardzo szybko, więc służą do przechowywania danych, które często ulegają zmianie. Inaczej niż w pamięciach nieulotnych, dane przechowywane w RAM giną po odłączeniu napięcia zasilającego i jeśli konieczne jest z jakiś względów zachowanie niezmiennego stanu RAM, to jest wymagane stosowania pomocniczych źródeł zasilania. Jest to swego rodzaju wyzwanie dla konstruktora układu. Wad wyżej opisanych układów nie ma nowy rodzaj pamięci, której technologia wytwarzania przed kilkunastu laty opuściła laboratoria naukowe. Jest to pamięć FRAM. Skrót nazwy tłumaczy się jako Ferroelectric Random Access Memory. Oznacza on technologię wytwarzania (uwaga!) nieulotnej pamięci RAM, czyli pamięci łączącej w sobie szybkość pracy RAM i trwałość ROM. czytaj więcej
We wczesnych latach 60. instytucja znana dziś pod nazwą Electronic Industries Association opracowała wspólną specyfikację standardu interfejsu szeregowego dla urządzeń przesyłających dane. W tamtych latach jako „przesyłanie danych” rozumiano przede wszystkim komunikację pomiędzy głównym komputerem mainframe i dołączonymi doń terminalami lub też pomiędzy terminalami, bez angażowania komputera centralnego. Ci przodkowie współczesnego komputera PC byli połączeni ze sobą przeważnie za pomocą linii telefonicznej i modemu. Jakkolwiek jest to bardzo prosta koncepcja, to jednak zamiana sygnału cyfrowego na analogowy, przesłanie go przez linię telefoniczną, a następnie ponowna konwersja do postaci cyfrowej, wiąże się z możliwością powstania licznych błędów transmisji. czytaj więcej
Czasami zaczyna brakować pamięci na program puchnący wraz z wymaganiami klienta, który już nauczył się, że można od mikrokontrolera oczekiwać czegoś więcej i zaczynamy się rozglądać za mikrokontrolerami alternatywnymi. Czasami również jest konieczne zwiększenie szybkości wykonywania programu. Tak było i w moim wypadku: stanąłem przed obiema tymi kwestiami jednocześnie. Używałem AT89S8252 i kod wynikowy programu przekroczył rozmiar pamięci FLASH. Potrzebowałem mikrokontrolera o większej ilości pamięci lub zewnętrznej pamięci programu. Potrzebowałem również większej szybkości CPU, ponieważ niebezpiecznie rozrosły się funkcje realizowane w obsłudze przerwania jednego z Timer’ów. czytaj więcej
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