Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metoda.doc
Скачиваний:
1
Добавлен:
22.08.2019
Размер:
728.06 Кб
Скачать

Завдання для домашньої підготовки

1. Вивчити групу арифметичних команд МП БІС КР580ИК80.

2. Ознайомитесь з правилами виконання команди DAA – десятичною корекцією акумулятора.

3. Визначити програми 8.18-8.20, наведені вище. Розгляньте результат виконання кожної програми на конкретних числових прикладах.

4. Проведіть оцінювання часу виконання підпрограм множення і програми ділення 8-розрядних чисел.

5. Складіть програму для дослідження результату перемноження двох чисел на підставі програми 8.18.

6. Оцініть час виконання підпрограми 8.20.

Завдання до лабораторної роботи

Завдання 1. Дослідити програму множення двох 8-розрядних чисел з отриманням 16-розрядного результата.

Порядок виконання завдання: 1. Ввести в мікро-ЕОМ програму для дослідження результату перемноження двох чисел. 2. Здійснити пуск програми і перевірити результат двох чисел за адресом, записаним в регістрах В, С.

Завдання 2. Дослідити програми ділення двох 8-розрядних чисел.

Порядок виконання завдання: 1. Ввести в мікро-ЕОМ програму 8.19. 2. Записати в регістри E, D відповідно діленого і дільника. 3. Здійснити пуск програми і перевірити результат ділення двох чисел за змістом регістрів Н, С.

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

Порядок виконання завдання: 1. Ввести в мікро-ЕОМ програму 8.20. 2. Записати в регістр L число, квадрат якого необхідно обчислити. 3. Здійснити пуск програми і перевірити результат обчислення квадрата числа за змістом регістра Н. 4. Змінити програму так, щоб результат обчислення квадрата числа записувався у вихідний пристрій. 5. Ввести в програму 8.20 перевірку на значення числа, квадрат якого визначається в результаті виконання програми. Якщо число, яке задається, більше 10, то мікро-ЕОМ повинна вказувати на це, наприклад, видавати звуковий сигнал, включаючи світлодіоди вихідного пристрою тощо.

Робота на навчальній еом

В навчальній мікро-ЕОМ підпрограма записана в ПЗП за тими ж адресами, що наведені при описуванні підпрограми 8.18. До неї можна звертатися за допомогою команди CALL<A2><A1>. В мікро-ЕОМ є схема звукової сигналізації, що описана в лабораторній роботі 4. Початок підпрограми звукової сигналізації – адреса 0012. Всі наведені в лабораторній роботі програми, а також порядок їх виконання можуть бути досліджені на навчальній микро-ЕОМ.

Зміст звіту

Звіт повинен містити: 1. Повний перелік арифметичних команд МП БІС КР580ИК80 2. Програму для дослідіження результата перемноження двох 8-розрядних чисел. 4. Змінити програму 8.18, яка досліджується в завданні 1. 5. Змінити програму 8.20, дослідовану в завданні 2. 6. Результати виконання арифметичних операцій за всіма завданнями.

Завдання для самоперевірки

1. Які команди арифметичних операцій може виконувати МП БІС КР580ИК80?.

2. Сформулюйте правило виконання МП БІС команди DАА.

3. Після яких команд можна здійснювати десятичну корекцію числа акумудятора (виконувати команду DАА)?

4. Яке оцінити максимальний час виконання підпрограми множення двох чисел (програма 8.18)?.

5. Чи можна безпосередньо дослідити перемноження двох чисел за підпрограмою 8.18?

6. На чому грунтуються алгоритми роботи підпрограм множення і ділення чисел?

7. Подайте числа від 0 до 20 в двійково-десятичному коді.

8. Вкажіть можливі способи подання чисел для МП БІС КР580ИК80.

9. Оцінити максимальний час виконання програми ділення двох чисел, якщо час машинного такта для МП БІС Т = 1 мкс.

Література

1. Прангишвили И.В. Микропроцессоры и микро-ЭВМ. – М.: Энергия, 1979.

2. Соучек Б. Микропроцессоры и микро-ЭВМ: Пер. с англ. – М.: Советское радио, 1979.

Лабораторна робота 7

ПІД'ЄДНАННЯ ДИСПЛЕЯ И КЛАВІАТУРИ ДО МІКРО-ЕОМ

Мета роботи:вивчення програмно-апаратурних методів під'єднання дисплея і клавіатури до мікро-ЕОМ.

Короткі відомості з теорії

Як пристрій виводу інформації, зручного для сприяття, часто використовується дисплей. Розглянимо метод під'єднання дисплея, який складається з шести комірок (сім сегментних індикаторів), які являють собою вісім світлодіодів з загальним анодом в одному корпусі. КОжний індикатор (рис. 8.13, а) має сім світлодіодів для відображення сегментів цифр, а восьмий світлодіод відображає десятичну крапку (рис. 8.13, б). Індикатор може відображати цифри від 0 до 9, а також деякі букви.

Пронумеруємо комірки дисплея так, як показано на рис. 8.14.

Для зменшення схемотехничного забезпечення, необхідного для під'єднання дисплея до мікро-ЕОМ, часто застосовують мультіплексний режим роботи індикаторів. При цьому для виводу на дисплей інформації використовують два вихідних регістра: РгСг (адреса 3816) для запису семисегментногл кода і РгСк (адреса 2816) для запису номера індикатора (рис. 8.15).

Однакові сегменти кожної комірки індикатора пов'язані загальною шиною, яка з'єднана з одним з транзисторних ключів VT1 – VT8 на виході регістра РгСг. Загальні аноди індикатора під'єднані до одного з транзисторних ключів VT9 – VT14 на виході регістра сканування РгСк. Ввімкнення індикатора і його сегментів при записі одиниці у відповідні розряди маают вигляд:

для регістра РгСг

Номер розряду регістра сегментів дисплея

0

1

2

3

4

5

6

7

Увімкнений сегмент

a

b

c

d

e

f

g

h

для регістра РгСк

Номер розряду регістра цифр дисплея

0

1

2

3

4

5

6

7

Увімкнена цифра дисплея

a

b

c

d

e

f

g

h

Сигнали заведені на регістри РгС і РгСк (К589ИР12) так, що при надходженні на вхід ВК1 сигналу виборки від дешифратора адреси дані з МД, під'єднаної по входам Д07, записуються в регістр і з'являються на його входах Q0-Q7. Таким чином, наприклад, при записі в регістр сегментів числа 0000 0110 відмикаються транзисторні ключі VT2 і VT3, а при записі в регістр сканування РгСк числа 0010 0000 відмикається транзисторний ключ VT14 і струм проходить по ланцюгу +5 В - VT14 - HG1 – b і c - VT2 і VT3земля, при цьому на лівому індикаторі висвітиться 1. Якщо тепер за допомогою програми висвічувати по черзі всі комірки, записуючи їх код в регістр V2 і включаючи необхідну цифру за допомогою регістра РгСк, то при достатньо високій частоті перемикань можна отримати стійке зображення інформації на дисплеї.

Наведемо просту програму вмикання сегментів п'ятої комірки дисплея за допомогою кода, який задається з вхідного пристрою мікро-ЕОМ (програма 8.21).

Підпрограма 8.21.

Адреса

Машинний код

Мітка

Мнемокод

Коментар

8000

3Е 20

MVI A, 20

завантажити в аккумулятор число 0010 0000

8002

D3 28

OUT SCAN

увімкнути цифру 5

8004

DB 20

CNT

IN 20

рахувати дані з вхідного пристрою

8006

D3 38

OUT DSP

записати їх в регістр сегментів дисплею

8008

C3 0408

JMP CNT

продовжити

Програма 8.21 дозволяє за рахунок зміни коду на вхідному пристрої (адреса 2016) увімкнути різні сегменти п'ятого індикатора дисплея.

Організація мультіплексного режиму роботи дисплея. При мультіплексному режимі роботи виведення інформації на кожний індикатор дисплея виводиться мікро-ЕОМ послідовно. Цифра чи символ на індикаторі висвічується деякій проміжок часу, що задається підпрограмою затримки. При більшій частоті сканування індикатора на цифровому дисплеї отримується стійке зображення. Схема алгоритму програми, що забезпечує мультіплексний режим роботи дисплею, наведена на рис. 8.16 (програма 8.22). Код цифр для виводу на кожну комірку дисплея зберігається в послідовних комірках пам'яті з адресами 0900-0905. При цьому передбачається, що код цифри для вивода на 0 індикатора дисплея записаний за адресою 0900. Початкова адреса підпрограми почасової затримки 0430.

Програма 8.22.

Адреса

Машинний код

Мітка

Мнемокод

Коментар

8000

01 0004

DSO

LXI B, 0400

завантажити в регістри В, С тривалість затримки

8003

AF

XRA A

очистити акумулятор

8004

21 0500

CNT 1

LXI H, 0905

вказати на адресу коду цифри 5

8007

16 20

MVI D, 20

завантажити покажчик цифри в регістр D

8009

7E

CNT 2

MOV A, M

отримати з ОЗП код чергової цифри

800A

D3 38

OUT DSP

записати його в регістр сегментів дисплея

800C

7A

MOV A, D

завантажити в акумулятор покажчик цифри

800D

D3 28

OUT SCAN

увімкнути потрібну цифру

800F

1F

RAR

вказати на наступну цифру

8010

57

MOV D, A

зберегти покажчик цифри в регістр D

8011

CD 3004

CALL DELB

викликати підпрограму часової затримки

8014

AF

XRA A

очистити акумулятор

8015

D3 28

OUT CSAN

виключити цифру

8017

2D

DCRL

зменшити на 1 вміст регістра L

8018

B2

ORA D

чи всі повідомлення виведені?

8019

C2 0908

JNZ CNT 2

якщо ні, продовжувати

801C

C3 0408

JMP CNT 1

якщо так, то почати спочатку

Під'єднання клавіатури до мікро-ЕОМ. Клавіатура є одним з широко розповсюджених пристроїв введення даних і керованих впливів в мікро-ЕОМ. За допомогою клавіатури можна вводити програму в ОЗП, ініціювати різні режими роботи мікро-ЕОМ (пуск програми за машинними циклами, виведення вмісту регістрів МП БІС на дисплей тощо).

У всіх випадках при організації введення інформації с клавіатури в мікро-ЕОМ перед розробником ставиться низка задач, до основних з яких можна віднести: 1) визначення факту натискання клавіші на клавіатурі; 2) знаходження номера натиснутої клавіші; 3) здійснення передачі керування на відповідну підпрограму. Перші дві задачі є специфічними при організації введення інформації с клавіатури,, і саме їм буде приділена увага в даному розділі. Остання, як правило, вирішується програмними методами.

Найбільш зручно організувати клавіатуру у вигляді матриці розміром n Х m, де n і m – відповідна кількість рядків і стовпців. Притакому способі організаціфї до мікро-ЕОМ можна під'єднати m Х n клавіш. Спряження клавіатури з мікро-ЕОМ призводять за допомогою пристроїв введення-виведення даних. Для ілюстрації методу спряження клавіатури з мікро-ЕОМ розглянимо клавіатуру 3 Х 3, подану на рис. 8.17 (де СхДША – схема дешифрації адреси, Увв – пристрій введення, УВив – пристрій виведення), ряядки якої під'єднані до трьох молодших розрядів пристрою виведення УВив (символьне позначення адреси KBDOT), а стовпці під'єднані до трьох молодших розрядів пристрою введення УВв (символьне позначення адреси KBDIN).

При підпрограмному способі дешифрації натиснутої клавіші визначення факту натискання на клавішу може бути здійснено за допомогою такої послідовності операцій: 1. Записати нулю в розряди вихідного пристрою. 2. Рахувати вміст розрядів вхідного пристрою. 3. Повторити знову, якщо у всіх розрядах вхідного пристрою записани одиниці.

Програма 8.23, яка написана у відповідності з приведеним алгоритмом, дозволяє визначити факт натискання на одну з клавіш, але не вказує номер натиснутої клавіші.

Програма 8.23.

Адреса

Машинний код

Мітка

Мнемокод

Коментар

8000

3E F8

WAITK

MVI A, 11111000

записати 0 в молодші три розряди акумулятора

8002

D3 KBDOT

OUT KBDOT

записати 0 у вихідний пристрій (адреса KBDOT)

8004

DB KBDIN

IN KBDIN

отримати число з вхідного пристрою (адреса KBDIN)

8006

E6 07

ANI 00000111

очистити старші п'ять розрядів акумулятора

8008

FE 07

CPI 00000111

чи є в молодших трьох розрядах акумулятора 0

800A

CA 0008

JZ WAITK

якщо ні, то йти на WAITK

800D

C3 0D08

DONE

JMP DONE

кінець

Визначити номер натиснутої клавіші можна за допомогою алгоритму, наведеному на рис. 8.18. Алгоритм базується на послідовному запису нуля в кожний з рядків матриці клавіатури. При наявності нуля в кожному рядку мікро-ЕОМ визначає факт натискання на клавіші, що знаходяться в стовпцях клавіатури, що нналежать рядку, який аналізується. Якщо будь-яка клавіша натиснута, то визначається її номер за номером розряду, в якому записаний нуль. Програма 8.24 реалізує описаний вище алгоритм. Номер натиснутої клавіші визначається за номером рядка клавіатури, в якому виявлена натиснута клавіша, і номером розряду вхідного пристрою, в якому записаний нуль.

Програма 8.24.

Адреса

Машинний код

Мітка

Мнемокод

Коментар

8000

0600

MVI B, 00

обнулити лічильник клавіш

8002

OE FE

MVI C, 11111110

початкова установка маски сканування рядків

8004

16 03

MVI D, 03

встановити лічильник рядків

8006

79

FROW

MOV A, C

записати маску сканування в акумулятор

8007

D3 KBDOT

OUT KBDOT

записати маску сканування у вихідний пристрій (адреса KBDOT)

8009

07

RLC

змінити маску скануваня

800A

4F

MOV C, A

зберегти маску в регістрі С

800B

DB KBDIN

IN KBDIN

отримати число зі входу пристрою (адреса KBDIN)

800D

E6 07

ANI 00000111

маскувати п'ять старших його розрядів

800F

FE 07

CPI 00000111

чи є в трьох молодших розрядах 0

8011

C2 1F08

JNZ FCOL

якщо так, то йти на FCOL

8014

78

змінити вміст лічильника номера клавіш

8015

C6 03

8017

47

8018

15

DCR D

зменшити вміст лічильника рядків

8019

C2 0608

JNZ FROW

якщо не останній рядок, то повторити для наступного рядка

801C

C3 2708

JMP DONE

йти на закінчення

801F

1F

FCOL

визначення номера розряду, в якому записаний 0, і визначення номера натиснутої клавіші

8020

D2 2708

8023

04

8024

C3 1F08

8027

C3 2708

DONE

JMP DONE

кінець

Часто при роботі мікро-ЕОМ її операційна система будується таким чином, що інформація, яка вводиться з клавіатури, відображається на дисплеї. З більш детальними прикладами побудови таких програм можна ознайомитися по літературі, наведеній в кінці лабораторної роботи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]