Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Реализация УСД в виде микропроцессорного устройства на базе 8-разрядного микропроцессора





Структурная схема УСД, построенного в виде микропроцессорного устройства (МПУ), представлена на рисунке 2. Кроме микропроцессора, АЦП, оперативной памяти (ОП) и коммутатора аналоговых каналов, схема МПУ содержит два устройства ввода и одно устройство вывода данных, роль которых могут выполнять программно-управляемые регистры-порты, например, многорежимные буферные регистры (МБР) К589ИР12.В таком варианте МПУ и шина управления может состоять всего из двух линий: ЗАПИСЬ и ЧТЕНИЕ.

На схеме рисунка 2 для простоты не показан триггер-флаг АЦП (Тфл), который вырабатывает сигнал окончания (ОК) преобразования в АЦП.

Начальный адрес 21A0h ячейки памяти области OП, отведенной для сбора данных, будем хранить в паре регистров HL. Текущий адрес аналогового канала в соответствии с заданием будем помещать в регистр В (в нашем примере в соответствии с заданием R = В).

Рисунок 2. Структурная схема УСД, построенного в виде микропроцессорного устройства

 

Примем порядок опроса аналоговых каналов, начиная с канала, имеющего номер (адрес) 0. Чтобы обеспечить формирование признака завершения цикла сбора данных, в регистр D поместим число F (число аналоговых каналов). В нашем примере F = 1610. Тогда блок-схема алгоритма сбора данных будет иметь вид рисунка 3.

Дадим краткие пояснения к блок-схеме. В блоке I в пару регистров HL загружается начальный адрес M = 21А0h. В блоке 2 в регистр D загружается число 1610 (10h). В блоке 3 регистр R = B служит счетчиком адресов аналоговых каналов. В него загружается адрес первого канала 00h. Затем этот адрес через аккумулятор и устройство вывода № I (блоки 4 и 5) поступает на адресный вход коммутатора, как показано на рисунке 2. Коммутатор подключает первый канал ко входу АЦП и запускает последний. МПУ переходит в режим ожидания окончания акта преобразования в АЦП (блоки 6, 7 и 8). Сигнал с выхода ОК (окончание) АЦП заносится в младший разряд регистра-порта ввода №2. Пока ОК = 0, акт в АЦП не окончен. В этом случае блоки 6+8 обеспечивают запись триггер-флага с нуля и прохождение программы по малому циклу. Данный режим выполнения программы продолжается до тех пор, пока сигнал ОК на выходе АЦП не станет равным 1. Так обеспечивается режим ожидания. Как только ОК станет равным 1, то после выполнения команды блока 8 С=1 осуществляется запись данных с выхода АЦП в устройство ввода № 1 и через аккумулятор микропроцессора в заданную ячейку оперативной памяти (блоки 9 и 10).

Рисунок 3

Далее формируется адрес следующих устройств: ячейки памяти (блок 11) и аналогового канала (блок 12). Новый адрес канала засылается в аккумулятор (блок 13). В блоке 14 выполняется операция сравнения содержимого регистров В и D. Равенство В = D = 0 говорит о том, что все каналы опрошены и срабатывает нулевой признак z = 1, цикл сбора данных завершен. Если z = 0, то осуществляется опрос следующего канала, так как при выполнении операции сравнения содержимое аккумулятора остается неизменным, то есть в нем по-прежнему содержится адрес следующего канала, загруженный в блок 13. Таким образом, пока адрес очередного аналогового канала, сформированный в регистре В, в блоке 12, остается меньше 1016, обеспечивается прохождение программы по большому циклу. Программа на языке ассемблера представлена в таблице 3.

 

Таблица 3

№ команды Команды Метка Мнемокод Операнд (ы) Комментарий Байты Циклы Такты
    LXI H,21A0h HL ← 21A0h      
    MVI D,10h D ← 10h      
    MVI B,00h B ← 00h      
    MOV A,B A ← B      
  К2 OUT   Устр.выв.№1 ← (A)      
  К1 IN   A ← Устр.ввода № 2      
    RRC   A ← Сдв.П (А)      
    JNC K1 Блок 8 УП      
    IN   А ← Устр.ввода № 1      
    MOV M,A M ← (A)      
    INX H HL ← (HL) + 1      
    INR B B ← (B) + 1      
    MOV A,B A ← (B)      
    CMP D (A) - (D)      
    JNZ K2 Блок 15 УП      

 

В таблице 3 использованы сокращения: Сдв.П (А) – сдвиг вправо содержимого регистра А (аккумулятора), УП – условный переход.


Размещение программы представлено в таблице 4.

 

Таблица 4

 

Число ячеек ОП, отводимых под команду, определяется числом байтов в команде. В таблице 4 стрелками показана последовательность выполнения команд. В командах условного перехода, где последующее выполнение той или иной команды зависит от условия (признака), указаны пары стрелок, рядом с которыми значения сигналов-условий.

В таблице 5 представлена программа в кодовых комбинациях.

 

Таблица 5


 

Date: 2016-01-20; view: 411; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию