2. Краткое описание устройства
Аппаратное устройство состоит из передающего и приемного блоков. В передающий блок (рис. 1) входит генератор прмоугольных импульсов частотой 3 кГц на микросхеме DA1 и установленный при входе в помещение ИК-светодиод HL1, преобразующий эти импульсы в ИК-вспышки.
Рисунок 2 – Передающий блок
Hапротив светодиода HL1 размещены фотодиоды VD1, VD2 приемного блока (рис. 2), преобразующие световые импульсы в электрические. Импульсы, поступающие с фотодиодов VD1, VD2, усиливаются микросхемами DA1, DA2 и поступают на вход микроконтроллера.
Когда человек входит в помещение, он вначале прерывает ИК-лучи, падающие на фотодиод VD1, что приведет к возникновению на выходе приемного устройства сигнал лог. 1, которая подается на вход МК.. Продолжая свое движение, вошедший в помещение человек перекроет и ИК-лучи, падающие на фотодиод VD2, что приведет к появлению лог. 1. И МК инкрементирует результат счета.
При выходе человека из помещения Он сначала перекроет ИК-лучи падающие на VD2, а затем на VD1. На выходе приемника VD1 возникнет сигнал лог.1, а на выходе VD2 сигнал лог. 0, что приведет к декременту результата счета. Максимальное число подсчитываемых МК людей равно 9999, после чего МК начинает отсчет сначала.
Так как счет происходит при одновременном перекрытии доступа ИК-лучей к обоим фотодиодам, а в исходное состояние устройство возвращается после того, как ИК - лучи одновременно воздействуют на оба фотодиода, исключаются всяческие ошибки, связанные с неравномерностью движения человека и произвольным порядком попадания ИК-лучей на фотодиоды.
В качестве источника питания можно применить любой стабилизированный блок питания на напряжение +5 В при токе нагрузки 0,2 А.
Устройство смонтировано на трех печатных платах из фольгированного стеклотекстолита толщиной 1,5 мм. На первой размещены детали передающего блока (см. рис. 1), на второй - приемного (см. рис. 2), на третьей - источника питания.
Две первые платы должны быть установлены на противоположных сторонах дверного косяка так, чтобы ИК-лучи светодиода падали на фотодиоды и проходили на высоте груди человека.
Сами фотодиоды следует разместить на одном уровне на расстоянии 60 мм друг от друга и так, чтобы входящий в помещение человек сначала перекрывал ИК-лучи, падающие на фотодиод VD1.
Электрическая принципиальная схема приведена в приложении А.
3. Алгоритм работы программы
Первый датчик подключен ко входу INT0, второй ко входу P3.7. В регистрах R0, R1, R2, R3 сохраняется количество людей, прошедших мимо датчиков. В R0 – единицы, в R1 – десятки, в R2 – сотни, в R3 – тысячи.
ОПИСАНИЕ АЛГОРИТМА РАБОТЫ:
а) инициализация обнуляет счетчики количества людей (регистры R0, R1, R2, R3);
б) ожидается появления на входе INT0 импульса высокого уровня (прохождение человека), если импульс пришел, то ожидается появление импульса высокого или низкого уровня на входе P3.7 (определяется направление движение человека);
г) после этого увеличивается или уменьшается содержимое счетчика на 1;
д) ожидаем появление нового импульса;
е) выводим в сеть по запросу результат счета.
Программа функционирования микроконтроллерной системы осуществляющей подсчет людей находящихся в помещении.
ORG 000H
JMP MAIN
MAIN: mov R0,#0 ; начальные установки
mov R1,#0
mov R2,#0
mov R3,#0
MOV IE,#10000001B ;
MOV IP,#00000001B
MOV TCON,#00000000B
SETB P3.2
SETB P3.7
INIT: JNB P3.2,INIT ; ожидание прерывания
JB P3.7,L1 ; если 1 переход на L1
INC R0 ; увеличение на 1 единиц
CJNE R0,#10,INIT ; если не 10 переход на INIT
INC R1 ; увеличение на 1 десятков
MOV R0,#0 ; сбросить R0
CJNE R1,#10,INIT ;если не 10 переход на INIT
INC R2 ; увеличение на 1 сотен
MOV R0,#0 ; сбросить R0
MOV R1,#0 ; сбросить R1
CJNE R2,#10,INIT
INC R3 ; увеличение на 1 тысяч
MOV R0,#0 ; сбросить R0
MOV R1,#0 ; сбросить R1
MOV R2,#0 ; сбросить R2
CJNE R3,#10,INIT ; Если R3 не 10 переход на INIT
JMP MAIN ; прыжок на начальные установки
L1: DJNZ R0,INIT ;декремент R0 и переход пока не 0
MOV R0,#9 ; R0=9
DJNZ R1,INIT ; декремент R1 и переход пока не 0
MOV R1,#9 ;R1=9
DJNZ R2,INIT ; декремент R2 и переход пока не 0
MOV R2,#9 ;R2=9
DJNZ R3,INIT ; декремент R3 и переход пока не 0
JMP MAIN ; прыжок на начальные установки
