Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/203: Рейтинг темы: голосов - 203, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 02.11.2010
Сообщений: 499

Осваиваю PIC

11.07.2011, 22:54. Показов 38670. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решил немного освоить пики.
Думаю начать с ситемы команд и архитектуры.
Может кто подскажет толковую литературу на русском языке.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.07.2011, 22:54
Ответы с готовыми решениями:

осваиваю Ubuntu - разные вопросы
Почитал профильные форумы - не понравилось. Решил, что на родном форуме на мои простые вопросы я смогу получить ответы в более комфортной...

Осваиваю пик или как помигать светодиодом...
Собрал свою волю в кулак и решил начать юзать пики. Первую программку нашел в книге. Программка, в принципе, ясна и понятна, но тем не...

Програмирование PIC
ТАкое дело программа получает команды из текстового файла через RCREG но читает только первую программу и 1 символ 2. Далее застревает в...

49
1 / 1 / 0
Регистрация: 19.12.2009
Сообщений: 2
11.07.2011, 23:21
Литературы на русском в сети много, но доп. могу посоветовать зайти на сайт www.mykroe.com, выбрать и скачать один из компилляторов ((Mikro-Basic/Pascal/C). С каждым из них поставляется куча примеров по которым легко можно начать изучение пик-ов.
На microchip.ru есть даташиты на русском.
0
SWK
11.07.2011, 23:22
Цитата Сообщение от komtrottir
Решил немного освоить пики.
Думаю начать с ситемы команд и архитектуры.
Может кто подскажет толковую литературу на русском языке.
Литературы было много, сразу быстро и не скажу... Можете посмотреть тут:
http://itiktrobook.ucoz.ru/tood/16

Вот тут вроде обучающий курс был:
http://ikarab.narod.ru/Kea_20.html
http://ikarab.narod.ru/Prakt_20.html
http://ikarab.narod.ru/Prakt_20a.html

Правда, там вроде частично на коммерческую основу перевели (высылают полный курс на дисках), но частично и свободно выложено.

Из компиляторов могу посоветовать от МикроЭлектраники - МикроПаскаль, МикроС, для начала обеспечивают простое освоение, с кучей примеров и хорошими хелпами. Позволяют сразу довольно просто получать работающие программы.:
http://www.mykroe.com/eng/categories/vi ... sompyters/
0 / 0 / 0
Регистрация: 02.11.2010
Сообщений: 499
11.07.2011, 23:34
Спасибо. Буду вникать.
0
SWK
11.07.2011, 23:35
Еще вот эта дока удобна. Подробно все флажки и регистры описаны для PIC16F870 - 877.
По большей части такая же периферия используется и во многих других PIC среднего и младшего семейств.
[3.75 Мб]
0 / 0 / 0
Регистрация: 02.11.2010
Сообщений: 499
11.07.2011, 23:35
А какой чип луше взять для знакомства ?
0
SWK
11.07.2011, 23:44
Цитата Сообщение от komtrottir
А какой чип луше взять для знакомства ?
Я бы посоветовал что-нибудь из PIC16F873 - 877. 28 или 40 ног, практически все есть: АЦП, USORT, SPI, I2C, ШИМ, 3 таймера, 4 или 8К слов памяти программ, 192-368 регистров (ОЗУ), 128-256 байт EEPROM. 20 МГц.
У МикроЭлектраники есть под них куча примеров и бутлоадер.
И стоят сравнительно недорого, и вроде везде есть.
С буквой А в конце (например, PIC16F877A) отличаются наличием еще 2х компараторов и некоторыми улучшениями.
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 568
12.07.2011, 00:06
Лучше тогда 887, они новее и дешевле.
Или даже enhanced mid-range, pic16f1xxx
http://www.microchip.com/ParamChartSear ... nchID=1025
Наиболее удачный вариант из младших (исключая 18 семейство, они подороже в целом) пиков.
Вот такой можно взять. Только лучше 6-ю ревизию, у предыдущих баги с ацп, правда обходимые.
http://www.microchip.com/wwwproducts/De ... e=en538158

По лит-ре - лучше всего изучать по оригинальной документации производителя.
Я осваивал асм и простые проги по этой книге (ее потом выпилили с сайта mykroe)
http://narod.ru/disk/18880102001/PIC%20 ... s.rar.html
На английском, но в картинках. Вообще, если хотите всерьез копаться в мк, изучайте тех. англ., это несложно.
0
1 / 1 / 0
Регистрация: 19.12.2009
Сообщений: 2
12.07.2011, 00:12
Решил немного освоить пики.
А если намерения серьезны, то до кучи с указанного мною выше сайта можно выписать и отладочную-плату - макетницу EasyPic. Тоже намного ускоряет процесс изучения. Причем - в комплекте идет один МК (887-й) и все примеры заточены под эту плату. Периферию тоже можно там-же приобрести, но я предпочитаю делать самому - дешевле выходит ))
0
SWK
12.07.2011, 00:13
Да, еще одно замечание. Обычно тех, кто хочет осваивать PICи, начинают пугать их банковой организацией. На самом деле это не так уж и сложно.
А при использовании компиляторов от МикроЭлектраники - например, МикроПаскаля, про банки вообще можно забыть. Компилятор сам размещает данные и продпрограммы (процедуры, функции), оптимальным образом, чтобы граница банка не оказывалась посреди процедуры или массива. Также компилятор сам сохраняет и восстанавливает регистры W и статуса при обработке прерываний. Единственное ограничение - нельзя сделать массив длиной больше, чем может поместиться в одном банке. (80 байт, верхние 16, доступные из любого банка, компилятор резервирует под свои нужды). Но обычно нет нужды использовать такие длинные массивы. Все же контроллер - не комп.
SWK
12.07.2011, 00:23
Цитата Сообщение от O-10
Лучше тогда 887, они новее и дешевле.
Или даже enhanced mid-range, pic16f1xxx.
Это смотря где. Например, у нас в городе новые PIC (да и Атмеловские) намного дороже старых, и не всегда есть. Кроме того, для изучения, лучше взять уже проверенные временем, и имеющие много хорошо описанных разработок в Интернете. Для изучения и их вполне достаточно. Когда же действительно понадобятся новые "навороты", которые есть в новых контроллерах, так никто не мешает купить и их. К тому времени они и дешевле станут.
А вообще в новых PICах, конечно, много чего есть. И USB, и CAN, и встроенные RF передатчики, сигнальные процессоры, и многе другое. Но не обязательно сразу валить все в одну кучу.
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 568
12.07.2011, 00:38
@ SWK
Они дешевле даже в ценнике самого микрочипа, поэтому по уму должны быть дешевле везде.
Вот к примеру в питерской меге, которая в последнее время не блещет адекватностью по части цен
http://megachip.ru/item.php?item_id=122041
http://megachip.ru/item.php?item_id=122041
http://megachip.ru/item.php?item_id=2041016
Последний мк в тритоне стоит 55р.
А "навороты" эти освоить не сложнее чем те, что у 877/887, как и переписать код под новый мк (большинство имен SFR совпадает).
Зато всякие удобные вещи, вроде постоянной внутренней опоры для АЦП, не зависящей от уровня VDD, радуют. Еще возможность линейной адресации всей памяти и пр.
Вот тут инфа по новому ядру.
http://pickit2.ru/doku.php/%D1%81%D1%82 ... ancedpic16
Цитата:
"Интересная новая возможность контроллеров, это линейная адресация всех регистров общего назначения. Как видно из рисунка 1, регистры общего назначения GPR имеют адреса 20h-6Fh, A0h-EFh, 120h-16Fh и т.д. Такое «дырчатое» распределение регистров общего назначения не удобно для организации больших массивов данных и их адресации. В новых контроллерах добавлен режим линейной адресации памяти, позволяющий при установке указателя FSR на адреса 2000h – 29AFh адресовать всю область регистров общего назначения без «дыр». Новый режим адресации позволяет упростить создание больших массивов в памяти данных."
По-моему весьма достойные улучшения.
Впрочем, действительно больших массивов все равно не создать, ROM все же маловато у этой серии.. Хотя для определенных задач можно сохранять и во flash.
0
SWK
12.07.2011, 01:54
Цитата Сообщение от O-10
@ SWK
Они дешевле даже в ценнике самого микрочипа, поэтому по уму должны быть дешевле везде.
Интересное утверждение в наше рыночное время... Я не раз уже приводил примеры, когда даже в разных секциях одного торгового здания на одни и те же детали цены отличаются в несколько раз. Или, например, панелька ZIF-40 в одном нигазине 2 бакса, в другом - 30 баксов...
А например, PIC16F88, PIC16F819, не такие уж и новые, у нас можно найти не дешевле 15-20, и более баксов... В отличие от PIC16F877A по 4-5 баксов.

По-моему весьма достойные улучшения.
Все-таки не забывайте, что человек собирается осваивать новую для него архитектуру. А это лучше начинать делать с изучения правил, а не исключений...
А уж если ориентироваться только на лучшее, тогда по вашей логике надо начинать сразу с PIC32, на крайняк - хотя бы с PIC24 или PIC17... Они ведь "круче"...
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 568
12.07.2011, 03:05
Цитата Сообщение от SWK
Интересное утверждение в наше рыночное время... Я не раз уже приводил примеры, когда даже в разных секциях одного торгового здания на одни и те же детали цены отличаются в несколько раз. Или, например, панелька ZIF-40 в одном нигазине 2 бакса, в другом - 30 баксов...
А например, PIC16F88, PIC16F819, не такие уж и новые, у нас можно найти не дешевле 15-20, и более баксов... В отличие от PIC16F877A по 4-5 баксов.
Дешевле относительно более старых моделей в одном и том же нигазине, имелось ввиду.
Старые обычно продают по неадекватным ценам - они уже сняты с производства, площадь кристалла больше и т.п.
http://www.trt.ru/Stock.php?Part=160
И зачем человеку брать тот же 887, если можно взять 1936 дешевле, с большим объемом ROM и прочими плюсами. Другое дело, если нет в наличии поблизости, а заказывать не хочется.
A zif-панели разнятся в ценах скорее всего из-за разных производителей. Кто-то писал, что дешевые (мб подделки под оригинал) имеют хреновенькие контакты и через некоторое время перестают нормально функционировать.

Все-таки не забывайте, что человек собирается осваивать новую для него архитектуру. А это лучше начинать делать с изучения правил, а не исключений...
А уж если ориентироваться только на лучшее, тогда по вашей логике надо начинать сразу с PIC32, на крайняк - хотя бы с PIC24 или PIC17... Они ведь "круче"...
Не понимаю, почему вы считаете это исключениями? Логично предположить, что все следующие мк этого семейства будут иметь эти улучшения, а старые камни будут постепенно сниматься с производства (хотя микрочип весьма хорош по части поддержки старых мк).
Дело не в крутости, а в возможностях, которые упрощают решение определенных задач.
К слову говоря, простейшую программу на pic32 запустить так же легко, как и на pic16 (весь sturtup-код берет на себя компилятор).
Как было написано в книге микроэлектроники, микроконтроллеры - это как супермаркет, вы берете конкретно тот модуль, что вам нужен, и используете. От того факта, что у вас на борту еще есть ряд функций, хуже точно не станет, особенно если вы за эти дополнения не переплачиваете.
0
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 71
22.07.2011, 01:47
Напутствие начинающим изучать пики. Никогда не ленитесь конфигурировать все фьюзы которыми он располагает. От этого зависит ваш успех в 80% случаев. А хардкорщикам выучить все биты в регистрах когда мк стартует. Вообщем если кто - нибудь разбудет вас ночью и спросит про опрелеленный регистр и что в нем при старте находиться будь готов ответить, таким образом вы получитн полный контроль над мк, а в последствие над галактикой! И вдруг Остапа понесло, выносите...
0
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 568
22.07.2011, 02:50
Никогда не было проблем с фьюзами, кроме случаев, когда сам устанавливал их неверно..
0
SWK
22.07.2011, 03:07
Цитата Сообщение от гишетки
Напутствие начинающим изучать пики. Никогда не ленитесь конфигурировать все фьюзы которыми он располагает. От этого зависит ваш успех в 80% случаев. А хардкорщикам выучить все биты в регистрах когда мк стартует...
Ну так это для любого микроконтроллера не вредно. Хоть AVR, хоть ARM...
Но в PIC (в отличие, например, от AVR), намного труднее получить неработающий или не программируемый кристалл только из за того, что неправильно выставили режим генератора, или отключили SPI фузами. У PIC для программирования используется отдельный встроенный генератор, и последовательное программирование не отключается (в некоторых есть только бит отключения "низковольтного" режима - без подачи 13v на Riset).
Да и самих фузов намного меньше, чем в AVR. Например, в PIC16F873-877 - всего с десяток. Большинство из которых можно оставить по умолчанию. Обычно выбирается тип тактового генератора (4 варианта), да если надо, включается сторожевой таймер, остальные после очистки можно не трогать. К тому же, фузы автоматически задаются при создании проекта в компиляторах той же МикроЭлектраники, когда выбираешь частоту и тип генератора, и другие опции.

Биты же в регистрах конфигурации периферии определяются обычно в начале программы, а состояние их после сброса вполне оптимально и конфигурирование нужно только для тех, что используются. И опять же, например, в том же Микро Паскале, например, настройка USORT или ШИМ делается одной соответствующей командой их инициализации. Например,
Code
1
UART1_Init(1200); // - initotyze USORT (1200 baud rate, 1 stop bit, no parity)
При этом она сама распишет кучу регистров настройки USORT.
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 568
22.07.2011, 03:26
Кстати вот тут народ интересные вещи пишет по поводу надежности:
http://www.microchip.su/showth... 208&page=5

Кстати странно, фьюзы по дефолту все стоят в 1 (то есть для отключения ф-ии надо сбрасывать в 0), я порой забывал ставить, но проблем не было. Как-то на интуитивном уровне работал, сейчас обратил внимание.
Кстати правильнее их все-таки выставлять в коде, так переносимость выше =)
В MplabX вообще убрали опцию установки через меню.

p.s. Не хочется кидать камень в огрод АВР, но и правда, заморочки с фьюзами, на которых особенно попадаются новички, это жесть. И нечеткость определения в разных приложения, инвертирован бит или нет..
0
SWK
22.07.2011, 03:43
Цитата Сообщение от O-10
Кстати вот тут народ интересные вещи пишет по поводу надежности:.
Я помню, лет 6-8 назад форумы были завалены проблемами с AT90S2313 - низкая помехоустойчивость по сбросу при неоптимальной разводке, частая порча содержимого EEPROM, если не использовать супервизор. С тем же PIC16F84, к примеру, или PIC16F628, подобных проблем не было...
1 / 1 / 0
Регистрация: 19.12.2009
Сообщений: 2
22.07.2011, 07:55
фьюзы по дефолту все стоят в 1 (то есть для отключения ф-ии надо сбрасывать в 0)
Это где? В пиках? У них по дефолту фьюзы (биты конфигурации) сброшены, т.е. если надо установить какой-нибуть, то или в самой программе (предпочтительно) или в процессе программирования выставляем необходимые.
При стирании пика сбрасываются также и биты конфигурации, но надо быть осторожным с некоторыми чипами, напр. 12F629, 12F675 - у них в последней ячейке записано значение OCSCAL - коэфф. коррекции частоты внутр. генератора. Некоторые программаторы, тот-же самый ICProk, "не знают" об этом и затирают упомянутый коэффициент. Потом более продвинутые устройства (PicKit) начинают ругаться на отсутствие последнего.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.07.2011, 07:55
Помогаю со студенческими работами здесь

Micro C for PIC
Только с ним начал. Поморгал светодиодами. До этого писал программы для АВР в КодеВижн. Как-то работало... В КодВижн было так : ...

Вольтметр на PIC
Вольтметр на PIC16F677 нужна помощь в разработке проекта. Технические характеристики: -Индикация тока на 3-разрядном индикаторе с...

LVP for PIC
Не владею пиками, но есть вопрос. Этот LVP, для пиков требует особой схемы программирования и настройки, как понял, каких то фьюзов.? ...

flash в pic
Акакже записывать, подскажите нубу ссылочку

Дизассемблер PIC
Есть прошивка на ПИК http://www.obddiag.net/adaptir/obdcan2ec.hex для PIC18F2455 или PIC18F2550, чем её взять. Кто знает достойный,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru