realizacja dźwięku buzzera różnych częstotliwości z różnym odstępem czasowym.

Nov 23, 2005 6 Replies

Nie chcę angażować uK do takiego zadania bo to kolejne pare zetek....



Chodzi o to by buzzer dawał dźwięk trwający określony czas(np 50ms) z tym ,że ze zmienną przerwą i zmienną wysokością dźwięku, sterowane z uK, który ma ważniejsze zadania. Na razie przychodzi mi do głowy tylko wysłanie informacji o przerwie i wysokości dźwięku do drugiego uK i realizacja dźwięku przez ten drugi uK. Drugi pomysł to uruchamianie i wyłączanie ne555, ale o nim mało wiem i wydaje mi sie że można by jedynie ustawić jedną wysokość dźwięku, a odstępem sterować poprzez przerwania w uK, ale to nie to....Może PWM, ale jak?Pomocy... Z góry dzięki.



Użytkownik "Michał T" snipped-for-privacy@NOSPAMepf.pl napisał w wiadomości news:dm1edk$gh7$ snipped-for-privacy@nemesis.news.tpi.pl...

Jeśli masz wolny timer z PWM to wykorzystaj go i odstępem oraz czasem steruj przez przerwania. Przy odpowiedniej strukturze przerwań (tzn jedno główne przerwanie timerowe do robienia właśnie m. in. takich rzeczy) nie obciąży to zbytnio procesora. W przerwaniu będziesz tylko zliczał czas do włączenia lub wyłączenia timera PWM i robił to jeśli zajdzie potrzeba. Właśnie na tym polega umiejętność programowania mikrokontrolerów, by pogodzić te "ważniejsze" zadania z tymi "mniej ważnymi" - obsługą klawiatury, portów, sygnalizacją, buzerami i żeby oprócz tego, że urządzenie wykonuje "super ważne" rzeczy było jeszcze sympatyczne w obsłudze.

A co z wysokoscia dxwieku? :-(

To zależy ile tych tonów potrzebujesz i czy mają się trzymać konkretnej gamy czy różnić się po prostu od siebie.

sword

hmmm 3-5 tonów , różniących się po prostu od siebie tak by zwykły śmiertelnik je odróżniał...

Użytkownik "Michał T" snipped-for-privacy@NOSPAMepf.pl napisał w wiadomości news:dm1gvo$h3a$ snipped-for-privacy@atlantis.news.tpi.pl...

We wszystkich znanych mi procesorach podstawą PWM jest timer, który samoczynnie przeładowywuje się ustaloną wartością po przepełnieniu lub po wyzerowaniu licznika. Zmieniając tą wartość można zmieniać częstotliwość. Dla uzyskania najgłośniejszego tonu dobrze by było zmieniać jeszcze rejestr odpowiedzialny za wypełnienie, tak by uzyskać 50%.

No to spokojnie da się to wygenerować w przerwaniu dowolnego timera + jakieś softwarowe liczniki i zintegrować z całym systemem. Druga opcja jak już zostało powiedziane to na liczniku PWM.

sword

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required