Построение СУ манипулятором.


 

Формирование требований к аппаратной реализации СУ.

I. Сигналы от конечных выключателей манипулятора должны быть с уровнями ТТЛ.

II. Манипулятор должен воспринимать управляющие сигналы с уровнями ТТЛ.

III. При чтении из порта 0FCh биты с 0-го по 3-й должны быть равны 1 при включенных ПВ1, ПВ2, ПВ3 и ПВ4 соответственно и 0 при выключенных. При записи в этот же порт биты с 0-го по 3-й равны X, Y, X и Y соответственно.

IV. УП располагается в ПЗУ с адреса 0FFFFh:0000h.

 

Разработка УП.

После старта программы происходит инициализация переменной Z. Из [2] видно, что Z=1, когда манипулятор держит деталь, и Z=0, когда в руке манипулятора деталь отсутствует. УП работает согласно таблице истинности решений с элементами памяти [2, табл. 3.6.].

Текст программы:

mov ah,0 ;В регистр ah заносится значение Z=0.

cikl: ;Метка для зацикливания вычислений.

in al,0FCh ;Чтение из порта с адресом 252.

;Теперь al=(x x x x ПВ4 ПВ3 ПВ2 ПВ1)b

and al,00001111b ;Обнуление битов с 4-го по 7-й.

mov dl,00000001b ;Поместить в dl комбинацию Y=0,X=0,Y=0,X=1.

cmp ax,0000000000000101b ;Проверить комбинацию Z=0,ПВ4=0,ПВ3=1,ПВ2=0,ПВ1=1.

;Регистр AX в битах 0-7 хранит содержимое AL, а в

;битах 8-15 – AH.

jz exit1 ;Если в AX проверяемая комбинация, перейти к метке exit1.

cmp ax,0000000100000110b ;Проверить комбинацию Z=1,ПВ4=0,ПВ3=1,ПВ2=1,ПВ1=0.

jz exit1 ;Если в AX проверяемая комбинация, перейти к метке exit1.

mov dl,00000010b ;Поместить в dl комбинацию Y=0,X=0,Y=1,X=0.

cmp ax,0000000100000101b ;Проверить комбинацию Z=1,ПВ4=0,ПВ3=1,ПВ2=0,ПВ1=1.

jz exit1 ;Если в AX проверяемая комбинация, перейти к метке exit1.

mov dl,00001000b ;Поместить в dl комбинацию Y=1,X=0,Y=0,X=0.

cmp ax,0000000000000110b ;Проверить комбинацию Z=0,ПВ4=0,ПВ3=1,ПВ2=1,ПВ1=0.

jz exit1 ;Если в AX проверяемая комбинация, перейти к метке exit1.

mov dl,00000100b ;Поместить в dl комбинацию Y=0,X=1,Y=0,X=0.

cmp al,00001001b ;Проверить комбинацию ПВ4=1,ПВ3=0,ПВ2=0,ПВ1=1.

jz exit2 ;Если в AL проверяемая комбинация, перейти к метке exit2.

cmp al,00001010b ;Проверить комбинацию ПВ4=1,ПВ3=0,ПВ2=1,ПВ1=0.

jz exit2 ;Если в AL проверяемая комбинация, перейти к метке exit2.

mov dl,00000000b ;Поместить в dl комбинацию Y=0,X=0,Y=0,X=0.

jmp exit1 ;Перейти к метке exit1.

exit2: ;Метка для выхода из проверок.

xor ah,1 ;Инвертировать значение Z.

exit1: ;Метка для выхода из проверок.

mov al,dl ;Поместить в AL комбинацию выходных сигналов.

out 0FCh,al ;Отправить эту комбинацию в порт 252.

jmp cikl ;Повторить вычисления.

 



Дата добавления: 2020-10-01; просмотров: 389;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.