---------------- ------
TimePC:; Переривання від таймера.
120 0162 TimeTime_Pause; очікування запиту ПК
0162 75 8C 3C movTH0, #> Time_Pause
0165 75 8A B0 movTL0, #
0168 C2 8D clrTF0 ​​p>
016A D2 8C setbTR0
016C ENDM
016C D5 26 лютого djnzFonVr, $ Ex
016F C2 97 clrVkl_PC; відключення ПК від лінії
128 0171 $ Ex:
0171 22 ret
; = ---------------------------------------- ------
TimePr:; Переривання від таймера.
132 0172 C0 E0 pushA
0174 C0 D0 pushPSW
0176 75 25 FF movData, # Error; з-л помилки
135 0179 E5 23 movA, ChPovt; перевірка кол-ва
017B B5 24 березня cjneA, ChPovtMax, $ Ex; ліміт спроб вичерпано
017E 2 Січень 89 jmp $ Ind; перехід на індикацію помилки
0181 $ Ex
0181 43 98 01 orlSCON, # 00000001; иммитация прийняття байта
0184 D0 D0 popPSW
141 0186 D0 E0 popA
0188 22 ret
0189 $ Ind:
0189 E5 20 movA, NumDat; обчислення
018B 25 21 addA, N_Ind; № помилки
146 018D F5 21 movN_Ind, A; для індикації
147 018F 12 лютого 3B callIndikac
0192 12 лютого 60 callSignal
0195 21 81 jmp $ Ex
150; = --------------------------------------- -------
Nach_Opros:; підпрограма початкового опитування датчиків
0197 75 24 травня movChPovtMax, # ChPovtMaxNach; макс. число повторень
019A 75 20 00 movNumDat, # 0; опитуємо 0-й датчик
019D 75 21 FF movN_Ind, # FFh; якщо помилок немає, на індикаторі FF
156 01A0 SerTime0FAh; 4800 бот
01A0 75 8D FA movTH1, # 0FAh
01A3 75 8B FA movTL1, # 0FAh
01A6 C2 8F clrTF1
01A8 D2 8E setbTR1
01AA ENDMNov 20 2011 15:24 Page 4
01AA MetNach:
163; спроба опитування
01AA 85 20 25 movData, NumDat; посилка в лінію № датчика
01AD 12 лютого 76 callPosl; посилаємо запит на датчик
; з номером NumDat
01B0 75 F0 02 movB, # 2; обчислення адреси
01B3 A4 mulAB; для зберігання даних
01B4 24 30 addA, # 30h; і очікув...