Multipleksowanie wyśw. LED, a DS18B20 ??

Apr 10, 2005 3 Replies

Cześć! Mam problem z pogodzeniem obsługi 4 wyświetlaczy LED (multipleksowanych za pomocą ATMEGA32) i odczytem temperatury z Dallasa :( Programuje w BascomieAVR. Jest możliwość korzystania z obsługi przerwań (TIMER0) w celu multipleksowania wyświetlaczy i równocześnie "rozmawiać" szyną 1wire z czujnikiem DS18B20 bez konieczności wyłączenia wyświetlaczy na czas odczytu temp??



Dzięki za pomoc Pozdrawiam Marcin


Jest taka możliwość jeśli będziesz sprzętowo odmierzał czas impulsów na szynie 1wire. Można to zrobić np. portem szeregowym. Możesz też blokować przerwania tylko na czas transmisji pojedynczego bitu zamiast na czas trwania całej transmisji. Ja wybrałem to drugie rozwiązanie i efekt jest całkiem dobry.

Sam teraz chce sobie zrobic temp z LED multipleksowanymi i DS'em - co oznacza "calkiem dobry" ?? :)

Ja mam troszkę inny układ. Steruję matrycą led 65x21 pikseli, do tego odczyt temperatury jest zsynchronizowany z odświeżaniem (bo temperatura wraz z datą jest wyświetlana na "płynącej linijce"). A "całkiem dobry" oznacza, że jak ktoś nie wie to nie zauważy, że czasem w momencie odczytu temperatury jeden wiersz matrycy przez moment świeci odrobinę ciemniej. Jednak u mnie wrzucanie danych na wyświetlacz zajmuje bardzo dużo czasu. Przy wyświetlaczu siedmiosegmentowym efekt może być niezauważalny.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required