Смекни!
smekni.com

Проектирование устройства сбора данных (стр. 7 из 8)


Коммутатор подключает первый канал ко входу АЦП и запускает последний. МПУ переходит в режим ожидания окончания акта преобразования АЦП (блоки 10, 11 и 12). Сигнал с выхода ОК АЦП заносит младший разряд регистра порта ввода № 2. Пока ОК=0, акт преобразования в АЦП не окончен. В этом случае блоки 10¸12 обеспечивают запись в триггер-флаг Тс нуля и тем самым прохождение программы по малому циклу. Данный режим выполнения программы продолжается до тех пор, пока сигнал ОК на выходе АЦП не станет равным 1. Так обеспечивается режим ожидания. Как только ОК станет равным 1, то после выполнения команды блока 12 Тс=1 и осуществляется запись данных с выхода АЦП в ОП через устройство ввода № 1 и аккумулятор (блоки 13 и 14).

Далее происходит формирование адресов следующей ячейки памяти (блок 15) и следующего аналогового канала (блок 16). Новый адрес канала записывается в аккумулятор (блок 17). В блоке 18 выполняется операция сравнения содержимого регистров А и B. Если (А)=(B), то все каналы опрошены, результат операции сравнения дает 0 (Z=1) и цикл сбора данных завершён. Если же Z=0, то осуществляется опрос следующего канала, так как при выполнении операции сравнения содержимое аккумулятора остается неизменным, то есть в нём по-прежнему содержится адрес следующего канала, загружаемый в блоке 17. Таким образом, пока адрес очередного аналогового канала, сформированный в регистре E в блоке 16, остается меньше 0A16 обеспечивается прохождение программы по большому циклу. По завершению программы происходит чтение данных из стека и возврат из подпрограммы (блоки 20¸23 и 24).

5.3 Программа на языке Ассемблера

Программа, записанная на языке Ассемблера микропроцессора КР580ВМ80, представлена в табл. 4.

Дадим краткое пояснение к таблице 4. Команды 1¸4 сохраняют содержимое всех регистров в стеке. Команды 5,6 и 7 в графе “Операнды” содержат коды чисел, загружаемых соответственно в регистры HL, B и E. Загружаемые числа представлены в шестнадцатиричной системе. Признаком шестнадцатиричной системы

команды Мет ка Операция Операнды Комментарий Бай ты Циклы Так ты
1 PUSH B ;стек ¬( ВС ) 1 3 11
2 PUSH D ;стек ¬( DE ) 1 3 11
3 PUSH H ;стек ¬( HL ) 1 3 11
4 PUSH PSW ;cтек ¬ PSW 1 3 11
5 LXI H,0715 H ;HL ¬ 071516 3 3 10
6 MVI B , 0A H ;B ¬ 0A16 2 2 7
7 MVI D , 00 H ;D ¬ 0016 2 2 7
8 MOV A , E ; A ¬ ( E ) 1 1 5
9 K2: OUT 1 ;Устр.выв.№1¬(А) 2 3 11
10 K1: IN 2 ; A¬(устр.вв. №2) 2 3 11
11 RRC ; A ¬ Сдв.П ( А ) 1 1 4
12 JNC K1 ;Блок 2 УП 3 3 10
13 IN 1 ; A¬(устр.вв. №1) 2 3 11
14 MOV M , A ; M ¬ ( A ) 1 2 7
15 INX H ;HL ¬ ( HL ) + 1 1 1 5
16 INR E ;E ¬ ( E ) + 1 1 1 5
17 MOV A , E ; A ¬ ( E ) 1 1 5
18 CMP B ; ( A ) — ( B ) 1 1 4
19 JNE K2 ;Блок 19 УП 3 3 10
20 POP PSW ;PSW¬(стек) 1 3 11
21 POP H ;HL ¬ (стек ) 1 3 11
22 POP D ;DE ¬ (стек ) 1 3 11
23 POP B ;BC ¬ (стек ) 1 3 11
24 RET ;Возврат из ППР 1 3 11

Таблица 4

является символ Н, стоящий после числа. Номер устройства ввода и вывода (2 и 1), приведенные в графе “Операнды” команд 10 и 9, представлены в десятичной системе. Как известно, признаком десятичной системы может быть либо символ D, следующий за числом, либо отсутствие какого-либо символа. В данном случае использован второй из признаков. В комментарии использованы следующие сокращения:

Сдв.П(А)- сдвиг правый содержимого регистра А (аккумулятора);

УП - условный переход.

5.4 Размещение программы в ОП

В соответствии с заданием программа должна быть размещена в области памяти, начиная с ячейки с адресом h=03B216. Размещение программы представлено в табл. 5.

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

№ команды Адрес16
1
03B2
2
03B3
3
03B4
4
03B5
5 03B6
03B7
03B8
6 03B9
03BA
7
03BB
03BC
8
03BD
9 03BE
03BF
10
03C0
03C1
11
03C2
12
03C3

03C4

03C5

13

03C6