Починаючи програмування PIC


13

Я розглядав можливість програмування PIC, але на відміну від інших доступних мікроконтролерів велика кількість різних мікросхем викликала у мене певну плутанину. Також виявляється, що деякі мікросхеми, запропоновані на деяких сайтах, як хороший вибір для людей, які починають програмування PIC, можливо були замінені (або я можу просто заплутатися).

Отже, моє запитання зводиться до трьох частин:

  • З чого було б гарним чіпом PIC для початку?

  • Я дуже радий робити асемблер чи якусь іншу мову, тож які IDE / мови ви б запропонували для Linux?

  • Що б ви порадили з точки зору отримання коду на мікросхемі через USB-з'єднання від ноутбука Linux (PicKit 2? Була однією можливістю) і яку конфігурацію схеми / плати мені потрібно для цього?

Редагувати: Після тривалої дискусії з Кортуком (див. Коментарі нижче) щодо достоїнств різних наборів комплекту, я вирішив почати з PicKit2 Starter Kit. У комплекті встановлений чіп PIC16F690.

Відповіді:


7

Я погоджуюся з PIC18, але для когось, хто тільки починає, вони можуть бути трохи інтенсивними. В даний час я викладаю інженерам-електрикам старшого рівня розробку ПІК, і навіть у тих же класах їх діапазон досвіду може бути приголомшливим.

Зараз я навчаю людей за допомогою компілятора CCS PIC-C, але це коштує грошей. Це неймовірно просто і його обрали, оскільки більшість наших студентів працювали лише в лабораторних умовах з базовим складанням або програмуванням x86.

У мене таке відчуття, що дуже простий PIC16 може бути краще, але це залежатиме від вашого фону. PIC16F688 - це дуже простий PIC, який ми використовуємо для нашого першого проекту, щоб зігріти людей.


1
У мене є ступінь відзнаки першого класу з обчислювальної техніки, яка включала багато програмування (головним чином C ++, трохи VB6, деякий асемблер). Я також маю ступінь математики та викладаю математику дітям середньої школи. Я можу і програму на різних мовах (хоча не на C) і розглядаю різні речі, включаючи гру з мікроконтролерами.
Амос

1
16F88 - ідеальний вибір. Є мільйон різних ПІК там, і я думаю, що близько 50 000 з них хороші для початку. Програмування мікроконтролерів дуже часто створює проблеми людям, яким я допоміг із фоном CS, тому що вони не брали багато занять з електроенергії, я б хотів, щоб вони додали до спеціальних програм. Я не думаю, що програмування взагалі буде непростим, але, мабуть, це не буде поганим вибором, щоб отримати вашу розробку. Це вплине на ваш ціновий діапазон. microchipdirect.com/ProductSearch.aspx?Keywords=DV164120
Кортук

1
Я думаю, що остання посилання, яку я опублікував, може бути хорошим вибором, вона дасть вам дошку, яка вже працює на 50 доларів (-25%, якщо у вас електронна пошта .edu), і тоді у вас є програміст, якого ви можете використовувати будь-які інші фішки, які ви отримаєте. Я з нетерпінням чекаю чути, як проходять ваші проекти.
Кортук

1
Якщо ви отримаєте DM164120-1, я б запропонував вам використовувати ПОС, що постачається разом з ним. Я прямо посеред того, щоб допомогти комусь із проектом, який їм потрібно викладати на уроці завтра, або я би шукав більше, але кожне місце, де я знайшов вашу дошку, не можу знайти це схематично. Я можу вам сказати, виходячи з виходу PIC16F631, він не сумісний з PIC16F88. Шпильки живлення та програмування не вирівняються. Якщо ви купуєте дошку для розробників, просто використовуйте PIC, який постачається разом з нею, ви будете значно щасливішими.
Кортук

2
Так, ви добре зробили свої дослідження. Моя допомога, можливо, була трохи помилкова. Якщо ви хочете змочити ноги, рада розробки - це спосіб уникнути роботи з обладнанням для створення PIC, перш ніж ви будете готові. Якщо ви підете цим шляхом, я б запропонував використовувати ПІК, який постачається разом із дошкою, і визначити наступний вибір ПОС після того, як ви будете готові створити власні дошки. Якщо ви хочете зробити свій власний знімок з самого початку, придбайте програміст, малюнок і все, що вам потрібно для запуску картинки з самого початку. Ви можете заощадити гроші та скористатися дошкою.
Кортук

4

Для PIC існує компілятор з відкритим кодом під назвою JAL (Just Another Language)

Як і інші мови програмування, це дозволяє використовувати апаратні бібліотеки, щоб значно спростити процес приєднання обраного ПКС до іншого обладнання. Програмне забезпечення також дозволить збирати та завантажувати програми через ваш PIC2 (або клон цього програміста)

JAL - мова, що базується на Паскалі, і це вільне програмне забезпечення (завжди приємно, якщо ваш тільки починається)

JAL Wiki Entry

Щодо книг "Мікроконтролери PIC, 50 проектів для початківців та експертів" Берта Ван Дам варто розглянути як вступ до JAL

Поки що я використовував лише чіп 16F877A від PIC, мабуть, хороший чіп для початківців. Досить дешево і багато портів.


Ура, я подивлюсь. Чи використовує JAL певний IDE, чи є такий доступний для Linux?
Амос

1
Так, він має назву JAL Edit, він буде тримати вас прямо на стороні кодування і має типові інструменти, які ви, як правило, знайдете в jal.sunish.net/jaledit
Justblair

На жаль, це лише Windows, але для Linux існує PicShell, поточна версія Beta знаходиться за адресою: linux.softpedia.com/get/Text-Editing-Processing/IDEs/…
Amos

2

Щоб чіп подивитись на серію 18F, майже все так само дешево, як у 16F набагато більше кишок. 18F2550 - хороший чіп і включає USB, є й інші з цієї серії. Подивіться схеми вибору мікрочіпів на їхньому веб-сайті.

Безкоштовний IDE від мікрочіпа, включаючи C, який слід використовувати над асемблером IMHO. Не впевнений, чи працює мікрочіп IDE на Linux, але може.

PicKit може бути корисним для програмування, можливо, захоче завантажувати завантажувач першого разу, а потім завантажувати через usb. Bitwacker (google it) - це приємна настройка для використання або копіювання.

Є маса форумів та інших сайтів, просто Google. Одна з проблем PIC полягає в тому, що так багато мов і жодна не зовсім однакова (навіть у компіляторах c). Якщо ви можете написати гарне запитання, запитайте на piclist.com, але спочатку зробіть домашнє завдання. Форуми - не найкраще місце для навчання, шукайте сайти підручників для цього (знову ж таки, сайт бітчер - це добре, також google "Вбудовані пригоди", хлопець багато зробив у С (але не мікрочіп)


Я зробив закладки "Вбудовані пригоди", коли мені довелося вбити годину чи дві, і я ознайомився з Бітвакером для подальшого ознайомлення. Ура.
Амос

1

Дошка Dwengo заснована на PIC18F4550, у них також є недорогий клон PICkit2 та деякі дуже хороші підручники для початку роботи: http://www.dwengo.org/tutorials


Цікаво. Ви не були б тим самим Вімом, який також є одним із команди "Двенго"?
Амос

Так, той самий ;-)
Вім

1

Для посилань на деякі речі, я трохи програмував PIC, використовуючи Pik Kit 2 Pickit 1, я б порекомендував 100 проектів мікроконтролерів для злого генія, у мене також є кілька публікацій у блогах, які мають справу з такими речами

http://blog.onaclovtech.com/2010/01/interrupts.html

http://blog.onaclovtech.com/2010/01/analog-inputs.html

http://blog.onaclovtech.com/2010/02/pic-16f913-quick-reference-guide.html

http://blog.onaclovtech.com/2010/02/pic-16f913.html

Я планую опублікувати оновлення SPI, а також коли я з’ясую, як боротися з трафіком CAN шини за допомогою деяких мікросхем мікросхем, у мене також з’являться оновлення.

Дякую,

onaclov


Виглядає цікаво, я детальніше ознайомлюсь із вашими речами, коли отримаю хвилину.
Амос

Я, можливо, просто не знаю, куди шукати весь час, але відчуваю, що порівняно з avr та arduino практично немає навчальних посібників з PIC, і я дуже хотів би це змінити ....
onaclov2000

1

Якщо ви хочете використовувати PIC, я б серйозно розглядав PIC24 серію 16-бітних фотографій або дуже схожий dsPIC33. Вони швидші, потужніші, багато в чому простіші в програмі, і не коштують більше, ніж найпростіші 8-бітні. Нижній кінець доступний і в друкованих пакетах DIP-розеток.

Набагато складніше знайти приклади в Інтернеті, але, наскільки я бачу, це головний недолік.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.