Я новичок в электронике, поэтому у меня просто есть идея в голове, и я не знаю, как ее реализовать. Я хочу сделать обратный отсчет для события в ближайшие 5 месяцев. Формат отображения такой:
DDD HH MM SS
Дни имеют 3 цифры, часы, минуты и секунды имеют 2 цифры, и я хочу показать числа на 7-сегментных дисплеях. Я просто хочу показать оставшееся время до определенного времени, в какой-то день в октябре. Я хочу сделать это с PIC или чем-нибудь, что вы предлагаете.
Я погуглил, но нашел схему MM:SS
обратного отсчета . Я не могу расширить его для решения моего вопроса. Как мне это сделать?
Чтобы расширить дисплей для отображения DDD MM HH, вам потребуется еще пять линий ввода/вывода для DDD и SS. Микротроллер PIC16F84A, показанный на связанной схеме, имеет только 13 линий ввода-вывода, и все они используются. (Если вам не нужны выходы зуммера и реле, то потенциально у вас есть два запасных выхода, но, как я упоминал выше, вам нужно пять.)
Поэтому, если вы хотите остаться с микроконтроллерами серии PIC16F в своей связанной схеме, я бы расширил ее, чтобы удовлетворить ваши потребности, используя PIC16F883, который имеет 24 контакта ввода-вывода. (Они делают микроконтроллеры PIC16F с 18 и 20 контактами ввода-вывода, но только в корпусах SMD, и я предполагаю, что вам нужны сквозные отверстия). Просто добавьте еще пять выходов, идущих на дополнительные транзисторы, такие как T1-T4, управляющие пятью новыми семисегментными дисплеями, и входы ag дисплеев на параллельную шину, выходящую из блока резисторов R5-R11.
Для кристалла вам нужно выбрать тот, который имеет максимально строгий допуск, чтобы свести дрейф к минимуму. Таймер 1 PIC16F883 может работать от часового кристалла 32 кГц 30 ppm .
С точки зрения программного обеспечения настройте Timer1 на прерывание один раз в секунду. Используйте кнопки Set и Select, как и в предыдущем приложении, чтобы установить начальные значения DDD:HH:MM:SS. При каждом прерывании обновляйте дисплей — уменьшайте секунды, когда они переходят от 00 к 59, уменьшайте минуты и т. д.
Я настоятельно рекомендую вам использовать ЖК-дисплей вместо связки 7-сегментов. Вы можете легко настроить цифры. Сборка печатной платы будет намного проще. Гораздо меньше пайки и проще программно.
ЖК-дисплей можно использовать с прямым подключением 8 контактов. Я рекомендую вам 2x16 LCD с чипом HD44780. В сети можно найти много примеров для HD44780.
Что касается таймера, я рекомендую RTC (часы реального времени). Эксп. ДС1302. Эти чипы предназначены для хронометража в реальном времени. Таким образом, вам не нужно использовать какие-либо прерывания таймера PIC и счетчик для этой работы.
Самый быстрый способ сделать это — использовать плату на базе Arduino. Получите плату, модуль часов, подобный этому https://www.sparkfun.com/products/99 , и соедините их вместе. Вам, вероятно, понадобится Mega, чтобы иметь достаточно контактов ввода-вывода для управления дисплеями. Задавайте любые вопросы по программированию на StackOverflow (сайт вопросов и ответов по программированию).
Или — вот проект с платой типа Arduino под названием «Teensy» для создания дисплея, подобного машине времени Delorean в «Назад в будущее». http://learn.adafruit.com/delorean-time-circuit/background У него есть список деталей и пример кода, который можно адаптировать.
пользователь17592
Аниндо Гош
Аниндо Гош
TTL
"? PIC — это микроконтроллер, тогда как TTL, т.е. транзистор-транзистор-логика, представляет собой набор стандартов логической сигнализации, используемых различными электронными компонентами, включая некоторые микроконтроллеры. Что касается самого вопроса, пожалуйста, отредактируйте вопрос, чтобы описать с соответствующими ссылками ваши выводы на данный момент, чтобы другие участники могли понять, как далеко вы продвинулись на пути к своей цели, и какой уровень ответа поможет вам лучше всего.Netmoon
Ренан