Читать курсовая по информатике, вычислительной технике, телекоммуникациям: "Система управления сварочным аппаратом" Страница 9

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

соответствующие клавиши которые отслеживаются по моментам нажатия. Для отработки нажатия клавиатура сканируется много раз в секунду и контролируется изменение кода клавиши. При старте системы первым возможным установленным уровнем является 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).

Для обработки прерываний от клавиатуры устанавливаем флаг EX1 в единичное состояние (ЕХ1=1) и разрешаем все прерывания флагом ЕА (ЕА=1).

Для обработки прерываний от последовательного порта устанавливаем ES в единицу (ES=1).

Затем устанавливаем порт Р1 в нулевое состояние (Р1=0, т. е. всё выключено по умолчанию).

Флаг включения onoff устанавливаем в нулевое состояние (flagonoff=0, т. е. он выключен).

Идёт инициализация переменных часов, минут, секунд. Шаг приёма в нулевом состоянии (step=0), команда в нулевом состоянии (komanda=0). Также сбрасываются флаги onoff и flag (flagonoff=0, flag=0).

Устанавливаем порты Р3.2 и Р3.3 в единицу на ввод, как только эти линии будут отпущены в ноль, это сигнализирует о нажатии клавиши.

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

Рассмотрим обработчики прерываний:

)Обработчик прерывания клавиатуры interrupt2 (обслуживает внешнее прерывание int1, возникает, когда int1переходит из 1 в о). В данном обработчике с порта Р3.4, Р3.5, Р3.7 считывается код клавиши и выполняется его


Интересная статья: Быстрое написание курсовой работы