Выбор микроконтроллера
12
Для использования в данном устройстве был выбран микропроцессор АТ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; контроллер управление освещение программа Схема устройства
12
Популярное: Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... ![]() ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (252)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |