Informatics Point

Информатика и проектирование

Определение структуры программы

Для оптимального функционирования устройства необходимо распределить аппаратные и временные ресурсы микроконтроллера. Так как пользователем устройства является человек, нет смысла измерять напряжение и выводить его значение на индикатор с большой частотой. Разумной частотой циклической работы микропроцессора можно признать частоту 10 Гц. С этой же частотой можно проверять состояние кнопки переключения диапазонов. С другой стороны, поддерживать динамическую индикацию необходимо с гораздо более высокой частотой. Поэтому удобно задачи опроса кнопки переключения диапазонов, измерения напряжения и вывода данных осуществлять в основном цикле программы, а поддержку динамической индикации реализовать как процедуру обработки прерывания. Для организации интерфейса между основной программой и подпрограммой прерывания необходимо выделить три буферные ячейки памяти, в каждой из которых будут находиться данные для вывода на соответствующий индикатор. В этом случае основная программа принимает решение, что будет выводиться на индикатор, но она не «знает», как именно это будет сделано, а подпрограмма прерывания умеет выводить данные, но не может изменить содержимое буфера.

Рассчитаем время экспозиции каждого индикатора. Для того чтобы избежать эффекта мелькания данных на индикаторах, необходимо чтобы частота регенерации изображения была бы не ниже 25 Гц, что соответствует периоду 40 мс. Выберем этот период в несколько раз выше - например 15 мс. Учитывая, что индикаторов всего 3, время экспозиции каждого индикатора составит 5 мс. Таким образом, основная программа должна прерываться каждые 5 мс. Для выработки этих циклических прерываний можно использовать 8-ми битный таймер Т0 микроконтроллера. Временной интервал 5 мс будет соответствовать 5000 импульсов счета тактового генератора, учитывая, что микроконтроллер тактируется частотой 1 МГц. Эту величину можно представить как 19*256+136. Таким образом таймер Т0 должен 19 раз произвести свой полный цикл переполнения и еще просчитать 136 тактов.

Тактирование основной программы можно осуществить, подсчитывая 5-ти миллисекундные временные интервалы, генерируемые таймером.

Лучшие статьи по информатике

Электронавигационные приборы
На каждом судне для следования по намеченному курсу, выбора пути следования, контроля местонахождения в открытом море с учетом изменяющейся навигационной и ...

Электроакустика и радиовещание
Произвести необходимую планировку (реконструкцию) помещения с целью использования его в качестве аудитории. Рассчитать требуемую акустическую обработку внут ...

Регистры хранения
Цель работы: Изучить один из основных узлов ЭВМ - регистр хранения (память), приобрести навыки в сборке наладке и экспериментальном исследовании регистра. ...

Меню сайта