МПС()Микропроцессоры__моилабы / отчёт3 мпс
.docФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение
высшего профессионального образования
«Юго-западный государственный университет»
Кафедра вычислительной техники
Лабораторная работа №3
Управление матричной клавиатурой и динамической индикацией
Выполнил: студ. гр. ВМ-81
Корой В. В.
Проверил: Панищев В.C.
Курск 2011 г.
-
Цель работы
Цель данной работы изучить способы прямого управления клавиатурой и индикацией.
Задание
№ варианта |
Первая клавиша |
Вторая клавиша |
Первое сообщение |
Второе сообщение |
4 |
3 |
9 |
4 |
6 |
Виды сообщений:
6)
|
4) |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
Схема подключения индикации |
Схема подключения клавиатуры |
Алгоритм работы программы:
Код программы:
wait:
mvi a,f7
out 07
in 06
ani 0f
jz wait1
jmp m2
wait1:
mvi a,df
out 07
in 06
ani 0f
jz wait
jmp m1
m1:
mvi a,20
out 07
mvi a,06
out 06
mvi a,10
out 07
mvi a,5b
out 06
mvi a,08
out 07
mvi a,4f
out 06
mvi a,04
out 07
mvi a,66
out 06
mvi a,02
out 07
mvi a,6d
out 06
mvi a,01
out 07
mvi a,7d
out 06
mvi a, df
out 07
in 06
ani 0f
jnz m1
m2:
mvi a,20
out 07
mvi a,07
out 06
mvi a,10
out 07
mvi a,7f
out 06
mvi a,08
out 07
mvi a,6f
out 06
mvi a,04
out 07
mvi a,77
out 06
mvi a,02
out 07
mvi a,fc
out 06
mvi a,01
out 07
mvi a,39
out 06
mvi a,f7
out 07
in 06
ani 0f
jz m1
jmp m2
Метка |
Адрес |
КОП |
Мнемокод |
Комментарий |
wait: |
0800 |
3Е |
MVI A, F7 |
Нажата ли клавиша 3 |
|
0801 |
F7 |
|
|
|
0802 |
D3 |
OUT 07 |
|
|
0803 |
07 |
|
|
|
0804 |
0B |
IN 06 |
|
|
0805 |
06 |
|
|
|
0806 |
E6 |
ANI 0F |
|
|
0807 |
02 |
|
|
|
0808 |
CA |
jz WAIT1 |
|
|
0809 |
0E |
|
|
|
080A |
08 |
|
|
|
080B |
C3 |
JMP M2 |
Нажата ли клавиша 9 |
|
080C |
57 |
|
|
|
080D |
O8 |
|
|
|
080E |
3E |
MVI A,DF |
|
wait1: |
080F |
DF |
|
|
|
0810 |
D3 |
out 07 |
|
|
0811 |
O7 |
|
|
|
0812 |
DB |
in 06 |
|
|
0813 |
O6 |
|
|
|
0814 |
E6 |
ani 0f |
|
|
0815 |
0F |
|
|
|
0816 |
CA |
JZ WAIT |
Ничего не нажато, ждём |
|
0817 |
00 |
|
|
|
0818 |
08 |
|
|
|
0819 |
C3 |
jmp m1 |
Устанавливаем переход на сообщение 1 |
|
081A |
1C |
|
|
|
081B |
O8 |
|
|
M1 |
081C |
3E |
mvi a,20 |
Выводим символы на индикаторы поочерёдно |
|
081D |
20 |
|
|
|
081E |
D3 |
out 07 |
|
|
081F |
7 |
|
|
|
0820 |
3E |
MVI A,06 |
|
|
0821 |
6 |
|
|
|
0822 |
D3 |
OUT 06 |
|
|
… |
… |
… |
|
M2 |
0857 |
3E |
mvi a,20 |
Выводим символы на индикаторы поочерёдно |
|
0825 |
20 |
|
|
|
0826 |
D3 |
out 07 |