Электрические схемы бесплатно. MIDI-клавиатура на PIC16F84.






















MIDI-клавиатура на PIC16F84.

Категория: Цифровая техника



Цифровая техника - MIDI-клавиатура на PIC16F84. (Автор Борисевич А. В. xmastal@mail.ru)
Предлагаемая MIDI-клавиатура предназначена для применения совместно с ПК или с синтезаторами в бесклавиатурном исполнении. Клавиатура обслуживает 16 MIDI-каналов. Встроенный регулятор может использоваться либо для менеджмента громкостью, либо для манипулирования одним из 31 контроллеров. Клавиатура рассчитана на подключение 48 клавиш. Применение МК PIC16F84 позволило не только упростить схемотехнику устройства, но существенно сократить цена(у) и сложность исполнения, отказавшись от традиционного в этой области МК i8051. К недостаткам следует отнести, в первую очередь, отсутствие датчика силы нажатия клавиш.
Основа клавиатуры (рис. 1) - микроконтроллер DD7, осуществляющий основные действия опроса всех манипуляторов и организации MIDI-интерфейса.
Мультиплексоры DD1 - DD6 предназначены для реализации динамического опроса клавиш. К каждому из них подключено по 8 контактных групп, а сигнал с входа подается на соответствующий вход порта B DD7 (на схеме полностью показан только DD1 - остальные включены аналогично).
MIDI-клавиатура на PIC16F84.
ЧТОБЫ УВЕЛИЧИТЬ (УМЕНЬШИТЬ) СХЕМУ, НАЖМИТЕ НА КАРТИНКУ



Регулятор громкости R1 включен в RC цепь одновибратора, собранного на таймере DA1. Положение его движка определяется подсчитыванием длительности импульсов, поступающих на вход RB6 DD7. DA1 запускается импульсами, поступающими с выхода RB3, который одновременно управляет индикатором режима работы HL1.
Программа, управляющая работой DD7, осуществляет опрос клавиатуры. Как только будет обнаружено нажатие или отпускание клавиши, то происходит вызов процедуры, отправляющей соответствующее MIDI-сообщение [1]. Так как PIC16F84 не имеет встроенного аппаратного UART, программа осуществляет программную организацию MIDI-интерфейса с помощью простейших операций сдвига.
При вычислении положения R1 учитывается его конфигурация как манипулятора контроллера или как регулятора громкости. В первом случае считанное роль сравнивается с записанным в прошлый цикл опроса и, если 5 раз подряд установлено различие, то отправляется соответствующее MIDI-сообщение. Положение R1 при каждом опросе умножается на 4, т. о. оно может принимать 32 дискретных значений. Если R1 настроен как регулятор громкости, то необходимая информация посылается совместно с событиями нажатия клавиш.
Кнопка SA49 предназначена для перевода устройства в режим настройки, о чем сигнализирует HL1. В этом случае сообщения о нажатиях клавиш не передаются на выход устройства. Нажатие любой из 16 первых клавиш (т. е. подключенных к DD1 и DD2) приводит к переключению MIDI-канала. Нажатие любой из 32 других клавиш приводит к выбору соответствующего номера контроллера, которым будет управлять R1. Если будет нажата клавиша SA18 (подключена к входу X0 DD3), то R1 конфигурируется как регулятор громкости, иначе (при нажатии SA19, SA20 и т. д.) - как манипулятор соответствующего MIDI-контроллера.
Коды программы приведены в табл. 1 (файл MidiKbd.hex).

