Menu English Ukrainian Rosyjski Strona główna

Bezpłatna biblioteka techniczna dla hobbystów i profesjonalistów Bezpłatna biblioteka techniczna


ENCYKLOPEDIA RADIOELEKTRONIKI I INŻYNIERII ELEKTRYCZNEJ
Darmowa biblioteka / Schematy urządzeń radioelektronicznych i elektrycznych

Prosty budzik na PIC16F84. Encyklopedia elektroniki radiowej i elektrotechniki

Bezpłatna biblioteka techniczna

Encyklopedia radioelektroniki i elektrotechniki / Zegary, timery, przekaźniki, przełączniki obciążenia

Komentarze do artykułu Komentarze do artykułu

Nie tak dawno zegarki elektroniczne były budowane na tzw. chipach zegarowych serii K176 oraz specjalistycznych chipach serii K145 (K145IK1901) i KR1016 (KR1016VI1). Ich główną wadą są ograniczone możliwości ulepszeń (każda zmiana wymagała dopracowania sprzętu). Pozytywnie wyróżniają się zegarki zmontowane w oparciu o mikrokontroler. Układ jest znacznie uproszczony, a „upgrade” można przeprowadzić bez jakichkolwiek zmian w sprzęcie. Nawet ustawienie częstotliwości zegara może być czysto programowe. To właśnie te zegarki zostały opisane w artykule opublikowanym poniżej.

Proponowany budzik z czterocyfrowym wskaźnikiem LED wykonany jest na bazie mikrokontrolera (MC) i pokazuje czas w formacie 24-godzinnym z nieznacznym wygaszeniem zera w dziesiątkach godzin rozładowania. Istnieje tryb wyświetlania minut i sekund, krótki (trwający 1 s) sygnał dźwiękowy na początku każdej godziny (w razie potrzeby tę funkcję można wyłączyć), dwa alarmy, które można wyłączyć, oraz ustawienie programowe współczynnik korekcji czasu, od którego zależy dokładność zegarka. Wartość współczynnika oraz ustawienia alarmów są zapisywane w pamięci nieulotnej (EEPROM) MK. Stan budzików oraz sygnał „Co godzinę” sygnalizują diody LED.

Schemat ideowy urządzenia pokazano na ryc. 1. Jego podstawą jest mikrokontroler PIC16F84 (DD1), którego częstotliwość roboczą ustawia oscylator z zewnętrznym rezonatorem ZQ1 na 4 MHz. Wejście resetowania MC (MCLR) jest bezpośrednio podłączone do szyny zasilającej +5V.

Prosty budzik na PIC16F84

Pięciobitowy port A, którego wszystkie linie są skonfigurowane do wyjścia, steruje diodą LED HL1 i przełącza cyfry wskaźnika HG1. Cztery najbardziej znaczące bity portu B (RB4-RB7) są skonfigurowane do wprowadzania i odbierania sygnałów sterujących z przycisków SB1-SB4, które są podłączone do pinów bez rezystorów „pull-up”, bo takie są w MK. Bity RB0 i RB1 portu B służą do załadowania do rejestru DD2 siedmioelementowego kodu odpowiadającego wyświetlanej cyfrze. Wyładowanie RB2 jest wyjściem sygnału 3H lub alarmu (w zależności od wersji programu), które można podłączyć bezpośrednio do emitera piezoelektrycznego (ZP-1, ZP-3 i tym podobne), do wejścia wzmacniacza 3H lub do siłownika np. przekaźnika, który w momencie alarmu włączy radio, telewizor lub inne urządzenie.

Diody HL1 i HL2 sygnalizują odpowiednio stan sygnału „Co godzinę” i budzików: HL1 świeci, gdy włączony jest sygnał „Co godzinę”, a HL2 - jeśli włączony jest przynajmniej jeden z budzików lub jeśli oba są włączone.

W urządzeniu zastosowano specjalistyczny zegarowy wskaźnik LED firmy Kingbright, zawierający cztery siedmioelementowe cyfry ze wspólną anodą oraz dwie kropki wskazujące sekundy pomiędzy środkowymi cyframi. Ponieważ wnioski elementów ag są wspólne dla wszystkich cyfr, wskaźnikiem można sterować tylko w trybie dynamicznym. Do tej konstrukcji wskaźnik pasuje idealnie: ilość linii I/O ogólnego przeznaczenia w P1C16F84 MK nie pozwala na wskazanie statyczne, a przy dynamicznym z innym wskaźnikiem konieczne byłoby połączenie wyjść te same elementy różnych cyfr na planszy.

