Основным измерителем элементарных временных интервалов при работе терморегулятора является внутренний счетчик: микроконтроллера, используемый в режиме таймера (далее просто таймер). Длительность элементарного временного интервала определяется кодом, загружаемым в таймер. При этом требуемый код подобран таким образом, чтобы период времени между моментами входа в прерывания от таймера с вектором 07Н (при использовании кварцевого резонатора с частотой 6 МГц) был равен 3,125 мс, т.е. частота прерываний составляет 320 Гц. С такой частотой осуществляется сканирование и выдача информации на индикаторы. Полный цикл сканирования 6—ти семисегментиых индикаторов и двух линеек светоднодов осуществляется, таким образам, за (3,125 х 3)= 25 мс, что соответствует частоте полной смены информации на индикаторе и светоднодах 40 Гц. При такой частоте смены информации мерцание индикаторов человеческим глазом не воспринимается.
Интервалы времени в 3,125 мс (а точнее, количество обращений к п/программе прерываний от таймера) последовательно суммируются в ячейке TIM_PR1 и при достижении суммой величины 40Н (длительность временного интервала 200 мс или 64 цикла прерываний) производится инкремент второй ступени счетчика в ячейке TIM_PR2. При достижении второй ступенью счетчика значения 05Н (т.е. общая длительность временного интервала достигла 1 сек или 320 циклов прерываний) производится инкриментированне счетчика секунд во внешнем ОЗУ, где организованы счетчики:
- общего времени работы программы ( в сек, мин, час);
- счетчик времени в пределах сегмента ( в сек, мин, час);
- счетчик времени-в пределах сегмента в секундах. Если
программа автоматического регулирования не активизирована (например, режим задания программ разогрева), то модификации содержимого счетчиков не происходит»/
Для обеспечения периодического запуска АЦП организована своя вторая ступень счетчика циклов обращений к п/программе прерываний от таймера (READY_ADC),причем в качестве первой ступени также используется счетчик TIM_PR1. Содержимое ячейки READY_ADC, загружаемое предварительно, определяет период дискретизации АЦП»
Для обеспечения коррекции смещения нуля в ОпЗд2 осуществляется также подсчет количества запускав АЦП (ячейка READY_ADC+1). При достижении количества запусков АЦП некоторого заданного значения N АЦП устройства переключается в режим коррекции нуля, которая производится (дополнительный запуск АЦП) в середине интервала времени между N-м и (N+D-м запуском АЦП на измерение текущей температуры. После получения результата измерения смещения нуля он размещается во внешнем ОЗУ и АЦП возвращается в рабочий режим измерения температуры. Изменяя содержимое ячейки READU_ADC+1, можно увеличивать или уменьшать количество коррекций нуля в единицу времени (например, в час).
В расмках оперативной задачи 2 осуществляется также непосредствееное управление двигателем в соответствии с содержимым ячейки WORK. Если содержимое WORK не нулевое, то по состоянию старшего бита В7 данной ячейки исполнительный механизм включается на нагрев (87 = "0") или охлаждение (Б7 = " 1"-) , после чего производится декремент значения ячейки WORK. Декрементирование производится после этого раз в секунду. Серводвигатель остается включенным до тех пор, пока WORK без
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.