Rutr Napisano Październik 13, 2011 Udostępnij Napisano Październik 13, 2011 Zrobiłem wyświetlacz 4-cyfrowy 7-segmentowy, sterowany multiplexowo. Szukałem na internecie i nigdzie nie znalazłem opisu przerwań. Proszę o pomoc jak ustawić tak żeby co kilka ms wykonywał się kod przerwania. Wiem że trzeba ustawić jakieś rejestry, tylko nie wiem które, i co określają. Z góry dzięki za pomoc. Cytuj Link do komentarza Share on other sites More sharing options...
dmmps Październik 13, 2011 Udostępnij Październik 13, 2011 Link W miarę prosto wyjaśnione wszystko. 1 Cytuj Link do komentarza Share on other sites More sharing options...
Sabre Październik 13, 2011 Udostępnij Październik 13, 2011 Wszystko ładnie pięknie jest opisane w powyższym linku poza jedną rzeczą. Niestety jest tam błąd rozumowania przez co później komuś wyjdą głupoty. Chodzi o informację jak uzyskać np. częstotliwość migania diody równą 1Hz a wynikiem jest w rzeczywistości miganie z częstotliwością 0,5Hz (1 sekunda świecenia i 1 sekunda dioda zgaszona), cały ten artykuł opiera się na błędnym założeniu, autor chyba zapomniał że okres to nie czas tylko włączenia diody a i włączenia i wyłączenia. Cytuj Link do komentarza Share on other sites More sharing options...
Rutr Październik 13, 2011 Autor tematu Udostępnij Październik 13, 2011 Dzięki Wielkie! O to mi chodziło. Chyba znalazłem więcej błędów. Preskaler dzieli impulsy zegara czy je zlicza? Preskaler jest częścią obwodu timera, który pozwala dzielić impuls zegarowy liczbą o podstawie dwa (2^n), redukując rozdzielczość ale rozszerzając zakres. Ostatnia część zdania jest błędna (odwrotna) do tego co ją poprzedza. Odmierzony odstęp czasu = (1 / częstotliwość zegara)/Preskaler = (Preskaler / częstotliwość zegara) Tu tak samo, ostanie wyrażenie nie jest równe przedostatniemu. Z reszty artykułu mogę wnioskować, że preskaler liczy wiele impulsów i przekazuje je do timera jako jeden, a prawidłowy wzór to Odmierzony odstęp czasu = (1 / częstotliwość zegara)*Preskaler = (Preskaler / częstotliwość zegara) Mam rację? Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
GAndaLF Październik 13, 2011 Udostępnij Październik 13, 2011 Zdanie o preskalerze, które cytujesz jest błędne ale twoja interpretacja również. Preskaler nie dzieli impulsu tylko dzieli częstotliwość. Jeżeli nominalna częstotliwość to 1MHz to przy preskalerze 1 częstotliwość inkrementowania timera będzie wynosić również 1MHz, przy preskalerze 2 - 500kHz, przy 8 125kHz itd. Cytuj Link do komentarza Share on other sites More sharing options...
Rutr Październik 13, 2011 Autor tematu Udostępnij Październik 13, 2011 W orginale pisze że dzieli, ja napisałem ze zlicza wiele i podaje jako jeden impuls. Jeżeli ustawie TCCR0 (atmega8) na preskaler 8, to timer wystartuje, tak? jak dojedzie do 0xFF to automatycznie zacznie od nowa czy się wyzeruje i wyłączy? Cytuj Link do komentarza Share on other sites More sharing options...
GAndaLF Październik 13, 2011 Udostępnij Październik 13, 2011 Mają racje z dzieleniem ale to częstotliwość jest dzielona a nie impuls. Z resztą wyrażenie dzielenie impulsu jest nieprecyzyjne bo co w nim dokładnie jest dzielone? Okres? Nie jesteśmy w stanie tego jednoznacznie stwierdzić. Jeżeli ustawisz preskaler na wartość różną od 0 to timer zacznie zliczać i po przepełnieniu będzie pracował od początku. W międzyczasie może wywoływać przerwanie, generować na odpowiednim pinie sygnał PWM itp w zależności od konfiguracji. Cytuj Link do komentarza Share on other sites More sharing options...
dondu Październik 13, 2011 Udostępnij Październik 13, 2011 Skoro tak dokładnie rozpatrujecie słownictwo związane z preskalerem i dzieleniem, to przy okazji wyżyjcie się na tym artykule: http://mikrokontrolery.blogspot.com/2011/03/prescaler-postscaler-co-to.html Będę wdzięczny 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!