Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по АТ89С51 изд.вариант 2010-54.doc
Скачиваний:
86
Добавлен:
19.11.2019
Размер:
865.22 Кб
Скачать
  1. Типичные применения микроконтроллеров

    1. Ввод информации с датчиков

      1. Опрос двоичного датчика

В устройствах и системах логического управления объектами события фиксируются с использованием датчиков цифрового и аналогового типов. Наибольшее распространение имеют двоичные датчики, например, концевые выключатели, которые подключаются к МК так, как показано на рисунке 4.1. Все нижеприведенные листинги написаны для сигнала датчика с рисунка 4.1б.

а) структура датчика; б) сигнал на выходе

Рисунок 4.1 – Концевой датчик

        1. Ожидание события

Типовая процедура ожидания события состоит из следующих действий: ввода сигнала от датчика, анализа значения сигнала и передачи управления в зависимости от состояния датчика. Программа, реализующая эту процедуру, зависит от того, каким образом датчик подключен к МК. Он может быть подключен к одной из линий портов МК или к специальным входам прерываний (INT0, INT1).

Например, при подключении датчика к третьему разряду порта P1 программа реализации процедуры ожидания размыкания, а затем замыкания контакта представлена в листинге 4.1):

Листинг 4.1 – Регистрации события

.ORG 0000H

SETB P1.3

; Адрес начала программы

; Настройка разряда 3 порта

; P1 на ввод сигнала

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

; Выход из процедуры

; обработки прерывания

Следует отметить, что:

– режим прерывания целесообразно использовать для опроса особо важных датчиков с целью уменьшения времени реакции на исключительную ситуацию в объекте управления. При этом соответственно должна быть спроектирована схема;

– использование прерываний позволяет «избавить» основную программу от необходимости регулярно опрашивать и анализировать состояние порта, так как при использовании прерываний этот процесс реализован аппаратно, а «высвободившееся» время может быть использовано для выполнения других операций.