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
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.