Разработка аппаратных средств МПС. Разработка структурной схемы МПС. Разработка микропроцессорного блока, страница 17

007B 7F6F    

1000                16  org 1000h

17          start:

18  ; Инициализация БИС ВВ79

1000 90FF0C         19          mov  DPTR,#0FF0Ch; Адрес управляющего канала ККД

1003 E502           20          mov A,02h       ; Управляющее слово

1005 F0             21          movx @DPTR,A    ; RUS  AL

1006 E534           22          mov A,34h       ; Управляющее слово

1008 F0             23          movx @DPTR,A    ; RUS  AL

24  ; Инициализация таймера

1009 758901         25          mov TMOD, # 00000001b; Таймер 0, в режиме 1, 16 разр.                                  

100C 758AD0         26                  mov TL0, #11010000b

100F 758C07         27  mov TH0,#00000111b

28  ; Инициализация контроллера прерываний

1012 75A800         29          mov IE,#0; запрет всех прерываний

1015 758800         30          mov TCON,#0;

1018 75B801         31          mov IP,#00000001b;

101B 75A883         32          mov IE,#10000011b;

101E E500           33          mov A,0h        ;  Отключение индикации

1020 90FF00         34          mov DPTR,#0FF00h  ; Начальные значения X1 - X4, и

35  ;выключенная аварийная сигнализация 

1023 F0             36          movx @DPTR,A

1024 7400           37          mov A,#0

1026 F571           38          mov 0071h,A     ; Начальное значение Q4

1028 F572           39          mov 0072h,A     ; Начальное значение уставки К

102A C2B1           40          clr P3.1

102C 900000         41  beg:    mov DPTR,#00h

102F E0             42          movx a, @DPTR           ; Ввод значений X1 - X4

1030 540F           43          anl A,#0Fh      ; Обнуление незначащих разрядов

1032 F570           44          mov 0070h, A    ; Cохранение текущих значений X1 - X4

45                                  ; Вычисление функции Y1

1034 7801           46          mov R0, #00000001b

1036 C0E0           47  push ACC

1038 58             48          anl A, R0

1039 F8             49                  mov R0, A

103A 7902           50                  mov R1, #00000010b

103C D0E0           51                  pop ACC

103E 59             52                  anl A, R1

Ashling Microsystems - A51 Assembler - Version 3.0.0        12-12-99 PAGE   2

LOC   OBJ            LINE   SOURCE

103F F9             53                  mov R1, A

1040 7A04           54                  mov R2, #00000100b

1042 D0E0           55                  pop ACC

1044 5A             56                  anl A, R2

1045 FA             57                  mov R2, A

1046 7B08           58                  mov R3, #00001000b

1048 D0E0           59                  pop ACC

104A 5B             60                  anl A, R3

104B FB             61                  mov R3, A

104C E9             62                  mov A, R1

104D 6A             63                  xrl A, R2;A:=X2+X3

104E 6B             64                  xrl A, R3;A:=X4+X2+X3

104F 69             65                  xrl A, R1;A:=X1+X4+X2+X3

1050 7004           66          jnz y1                  ; Если Y1 неравно 1

67  ;       ljmp prdel                      ; переход по метке

1052 90FF00         68          mov DPTR, #0FF00h       ; иначе вывод Y1

1055 F0             69          movx @DPTR, A

1056 7A05           70  Y1:             mov R2, #5

1058 79C8           71          mov R1, #200

105A 7800           72  DELY1:  mov R0, #0

105C 7830           73  mov R0, #48

105E D8FA           74  DELR0Y1:        DJNZ R0, DELY1

1060 D9F8           75                  DJNZ R1, DELY1

1062 7900           76                  mov R1, #0

1064 79C8           77                  mov R1, #200

1066 DAF2           78          DJNZ R2, DELY1

1068 7800           79          mov R0, #0

106A 785D           80          mov R0, #93

106C D8FE           81  RESY1:  DJNZ R0, RESY1

106E E500           82          mov A,0h  ; выключение Y1 

1070 F0             83          movx @DPTR, A

84  INX56:  ; ввод аналоговых сигналов X5 -X6