Rezystory R3-R10 ograniczają prąd płynący przez diody sygnalizacyjne. Rejestr przesuwny DD2 został wprowadzony w celu zapisania wyjść MK - konwertuje kod szeregowy na równoległy podczas dynamicznego wskazywania.

Kondensator C4 filtruje tętnienia w obwodzie zasilania MK. Na płytce nie ma na to miejsca, jest wlutowany bezpośrednio do zacisków gniazda MK od strony drukowanych przewodów.

Program sterujący dla MK jest napisany w standardowym asemblerze MPASM firmy Microchip i skompilowany w środowisku MPLAB tej samej firmy. Z 1024 pamięci programu MK wykorzystano około XNUMX, więc istnieją zasoby do poprawy.

Bezpośrednio po włączeniu zasilania następuje inicjalizacja programu sterującego: skonfigurowanie bitów portu dla wejścia i wyjścia, ustawienie trybu pracy timera na 0, ustawienia alarmu oraz współczynnik korekcji czasu odczytywane są z pamięci nieulotnej.

Główne zadanie programu - tworzenie dokładnych przedziałów czasowych o czasie trwania 1 s - jest rozwiązywane za pomocą przerwań od timera 0. Jego pre-healer jest podłączony do oscylatora kwarcowego MK i ustawiony na współczynnik podziału 16. Liczba od 0h do OFh jest wpisywane do rejestru timera 00 podczas każdego przetwarzania przerwania (to i tam jest współczynnik korekcji czasu, w kodzie źródłowym programu nazywa się to TIME_SET), więc timer przepełnia się nie dla 256, ale np. przez 250 cykli zegara (przy TIME_SET=5).

W takim przypadku, gdy używany jest kryształ 4 MHz, przerwania timera 0 występują przy częstotliwości 1 000 000 Hz / 250/16 = 250 Hz. Po inicjalizacji program wchodzi w pętlę, czekając na te przerwania i je zlicza. Kiedy liczba przerwań osiągnie 250, aktualny czas jest zwiększany o jedną sekundę.

Przerwania timera 0 zapewniają również dynamiczne wskazanie. Podczas ich przetwarzania MK ustawia poziom zerowy na kołkach RA0-RA3 i tym samym gaśnie wskaźnik. Ponadto siedmioelementowy kod odpowiadający znakowi, który ma być wyświetlony, jest ładowany do rejestru DD2 przez piny MK RB0 i RB1. Następnie na jednym z pinów RAO-RA3 ustawiany jest wysoki poziom logiczny, dzięki czemu zapala się jedna ze znajomych przestrzeni. Wszystko to dzieje się 250 razy na sekundę, a dzięki bezwładności wzroku użytkownik widzi wszystkie włączone wyładowania jednocześnie.

Wysoki bit kodu załadowany do rejestru DD2 służy do sterowania drugimi punktami wskaźnika, które migają z częstotliwością 1 Hz. W ten sposób za pomocą przerwań z timera 0 dwa zadania są rozwiązywane jednocześnie. Dodatkowo w procedurze obsługi przerwania MK sprawdza czy cyfra wyjściowa jest nieznaczącym zerem w lewej cyfrze, a jeśli tak to zamiast siedmioelementowego kodu cyfry O, MK ładuje liczbę binarną 11111111 do rejestru (wskaźnik ze wspólną anodą, więc jeden odpowiada wygaszonemu segmentowi).

Klawiatura jest odpytywana około 10 razy na sekundę, ale po pierwszym naciśnięciu niektórych przycisków i ich kombinacji program nie reaguje na kolejne naciśnięcia przez 1 s (na przykład, jeśli przyciski są wciśnięte). Jest to konieczne dla wygody zarządzania zegarem.

Prosty budzik na PIC16F84

Gdy włączy się alarm, na wyjściu RB2 przez 1 minutę pojawia się przerywany sygnał 3H lub w zależności od wersji programu wysoki poziom (dokładniej impulsy o częstotliwości powtarzania 1 Hz). Diody LED HL1 i HL2 migają. Po minucie wywoływany jest specjalny podprogram, który przywraca prawidłowe świecenie diod.

Sterowanie urządzeniem odbywa się za pomocą przycisków SB1-SB4, z których każdy łączy w sobie kilka funkcji (patrz schemat mnemoniczny pokazany na rys. 2). Zegar pracuje w trzech trybach: podstawowym (wskazanie aktualnego czasu), ze współczynnikiem korekty czasu oraz trybem ustawiania alarmów.

W trybie głównym wskaźnik HG1 wyświetla godziny i minuty, natomiast drugie punkty migają z częstotliwością 1 Hz. Aktualny czas ustawia się przyciskami SB1 (godziny) i SB2 (minuty): każde ich naciśnięcie zwiększa odczyty o jeden, a jeśli odbywa się to z naciśnięciem SB4, to zmniejsza. Kiedy cyfry minut osiągną wartość zero, przejście do cyfry godzin nie następuje.

Jeśli przytrzymasz przycisk SB4 przez trzy sekundy, wskaźnik wyświetli minuty i sekundy bieżącego czasu zamiast godzin i minut.

Sygnał „Co godzinę” włącza się i wyłącza przyciskiem SB3 przy jednoczesnym trzymaniu SB4 (odpowiednio zapala się lub gaśnie dioda HL1).

Aby przejść do trybu ustawiania alarmu, naciśnij przycisk SB3. Na wskaźniku pojawiają się wskazania pierwszego alarmu, drugie kropki świecą w sposób ciągły. Godziny i minuty ustawia się tymi samymi przyciskami SB1 i SB2 (w tym przypadku tylko wzrost odczytów). Naciśnięcie przycisku SB4 wyłącza alarm, a na wskaźniku pozostają tylko kreski (świecą się elementy G). Przy kolejnym włączeniu alarmu na wskaźniku pojawia się ten sam przycisk, a do rejestrów alarmów zapisywane są zera (a nie poprzednie wartości). Po ponownym naciśnięciu przycisku SB3 wskazania drugiego alarmu pojawią się na wskaźniku, ale drugie punkty zgasną. Oba alarmy są konfigurowane w ten sam sposób.

Trzecie naciśnięcie przycisku SB3 wprowadza zegar w tryb pracy ze współczynnikiem korekcji czasu: na wskaźniku pojawiają się symbole „EE X”, gdzie EE oznacza pamięć EEPROM, a X to aktualna wartość współczynnika w postaci szesnastkowej; drugie kropki nadal migają. Przyciskiem SB1 można zwiększać, a przyciskiem SB2 zmniejszać wartość współczynnika w zakresie od Oh do Fh. Ustawiony numer zostanie zapisany do timera 0 w procedurze przepełnienia timera.

Po czwartym naciśnięciu przycisku SB3 ustawienia alarmu i wartość współczynnika zapisywane są do pamięci EEPROM: pierwszy budzik - pod adresami 02h-05h (odpowiednio minuty, dziesiątki minut, godziny i dziesiątki godzin), drugi - pod adresami 06h-09h (w tej samej kolejności), współczynnik - o 01 godz.

Urządzenie montuje się na płytce drukowanej wykonanej zgodnie z rysunkiem pokazanym na rys. 3 (linie przerywane przedstawiają zworki łączące drukowane przewody po przeciwnej stronie płytki).

Prosty budzik na PIC16F84

Bez żadnych zmian w obwodzie i programie MK możesz użyć PIC16C84 - jednorazowego programowalnego analogu PIC16F84. Wskaźnik wskazany na schemacie można zastąpić dowolnym innym czterocyfrowym ze wspólną anodą (pożądane jest, aby wnioski elementów wyładowań o tej samej nazwie były połączone wewnątrz wskaźnika). Dopuszczalne jest zastosowanie czterech jednocyfrowych wskaźników, w tym przypadku jako drugi punkt można zastosować dwie osobne diody LED, połączone katodami z prawym (zgodnie ze schematem) zaciskiem rezystora R10 (w razie potrzeby za pomocą klawisza na tranzystor). Rezystory, kondensatory, diody LED, przyciski - wszelkie małe.

Dla zegarka opracowano trzy wersje programu sterującego. Wersja 1.10 jest wersją główną (jej plik HEX podano w tabeli). Gdy włączą się alarmy, na wyjściu RB2 pojawia się sygnał (meander) o częstotliwości 1 Hz. Może być wykorzystany do sterowania różnymi elementami wykonawczymi i generatorami sygnałów 3H: od najprostszych na dwóch lub trzech elementach logicznych po złożone układy cyfrowej syntezy dźwięku [1, 2]. Dynamiczne wskazanie w tej wersji działa cały czas.

Prosty budzik na PIC16F84
(kliknij, aby powiększyć)

