Курсовая работа: Разработка микропроцессорной системы на базе микроконтроллера для терморегулятора аквариума
(исполнение 2)
4. Разработка алгоритма работы устройства
Алгоритм работы программы микроконтроллера показан на рис. 6.
Рис. 6. Алгоритм работы программы «терморегулятор для аквариума»
После пуска и инициализации регистров микроконтроллера выполняется самая продолжительная инициализация ЖК-дисплея. Далее проверяется состояние флага установки. Если установки нет, то на индикацию выводятся значения регистров текущего режима. Если идет установка, то проверяется флаг курсора. Если флаг курсора установлен, то индицируется курсор. При установке индикация курсора и значений регистров индикации выполняется поочередно.
После индикации программа переходит к инициализации и считыванию температуры с первого датчика DS1820. Микроконтроллер принимает девять бит информации с кодом знака температуры в девятом бите и значением десятых долей температуры в первом бите. Если девятый бит равен единице, то знак измеренной температуры отрицательный. При единичном первом бите десятые равны пятерке. Двоичное значение принятой температуры сравнивается с установленной температурой. Если измеренная температура больше установленной, то выключается управляющий выход. В противном случае выход включается. Для отрицательных установок при понижении температуры управляющий выход включается. Далее двоичное значение температуры перекодируется в двоично-десятиричный код для индикации (на рис. 6 не показано).
Аналогично первому выполняются считывание температуры из второго датчика и установка второго управляющего выхода. Поскольку вывод на индикацию занимает довольно много времени (8 мс), то он выполняется после шести циклов считывания температуры через 68 мс. Когда счетчик циклов будет равен нулю, проверяется состояние кнопок управления и по установленному режиму заполняются регистры индикации. После этого цикл индикации и измерения температуры повторяется. Цикл измерения температуры и установка управляющих выходов обоих датчиков выполняются за 11,4 мс/Таким образом, управление каждым нагревателем будет выполняться минимум один раз за период сетевого напряжения.
5. Ассемблирование
Для ассемблирования используется макpоассемблеp MPASM, он содеpжит все необходимые нам возможности. MPASM входит в пакет программ Microchip MPLAB фирмы Microchip Technology.
Листинг программы и объектный файл представлен в Приложении А.
6. Программирование микроконтроллера
После ассемблирования имеется объектный файл EXAMPLE.HEX, котоpый должен быть записан в микpосхему. Запись осуществляется пpи помощи пpогpамматоpа и пpогpаммы Pic-prog. Микросхему микроконтроллера вставляется в панель программатора. Программатор подключается к порту LPT1. Необходимо запустить программу Pic_prog.exe.Подать питание на программатор. Выполнить команду 'ЗАПИСАТЬ / ПАМЯТЬ ПРОГРАММ'.
В течение следующих нескольких секунд будит выполняться процесс программирования, а затем проверка правильности записанных в микроконтроллер данных.
Коды прошивок микроконтроллера представлены в Приложении Б.
7. Описание функциональных узлов МПС
В проектируемом устройстве можно выделить следующие функциональные блоки:
1. Микроконтроллерный термометрический датчик DS1820 – первый;
2. Микроконтроллерный термометрический датчик DS1820 – второй;
3. Блок управления (три кнопки и выключатель питания);
4. Жидкокристаллический индикатор;
5. Стабилизатор напряжения;
6. Кварцевый резонатор;
7. Силовой блок-первый;
8. Силовой блок-второй;
9. Микроконтроллер.
Каждый блок выполняет свою функцию и имеет взаимосвязь с другими блоками системы.
8. Описание выбора элементной базы и работы принципиальной
схемы