Мегаобучалка Главная | О нас | Обратная связь


Выбор микроконтроллера



2020-03-18 236 Обсуждений (0)
Выбор микроконтроллера 0.00 из 5.00 0 оценок




 

Для использования в данном устройстве был выбран микропроцессор АТ89С51-20PI. Рассмотрим его технические характеристики:

небольшая цена 3у. е. (90 руб.)

встроенная Flash память программ 4КB

встроенное ОЗУ данных 128 байт,

двунаправленные индивидуально адресуемые линии ввода/вывода

два встроенных 16-разрядные таймеров/счетчиков.

последовательный порт UART

несколько источников прерываний с несколькими уровнями приоритета

встроенный тактовый генератор

возможность расширения внешнего ОЗУ и ПЗУ до 64 Кбайт

Напряжение питания: 3.0-5.0В;

Максимальная тактовая частота: 20МГц;

Корпус PDIP20.

Как видно из выше представленных характеристик данный контроллер полностью удовлетворяет нас по скорости и объему памяти. Поэтому в целях снижения потребления и повышения надежности системы управления мы используем кварцевый резонатор на частоту 12МГц. Такая частота, очень удобна для последующих пересчетов по таймеру, так как каждый тик, приращение таймера происходит с частотой 1МГц (1мкс).

Описание работы программы управления контроллером

 

При снижении уровня освещенности ниже заданного порога происходит активация котроллера управления. (с наступлением темноты или сумерек). С этого момента котроллер начинает реагировать на датчики присутствия и выполнять включение источников света по заданной программе.

По аналогии с изученными готовыми системами я предусмотрел два режима управления, устанавливаемые нажатием на управляющую клавишу:

.   режим слежения за объектом перемещения. Контроллер реагируя на перемещения человека в наблюдаемом пространстве зажигает три источника света (над человеком, перед ним и следом за ним) остальные источники датчики соответствующие которым не сработали, выключаются. При интенсивном движении в наблюдаемом пространстве горит все освещение. При этом также учитывается возможность наличия дверей по периметру. Если человек вошел в дверь, он исчезает из зоны наблюдения, в таком случае при отсутствии движения, через три минуты, все осветительные приборы отключаются и существенно экономиться электроэнергия.

2. Другой режим - световая дорожка. Он наиболее оптимален для редко посещаемых коридоров например на предприятиях (когда охрана делает обход). В данном режиме контроллер определяет направление движения и выполняет включение всех источников света до конца коридора или холла. А по мере продвижения человека в заданном направлении гасит за ним источники света.

Для обеспечения взаимодействия между котроллерами программой котроллера предусмотрен анализ состояния линий связи. Если на них присутствует 0 потенциал при отключенных собственных источниках, то это означает, что соседний котроллер включил крайний источник освещения и скоро произойдет переход человека в зону текущего контроллера. В такой ситуации котроллер должен включить источник освещения и сопроводить светом перемещения человека. Связывая так контроллеры, мы можем получать нужную длину зоны наблюдения и управления.


Выводы

 

Данная работа является не только возможностью научится проектировать микропроцессорные системы контроля и управления, но и носит чисто практическую ценность при дальнейшей реализации. Данный прибор позволит обеспечить не только комфортные условия освещения на различных объектах но и существенную экономию электроэнергии, что в масштабах особенно государственных учреждений и предприятий очень существенно. При невысокой стоимости данной системы она будет окупать себя буквально за месяц или два, даже с учетом расходов на монтаж.


Приложение

 

Листинг

osvech: do; /**********программа управления электроосвещением *********/

$include (reg51. dcl)

declare

perT0 word, /*число переполнений таймера*/

(I,J,K,FlT0) byte,byte,byte,byte;SA1 literally 'P0.5', Pred literally 'P0.0', Sled literally ‘P0.1’, literally ‘P0.2’; /*переименование входов */

T0: procedure interrupt 1; /*обработчик прерывания таймера0*/

Th0=3Ch; Tl0=0AFh; /* установка предделителя для задержки 5мс*/

if perT0<7200 then/*проверка числа переполнений таймера*/

do;

perT0=perT0+1;

end;

else do; /*6ти минутная задержка выдержана выключаем все источники*/

FlT0 =1;

perT0=0; /*сбрасываем счетчик переполнеий*/

P2=0; /*Гасим все источники*/

napr=3; /*направление неопределенное*/

end;

end T0;

/ *Основная программа*/

tf0=0; /*сбрасываем флаг переполнения таймера*/

ea=1; /*разрешаем обработку всех прерываний*/

et0=1; /*разрешаем обработку прерывания таймера*/

Th0=3Ch; Tl0=0AFh; /*пределитель на 50 милисекунд*/

