Проэкт представляет собой часы с таймером, который может быть запрограммирован на включение и на выключение. Я начал его делать так как мне было лень включать и выключать каждый день аквариум. Не стал использовать уже готовые вещи по нескольким причинам - в том числе и потому что планирую добавить автоматическую систему для кормежки рыб. Схема часов довольно проста, если не сказать очень проста. Главная часть, безусловно - программа на ассемблере. Для программирования я использовал Microchip´s MPASMP
Часы имеют 4 кнопки для:
увеличения часов (1)
увеличения минут (2)
режима программирования включения (3)
режима программирования выключения (4)
Часы имеют 4 режима:
часыпрограммирование часов
программирование включения
программирование отключения
Новый режим устанавливается при нажатии на соответствующую кнопку. После того, как кнопка нажата или отпущена новый режим индицируется примерно в течение секунды символами ClOC, Prog, Pron, ProF соответственно. При нажатии кнопки (1) или (2) устанавливается режим программирования часов и часы (кнопка 1) или минуты (кнопка 2) будут увеличиваться каждую секунду. При нажатии кнопки (3) или (4) часы показывают время включения или отключения. Чтобы установить новое время включения/выключения - не отпуская кнопки (3) или (4) следует нажать кнопку (1) или (2). Если нажать вместе кнопки (3) и (4) секунды обнуляются и часы не идут до отпускания этих кнопок - это для установки точного времени. Защита от дребезга контактов - программная задержка на 16 миллисекунд (4 цикла) при нажатии и отпускании. 4 вывода PIC16F628 использованы для динамической индикации 7-сегментных индикаторов и сканирования клавиатуры. Программа работает по прерываниям. До вызова прерывания программа ничего не делает и может быть использована для других целей. Прерывания происходят каждые 4 миллисекунды. Каждый цикл новый 7-сегментный индикатор подключается. Каждый раз, когда проходит секунда вызывается подпрограмма проверки времени включения/выключения реле.
Организовать индикацию прямо с микроконтроллера не хватает выводов, поэтому я использовал дополнительную микросхему - сдвиговый регистр CD4015. Реле и многие детали как транзисторы или диоды могут использованы практически любые того же класса. Я оставил свободными выводы RB0, RB1, RB2 для дальнейшего развития - подключения RS232 и так далее. Система автоматической кормежки большей частью механическая и может забрать много времени и будет добавлена позже.
Замечание: мне заметили что CD4015 имеет всего 1 ма выходной ток, так что для более яркой индикации можно использовать что-либо помощнее, я использовал то, что было под рукой в данный момент.
Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов!
Подробно тут! Жалоба