| Главная страница | | Архитектура микроЭВМ | | Принципы обмена данными | | Лабораторные работы | | Примеры систем | | Программно-логическая модель | | Справочная информация |
 
Однокристальная микроЭВМ МК51 Система контроля температуры

   АЛГОРИТМ РАБОТЫ СИСТЕМЫ

    Опрос датчика температуры в помещении, оцифровка его выходного аналогового сигнала и вывод среднего значения температуры на индикацию выполняются при нажатии кнопки START в произвольные моменты времени. Это нажатие вызывает поступление запроса прерывания на вход INT0 микроЭВМ. Именно обработчик этого прерывания и выполняет основную работа системы. При выходе из обработчика прерывания происходит возврат в основную - фоновую программу работы системы. В данном варианте эта программа состоит из двух частей - программы инициализации и зацикленной части, в которой ожидается приход сигнала запроса прерывания.

Основная программа - программа инициализации
    Программа инициализации начинает выполняться после подачи питания на микроЭВМ и после формирования процессором сигнала системного сброса. В ее функции входит только разрешение прерывания от INT0 (от кнопки START) и настройка системы прерывания на фронт входного сигнала.
Блок-схема алгоритма
программы
инициализации

Программа обработки прерывания от INT0
        В начале программы обработки прерывания, вызванного нажатием кнопки START, запрещается реакция на повторное нажатие кнопки для выхода из программы. Затем устанавливаются начальные значения счетчика количества опросов АЦП, начальное значение регистра-накопителя, в котором накапливаются значения температуры перед вычислением среднего значения. После этого 4 раза выполняется одна и та же процедура: запускается АЦП (устанавливается "0" на выходе порта Р1.0), считывается код с выходов АЦП - код на входах 1-7 порта Р0. Если значение разряда Р.7 равно "0" (признак готовности данных на выходе АЦП), считанное значение заносится в регистр-накопитель, сбрасывается АЦП (устанавливается "1" на выходе порта Р1.0). Затем, через время большее 2 мкс, цикл повторяется. После четырехкратного опроса датчика температуры вычисляется среднее значение температуры, выполняется перевод полученного кода в двухразрядное двоично-десятичное число с одновременным преобразованием из кода АЦП. Полученное число выводится через порт Р2 на пульт управления. Перед выходом из обработчика прерывания разрешается новое прерывание от INТ0.
Блок-схема алгоритма
программы
обработки
прерывания

   ДЕМОНСТРАЦИЯ РАБОТЫ СИСТЕМЫ

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

Варианты значений
температуры



   ТЕПЕРЬ ДЛЯ ВЫПОЛНЕНИЯ ЗАДАНИЯ ТРЕБУЕТСЯ:

- разработать программу работы микроЭВМ Программа работы микроЭВМ
- отладить программу работы микроЭВМ Отладка программы

| На главную страницу | На начало раздела | Задание на разработку системы | На предыдущий этап | На начало страницы | © КСиТ МИФИ, 2000 г.