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