Каталог статей

Главная » Все схемы » Схемы устройств на микроконтроллерах » Устройства на микроконтроллерах

Выбранная схема!!!


3629
Студенческие часы на PIC18F452.

Автор - TripleKill.

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

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

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

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

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

Файлы:
Проект Proteus.
Проект microC.
Прошивка МК.



Категория: Устройства на микроконтроллерах | Добавил: brys99 (03.12.2011)
Просмотров: 5153 | Теги: Студенческие часы на PIC18F452. | Рейтинг: 1.0/1


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

Пожалуйста оставьте свои комментарии !!!!

Имя *:
Email:
Код *:


ElectroTOP - Рейтинг сайтов
Copyright Zloy Soft (Company) © 2008 - 2016