Нужен на линии порта сигнал, чтобы пищал динамик (через ключевой транзистор, естессно). Как я понял, нужно изменить длительность импульсов. Устроит соотношение период/длительность = 1/1
А как такое сделать программно? С частотой около 1 кГц.
Генерация звукового сигнала с помощью TMR2 (PIC16, С)
- Ghost in shell
- Держит паяльник хвостом
- Сообщения: 931
- Зарегистрирован: Пн июн 15, 2009 06:01:38
- Откуда: USSR
Генерация звукового сигнала с помощью TMR2 (PIC16, С)
Кот гуляет сам по себе, но вблизи холодильника.
- hiddenrain
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Вс авг 12, 2007 20:52:41
Re: Генерация звукового сигнала с помощью TMR2 (PIC16, С)
Нужно знать частоту задающего генератора контроллера подсчитать такты для выполнения команд на програмном цикле вывода 1\0 на порт для динамика и в соответствии с этим подобрать циклы задержки в програмном коде. Хотя куда проще организовать с кнопки регулирование цикла задержки и в соответствии с этим опытным путем подобрать его а уж потом можно его и константным сделать.
Выриант 2 создать 1кгц генератор )))) и подключить его к входу прерывания контроллера а тот уже будет по прерыванию выводить 1\0 на динамик )))))))))))
Выриант 2 создать 1кгц генератор )))) и подключить его к входу прерывания контроллера а тот уже будет по прерыванию выводить 1\0 на динамик )))))))))))
Даже усвоив все изречения мудрецов и святых, не стоит упорно за них цепляться.
- Ghost in shell
- Держит паяльник хвостом
- Сообщения: 931
- Зарегистрирован: Пн июн 15, 2009 06:01:38
- Откуда: USSR
Re: Генерация звукового сигнала с помощью TMR2 (PIC16, С)
Нужно знать частоту задающего генератора контроллера
TMR2 настроен на 3900 Hz. Затем в обработчике прерываний делаю
первых 8 прерываний RC3 = 0,
8 следующих прерываний RC3 = 1.
И так по циклу.
Гудит громче, но все равно слабо. На базу 315-го транзистора подается через диод. С базы на массу сидит неполярный кондер 1 мкф.
Кот гуляет сам по себе, но вблизи холодильника.