- •Лабораторна робота № 1
- •Короткі відомості з теорії
- •Завдання для домашньої підготовки
- •Завдання до лабораторної роботи
- •Порядок виконання завдання
- •Порядок виконання завдання
- •Порядок виконання завдання
- •Порядок виконання завдання
- •Порядок виконання завдання
- •Завдання для самоперевірки
- •Література
- •Лабораторна робота № 2
- •Короткі відомості з теорії
- •Завдання для домашньої підготовки
- •Завдання до лабораторної роботи
- •Порядок виконання завдання
- •Порядок виконання завдання
- •Порядок виконання завдання
- •Порядок виконання завдання
- •Порядок виконання завдання
- •Робота на навчальній еом
- •Завдання для самоперевірки
- •Література
- •Короткі відомості з теорії
- •Програма 8.6
- •Програма 8.7
- •Програма 8.8
- •Програма 8.9
- •Завдання до домашньої підготовки
- •Завдання до лабораторної роботи
- •Робота на навчальній еом
- •Завдання для самоперевірки
- •Література
- •Лабораторна робота 4 підпрограма і стек
- •Короткі відомості з теорії
- •Завдання для домашньої підготовки
- •Завдання до лабораторної роботи
- •Робота на навчальній еом
- •Завдання для самоперевірки
- •Завдання для домашньої підготовки
- •Завдання до лабораторної роботи
- •Робота на навчальній еом
- •Завдання для самоперевірки
- •Завдання для домашньої підготовки
- •Завдання до лабораторної роботи
- •Робота на навчальній еом
- •Завдання для самоперевірки
- •Завдання для домашньої підготовки
- •Завдання до лабораторної роботи
- •Робота на навчальній еом
- •Завдання для самоперевірки
- •Завдання для домашньої підготовки
- •Завдання до лабораторної роботи
- •Робота на навчальній еом
- •Завдання для самоперевірки
- •Завдання для домашньої підготовки
- •Робота на навчальній еом
- •Завдання для самоперевірки
- •Література
- •Робота на навчальній еом
- •Завдання для самоперевірки
- •Література
- •Завдання для домашньої підготовки
- •Робота на навчальній еом
- •Завдання для самоперевірки
- •Література
Завдання для домашньої підготовки
1. Ознайомитись зі схемами під'єднання клавіатури і дисплея до мікро-ЕОМ, наведеними на рис. 8.15 і 8.17.
2. Вивчіть принцип мультіплексного виводу інформації на дисплей.
3. Вивчіть принцип визначення номера натиснутої клавіші на клавіатурі.
4. Вивчіть програми 8.21-8.24.
5. Розробіть програму мультіплексного послідовного виведення лише однієї цифри, що задається з вхідного пристрою мікро-ЕОМ на різні комірки дисплея. Для того щоб задати час висвічування цифри на кожній комірці дисплея, використовуйте підпрограму часової затримки. Визначіть, на що буде впливати час затримки.
6. Доповніть програму 8.24 так, щоб номер натиснутої клавіші відобразився в одній з комірок дисплею.
7. Розробіть програму передачі керування за заданими адресами в залежності від натиснутої клавіші на клавіатурі. Адреса передачі керування в залежності від номера клавіші на клавіатурі задаються таблицею. Адреса передачі керування записується в регістри H, L.
Завдання до лабораторної роботи
Завдання 1. Дослідити програму 8.21.
Порядок виконання завдання: 1. Ввести в мікро-ЕОМ програму 8.21. 2. Здійснити пуск програми. Простежити зміни в сегментах п'ятої цифри дисплея, що вмикається, змінюючи число на вхідному пристрою. Заповнити таблицю (табл. 8.3) відповідності кодів числа, що записується в регістр сегментів дисплея, сегментам, що вмикаються. 3. Записати і перевірити коди букв Н, А, Ч, П, О.
Завдання 2. Дослідження програми виведення інформації на дисплей.
Порядок виконання завдання: 1. Ввести в мікро-ЕОМ програму 8.22. 2. Записати за адресами 0900-0905 коди букв для виведення на дісплей повідомлення ПОЧАТОК. 3. Здійснити пуск програми і перевірити правильність виведення повідомлення на дисплей. 4. Ввести в мікро-ЕОМ розроблену в п. 5 завдання для домашньої підготовки програму. 5. Здійснити пуск програми і перевірити, що на дисплей виводиться лише одна цифра. 6. Встановити в програмі час увімкненого стану цифри на кожній комірці дисплея, що дорівнює 1 с (час задається підпрограмою затримки; простежити зміни в інформації, що виводиться на дисплей).
Завдання 3. Дослідити програму обслуговування клавіатури.
Порядок виконання завдання: 1. Під'єднати до мікро-ЕОМ клавіатуру 3 X 3 так, як показано на рис. 8.17. 2. Ввести в мікро-ЕОМ програму 8.24. 3. Здійснити пуск програми і перевірити вміст регістра В після кожного натискання на клавішу. 4. Ввести в мікро-ЕОМ програму, розроблену в п. 7 для домашньої підготовки. 5. Здійснити пуск програми і перевірити відповідність адреси, записаної в регістри H, L, номеру натиснутої клавіші.
Робота на навчальній еом
В навчальній мікро-ЕОМ дисплей і клавіатура під'єднані до магістралей так, як показано на рис. 8.15 і 8.19. Регістр сканування РгСк (адреса 28) використовується як для сканування дисплея, так і для сканування клавіатури. Адреса вхідного пристрою читання клавіатури РгЧК – 18 (KBDIN). Програма 8.21, 8.22 можуть бути виконані без будь-яких змін на навчальній мікро-ЕОМ без під'єднання додаткового дисплею.
В ПЗП мікро-ЕОМ записані програми, що дозволяють визначити код натиснутої клавіші і вивести на дисплей повідомлення. Так, підпрограма KPU (адреса 0185) визначає, чи натиснута клавіша на клавіатурі, і при будь-якій натиснутій клавіші встановлює розряд ознак МП БІС Z в 0, в протилежному випадку Z = 1. Вхідних параметрів програма не має. Підпрограма KIND (адреса 014В) виробляє сканування клавіатури, визначає факт натискання клавіші, її код за таблицею і повертає його. Одночасно підпрограма KIND дешифрує повідомлення, яке видається, в семисегментний код за таблицею і виводить його на дисплей. Вхідним параметром цієї підпрограми є повідомлення, що виводиться на дисплей, розташоване в ОЗП за адресами 0BF0-0BF5, вихідним параметром – код натиснутої клавіші в акумуляторі. При виведенні повідомлення на дисплей підпрограма kind використовує підпрограми SDS (адреса 01С8) сканування дисплея і DCD (адреса 01Е9) декодування повідомлення на дисплей. Вхідний параметр SDS – семисегментні коди повідомлення, що виводиться, розташовані за адресами OBFA-OBFF. Вони ж є вихідними параметрами підпрограми DCD, а вхідними її параметрами – коди повідомлення, що виводиться, розташовані за адресами 0BFO-0BF5. Дешифрування в семисегментний код здійснюється за допомогою спеціальної табл. 8.3 шляяхом додавання відносної адреси символа до початкової адреси таблиці.
Табл. 8.3. побудована так, що при дешифруванні шістнадцять цифр ніяких додаткових перетворювань не потребують, тому що значення цифри є її відносна адреса. Для перезапису повідомлення в область OBF0-OBF5 застосовується підпрограма, яка викликається командою RST3. Вхідними параметрами її є адреса першого байта повідомлення, розташованого в парі регістрів D, E, і повідомлення, записане з цієї адреси. Підпрограма BLNK (адреса 0297) необхідна для очищення дисплея, вхідних і вихідних параметрів не має.
Програма 8.25 виробляє декодування і виведеення на дісплей повідомлення користувача, записаного за адресою 0900-0905, з використанням підпрограм RST3, DCD, SDS. Підпрограма SDS виводить повідомлення на дісплей тільки один раз, тобто для отримання зображення її потрібно викликати багатократно.
Програма 8.25.
Адреса |
Машинний код |
Мітка |
Мнемокод |
Коментар |
8000 |
11 0009 |
|
LXI D, 0900 |
завантажити адреси початку повідомлення |
8003 |
DF |
|
RST3 |
gереписати повідомлення за адресами OBF0-OBF5 |
8004 |
CD E901 |
|
CALL DCD |
викликати підпрограму декодування |
8007 |
CD C801 |
CNT: |
CALL SDS |
вивести повідомлення на дисплей |
800A |
C3 0708 |
|
JMP CNT |
повторювати виведення |
Програма 8.26 показує приклад використання підпрограми KPU. При натисканні на будь-яку клавішу у вихідний регістр записується число з вихідного пристрою.
Програма 8.26.
Адреса |
Машинний код |
Мітка |
Мнемокод |
Коментар |
8000 |
СD 8501 |
CNT |
CALL KPU |
чи натиснута клавіша? |
8003 |
СА 0008 |
|
JN CNT |
якщо ні, продовжувати очікування |
8006 |
DВ20 |
|
IN 20 |
якщо так, отримати число з вхідного пристрою |
8008 |
D3 30 |
|
OUT 30 |
записати число у вхідний пристрій |
800A |
C3 0008 |
|
JMP CNT |
продовжувати |
Програма 8.27 використовує підпрограми KIND і blnk та виводить на дисплей цифру, відповідну натиснутій клавіші, для введеня кодів чисел (при натисканні на клавішу керування на дисплей буде виведене випадкове повідомлення, тому що їх кодів немає в таблиці дешифрування повідомлень для дисплея). Крім того, код натиснутої клавіші буде виводитись на вихідний регістр.
Програма 8.27.
Адреса |
Машинний код |
Мітка |
Мнемокод |
Коментар |
8000 |
CD 9702 |
|
CALL BLNK |
очистити дисплей |
8003 |
CD 4B001 |
CNT |
CALL KIND |
чекати натискання клавіші |
8006 |
21 F00B |
|
LXI H, OBFO |
вказати на нульову цифру дисплея |
8009 |
77 |
|
MOV M, A |
записати код клавіші за адресою, вказаною в регістрах H, L |
800A |
D3 30 |
|
OUT 30 |
вивести код клавіші у вихідний пристрій |
800C |
C3 0308 |
|
JMP CNT |
продовжувати |
Завдання 4. Дослідити підпрограми виведення повідомлення на дисплей.
Порядок виконання завдання: 1. Ввести програму 8.25. Користуючись табл. 8.3 (заповнену при виконанні завдання 1), занести в ОЗП починаючи з адреси 0900 коди повідомлення ПРОБА 1. 2. Здійснити пуск програми і впевнитись, що повідомлення виведене правильно..
Завдання 5. Дослідити програму обслуговування клавіатури.
Порядок виконання завдання: 1. Ввести програму 8.26. Здійснити пуск програми і впевнитись, що при натисканні на будь-яку клавішу на клавіатурі число з вхідного пристрою записується у вихідний пристрій. 2. За допомогою рис. 8.21 визначіть, який код потрібно записати в регістр сканування для визначення натиснутої клавіші 0. Який код при цьому поступить в акумулятор при введені від регістра читання клавіатури? 3. Написати програму, аналогічну програмі 8.26, але таку, що дозволяє мікро-ЕОМ реагувати тільки на натискання клавіші "0", ввести і перевірити правильність її виконання.
Завдання 6. Дослідити підпрограми читання і дешифрування клавіатури.
Порядок виконання завдання: 1. Ввести програму 8.27. Здійснити пуск програми і впевнитись, що при натисканні на клавіші введення цифр в правій позиції дисплея висвічується їх значення, а у вихідний пристрій записується їх двійковій код. 2. Натискуючи на клавіші керування, дослідити їх коди і пояснити походження символів, що виводяться на дисплей при натисканні на ці клавіші. 3. Переробити, скориставшись підпрограмою RST3, програму 8.27 так, щоб на інші позиції дисплея виводилось повідомлення CODE0-.
Зміст звіту
Звіт повинен містити: 1. Схему під'єднання досліджуваної клавіатури до мікро-ЕОМ. 2. Програми, розроблені в п. 5, 6, 7 завдання для домашньої підготовки. 3. Таблицю відповідності кодів чисел, записаних в регістр сегментів дисплея, сегментам, що вмикаютьтся (таблиця заповнюється при виконанні завдання 1). 4. Програми, розроблені при виконання завдань 5 і 6 в розділі "Робота на навчальній мікро-ЕОМ".
