Алгоритм работы устройства

По условиям задания Мhex = 012A BEGhex =031A, Mdec = 298, BEGdec = 794. Переведя из шестнадцатеричной системы счисления в десятичную систему мы видим, что программа начинается перед массивом, в который должны быть записаны снимаемые с АЦП данные.

Зададим начальные условия в первых трёх блоках. В первом блоке записываем в парный регистр HL адрес хранения данных М = 012A. Во втором блоке в регистр B записываем число каналов F = 9 = Ah. Согласно заданию в качестве счётчика регистра применим регистр B - блок 3. В аккумулятор загрузим начальный адрес канала 00h.

Начинается цикл проверки количества проверенных каналов.

Начинается цикл проверки стробирующего сигнала.

Блок 5: число (адрес) записанное в аккумуляторе по шине данных передаём в устройство вывода №1. После чего срабатывают переключатели в коммутаторе каналов и соединяется устройство (амперметр, вольтметр, спектрометр или другое устройство) с АЦП.

Блок 6: С выхода STR АЦП подаётся стробирующий сигнал в устройство ввода № 2. Двоичный код с АЦП поступает в устройство ввода №2. С устройства вывода № 2 передаём бит в регистр А.

Блок 7: Так как это только один бит и для того чтобы определить его значения необходимо сдвинуть его с первой позиции сразу в триггер С, а нулевое значение бита С на место 15 бита и так далее. То есть произвести сдвиг всех битов слева на право.

Блок 8: После чего проверяем сигнальный флаг триггера С. Если триггер С равен нулю возвращаемся в пятый блок и так до тех пор пока не поступит стробирующий бит.

Конец цикла проверки стробирующего бита.

Блок 9: Двоичный код с АЦП поступает в устройство ввода №1. С адреса устройства считываем код и записываем значение сигнала в регистр А.

Блок 10: После чего необходимо переписать в первую ячейку выделенную под память.

Блок 11: Увеличиваем значение регистра HL на один в данном цикле программы, для того чтобы следующее значение не затёрло предыдущие.

Блок 12: Увеличиваем значение регистра D на один для того чтобы в следующем цикле включился следующий по счёту канал.

Блок 13: Записываем значение находящееся в регистре D в аккумулятор.

Блок 14: Вычитаем из значение регистра А значение регистра B.

Блок 15: Проверяем флаговый триггер Z. Если он равен нулю начинаем цикл заново, то есть возврат в блок 5

Заканчивается цикл проверки количества проверенных каналов.

Программа закончила свою работу.

Блок-схема

Похожые стьтьи по экономике

Функциональный генератор квадратурных напряжений
Уже более 30 лет компания National Instruments (NI) является лидером в области разработки и производства аппаратно-программных средств автоматизации измерений, диагностики, управления и моде ...

Бесконтактные регуляторы напряжения
В связи с широкой автоматизацией производственных процессов, внедрением систем автоматического управления в промышленности, транспорте и других областях народного хозяйства существенно возросли требов ...

Генератор LC типа
Генератор сигналов - это устройство, позволяющее получать сигнал определённой природы (электрический, акустический и т.д.), имеющий заданные характеристики (форму, энергетические или статистические х ...

Разделы

© 2018 - www.frontinformatics.ru