матриці видається в молодших шести бітах порту P0, а код стовпця в порте P2. Лінії портів встановлені в стан логічної одиниці. При натисканні клавіші у відповідні біти порту подається нульовий сигнал.
В· Блок послідовного зв'язку орієнтований на підключення до MIDI-порту звукової карти і передає сигнал 0-5В. Включає в себе два резистора R4, R5 і спеціалізований роз'єм для MIDI-порту. Підключений до висновку TxD мікроконтролера, через який ведеться передача на MIDI-порт. Призначений для передачі інформації про самій клавіші на персональний комп'ютер.
2.3 Вибір елементної бази
При розробці пристрою були використані наступні електронні компоненти:
В§ Мікроконтролер ADUC 812 фірми Analog Devices. . Він володіє високими технічними характеристиками, має вбудований АЦП і ЦАП, що дозволяє істотно спростити схему. Інший дуже важливий аргумент, що даний контролер мені найбільш добре знайомий по курсу лабораторних робіт і допускає написання програм мовою високого рівня PLM.
В§ Дешифратор К514ІД1.
В§ Індикатор. Для відображення інформації був використаний семисегментний світлодіодний індикатор, тому, що його можливостей в рамках даного курсового проекту цілком достатньо (необхідно відображати тільки однозначне число величини зсуву октави), і він досить добре вивчений на лабораторних роботах.
В§ Блок клавіатури. Для введення нот і управління зрушенням октав була використана матриця ключів 6 * 8.
3. Розробка програмного забезпечення МПС
3.1 Опис алгоритму роботи пристрою
3.1.1 Опис основних частин програмі
У програмі можна виділити наступні блоки:
В· Блок оголошення змінних. У цьому блоці описуються основні змінні і прапори.
В· Блок ініціалізації програми. У цьому блоці здійснюється первісна настройка мікроконтролера. Установка бітів управління та напрямку передачі даних в портах введення-виведення, ініціалізація АЦП і послідовного каналу.
В· Основний цикл програми. Реалізує зрушення октави, виводить на індикатор величину поточного зсуву, перевіряє стан клавіш, при натисненні або отжатии оних посилає відповідне повідомлення в послідовний порт.
В· Обробник переривання таймера. Здійснює сканування клавіатури. При натисканні та отжатии клавіш виставляє і скидає відповідні прапори.
В· Обробник перериванн...