Свежие обсуждения
Микроконтроллеры

Ликбез по программированию PIC

1 94 99

Всем посетителям форума доброго здоровья !
Я чайник в программировании. Да я и не собираюсь учиться программированию на 6 десятке лет.
Мне бы свой вопрос положить в чисто практическую плоскасть.
Заставляет необходимость. Хочу научиться прошивать микроконтроллеры.
Для этого нужен программатор, готовые программы и "немного масла в голове".
Но ничего из этого списка на данный момент пока нет.
Миктроконтроллеры например: Атмегу 8, AD9850, Si570, 16F84 и прочую лабуду.
Осилить данный форум нет ни сил, ни времени. Сайтов по программированию "море", но там столько флуда и "воды"...
Посоветуйте где можно почерпнуть минимум необходимых ПРАКТИЧЕСКИХ сведений по прошивке микроконтроллеров - книга, сайт, форум, ссылки и пр.
Или проще говоря нужна пошаговая инструкция по прошивке. С компьтером я на хорошее ты.
Виктор 73!

 

1) Из перечисленного здесь МК только атмега8 и пик16ф84. Остальное - пограммируемая периферия.

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

3) Программатор можно сделать самому, но вам похоже будет сложновато, поэтом проще купить.

4) Программа для отладки и прошивки (интегрированная среда разработчика) зависит от выбранного вами МК.

 

начните с п.3. Тогда появится и конкретика.

 

Я себя тоже "чайником" в программировании считаю, в смысле, что я не разбираюсь нисколько в программном коде,( к моему стыду), но с паяльником дружу, и нисколько не заморачиваюсь по поводу программирования. Если на уровне сверхраспространённых Atmega 8 (168, 328), PIC16F8xx , то у меня давно собран и надёжно работает разновидность ExtraPIC, которая "хавает" и Atmel с последовательным интерфейсом, и PIC ( COM- порт) , и под ХР, и под Win7 (32 bit) , для более "экзотических" кристаллов LPT - программатор EzoFlash, собрат Willem. Названные программаторы собраны самостоятельно, про покупные ничего не могу сказать. Среда программирования: для PIC юзаю WinPic 800 , для Atmel (Attiny 2313, Atmega 8) PonyProg 2000. Это мои личные предпочтения.

us0iz: Мне бы свой вопрос положить в чисто практическую плоскасть.
Заставляет необходимость. Хочу научиться прошивать микроконтроллеры.

По идее, это и есть отправная точка, решайте, что вы хотите собрать, так как вы не сильны в программировании, соответственно, будете пользоваться готовыми написанными программами. С реально существующим у вас программатором ( купленным ли, собранным ли, неважно) и с правильным файлом прошивки результат будет положительным. И ещё, ( чисто моё мнение, не претендую на авторство) рекомендую начать с PIC, поскольку у них нет заморочек по "фьюзам", как у Atmel, хотя и там со временем тоже разберётесь.

us0iz: Посоветуйте где можно почерпнуть минимум необходимых ПРАКТИЧЕСКИХ сведений по прошивке микроконтроллеров - книга, сайт, форум, ссылки и пр.

Короткой, в двух словах, инструкций не найдёте. А если и найдёте, то верить надо с большой опаской, поскольку с такими наставлениями всё равно пока по граблям не нагуляетесь, ничего доброго не выйдет.

 

us0iz: Я чайник в программировании. Да я и не собираюсь учиться программированию на 6 десятке лет.

GM: 4) Программа для отладки и прошивки (интегрированная среда разработчика) зависит от выбранного вами МК.

Программа для ОТЛАДКИ и прошивки , в том-то и дело, предположительно, не рассматривается.

 

angren68: Среда программирования: для PIC юзаю WinPic 800 , для Atmel (Attiny 2313, Atmega 8) PonyProg 2000.

Это не "среда программирования". Это просто оболочки (драйвера) программатора. С их помощью можно залить в контроллер готовую прошивку и только лишь. А как быть если прошивки нет или она глючная? Незнание программирования лишает возможности повторить конструкцию в этом случае.
Среда программирования это компиляторы и отладчики, при помощи которых пишутся и отлаживаются программы. Наример MPLAB IDE, PIC SIMULATOR IDE, MICROC for PIC и т.д. У Атмела свои, у других производителей тоже свои.

us0iz: Да я и не собираюсь учиться программированию на 6 десятке лет.

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

 

Splav56: Это не "среда программирования". Это просто оболочки (драйвера) программатора. С их помощью можно залить в контроллер готовую прошивку и только лишь.

На все 100% согласен, неправильно выразился . Извиняюсь... Сначала другое писал, потом невнимательно отредактировал, и смысл поменялся...

 

Всем привет!
Ребята, подскажите, не могу раскурить мануал... Речь о PIC12F629. Я хочу сделать автомат освещения с работой в трёх разных режимах. Хочу, чтобы во время работы сохранялось значение соответствующих битов в регистр, дублирующий регистр режимов во время любого изменения этих битов. Это вроде сохранения настроек на случай выключения питания. При сбросе по питанию мне нужно прочитать значения битов моего зеркального регистра и записать эти значения в регистр режимов, чтобы программа начала работать именно в подпрограмме того режима, в котором находилась в момент отключения питания. Регистры общего назначения хранят значения битов после отключения питания? Могу ли я использовать для сохранения настроек регистры общего назначения, или для этих целей нужно использовать другую память, или другой камень?

 

gentleangel: Регистры общего назначения хранят значения битов после отключения питания? Могу ли я использовать для сохранения настроек регистры общего назначения, или для этих целей нужно использовать другую память, или другой камень?

Нет, не хранят. РОН (регистры общего назначения) это ячейки ОЗУ. Для сохранения текущих значений при отключении питания их нужно писать в энергонезависимую память EEPROM.

 

gentleangel: Хочу, чтобы во время работы сохранялось значение соответствующих битов в регистр, дублирующий регистр режимов во время любого изменения этих битов

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

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