Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Подсчёт людей.docx
Скачиваний:
14
Добавлен:
16.09.2019
Размер:
230.21 Кб
Скачать

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 ; прыжок на начальные установки