Разработка алгоритма программы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Разработка алгоритма программы



 

При загрузке программы в память микроконтроллера происходит начальная установка состояния лифта. А именно, сразу подается сигнал о выключении света, далее следует сигнал о закрытии дверей. В переменную «текущий этаж» заносится 1, в переменную «Препятствие» 0, как показатель отсутствия препятствий. Далее ожидается нажатие клавиши вызова этажа (возможно нажатие как внутри лифта, так и снаружи). Если таковое регистрируется, то подается сигнал на включение света, далее сравнивается номер запрашиваемого этажа. Если он равен текущему этажу, то сразу подается сигнал об открытии дверей, если больше или меньше, то выбирается специальный сигнал о направлении движения лифта (вверх или вниз). При достижении нужного этажа подается сигнал на двигатель дверей, чтобы произвелось открытие. После этого, используя встроенный таймер, отсчитывается 20 секунд. Если в течение этого времени происходит новый вызов, то начинается закрытие дверей с постоянным прослушиванием датчика «Препятствие». Если приходит сообщение от датчика, то управление переходит на метку, где начиналось открытие дверей.

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

 


Заключение

 

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

 


Список использованных источников

 

1 Справочник. Микроконтроллеры: архитектура, программирование, интерфейс. Бродин В.Б., Шагурин М.И.М.:ЭКОМ, 1999.

Андреев Д.В. Программирование микроконтроллеров MCS-51: Учебное пособие. - Ульяновск: УлГТУ, 2009.

3 М. Предко. Руководство по микроконтроллерам. Том I. Москва: Постмаркет, 2001.

4 Интегральные микросхемы: Справ. / Б.В. Тарабрин, Л.Ф. Лукин, Ю.Н. Смирнов и др.; Под ред. Б.В. Тарабрина. - М.: Радио и связь, 1985.

5 Бурькова Е.В. Микропроцессорные системы. ГОУ ОГУ. 2005.

 


Приложение А

 

Структурная схема МПС

 


Приложение В

Схема алгоритма программы

 


Приложение С

Листинг программы

#include "ADuC812.h"

#include "max.h"

#include "kb.h"

#include "lcd.h"

#include "i2c.h"

etazN,i,j,curEtaz,Prepat;

VvodEtaz()

{etaz;tmp;

_Type("Etazh:");='0';(etaz=='0')

{(ScanKBOnce(&etaz))

{=etaz-48;_Putch(etazN+48);='0';(etaz=='0')

{(ScanKBOnce(&etaz))

{(etaz=='A'){break;} else

{=etaz-48;=(etazN*10)+(etaz-48);_Putch(tmp+48);

};

};

};

};

};etazN;

}

HodLifta()

{j,i;(curEtaz<etazN)

{(i=curEtaz;i<=etazN;i++)

{(j=0; j<=10000; j++)

{(SV,i);();

}

}

};(curEtaz>etazN)

{(i=curEtaz;i>=etazN;i--)

{(j=0; j<=10000; j++)

{(SV,i);();

}

}

};=etazN;

}

 

// 5 sec na zakrytie dverei i proverka prepatstviya:ZakrDveri()

{j,i;Bc;

='0';(i=1;i<=5;i++)

{(j=0; j<=1000; j++)

{(ScanKBOnce(&Bc))

{(Bc=='B')

{=1;id3;

}; // B - datchik prepatstviya

};();

};_GotoXY(15,1);_Putch(i+48);

}: i=1;

}

main()

{Ac,etaz;tmp;

=0x20;=0x40;

();_GotoXY(0,1);_Type("SvetVyk");_GotoXY(7,1);_Type("DveriZakr");

=1; // tekushii etaz=0; // prepyatsvii net: Ac='0';(Ac=='0')

{(ScanKBOnce(&Ac))

{(Ac=='A')

{=VvodEtaz();_GotoXY(0,0); // "etaz" propal_Type(" ");_GotoXY(0,1);_Type("SvetVkl");();: LCD_GotoXY(7,1);_Type("DveriOtkr");

// zdem 20 sec:(i=0;i<=10000;i++)

{(ScanKBOnce(&Ac)) // nazhatie etaza vnutri

{(Ac=='A')

{=VvodEtaz();_GotoXY(7,1);_Type("DveriZakr");(); // medlenno zakryvaem dveri(Prepat==1)

{_GotoXY(0,1);_Type("SvetVkl");=0;id2;

};_GotoXY(0,0);_Type(" ");();id2;

};

};();

};_GotoXY(0,1);_Type("SvetVyk");_GotoXY(7,1);_Type("DveriZakr");(); // medlenno zakryvaem dveri(Prepat==1)

{_GotoXY(0,1);_Type("SvetVkl");=0;id2;

};_GotoXY(0,0);_Type(" ");_GotoXY(0,0);

// zdem sled vyzova:id;

}

}

}(1);

}



Поделиться:


Последнее изменение этой страницы: 2020-03-02; просмотров: 121; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.148.124 (0.006 с.)