Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Типовая процедура ожидания события состоит из следующих действий: ввода сигнала от датчика, анализа значения сигнала и передачи управления в зависимости от состояния датчика. Программа, реализующая эту процедуру, зависит от того, каким образом датчик подключен к МК. Он может быть подключен к одной из линий портов МК или к специальным входам прерываний (INT0, INT1).
Например, при подключении датчика к третьему разряду порта P1 программа реализации процедуры ожидания размыкания, а затем замыкания контакта представлена в листинге 4.1):
Листинг 4.1 – Регистрации события | ||
.ORG 0000H SETB P1.3 | ; Адрес начала программы ; Настройка разряда 3 порта ; P 1 на ввод сигнала | |
MAIN: | JNB P1.3, $ … JB P1.3,$ … JMP MAIN | ; Ожидание размыкания ; контакта датчика ; Подпрограмма обработки ; размыкания ; Ожидание замыкания ; контакта датчика ; Подпрограмма обработки ; размыкания ; Переход на регистрацию ; размыкания контакта |
При подключении датчика к входу INT0, в режиме прерывания возможно отслеживание только замыкания контакта. Программа, реализующая регистрацию замыкания контакта, имеет следующий вид (листинг 4.2):
Листинг 4.2 – Регистрация события с использованием входа прерывания | ||
.ORG 0000H JMP BEGIN | ; Адрес начала программы ; Переход к основной части ; программы | |
.ORG 0003H JMP EXT0 | ; Адрес процедуры ; обработчика прерываний ; по входу INT0 ; Переход к процедуре ; обработчика | |
BEGIN: | MOV TCON, #01H | ; Настройка контроллера на ; режим прерываний по ; заднему фронту сигнала ; на входе INT0 |
MOV IE, #81H | ; Разрешение обработки ; прерываний по входу INT0 | |
JMP $ | ; Остановка основной ; программы («команда ; перехода на саму себя») ; для ожидания прерывания | |
EXT0: | … | ; Подпрограмма обработки ; замыкания контакта |
RETI | ; Выход из процедуры ; обработки прерывания |
Следует отметить, что:
– режим прерывания целесообразно использовать для опроса особо важных датчиков с целью уменьшения времени реакции на исключительную ситуацию в объекте управления. При этом соответственно должна быть спроектирована схема;
– использование прерываний позволяет «избавить» основную программу от необходимости регулярно опрашивать и анализировать состояние порта, так как при использовании прерываний этот процесс реализован аппаратно, а «высвободившееся» время может быть использовано для выполнения других операций.
Дата публикования: 2014-11-03; Прочитано: 271 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!