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

С чего начать изучение PIC-контроллеров новичку?

1 2 10

SAK: Для начинающего это скорее +,
Сомневаюсь. Декремент регистра на пике - это три команды, на атмеле - одна. Таких примеров - куча.

picmaniac: При нынешнем уровне развития МК удобнее в основном программировать на Си. Хотя основы ассемблера знать очень полезно, эти знания иногда могут выручить.
Прежде всего имеет смысл в новом микроконтроллере разобраться с моделью памяти. Си этому препядствует ого-го как ! Сейчас занялся изучением CY7C68013 и Keil'овский Си меня просто бесит - ничего не понять.

picmaniac: Чё-то многовато всё-таки, сомнительно...
Увы. Но это так. Было как-то интересно написать эмулятор "бесконечной" чиповой телефонной карты. Там и столкнулся с долгим POR. В атмелах он отключаем и может составлять 15 мс вроде. Также подвело быстродействие пиков - самые простые действия приходилось описывать макросами - а это дополнительное пожирание памяти и торможение.

Извините за предвзятость, но она образовалась по опыту. Плюсы ПИКов мне представляются весьма сомнительными.
Но это не значит что кодить под пики никто не должен - всётаки устройства на их основе хоть и просты, но востребованны.

 

Wiza: Декремент регистра на пике - это три команды
??? странно... я одной делал

 

Декремент и инкремент на PIC
decf Reg,1
incf Reg,1
(1 - это запись результата в этот же регистр, если поставить 0, то Регистр не изменится, а результат будет в аккумуляторе W)

Изучать можно отсюда:
http://www.ikarab.narod.ru/Kea_20.html

А микроконтроллер для изучения можно взять PIC16F84(A)
Проще некуда, но в нём мало что есть!

В PICах есть минус в количестве комманд. У Атмелов очень много! БОЛЬШОЙ ПЛЮС!

 

vicselc: Попробуйте найти книги
1) ''Микроконтроллеры MicroCHIP Практическое руководство'' В.С.Ясенков, в ней правда разобран только PIC16F84 но книга простая и дает представление о структуре MCPU серии PIC16 и PIC12.
2) "Радиолюбительские конструкции на PIC микроконтроллерах (я знаю 1 и 2 книгу)" Н.И.Заец в них имеются схемы, исходники, описания алгоритмов и т.д.

PIC расшифровывается как Peripheral Interface Controller - перефирийный контроллер интерфейса, для определенного круга задач подходит на 100%. И с AVR (не знаю как расшифровывается) находятся на одной ступени, выяснено в бесконечной "войне PIC/AVR" как ЛУТ и фоторезист

Wiza: Было как-то интересно написать эмулятор "бесконечной" чиповой телефонной карты интересно в результате что нибудь получилось? В сети подобных эмуляторов была куча и в основном на PIC (сам не собирал)

 

Сергей К: ??? странно... я одной делал
Tim18: Декремент и инкремент на PIC
Ну извините. Попутал. Давно не держал документации на пик. Явно там некоторые стандартные вещи сделаны через лес. Тоесть через W

AlexAlcoa: интересно в результате что нибудь получилось? В сети подобных эмуляторов была куча и в основном на PIC (сам не собирал)
Получилось. На avr'ке. Всё работало. Но доводить проект до размеров карточки не стал. Как только заработало - сразу пропал интерес. Выброшенные в сеть к сожалению были нерабочими.

 

2 Wiza
Я вижу Вы с PIC никогда не работали,поэтому и идет несусветная околесица.
Разберитесь, что такое конвейеризация команд, а потом говорите о тактах.
Количество используемых команд в ATMELe является не плюсом, а скорее всего минусом.
Чем более простые команды используются - тем выше быстродействие.
В PIC всего 35 команд и подобраны они оптимальным образом.
Симуляторы под PIC отработаны и позволяют работать в режиме прерываний,
я имею ввиду MPLAB IDE 7.61 и PIC симулятор. AVR Studio работает так
коряво, что и подходить не хочется. Процессы, связанные с прерываниями
( работа с TMR ) отрабатываются отвратительно.
Не имея симуляторов работу микроконтроллера очень сложно освоить.
Книжку Яценкова вообще советую не брать в руки. Вот Заец - это совершенно
другое дело. Человек практик. У него вышло 3 книги по PIC.
Если нужно быстродействие - пишем на ассемблере.
Если в голове пусто и человек не может написать алгоритм - пишем на СИ.

 

Кроме практики (великая вещь) нужно еще теорию немного почитать и желательно не в английском мануале.

 

HOWK
Чем более простые команды используются - тем выше быстродействие

- Следовально, Самый Быстрый в Мире Контроллер должен иметь такую архитектуру:

Один регистр R, разрядность которого позволяет адресовать всю доступную память.

Тьюринг-полная система команд (пять предельно простых, быстродействие, следовательно, фантастическое!):
* Инкремент R
* Декремент R
* Инкремент ячейки памяти по адресу из R
* Декремент ячейки памяти по адресу из R
* Переход к заданной метке, если содержимое ячейки памяти по адресу из R отлично от нуля.

Если в голове пусто и человек не может написать алгоритм - пишем на СИ

- Мы ведь не допустим появления идиотских компиляторов Си под Самый Быстрый в Мире Контроллер !?

 

HOWK: Я вижу Вы с PIC никогда не работали,поэтому и идет несусветная околесица.
Конкретно - действительно не работал(точнее нет рабочих проектов). Для меня важно быстродействие которого у пиков нет. Читайте мои посты выше.

Разберитесь, что такое конвейеризация команд, а потом говорите о тактах.
Резберитесь как выполняются переходы, а потом уж можно и поговорить и о конвеере.
P.S. Гляньте внимательнее на его "конвеер".

AVR Studio работает так коряво, что и подходить не хочется.
А вы про VMLAB ничего не слышали ?

Если нужно быстродействие - пишем на ассемблере
Вот и пишем. А иногда даже приходится декомпилить с Си. Ибо модель памяти в Си сама по себе малопонятно. А теперь смотрим сюда - http://www.cesko.host.sk/ и разработчики на PIC'ах сидят и облизываются. :\

 

AlexAlcoa: Кроме практики (великая вещь) нужно еще теорию немного почитать и желательно не в английском мануале.

И всёже: в мануале иногда пишут одно, а на деле - совсем другое. (Кто о чём а я, например, про POR)