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

8. Введення і виведення даних в мс1202

Кожен зовнішній пристрій, що підключається до МС1202, характеризується, принаймні, двома програмно-доступними регістрами, один з яких називається регістром стану, а другий — регістром даних. Адреси регістрів зовнішніх пристроїв входять в загальний адресний простір МС1202, займаючи в нім область старших адрес (див. рисунок 3,5). У таблиці. 8.1 приведені адреси пар регістрів дня найбільш поширених зовнішніх пристроїв МС1202 у системі ЧПУ 2С42.

Таблиця 8.1-Розподіл адресного простору зовнішніх пристроїв

Адреса

Найменування ВУ

Адреса

Найменування ВУ

1

2

3

4

160776

РС БОСІ

167640... ...167656

Регістри блоку ЦАП і керування кроковим приводом.

161000..... .....161776

РД БОСІ

167700..........167736

Регістри БСД

166600

РС БУ

167740... ...167772

Регістри блоку АЦП

166602

1 слово множника

173000.. ...173016

Блок уставок

166604

2 слово множника

177544

РС таймера

166606

1 слово множеного

177546

РД таймера

166610

2 слово множеного

177550

РС ФСУ

166612

1 слово результату

177552

РД ФСУ

166614

2 слово результату

177554

РС перфоратора

166616

3 слово результату

177556

РД перфоратора

166620

РС БПК

177560

РС ПУ

166622

1 слово даних

177562

РД ПУ

166624

2 слово даних

177564

РС друку БОСІ

166626

1 слово результату

177566

РД друку БОСІ

166630

2 слово результату

177750

РС ИРПС Вхідні регістри

166760.. 166762

РС ПК

177752

РД ІРПС Вхідні регістри

166764

РД ПК

177754

РС ІРПС Вихідні регістри

167600

РС входу блоку зв'язку з верстатом

177756

РД ІРПС Вихідні регістри

167602..........167624

РД сигналів від верстата

177774

РС КНМС

167630.........167636

РД сигналів на верстата

177776

РД КНМС

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

- БОСІ -110,

- Блок зв'язку із ПК -370,374,

- Блок зв'язку з верстатом -140,274,

- Таймер – 100,

- ФСУ – 70,

-Перфоратор – 74,

-ПУ - 64,

-ЕОМ ВР - 120,124,

-КНМЛ – 114.

