Микропроцессорная система обработки дискретной информации
ФЕДЕРАЛЬНОЕ
АГЕНТСТВО ПО РЫБОЛОВСТВУ
ФГОУВПО
"МУРМАНСКИЙ
ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ"
Кафедра
автоматики и вычислительной
техники
Курсовая
работа
по
дисциплине "Микропроцессорные устройства в РЭО"
на
тему "Микропроцессорная система обработки дискретной информации"
Выполнил: студентка
5 курса
Малышева Людмила
Алексеевна
Мурманск
Содержание
Задание на курсовую работу
. Определение
базового адреса
. Расчёт
временных задержек
. Программа
функционирования МПС9
4. Разработка
принципиальной схемы ввода - вывода дискретной информации
Библиографический список
Задание на курсовую работу.
программа микропроцессорный
дискретный интерфейс
1. Определить свой базовый адрес, исходя
из двух последних цифр шифра.
2. Рассчитать временные задержки и
написать программу, обеспечивающую функционирование микропроцессорной системы
ввода-вывода дискретной информации на база БИС КР580 ВВ55 программируемого
параллельного интерфейса. К одному из разрядов подсоединить ключ KDj,
имитирующий датчик, к двум другим разрядам - светодиоды КHi
1
и КHi2, имитирующие
индикаторы.
KDj
= В4
КHi
=
А6
КHi
=
А0
Т1 = 7 сек
Т2 =10 сек.
3. Подберите по справочнику микросхемы,
необходимые для технической реализации устройства ввода-вывода дискретной
информации, обоснуйте свой выбор.
4. Начертите принципиальную электрическую
схему ввода-вывода дискретной информации на базе БИС КР580ВВ55 и селектора
адреса с соединением, обеспечивающим вычисленный базовый адрес.
1. Определение
базового адреса
В соответствии с таблицей вариантов принимаем
исходные данные:
канал и номер разряда ввода KDj
- B4
канал и номер разряда вывода КHi
1
- А6
канал и номер разряда вывода КHi
2
- А0
время Т1 - 7сек
время Т2 10сек.
Определение базового адреса.
Базовый адрес определяем по двум последним цифрам
шифра - 69.
Переведём 69 в шестнадцатеричную систему
счисления:
10 =
4516 = 0100 01012
Так как два младших бита в базовом адресе равны
нулю, принимаем базовый адрес 0100 01002 = 4416.
БА = 44 - КА - канал А
БА + 1 = 45 -
КВ - канал В
БА + 2 = 46 -
КС - канал С
БА + 3 = 47 - РУС - регистр управляющего слова.
2. Расчёт
временных задержек
По заданию требуется рассчитать временные
задержки продолжительностью Т1 =7сек и Т2 =10
сек.
Принимаем частоту поступающих на микропроцессор
синхроимпульсов равной 2МГц, тогда длительность одного такта составит
Блок-схема алгоритма временной задержки.
Рисунок 1. Блок-схема алгоритма временной
задержки.
Общее время задержки равно
общ =t1
+
(t2 +
t3 +t4
)
N1 +t5.
Определим количество циклов N1
:
Так как N
не может принимать значение больше 255, то необходимо применить вложенные циклы
(не менее 3х):
2552 < 736 841 < 2553
65025 < 736 841 < 16 581 375
Составляем блок-схему алгоритма временной
задержки со вложенными циклами.
Рисунок 2 Блок-схема алгоритма временной
задержки с вложенными циклами.
Исходя из алгоритма вычисляем общее время
задержки:
общ =
t1 +
(t2
+ (t3
+ (t4
+ t5
)N3
+ t6
+ t7
)N2
+ t8
+ t9)N1
+ t10
tобщ =
7t0 +
(7t0
+ (7t0
+ (5t0
+ 10t0
)N3
+ 5t0
+ 10t0
)N2
+ 5t0
+ 10t0)N1
+ 10t0
Временная задержка Т1 =7с.
Для Т1 = 7сек (7· 2МГц = 14 000 000
тактов):
14 000 000 = 17+(22+(22+15N3
)N2
)N1
Примем N3=
255, тогда
14 000 000 = 17+(22+(22+15 · 255
)N2 )N1
Подберём такое значение N2
,
при котором N1
получилось бы как можно ближе к целому числу.
При N2
= 95:
Таким образом, при N1=38,
N2=95,
N3=255
общ
=17=(22+(22+15·255)·95)·38=13 888 523 тактов
tобщ
= 13 888 523·0,5·10-6=6,944 сек.
Значения N1
,
N2, N3
в 16-тиричной системе счисления равны:
N1
=3810 =2616
N2 =
9510 = 5F16
N3
= 25510 = FF16
Подпрограмма временной задержки TIME
1 (Т1 = 7 с).
Таблица 1.
Адрес
|
Метка
|
Мнемоника
|
Операнд
|
Код
операции
|
0900
|
|
MVI
|
B 26
|
06 26
|
0902
|
M3
|
MVI
|
C 5F
|
0E 5F
|
0904
|
M2
|
MVI
|
D FF
|
16 FF
|
0906
|
M1
|
DCR
|
D
|
15
|
0907
|
|
JNZ
|
M1
|
C2 06 09
|
090А
|
|
DCR
|
C
|
0D
|
090В
|
|
JNZ
|
M2
|
C2 04 09
|
090Е
|
|
DCR
|
B
|
05
|
090F
|
|
JNZ
|
M3
|
C2 02 09
|
0912
|
|
RET
|
|
C9
|
Временная задержка Т2 =10с.
2 <
1 052 630 <2553 - требуется сделать 3 вложенных цикла.
Для Т2 = 10 сек (10·2 МГц = 20 000
000 тактов):
20 000 000 = 17+(22+(22+15N3)N2)N1
Принимаем N3
=
255, тогда
20 000 000 = 17+(22+(22+15·255)N2)N1
Примем N2
= 200,
тогда:
общ
= 17+(22+(22+15·255)·200)·26 = 20 004 989 тактов
tобщ
= 20 004 989 ·0,5·10-6 = 10, 00249 сек.
Переведём значения N1
,
N2, N3
в 16-тиричную систему счисления:
N1
=2610 =1A16
N2 =
20010 = C816
N3
= 25510 = FF16.
Подпрограмма временной задержки TIME2
(Т2 = 10с).
Таблица 2.
Адрес
|
Метка
|
Мнемоника
|
Операнд
|
Машинный
код
|
0B00
|
|
MVI
|
B 1A
|
06 1A
|
0B02
|
M3
|
MVI
|
C C8
|
0E C8
|
0B04
|
M2
|
MVI
|
D FF
|
16 FF
|
0B06
|
M1
|
DCR
|
D
|
15
|
0B07
|
|
JNZ
|
M1
|
C2 06 0B
|
0B0A
|
|
DCR
|
C
|
0D
|
0B0B
|
|
JNZ
|
M2
|
C2 04 0B
|
0B0E
|
|
DCR
|
B
|
05
|
0B0F
|
|
JNZ
|
M3
|
C2 02 0B
|
0B12
|
|
RET
|
|
C9
|
3. Программа функционирования МПС
Разработка микропроцессорной системы будет
происходить на базе БИС КР580ВВ55.
Блок-схема алгоритма функционирования
микропроцессорной системы представлена на рисунке 3.
Рисунок 3. Блок-схема функционирования МПС.
Блок 1 осуществляет инициализацию ППИ, то есть
настраивает канал В на ввод; канал А - на вывод; устанавливает режим работы
группы каналов А и В - режим 0.
Для инициализации ППИ составляем управляющее
слово:
УС = 1000 0010В = 82Н.
Инициализация ППИ осуществляется с помощью двух
команд:
MVI
A, D8
- загрузка управляющего слова (D8
= 82Н) в аккумулятор;
OUT
N - пересылка
управляющего слова из аккумулятора в РУС по адресу N
(N=47H).
Блок 2 осуществляет ввод соответствующего
разряда канала, к которому подсоединён ключ, то есть В 4. Команда IN
N - загрузка байта
информации из порта ввода - вывода по адресу N
(N = 45H).
Блок 3 осуществляет наложение маски на
содержимое аккумулятора путём выполнения операции логического умножения данных,
полученных из канала В на число, где в четвёртом разряде содержится логическая
1: 0001 0000В = 10Н. Команда FNI
D8 - логическое
умножение битов аккумулятора и операнда D8
(D8 = 10H).
Блок 4 реализует разветвление по содержимому
триггера Тz
.
В случае, если Тz
=1,
осуществляется переход по адресу 0804 (блок 2). Команда JZ
ADR. В случае Тz
= 0 выполняется блок 5.
Блок 5 осуществляет вывод логической 1 в
соответствующий разряд канала KHi
,
что приводит к включению светодиода. Команды MVI
A, D8
(D8 = 0100 0000B
= 40H); OUT
N - пересылка
значения аккумулятора в КА (порт ввода-вывода) по адресу N
+ 44H.
Блок 7 осуществляет вывод логического нуля и
единицы в соответствующие разряды канала согласно KHi
,
что приводит к выключению светодиода 1 и включению светодиода 2. Команда MVI
A, D8
- загрузка в аккумулятор бита, соответствующего включению только светодиода 2 (D8
= 0000 0001В = 01H); команда ОUT
N - пересылка
значения аккумулятора в КА (порт ввода-вывода А) по адресу N
(N=44H).
Блок 8 оформленный в виде подпрограммы,
осуществляет программную временную задержку 10 секунд. Вызов подпрограммы
осуществляется командой COLL
ADR (0В00).
После выполнения блока 8 выполняется безусловный
переход на блок 2. Команда JMP ADR (0804).
Временную диаграмму ввода-вывода дискретной
информации можно представить в виде осциллограмм, представленных на рисунке 4.
Рисунок 4. Осциллограммы функционирования МПС ввода-вывода
дискретной информации.
Программа.
Таблица 3.
Адрес
|
Метка
|
Мнемоника
|
Операнд
|
Машинный
код
|
Комментарии
|
0900
|
TIME1
|
MVI
|
B 26
|
06
26
|
Подпрограмма
временной задержки Т1 = 7с
|
0902
|
M3
|
MVI
|
C 5F
|
0E 5F
|
|
0904
|
M2
|
MVI
|
D FF
|
16 FF
|
|
0906
|
M1
|
DCR
|
D
|
15
|
|
0907
|
|
JNZ
|
M1
|
C2 06 09
|
|
090А
|
|
DCR
|
C
|
0D
|
|
090В
|
|
JNZ
|
M2
|
C2 04 09
|
|
090Е
|
|
DCR
|
B
|
05
|
|
090F
|
|
JNZ
|
M3
|
C2 02 09
|
|
0912
|
|
RET
|
|
C9
|
Возврат
в основную программу
|
0B00
|
TIME2
|
MVI
|
B 1A
|
06 1A
|
Подпрограмма
временной задержки Т2 = 10с
|
0B02
|
M3
|
MVI
|
C C8
|
0E C8
|
M2
|
MVI
|
D FF
|
16 FF
|
|
0B06
|
M1
|
DCR
|
D
|
15
|
|
0B07
|
|
JNZ
|
M1
|
C2 06 0B
|
|
0B0A
|
|
DCR
|
C
|
0D
|
|
0B0B
|
|
JNZ
|
M2
|
C2 04 0B
|
|
0B0E
|
|
DCR
|
B
|
05
|
|
0B0F
|
|
JNZ
|
M3
|
C2 02 0B
|
|
0B12
|
|
RET
|
|
C9
|
Возврат
в основную программу
|
0800
|
START
|
LXI
|
SP 0C00
|
31 00 0C
|
Инициализация
стека
|
0803
|
|
MVI
|
А,
82
|
3E 82
|
Инициализация
ППИ
|
0805
|
|
OUT
|
47
|
D3 47
|
|
0807
|
М4
|
IN
|
45
|
OC 45
|
Ввод
из канала В
|
0809
|
|
ANI
|
10
|
E6, A
|
Наложение
маски на 4 разряд
|
080B
|
|
JZ
|
М4
|
CA 04 08
|
При
Тz=1 -
возврат на блок 2
|
080E
|
|
MVI
|
A, 40
|
3E 40
|
Зажигаем
светодиод в 6-м разряде
|
0810
|
44
|
D3, 44
|
|
0812
|
|
CALL
|
TIME1
|
CD 09 00
|
Вызов
п/п задержки Т1 =7с
|
0815
|
|
MVI
|
A, 01
|
3E, 01
|
Зажигаем
светодиод в 0 разряде
|
0817
|
|
OUT
|
44
|
D3 44
|
|
0819
|
|
CALL
|
TIME2
|
CD 00 0B
|
Вызов
п/п задержки Т2 =10 с
|
081C
|
|
JMP
|
М4
|
C3 04 08
|
Безусловный
переход на блок 2
|
. Разработка принципиальной схемы ввода-вывода
дискретной информации
При разработке принципиальной схемы необходимо
организовать селектор адреса для ППИ. В качестве селектора адреса можно
использовать любую микросхему, обеспечивающую на входе CS
низкий уровень сигнала для единственной комбинации сигналов А1А7.
Например, в качестве селектора адреса можно использовать логический элемент
ИЛИ, тогда получим следующие 4 адреса, по которым можно обратиться к ППИ (табл.
4).
Таблица 4.
В-код
|
Н-код
|
Канал
|
А7
|
А6
|
А5
|
А4
|
А3
|
А2
|
А1
|
А0
|
|
|
0
|
1
|
0
|
0
|
0
|
1
|
0
|
0
|
44
|
КА
|
0
|
1
|
0
|
0
|
0
|
1
|
0
|
1
|
45
|
КВ
|
0
|
1
|
0
|
0
|
0
|
1
|
1
|
0
|
46
|
КС
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
47
|
РУС
|
Структурная схема селектора показана на рисунке
5 .
Рисунок 5.Структурная схема селектора.
Согласно таблице 4: А2 = 1 А5
= 0
А3 = 0 А6 = 1
А4 = 0 А7 = 0.
В качестве селектора адреса используем
микросхему К555ИД7, представляющую собой дешифратор, имеющий три адресных входа,
три входа стробирования S,
два из которых инверсные, и восемь инверсных выходов. Логический 0 на одном из
выходов может появиться лишь при единственном разрешающем сочетании сигналов на
входах стробирования S:
на инверсных входах должен быть логический 0, на прямом - логическая 1. Если
это условие выполнено, то логический 0 появится на том единственном из восьми
выходов, номер которого определяется двоичным кодом на трёх остальных входах
схемы (табл. 5).
Таблица 5.
Входы
|
Активный
выход
|
2
|
1
|
0
|
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
2
|
0
|
1
|
1
|
3
|
1
|
0
|
0
|
4
|
1
|
0
|
1
|
5
|
1
|
1
|
0
|
6
|
1
|
1
|
1
|
7
|
В нашем случае при А2 = 1, А3
= 0, А4 = 0 логический 0 появится на выходе "1"
дешифратора. На прямой вход стробирования подаём А6 = 1, на
инверсные - А5 = 0 и А7 = 0.
Ключ KDj,
имитирующий датчик, подсоединим к разряду B4
порта ввода-вывода канала КВ через делитель напряжения R1,
R2.
Основные условия делителя - обеспечивать потребляемый портом ток (0,4 мА на
один разряд) и необходимое напряжение логической 1 (2,4 ÷
5В), при соблюдении экономии.
Рисунок 6. Делитель напряжения.
Максимальное значение сопротивления R1
=,
учитывая, что часть тока через сопротивление R1
ответвится на R2,
сопротивление R1
примем равным 4,7 кОм. Тогда ток в цепи R1
=,
а ток в цепи R2
= 0,53 - 0,4 = 0,13мА, соответственно R2
= .
Округлим R2
по ряду Е24: R2
= 20 кОм.
В качестве индикаторов выберем светодиоды
АЛ301Б, с током потребления 10мА и напряжением 2,8В. Так как ток светодиода
больше, чем ток порта, то в качестве буфера применим микросхему К155ЛН2 с
максимальным выходным током 16мА. Для создания напряжения на каждом из
светодиодов 2,8В используем сопротивления R3
и
R4.
Напряжение на R3
(R4 )
равно 2,2В, ток равен 10мА, тогда сопротивление
3
= R4
= .
По цепи питания +5В поставим блокировочный
конденсатор С1 = 0,1 мкФ.
Библиографический список
1. Токхайм Р. Микропроцессоры: Курс
и упражнения / Пер. с англ., под ред. В. Н. Грасевича. М.: Энергоатомиздат,
1988. - 336 с.: ил.
. Майоров В. Г., Гаврилов А. И.
Практический курс программирования микропроцессорных систем. - М.:
Машиностроение. 1989. - 272 с.: ил.
. Микропроцессорные устройства в
РЭО. Методические указания и задания к контрольной и курсовой работам для
студентов заочного факультета специальностей 160905.65 "Техническая
эксплуатация транспортного радиооборудования" и 210302.65
"Радиотехника". Составители: Маслов А. А., проф, зав. Кафедрой
автоматики и вычислительной техники, Гавренко В. Д., доцент кафедры автоматики
и вычислительной техники МГТУ, 2008.
. Микропоцессоры и микропроцессорные
комплексы интегральных микросхем: Справочник. Под ред. В.А. Шахнова. Радио и
связь, 1988.