W wersji 1.11 również sygnalizacja działa w sposób ciągły, jednak w momencie wyłączenia się alarmów i wygenerowania sygnału „Co godzinę” na wyjściu RB2 pojawiają się impulsy o częstotliwości powtarzania 1 Hz (częstotliwość oscylacji wypełniających impulsy odpowiadają częstotliwości przerwań z timera 0 - 250 Hz). Sygnał ten można podać bezpośrednio do emitera lub na wejście wzmacniacza 3H.

Wersja 1.20 różni się od 1.11 tylko tym, że domyślnie wyświetlanie dynamiczne jest wyłączone (podczas gdy wszystkie inne funkcje zegara działają w trybie normalnym). Zaczyna działać po naciśnięciu przycisku SB4 i automatycznie wyłącza się po 10 sekundach. Gdy naciśniesz przyciski i włączy się alarm, odliczanie tego interwału rozpocznie się ponownie. Jeśli alarm zadziałał, gdy wskaźnik jest wyłączony, nie włącza się: należy dwukrotnie nacisnąć przycisk SB4, aby wyłączyć alarm i włączyć wskaźnik. Zaleca się korzystanie z tego programu, jeśli zegarek jest zasilany baterią złożoną z ogniw lub akumulatorów galwanicznych: wyłączenie wyświetlacza oszczędza energię baterii.

Podczas programowania MK typ generatora jest wskazany w słowie konfiguracyjnym - XT, Timer załączenia - włączony, timer watchdog i zabezpieczenie kodem - wyłączone. Dodatkowo w komórce 01h nieulotnej pamięci danych należy wpisać liczbę od Oh do Fh (współczynnik korekcji czasu) oraz ustawienia alarmów pod adresami 02h-09h.

Jeśli programowe ustawienie dokładności zegara okaże się zgrubne (co jest całkiem prawdopodobne), należy zainstalować kondensator strojenia C3 pokazany na schemacie liniami przerywanymi (jest na to miejsce na płytce drukowanej).

Pliki HEX wersji programu 1.11 i 1.20 oraz teksty źródłowe wszystkich wersji

literatura

  1. Długie A. Jak zapisać dane audio z pliku wav do pamięci ROM i „odtworzyć” je. - Radio, 2001, nr 4, s. 25-27; nr 5, s. 23, 24.
  2. Części A. Jednoukładowy moduł dźwiękowy. - Radio, 2002, nr 11, s. 40, 41.
  3. Prozhirko Yu Elektroniczny budzik z odbiornikiem radiowym. - Radio, 2001, nr 7, s. 16, 17; nr 8, s. 17, 18.

Autor: A. Vakulenko, Tiumeń

Zobacz inne artykuły Sekcja Zegary, timery, przekaźniki, przełączniki obciążenia.

Czytaj i pisz przydatne komentarze do tego artykułu.

<< Wstecz

Najnowsze wiadomości o nauce i technologii, nowa elektronika:

Hałas drogowy opóźnia rozwój piskląt 06.05.2024

Dźwięki, które otaczają nas we współczesnych miastach, stają się coraz bardziej przeszywające. Jednak niewiele osób myśli o tym, jak ten hałas wpływa na świat zwierząt, zwłaszcza na tak delikatne stworzenia, jak pisklęta, które nie wykluły się jeszcze z jaj. Najnowsze badania rzucają światło na tę kwestię, wskazując na poważne konsekwencje dla ich rozwoju i przetrwania. Naukowcy odkryli, że narażenie piskląt zebry rombowatej na hałas uliczny może spowodować poważne zakłócenia w ich rozwoju. Eksperymenty wykazały, że zanieczyszczenie hałasem może znacznie opóźnić wykluwanie się piskląt, a pisklęta, które się wykluwają, borykają się z szeregiem problemów zdrowotnych. Naukowcy odkryli również, że negatywne skutki zanieczyszczenia hałasem rozciągają się na dorosłe ptaki. Zmniejszone szanse na rozrodczość i zmniejszona płodność wskazują na długoterminowe skutki, jakie hałas drogowy wywiera na dziką przyrodę. Wyniki badania podkreślają taką potrzebę ... >>

Bezprzewodowy głośnik Samsung Music Frame HW-LS60D 06.05.2024

