Проход по ссылкам навигацииГлавная : Статьи :

Часы на PIC18F452

Часы на PIC18F452

Возможно, вы искали:
Как-то раз я перепутал учебные университетские недели, и из-за этого сильно опоздал на лабораторную. Потом я её сдал, но с тех пор захотел сделать напоминалку, которая бы показывала день недели и её номер. Ну а раз день недели, то почему бы и не дату со временем?
Изначально я хотел сделать эти часы не идеально точными, а скорее простыми в настройке, и в плане дальнейшего функционирования, поэтому имеющим опыт в области микроконтроллеров нижеприведённое, возможно, покажется сильно неоптимизированным. Что ж, опыта у меня меньше года...

Итак, схема:



В моём распоряжении находился только PIC18F452, поэтому в схеме использован он. Частота МК - 40 МГц (включен режим PLL). Временные отсчёты тактируются отдельным генератором с часовым кварцем, построенным на логике. Шесть кнопок разведены на порт D, к порту B подключен самый обычный дисплей от Winstar, 2х16 символов. Всё это дело вполне может раб отать от аккумулятора из сотового телефона, и если схему доработать, то можно сделать энергонезависимые ча сы с подзарядкой от сети. Но на этом я не концентрировался.
Несколько пояснений по меню. Собственно меню вызывается по нажатию на кнопку "Меню/Отмена". Нужный пункт меню вызываются нажатием "ОК/Выбор". Чтобы вернуться назад без сохранения изменений, после редактирования параметров нужно нажать "Меню/Отмена". Для сохранения параметров - соответственно "ОК/Выбор". Навигация при редактировании интуитивно понятна. Кнопки "" осуществляют перемещение курсора по разрядам редактируемого параметра, а "+" и "-" служат для изменения значения.

--colorstart:#33FF33-->Плюсы:
- Редактирование отсчётных секундных интервалов до герца. Для регулировки хода часов не требуется менять прошивку. Установленное значение сохраняется в EEPROM микроконтроллера и не теряется даже при полном отсутствии питания.
- Автоматическое определение дня недели по формуле Зеллера. Достаточно установить дату, а остальное сделает МК.
- Определение високосного года, автоматическая корректировка количества дней в месяце, как при редактировании, так и в ходе работы (на длительном периоде не тестировалось, могут быть баги).
- Поразрядное редактирование всех числовых параметров.

Минусы:
-Хоть частота ЦП и относительно большая, но выполнение команд тоже занимает какое-то время, из-за этого секундная задержка становится меньше, чем 32768 Гц, остальное время отнимают вывод на дисплей и всякое редактирование.

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

Фото устройства на макетной плате:



Дисплей в разных состояниях:







Проект Proteus - Вы не можете скачивать файлы с нашего сервера
Проект microC - Вы не можете скачивать файлы с нашего сервера
Прошивка МК - Вы не можете скачивать файлы с нашего сервера

Источник: http://radiokot. ru/
Вместе с Часы на PIC18F452 часто ищут