Простые часы на Atmega8 своими руками
Эти электронные часы на базе микроконтроллера Atmega8 оснащены легко читаемым светодиодным дисплеем, будильником с функцией повтора сигнала и функцией восстановления работы после сбоя питания.
См технические характеристики• формат отображения времени: часы, минуты;
• будильник с функцией повтора;
• простое управление с помощью 2-х кнопок;
• поддержка работы от батареи;
• напряжение питания: 7…12В/0,2А;
• размеры двух печатных плат: 60×21 мм, 58×44 мм.
Схема часов должна питаться постоянным напряжением в диапазоне 7…12В. Это может быть любой блок питания с токовой нагрузкой не менее 200 мА.
Диод VD1 (1N4007) защищает схему от переполюсовки входного питания. Внешнее входное напряжение поступает на стабилизатор DA1 (7805), а конденсаторы С3…С7 выполняют роль фильтра питания.
Часы управляются микроконтроллером Atmega8, а в качестве часов реального времени используется микросхема PCF8583. PCF8583 взаимодействует с микроконтроллером через интерфейс I2C.
В дисплее используется четырехразрядный семисегментный модульный дисплей с общим анодом. Экран напрямую подключен к выходам микроконтроллера через ограничительные резисторы R1…R12.
К разъему CON5 на плате можно подключить зуммер генератора, который будет действовать как сигнал тревоги. Кнопки подключены к выводам SA1 и SA2 на печатной плате, которые используются для входа в настройки и ведения часов.
Установка времени и будильникаНажав кнопку SA1, мы попадаем в меню часов «Set1», где у нас есть возможность установить текущее время, а еще одно короткое нажатие кнопки SA1 переводит нас в меню установки времени будильника «Set2».
Кнопка SA2 используется для выбора и изменения настроек. После выбора режима установки времени и режима установки будильника на экране будет мигать первая цифра, после чего вы можете установить десятки часов с помощью кнопки SA2.
Когда вы снова нажмете SA1, начнет мигать вторая цифра, и SA2 можно будет использовать для установки единиц времени. Следующие два нажатия SA1 позволят вам установить десятки минут и единицы минут. При установке часов и минут всегда устанавливается только одна цифра. Пятое нажатие SA1 возвращает часы в нормальный режим работы. Кроме того, длительное отсутствие нажатия каких-либо кнопок завершает процедуру настройки.
Во время работы часов длительное нажатие на кнопку SA2 включает/выключает будильник. Когда будильник активирован, время начала отображается в течение нескольких секунд. Состояние тревоги обозначается точкой в четвертой цифре. Если тревога активна, этот индикатор горит.
После включения сигнала будильника нажатием любой кнопки его можно выключить примерно на 5 минут, при этом включена функция повтора. На этот факт указывает мигающая точка в четвертом разряде дисплея. Через 5 минут снова прозвучит сигнал будильника. Повторное нажатие любой кнопки может привести к задержке еще на 5 минут и т д
Сигнал тревоги полностью отключается после длительного нажатия на клавишу SA2 или примерно через полторы минуты без ответа со стороны пользователя.
Тактовая производительность протестирована на Proteus:
Если в процессе работы часов окажется, что часы значительно отстают или спешат, можно попробовать уменьшить или увеличить номинал конденсатора С1.
А под общий анод прошивку можно переделать? ? Вообще, часики стабильные получились? С четвёртой ноги поступают импульсы с частотой в 1 сек?
А под общий анод прошивку можно переделать? ?Можно, я ее даже как-то встречал в интернете.Вообще, часики стабильные получились?Стабильные, но за пару месяцев у меня начали спешить на минуту. Я думаю это из-за кварца. Кварц был взят из китайских часов, которые шли в подарок к какой-то покупке и проработали всего-ничего. Качество соответствующее.С четвёртой ноги поступают импульсы с частотой в 1 сек?Честно, уже не помню, но по-моему, там просто ″1″.
Спасибо! Ага, понятно… Кстати, кварц видимо, лучше использовать от материнской платы. Я как раз таких напаял ?
Ребят, сорри, только начинаю. У меня проблема. Программатор — Usbasp, прошиваю с помощью Khazama. Программу пишет нормально. Читает заводские фьюзы тоже. Кроме них ставлю те, что в описании часов, и всё! МК не отвечает. Что делать? Первая попытка с МК и такой облом( Заводские не трогаю, только меняю описаные.
Проверку МК на запись проходит?
Уже разобрался. Внешний кварц подключил, и всё заработало)
Собрали часики на АТмега8-16РО . Дисплей от старого калькулятора. Прошивал понипрог. Всё работает. Точно. Спасибо автору… YH YH
Что за калькулятор? Можете прислать фото с Вашим вариантом?
собрал на АТмега8-16PU. ДИСПЛЕЙ АЛС 318А. ДРУГОГО НЕ НАШЕЛ. не получается импортировать файлы- фотки.
Фото залейте на любой бесплатный файл обменник или на крайний случай в открытый альбом контакта или другой соц сети, ссылку на изображение опубликуйте здесь, нажав кнопку над полем сообщения «Вставить изображение» (сразу под смайлами).
Я бы на Вашем месте для лучшей читаемости добавил свечение элемента «G» в разряде между часами и минутами.
Можете прошивкой поделиться,неполучается скачать.
Ссылка рабочая, проверено. Если у Вас в браузере при нажатии на ссылку будут отображаться столбы с набором символов — это и есть прошивка. Просто нажмите Ctrl + S и сохраните файл под любым названием с расширением .hex
неполучается.сохраняется как html страница.
:1000000012C018951895189530C21895189518951E :10001000189511C118951895189518951895189553 :100020001895189518958FE58DBFC0E4E8E34E2E1E :1000300084E08EBFD4E0F4E05F2EEEEFF3E0A0E6C4 :10004000B0E0A89584B7082E877F84BF88E1992700 :1000500081BD91BD88278D933197E9F766248FEF95 :1000600087BB8FEF81BBA398AD9AAC9AEAE0F3E02F :1000700081D181E080936000009160000A3010F02F :1000800009F013C07AD1A0E6B0E0AD90BB24A4E69D :10009000B0E0AA0DBB1DD5D10C926CD1A0E6B0E0AA :1000A0008C918F5F8C9308F4E7CF88E082BD85E068 :1000B00085BD89B7806489BF80E08093790080E046 :1000C00080937A0080E080937B0082E083BF80E0B1 :1000D0008FBD87E08EBD789489B7816089BFA49871 :1000E000A1E9B0E09C9197FF04C09C9B0EC09F7754 :1000F0009C939C990AC08EE19F93992789D19F91E7 :100100009C9903C090689C9305D1A598A1E9B0E0A3 :100110009C9196FF04C09D9B0EC09F7B9C939D99D4 :100120000AC08EE19F93992773D19F919D9903C037 :1001300090649C930FD1ABE7B0E00D91112744E69A :1001400050E075D1A3E6B0E00D931C93A3E6B0E0B8 :100150000D911C91AAE7B0E04D915527040F151F92 :10016000A3E6B0E00D931C9381E0809360000091C2 :100170006000043010F009F05BC0A3E6B0E00D9120 :100180001C914AE050E001D1A0E6B0E0AD90BB2464 :10019000ADE6B0E0AA0CBB1CAA0DBB1D0D931C93D1 :1001A000A0E6B0E0AD90BB24ADE6B0E0AA0CBB1C6D :1001B000AA0DBB1D0D911C91003050E0150709F0F0 :1001C0000FC08AE090E0A0E6B0E0AD90BB24ADE6C1 :1001D000B0E0AA0CBB1CAA0DBB1D8D939C9316C04E :1001E000A3E6B0E00D911C91A0E6B0E0AD90BB2479 :1001F000ADE6B0E0AA0CBB1CAA0DBB1D4D915C91F5 :10020000041B150BA3E6B0E00D931C93A3E6B0E02E :100210000D911C914AE050E0B8D0A3E6B0E04D93B8 :100220005C93A0E6B0E08C918F5F8C9308F49FCF35 :1002300056CFF894FFCF0F921F922F923F924F927A :100240005F927F92AF92BF920F931F932F933F9332 :100250004F935F936F937F938F939F93AF93BF93CE :10026000CF93DF93EF93FF938FB78F93A1E6B0E027 :100270008C918F5F8C938FEF88BBA1E6B0E0AD903F :10028000BB24ADE6B0E0AA0CBB1CAA0DBB1DAD9013 :10029000BC90A4E6B0E0AA0DBB1D8C9182BB929AE3 :1002A0000091610041E0041BA2E6B0E00C93A2E6DD :1002B000B0E08C91A8E3B0E0D2D0C7D08C91892374 :1002C0008C9300916100043009F003C080E08093BA :1002D00061008F918FBFFF91EF91DF91CF91BF911F :1002E000AF919F918F917F916F915F914F913F91CE :1002F0002F911F910F91BF90AF907F905F904F9083 :100300003F902F901F900F90189588B3BAD87A7BA2 :10031000A8FBFAEBAAE7B0E08C918F5F8C93009179 :100320007A000C3309F008C080E080937A00ABE7D4 :10033000B0E08C918F5F8C9300917B00073110F0BF :1003400009F001C003C080E080937B0080E08093CF :1003500079000895ABE7B0E08C918F5F8C930091AA :100360007B00073110F009F001C003C080E08093EA :100370007B0008958E2E9F2E0895E82DF92D089567 :1003800008D055D000FC10D0089503D01ED001F83D :10039000F9CF0024E89457FF02C009D0689400F810 :1003A0000BD010F80124089502D009D0089550957B :1003B00040954F5F5F4F0895E89417FF08950095AB :1003C00010950F5F1F4F68940895352F242FE894E0 :1003D000452B11F468940895512F402F00271127C1 :1003E00080E1440F551F001F111F021B130B4160BA :1003F00018F4020F131F4E7F8A9599F708953197CD :10040000F1F70895689462F80895E89462F8089501 :10041000EF93FF93EE27E82BE92B31F0E0EDF7E0C7 :100420003197F1F70197D1F7FF91EF9108950F926E :10043000B801469F8001479F100D569F100D0F90E9 :100440000895C89531960020089591E0882321F001 :100450008894991F8A95E9F7892F90950895883097 :1004600018F011968850FBCF0895AF93BF930F9368 :100470009F938F938FB78F93A9E7B0E08C9183956B :100480008D938C3309F03DC088278E9311968C9103 :1004900083958D938C3309F034C088278E93119601 :1004A0008C9183958D93883161F588278E93119671 :1004B0008C9183958D939C910EE1943089F09630C8 :1004C00079F0993069F09B3059F00CE1923039F4B1 :1004D00011969C911197937019F4039501C00FE147 :1004E000801778F071F081E08E9311968C9183954E :1004F0008D938D3031F481E08E9311968C9183959C :100500008C938F918FBF8F919F910F91BF91AF91DE :0205100018953C :00000001FFСохраните при помощи Notepad++ в формате .hex
Все получилось.еще один вопрос,область еепром должна быть пустой?в моем дампе одни нули.