Informatics Point

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

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

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

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

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

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

Ремонт и диагностика смартфонов HTC
Смартфон (англ. smartphone - умный телефон) - мобильный телефон, дополненный функциональностью карманного персонального компьютера. Смартфоны отличаются от ...

Полевой транзистор с изолированным затвором
Полевыми транзисторами называют активные полупроводниковые приборы, в которых выходным током управляют с помощью электрического поля. Полевые транзисто ...

Технология изготовления электронно-лучевой трубки
Фокусирующая система может быть линзовой или зеркальной. Линзовые системы имеют сферическую аберрацию значительно, большую, чем зеркальные, но первые ко ...

Меню сайта