W świecie nowoczesnych technologii audio producenci dążą nie tylko do nienagannej jakości dźwięku, ale także do łączenia funkcjonalności z estetyką. Jednym z najnowszych innowacyjnych kroków w tym kierunku jest nowy bezprzewodowy system głośników Samsung Music Frame HW-LS60D, zaprezentowany podczas wydarzenia World of Samsung 2024. Samsung HW-LS60D to coś więcej niż tylko system głośników, to sztuka dźwięku w stylu ramki. Połączenie 6-głośnikowego systemu z obsługą Dolby Atmos i stylowej konstrukcji ramki na zdjęcia sprawia, że ​​produkt ten będzie idealnym dodatkiem do każdego wnętrza. Nowa ramka Samsung Music Frame jest wyposażona w zaawansowane technologie, w tym Adaptive Audio zapewniający wyraźne dialogi na każdym poziomie głośności oraz automatyczną optymalizację pomieszczenia w celu uzyskania bogatej reprodukcji dźwięku. Dzięki obsłudze połączeń Spotify, Tidal Hi-Fi i Bluetooth 5.2, a także integracji inteligentnego asystenta, ten głośnik jest gotowy, aby zaspokoić Twoje ... >>

Nowy sposób kontrolowania i manipulowania sygnałami optycznymi 05.05.2024

Współczesny świat nauki i technologii rozwija się dynamicznie i każdego dnia pojawiają się nowe metody i technologie, które otwierają przed nami nowe perspektywy w różnych dziedzinach. Jedną z takich innowacji jest opracowanie przez niemieckich naukowców nowego sposobu sterowania sygnałami optycznymi, co może doprowadzić do znacznego postępu w dziedzinie fotoniki. Niedawne badania pozwoliły niemieckim naukowcom stworzyć przestrajalną płytkę falową wewnątrz falowodu ze stopionej krzemionki. Metoda ta, bazująca na zastosowaniu warstwy ciekłokrystalicznej, pozwala na efektywną zmianę polaryzacji światła przechodzącego przez falowód. Ten przełom technologiczny otwiera nowe perspektywy rozwoju kompaktowych i wydajnych urządzeń fotonicznych zdolnych do przetwarzania dużych ilości danych. Elektrooptyczna kontrola polaryzacji zapewniona dzięki nowej metodzie może stanowić podstawę dla nowej klasy zintegrowanych urządzeń fotonicznych. Otwiera to ogromne możliwości dla ... >>

Przypadkowe wiadomości z Archiwum

Pojemność dysków optycznych drastycznie wzrośnie 20.08.2008

Laboratoria Pioneera opracowały optyczny nośnik danych o niespotykanej pojemności 400 GB.

Specjaliści Pioneer nie dokonali rewolucji technicznej, a jedynie zwiększyli liczbę warstw do 16 i stworzyli efektywny algorytm odczytu danych z głębokich warstw. Udało się to osiągnąć dzięki specjalnej konstrukcji dysku oraz odpowiedniej regulacji układu optycznego głowicy czytającej.

Sprzętowe wypełnienie nowości nie różni się zbytnio od tego w nowoczesnych odtwarzaczach Blu-ray. Możesz liczyć na kompatybilność wsteczną.

Obecnie trwają prace nad stworzeniem płyty wielokrotnego zapisu o tym samym rozmiarze.

Inne ciekawe wiadomości:

▪ Wafle 450 mm i litografia twarda UV

▪ Opaska na nadgarstek z mikrofonem ultradźwiękowym

▪ Dyski samochodowe Samsung 256 GB UFS

▪ Magnes przeciwzakrzepowy

▪ Nauka online jest bardziej efektywna niż tradycyjna

Wiadomości o nauce i technologii, nowa elektronika

 

Ciekawe materiały z bezpłatnej biblioteki technicznej:

▪ Dział serwisu Materiały elektrotechniczne. Wybór artykułów

▪ artykuł Nasz Mirabeau. Popularne wyrażenie

▪ artykuł Który zespół zatrudnił gitarzystę głównie do kupowania alkoholu dla reszty zespołu? Szczegółowa odpowiedź

▪ artykuł Zwolnienie za naruszenie w dziedzinie ochrony pracy

▪ artykuł Prosta elektroniczna wędka. Encyklopedia elektroniki radiowej i elektrotechniki

▪ artykuł Kubik znika. Sekret ostrości

Zostaw swój komentarz do tego artykułu:

Imię i nazwisko:


Email opcjonalny):


komentarz:





Wszystkie języki tej strony

Strona główna | biblioteka | Artykuły | Mapa stony | Recenzje witryn

www.diagram.com.ua

www.diagram.com.ua
2000-2024