- •2. Введение
- •3. Разработка структурной схемы устройства
- •4. Выбор элементной базы
- •5. Принцип построения программы
- •6. Разработка алгоритма работы электронных часов
- •7. Заключение
- •Приложение 3. Листинг программы для микроконтроллера
- •8. Список литературы
- •Приложение 1. Структурная схема микроконтроллера pic16f84
- •Приложение 2. Принципиальная схема электронных часов
5. Принцип построения программы
Программа состоит из блока начальных установок в который входят процедуры обнуления переменных используемых в программе, установки направления портов, установки нужного коэффициента предделителя, тест работоспособности индикаторов. Блока вывода на индикацию в котором осуществляется преобразование двоичного кода в код семисегментных индикаторов, формируются необходимые задержки времени для динамической индикации, также контроль вывода выбранного пользователем режима индикации (режим часы : минуты и минуты : секунды ). Участок программы сканирования клавиатуры отвечает за выбор режима индикации и установку времени вводимых с клавиатуры, в следующей последовательности в режиме (часы : минуты ) кнопкой установки времени может быть изменено только значение раздела часов а в режиме (минуты : секунды) только минут.
Самая ответственная часть программы это обработка прерывания полученного от встроенного таймера микроконтроллера от неё зависит точность хода часов т.е ошибки в этой части программы приводят к значительному отставанию или опережению хода часов там же может быть осуществлена точная подстройка. Рассмотрим получение интервала в 1 секунду с помощью таймера, при конфигурации таймера его надо подключить к внутреннему генератору который по заданию вырабатывает частоту 4,00 мГц после такого подключения в данном микроконтроллере на таймер будет подаваться частота генератора (Fг)/4 и будет равна 1000000 Гц с помощью встроенного предделителя она делится на 64 и на таймер приходит уже 15625 Гц. После этого нам необходимо разделить это число на такое же чтобы получить частоту колебаний в 1гц. Из-за небольшой разрядности таймера (8) эта процедура делается в два этапа делим на 125 и еще раз настолько же. Сразу после этого прибавляем 1 к регистру секунд (в программе sek).Результат приведен ниже :
1. F(г)=4 мГц/4=1000000
2. 1000000/64=15625
3. 15625/125=125
4. 125/125=1 Гц
6. Разработка алгоритма работы электронных часов
Ниже приведён алгоритм работы программы микроконтроллера. Алгоритм соответствует программе приведенной в листинге приложения 3.
7. Заключение
В ходе выполнения данного курсового проекта спроектированы электронные часы на микроконтроллере, написана программа для него рассмотрены вопросы программирования МК. При выполнении данной работы был получен опыт разработки подобных устройств получены навыки в разработке программ на языке ассемблер также был закреплены знания полученные на ранее прочтенном курсе.
В данном курсовом проекте разработана следующая документация:
структурная схема (пункт 3);
Структурная схема микроконтроллера PIC16F84 (приложение 1);
схема электрическая - принципиальная (приложение 2);
алгоритм программы микроконтроллера (пункт 6);
программа микроконтроллера (приложение 3).
