Смекни!
smekni.com

Мікропроцесорна техніка (стр. 12 из 17)

Режим пересилання одиночного байта можна використати для перевірки працездатності каналу зв'язку.

5 ТЕСТОВІ ПРОГРАМИ УНМС-2 ТА ІНДИВІДУАЛЬНІ ТЕСТІ

Програма BTN_LED.ASM

Призначення. Виконується циклічне читання стану перемикачів для завдання бітових сигналів (адреса 0FFF2h) і отримане двійкове число відображається на лінійці світодіодів (адреса 0FFF1h).

Елементи, що тестуються: перемикачі завдання бітових сигналів, лінійка світодіодів.

Керування програмою й візуальні ефекти. Після запуску програми в довільному порядку змінюйте стан восьми перемикачів на прозорій панелі УУМС-2. Верхнє положення кожного перемикача відповідає установці сигналу "1", а нижнє - сигналу "0". Поточний стан перемикачів відображається на лінійці світодіодів: сигнал "1" викликає світіння відповідного світодіода, сигнал "0" - гасіння світодіода. Відповідність перемикачів і світодіодів пряме: лівому перемикачу відповідає лівий світодіод і т.д. до правого перемикача й світодіода.

Програма BTN_SSI.ASM

Призначення. Виконується циклічне читання стану перемикачів для завдання бітових сигналів (адреса 0FFF2h) і отримане двійкове число використається для керування світінням сегментів чотирьох семисегментних індикаторів одночасно (адреси 0FFF7h - 0FFFAh).

Елементи, що тестуються: перемикачі завдання бітових сигналів, панель семисегментних індикаторів.

Керування програмою й візуальні ефекти. Після запуску програми в довільному порядку змінюйте стан восьми перемикачів на прозорій панелі УУМС-2. Верхнє положення кожного перемикача відповідає установці сигналу "1", а нижнє - сигналу "0".

Поточний стан перемикачів відображається синхронно на кожному із чотирьох семисегментних індикаторів: сигнал "1" викликає світіння відповідного сегмента, сигнал "0" – гасіння сегмента.

Коли всі перемикачі встановлені у верхнє положення, повинні світитися всі сегменти (у тому числі й крапки).

Дії програми повторюються циклічно до завершення програми користувачем.

Програма LCD.ASM

Призначення. Тестування 10-позиційного ЖК-дисплея (адреса 0FFF1h) шляхом послідовного виводу в позиції, починаючи з лівої, значень від 0 до 9.

Елементи, що тестуються: ЖК-дисплей.

Керування програмою й візуальні ефекти. Після запуску програми виробляється очищення ЖК-дисплея. Потім число 0 відображається першим у крайній лівій позиції. Далі з інтервалом в 1 с. послідовно в позиціях ліворуч праворуч відображаються числа 1, 2, 3 і т.д. до 9. Таким чином, після виконання програми всі позиції ЖК-дисплея задіяні й на ньому представлено: "0123456789".

Програма INT0_T0.ASM

Призначення. Перевірка реакції системи УУМС-2 на зовнішнє переривання INT0 для основного мікроконтролера й функціонування таймера T0 основного мікроконтролера при підрахунку зовнішніх імпульсів.

Елементи, що тестуються: система переривань і таймери основного мікроконтролера, панель семисегментних індикаторів.

Керування програмою й візуальні ефекти. Перед запуском програми встановите перемикач Переривання INT0 у верхнє положення. Положення перемикача Рахункові імпульси таймера Т0 байдуже.

Після запуску програми семисегментний індикатор погашений. Таймер Т0 запускається подачею переривання INT0. Для подачі переривання INT0 потрібно подати сигнал "0" перемикачем Переривання INT0, після чого повернути перемикач у положення "1" (переривання сприймається по зрізі, тобто по переходу "1-0"). При цьому на панелі семисегментних індикаторів відображається число "0".

За допомогою перемикача Рахункові імпульси таймера Т0 можна сформувати довільну кількість імпульсів для підрахунку таймером Т0. Один імпульс формується при подвійній зміні положення перемикача (наприклад "1-0-1", тобто перемкнути вниз, а потім нагору).

При повторному формуванні сигналу переривання INT0 таймер Т0 зупиняється, а на панель семисегментних індикаторів виводиться підрахована кількість імпульсів, що повинне збігатися з фактичною кількістю сформованих імпульсів.

При наступній подачі переривання INT0 таймер буде обнулен і знову включений, а на панелі індикаторів відобразиться "0". Після цього цикл підрахунку зовнішніх імпульсів може бути повторений.

Програма ADC_UP.ASM

Призначення. Тестування блоку багатоканального аналого-цифрового перетворювача в складі периферійного мікроконтролера ATmega16, а також перевірка протоколу обміну даними між основним і периферійним мікроконтролерами. Особливість тесту полягає в тому, що перевіряється спільна робота двох програм, виконуваних одночасно двома мікроконтролерами в складі УУМС-2.

Елементи, що тестуються: блок багатоканального аналого-цифрового перетворювача в складі периферійного мікроконтролера ATmega16, буферні елементи для взаємодії основного й периферійного мікроконтролерів, семисегментні індикатори, бітові перемикачі.

Керування програмою й візуальні ефекти. Програма периферійного мікроконтролера функціонує увесь час й очікує сигнал запиту даних PRRQ від основного мікроконтролера.

