Двоичные часы на микроконтроллере pic16f628a

Сколько поколений эвм существует, этапы развития вычислительной техники

Как всё начиналось

Разработка М-1 началась в 1950 году в лаборатории электросистем Энергетического института имени Г. М. Кржижановского (ЭНИН). Лабораторией руководил Исаак Семёнович Брук, член-корреспондент АН СССР, известный специалист в области энергетики. Там проводились исследования по электроэнергетике, разрабатывалась аппаратура для крупнейших электростанций. Эта работа требовала сложнейших расчётов, и Бруку очень нужна была машина, которая смогла бы автоматизировать вычисления.

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

Панель ввода аналогового интегратора Брука. Чтобы ввести данные, нужно было вращать зубчатые колёса панелиФото: Public Domain

Брука интересовали цифровые вычислительные машины, о которых он читал в зарубежных статьях. И в 1947 году учёный нашёл единомышленника. На работу в лабораторию пришёл Башир Рамеев, недоучившийся студент, исключённый из МЭИ как сын «врага народа». Он услышал по радио BBC о создании американского компьютера ЭНИАК и сам загорелся компьютерами.

Рамеев Башир ИскандаровичФото: «История информационных технологий в СССР и России»

Рамеев и Брук совместно разработали проект собственной электронно-вычислительной машины, в которой вместо электронных ламп предложили использовать полупроводниковые диоды. В то время это была революционная идея, но она давала множество преимуществ:

  • Миниатюрные и недорогие диоды позволяли уменьшить размеры и стоимость ЭВМ. Американский ЭНИАК, в котором было 17 468 электронных ламп, весил 27 тонн, и на его создание потратили почти 500 тысяч долларов США.
  • Полупроводникам, в отличие от ламп, не нужно прогреваться перед началом работы, потому и энергии требуется меньше.
  • Диоды прочнее электроламп, лучше выдерживают высокочастотные переходы, необходимые для вычислений. В ЭНИАКе каждую неделю сгорало несколько электроламп, их приходилось искать и менять. В итоге непрерывно работать он мог не более 20 часов, что мешало проводить сложные вычисления.

В 1948 году учёные подали заявку на регистрацию проекта в патентное бюро. Через два года вышло постановление Президиума АН СССР о разработке ЭВМ М-1.

Фото: «История информационных технологий в СССР и России»

Для создания компьютера Исаак Брук собрал группу выпускников и дипломников МЭИ. Первым он принял на работу молодого специалиста Николая Матюхина. Вместе с Бруком они начали разрабатывать структуру вычислительной машины.

Кроме Матюхина в группу Брука вошли ещё три выпускника и дипломника МЭИ. Среди них была одна девушка — дипломница Тамара Миновна Александриди, страстная радиолюбительница, бывшая фронтовичка-связистка.

Первое поколение ЭВМ — история создания

Принципы работы современных компьютеров берут свое начало в 1833 году. Тогда английский ученый Чарльз Бэббидж создал проект устройства для научных и технических расчетов. По задумке автора, машиной должна была управлять программа. Ввод и вывод данных планировалось осуществлять с помощью перфокарт — плотных бумажных листов с информацией в виде отверстий. Разработки Бэббиджа стали применяться спустя полвека.

В 1888 году в Америке инженер Герман Холлерит собрал первую счетную машину на электромеханике. Устройство получило название табулятор и могло считывать и сортировать статистическую информацию с перфокарт. В 1890 году аппарат использовали для американской переписи населения. Преимущество техники перед людьми было очевидным. 43 оператора на 43 табуляторах выполнили работу за один месяц, тогда как ранее переписью занимались 500 человек в течение 7 лет.

В 1896 году Холлерит основал компанию Computing Tabulating Recording, которая стала предшественником корпорации International Business Machines, внесшей огромный вклад в развитие мировой компьютерной техники.

Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут

С развитием науки и техники в 1940-е годы появились первые вычислительные машины. Первый компьютер Z1 с программным управлением был создан инженером из Германии Конрадом Цузе.

