Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BEAR / PART2.DOC
Скачиваний:
15
Добавлен:
16.04.2013
Размер:
1.65 Mб
Скачать

Расчет констант для звуковых сообщений.

Рисунок 2-5 : структура модуля ШИМ

Воспроизведение звуковых сообщений производится посредством модуля ШИМ, расположенного в корпусе микроконтроллера и внешнего интегратора полученного сигнала. С помощью этого модуля реально воспроизведение голосовых команд и выдача голосовой информации пользователю.

Для этого вывод 2 порта С должен быть сконфигурирован как выход. В режиме ШИМ программист записывает 8 битное значение рабочего цикла в регистр CCPR1L(старший байт этого регистра используется как буфер для младшего регистра), а два младших бита берутся изCCP1CON<5:4>. Запись из младшего регистра в старший происходит при начале рабочего цикла.CCPR1Hдоступен по чтению, но не для записи. Период определяется регистромPR2.

PWM период ={PR2+1}*4Tosc*(TMR2 предделитель)

PWMрабочий цикл = (DC1)* Tosc*(TMR2 предделитель)

Где DC1это 10-битное значение изCCPR1L, соединенного сCCP1CON<5:4>.

В программе каждая нота задается байтом, в котором первые три бита кодируют длительность, а остальные пять - номер ноты. По номеру ноты из таблицы выбирается значение для загрузки в регистр периода звука, скважность получаемого сигнала равна 2.

...............

retlw d'169' ;нота8 (740.00 гц)739.64

retlw d'159' ;нота9 (783.99 гц)786.16

retlw d'150' ;нота10 (830.60 гц)833.33

retlw d'142' ;нота11 (880.00 гц)880.28 ;ля 2 окт

retlw d'134' ;нота12 (932.30 гц)932.83

retlw d'127' ;нота13 (987.77 гц)984.25

.............

Рассчитаем период ноты ЛЯ 2 октавы (частота 880 Гц), значит период одного звукового колебания 1/880=0.0011сек.

Tosc=1/500000=2мкс.

TMR2 предделитель =1.

Соответственно 0.0011=PR2*4*2*10-6*1

Откуда PR2=0.0011/4*2*10-6*1=142

Аналогично рассчитываются и остальные ноты.

16

Структура данных и Программная реализация

Соседние файлы в папке BEAR