Модуль центрального процессора. Структурная схема модуля. DD1-K1821ВМ85А- микропроцессор, страница 3

ORG 130H

PEREVOD:


LDA ADR1        ; (A)¬((ADR1))

CALL PREOBR ; Преобразование

 STA ADR1        ; ((ADR))¬A

LDA ADR2         ; (A)¬((ADR2))

CAL1 PREOBR  ; Преобразование

STA ADR2          ; ((ADR2))¬A    


; подпрограмма ожидания отпускания нажатой клавиши

ORG A5H

WAIT :   IN 85           ; ввод байта возврата

CMA          ; инвиртирование

CPI 00        ; сравнение 00Н

JNZ WAIT ; анализ

RET            ;  

; подпрограмма индетификации одной нажатой клавиши по байту

; сканирования и байту возврата

; входные параметры (В)- байт сканирования (С)- байт возврата   

; выходные параметры (А) –НЕХ под нажатой клавишей

ORG B0H

IDENT :     MVI D,00H  ; (D)¬ 00H

MOV A,B    ; (A)¬(B)

CMA            ; (A)¬(`A)

RRG             ; сдвиг вправо содерж.(А)

M2  :      JC M1          ;

INR D          ; (D)¬(D)+1

RRG             ;  сдвиг вправо содерж. (А)

JMP M2       ;

M1  :       MOV A,C     ; (A)¬(C)

CPI 01H       ; сравнение

JZ EXIT       ;  анализ

MOV A,D    ; (A)¬(D)

ADI 05H      ; (A)¬(A)+05H

JMP END     ;

EXIT  :       MOV A,D    ; (A)¬(D)

END  :       RET              ; выход

; подпрограмма опроса о нажатии клавиши и их индентификация

; выходные параметры (А) двоично-десятичный код нажатия           

; клавиши.

ORG 70H

KLAV:        CALL SCAN   ; nin

CALL IDENT   ; nin

RLC                   ;

RLC                   ;

MOV B,A          ;(B)¬(A)

PUSH B             ;

CALL SCAN     ; nin

CALL IDENT    ; nin

POP B                 ;

ORA B                ; (A)¬(A)V(B)

RET

; подпрограмма сканирования клавиатуры выходные параметры (В)- ; байт сканирования (С) – байт возврата

ORG 88H

SCAN :  MVI A,1111 1110 B ; (B)¬байт сканирования

M1 :  MOV B,A                  ;(B)¬(A)

OUT 85H                  ; вывод байта сканирования

IN 85H                      ; ввод байта возврата

CPI 00 00 00 11 B    ; секундомер

JC M2                       ;

MOV A,B                 ; (A)¬(B)

RLC                          ; сдвиг секундомера влево

CPI 1101 1111 B      ; секундомер

JZ SCAN                  ;

JMP M1                    ;

M2:     MOV C,A                 ; (C)¬(A)

CALL WAIT            ; nin ожидания отпуска.

RET                          ;

; nin запуска таймера.

; входные параметры (ВС) – длительность интервала отсчёта в

; минутах

ORG 15AH

ZAP_TAIM :  MVI A,00110100B

OUT B4 H               ;  УС для СТО

MVI A,80H             ;  МП 5

OUT 84H                 ;

MVI A,4E H            ;  СТ 5

OUT 84H                 ; 

MVI A,01110100B  ;

OUT B4                   ;  УС для СТ1

MVI A,70H             ;  МП 5

OUT  94H                ; СТ5

MVI A,17H              ;

OUT 94H

MVI  A,10110000 B

OUT B4                    ; УС для СТ2

LDAX B                   ; МП5

OUT A4                    ;

MVI A,O                   ; СТ5

OUT A4

RET        

СТО- реж2 –n =2000010=4E2016  fвых=100Гц.

СТ1- реж2 –n =1∙60сек∙fвыхсто=600010=177016  fвых=0,0166Гц.

СТ2- реж0 –n выбирает пользователь

; nin опроса соединенного счётчика таймера вых. Параметры (HL)-содержимое счётчика ORG18AH

OPROS_TAIM: MVIA,1000 0000 B   ; (A)¬УС

OUT B4                    ; (РУС)¬УС

IN A4                        ; (A)¬СТ2 МЛ.Б

MOV L,A                  ; (L)¬(A)

IN AU                        ;(A)¬СТ2 СТ.Б

MOV H,A                  ;(H)¬(A)

;nin опроса термодатчика температуры.

ORG 190H.

OPROS_TERM: OUT 80              ; запуск АЦП

IN 80            ; перисылка в аккамулятор кода                                                 :                                                            ; тумператур

LXI H ,ADR1    ; (HL)¬ADR1  загрузка в (HL)              :                                                            ; указателя ячейки на памяти, где :                                                            ; храниться температура

CMP M             

RC                      ; температура меньше

RZ                      ; температура равна

OUT 89H           ; отключение тэна из-за внешней :                                                            ; температуры

RET

; подпрограмма преобразования двоичного- десятичного целого                 ; безнакового числа формата 2´4 в двоичное число формата 8

; входной параметр: (А)-двоично-десятичное число, выходной            ; параметр : (А) –эквивалентное двоичное число.

ORG D0

PREOBR;

; выделенной старшей тетрадой и моделей МПЦ цифр.             :                    ; числа

MOV B,A

ANI OFH    ; метка на МПЦ

MOV C,A   ; (C)-МПЦ

MOV A,B

ANI 0 F0H  ; метка на тетраде

RRC

MOV B,A    ; (B)- тетрада ´8

; двоичное сложение : СТЦ´(8+2)+МПЦ

RRC 

RRC             ; (A)-СТЦ´2

ADD B         ; (А)-СТЦ´(8+2)

ADD C         ; (А)-СТЦ´10+МПЦ

RET.

; подпрограмма секундной задержки.

ORG EOH

SEC: PUSH B

MVI B,0FFH

LOOPI: MVI C,0FBH

LOOP2:  NOK

NOK

NOK

NOK

DCRC

JNZ LOOP2

DCR B

JNZ LOOP1

POP B

RET