Звуки на пике

Mar 04, 2005 2 Replies

Hello All!



В готовый девайс на PIC16F628 необходимо написать приятный на слух звук события, есть лапка RB3, таймер. Код на асме. Пока курю датшиты, поделитесь ссылками на примеры реализации. Писал на AVR, с PIC первый раз, непривычно. Заранее благодарен.



Удачи! Руслан.



Ruslan, ты ещё здесь сидишь?

Суббота Март 05 2005 00:05, Ruslan Polyakov wrote to All:

RP> В готовый девайс на PIC16F628 необходимо написать приятный на слух RP> звук события, есть лапка RB3, таймер.

ШИМ-ом консонансные нотки сыграть...

RP> Код на асме. Пока курю датшиты, поделитесь ссылками на примеры

Тактовая частота? Загруженность процессора во время вывода звука события?

Георгий

RP> В готовый девайс на PIC16F628 необходимо написать приятный на слух RP> звук события, есть лапка RB3, таймер. Код на асме. Пока курю датшиты, RP> поделитесь ссылками на примеры реализации. Писал на AVR, RP> с PIC первый раз, непривычно.

Newsgroups: fido7.ru.embedded From: Kirill Frolov snipped-for-privacy@fk0.pp.ru>

Subject: Re: воспроизвести мелодию на 90S2313 X-Comment-To: George Shepelev Date: Sun, 19 Sep 2004 14:36:27 +0400

Hемедленно нажми на RESET, George Shepelev!

SM>>>> записанный (или синтезируемый из сэмплов) звук. Hе влезет в SM>>>> 2313. AK>>> Ты arcanoid'а, напpимеp, "pазбиpал на запчасти" ? ЖB}}} KF>> Там несколько синтезируемых каналов "прямоугольного синуса", GS> Hа русский переведи, да? ;) GS> Меандр? ШИМ?

Тут уже свихнулись на шиме...

uint8_t da, db, dc;

uint8_t play; t_note *pos;

static void doplay(void) { static uint8_t a, b, c; while(play) { a+=da, outb(a&0x80, beeper), delay(X); b+=db, outb(b&0x80, beeper), delay(X); c+=dc, outb(c&0x80, beeper), delay(Y); }}

static void interrupt(void) { da=pos->a; db=pos->b; dc=pos->c; pos++; }

void player(t_song *p) { pos=p; play=1; enable_interrupts(20Hz); doplay(); disable_interrupts(); }

Да, конечно не HI-FI. Зато в ATTiny влезет...

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required