Какой микроконтроллер (и другие компоненты) я должен был бы создать таймерное устройство?

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

//if you get here then you really f**ked

к тому времени, я думаю, что мы уже знали это!

10
задан Christoph Grimmer-Dietrich 30 April 2012 в 12:39
поделиться

6 ответов

Просто используйте для этого PIC, например 16F84 или 16F877. Этого более чем достаточно.

В качестве ЖК-дисплея используйте ЖК-дисплей 16 x 2. Его легко использовать + он придаст вашему проекту красивый вид.

LCD

Язык не имеет значения. Вы можете использовать PIC C, Micro C или что угодно. Интерфейс ЖК-дисплея действительно прост в управлении.

В качестве других компонентов вам понадобится только кристалл и 2 конденсатора в качестве генератора + подтягивающий резистор. Остальные компоненты зависят от метода ввода, который вы собираетесь использовать для установки времени.

Если вы используете компьютер для загрузки списка, вам понадобится дополнительная схема для изменения протоколов. Для этого используйте MAX 232. Если вы хотите использовать USB, вам нужно пойти дальше и использовать PIC с поддержкой USB. (Серия 18F)

alt text
(источник: sodoityourself. com )

Это набор хороших руководств , которые вы можете использовать. Вы также можете приобрести у них товары. Я купил у них один раз.

10
ответ дан 3 December 2019 в 15:52
поделиться

Я бы пошел с msp430. Ez430 стоит 20 долларов, и вы можете получить их в Digikey или напрямую от ti, а затем комплекты из 3 плат микроконтроллера за 10 долларов. Поддержка компиляторов llvm и gcc (и binutils). Очень просто программировать, очень мало и очень мало энергии.

5
ответ дан 3 December 2019 в 15:52
поделиться

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

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

Я использовал ATtiny и ATmega от Atmel, которые отлично подходят для программирования простых и сложных проектов. Вы можете запрограммировать его на C или на ассемблере, в сети есть множество отличных проектов для него, а доступные программисты очень дешевы.

Вот проект , который я нашел в Googling AVR 7-сегментные часы .

2
ответ дан 3 December 2019 в 15:52
поделиться

Второе голосование за PIC. Также рекомендую журнал Circuit Cellar Ink. Его можно найти в некоторых технических книжных магазинах, или вы можете подписаться на него: http://www.circellar.com/

1
ответ дан 3 December 2019 в 15:52
поделиться

Есть много способов сделать это, и ряд людей уже высказали довольно хорошие предложения. AVR или PIC являются хорошей отправной точкой для работы микроконтроллера, не требующего слишком многого. способ сложной настройки (аппаратное и программное обеспечение) или затрат (эти микросхемы очень дешевы). Честно говоря, я несколько удивлен, что здесь еще никто не упомянул Arduino , преимущество которого состоит в том, что с ним довольно легко начать работу, он предоставляет USB-соединение (USB-> Serial, правда), и если вам не нравится плата, к которой подключен микроконтроллер ATMega, вы можете позже подключить ее, где бы вы ни захотели. Кроме того, хотя предоставленная среда программирования предоставляет некоторые инструменты высокого уровня для простого прототипирования вещей, которые вы Вы по-прежнему можете настраивать регистры на устройстве и писать любой код C, который вы можете захотеть запустить на нем.

Что касается ЖК-дисплея, я бы рекомендовал поискать что-нибудь, основанное на HD44780 или имитирующее поведение одного. Обычно они используют набор параллельных линий для общения с дисплеем, но существует множество примеров кода для взаимодействия с ними. В случае с Arduino, вы можете найти примеры этого типа дисплея и многих других на Arduino Playground здесь: http://www.arduino.cc/playground/Code/LCD

Что касается часов обеспокоен, вы можете использовать встроенные часы, которые сегодня предоставляют многие 8-битные микросхемы, хотя они не всегда идеальны с точки зрения точности. Вы можете найти пример такого рода действий для Arduino здесь: http://www.arduino.cc/playground/Code/DateTime . Если вам нужно что-то более точное, вы можете получить DS1307 (пример Arduino: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1191209057/0 ]).

Я не обязательно хочу таранить вас в сторону Arduino, поскольку существует огромное количество способов сделать такие вещи. В последнее время я работал с 32-битными микросхемами ARM (не делайте этого в первую очередь, гораздо более крутая кривая обучения, но у них много преимуществ), и в наши дни я мог бы использовать что-то в этой экосистеме, но Arduino легко порекомендовать потому что он относительно недорогой, его использует большое сообщество людей, и, скорее всего, вы сможете найти пример кода хотя бы части того, что вы пытаетесь сделать. Если вам нужно что-то с большей мощностью, параметрами конфигурации или оперативной памятью, есть варианты.

5
ответ дан 3 December 2019 в 15:52
поделиться

Я согласен с другими ответами об использовании PIC.

В семействе PIC16F есть компиляторы C, хотя они не идеально подходят для кода C. Если производительность является проблемой, семейство 18F было бы лучше.

Обратите внимание также, что некоторые PIC имеют внутренние RC-генераторы. Они не так точны, как внешние кристаллы, но если это не имеет значения, то на один компонент (или три с его конденсаторами) для вашей платы меньше.

Программатор Microchip ICD PIC ( для загрузки и отладки программного обеспечения PIC) подключается к USB-порту ПК и подключается к микроконтроллеру через разъем RJ-11.

Отдельно, если вы хотите, чтобы программное обеспечение на микроконтроллере отправляло данные на ПК (например, для печати сообщения в HyperTerminal), вы можете использовать преобразователь USB в RS232 / TTL. Один конец входит в разъем USB вашего ПК и выглядит как обычный последовательный порт; другой выводит сигналы 5 В или 3,3 В, которые могут быть подключены напрямую к UART вашего процессора без необходимости сдвига уровня.

Мы использовали TTL-232R-3V3 от FDTI Chip, который идеально подходит для такого рода приложений.

4
ответ дан 3 December 2019 в 15:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: