ВУЗ:
Составители:
19
;ВЕРСИЯ ДЛЯ МК48
CODE EQU 10 ;ОПРЕДЕЛЕНИЕ ЭТАЛОННОГО ЗНАЧЕНИЯ
; КОДА
WTCODE: IN A,P1 ;ОПРОС ГРУППЫ ДАТЧИКОВ
XRL A,#CODE ;СРАВНЕНИЕ ПРИНЯТОГО КОДА
;С ЗАДАННЫМ ЗНАЧЕНИЕМ CODE
JNZ WTCODE ;ЕСЛИ КОДЫ НЕ СОВПАЛИ, ТО
;ПОВТОРИТЬ ВВОД,
EXIT: … ;ИНАЧЕ ВЫХОД ИЗ ПРОЦЕДУРЫ
Сравнение принятого кода с заданным осуществляется операцией “исключающее
ИЛИ”. В приведенном примере число CODE равно 10.
;ВЕРСИЯ ДЛЯ МК51
WTCODE: MOV A,#10 ;ЗАГРУЗКА В АККУМУЛЯТОР
;ЭТАЛОННОГО КОДА
WAIT: CJNE A,P1,WAIT ;ЕСЛИ КОДОВАЯ КОМБИНАЦИЯ НА
;ВХОДАХ ПОРТА 1
;НЕ СОВПАЛА С ЭТАЛОННЫМ
;ЗНАЧЕНИЕМ, ТО ЖДАТЬ
EXIT: … ;ВЫХОД ИЗ ПРОЦЕДУРЫ
При опросе композиции двоичных датчиков передачу управления удобно
осуществлять по таблице переходов. Ниже приводится текст программы, осуществляющей
передаче управления одной из восьми прикладных программ PROG0-PROG7 (которые
расположены в пределах одной страницы памяти программ) в зависимости от кодовой
комбинации, набранной на переключателях, подключенных к входам P1.0-P1.2 МК48:
GOCODE:MOV R0,#LOW BASE ;ЗАГРУЗКА В R0 НАЧАЛЬНОГО
;АДРЕСА ТАБЛИЦЫ ПЕРЕХОДОВ
IN A,P1 ;ВВОД БАЙТА
ANL A,#00000111B ;ВЫДЕЛЕНИЕ МЛАДШИХ БИТ
ADD A,R0 ;ФОРМИРОВАНИЕ АДРЕСА СТРОКИ
;В ТАБЛИЦЕ ПЕРЕХОДОВ
JMPP @A ;ПЕРЕДАЧА УПРАВЛЕНИЯ
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »