PIC с нуля
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
PIC с нуля
Здравствуйте!
Решил начать изучать контролеры микрочипа. Собрал программатор PIC-Kit2, работает. Из железа есть PIC16F684 и PIC16F72. До этого есть опыт рабты с AVR и средой Codevision.
Ассемблер трогать пока не хочется. Какой из компиляторов лучше выбрать со средой разработки, более менее документированную на русском, Язык лучше всего Си.
Попробовал JAL Edit, какое то все странное ужасно, язык не понятно какой, хотя легко так то, документации ноль, по библиотекам не знаю.
Попробовал какую то вариацию СИ, забыл название. Там еще редактор красивый, кнопочки культурные. Тоже инфы очень мало. Наиболее распространенный МПЛАБ, хотелось бы на нем, но я так и не понял как туда прикрутить си и что вообще качать и как ставить )
Где можно чего почитать на русском языке? Только не отправляйте гуглить ) я Оттуда пришел как раз ) Мух от котлет из поиска отделить так и не смог
Решил начать изучать контролеры микрочипа. Собрал программатор PIC-Kit2, работает. Из железа есть PIC16F684 и PIC16F72. До этого есть опыт рабты с AVR и средой Codevision.
Ассемблер трогать пока не хочется. Какой из компиляторов лучше выбрать со средой разработки, более менее документированную на русском, Язык лучше всего Си.
Попробовал JAL Edit, какое то все странное ужасно, язык не понятно какой, хотя легко так то, документации ноль, по библиотекам не знаю.
Попробовал какую то вариацию СИ, забыл название. Там еще редактор красивый, кнопочки культурные. Тоже инфы очень мало. Наиболее распространенный МПЛАБ, хотелось бы на нем, но я так и не понял как туда прикрутить си и что вообще качать и как ставить )
Где можно чего почитать на русском языке? Только не отправляйте гуглить ) я Оттуда пришел как раз ) Мух от котлет из поиска отделить так и не смог
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: PIC с нуля
Kotto писал(а):Наиболее распространенный МПЛАБ, хотелось бы на нем, но я так и не понял как туда прикрутить си и что вообще качать и как ставить )
XC8.
Я не ставил, но теоретически предполагаю, что после его установки при запуске нового проекта будет на выбор 2 компилятора: mpasm для ассемблера и ХС8 для С. Выбираете нужный и работаете.
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
Да с грехом пополам я все же поставил, вроде даже что то скомпилировалось, а что потом, что почитать, может книга какая именно для этого Си или сайт с уроками, которых для АВР было полно, где объясняется понятными словами. Ведь есть какие то основы, общие для всего семейства пиков
Re: PIC с нуля
Литература у изготовителя в оригинале,на русском вот тута:
http://www.microchip.ru/lit/?mid=1x0
Ну и прочего... на просторах инета весьма много.

http://www.microchip.ru/lit/?mid=1x0
Ну и прочего... на просторах инета весьма много.

- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
Спасибо за ответ! А так скажем, по проще есть что нибудь? Даташиты конечно хорошо, но разбираться с нуля в среде, в новом МК достаточно тяжеловато по ним
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
http://pic-project.ucoz.ru/_ld/0/16_C_for_PIC.pdf
вот что то вроде этого что ли ) для совсем новичков. Чем проще и тщательнее разжевано, тем лучше
вот что то вроде этого что ли ) для совсем новичков. Чем проще и тщательнее разжевано, тем лучше
- da-nie
- Говорящий с текстолитом
- Сообщения: 1590
- Зарегистрирован: Вс июн 24, 2012 16:07:00
- Откуда: Лен.Обл.
- Контактная информация:
Re: PIC с нуля
К MPLab IDE нужно просто скачать на торренте компилятор для нужного семейства (у вас вроде бы MPLAB C Compiller 18, ну или HITECH Сompillers) и установить, он его сам подхватит, насколько я помню. После этого при создании проекта будет выбор компиляторов - там и указывайте установленный.
Вот вам пример простых программ:
Вот вам пример простых программ:
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: PIC с нуля
Интересно, а с чем может быть проще разбираться в МК, как ни с даташитами ?Kotto писал(а):Даташиты конечно хорошо, но разбираться с нуля в среде, в новом МК достаточно тяжеловато по ним
И причём тут среда и МК ? Вы определитесь, что хотите сначала выучить, IDE, язык или всё-таки сам МК.
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
Установил MPLAB IDE X, по ссылке, которую я написал выше, вот такая программа дана, минимальная
#include <pic.h>
__CONFIG (INTIO & UNPROTECT & LVPDIS & BOREN & MCLRDIS & PWRTEN &
WDTDIS);
void main (void)
{
}
В визарде выбрал контролер PIC16F628, единственный у меня имеющийся на данный момент, за искл. PIC16F72, но вроде как он совсем древний.
Строка __CONFIG ругается, не хочет компилировать, без нее вроде идет. Но я так понял эта строка аналог фьюзов на AVR?
---
С даташитом разобраться можно будет наверное позже, когда что то более менее в голове уляжется на простых примерах. Даташит не привязан к компилятору. Хотел сначала выбрать PIC C Compiler, он позволяет первое время не задумываться о настройках, выставляя их галочками. Но он их, в отличие от Codevision AVR, куда то прячет, их не видно, какой код он создал с данными настройками. То ли я не правильно гуглю, то ли инфы по пикам для совсем чайников мало.
#include <pic.h>
__CONFIG (INTIO & UNPROTECT & LVPDIS & BOREN & MCLRDIS & PWRTEN &
WDTDIS);
void main (void)
{
}
В визарде выбрал контролер PIC16F628, единственный у меня имеющийся на данный момент, за искл. PIC16F72, но вроде как он совсем древний.
Строка __CONFIG ругается, не хочет компилировать, без нее вроде идет. Но я так понял эта строка аналог фьюзов на AVR?
---
С даташитом разобраться можно будет наверное позже, когда что то более менее в голове уляжется на простых примерах. Даташит не привязан к компилятору. Хотел сначала выбрать PIC C Compiler, он позволяет первое время не задумываться о настройках, выставляя их галочками. Но он их, в отличие от Codevision AVR, куда то прячет, их не видно, какой код он создал с данными настройками. То ли я не правильно гуглю, то ли инфы по пикам для совсем чайников мало.
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
Ну а среда и контролер, так на том же PCW код совсем другой в отличие от MPLAB, русских учебников не нашел ни по тому ни по другому
- КРАМ
- Друг Кота
- Сообщения: 25117
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: PIC с нуля
Kotto писал(а):С даташитом разобраться можно будет наверное позже...
А зачем?
Давайте уж совсем без даташитов...
Вообще то нужно не только даташит на контроллер изучить, но и мануал на компилятор и мануал на cреду разработки (IDE).
Иначе так и будете писать всякие глупости, не умея открывать инструменты в IDE и гадая на кофейной гуще относительно синтаксиса компилятора...
И все это при том, что в MPLAB имеется нормальный хелпер, где есть разделы и по среде и по компиляторам...
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
Что мне сейчас даст даташит, когда я на MPLAB не могу и строчки написать, даже не понимаю почему программа из 5 строк не работает.
http://www.microchip.ru/files/d-sheets- ... 16f62x.pdf
Все на русском, даже выучив его наизусть я не смогу простую мигалку диодом написать. Все уроки что я нашел по MPLAB заканчиваются его установкой и выбором контролера, за исключением
http://pic-project.ucoz.ru/_ld/0/16_C_for_PIC.pdf
но программа оттуда не работает на MPLAB IDE X
http://www.microchip.ru/files/d-sheets- ... 16f62x.pdf
Все на русском, даже выучив его наизусть я не смогу простую мигалку диодом написать. Все уроки что я нашел по MPLAB заканчиваются его установкой и выбором контролера, за исключением
http://pic-project.ucoz.ru/_ld/0/16_C_for_PIC.pdf
но программа оттуда не работает на MPLAB IDE X
- КРАМ
- Друг Кота
- Сообщения: 25117
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: PIC с нуля
А что Вам даст среда, если Вы не знаете ни архитектуры, ни даже названий регистров?

- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
http://avr-start.ru/?p=86
вот с подобных вещей начинал изучать AVR, может подобное есть для пиков? А точнее подобное по СИ, для ассемблера то нашел
вот с подобных вещей начинал изучать AVR, может подобное есть для пиков? А точнее подобное по СИ, для ассемблера то нашел
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: PIC с нуля
для xc8 конфиг, например для pic16f628, пишут так:
Код: Выделить всё
#include <xc.h>
#pragma config MCLRE=OFF
#pragma config CP=ON
#pragma config CPD=OFF
#pragma config BOREN=ON
#pragma config WDTE=OFF
#pragma config LVP=OFF
#pragma config PWRTE=ON
#pragma config FOSC=INTOSCIO
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
Oleg110592, спасибо за ответ!
---
Я понимаю что большинство вопросов и постов тут от меня глупые, но как то мне все же хочется разобраться в хаосе мыслей и самому определиться что мне вообще надо. Как цель более менее разобраться в PIC, хотя бы дойти до умения использовать на них те же ds1307 и ds18b20 с готовыми библиотеками.
---
Я понимаю что большинство вопросов и постов тут от меня глупые, но как то мне все же хочется разобраться в хаосе мыслей и самому определиться что мне вообще надо. Как цель более менее разобраться в PIC, хотя бы дойти до умения использовать на них те же ds1307 и ds18b20 с готовыми библиотеками.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: PIC с нуля
мне в свое время в изучении помогли примеры для hi-tech pic c, такие: http://320volt.com/en/ornek-hi-tech-pic ... ri-kodlar/
Программы написанные давно на hi-tech pic c, иногда, для поддержки старых проектов, компилирую в xc8. Config приходиться переделывать и название некоторых регистров и битов немного не совпадает, а так все ранее написанное работает.
Вопрос, почему после AVR PIC, логичнее и перспективнее какой нибудь микроконтроллер с ядром ARM Cortex.
Программы написанные давно на hi-tech pic c, иногда, для поддержки старых проектов, компилирую в xc8. Config приходиться переделывать и название некоторых регистров и битов немного не совпадает, а так все ранее написанное работает.
Вопрос, почему после AVR PIC, логичнее и перспективнее какой нибудь микроконтроллер с ядром ARM Cortex.
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
Да я не профессионал, любитель паять в свободное время. Захотелось потрогать пики, почему бы и нет ) Тем более не надо покупать дорогой программатор, достаточно купить кусок текстолита и МК для программатора и все. Остальное надергал со старых плат. Может быть и до чего то по серьезнее дойду когда нибудь )
- Kotto
- Опытный кот
- Сообщения: 795
- Зарегистрирован: Чт ноя 08, 2012 22:28:05
- Откуда: Ижевск
- Контактная информация:
Re: PIC с нуля
Доходит кажется, вот отсюда http://pic-project.ucoz.ru/_ld/0/16_C_for_PIC.pdf
пример не компилировался, потому что стоял не тот компилятор, вроде как был PIC C 30 или что то вроде, не помню точно, на работе среда стоит. Сейчас поставил MPLAB X и PICC8, сразу же скомпилировалось все. Получается для разработки под PIC16F628 и PIC16F72 нужен PICC8? И значит семейство пиков делится на 8 бит и какие то по старше, для которых нужны уже другие компиляторы? Все правильно?
пример не компилировался, потому что стоял не тот компилятор, вроде как был PIC C 30 или что то вроде, не помню точно, на работе среда стоит. Сейчас поставил MPLAB X и PICC8, сразу же скомпилировалось все. Получается для разработки под PIC16F628 и PIC16F72 нужен PICC8? И значит семейство пиков делится на 8 бит и какие то по старше, для которых нужны уже другие компиляторы? Все правильно?
- da-nie
- Говорящий с текстолитом
- Сообщения: 1590
- Зарегистрирован: Вс июн 24, 2012 16:07:00
- Откуда: Лен.Обл.
- Контактная информация:
Re: PIC с нуля
Получается для разработки под PIC16F628 и PIC16F72 нужен PICC8?
Да. Поэтому я и сказал вам,попробовать C18 или HITECH Сompillers (он как раз вместо C8 идёт хорошо - на rutracker.org я не нашёл C8).
И значит семейство пиков делится на 8 бит и какие то по старше, для которых нужны уже другие компиляторы?
Да.
Но я так понял эта строка аналог фьюзов на AVR?
Да. Хотя можно задавать галочками и в среде программатора.
И не забывайте про список errata (список ошибок в контроллерах) - чем старше семейство и чем сложнее контроллер, тем, обычно, больше ошибок в нём. Даташиты, конечно, читать полезно, но если вы не знаете английского на достаточном уровне (как я - я учил немецкий, а английский сам потихоньку учится на very bad level
Кортексы для дома берите только если распаять сумеете (как и старшие пики) и нужно много памяти на борту - о самодельщиках уже не думают, так что вытравить для них плату не так уж и просто.
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos