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

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

Я бы хотел использовать микроконтроллер C или Java. Я использовал BASIC в прошлом, чтобы сделать небольшой автономный робот, поэтому на этот раз мне хотелось бы что-то другое.

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

Ответ 1

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

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

LCD

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

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

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

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

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

Ответ 2

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

Ответ 3

Есть много способов сделать это, и многие люди уже дали довольно хорошие предложения. 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).

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

Вот несколько мест, где вы можете найти некоторое опрятное оборудование (связанное с Arduino и прочее) для проектов, подобных тем, которые вы описываете:

Есть, конечно, больше, хотя: -)

Ответ 4

Я согласен с другими ответами на использование ПОС.

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

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

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

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

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

Ответ 5

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

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

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

Вот проект который я нашел сегмент AVG 7 для Googling часы.

Ответ 6

Второе голосование за ПОС. Кроме того, я рекомендую журнал Circle Cellar Ink. Некоторые технические книжные магазины несут это, или вы можете подписаться: http://www.circellar.com/

Ответ 7

Серия PIC будет хорошей, так как вы создаете таймер, я рекомендую C или Assembly (Assembly is good), и используйте MPLAB в качестве среды разработки. Вы можете проверить, насколько точным будет ваш таймер с секундомером в MPLAB. Также PIC16F877 имеет встроенный аппаратный последовательный порт. Также PIC16F628 имеет встроенный последовательный порт оборудования. Но у PIC16F877 больше портов. Для более точных таймеров рекомендуется использовать высокочастотные генераторы.