ту потужності і може навіть викликати вихід з ладу як транзистора, так і динаміка. При складанні програми ми повинні врахувати цей момент. br/>
6.3 Алгоритм
На перший погляд алгоритм такого пристрою дуже простий. При замиканні контактів будь-якого з датчиків мікроконтролер повинен завантажити в регістр збіги потрібний коефіцієнт і підключити вихід таймера до висновку ОС1В. При розмиканні контактів датчика мікроконтролер повинен відключити сигнал від зовнішнього виведення ОС1В і подати на нього низький логічний рівень. Якщо контакти всіх датчиків розімкнуті, то зовнішній висновок повинен залишатися відключеним. p align="justify"> Однак схема побудована таким чином, що ніщо не заважає одночасно замкнутися відразу кільком контактам. Виникає питання: що робити в цьому випадку? Найбільш правильна відповідь - забезпечити систему пріоритетів. При замиканні декількох контактів програма повинна реагувати лише на один з них. На той, пріоритет якого вище. p align="justify"> Зазвичай в таких випадках використовується наступний прийом. Програма по черзі перевіряє стан всіх датчиків, наприклад, справа наліво. Виявивши перший же замкнутий контакт, програма припиняє сканування і видає звуковий сигнал, відповідний цьому датчику. p align="justify"> Домовимося, що датчику, підключеному до входу PD.0, буде відповідати нота В«ДоВ». Наступному датчику - нота В«РеВ», і так далі до ноти, «ѳ». Коефіцієнти розподілу для кожної з нот вибираються за законами музичного ряду. br/>
7. Лабораторна № 7
.1 Програмне середовище AVR Studio
комп'ютер мікропроцесор програма відладчик
Загальні відомості
Налагодження програми
У попередньому розділі ми навчилися створювати програми для мікроконтролерів. Однак, як уже говорилося раніше, для того, щоб написана програма перетворилася на результуючий код і заробила в конкретному мікропроцесорному пристрої, її потрібно відтранслювати і В«зашитиВ» в програмну пам'ять мікроконтролера. p align="justify"> Однак існує ще один важливий аспект цього завдання. Справа в тому, що при написанні реальної програми, особливо якщо програма реалізує досить складний алгоритм, неможливо уникнути помилок. Помилки можуть бути самі різні. Від простої синтаксичної помилки в написанні якої-небудь команди до хитрих структурних помилок, які іноді дуже важко виявити. p align="justify"> У будь-якому випадку при написанні програм звичайно не можна обійтися без процедури налагодження. Налагодження виконується на комп'ютері за допомогою спеціальної інструментальної програми - відладчика. Усунення несправностей дозволяє покроково виконувати відладжувану програму, а також виконує її поетапно з використанням так званих точок зупину. p align="justify"> У процесі виконання програми під управлінням відладчика програміст може на екрані комп'ютера:
В· бачити вміст будь-якого регістра мікроконтролера;
В· бачити вміст ОЗУ і EEPROM;
В· спостерігати за послідовністю виконання команд, контролюючи правильність відпрацювання умовних і безумовних переходів;
В· спостерігати за роботою таймерів, відпрацюванням переривань.
У процесі налагодження програміст також може спостерігати логічні рівні на будь-якому зовнішньому виході мікроконтролера. А також імітувати зміна сигналів на будь-якому вході. Процес налагодження дозволяє програмісту переконатися в тому, що розробляється ним програма працює так, як він задумав. Більшість помилок у програмі виявляються саме в процесі налагодження. p align="justify"> Існує три основних види отладчиков:
В· програмні;
В· апаратні;
В· комбіновані програмно-апаратні.
7.2 Програмний відладчик
Визначення. Програмний відладчик - це комп'ютерна програма, яка імітує роботу процесора на екрані комп'ютера. Вона не вимагає наявності реальної мікросхеми або додаткових зовнішніх пристроїв і дозволяє налагодити програму чисто віртуально. p align="justify"> Однак програмний відладчик дозволяє перевірити тільки логіку роботи програми. За допомогою такого відладчика неможливо перевірити роботу схеми в режимі реального часу або роботу всього мікропроцесорного пристрою в комплексі. Тобто неможливо гарантувати правильну роботу і всіх підключених до мікроконтролера додаткових мікросхем і елементів. p align="justify"> Апаратний відладчик
Визначення. Другий в...