Проектирование микропроцессорной системы контроля и управления объектом. Разработка принципиальной схемы контроллера, страница 11

OUT       RUS53_2   ;    Загрузить управляющее слово

MVI       A, E8H        

OUT       ST0_2     ;    Загрузить N2

MVI       A, 03H        

OUT       ST0_2     ;    Загрузить N2

; Вывод 1 в 5-й разряд порта

IN        PC

ORI       0001 0000B         

OUT       PC       

JMP  KONEC

FORM_Y3:

LXI       H,DATA_Y  ;ЗАПИСЬ ЗНАЧ. Y3

MOV       A,M

ANA       1001 1111B

ORI       0100 0000B

MOV       M,A

; Формирование импульса длительностью t3     y3

MVI       A, 30H        

OUT       RUS53_2   ;    Загрузить управляющее слово

MVI       A, 3EH        

OUT       ST0_2     ;    Загрузить N3

MVI       A, 00H        

OUT       ST0_2     ;    Загрузить N3

; Вывод 1 в 6-й разряд порта

IN        PC

ORI       0010 0000B         

OUT       PC       

KONEC:

ВЫЧИСЛЕНИЕ ФУНКЦИИ W3

LXI       H,ADR_K4  ;ЗАГРУЗКА K4 В BC

MOV       C,M

INX       H

MOV       B,M

LXI       H,DATA_W3

MOV       A,C

ADD       M

INX       H

MOV       E,A

MOV       A,B

ADC       M

MOV       D,A       ;K4+W3 В DE

LXI       H,ADR_K5

MOV       C,M

INX      H

MOV       B,M 

MOV       L,E

MOV       H,D

CALL      D16_16A        ;(K4+W3)/K5  сохр DE

LXI       H,FUN2

MOV       M,D

MOV       M,E

LXI       H,ADR_K3

MOV       D,M

INX      H

MOV       E,M

LXI       H,DATA_W3

CALL      M16_16F        ;K3*W3

;РЕЗУЛЬТАТ В   BC

LXI       H,FUN2

MOV      E,M

INX       H

MOV       D,M

MOV       A,B

SUB       E

MOV       E,A

MOV       A,C

SBB       D

MOV       D,A  ;         K3*W3-(K4+W3)/K5 

LXI       H,DATA_Z

MOV       H

MOV       M,E

LXI       H, DATA_Z     

MOV       A, M     

OUT       SELOPORT6 ;

;Вывод мл.байта кода в регистр DD1

INX       H        

MOV       A, M     

OUT       SELOPORT7 ;    Вывод кода на ЦАП

;ввести функцию подсчета ЧИМ 

LXI       H,ADR_W4

MOV       E,M

INX       H

MOV       D,M

MVI       A,5H ;

CALL      M16_8     ;5*W4

MVI       C,11H

MVI       B,04H

MOV       A,L

ADD       C    ;N2MIN+6*W4

MOV       E,A

MOV       A,H

ADC       B

MOV       D,E

LXI       H,DATA_N

MOV       M,E

INX       H

MOV       M,D  ;DATA_N=N2

DI   ;    Запретить прерывания

MVI       A, 74H        

OUT       RUS53_2   ;    Режим СТ1_2

MVI       A, 0В0H       

OUT       RUS53_2   ;    Режим СТ2_2

MVI       A, 3EH        

OUT       ST1_2         

MVI       A, 00H        

OUT       ST1_2     ;    Запуск СТ1_2

LXI       Н, DATA_N2         

MOV       A, M     

OUT       ST2_2         

INX       H        

MOV       A, M     

OUT       ST2_2     ;    Запуск СТ2_2

IN        PC       

ORI       0100 0000B         

OUT       PC       

STA       STATUS    ;Запомнить состояние выходов порта         

;=========

CHECK:   

IN   IPORT          ;ПРОВЕРКА ВКЛ. SA5

ANI       0010 0000B     ;Выделить разряд D5

JZ        STOP      ;Если SA5 замкнут

EI       

RET      

STOP:    

MVI       A,1000 0000B

OUT       SELOPORT1 ;Включить VD8 “Останов”

HLT      

ISR1:     PUSH      PSW  ;Сохранить в стеке содержимое

PUSH      B    ;регистров A, F, B, C, D, E, H, L

PUSH      D        

PUSH      H                  

VOZV:

;ПОКАЗАТЬ X1X2X3X4Y1Y2Y3-------LXI       H,DATA_x

MOV       A,M

ANA       0000 1111B

LXI       H,DATA_Y

ANA       M

OUT       SELOPORT1

IN        IPORT         

ANI       0FH  ;    Выделить разряды D3-D0

CPI       0FH      

JZ       CHEK ;    Переход, если SA1-SA4 разомкнуты

CALL      IDENTIF   ;    Вызов подпрограммы идентификации

MVI       B,0H

;ВЫВОД НА ДИСПЛЕЙ------------DISPLAY:

LXI       H, DATA_W

MOV       A,C

ADD       A

MOV       C,A

MOV       A,L

ADD       C

MOV       L,A

MOV       A,L

ACI       0H

MOV       H,A

DAD       B         ;УСТАНОВКА ДЛЯ ВЫВОДА        

MOV       A,M      

ANI       0FH      

MOV       C, A     

CALL      CROSSCODE      ;Перекодировка

OUT       SELOPORT2 ;Вывод на HG1

MOV       A,M

RRC      

RRC