С чего начать программировать микроконтроллеры?
-
aleksandr-zh
- Сверлит текстолит когтями
- Сообщения: 1278
- Зарегистрирован: Пн июн 18, 2007 21:51:20
Re: Микроконтроллеры - с чего начать новичку?
дальше освойте выдачу байта через 1 ногу, преобразователь "параллельный код в последовательный"
Затем научитель считать кол-во импульсов на ноге в течение Х времени, используя таймер МК. Сделайте "цветомузыку", отпределяя частоту по кол-ву импульсов за 50 ms
затем учитесь работать с таймером в другом режиме: определите длину импульса
потом на этой базе сделайте устройство для приёма данных с пульта ДУ
Затем иммитируйте пультт устройств своей железкой
на месяц завлекуху гарантирую: управлять устройствами дома - дело занятное. Да и много хорошего можно для дома а этой основе сделать
Затем научитель считать кол-во импульсов на ноге в течение Х времени, используя таймер МК. Сделайте "цветомузыку", отпределяя частоту по кол-ву импульсов за 50 ms
затем учитесь работать с таймером в другом режиме: определите длину импульса
потом на этой базе сделайте устройство для приёма данных с пульта ДУ
Затем иммитируйте пультт устройств своей железкой
на месяц завлекуху гарантирую: управлять устройствами дома - дело занятное. Да и много хорошего можно для дома а этой основе сделать
- Андрей Бедов
- Друг Кота
- Сообщения: 37346
- Зарегистрирован: Чт авг 30, 2012 20:24:40
- Откуда: Нижний Новгород
Re: Микроконтроллеры - с чего начать новичку?
mixon46 писал(а):...собрал устройство "бегущий огонь". Потом собрал "мираж". И пока что то ничего не охота делать:)
А у меня вот есть цель - собрать светодиодные семисегментные часы.
-
aleksandr-zh
- Сверлит текстолит когтями
- Сообщения: 1278
- Зарегистрирован: Пн июн 18, 2007 21:51:20
Re: Микроконтроллеры - с чего начать новичку?
динамическая индикация должна быть освоена после работы со сдвиговыми регистрами - там вам будет проще понять суть программы
- Chip115
- Сверлит текстолит когтями
- Сообщения: 1132
- Зарегистрирован: Пт фев 16, 2007 14:18:20
- Откуда: Новосибирск
- Контактная информация:
Re: Микроконтроллеры - с чего начать новичку?
aleksandr-zh писал(а):динамическая индикация должна быть освоена после работы со сдвиговыми регистрами - там вам будет проще понять суть программы
Нафига в динамической индикации регистр сдвиговый? На регистрах строится статическая индикация.
И вообще, что вы там выше писали - это утопия.
Андрей Бедов писал(а):А у меня вот есть цель - собрать светодиодные семисегментные часы
Вот это более правильный подход. Собирай часы, а с прогой потом разберешься. Создай тему отдельную, накидай схему как ты видишь это все, а там поможем. Почитай про подключение нагрузки к мк, подключение кнопки, про антидребезг, и про динамическую индикацию, динамический опрос .
А покупка отладочной платы - это деньги на ветер. Програть надо на реальном девайсе, а не на демоплате. Она хороша для обучения студентов в вузе/технаре. А для себя надо сразу паять устройство и прогать начинать.
Последний раз редактировалось Chip115 Вс окт 14, 2012 13:45:15, всего редактировалось 1 раз.
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
Re: Микроконтроллеры - с чего начать новичку?
А у меня вот есть цель - собрать светодиодные семисегментные часы
Хорошее дело. Казалось бы, простейшее устройство, но много чего для знакомства с МК и программирования в себе сочетает. Ну и польза будет (часы лишними не бывают
- mixon46
- Говорящий с текстолитом
- Сообщения: 1644
- Зарегистрирован: Сб фев 18, 2012 15:42:29
- Откуда: Курск
Re: Микроконтроллеры - с чего начать новичку?
у меня тоже есть цель! Я хочу собрать тв (телек) на дисплее от мобильного устройства. Ну сейчас мне совершенно понятно что на мк типа мега8 сделать устройство невозможно из за низкой частоты проца меги. Вот допустим дисплей 240х320. Сколько будет пикселей в сумме? 76800 пикселей. И еще частота обновления экрана? Что бы было нормально то 50 герц. Тоесть каждый пиксель должен 50 раз в секунду менять свою яркость для отображения картинки. Перемножаем 76800х50. Частота 3840000 гц. Тоесть 3.84 мгц. (что то я начал рассуждать и зашел в тупик:(. А стоп. Плюс считывание информации с ацп. Перед тем как вывести нужный цвет на нужный пиксель нужно прочитать информацию с ацп. Х2=7.68 мгц.. (люди подскажите, что то не сходится в моем восприятии действительности)
Re: Микроконтроллеры - с чего начать новичку?
Изучать на данный момент без знания англицкого из младших серий AVR на мой взгляд лучше начинать сразу с ATMEGA128. И на то есть несколько причин.
1. В инете можно качнуть русскоязычный даташит.
2. Он содержит почти всю обвязку, что не потребует закупок других МК этой серии.
Из программаторов для ком порта, наиболее стабильный и наиболее простой (по моему 7 резюков и 3 диода) это Uniprof.
Сайт разработчика не помню, скачать можно отсюда: http://narod.ru/disk/56872379001.9dfcb9 ... 0.zip.html
Схема и описание в файле хелпа. Кстати работает очень даже шустро, обновление смотрите на сайте разработчика (молодец парень).
Для начала советую курить asm, будет легче вначале разобраться с аппаратной частью и приобрести опыт правильного структурирования программ. А далее хоть С, хоть Basic, особой разницы с точки структуры программы нет. Но вот С официально поддерживает ATMEL, а значит будет халявная среда разработки IDE.
Удачи всем начинающим

1. В инете можно качнуть русскоязычный даташит.
2. Он содержит почти всю обвязку, что не потребует закупок других МК этой серии.
Из программаторов для ком порта, наиболее стабильный и наиболее простой (по моему 7 резюков и 3 диода) это Uniprof.
Сайт разработчика не помню, скачать можно отсюда: http://narod.ru/disk/56872379001.9dfcb9 ... 0.zip.html
Схема и описание в файле хелпа. Кстати работает очень даже шустро, обновление смотрите на сайте разработчика (молодец парень).
Для начала советую курить asm, будет легче вначале разобраться с аппаратной частью и приобрести опыт правильного структурирования программ. А далее хоть С, хоть Basic, особой разницы с точки структуры программы нет. Но вот С официально поддерживает ATMEL, а значит будет халявная среда разработки IDE.
Удачи всем начинающим

Последний раз редактировалось __Oleg__ Вс окт 14, 2012 21:39:32, всего редактировалось 2 раза.
Re: Микроконтроллеры - с чего начать новичку?
Я хочу собрать тв (телек) на дисплее от мобильного устройства. Ну сейчас мне совершенно понятно что на мк типа мега8 сделать устройство невозможно из за низкой частоты проца меги.
На восьмой вряд ли, а вот на atxmega32 люди вполне себе паяют...
-
aleksandr-zh
- Сверлит текстолит когтями
- Сообщения: 1278
- Зарегистрирован: Пн июн 18, 2007 21:51:20
Re: Микроконтроллеры - с чего начать новичку?
__Oleg__ писал(а):Для начала советую курить asm, будет легче вначале разобраться с аппаратной частью и приобрести опыт правильного структурирования программ. А далее хоть С, хоть Basic, особой разницы с точки структуры программы нет.
полностью согласен!
- Chip115
- Сверлит текстолит когтями
- Сообщения: 1132
- Зарегистрирован: Пт фев 16, 2007 14:18:20
- Откуда: Новосибирск
- Контактная информация:
Re: Микроконтроллеры - с чего начать новичку?
__Oleg__ писал(а):Изучать на данный момент без знания англицкого из младших серий AVR на мой взгляд лучше начинать сразу с ATMEGA128.
Что значит "изучать" ? Нафига покупать контроллер только для того, что бы запустить на нем несколько программ, юзающих периферию нафиг ему не нужной в данный момент?
Самый рациональный способ изучения - это собрать устройство и начать прогать его, испольуя только необходимую начинку.
Ну хочет он часы, пусть покупает тиньку 2313 или мегу8 и паяет, а потом прогает. Тут он и научится,и устройство сделает. А тупо покупать самый фаршированный мк, воткнуть его в монтажку и пытаться мигать светодиодом - это не рационально и бесполезно. А инфы на русском дофига и по тиньке213, атмеге8,16 ... . Да и вообще, они почти одинаково настраиваются и юзаются. Захочет собрать лог. анализатор с подключением по USB - купить другой мк и освоит его в рамках конкретной задачи.
Асм конечно надо знать, но пацану надо сейчас собрать самопальное устройство на мк и насладиться тем моментом, когда оно заработает как надо, а не как получится. Для меня, когда я сварганил первое устройство на мк было удобнее учить си.
И на последок. Вообще советую начать с классики. У атмелов есть мк серии 8051. Нет замут с настройкой портов и прочее. И просто куча инфы для 8051 на русском и на любом языке прог.
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
- Андрей Бедов
- Друг Кота
- Сообщения: 37346
- Зарегистрирован: Чт авг 30, 2012 20:24:40
- Откуда: Нижний Новгород
Re: Микроконтроллеры - с чего начать новичку?
Chip115, я полностью с тобой согласен! Мне не нужно много теории, я не собираюсь быть программистом и сам писать программы. Мозга не хватит. Но я радиолюбитель, имею общее представление, что такое МК, как он работает и что умеет. И поэтому хотел бы начать, как говорится, "с середины". И желательно сразу на конструкции. Мне кажется, необходимые знания сразу параллельно "всплывут". Буду разбираться "по ходу дела". Я практик-железячник. Теория туго даётся. Уж компьютер себе сам собрал, "вылизал". Думаю, что и тут осилю. На конкретных устройствах.
Re: Микроконтроллеры - с чего начать новичку?
Так не бывает. Нельзя быть "немножко беременной". Или научишься писать программы, пускай пока ограниченного функционала, чтобы по мере продвижения узнавать все новые возможности -- или тупо повторять чужие разработки. Как нельзя разрабатывать цифровые схемы, не зная, что такое счетчик, триггер, регистр -- так нельзя проектировать МК-устройства, не зная, что такое слово состояния, условный переход, сдвиг, подпрограмма, прерывание. Что касается языка - я сторонник АСМа, он позволяет прочувствовать "унутренность" МК, а языки высокого уровня предоставляют юзверю "черный ящик" . Я так думаю.
Re: Микроконтроллеры - с чего начать новичку?
Андрей Бедов писал(а): Подскажите пожалуйста для начала какие-нибудь распространённые "детские" МК для начинающего, и схемы программаторов к ним.
Рекомендую покорившую мир платку Arduino nano за 500 рублей. Самое удобное для новичка. Программировать можно и в оригинальной оболочке и в любой программе.
А начать можно в PROTEUS.
Будете проходить мимо- проходите!
Re: Микроконтроллеры - с чего начать новичку?
Не слушайте его. Плохому научит.
Хотите узнать, что такое МК - не приближайтесь к Arduino. И вообще, забудьте это слово. Когда пощупаете сам МК, тогда можете вспомнить про него, вас стошнит, потом забудете опять
Хотите узнать, что такое МК - не приближайтесь к Arduino. И вообще, забудьте это слово. Когда пощупаете сам МК, тогда можете вспомнить про него, вас стошнит, потом забудете опять
Re: Микроконтроллеры - с чего начать новичку?
Поддержу. Нах ардуино, это же кошмар тормознутый с точки зрения программирования. Да и эти этажерки.... (ну почему до сих пор нет блюющего смайла? 
Лучше сколхозить минимальную отладочную плату, на которой есть стаб питания, какая-нить MAX232 для связи с компом, разведены ноги на площадки, как на макетке. Ну так же каких пару светодиодов сразу запаять. Если рассматривать AVR, то с attiny, особенно восьминогими, сразу связываться тоже не советую. Страшный таракан, две ноги питания отрываем и остаётся шесть, никакой лапы не оторвать
Брать надо что-то вроде хотя бы atmega8 (достаточный динозавр) или лучше с atmega48/88/168. Последние новее, больше вкусностей, взаимозаменяемы, что тоже удобно (например, не влезло в 4кб флеша - сдул с платы 48 и поставил 88, в которой 8кб). Так же к ним вроде можно цепляться отладчиком.
В качестве программатора к ним можно собрать либо ком-программатор, любой, ком-порт у тебя должен быть, судя по железу из другого топика. Ну или USB на какой-нить той же AVR-ке, ибо дешевле, чем FT232RL.
Ну и ещё есть STM32
32 бита, все дела..

Лучше сколхозить минимальную отладочную плату, на которой есть стаб питания, какая-нить MAX232 для связи с компом, разведены ноги на площадки, как на макетке. Ну так же каких пару светодиодов сразу запаять. Если рассматривать AVR, то с attiny, особенно восьминогими, сразу связываться тоже не советую. Страшный таракан, две ноги питания отрываем и остаётся шесть, никакой лапы не оторвать
Брать надо что-то вроде хотя бы atmega8 (достаточный динозавр) или лучше с atmega48/88/168. Последние новее, больше вкусностей, взаимозаменяемы, что тоже удобно (например, не влезло в 4кб флеша - сдул с платы 48 и поставил 88, в которой 8кб). Так же к ним вроде можно цепляться отладчиком.
В качестве программатора к ним можно собрать либо ком-программатор, любой, ком-порт у тебя должен быть, судя по железу из другого топика. Ну или USB на какой-нить той же AVR-ке, ибо дешевле, чем FT232RL.
Ну и ещё есть STM32
-
amfetamin
- Грызет канифоль
- Сообщения: 256
- Зарегистрирован: Сб сен 15, 2012 08:55:53
- Контактная информация:
Re: Микроконтроллеры - с чего начать новичку?
серия интересных статей по stm32 http://cxem.net/mc/mc131.php,сам там учусь,мб поможет,я так подумал,вместо того что бы осваивать старье,лучше начать с более менее нового и дешевого сырья,что бы потом проще было принять какой нибудь новый девайс)))
Последний раз редактировалось amfetamin Вт окт 16, 2012 02:00:00, всего редактировалось 1 раз.
Re: Микроконтроллеры - с чего начать новичку?
Arduino nano очень удобна для новичка. 

Будете проходить мимо- проходите!
Re: Микроконтроллеры - с чего начать новичку?
Она удобна для домохозяек и школоло, ибо позволяет не изучить МК, а помигать диодом на хреновине за три минуты, не вдаваясь хоть в какие подробности.
Автор радиолюбитель, ему на фиг не нужна эта шляпа.
).
А когда знаешь азы работы с МК, то глубочайше наплевать, на что переходить
Автор радиолюбитель, ему на фиг не нужна эта шляпа.
Хм. Спасибо, позитивный смайлhybroid писал(а):(ну почему до сих пор нет блюющего смайла?
amfetamin писал(а):по stm32,сам там учусь
И имя ему STM8, а не STM32. А то скоро будем на i7 тостеры делать.. Как это не печально, но пока что всё же начать проще именно с AVR, ибо до хренища материалов (говна среди них, само собой, ещё больше. Вон, второй раз ардуину советуютamfetamin писал(а):нового и дешевого сырья
).А когда знаешь азы работы с МК, то глубочайше наплевать, на что переходить

- Chip115
- Сверлит текстолит когтями
- Сообщения: 1132
- Зарегистрирован: Пт фев 16, 2007 14:18:20
- Откуда: Новосибирск
- Контактная информация:
Re: Микроконтроллеры - с чего начать новичку?
Jack_A писал(а):Что касается языка - я сторонник АСМа, он позволяет прочувствовать "унутренность" МК, а языки высокого уровня предоставляют юзверю "черный ящик" . Я так думаю.
Как по мне, так асм нужен для отладки программы или для написания быстродействующего кода. Хотя современные оптимизаторы вполне справляются со своей задачей. Проще переплыть в ручную пролив Ла-Манш с бумажным порезом по перек соска, чем писать код более 3 кБ на асме. И черный ящик не так уж и плох. Мне вот абсолютно пофигу как работает USB. Там протокол содержит кучу страниц убористого текста. Я лишь знаю какие функции мне нужны из библиотек и все. А что там в нутри них - мне пофигу и вообще не надо знать. А вот на вас я бы посмотрел, как бы вы создали проект на ОСВР на каком нить кортексе ))))
hybroid писал(а):А когда знаешь азы работы с МК, то глубочайше наплевать, на что переходить
Вот тут прям в точку. Вообще по барабану какой мк. Главное что бы по характеристикам подходил. В конечном итоге, надо курить доку и знать, что запихивать в регистры для настройки.
P.S Ардуино - кака! Фу-фу-фу.
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
Re: Микроконтроллеры - с чего начать новичку?
Ардуино отличный выбор для новичка. Глубина изучения предмета зависит только от желания изучающего.
Будете проходить мимо- проходите!