Разработка программируемого термостабилизатора

дипломная работа

2.7 Разработка программного обеспечения

Для программирования используется макpоассемблеp MPASM, он содеpжит все необходимые нам возможности. MPASM входит в пакет программ Microchip MPLAB фирмы Microchip Technology. Запись осуществляется пpи помощи пpогpамматоpа и пpогpаммы Pic-prog. Микросхема микроконтроллера вставляется в панель программатора. Программатор подключается к порту LPT1. Необходимо запустить программу Pic_prog.exe. Подать питание на программатор. Выполнить команду ЗАПИСАТЬ / ПАМЯТЬ ПРОГРАММ. В течение следующих нескольких секунд будит выполняться процесс программирования, а затем проверка правильности записанных в микроконтроллер данных.

Листинг программы показан в Приложении . Блок схема алгоритма работы терморегулятора показана на Рис.2.7.1

Рис.2.7.1 - Блок схема алгоритма работы программируемого термостабилизатора.

После пуска и инициализации регистров микроконтроллера выполняется самая продолжительная инициализация ЖК-дисплея. Далее проверяется состояние флага установки. Если установки нет, то на индикацию выводятся значения регистров текущего режима. Если идет установка, то проверяется флаг курсора. Если флаг курсора установлен, то индицируется курсор. При установке индикация курсора и значений регистров индикации выполняется поочередно.

После индикации программа переходит к инициализации и считыванию температуры с первого датчика DS1820. Микроконтроллер принимает девять бит информации с кодом знака температуры в девятом бите и значением десятых долей температуры в первом бите. Если девятый бит равен единице, то знак измеренной температуры отрицательный. При единичном первом бите десятые равны пятерке. Двоичное значение принятой температуры сравнивается с установленной температурой. Если измеренная температура больше установленной, то выключается управляющий выход. В противном случае выход включается. Для отрицательных установок при понижении температуры управляющий выход включается. Далее двоичное значение температуры перекодируется в двоично-десятиричный код для индикации (на рис. 6 не показано).

Аналогично первому выполняются считывание температуры из второго датчика и установка второго управляющего выхода. Поскольку вывод на индикацию занимает довольно много времени (8 мс), то он выполняется после шести циклов считывания температуры через 68 мс. Когда счетчик циклов будет равен нулю, проверяется состояние кнопок управления и по установленному режиму заполняются регистры индикации. После этого цикл индикации и измерения температуры повторяется. Цикл измерения температуры и установка управляющих выходов обоих датчиков выполняются за 11,4 мс. Таким образом, управление каждым нагревателем будет выполняться минимум один раз за период сетевого напряжения.

Делись добром ;)