Описание работы программы

При включении в розетку контроллер производит начальную инициализацию основных переменных и массивов, прерываний и необходимых флагов. Например, флаг onoff установлен в 0 (т.е. контроллер не отображает ничего и находиться в ждущем режиме. Программа состоит из основной части, разделённой на два логических блока. 1-й блок - инициализация параметров контроллера (обработка прерываний от последовательного порта и таймера).

Мы используем библиотеку 51-го контроллера. Вначале идёт объявление переменных, стандартные счётчики. Для измерения температуры мы выделили байтовые переменные Тул, Ткан, Тком. Сначала контроллер посылает сигналы датчикам и получает ответы о том, что датчики готовы к работе с ним. Затем контроллер посылает сигнал конкретному датчику и получает от него измеренное значение температуры. После получения результатов от всех трёх датчиков контроллер сравнивает полученные результаты с параметрами температуры, введёнными пользователем, либо с параметрами, установленными по умолчанию. Если температура в комнате оказывается ниже установленной температуры, то микроконтроллер включает нагревательный элемент. Если температура оказалась выше установленной, то, напротив, посылается сигнал об отключении тэна, а вентилятор продолжает работать, втягивая прохладный воздух до тех пор, пока температура не будет равна установленным параметрам, в этом случае система отключается. Для того чтобы была возможность ввести параметры температуры и времени используются соответствующие клавиши которые отслеживаются по моментам нажатия. Для отработки нажатия клавиатура сканируется много раз в секунду и контролируется изменение кода клавиши. При старте системы первым возможным установленным уровнем является 0о С, после каждого последующего нажатия кнопки «4»(+) температура на дисплее увеличивается на 1о, соответственно после каждого нажатия кнопки «5»(-) температура уменьшается на 1 и как только достигает 0, приращение останавливается.

Так как предусмотрен счетчик времени необходимо установить время, совпадающее с действующим. При введении времени сначала высвечиваются минуты, начиная с 1мин., затем, при нажатии на кнопку «6» параметр увеличивается на 1мин., как только параметр становится равен 60с, то время автоматически переводится в часы и, при нажатии на кнопку «7» время увеличивается на 1 час, после того как параметр становится равен 24ч., он переводится в 0, после этого отсчёт начинается заново.

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

Затем идёт блок инициализации программы. В этом блоке осуществляется первоначальная настройка микроконтроллера.

После сброса происходит инициализация контроллера. Назначается предделитель таймера1. При этом таймер1 устанавливается в TH1=0xFD. Эта константа посчитана для режима SCON=0x50 при частоте кварца 11000,0952 МГц. Этот предделитель даёт скорость на последовательном порту близкую к стандартной скорости 9600. Также для таймера1 устанавливается второй режим работы, обеспечивающий автоматическую нагрузку предделителя из TH вTL. Таким образом, решается вопрос автоматического задания частоты.

Таймер0 устанавливается в первый режим 16-битного счётчика и в дальнейшем будет использоваться для подсчёта времени. Таймер0 использует обработчик прерывания1 и для его разрешения необходимо установить флаг ET0 в единичное состояние (ET0=1).Для запуска таймера0 TR0 устанавливаем в единицу (TR0=1), одновременно запускаем и таймер1 (TR1=1).

Перейти на страницу: 1 2 3 4 5 6

Прочтите также:

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

Диагностика и ремонт модуля кадровой развёртки
В связи с большим расширением элементной базы, повышается степень востребованности профессии техника радиоэлектронной аппаратуры. Специалист данной профессии должен уметь проводить ...

Определение и исследование спектров сигнала
К числу важных областей науки и техники, достижения которых непосредственно способствуют росту материального и культурного уровня общества, принадлежит радиотехника. Р ...

Основные разделы

2021 © Все права защищены! >> www.techeducator.ru