Оскільки адреси програмно-доступних регістрів зовнішніх пристроїв включені в загальний адресний простір МС1202, до цих регістрів можна звертатися з програми, як і до звичайних елементів основної пам'яті. З цією метою допустимо застосовувати ті ж самі команди, які використовуються і для доступу до елементів основної пам'яті (наприклад, команду пересилки MOV або MOV(B). Проте звернення до регістрів зовнішнього пристрою дає різний результат залежно від того, який при цьому використовується регістр.

Регістр стану призначений для контролю поточного стану відповідного зовнішнього пристрою і управління його роботою. Частина бітів в регістрі стану програмно можна як читати, так і записувати (наприклад, біт 6, який вирішує, якщо дорівнює одиниці, або забороняє, якщо дорівнює нулю, переривання від устпойства). Інші біти можна лише читати (наприклад, біт 7, одиничне значення якого свідчить про готовність пристрою до виконання операції введення-виводу).

Регістр даних грає роль буфера для тимчасового зберігання даного, посиланого з МП на зовнішній пристрій або підготовленого зовнішнім пристроєм для передачі в МП. Найчастіше одиницею передачі даних між мікропроцесором і зовнішнім пристроєм через регістр даних служить байт, завжди відповідний молодшому байту регістра даних.

Для посилки байта даних на зовнішній пристрій, тобто для операції виводу, МП може виконати команду MOVB. У цій команді операнд-приймач повинні мати адресу регістра даних відповідного пристрою. Наприклад, команда

MOVB R2 @ # 177566

забезпечує виведення вмісту молодшого байта з регістра R2 на екран дисплея.

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

MOVB ® # 177562, R3

здійснює введення з клавіатури одного символу, відповідного клавіші, що натискує, і запам'ятовування коди цього символу в молодшому байті регістра R3. У обох прикладах звернення до зовнішнього пристрою (дисплею або клавіатурі) здійснюється вказівкою адреси регістра даних відповідного пристрою (див. таблиці. 3.3) з використанням абсолютного режиму адресації. Слід зазначити, що перед виконанням будь-якій з двох приведених вище команд в програмі необхідно спочатку перевірити, чи готовий відповідний зовнішній пристрій до операції. Цю перевірку можна виконати, наприклад, за допомогою команди TSTB, вказавши в ній адресу регістра стану зовнішнього пристрою. Команда перевіряє біт готовності пристрою (біт 7 в регістрі стану), і якщо він встановлений, формує одиничне значення ознаки N в ССП. Таке значення ознаки свідчить про можливість виконувати операцію пересилки байта на зовнішній пристрій або із зовнішнього пристрою.

Таблиця 8.2- Основна система команд мікрокомп'ютерів сімейства МС1202

Мнемонічна

запис

Призначення

команди

Код

команди

MOV (В)

Пересилка слова (байта)

*1SSDD

SWAB

Зміна місцями байтів в слові

0003DD

MFPS

Читання слова стану процесора

1067DD

MTPS

Запис слова стану процесора

1064DD

BIC (В)

Побітове скидання слова (байта)

*4SSDD

BIS (В)

Побітова установка слова (байта)

|5SSDD

ADD

Складання

06SSDD

SUB

Віднімання

16SSDD

MUL

Множення

070RSS

Мнемонічна

запис

Призначення

команди

Код

команди

CLR(B)

Очищення слова (байта)

|050DD

COM (В)

Здобуття зворотної коди

•051DD

INC (В)

Приріст слова (байта)

•052DD

DEC (В)

Зменшення слова (байта)

*053DD

NEC (В)

Зміна знаку слова (байта)

|054DD

ADC (В)

Збільшення перенесення

•055DD

SBC (В)

Віднімання перенесення

*056DD

SXT

Розширення знаку

0067DD

XOR

Виключає «або»

074RDD

CMP (B)

Порівняння слів (байтів)

*2SSDD

BIT (B)

Побітова перевірка слова (байта)

*3SSDD

TST (B)

Перевірка слова (байта)

*057DD

ROR (B)

Циклічне зсув управо

"060DD

ROL (B)

Циклічне зсув вліво

|061DD

ASR (B)

Арифметичний зсув управо

|062DD

ASL (B)

Арифметичний зсув вліво

|063DD

ASH (B)

Параметричний зсув слова

072RSS

ASHС (В)

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

073RSS

BR

Безумовний перехід

0004XX

BNE

Перехід, якщо не рівно

0010XX

BEQ

Перехід, якщо рівно

0014XX

BGE

Перехід, якщо більше або рівно

0020XX

BLT

Перехід, якщо менше

0024XX

BGT

Перехід, якщо більше

0030XX

BLE

Перехід, якщо менше або рівно

0034XX

BPL

Перехід по плюсу

1000XX

BMI

Перехід по мінусу

1004XX

BHI

Перехід, якщо більше

1010XX

BLOS

Перехід, якщо менше або рівно

1014XX

BVC

Перехід, якщо немає переповнювання

1020ХХ

BVS

Перехід, якщо переповнювання

1024ХХ

ВСС, BHIS

Перехід, якщо немає перенесення

1030XX

BCS.BLO

Перехід, якщо перенесення

1034XX

SOB

Віднімання одиниці і галуження

077RNN

JMP

Перехід безумовний

0001DD

JSR

Перехід до підпрограми

004RDD

RTS

Повернення з підпрограми

00020R

Мнемонічна

запис

Призначення

команди

Код

команди

CLC

Очищення ознаки С

000241

SEC

Установка ознаки С

000261

CLV

Очищення ознаки V

000242

SEV

Установка ознаки V

000262

CLZ

Очищення ознаки Z

000244

SEZ

Установка ознаки Z

000264

CLN

Очищення ознаки N

000250

SEN

Установка ознаки N

000270

CNZ

Очищення ознак N, Z

000254

CCC

Очищення всіх ознак

000257

SEE

Установка всіх ознак

000277

HALT

Останов процесора

000000

WAIT

Чекання

090001

RTI

Повернення після переривання

000002

BPT

Переривання для відладки

000003

IOT

Переривання при введенні-виводі

000004

RESET

Скидання у вихідний стан

000005

RTT

Повернення з переривання

000006

EMT

Переривання системне

104000-

104377

TRAP

Командне переривання

104400-

104477

MARK

Відновлення покажчика стека

0064NN

NOP

Відсутність операції

000240

MTPI

Запис в простір програми

попереднього режиму

0066DD

MTPD

Запис в простір даних предыдущего режиму

1066DD

MFPI

Читання з простору програми

попереднього режиму

0065SS

MFPD

Читання з простору даних попереднього режиму

1065SS

Примітки:

Коди команд вказані у восьмержной системі числення.

Деякі команди можуть виконувати операції як над словами, так і над байтами. При цьому мнемонічний запис операції байтовий.