Информация к новости
  • Просмотров: 10671
  • Добавил: Kail
  • Дата: 20 января 2011
20 января 2011

Часы на PIC18F452

Категория: Схемы » Для дома и быта

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

Итак, схема:

Часы на PIC18F452


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

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

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

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

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

Часы на PIC18F452


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

Часы на PIC18F452


Часы на PIC18F452


Часы на PIC18F452


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

Источник: http://radiokot.ru/


<
shamasik

20 января 2011 18:28

Информация к комментарию
  • Группа: Мастер
  • ICQ:
  • Регистрация: 6.07.2009
  • Статус: Пользователь offline
  • Публикаций: 115
  • Комментариев: 128
такую жирную микруху ухлопать на простые часы=)


Награды:
--------------------

0
<
denya2211

26 апреля 2011 20:15

Информация к комментарию
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
а термометр сюда добавить можно??


Награды:
0

Добавление комментария

Имя:*
E-Mail:*
Введите два слова, показанных на изображении: *

Друзья и партнеры:

Архив новостей

Декабрь 2016 (4)
Ноябрь 2016 (1)
Сентябрь 2016 (3)
Июнь 2016 (1)
Май 2016 (1)
Апрель 2016 (1)
^
 
-->