Після запуску програми ADC_UP на основному мікроконтролері виробляється читання стану бітових перемикачів і виділяється значення молодших трьох бітів (тобто можуть бути виділені значення від 0 до 7). Отримане число пересилається периферійному мікроконтролеру як команда, що забезпечується системним сигналом PRRQ (див. документ "Системна програма MPF"). Значення команди сприймається периферійним мікроконтролером як номер каналу блоку АЦП, сигнал з якого повинен бути перетворений у цифрову форму й переданий основному мікроконтролеру.

Безпосередній візуальний ефект може бути отриманий при завданні номера каналу 0, 1 або 3. При цьому по каналах 0 або 1 вхідний сигнал для АЦП варто задавати за допомогою потенціометрів АЦП вх.1 й АЦП вх.2 відповідно, розташованих на верхній панелі корпуса УУМС-2. При повному повороті ручки відповідного потенціометра на панелі семисегментних індикаторів можна спостерігати зміна значень від 0 до 255.

При завданні номера каналу 3 вхідний сигнал для АЦП приймається з виходу цифро-аналогового перетворювача (ЦАП). Для цього в програмі ADC_UP реалізоване формування циклічно наростаючого значення від 0 до 255 і видача його на блок ЦАП. На семисегментних індикаторах можна спостерігати відповідно циклічно наростаючі значення від 0 до 255.

Описані дії повторюються циклічно до завершення виконання програми користувачем.

Програма PWM.ASM

Призначення. Тестування блоку широтно-імпульсного генератора (ШІМ-генератора) у складі периферійного мікроконтролера ATmega16, а також перевірка протоколу обміну даними між основним і периферійним мікроконтролерами. Особливість тесту полягає в тому, що перевіряється спільна робота двох програм, виконуваних одночасно двома мікроконтролерами в складі УУМС-2.

Елементи, що тестуються: блок ШІМ-генераторів на основі таймера Т1 у складі периферійного мікроконтролера ATmega16 (вихідні лінії PWM0 й PWM1), буферні елементи для взаємодії основного й периферійного мікроконтролерів, семисегментні індикатори, бітові перемикачі.

Керування програмою й візуальні ефекти. Програма периферійного мікроконтролера функціонує увесь час й очікує сигнал запиту даних PRRQ від основного мікроконтролера.

Після запуску програми PWM на основному мікроконтролері виробляється посилка команди "8" (користувач може змінити у вихідному тексті це значення на "9"). Команда "8" означає посилку даних для ШІМ-генератора з виходом PWM0 ("9" - для PWM1).

Далі зчитується стан бітових перемикачів, і отриманий код передається периферійному мікроконтролеру як відносне значення ширини формованих імпульсів (0 - відсутність імпульсів, 255 - максимальна довжина імпульсів, рівна періоду їхнього проходження).

Період проходження ШІМ-імпульсов становить 0.5 мс (частота 2 кгц) і не може бути змінений у процесі виконання програми. Для зміни значення періоду варто змінювати настроювання таймерів у тексті програми.

Стан бітових перемикачів відображається на лінійці світодіодів, а значення шпаруватості імпульсів, розраховане на основі коду з перемикачів, представляється на панелі семисегментних індикаторів у процентному вираженні (значення від 0 до 100).

Спостерігати вихідний ШІМ-сигнал по каналі PWM0 можна при підключенні вимірювального шлейфа осцилографа до BNC-коннектору з маркуванням ШИМ, розташованому на задній панелі корпуса УУСМ-2.

Програма DAC.ASM

Призначення. Перевірка блоку цифро-аналогового перетворювача.

Елементи, що тестуються: Блок ЦАП, бітові перемикачі, лінійка світодіодів

Керування програмою й візуальні ефекти. Після запуску програми формується значення однобайтового числа, що видається на блок ЦАП для перетворення урівень аналогового сигналу, а двійковий код цього числа відображається на лінійці світодіодів. Значення числа формується шляхом інкремента від 0 до 255 з тимчасовим кроком 50мс, повний цикл становить близько 13 з, після чого набір значень повторюється. Вихідний сигнал ЦАП відповідно змінюється від 0 до 2,5У при установці бітового перемикача "7" на лінійці перемикачів у нижнє положення ("0").. Перевірка формування вихідного сигналу ЦАП негативної полярності від 0 до -2,5У забезпечується при установці бітового перемикача "7" на лінійці перемикачів у верхнє положення ("1").

Вихідний сигнал ЦАП можна спостерігати на осцилографі при підключенні вимірювального шлейфа до BNC-коннектору з маркуванням ЦАП, розташованому на задній панелі корпуса УУСМ-2.

Програма COUNT_T0.ASM

Призначення. Перевірка взаємодії генератора низькочастотних імпульсів у складі УУМС-2 і таймери Т0 основного мікроконтролера - вимір частоти імпульсів від генератора.

Елементи, що тестуються: Генератор НЧ, таймери Т0 і Т1

Керування програмою й візуальні ефекти. Перед запуском програми необхідно переставити перемичку J18 (середня по розміщенню на платі) у праве положення (див. посібник з експлуатації УУМС-2), що забезпечує подачу імпульсів від генератора на рахунковий вхід таймера Т0 основного мікроконтролера.