Российский государственный
профессионально-педагогический университет
Институт электроэнергетики и информатики
Кафедра микропроцессорной управляющей вычислительной техники
Отчёт по лабораторной работе №3
«Изучение временных диаграмм выполнения команд ввода и вывода информации»
Выполнил: Меньшенина О.А.
Проверил: Мешков В.В.
Екатеринбург, 2008
Цель работы: изучение особенностей функционирования микропроцессора при выполнении команд ввода и вывода информации, приобретение навыков программного управления клавиатурой и дисплеем УМК.
Общие сведения
Команды ввода и вывода информации обеспечивают информационный обмен данными между микропроцессором и устройствами ввода-вывода (портами вода/вывода) микропроцессорной системы. В табл. представлены команды указанной группы.
Мнемоника команд |
Число байт |
Выполняемые действия |
Состав машинных циклов/количество тактов в циклах |
Команды ввода информации в аккумулятор из порта ввода |
|||
IN<В2> |
2 |
(А)<=port<В2> |
1/4,2/3,6/3 |
Команды вывода информации в порт вывода из аккумулятора |
|||
OUT<В2> |
2 |
Port<В2><=(А) |
1/4,2/3,7/3 |
где <B2> адрес канала порта: F8 – канал А, F9 – канал В, FA – канал C.
Задание1: Составить программу выдачи на дисплей название своей группы (программу составить в виде процедуры выдачи на дисплей существующего массива с заранее подготовленными кодами).
Адрес ячейки памяти |
Код |
Комментарий |
0800 |
01 |
1 позиция |
0801 |
7f |
B |
0802 |
02 |
2 позиция |
0803 |
78 |
t |
0804 |
03 |
3 позиция |
0805 |
40 |
– |
0806 |
04 |
4 позиция |
0807 |
66 |
4 |
0808 |
05 |
5 позиция |
0809 |
06 |
1 |
080a |
06 |
6 позиция |
080b |
7d |
6 |
Блок-схема
Блок-схема подпрограммы задержки
Листинг программы
0810 |
Lxi H |
21 |
HL←0800 |
0811 |
00 |
00 |
|
0812 |
08 |
08 |
|
0813 |
Mvi C |
0e |
С←06 |
0814 |
06 |
06 |
|
0815 |
Mov A,M |
7e |
А←M(HL) |
0816 |
Out |
d3 |
Вывести A на порт А |
0817 |
F8 |
f8 |
|
0818 |
Inr L |
2c |
L=L+1 |
0819 |
Mov A,M |
7e |
А←M(HL) |
081a |
Out |
d3 |
Вывести A на порт B |
081b |
F9 |
f9 |
|
081c |
Call |
cd |
Вызов подпрограммы задержки по адресу 0827 |
081d |
27 |
27 |
|
081e |
08 |
08 |
|
081f |
Inr L |
2c |
L=L+1 |
0820 |
Dcr C |
0d |
C=C-1 |
0821 |
Jz |
ca |
Перейти к 0800, если флаг z=1 |
0822 |
00 |
00 |
|
0823 |
08 |
08 |
|
0824 |
Jmp |
c3 |
Иначе перейти к 0815 |
0825 |
15 |
15 |
|
0826 |
08 |
08 |
|
Подпрограмма задержки |
|||
0827 |
Mvi D |
16 |
D←ff |
0828 |
ff |
ff |
|
0829 |
Mvi E |
1e |
E←04 |
082a |
04 |
04 |
|
082b |
Dcr E |
1d |
E=E-1 |
082c |
Jnz |
c2 |
Перейти к 082b, если флаг z=0 |
082d |
2b |
2b |
|
082e |
08 |
08 |
|
082f |
Dcr D |
15 |
D=D-1 |
0830 |
Jnz |
c2 |
Перейти к 0829, если флаг z=0 |
0831 |
29 |
29 |
|
0832 |
08 |
08 |
|
0833 |
Ret |
c9 |
Вернуться из подпрограммы |
Задание 2: Составить программу выдачи на какой-либо разряд дисплея результатов опроса какой-либо линейки клавиатуры.
Ячейки памяти 0800-080F зарезервированы для семисегментных кодов чисел 0-F.
Адрес ячейки памяти |
Семисегментный код |
Символ |
0800 |
3f |
0 |
0801 |
06 |
1 |
0802 |
5b |
2 |
0803 |
4f |
3 |
0804 |
66 |
4 |
0805 |
6d |
5 |
0806 |
7d |
6 |
0807 |
07 |
7 |
0808 |
7f |
8 |
0809 |
6f |
9 |
080A |
77 |
A |
080B |
7c |
B |
080C |
39 |
C |
080D |
5e |
D |
080E |
79 |
E |
080F |
71 |
F |
Блок-схема
Блок-схема процедуры сравнения
Блок-схема процедуры вывода символа
Блок-схема подпрограммы задержки
Листинг программы
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.