Первый байт строки 9 (число 29) - константа, изменение которой влияет на номер ноты, с которой начинается клавиатура. В приведенном варианте стартовой нотой считается F 3 (41). В случае применения прочий клавиатуры следует откорректировать эту константу и пересчитать контрольную сумму строки 9.
Печатная плата для устройства не разрабатывалась. Мультиплексоры DD1 - DD6 смонтированы непосредственно под клавиатурой. Источник питания, подключаемый к разъему XS2, может иметь выходное напряжение в пределах 6 - 12 В и ток приблизительно 50 мА.
С небольшими доработками DD1 - DD6 можно заместить на К561КП1. В качестве DD7 можно применить PIC16F84A или PIC16CR84. Прямая замена на PIC16C84 или PIC16F83 невозможна. В качестве R1 можно использовать любой соответствующий резистор с линейной характеристикой. Разъем XS1 - стандартный пятиконтактный DIN-5.
Клавиатура практически не нуждается в налаживании и начинает работать сразу после включения питания. Если положение R1 определяется неверно, следует подобрать номиналы С1 и R2. Для полного тестирования клавиатуру можно подключить к ПК и с помощью программы-секвенсора проверить правильность работы устройства. При подключении устройства к ПК нужно использовать переходник, обеспечивающий оптоэлектронную развязку интерфейса. Он может быть собран по любой из общеизвестных схем (например [2]). В таком случае, питать устройство можно от импульсного преобразователя, описанного в [3], подключив его к источнику +5В на игровом порту. При этом следует для уменьшения потребляемого тока увеличить номинал R12 или вообще исключить HL1.

Литература.

1. Студнев А. MIDI-клавиатура - Радио, 1993, № 11, с. 32-34.
2. Оборотов Н. Простая MIDI-клавиатура для ПК - Радио, 2000, №3, с. 25, 26, 44.
3. Власов Ю. Простой преобразователь с независимым возбуждением - Радио, 1996, № 7, с. 50.

Приложение.

Файл MidiKbd.hex
Файл MidiKbd.asm
Файл midikbd.inc






Похожие схемы:

ЧАСТОТОМЕР - ЦИФРОВАЯ ШКАЛА
ЧАСТОТОМЕР - ЦИФРОВАЯ ШКАЛА
Каталог принципиальных схем - Измерительная техника ЧАСТОТОМЕР - ЦИФРОВАЯ ШКАЛА Устройство выполняет следующие функции: - частотомера с выводом измеренного значения частоты в герцах (до 8 разрядов); - цифровой шкалы с АПЧ генератора плавного диапазона (ГПД) для радиолюбительского трансивера; - электронных часов. Основу устройства составляет программируемый контроллер PIC16F84 фирмы MICROCHIP. Большое быстродействие и широкие функциональные возможности этого контроллера позволяют подавать сигнал частотой до 50


Электронный замок с ключём-таблеткой i-Button (DS1990A).
Электронный замок с ключём-таблеткой i-Button (DS1990A).
Каталог принципиальных схем - Цифровая техника - Электронный замок с ключём-таблеткой i-Button (DS1990A). (Автор: Дмитрий email: ds1990a@yandex.ru) Здесь представлена схема электронного замка, в котором в качестве ключа используется устройство DS1990A(Touch Memory). Touch Memory типа DS1990A представляет собой пассивное устройство (без внутреннего источника питания), которое имеет записанное с помощью лазера ПЗУ(ROM), содержащее уникальный серийный номер. Для считывания данных с DS1990A используется 1-проводная шина фирмы DALLAS.


Сенсорный выключатель
Сенсорный выключатель
Каталог принципиальных схем - Цифровая техника Сенсорный выключатель


Антенна GP с емкостной нагрузкой для 160 м
Антенна GP с емкостной нагрузкой для 160 м
Каталог принципиальных схем - Антенны GP с емкостной нагрузкой для 160 м Виктор Холод. г.Грайворон, Белгородская обл. Высота штыря, м 18 21.5 25 28 32 35.5 39 E, м 16.5 15 11.5 6.5 5.9 4 1.5 А (75 Ом), м 13.6 А (75 Ом), м 9.6 Диаметр А, мм 22 Длина фидера, м 27 или 52.75


Конвертер для УКВ приемника до 900 МГц
Конвертер для УКВ приемника до 900 МГц
Каталог принципиальных схем - Радиоприем Конвертер для УКВ приемника до 900 МГц Конвертер для УКВ приемника позволяет прослушивать диапазон до 900 МГц. Частота опpеделяется контуpом L3C4.


УКВ-ЧМ тюнер
УКВ-ЧМ тюнер
Каталог принципиальных схем - Радиоприем УКВ-ЧМ тюнер Рис.1 Рис.2. Расположение элементов L1 - 5, L2 - 7 витков, диаметр намотки 3,5 мм, провод - 0,3...0,5 мм





Оставить комментарий