0 / 0 / 0
Регистрация: 02.11.2010
Сообщений: 499
|
|
1 | |
Осваиваю PIC11.07.2011, 22:54. Показов 38029. Ответов 49
Метки нет (Все метки)
Решил немного освоить пики.
Думаю начать с ситемы команд и архитектуры. Может кто подскажет толковую литературу на русском языке.
0
|
11.07.2011, 22:54 | |
Ответы с готовыми решениями:
49
осваиваю Ubuntu - разные вопросы Осваиваю пик или как помигать светодиодом... Програмирование PIC Micro C for PIC Вольтметр на PIC |
1 / 1 / 0
Регистрация: 19.12.2009
Сообщений: 2
|
|
11.07.2011, 23:21 | 2 |
Литературы на русском в сети много, но доп. могу посоветовать зайти на сайт www.mykroe.com, выбрать и скачать один из компилляторов ((Mikro-Basic/Pascal/C). С каждым из них поставляется куча примеров по которым легко можно начать изучение пик-ов.
На microchip.ru есть даташиты на русском.
0
|
SWK
|
|
11.07.2011, 23:22 | 3 |
Сообщение от 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 | 4 |
Спасибо. Буду вникать.
0
|
SWK
|
|
11.07.2011, 23:35 | 5 |
Еще вот эта дока удобна. Подробно все флажки и регистры описаны для PIC16F870 - 877.
По большей части такая же периферия используется и во многих других PIC среднего и младшего семейств. [3.75 Мб] |
0 / 0 / 0
Регистрация: 02.11.2010
Сообщений: 499
|
|
11.07.2011, 23:35 | 6 |
А какой чип луше взять для знакомства ?
0
|
SWK
|
|
11.07.2011, 23:44 | 7 |
Сообщение от komtrottir
У МикроЭлектраники есть под них куча примеров и бутлоадер. И стоят сравнительно недорого, и вроде везде есть. С буквой А в конце (например, PIC16F877A) отличаются наличием еще 2х компараторов и некоторыми улучшениями. |
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 568
|
|
12.07.2011, 00:06 | 8 |
Лучше тогда 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 | 9 |
0
|
SWK
|
|
12.07.2011, 00:13 | 10 |
Да, еще одно замечание. Обычно тех, кто хочет осваивать PICи, начинают пугать их банковой организацией. На самом деле это не так уж и сложно.
А при использовании компиляторов от МикроЭлектраники - например, МикроПаскаля, про банки вообще можно забыть. Компилятор сам размещает данные и продпрограммы (процедуры, функции), оптимальным образом, чтобы граница банка не оказывалась посреди процедуры или массива. Также компилятор сам сохраняет и восстанавливает регистры W и статуса при обработке прерываний. Единственное ограничение - нельзя сделать массив длиной больше, чем может поместиться в одном банке. (80 байт, верхние 16, доступные из любого банка, компилятор резервирует под свои нужды). Но обычно нет нужды использовать такие длинные массивы. Все же контроллер - не комп. |
SWK
|
|
12.07.2011, 00:23 | 11 |
Сообщение от O-10
А вообще в новых PICах, конечно, много чего есть. И USB, и CAN, и встроенные RF передатчики, сигнальные процессоры, и многе другое. Но не обязательно сразу валить все в одну кучу. |
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 568
|
|
12.07.2011, 00:38 | 12 |
@ 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 | 13 |
Сообщение от O-10
А например, PIC16F88, PIC16F819, не такие уж и новые, у нас можно найти не дешевле 15-20, и более баксов... В отличие от PIC16F877A по 4-5 баксов. А уж если ориентироваться только на лучшее, тогда по вашей логике надо начинать сразу с PIC32, на крайняк - хотя бы с PIC24 или PIC17... Они ведь "круче"... |
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 568
|
|
12.07.2011, 03:05 | 14 |
Сообщение от SWK
Старые обычно продают по неадекватным ценам - они уже сняты с производства, площадь кристалла больше и т.п. http://www.trt.ru/Stock.php?Part=160 И зачем человеку брать тот же 887, если можно взять 1936 дешевле, с большим объемом ROM и прочими плюсами. Другое дело, если нет в наличии поблизости, а заказывать не хочется. A zif-панели разнятся в ценах скорее всего из-за разных производителей. Кто-то писал, что дешевые (мб подделки под оригинал) имеют хреновенькие контакты и через некоторое время перестают нормально функционировать. Дело не в крутости, а в возможностях, которые упрощают решение определенных задач. К слову говоря, простейшую программу на pic32 запустить так же легко, как и на pic16 (весь sturtup-код берет на себя компилятор). Как было написано в книге микроэлектроники, микроконтроллеры - это как супермаркет, вы берете конкретно тот модуль, что вам нужен, и используете. От того факта, что у вас на борту еще есть ряд функций, хуже точно не станет, особенно если вы за эти дополнения не переплачиваете.
0
|
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 71
|
|
22.07.2011, 01:47 | 15 |
Напутствие начинающим изучать пики. Никогда не ленитесь конфигурировать все фьюзы которыми он располагает. От этого зависит ваш успех в 80% случаев. А хардкорщикам выучить все биты в регистрах когда мк стартует. Вообщем если кто - нибудь разбудет вас ночью и спросит про опрелеленный регистр и что в нем при старте находиться будь готов ответить, таким образом вы получитн полный контроль над мк, а в последствие над галактикой! И вдруг Остапа понесло, выносите...
0
|
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 568
|
|
22.07.2011, 02:50 | 16 |
Никогда не было проблем с фьюзами, кроме случаев, когда сам устанавливал их неверно..
0
|
SWK
|
|
22.07.2011, 03:07 | 17 |
Сообщение от гишетки
Но в PIC (в отличие, например, от AVR), намного труднее получить неработающий или не программируемый кристалл только из за того, что неправильно выставили режим генератора, или отключили SPI фузами. У PIC для программирования используется отдельный встроенный генератор, и последовательное программирование не отключается (в некоторых есть только бит отключения "низковольтного" режима - без подачи 13v на Riset). Да и самих фузов намного меньше, чем в AVR. Например, в PIC16F873-877 - всего с десяток. Большинство из которых можно оставить по умолчанию. Обычно выбирается тип тактового генератора (4 варианта), да если надо, включается сторожевой таймер, остальные после очистки можно не трогать. К тому же, фузы автоматически задаются при создании проекта в компиляторах той же МикроЭлектраники, когда выбираешь частоту и тип генератора, и другие опции. Биты же в регистрах конфигурации периферии определяются обычно в начале программы, а состояние их после сброса вполне оптимально и конфигурирование нужно только для тех, что используются. И опять же, например, в том же Микро Паскале, например, настройка USORT или ШИМ делается одной соответствующей командой их инициализации. Например, Код
UART1_Init(1200); // - initotyze USORT (1200 baud rate, 1 stop bit, no parity) |
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 568
|
|
22.07.2011, 03:26 | 18 |
Кстати вот тут народ интересные вещи пишет по поводу надежности:
http://www.microchip.su/showth... 208&page=5 Кстати странно, фьюзы по дефолту все стоят в 1 (то есть для отключения ф-ии надо сбрасывать в 0), я порой забывал ставить, но проблем не было. Как-то на интуитивном уровне работал, сейчас обратил внимание. Кстати правильнее их все-таки выставлять в коде, так переносимость выше =) В MplabX вообще убрали опцию установки через меню. p.s. Не хочется кидать камень в огрод АВР, но и правда, заморочки с фьюзами, на которых особенно попадаются новички, это жесть. И нечеткость определения в разных приложения, инвертирован бит или нет..
0
|
SWK
|
|
22.07.2011, 03:43 | 19 |
Сообщение от O-10
|
1 / 1 / 0
Регистрация: 19.12.2009
Сообщений: 2
|
|
22.07.2011, 07:55 | 20 |
При стирании пика сбрасываются также и биты конфигурации, но надо быть осторожным с некоторыми чипами, напр. 12F629, 12F675 - у них в последней ячейке записано значение OCSCAL - коэфф. коррекции частоты внутр. генератора. Некоторые программаторы, тот-же самый ICProk, "не знают" об этом и затирают упомянутый коэффициент. Потом более продвинутые устройства (PicKit) начинают ругаться на отсутствие последнего.
0
|
22.07.2011, 07:55 | |
22.07.2011, 07:55 | |
Помогаю со студенческими работами здесь
20
LVP for PIC flash в pic Дизассемблер PIC Таймер в PIC Практика PIC PIC программатор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |