Программы FORM_Y2 и FORM_Y3 формируют одиночные импульсы на выходах Y2 и Y3 длительностью t2 и t3. Они подобны программе FORM_Y1. Для формирования задержек в них используются счетчики СТ0 и СТ1 2-го таймера ПТ_2 (см. рис. 3.13).
После окончания обработки аналоговых сигналов необходимо проверить положение тумблера “Останов” на пульте управления (ПУ). Схема включения тумблера приведена на рис. 3.17, где он обозначен как SA5. Если SA5 разомкнут, то происходит возврат в основную программу. Если же SA5 замкнут, то производится включение светодиода с надписью “Останов” на ПУ и останов МП. Программа проверки имеет вид:
CHECK: |
IN IPORT |
||
ANI 0010 0000B |
; |
Выделить разряд D5 |
|
JZ STOP |
; |
Если SA5 замкнут |
|
EI |
|||
RET |
|||
STOP: |
MVI A, 80H |
||
OUT OPORT1 |
; |
Включить VD8 “Останов” |
|
HLT |
Подпрограмма ISR1 является обработчиком прерывания по запросу INT1, вырабатываемого при нажатии на кнопку “Прерывание” на ПУ (прерывание оператора). БСА подпрограммы ISR1 приведена на рис. 3.19. Рассмотрим программную реализацию некоторых блоков алгоритма.
При входе в подпрограмму ISR1 нужно сохранить в стеке содержимое всех регистров МП, что может быть необходимо для корректной работы подпрограмм более низкого приоритета – ISR2 и ISR3.
ISR1: |
PUSH PSW |
; |
Сохранить в стеке содержимое |
PUSH B |
; |
регистров A, F, B, C, D, E, H, L |
|
PUSH D |
|||
PUSH H |
|||
…….. … |
Проверить, замкнут ли один из переключателей SA1-SA4, можно программой:
IN IPORT |
|||
ANI 0FH |
; |
Выделить разряды D3-D0 |
|
CPI 0FH |
|||
JZ CHECK |
; |
Переход, если SA1-SA4 разомкнуты |
|
CALL IDENTIF |
; |
Вызов подпрограммы идентификации |
Определение номера замкнутого переключателя SA1-SA4 выполняет подпрограмма IDENTIF, которая присваивает ему двоичный позиционный код в соответствии с табл. 3.
Таблица 3
Коды для переключателей SA1-SA4
Замкнут SA |
Унитарный код |
Позиционный код, HEX |
SA1 |
XXXX 1110 |
00 |
SA2 |
XXXX 1101 |
01 |
SA3 |
XXXX 1011 |
02 |
SA4 |
XXXX 0111 |
03 |
ISR1
Сохранить регистры МП в стеке
Вывод Х1, …, Х4, Y1, Y2, Y3 на индикацию
Ввод состояния SA1 – SA4
Нет
Контакт замкнут
?
Да
Идентификация SA1 – SA4
Вывод на дисплей кода W1 – W4
Ввод состояния SA5 “Останов”
Да
SA5 замкнут
?
Нет
Включить VD8 “Останов”
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.