У истоков компьютерной науки также стоят автор теории информации Клод Шеннон, разработчик теории программ и алгоритмов Алан Тьюринг, создатель конструкции вычислительных машин Джон фон Нейман.

В 1945 году Нейман сформулировал постулаты, которые актуальны и для современных компьютеров. Главный принцип по Нейману — устройством должна управлять программа с последовательным выполнением команд, хранящаяся в памяти машины.

Первое поколение электронно-вычислительных машин датируется 1945–1954 годами и представляет собой устройства на электронных лампах. Аппараты работали с помощью пульта управления и перфокарт. Особенностью первой вычислительной техники являются огромные размеры, требующие размещения в отдельных зданиях.

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

Скорость работы ламповых вычислительных машин была примерно 20 тыс. операций в секунду. Для сравнения: современные ПК способны выполнять миллиарды операций в секунду.

В каком поколении ЭВМ появился монитор

Появление первого компьютерного монитора пришлось на второе поколение ЭВМ. Честь изобретения принадлежит американской компании IBMВ, которая в 1964 году выпустила коммерческую дисплейную станцию IBM-2250 — она использовалась в машинах серии System/360. Модель имела векторный монохромный дисплей размерами 12х12 дюймов, с разрешением 1024 на 1024 точки и частотой обновления 40 Гц.

Примечание

Качество изображения на первом мониторе разительно отличалось от современных компьютеров: чтобы увеличить производительность, символы, цифры и буквы на экране были разделены на отдельные отрезки и максимально упрощены.

За форматирование символов на экране отвечали специальные подпрограммы, заложенные в память дисплейной станции IBM-2250. Центральному процессору ЭВМ достаточно было указать, какие символы, в каком порядке и где вывести на экране, а расчет отображаемой картинки и управление катодным лучом производились в самой дисплейной станции, что существенно разгружало компьютер.

1 Как все начиналось

В конце XIX века Герман
Холлерит в Америке изобрел
счетно-перфорационные машины. В них
использовались перфокарты для
хранения числовой информации.

Каждая такая машина могла выполнять
только одну определенную программу,
манипулируя с перфокартами и числами,
пробитыми на них.

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

Г. Холлерит основал фирму по выпуску
счетно-перфорационных машин, которая
затем была преобразована в фирму IBM —
ныне самого известного в мире производителя
компьютеров.

Непосредственными предшественниками
ЭВМ былирелейные вычислительные
машины.

К 30-м годам XX века получила большое
развитие релейная автоматика, которая
позволялакодировать информацию в
двоичном виде.

В процессе работы релейной машины
происходят переключения тысяч реле из
одного состояния в другое.

В первой половине XX века бурно развивалась
радиотехника. Основным элементом
радиоприемников и радиопередатчиков
в то время были электронно-вакуумные
лампы.

 Электронные лампы стали технической
основой для первых электронно-вычислительных
машин (ЭВМ).

Бинарные часы – подарок нового времени

Часы есть практически у каждого, и являются одной из тех вещей, без которой не обойтись ни одному современному человеку. Конечно, есть те, кто предпочитает смотреть на часы в телефоне, или же на системное время компьютера, но без наручных часов каждый чувствует дискомфорт, всякий раз по привычке глядя на руку.

Кажется порой, что уже ничего не придумают, что ещё такого можно вытворить с часами для того, чтобы сделать их оригинальными и по-настоящему необычными.

Одним из удачных решений на этом пути, несомненно, являются наручные часы без цифр, на циферблатах которых изображены забавные картинки, а время можно определять лишь приблизительно – тут  работают интуиция и эмоциональная сторона. Но ещё, хотелось бы, чтобы часы давали пищу и для ума.

Возможно ли это? Оказывается, более, чем возможно! Как раз для тех, кто хочет найти в часах ежедневную тренировку для ума, или просто удивлять окружающих своими нестандартными часами, создаются так называемые бинарные часы.

Что это такое? По сути, бинарные часы – это такие часы, где кардинально изменён способ представления информации – не привычными нам цифрами, а в двоичном коде. Хотя, конечно, немало бинарных часов и с цифрами, но отображается время совсем не так, как в обычных часах.

 В бинарных для индикации времени применяют светодиоды, потому их ещё называют диодными часами. Время на таких часах поначалу определять непросто – либо колонки цифр, либо вовсе просто светящиеся точки, расположенные в странном порядке на циферблате. Однако, освоившись, можно легко читать время по этим часам.

Вот, например, одни из самых простых для понимания, и вместе с тем, на редкость стильных бинарных часов.

Black Rock

 Где купить: inter-time.ruЦена: 1850 рублей

На первый взгляд, их циферблат наводит на ассоциации с фильмом “Матрица”, однако, это лишь первое впечатление. Четыре вертикальных колонки цифр от 0 до 9 отображают: две левые – часы, а пара правых – минуты. Таким образом, время читается справа налево. На фото, как нетрудно определить, часы показывают 5:27.

Дополнительные значки вверху отражают всю остальную информацию: солнце соответствует отображению дня недели и даты, а доллар означает, что на дисплее показывается год. Бокал служит индикатором наступления второй половины дня. Для того, чтобы увидеть время, просто нажимается кнопка. Это позволяет экономить энергию батарейки.

Fashion Star

Где купить: inter-time.ruЦена: 1600 рублей

Хотя поначалу эти часы напоминают скорее какой-то эквалайзер, затем можно привыкнуть, и быстро определять время.

Светящихся точек может быть и не очень много. Например, если каждая из них отвечает за свою группу цифр.

Futurama

Где купить: inter-time.ruЦена: 1700 рублей

Индикаторы могут располагаться на циферблате как угодно. Например – дугами. Эффектно и удобно.

Flash Metal

Где купить: inter-time.ruЦена: 1600 рублей

Mickey Stile

Где купить: inter-time.ruЦена: 1200 рублей

А вот одни из наиболее ярких и функциональных бинарных LED часов сегодня на рынке. Оригинальное и в то же время понятное отображение информации делает их очень удобными для повседневного использования.

Delta V2

Где купить: leddirect.ruЦена: 1700 рублей

Кстати, в этом магазине есть немало очень интересных бинарных часов, которые способны понравиться самым взыскательным ценителям бинарного времени.

Ну а тем, кто достиг истинного мастерства в определении времени по бинарным часам, будут особо интересны часы

Virus

Где купить: inter-time.ruЦена: 1550 рублей

Определять время по ним, зная этот простой принцип, совсем не сложно.

И особо эффектно смотрятся  часы c зеркальной поверхностью дисплея, под которой находится сетка с 27 диодами.

Geoline

Где купить: inter-time.ruЦена: 1400 рублей

 Часы отсчитываются по вертикальным линиям, минуты по горизонтальным.

Эти, и многие другие бинарные часы, помогут вам взглянуть на время по-иному, будут способствовать развитию памяти, и станут, возможно, самой стильной деталью вашего имиджа. Окружающие будут поражены не только самим видом таких часов, но и тем, с какой лёгкостью можно определить время по ним.

Простые бинарные часы на микроконтроллере. Схема

Возможно, кто-то еще помнит, как выглядели панели управления первых электронно-вычислительных машин (ЭВМ). Сегодня их можно увидеть только на архивных фотографиях. Длинные ряды лампочек, которые мелькали на первый взгляд хаотично – завораживали энтузиастов электроники тех лет.

Представленная в данной статье конструкция бинарных часов поможет воссоздать атмосферу прежних лет.

Принципиальная схема простых бинарных часов показана на рисунке 1. Схема построена на базе микроконтроллера ATmega48. В схеме часов нет внешнего модуля реального времени (RTC), что в свою очередь несколько снижает стоимость устройства.

При возможном сбое питания от внешнего источника, отсчет времени поддерживается встроенной батарей типа CR2032, при этом светодиоды отключаются. Для обнаружения питающего напряжения от внешнего блока питания используется схема с транзистором VT1 (BC847).

Индикация текущего времени (часы, минуты и секунды) реализована с помощью трех линеек светодиодов. Управление светодиодами происходит методом мультиплексирования, что снижает потребление электроэнергии и уменьшает количество используемых выводов микроконтроллера.

Просмотр осуществляется только в формате 24 часа. Для отображения количества минут и секунд необходимо 6 светодиодов, а для часов 5 светодиодов.

Микроконтроллер ATmega48V-10AU способен работать при пониженном питании вплоть до 1,8В, что является большим преимуществом. Кроме того, ATmega48V-10AU потребляет меньший ток. Частота тактового сигнала стабилизируется кварцевым резонатором на 4 МГц, который одновременно является эталоном для отсчета времени.

Стоит отметить, что эти кнопки неактивны при работе от резервной батареи, чтобы предотвратить возможность непреднамеренного изменения времени. Часы собраны на односторонней печатной плате размером 103мм×67мм.

При программировании микроконтроллера, необходимо установить работу микроконтроллера от внешнего кварцевого резонатора 4 МГц и отключить деление тактовой частоты на 8 (этот бит называется CKDIV8).

После правильной сборки часы начинают работать сразу и должны показать 00:00:00.

Питание схемы осуществляется от источника питания с напряжением +5 В. Резервное питание – батарея типа CR2032 не является обязательной, она только поддерживает отсчет времени после пропадания питания от сети.

Потребление тока от батареи составляет около 1,5 мА. При емкости аккумулятора порядка 200 мАч, ее должно хватить на 5 и более дней работы микроконтроллера, что является достаточным в типичных ситуациях.

Вопреки расхожему мнению, через некоторое время, чтение информации с бинарных часов становится обычным делом, как и в случае с десятичной системой исчисления, которую мы используем каждый день.

Пример чтения времени показан на рисунке ниже.

Верхний ряд – это часы, средний минуты и нижний секунды.

Текущее время 21:14:59

Часы = 16 + 4 + 1 = 21

Минуты = 8 + 4 + 2 = 14

Секунды = 32 + 16 + 8 + 2 + 1 = 59

Скачать рисунок печатной платы и прошивку (65,7 Kb, скачано: 11)

Запуск

После припаивания всех шлейфов, кнопок и датчиков пришло время все это включить. Первый запуск выявил несколько проблем. Не светился последний большой индикатор, а остальные светились тускло. С первой проблемой расправился пропаиванием ножки смд-транзистора, со второй — регулировкой напряжения, выдаваемого lm317. ОНО ЖИВОЕ!

Изначально решил не мудрить с корпусом, а оставить как есть. Просто прикрепил ножки из алюминиевого профиля к плате. Сзади на куске оргстекла крепится плата управления

Ну вот и всё. Осталось только причесать код.

Некоторые наверное скажут, что легче купить и вид эстетичнее, и будут правы, но это же хобби. Рыбу тоже легче купить в магазине, чем ловить самому. Считать точную себестоимость сего изделия не берусь, но обошлось оно мне примерно в тысячу рублей и пару дней приятного времяпрепровождения. Все ссылки в обзоре ведут на проверенных мной продавцов.

Как то набрел на давно забытые и некогда долго служившие верой и правдой бюджетные домашние электронные часы-будильник.

Простые часы из отдельных светодиодов на микроконтроллере ATMEGA8

Часы-будильник на ATMEGA8 с функцией измерения атмосферного давления, температуры и влажности.

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

Будильник на ATMEGA88 с функцией измерения атмосферного давления и температуры.

Автор vitalyadm

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

— часы на PIC16F628A и датчике температуры DS18B20.

— 4-х сегментный светодиодный индикатор.

— анимированная смена индикации.

Любительская измерительная схема на микроконтроллере,

с программной конвертацией информации в виде текста, на экран телевизора или монитора,

имеющих низкочастотный AV вход.

Схема обладает функцией, вывода на экран телевизора или аналогового монитора, часов реального времени, с отображением даты, и данных цифрового термометра.

В виде текстовой строки ЧЧ:ММ.СС_ДД/ММ/ГГ термометр с точностью до 0.1ºС.

Устройство 2 в 1 часы и секундомер, на Attiny2313.

Отображение в полном формате; часы, минуты, секунды.

Раздельное, удобное управление.

Счётчик отработанного времени предназначен, для контроля за временем наработки ресурсоограниченного устройства в рабочем состоянии.

Счет всегда начинается с включением устройства в активное состояние, и заканчивается когда устройство отключается , а данные остаются в памяти МК ATtiny2313. Срок хранения информации при отключении питающего напряжения не ограничен.

– часы с цифровой коррекцией точности. – будильник. – термометр. – индикация на семисегментный индикатор. – автоматическая регулировка яркости индикатора.

  • Пособие дикие животные своими руками

      

  • Экспедиционный ящик своими руками

      

  • Эффект пиноккио как сделать

      

  • Литцендрат своими руками

      

  • Хранение газонокосилки в гараже своими руками

МЭСМ — ЭВМ, работающая по принципу арифмометра

Первую ЭВМ в СССР и континентальной Европе создали в Киевском институте электротехники под руководством академика Лебедева.

Вообще, Лебедев хотел создать цифровую ЭВМ ещё в начале войны — тогда он руководил лабораторией в Московском электротехническом институте. Однако в 1941 году институт эвакуировали на Урал и учёному пришлось плотно заниматься военными разработками: самонаводящимися торпедами, системой стабилизации танковых орудий и тому подобным.

Когда война закончилась, Лебедев вернулся в Москву. Но реализовать проект счётной супермашины оказалось непросто. Он обратился в ЦК ВКП(б) и рассказал куратору по науке, что его ЭВМ будет выполнять до 10 000 операций в секунду, но над ним только посмеялись: «А что будет, когда мы все задачи на вашей машине прорешаем — выбросим её на свалку?»

К счастью, в 1947 году Лебедева пригласили в Киев, и он продолжил работу над вычислительной машиной. К осени 1948 года Сергей Алексеевич уже разработал модель вычислительной машины. Она работала по принципу арифмометра и предназначалась для ускорения и автоматизации счёта. Лебедев назвал свою машину МЭСМ (малая электронная счётная машина). А в марте 1949 года Лебедев создал и испытал работающий макет арифметико-логического устройства на радиолампах.

В 1951 году началась сложная работа по переводу макета в действующую ЭВМ. Это были послевоенные годы, людей не хватало, поэтому над машиной работали всего 12 инженеров, 15 техников и монтажниц. Трудиться приходилось сутки напролёт: Лебедев и сам всё время что-то паял, монтировал, клепал. И к декабрю 1951 года машина была готова!

МЭСМ использовала 6000 радиоламп и занимала 60 квадратных метров. Правда, с помещением под компьютер просчитались — машину собрали в комнате на нижнем этаже двухэтажного здания, и когда все 6000 ламп загорелись, температура резко подскочила. Работать стало невозможно, поэтому пришлось разобрать потолок и часть кровли.

Характеристики МЭСМ:

  • Машина производила до 50 операций в секунду — неплохая скорость по сравнению с ручными вычислениями.
  • Ёмкость ОЗУ — 31 число и 63 команды.
  • Представление чисел — с фиксированной точкой, 16 двоичных разрядов.
  • Команды трёхадресные, длиной в 20 двоичных разрядов (4 разряда — код операций).
  • Дополнительно можно было подключать ЗУ на магнитном барабане ёмкостью 5000 слов.
  • Данные вводились с помощью перфоленты или штекеров на коммутаторах, а выводились на электромеханическое печатающее устройство или фотографировались.

Во время испытаний МЭСМ производила сложные вычисления — рассчитывала сумму факториалов нечётных чисел, возводила дроби в степень. Все увидели, что скорость компьютера намного превышает человеческие возможности.

