W wielu zastosowaniach miniaturowy sterownik LOGO! jest bardzo dobrym wyborem. Ma obudowę, wyświetlacz LCD, nieskomplikowaną klawiaturę, wbudowany zegar RTC, a za pomocą LOGO! Soft Comfort można łatwo tworzyć aplikacje. Wejścia analogowe, wyjścia przekaźnikowe lub tranzystorowe świetnie nadają się do realizowania wielu aplikacji w automatyce domowej i nie tylko. Dodatkową zaletą jest możliwość dołączania modułów rozszerzeń, w tym również realizujących złożone funkcjonalności. czytaj więcej
Na "starym" easy-sofcie był artykuł Jacka Domańskiego, który zginął przy przenosinach. Na Waszą prośbę - umieszczam go ponownie. W artykule Jado przedstawia swoje sposoby na programowanie mikrokontrolerów jednoukladowych (8051, PIC i podobne) w języku asemblera - ze szczególnym zwróceniem uwagi na jak najmniejsze obciążenie procesora przez dużą liczbę podprogramów (współdzielenie czasu procesora). Takie podejście sprawia, że układ mikroprocesorowy staje się jakby układem wielozadaniowym, a przy okazji zostaje zminimalizowane niebezpieczeństwo zawieszania się programów i utknięcia całości w martwym punkcie. czytaj więcej
Zegar i termometr są jednymi z najchętniej wykonywanych aplikacji. Jednak tę aplikację wykonałem kierując się nie tyle potrzebą budowy kolejnego czasomierza, ile chęcią wykonania programu demonstrującego sposób, w jaki należy używać opisywanego na tej stronie (>>>kliknij<<<) modułu wyświetlacza alfanumerycznego sterowanego przez doskonałe, bo eliminujące konieczność używania rezystorów ograniczających prąd segmentów, układy scalone typu PR4010 firmy Prema Semiconductor a dostępne np. w ofercie TME. Wyświetlacz jest sterowany przez płytkę ewaluacyjną ZL5MCS51 z mikrokontrolerem AT89C51RD2 (rdzeń 8051) taktowanym zegarem 11,0592MHz. Płytka jest wyposażona w układ scalony zegara czasu rzeczywistego M41T00, który również jest używany w tej aplikacji. czytaj więcej
Język programowania Pascal ma specyficzny typ zmiennych tzw. proceduralny. W dużym uproszczeniu polega on na tym, że odwołanie do zmiennej ma podobne konsekwencje, jak wywołanie procedury. czytaj więcej
Optymalizacja kodu jest procesem, którego celem jest zmiana kodu przy zachowaniu obliczanej funkcji, tak aby przyspieszyć działanie docelowego programu i/lub zmniejszyć jego wielkość. Zwróćmy uwagę, że optymalizacja jest raczej poprawianiem gotowego programu, ponieważ otrzymany kod rzadko jest optymalny. Należy pamiętać, że w optymalizacji powinno uwzględniać się wiele ogólnych warunków. Najważniejszy jest czas działania docelowego programu. Złożony program może pewne fragmenty wykonywać częściej - te powinny być lepiej zoptymalizowane. czytaj więcej
Cyfrowy komparator okienkowy to urządzenie, które można zastosować w wielu aplikacjach. Opisywany prototyp miał służyć do wyłączenia zasilania prasy hydraulicznej w momencie, gdy czujnik tensometryczny przyklejony do jej obudowy odkształci się poza dopuszczalny zakres. W normalnych warunkach pracy może to oznaczać zakleszczenie się lub oderwanie narzędzia. Przy dużych prędkościach automatycznie wykonywanego tłoczenia, taka awaria ma trudne do przewidzenia następstwa. czytaj więcej
Ten artykuł jest związany z poprzednio prezentowanym (>>>TUTAJ<<<), jednak zaproponowano rozwiązanie umozliwiające zaoszczędzenie wyprowadzeń mikrokontrolera. Pole odczytowe wyświetlacza ma 6 cyfr LED, po 7 segmentów każda. Doliczając kropkę dziesiętną można powiedzieć, że wyświetlacz wymaga do sterowania 8 bitów, więc same sterowanie segmentami zajmie jeden pełny port. Jeśli użyjemy metody podobnej do tej z poprzedniego przykładu, to dodatkowo sterowanie tranzystorami kluczami załączającymi napięcie na anody cyfr, będzie wymagać następnych sześciu bitów portu. To już razem 14 linii! A jeśli jeszcze konieczne stanie się jakiś układów zewnętrznych takich, jak na przykład klawiatura? Może braknąć wyprowadzeń mikrokontrolera... Prezentowane rozwiązanie to wynik napotkania przeze mnie w przeszłości podobnego dylematu. Chcę pokazać na praktycznym przykładzie jak można zmierzyć się z tak przedstawionym problemem. Pokażę również jak wykorzystać to rozwiązanie do budowy układu prostego licznika impulsów. Użyję w nim przerwania generowanego przez Timer 1 do obsługi wyświetlacza LED oraz przez opadające zbocze sygnału na wejściu INT0 do zliczania impulsów prostokątnych. Użyję również wskaźników i ich arytmetyki – będzie okazja, co nieco się nauczyć. czytaj więcej
Sterowanie pojedynczą cyfrą LED wymaga dołączenia co najmniej dziewięciu wyprowadzeń. Należy bowiem dołączyć 7 segmentów cyfr, kropkę dziesiętną i wspólną anodę czy katodę wyświetlacza. Z tego osiem wyprowadzeń (segmenty i kropka dziesiętna) musi być połączone z mikrokontrolerem lub innym układem sterującym. Co zrobić, gdy jest niezbędne wyświetlenie liczby na przykład na 6 pozycjach? To aż 48 wyprowadzeń! Mało który mikrokontroler ma ich aż tyle. W takiej sytuacji jedynym ratunkiem jest multipleksowanie cyfr, czyli przełączanie ich w czasie wyświetlania tak, że w danym momencie świeci tylko jedna z nich. Multipleksowanie powinno być robione na  tyle szybko, aby oko ludzkie nie dostrzegało zmian cyfr. Ma się wówczas wrażenie, iż wszystkie cyfry świecą światłem ciągłym. To cała tajemnica. czytaj więcej
Mimo, że ceny graficznych wyświetlaczy LCD ciągle spadają, to koszt wyświetlacza kolorowego jest nadal stosunkowo wysoki. Jeżeli zależy nam na tym by w aplikacji był użyty kolorowy wyświetlacz graficzny o niewielkich rozmiarach ekranu, to zawsze można rozważyć zastosowanie kolorowego wyświetlacza od telefonu komórkowego. Wyświetlacze przeznaczone do telefonów komórkowych są tanie, a część z nich jest dość dobrze udokumentowana. Jednak trzeba pamiętać, że wyświetlacze tego samego modelu telefonu mogą mieć inne różne typy sterowników, a sterowniki montowane w serwisowych zamiennikach wyświetlaczy, nie zawsze są wierną kopią firmowego sterownika. Również elektryczne połączenie wyprowadzeń wyświetlacza z naszym układem sterowania często stanowi nie lada wyzwanie. Różnorodne wyprowadzenia oferowanych wyświetlaczy: złącza, styki, taśmy itp. wymagają zaprojektowania specjalnych płytek drukowanych lub stosowania niestandardowych złącz, co jest dość kłopotliwe, szczególnie w układach prototypowych. Na rynku jest bardzo duża ilość modeli telefonów używających różnych rodzajów wyświetlaczy. Do stosowania we własnych urządzeniach warto wybrać taki, z którym będzie jak najmniej problemów. Powinien być tani, łatwo dostępny i ze znanym sterownikiem. Mój wybór padł na wyświetlacz od telefonu Nokia 6100 (ale również paru innych modeli telefonów tego producenta). czytaj więcej
Wyświetlacze LCD od telefonów komórkowych idealnie nadają się do zastosowania w układach z mikrokontrolerem. Telefon Nokia 3310 nie jest już oferowany przez operatorów sieci komórkowych, ale olbrzymia liczba sprzedanych egzemplarzy spowodowała, że można już za  ok. 10 złotych kupić do niego wyświetlacz oferowany jako część zamienną. Matryca wyświetlacza ma rozdzielczość 84×48 piksele. W trybie tekstowym można wyświetlić 14 znaków w 6 liniach. W porównaniu z możliwościami popularnych wyświetlaczy alfanumerycznych (najczęściej 2×16 lub 2×20 znaków) jest to dosyć sporo. Ponieważ wyświetlacz został zaprojektowany do urządzenia przenośnego, to pole wyświetlania matrycy LCD nie jest zbyt duże (30×24mm). Grubość modułu jest również niewielka (ok. 3 mm). czytaj więcej