Разработка микропроцессорной системы. Составление карты распределения адресного пространства МПС под ОЗУ, ПЗУ, внешние и интерфейсные устройства, страница 15

;всего  будет  8000  повторений

;снятие  синала  Y3 (то  есть  сброс  в  0)

00D0 90 08 01           mov DPTR,#0801H

00D3 E0                     movx A,@DPTR

00D4 C2 E2               clr A.2

00D6 F0                     movx @DPTR,A

00D7 02 00 F3          ljmp ENDLABEL

LABEL2Q: ;Q2<=Q0, поэтому  формируем  сигнал  Y2

;выставим  сигнал  Y2=1

00DA 90 08 01          mov DPTR,#0801H

00DD E0                   movx A,@DPTR

00DE D2 E1              setb A.1

00E0 F0                     movx @DPTR,A

;задержка  на  20 мс-время  присутствия

;сигнала  Y2

00E1 79 14                mov R1,#20

00E3 78 C8    LABEL21: mov R0,#200

00E5 00       LABEL22: nop

00E6 00                     nop

00E7 00                     nop

00E8 D8 FB             djnz R0,LABEL22

00EA D9 F7             djnz R1,LABEL21

;всего  будет  4000  повторений

;снятие  синала  Y2 (то  есть  сброс  в  0)

00EC 90 08 01          mov DPTR,#0801H

00EF E0                    movx A,@DPTR

00F0 C2 E1             clr A.1

00F2 F0                    movx @DPTR,A

;конец  вывода  сигналов

00F3 22       ENDLABEL:ret

;---------------------------------------------------------;Модуль  ввода  напряжения  Х7  и

;формирования  сигнала  Y4

00F4          OUTY4:

002B     A0          EQU 00101011B

0040     A1           EQU 01000000B

;обращение  за  оцифрованным  Х7

00F4 90 09 02          mov DPTR,#0902H

00F7 E0                    movx A,@DPTR

;вычисление  значения  Q4

;вычисление  N7*A1

00F8 75 F0 40          mov B,#A1

00FB A4                   mul AB

;для  вычислений  берем  только  старший  байт

00FC E5 F0             mov A,B

;вычисление  A0+N7*A1

00FE 24 2B             add A,#A0

;вывод  Q4  на  ЦАП

0100 90 08 02          mov DPTR,#0802H

0103 F0                    movx @DPTR,A

0104 22                    ret

;---------------------------------------------------------;Подпрограмма  обработки  прерываний

0105          INTSUBR:

;Уточнение  источника  прерывания

0105 90 0B 00          mov DPTR,#0B00H

0108 E0                    movx A,@DPTR

;просмотр  трех  младших  бит  А

0109 13                    rrc A

;переход  к  обработке  сигнала  аварии

010A 40 09             jc ALARMLAB

010C 13                  rrc A

;к  обработке  запроса  от  источника  питания

010D 40 2E             jc POWERLAB

010F 13                   rrc A

;к  обработке  прерывания  от  клавиатуры

0110 40 49               jc KEYBDLAB

;источников  прерывания  не  обнаружено;к  выходу

0112 02 01 BB         ljmp ENDLABEL1

ALARMLAB:;обработка  запроса  IRQ0

;вызов  процедуры  индикации

0115 12 01 BC        lcall VIEW

;запрет  прерываний

0118 C2 AF            clr IE.7

NEXTPER: ;вывод  сигнала  аварии  на  панель

011A 90 0B 02        mov DPTR,#0B02H

011D E0                    movx A,@DPTR

;вывод  "1"  на  светодиод

011E D2 E4             setb A.4

0120 F0                    movx @DPTR,A

;задержка  на  250 мс-время  полупериода

;сигнала  аварии

0121 79 C8               mov R1,#200

0123 78 FA    LABEL31: mov R0,#250

0125 00       LABEL32: nop

0126 00                     nop

0127 00                     nop

0128 D8 FB             djnz R0,LABEL32

012A D9 F7             djnz R1,LABEL31

;всего  будет  50000  повторений

;снятие  синала  аварии

;(то  есть  сброс  в  0)

012C C2 E4               clr A.4

012E F0                     movx @DPTR,A

;задержка  на  250 мс-время  полупериода

;сигнала  аварии

012F 79 C8               mov R1,#200

0131 78 FA    LABEL41: mov R0,#250

0133 00       LABEL42: nop

0134 00                     nop

0135 00                     nop

0136 D8 FB             djnz R0,LABEL42

0138 D9 F7             djnz R1,LABEL41

;всего  будет  50000  повторений

013A 02 01 1A         ljmp NEXTPER

013D          POWERLAB:

;вывод  всех  основных  регистров  ОМЭВМ

;в  энергонезависимое  ОЗУ,  начиная  с

;адреса  0010Н

013D 90 00 10          mov DPTR,#0010H

;сохранение  регистров

0140 F0                     movx @DPTR,A

0141 A3                    inc DPTR