Алгоритм функционирования микропроцессорного устройства. Вывод адреса каналов на коммутатор каналов

Страницы работы

Содержание работы

Алгоритм функционирования устройства.

Алгоритм функционирования микропроцессорного устройства приведен на рис.1. В данном алгоритме осуществляются следующие действия. Сначала необходимо обнулить регистры B и C затем запомнить число каналов N и адрес начальной ячейки памяти. Далее создадим цикл опроса входных каналов. В нем осуществляется выбор канала, пересылка данных в память и уменьшение номера канала N. Выход из цикла осуществляется при N=0. Дальше происходит обработка данных в соответствии с заданием. Запоминается число каналов N, начальный адрес памяти. В аккумулятор записывается содержимое ячейки памяти с начальным адресом, далее к содержимому аккумулятора прибавляется единица и проверяем есть ли перенос, если перенос присутствует, то вызванное заново данное суммируем с регистром С. В регистре В будем хранить сумму из четных данных, в С – нечетные. После перебора всех данных на выход микропроцессорной системы выдается минимальное и максимальное значение среди входных сигналов.

 


Начало

 


Загрузка в рег. D кол-ва каналов

 


Загрузка в рег.пару HL начального адреса памяти

 


Вывод адреса каналов на коммутатор каналов

 


Ввод сигнала в аккумулятор

 


Запись аккумулятора в память

 


Увеличение адреса памяти на 1

 


Уменьшение регистра D на 1

 


                                                             нет

D=0

       да

 


Загрузка в рег. D кол-ва каналов

Блок-схема: ссылка на другую страницу:  В
 


Загрузка в рег.пару HL начального адреса памяти

 


Загрузка аккумулятора из памяти

                                                                                                                            

Сложение со вторым байтом

 


А

 


А

                                                         Нет                                Да

А=нечет                          

Загрузка аккумулятора из памяти

 

Загрузка аккумулятора из памяти

 
            

 


Увеличение адреса памяти на 1

                       

Уменьшение регистра D на 1    

                                                                                                                   

                    нет

D=0

 


Блок-схема: ссылка на другую страницу:  В     да

Пересылка из В в А

 
 

 


Вывод результата

 


Пересылка из С в А

 


Конец

Распределение адресного пространства.

          0000

ПЗУ

003F

          0040

ОЗУ

          00FF

Рабочая программа устройства.

При разработке программы сбора и обработки данных будем использовать регистровую пару HL для адресации области памяти. В качестве счетчика каналов будем использовать регистр D. Счет каналов организуем в обратном порядке, потому что не принципиально в каком порядке их опрашивать, но такой вариант позволяет повысить быстродействие системы, т.к. из каждого цикла исключается операция сравнения.

Метка

Мнемокод

Операнды

Комментарий

K4:

K1:

K2:

K3:

LXI

MVI

LXI

OUT

IN

MOV

DCR

INX

JNZ

MVI

LXI

MOV

ADD

JC

MOV

ADD

JMP

MOV

ADD

INX

DCR

JNZ

MOV

OUT

MOV

OUT

JMP

B, 0000

D, 00001000

H, 0040

00

01

M, A

D

H

K1

D, 00001000

H, 0040

А, M

00000001

K1

A, M

B

K3

A, M

C

H

D

K2

A, B

02

A, C

02

K4

Обнуление регистров В и С

Загрузка регистра D

Загрузка начального адреса ОЗУ

Вывод адреса канала на коммутатор

Ввод данных с мультиплексора

Запись данных в память

Декремент регистра D

Инкремент регистровой пары HL

Проверка условия выхода из цикла опроса каналов

Загрузка регистра D

Загрузка начального адреса ОЗУ

Загрузка аккумулятора из памяти

Сложение со вуторым байтом

Проверка условия нечетности

Загрузка аккумулятора из памяти

Сложение с регистром B

Безусловный переход

Загрузка аккумулятора из памяти

Сложение с регистром С

Инкремент регистровой пары HL

Декремент регистра D

Проверка условия выхода из цикла сравнения данных

Пересылка из B в A

Вывод результата

Пересылка из C в A

Вывод результата

Повтор программы

Таблица размещения программы в ПЗУ.

Адрес памяти

Метка

Мнемокод

0000

0001

0002

0003

0004

0005

0006

0007

0008

0009

000A

000B

000C

000D

000E

000F

0010

0011

0012

0013

0014

0015

0016

0017

0018

0019

001A

001B

001C

001D

001E

001F

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

002A

002B

002C

002D

002E

002F

0030

0031

0032

0033

0034

0035

K4

K1

K2

K3

LXI B

00

00

MVI D

00001000

LXI H

40

00

OUT

00

00

IN

01

00

MOV M A

DCR D

INX H

JNZ

08

00

MVI D

00001000

LXI H

40

00

MOV A M

ADD

00000001

JC

08

00

MOV A M

ADD B

JMP

26

00

MOV A M

ADD C

INX H

DCR D

JNZ

24

00

MOV A B

OUT

02

00

MOV A C

OUT

02

00

JMP

03

00

Расчет реального быстродействия устройства.

Оценку быстродействия будем осуществлять с использованием блок-схемы и с учетом длительности выполнения каждой команды (см. таблицу).

Команда

Такты

MVI

LXI

OUT

IN

MOV

ADD

INX

JNZ

DCR

JC

JMP

7

10

10

10

5

4

5

10

5

10

10

Найдем количество тактов, необходимое для выполнения программы (с учетом циклов).N=10+7+10+(10+10+5+5+5+10)*8+7+10+(5+4+10+5+4+10+5+4+5+5+10)*8+

+5+10+5+10+10=980 такта. Тактовая частота микропроцессора fт = 2,5 МГц. Период выполнения программы можно рассчитать следующим образом T = N*tи , где tи = 1/fт .

T = 980/2.5*106 = 0,392 мс. Такое достаточно низкое быстродействие объясняется большим числом каналов. Повысить его можно, если не записывать в память данные, а производить обработку в реальном масштабе времени.

Приложение.

Цены на составляющие устройства сбора и обработки данных.

Наименование

Цена, р.

Центральный процессор КР580ВМ80

Генератор тактовых импульсов КР580ГФ24

Системный контроллер КР580ВК28

Буферный регистр КР580ИР82

Устройство ввода вывода КР 580 ВВ 55

Оперативное запоминающее устройство КР537РУ5

Постоянное запоминающее устройство К537РФ1

Мультиплексор К155КП5

АЦП К531КП2

Итог

12

3

3,5

3

15

1

10

0,8

30

82,1

Похожие материалы

Информация о работе