Разработка алгоритма программы
Если установлен режим 1 (считывание входного сигнала), то выполняется чтение внешнего сигнала, приходящего на порт микроконтроллера, и запись этого сигнала в EEPROM. После записи с порта посылается квитанция о правильности пришедшего входного кода. После подачи питания на блок УВИ в микроконтроллере происходит инициация портов. Далее в зависимости от внешнего сигнала выбирается режим работы блока… Читать ещё >
Разработка алгоритма программы (реферат, курсовая, диплом, контрольная)
В дипломном проекте был разработан алгоритм программы для управляющего элемента блока управления временными интервалами.
Блок-схема алгоритма общей работы программы управляющего элемента блока управления временем срабатывания приведена на рис. 9.
Ход работы программы:
После подачи питания на блок УВИ в микроконтроллере происходит инициация портов. Далее в зависимости от внешнего сигнала выбирается режим работы блока управления временем срабатывания.
Если установлен режим 1 (считывание входного сигнала), то выполняется чтение внешнего сигнала, приходящего на порт микроконтроллера, и запись этого сигнала в EEPROM. После записи с порта посылается квитанция о правильности пришедшего входного кода.
Если установлен режим 2, задаются начальные значения таймера-счетчика 1 и таймера-счетчика 2 и разрешаются все виды прерываний. Далее из EEPROM считывается записанный ранее код и запускается первый и второй таймеры, в цикле идет ожидание сигнала готовности, и после выдачи этого сигнала запускается бесконечный цикл, в котором ожидается срабатывание по внешнему сигналу или срабатывание в зависимости от кода через 1, 2, 3, 4, 5 суток или, в случае отсутствия внешнего сигнала и кода на срабатывание, срабатывание произойдет через 9 суток. В этом режиме после выдачи сигнала предварительной готовности микроконтроллер начинает работать в режиме пониженного потребления и выходит из него только для кратковременной проверки отсчета времени.
Блок-схема более подробного алгоритма работы программы управляющего элемента блока приведена на рис. 10, 11, 12, 13, 14, 15, 16, 17, 18, 19.
Ход работы программы:
После запуска блока УВИ в микроконтроллере происходит инициация портов. Далее выбирается режим работы блока управления временем срабатывания, это происходит в зависимости от наличия сигнала на выводе микроконтроллера PB0. Если выбран режим считывания входного сигнала (режим 1), то выполняется чтение сигнала приходящего на порт, А и запись этого сигнала в 1 байт EEPROM. После записи с порта, А посылается квитанция о правильности пришедшего входного кода.
Если установлен режим 2(режим обработки входного сигнала), то задаются начальные значения таймера-счетчика 1 и таймера-счетчика 2 и разрешаются все виды прерываний. Далее из EEPROM из 1-го байта считывается записанный ранее код и запускается первый и второй таймеры. Далее запускается цикл ожидания сигнала готовности, который передается с PD1 и PD4 через 2 минуты после запуска режима 2, при этом за отсчет времени отвечают таймер-счетчик 1, тактирование которого равно 5 секундам, и таймер-счетчик 2, работающий в асинхронном режиме, тактирование которого тоже равно 5 секундам, и тактовую частоту которого задает внешний кварцевый резонатор, частота которого равна 32 768 Гц, и после выдачи этих сигналов запускается бесконечный цикл, в котором ожидается срабатывание по внешнему сигналу, который приходит на порт B на PB2 или срабатывание по коду через 1 сутки если код равен 0×38, через 2 суток если код равен 0×08, через 3 суток если код равен 0×10, через 4 суток если код равен 0×20, через 5 суток если код равен 0×18 или, в случае отсутствия внешнего сигнала и кода на срабатывание, выдача сигнала срабатывания произойдет через 9 суток .