Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств

254 Микроконтроллеры AVR от азов программирования... таймеров использовать нам? Для формирования звука лучше подходит шестнадцатиразрядный таймер. Чем больше разрядов, тем с большей точностью можно выбирать его коэффициент деления. Это очень важно для создания нотного стана. Поэтому для форми ­ рования звука выберем шестнадцатиразрядный таймер Т1. Теперь опре ­ делимся с режимом работы нашего таймера. Как и в случае с бегущими огнями, для генерации звука удобнее всего использовать режим СТС (сброс по совпадению). Нам просто нужно выбрать такой коэффициент деления, чтобы на выходе таймера получить колебания в звуковом диа ­ пазоне частот. Прежде всего, нам нужно отказаться от предварительного деления. Если частота кварцевого генератора и код, помещаемый в регистр совпа ­ дения, останутся такими же, как в предыдущем примере (в программе «Бегущие огни»), то в новом варианте частота повысится более чем в тысячу раз и как раз попадет в нужный нам диапазон. Теперь определимся с тем, как наш сигнал будет попадать на внеш ­ ний вывод микроконтроллера. Конечно, это можно сделать программно, при помощи процедуры обработки соответствующего прерывания. Но микроконтроллер предусматривает прямой вывод сигнала на один из своих выходов. Причем предусмотрены отдельные выходы для каждого из каналов совпадения. Для канала А подобный выход называется ОС1 А. Он совмещен с третьим разрядом порта РВ и является альтернативной функцией данного контакта. Подключение и отключение сигнала совпадения к внешнему выводу ОС1А производится программным путем. Это позволяет программе в нужный момент включать или выключать звук. Так как для вывода звука мы будем использовать один из разрядов порта РВ, то для под ­ ключения датчиков воспользуемся другим портом. А именно портом PD. Вариант принципиальной схемы описанного выше устройства показан на рис. 5.14. Как видно из рисунка, мы снова применили внешний кварцевый резонатор (Q1), есте ­ ственно, не забыв при этом цепи согласования (Cl, С2). При под ­ ключении датчиков использу ­ ется та же схема, что использо ­ валась до сих пор для подключе ­ ния контактов переключателя. Датчики подключаются ко всем разрядам порта PD. При этом для правильной работы датчи ­ +5 В Рис. 5.14. Схема сигнализатора «Семь нот»

RkJQdWJsaXNoZXIy MTExODQxMg==