- •1 Структура системи відображення цифрової інформації
- •2 Вибір окремих пристроїв та його обгрунутування
- •2.1 Вибір генератора тактових імпульсів
- •2.2 Вибір схеми формування керуючих сигналів
- •2.3 Вибір буферів шини даних та шини адреси.
- •2.4. Організація інтерфейсу пам'яті з мікропроцесором.
- •2.5. Організація інтерфейсу пристроїв вводу - виводу з мікропроцесором.
- •3. Програмне забезпечення виводу інформації на цифровий індикатор
3. Програмне забезпечення виводу інформації на цифровий індикатор
Програмне забезпечення складається з програм різноманітного призначення: керуючих програм, які керують роботою всієї мікропроцесорної системи і розміщуються в ПЗП системи, та програм користувача, які призначені для розв’язку конкретних прикладних задач і вводяться в ОЗП системи. Написання керуючих програм в дане завдання не входять.
Згідно з завданням необхідно скласти програму виводу інформації, яка відповідає порядковому номерові за списком, на цифровий дисплей, що містить два семисегментальні цифрові індикатори.
Перед написанням будь-яких програм необхідно вияснити, як програмне забезпечення системи буде розміщене, тобто з якої адреси починається область пам’яті для розміщення керуючих програм (звичайно це один з модулів ПЗП), початкову адресу області пам’яті для розміщення програми користувача (звичайно це модуль ОЗП) і т.д. Початкова інформація для цього розміщення приведена в розділі 2.4 (табл.2.11). Необхідно також визначити адреси пристроїв вводу-виводу. В нашому випадку ці пристрої під’єднані до мікропроцесора через ППІ, тому адресою пристроїв вводу-виводу буде адреса тих каналів ППІ (табл..2.4), до яких ці пристрої під’єднані.
При складанні програми слід врахувати, що вивід інформації починається після натискування кнопки “пуск”, а також через які канали ППІ під’єднані вказана кнопка та індикатори до мікропроцесора.
Вивід інформації полягає у виводі двох кодових комбінацій, одна з яких задає символ (цифру), а друга – індикатор, на якому цей символ повинен висвітитися. Приймемо деякі позначення:
K1 - код першого символу (табл2.2); I1 - код першого індикатора (табл..2.3);
K2 - код другого символу (табл2.2); I2 - код другого індикатора (табл..2.3) .
Перед записом частини програми, що забезпечує виконання вказаних вище функцій, необхідно передбачити фрагмент, з допомогою якого інформація про стан кнопки “пуск”: натиснута (S2=0), чи не натиснута (S1=1) – вводиться з відповідного каналу ППІ.
Крім того, в програмі необхідно передбачити програмування ППІ – настройку його каналів на заданий режим роботи та заданий напрям передачі інформації через кожний канал шляхом запису керуючого слова в РКС ППІ.
На рисунку 3.1 зображена блок-схема алгоритму програми,а в таблиці 3.2-код програми на Асемблері
В полі команди записується мнемонічна назва однієї з команд мікропроцесора або одна з приведених вище псевдокоманд. Команда бувають без операндів або з одним чи двома операндами.
Операндами можуть бути назви регістрів або регістрових пар мікропроцесора, мітки, а також ідентифікатори, числа або вирази. Числа можуть бути представлені в двійковій, вісімковій, десятковій та шістнадцятковій системах числення. Система числення позначається відповідною буквою в кінці числа: B, Q, D, H. Число без букви в кінці інтерпритується як десяткове або шістнадцяткове, якщо в його складі є одна з латинських букв А – F. Шістнадцяткове число, яке починається з букви, необхідно доповнити зліва нулем.
Ідентифікатори мають відповідати тим же умовам, що й мітки. Ідентифікатори – це назви констант та змінних. Для надання константам та змінним початкових значень використовується псевдокоманда EQU.
Текст програми на мові Асемблера повинен починатися псевдокомандою ORG з операндом, який задає початкову адресу області трансляції (початкову адресу нашої програми). Останньою стрічкою команди є псевдокоманда END.
Таблиця 3.1 Опис портів вводу-виводу
P ort А EQU A4 H ; адреса каналу ВА
Port В EQU A5 H ; адреса каналу ВВ
P ort С EQU A6 H ; адреса каналу ВС
Port RG EQU A7 H ; адреса каналу РКС
W ord EQU 82 H ; керуюче слово ППІ
K 1 EQU E0 H ; код першого символу
K 2 EQU 80 H; код другого символу
I 1 EQU 40 H; код першого індикатора
I 2 EQU 80 H; код другого індикатора
S 2 EQU 7F H; код, який вводимо натисканням кнопки
Таблиця 3.2-код програми на Асемблері
|
