|
Простой звуковой генератор
Программирование микроконтроллеров в среде FloweCode
(Простой звуковой генератор)
Восьми-тональный звуковой генератор.
Принцип работы следующий. Программа в бесконечном цикле опрашивает регистры порта В. Если нажата одна из кнопок, число от 1 до 8 присваивается переменной TONE. Если переменная TONE больше нуля, а это значит, что какая то кнопка нажата, программа посылает единицу в нулевой регистр порта А, затем запускает задержку на число значение переменной TONE миллисекунд и отправляет ноль в нулевой регистр порта А. И так продолжается пока кнопка нажата. Таким образом на выводе микроконтроллера А0 получается импулься с разной скважностью, и если подключить к нему динамическую головку или наушник, то вы услышите звук разной тональности.
|
Старт бесконечного цикла.
Опрос клавиатуры и присвоение значения
переменной KEY
Точка выхода безусловного перехода (А)
Точка входа безусловного перехода (В:)
Проверка больше ли 0 переменная TONE
Если да:
Оправить единицу в регистр 0 порта А
Задержка на содержимое переменной
TONE в мс
Оправить ноль в регистр 0 порта А
Возврат к началу бесконечного цикла
Точка входа безусловного перехода (А:)
Проверка равна ли нулю переменная KEY
Если да:
Перменной TONE присвоить 0
Проверка больше ли нуля переменная KEY
Если да:
Перменной TONE присвоить 1
Проверка больше или равна двум переменная KEY
Если да:
Перменной TONE присвоить 2
Проверка больше или равна четырем переменная KEY
Если да:
Перменной TONE присвоить 3
Проверка больше или равна восьми переменная KEY
Если да:
Перменной TONE присвоить 4
Проверка больше или равна шестнадцати переменная KEY
Если да:
Перменной TONE присвоить 5
Проверка больше или равна тридцати двум переменная KEY
Если да:
Перменной TONE присвоить 6
Проверка больше или равна шестидесяти четырем
переменная KEY
Если да:
Перменной TONE присвоить 7
Проверка больше или равна ста двадцати восьми
переменная KEY
Если да:
Перменной TONE присвоить 8
Точка выхода безусловного перехода (В)
|
|
Файлы проекта можно скачать здесь:
Оригинальный источник материала:
www.flowecode.info
|
|
|