В 1952 году ЭВМ продемонстрировали на публике — и с тех пор она считается первой работающей электронно-вычислительной машиной в СССР и континентальной Европе.

Лебедев разработал МЭСМ в качестве макета для отработки принципов построения БЭСМ (большой электронной счётной машины), которую создавали параллельно. Но и саму МЭСМ активно использовали — на ней решали разные научно-технические и экономические задачи:

  • рассчитывали энергосистемы и строительные конструкции;
  • обрабатывали геодезические наблюдения;
  • составляли статистические таблицы;
  • решали задачи баллистики, синтеза аммиака и многое другое.

МЭСМ использовали в реальных задачах до 1957 года, а потом ещё два года на ней обучали студентов.

Исходный код программы

Arduino

#include <Wire.h>
#include «RTClib.h»
#include <TimerOne.h>
RTC_DS1307 RTC;
int temp,inc,hours1,minut,add=11;
#define d1 12
#define d2 11
#define d3 10
#define d4 9
#define d5 8
#define d6 7
#define r1 6
#define r2 5
#define r3 4
#define r4 3
int HOUR,MINUT,SECOND; //переменные для хранения значения часов, минут и секунд
volatile int count=0;
void Clear(int d)
{
digitalWrite(d1, HIGH);
digitalWrite(d2, HIGH);
digitalWrite(d3, HIGH);
digitalWrite(d4, HIGH);
digitalWrite(d5, HIGH);
digitalWrite(d6, HIGH);
}
void callback()
{
digitalWrite(13, digitalRead(13) ^ 1);
count++;
if(count>=7)
count=1;
switch(count%7)
{
case 1:
Clear(d1);
temp=SECOND%10;
show(temp);
digitalWrite(d1, LOW);
break;
case 2:
Clear(d2);
temp=SECOND/10;
show(temp);
digitalWrite(d2, LOW);
for(int i=0;i<10000;i++)
{
}
break;

case 3:
Clear(d3);
temp=MINUT%10;
show(temp);
digitalWrite(d3, LOW);
for(int i=0;i<10000;i++)
{
}
break;
case 4:
Clear(d4);
temp=MINUT/10;
show(temp);
digitalWrite(d4, LOW);
for(int i=0;i<10000;i++)
{
}
break;
case 5:
Clear(d5);
temp=HOUR%10;
show(temp);
digitalWrite(d5, LOW);
for(int i=0;i<10000;i++)
{
}
break;
case 6:
Clear(d6);
temp=HOUR/10;
show(temp);
digitalWrite(d6, LOW);
for(int i=0;i<10000;i++)
{
}
break;
}
}
void show(int d)
{
for(int i=0;i<1;i++)
{
digitalWrite(r4, !((temp>>0)&1));
digitalWrite(r3, !((temp>>1)&1));
digitalWrite(r2, !((temp>>2)&1));
digitalWrite(r1, !((temp>>3)&1));
// delay(1);
for(int i=0;i<1000;i++);
}
}

void setup()
{
Wire.begin();
Serial.begin(9600);
RTC.begin();
digitalWrite(next, HIGH);
digitalWrite(set_mad, HIGH);
digitalWrite(INC, HIGH);
pinMode(14, OUTPUT);
for(int i=2;i<=12;i++)
{
pinMode(i, OUTPUT);
digitalWrite(i, HIGH);
}

if(!RTC.isrunning())
{
RTC.adjust(DateTime(__DATE__,__TIME__));
}
Timer1.initialize(1000);
Timer1.attachInterrupt(callback);
}