tmod=00000001b; /*устанавливаем для таймера 0 первый режим 16разрТ0*/

tr0=1; /* запускаем таймер*/

perT0=0; FlT0=0;

do while 1;

if Osv=0 then do; /*освещенность помещения ниже установл вкл. контроль*/

if SA1=1 then do; /*первый режим ведение объекта*/

if pred=1 then p2.0=1; /*проверка связи с соседним котнтроллером */

if p1.0=0 then; P2.0=1; P2.1=1; perT0=0; P0.3=1; end;p1.1=0 then; P2.0=1; P2.1=1; P2.2=1; p2.4=0 then P2.3=0; /*гашение не нужн источникa*/

perT0=0; /* сброс выдержки времени*/

END;

if P1.2=0 then; P2.1=1; P2.2=1; P2.3=1;p2.5=0 then P2.4=0; if pred=0 then P2.0=0;=0;;P1.3=0 then; P2.2=1; P2.3=1; P2.4=1;p2.6=0 then P2.5=0; if p2.0 then P2.1=0;=0;;P1.4=0 then; P2.3=1; P2.4=1; P2.5=1;p2.7=0 then P2.6=0; if p2.1=0 then P2.2=0;=0;;P1.5=0 then; P2.4=1; P2.5=1; P2.6=1;sled=0 then P2.7=0; if p2.2=0 then P2.3=0;=0;;P1.6=0 then; P2.5=1; P2.6=1; P2.7=1;p2.3=0 then P2.4=0;=0;;P1.7=0 then; P2.6=1; P2.7=1; P0.5=1;p2.5=0 then P2.4=0;=0;;sled=1 then do; P2.7=1; /*вкл предшеств и следующ. */p2.6=0 then P2.5=0;=0;;

end;

else do; /*переключатель в 1 выбран второй режим световая дорожка*/

if pred=0 then do; napr=1; P2=0ffh; end p1.0=0 then do; napr=1; P2=0ffh; end; /*устанавливем направление вкл. все*/

if p1.1=0 then do; pred=1; if napr=1 then P2.0=0; /*гасим следом*/ napr=0 then P2.2=0;

If napr=3 then do; /*определяем направление движения*/

if pred=2 then do; napr=0; p2.0=1; p2.1=1; end;do; P2.1=1; P2.2=1; P2.0=1; end;; PERT0=0;;p1.2=0 then do; pred=2; if napr=1 then P2.1=0; /*гасим следом*/ napr=0 then P2.3=0;

If napr=3 then do; /*определяем направление движения*/

if pred=1 then do; napr=1; p2=11111100b; end;if pred=3 then do; napr=0; p2=00000111b; end;do; P2.1=1; P2.2=1; P2.3=1; end;; PERT0=0;;p1.3=0 then do; pred=3; if napr=1 then P2.2=0; /*гасим следом*/ napr=0 then P2.4=0;

If napr=3 then do; /*определяем направление движения*/

if pred=2 then do; napr=1; p2=11111000b; end;if pred=4 then do; napr=0; p2=00001111b; end;do; P2.2=1; P2.3=1; P2.4=1; end;; PERT0=0;;p1.4=0 then do; pred=4; if napr=1 then P2.3=0; /*гасим следом*/ napr=0 then P2.5=0;

If napr=3 then do; /*определяем направление движения*/

if pred=3 then do; napr=1; p2=11110000b; end;if pred=5 then do; napr=0; p2=00011111b; end;do; P2.3=1; P2.4=1; P2.5=1; end;; PERT0=0;;p1.5=0 then do; pred=5; if napr=1 then P2.4=0; /*гасим следом*/ napr=0 then P2.6=0;

If napr=3 then do; /*определяем направление движения*/

if pred=4 then do; napr=1; p2=11100000b; end;if pred=6 then do; napr=0; p2=00111111b; end;do; P2.4=1; P2.4=1; P2.6=1; end;; PERT0=0; end;p1.6=0 then do; pred=6; if napr=1 then P2.5=0; /*гасим следом*/ napr=0 then P2.5=0;

If napr=3 then do; /*определяем направление движения*/

if pred=5 then do; napr=1; p2=11000000b; end;if pred=7 then do; napr=0; p2=01111111b; end;do; P2.5=1; P2.5=1; P2.7=1; end;; PERT0=0; end;p1.7=0 then do; napr=0; P2=0ffh; P0.4=1; PERT0=0;; /*зажигаем все*/sled=0 then do; napr=0 then P2=0ffh; PERT0=0;; /*зажигаем все*/; end; osvech;

контроллер управление освещение программа


Схема устройства



2020-03-18 236 Обсуждений (0)
Выбор микроконтроллера 0.00 из 5.00 0 оценок









Обсуждение в статье: Выбор микроконтроллера

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (236)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)