3 Програмування мікропроцесора
Скласти мовою асемблеру програму-драйвер для організації обміну інформацією між 16-розрядним МП і зовнішнім пристроєм з використанням ППІ – програмованого паралельного інтерфейсу.
Організувати введення даних із зовнішнього пристрою, яке виконує виміри, в оперативну пям’ять.
Кількість вимірів, адреса ЗП в шістьнадцятьковій системі числення, відповідні порти ППІ для зв’язку із МП, номери розрядів для передачі сигналів запуску і готовність ЗП приведені в таблицях 3.1, 3. 2.
Таблиця 3.1
j |
Порти ППІ |
Номери розрядів порта |
||||
А |
В |
С |
Запуск |
Готовність |
||
0..3 |
4..7 |
|||||
8 |
Д |
Г |
Зп |
- |
2 |
6 |
Умовні позначення: Г – сигнал готовності,
Зп – сигнал запуску,
Д – дані.
Таблиця 3.2
I |
Характеристики програми |
||
Адреса ППІ |
Кількість байтів |
|
|
6 |
6С |
176 |
|
Примітка: адреса ППІ- в 16-й системі;
кількість байтів - в 10-й системі.
Структура керуючого слова
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
ознака |
Порт А |
Порт С 4..7 |
Порт В |
Порт С 0..3 |
Кодування дій: введення - 1,
виведення - 0
Адреса ППІ
6 |
С |
Аy Ae As |
A3A2A1 |
0101 |
1100 |
|
|
Порт А 6С Порт В 7С Порт С 8С РУС 9С
|
Часові діаграми
Логічна схема селектора адресу ППИ
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
6 |
С |
.model small
.data
porta equ 6Ch
portb equ 7Ch
portc equ 8Ch
portr equ 9Ch
US equ 92h
N equ 176
Goto V equ 00100000
Zapusk equ 00000010
Mas dB N_dup(?)
. code
.startup
mov AL,US
out portr,AL
mov CX,N
lea Si,mas
M1: in AL,portb
and AL,gotov
jz M1
MO: mov AL,zapusk
out portc, AL
M2: in AL,portb
Jnz M2
mov AL, 0
out portc, AL
M3: in AL,portb
and AL, gotov
jz M3
in AL, porta
mov [Si], AL
inc Si
loop M0
.exit
end