void loop()
{
int temp=0,val=1,temp4;
DateTime now = RTC.now();
HOUR=now.hour();
MINUT=now.minute();
SECOND=now.second();
Serial.print(HOUR);
Serial.print(«:»);
Serial.print(MINUT);
Serial.print(«:»);
Serial.println(SECOND);
delay(200);
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138

#include <Wire.h>
#include «RTClib.h»
#include <TimerOne.h>

RTC_DS1307RTC;

inttemp,inc,hours1,minut,add=11;

#define d1 12
#define d2 11
#define d3 10
#define d4 9
#define d5 8
#define d6 7
#define r1 6
#define r2 5
#define r3 4
#define r4 3

intHOUR,MINUT,SECOND;//переменные для хранения значения часов, минут и секунд

volatileintcount=;

voidClear(intd)

{

digitalWrite(d1,HIGH);

digitalWrite(d2,HIGH);

digitalWrite(d3,HIGH);

digitalWrite(d4,HIGH);

digitalWrite(d5,HIGH);

digitalWrite(d6,HIGH);

}

voidcallback()

{

digitalWrite(13,digitalRead(13)^1);

count++;

if(count>=7)

count=1;

switch(count%7)

{

case1

Clear(d1);

temp=SECOND%10;

show(temp);

digitalWrite(d1,LOW);

break;

case2

Clear(d2);

temp=SECOND10;

show(temp);

digitalWrite(d2,LOW);

for(inti=;i<10000;i++)

{

}

break;

case3

Clear(d3);

temp=MINUT%10;

show(temp);

digitalWrite(d3,LOW);

for(inti=;i<10000;i++)

{

}

break;

case4

Clear(d4);

temp=MINUT10;

show(temp);

digitalWrite(d4,LOW);

for(inti=;i<10000;i++)

{

}

break;

case5

Clear(d5);

temp=HOUR%10;

show(temp);

digitalWrite(d5,LOW);

for(inti=;i<10000;i++)

{

}

break;

case6

Clear(d6);

temp=HOUR10;

show(temp);

digitalWrite(d6,LOW);

for(inti=;i<10000;i++)

{

}

break;

}

}

voidshow(intd)

{

for(inti=;i<1;i++)

{

digitalWrite(r4,!((temp>>)&1));

digitalWrite(r3,!((temp>>1)&1));

digitalWrite(r2,!((temp>>2)&1));

digitalWrite(r1,!((temp>>3)&1));

// delay(1);

for(inti=;i<1000;i++);

}

}
 

voidsetup()

{

Wire.begin();

Serial.begin(9600);

RTC.begin();

digitalWrite(next,HIGH);

digitalWrite(set_mad,HIGH);

digitalWrite(INC,HIGH);

pinMode(14,OUTPUT);

for(inti=2;i<=12;i++)

{

pinMode(i,OUTPUT);

digitalWrite(i,HIGH);

}

if(!RTC.isrunning())

{

RTC.adjust(DateTime(__DATE__,__TIME__));

}

Timer1.initialize(1000);

Timer1.attachInterrupt(callback);

}

voidloop()

{

inttemp=,val=1,temp4;

DateTimenow=RTC.now();

HOUR=now.hour();

MINUT=now.minute();

SECOND=now.second();

Serial.print(HOUR);

Serial.print(«:»);

Serial.print(MINUT);

Serial.print(«:»);

Serial.println(SECOND);

delay(200);

}

Описание

Эти многофункциональные ЖК-часы управляются микроконтроллером Atmel AVR ATmega16A. Для отображения используется большой 40-контактный 7-сегментный 4-разрядный высококонтрастный ЖК-дисплей, например такой который приведен в статье «Маломощные ЖК-часы».

ЖК-дисплей имеет статическое управление (без мультиплексирования) и по этой причине требуется большее количество портов. Вот почему в качестве микроконтроллера был выбран 40-контактный AVR ATmega16A.

Четвертый разряд индикатора (крайний слева) для подключения использует только 4 вывода микроконтроллера. Это упрощенная схема подключения, поскольку этот разряд отображает только цифры 1, 2 и 3.

Для достижения низкого энергопотребления в схеме часов используется низкочастотный кварц с частотой 32,768 кГц. Сигнал с выхода кварцевого генератора поступает на таймер/счетчик T2, который работает в асинхронном режиме.

Микроконтроллер синхронизируется внутренним RC-генератором, работающим на частоте 1 МГц. Если прерывания нет, микроконтроллер находится в спящем режиме энергосбережения, поэтому работает только кварцевый генератор, а не RC-генератор.

Термометр, встроенный в часы измеряет температуру в диапазоне от -9 до +150° C, с разрешением в 1° C. В качестве датчика температуры была выбрана схема MCP9700A . По сравнению с популярной микросхемой LM35, она имеет преимущество в более низком потреблении. Ток потребления MCP9700A составляет всего около 5 мкА, что является большим преимуществом при использовании автономного питания.

Часы питаются от трех элементов питания по 1,5 В. Это может быть, например, элементы «AA», «AAA» или CR2032. Также можно использовать три NiMH или NiCd элемента (1,2 В) или один Li-Ion или Li-Pol элемент (3,6 В или 3,7 В). Максимальное напряжение составляет 5,5 В, а минимальное 2,7 В.

Общий ток потребления часов, включая датчик температуры, составляет примерно 20 мкА при 3 В и 30 мкА при 4,5 В. С обычными угольно-цинковыми батарейками формата AA (одноразовыми) типичной емкостью 1000 мАч ожидаемое время работы часов составляет около 4-5 лет.

Тестер транзисторов / ESR-метр / генератор
Многофункциональный прибор для проверки транзисторов, диодов, тиристоров…

Подробнее

Пайка часов

Для этого процесса была использована тостерная печь, для оплавления припоя на мелких SMD компонентах, таких как светодиоды и резисторы, и затем используется обычный паяльник чтоб припаять более крупные компоненты, такие как гнездо, кнопка, и держатель батареи.

Итак, часы собраны, но ATtiny еще не знает, как управлять светодиодами. Поэтому мы должны запрограммировать его. Существует несколько вариантов, когда дело доходит до программирования ATtiny. Вы можете сделать быстрый макет схемы и использовать специальные устройства программирования ATtiny, или, если вы можете сделать отличный Arduino программатор, так что в дальнейшем можете легко запрограммировать любые контроллеры.

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

Обсудить статью ЧАСЫ РАДИОГИКА

Началось все с того что захотелось сделать какое-нибудь полностью законченное устройство на микроконтроллере AVR.

Выбор пал на бинарные часы, т.к. они просты в изготовлении и достаточно эффектно смотрятся. А еще потому что мне всегда нравился плазмоид бинарных часов из KDE который выглядит вот так:

Что такое бинарные часы?

Для тех кто не знает что такое бинарные часы и как по ним определить время, сделаю небольшое отступление. Бинарные часы это просто часы которые показывают время в двоичной (или бинарной) системе счисления, вместо привычной нам десятичной.

Бинарные часы бывают разные (как в общем-то и обычные часы) — с разным количеством и расположением индикаторов, с секундами или без, с 24-х или 12-и часовым форматом времени и т.д. Я решил остановиться на варианте максимально похожем на вышеупомянутый плазмоид из KDE:

Часы состоят из шести вертикальных колонок — две колонки на часы, две на минуты, и две на секунды (слева на право). Каждая колонка по сути представляет собой одну цифру (т.е. по две цифры на часы, минуты и секунды).

В часах четыре горизонтальных строки, так как нам нужно уметь показывать цифры от нуля до девяти (по крайней мере для младшего разряда), а двоичное представление девятки — 1001, содержит четыре разряда (бита). Младший разряд находится снизу.

Проще всего понять какое время показывают часы анализируя «циферблат» слева на право, снизу вверх. Запишем значение двоичного числа представленного самым левым столбцом часов изображенных на картинке выше (условившись что горящий индикатор обозначает единицу, а потухший — ноль): 0010 в двоичной системе счисления это 2 — в десятичной. Аналогичным образом запишем значение второго столбца: 0001 в двоичной системе счисления (как и в десятичной), или просто единица. То есть на часах 21 час. Точно так же можно прочитать что часы показывают 35 минут и 28 секунд. Немного практики и читать время с бинарных часов будет получаться почти так же быстро как и с обычных.

Понравилась статья? Поделиться с друзьями:
Зинг-Электро
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: