Bezpłatna biblioteka techniczna ENCYKLOPEDIA RADIOELEKTRONIKI I INŻYNIERII ELEKTRYCZNEJ Timer na mikrokontrolerze. Encyklopedia elektroniki radiowej i elektrotechniki Encyklopedia radioelektroniki i elektrotechniki / Zegary, timery, przekaźniki, przełączniki obciążenia Omawiany timer ma dwa tryby odliczania dla przedziałów czasowych od 1 do 999 minut lub taką samą liczbę sekund. Schemat urządzenia pokazano na rysunku. Posiada przełącznik SA1, za pomocą którego można wybrać w jakich jednostkach, minutach lub sekundach będzie zliczany, przyciski sterujące SB1-SB3, trzycyfrowy wskaźnik LED HG1 (liczba setek) - HG3 (liczba jednostek). Po włączeniu timera obwód RC R2C3 generuje impuls, który ustawia mikrokontroler DD1 (AT90S2313-10PI) do stanu początkowego. Podczas ustawiania czasu trwania generowanego czasu otwarcia migawki każde naciśnięcie przycisku SB1 (L) zwiększa odczyty wskaźnika o jeden. Jeśli przytrzymasz ten przycisk dłużej niż 3 sekundy, wartość na wskaźniku będzie wzrastać o 5 jednostek (minut lub sekund) co sekundę. Przycisk SB2 (V) działa podobnie do przycisku SB1, ale wartość na wskaźniku nie wzrasta, ale maleje. Po osiągnięciu wartości 999 lub 0 dalsza zmiana odczytów w odpowiednim kierunku jest automatycznie blokowana. Wybierając przełącznik SA1, czas będzie liczony w minutach lub sekundach i ustawiając żądany czas ekspozycji przyciskami SB1 i SB2, należy wcisnąć przycisk SB3 (C). Od tego momentu uruchamia się timer - stan wysoki na wyjściu PD6 mikrokontrolera jest zastępowany stanem niskim, na siłownik podłączony do złącza X2 podawane jest napięcie, co sygnalizowane jest lampką neonową HL1 (z wbudowaną rezystor balastowy) i rozpoczyna się odliczanie ustawionego czasu. Liczba wyświetlana na wskaźniku zmniejsza się o jeden co minutę lub sekundę. Punkt dziesiętny w cyfrze jednostek miga z okresem 1 sekundy. Gdy tylko odczyt wskaźnika osiągnie zero, niski poziom na wyjściu PD6 ponownie stanie się wysoki, co spowoduje wyłączenie siłownika. Dodatkowo w trybie zliczania minut w tym momencie na wyjściu PD4 zostanie wygenerowana sekwencja impulsów o czasie trwania 60 s - rozlegnie się sygnał dźwiękowy. Urządzenie powróci do swojego pierwotnego stanu. Aby zakończyć czas otwarcia migawki przed czasem, naciśnij ponownie przycisk SB3 - siłownik zostanie wyłączony. Aby wygenerować nowy czas otwarcia migawki, musisz ponownie ustawić jego czas trwania. Jednostka sterująca siłownika jest zamontowana na przekaźniku półprzewodnikowym U1, którego dioda nadawcza jest podłączona do wyjścia PD6 mikrokontrolera. Dzięki temu obwody przekaźników podłączone do sieci 220 V są odizolowane od reszty obwodów czasowych. Do wyjścia PD1 dołączony jest piezoelektryczny emiter HA4, który daje sygnał dźwiękowy na koniec naświetlania. Na wyjściach portu B mikrokontroler DD1 generuje sygnały, które są doprowadzone przez rezystory ograniczające prąd R4-R11 do katod elementów wskaźników LED HG1-HG3 oraz sygnały służące do określenia stanu przycisków SB1- SB3. Drugie piny wszystkich przycisków są ze sobą połączone i podłączone do wejścia PD3 mikrokontrolera. Diody VD1-VD3 zapobiegają zwarciom między liniami portu B przy jednoczesnym wciśnięciu kilku przycisków. Tranzystory VT1-VT3, sterowane sygnałami z wyjść PDO-PD2, naprzemiennie łączą wspólne anody wskaźników HG1-HG3 ze źródłem zasilania, które jest wymagane do organizacji wskazań dynamicznych. Częstotliwość taktowania mikrokontrolera DD1 jest ustawiana przez rezonator kwarcowy ZQ1 równy 10 MHz. Program załadowany do mikrokontrolera timera, którego kod źródłowy dostępny jest w załączniku do artykułu, składa się z trzech głównych części: modułu inicjującego (etykieta INIT), głównej pętli nieskończonej (etykieta SE1) oraz timera T/C1 obsługa przerwań (etykieta TIM0). Rozpoczyna pracę od inicjalizacji rejestrów, liczników, stosu, timera T/C1, timera watchdoga, portów I/O. Po zakończeniu inicjalizacji na wskaźniku wyświetla się liczba 001, wszystkie kropki dziesiętne są wyłączone, wyjście PD6 jest ustawione na wysoki poziom, więc obwód siłownika jest otwarty. Odliczanie zostało zatrzymane. Zadanie tworzenia dokładnych przedziałów czasowych o czasie trwania 1 s jest rozwiązywane za pomocą przerwań z timera T / C1, dla których żądania następują co 3,9 ms (1/256 s). Są one zliczane przez licznik w rejestrze r25. Za pomocą licznika zorganizowanego w rejestrze r21 tworzony jest odstęp 1 minuty. W procesie przetwarzania przerwań bit wyświetlany na wskaźniku jest również zmieniany, a wartość binarna cyfry wyświetlanej w tym bicie jest zamieniana na kod „siedmiosegmentowy”. Dodatkowo odpytywany jest stan przycisków, generowane są sygnały sterujące dla przekaźnika optoelektronicznego i sygnalizatora dźwiękowego. W pamięci danych mikrokontrolera od adresu $060 do $062 zorganizowany jest bufor przechowujący wartość przedziału czasu pozostałego do końca ekspozycji. To z niego obsługa przerwań pobiera liczby do dynamicznego wyjścia do wskaźnika. Po naciśnięciu przycisku SB1 wartość zapisana w buforze zostaje zwiększona o jeden. Jednocześnie uruchamiany jest licznik sekund w rejestrze r1. Jeśli przycisk zostanie przytrzymany dłużej niż 3 sekundy, wartość w buforze zaczyna rosnąć o jeden pięć razy na sekundę. W rejestrze rg jest zorganizowana liczba przedziałów czasowych, w których występuje ten wzrost. Po zwolnieniu przycisku SB1 liczniki w rejestrach r1 i rO są wyzerowane. Zupełnie podobnie zorganizowana jest obsługa naciśnięcia przycisku SB2, który zmniejsza liczbę w buforze. Liczniki czasu dla tego przycisku znajdują się w rejestrach r2 i rXNUMX. W procesie zliczania określonego czasu otwarcia migawki, liczba w buforze jest zmniejszana (zmniejszana o jeden) co minutę lub sekundę, w zależności od położenia przełącznika SA1. Pamiętaj, że jeśli przesuniesz go do innej pozycji przed końcem określonego opóźnienia, okres zmniejszania się odpowiednio zmieni. Rejestr r22 przechowuje kod binarny z jednostką w bicie odpowiadającym aktualnie włączonemu bitowi wskaźnika. Podczas inicjalizacji zapisywany jest do niego 00000001 (wskaźnik HG3 jest włączony), a adres początkowy bufora ($060) jest zapisywany w rejestrze Y. Za każdym razem, gdy wywoływana jest procedura przerwania, rejestr r22 jest przesuwany o jeden bit w lewo, a rejestr Y jest zwiększany. Oczywiste jest, że jak tylko jednostka w rejestrze r22 zostanie przesunięta na trzecią cyfrę (wszystkie wskaźniki zostaną przekazane), rejestry r22 i Y powinny zostać przeładowane, przywracając ich pierwotne wartości. W momencie odpytywania stanu przycisków SB1-SB3 wszystkie wskaźniki wyłączają się, a na wyjściach PB0-РВ2 mikrokontrolera tworzony jest kod „zerowy”. Po wykryciu niskiego poziomu na wejściu PD3 i wiedzy, które z wyjść PB0-PB2 jest aktualnie niskie, procedura przerwania decyduje, który przycisk zostanie naciśnięty. Cały program zajmuje około 670 bajtów pamięci programu mikrokontrolera. Timer montowany jest na płytce stykowej umieszczonej w plastikowej obudowie, na przednim panelu której wyświetlane są wskaźniki HG1-HG3, przyciski SB1-SB3, przełącznik SA1 i neonówka HL1. Prąd pobierany ze źródła napięcia 5 V nie przekracza 100 mA.
Program mikrokontrolera można pobrać stąd. Autor: S. Shishkin, Sarow, obwód Niżny Nowogród; Publikacja: radioradar.net Zobacz inne artykuły Sekcja Zegary, timery, przekaźniki, przełączniki obciążenia. Czytaj i pisz przydatne komentarze do tego artykułu. Najnowsze wiadomości o nauce i technologii, nowa elektronika: Nowy sposób kontrolowania i manipulowania sygnałami optycznymi
05.05.2024 Klawiatura Primium Seneca
05.05.2024 Otwarto najwyższe obserwatorium astronomiczne na świecie
04.05.2024
Inne ciekawe wiadomości: ▪ Inteligentny zegarek morski Garmin Quantix 5 ▪ Nowe telewizory projekcyjne Toshiba ▪ Nowy rodzaj nanopułapek do badania właściwości białek ▪ Czujniki obrazu widzialnego i podczerwonego w jednym chipie Wiadomości o nauce i technologii, nowa elektronika
Ciekawe materiały z bezpłatnej biblioteki technicznej: ▪ sekcja serwisu dla lubiących podróżować - wskazówki dla turystów. Wybór artykułów ▪ artykuł Zanieczyszczenie atmosfery aerozolami. Podstawy bezpiecznego życia ▪ Dlaczego dyrektor John Ford stracił usługę prognozowania pogody? Szczegółowa odpowiedź ▪ artykuł Nasiona kolendry. Legendy, uprawa, metody aplikacji ▪ artykuł Stabilizator temperatury i wilgotności. Encyklopedia elektroniki radiowej i elektrotechniki ▪ artykuł Jak odczytać obwód swojego odbiornika. Encyklopedia elektroniki radiowej i elektrotechniki
Zostaw swój komentarz do tego artykułu: Wszystkie języki tej strony Strona główna | biblioteka | Artykuły | Mapa stony | Recenzje witryn www.diagram.com.ua |