» електроника »Домашен програмист за PIC-контролери

Домашен програмист за PIC-контролери

Домашен програмист за PIC-контролери

Развитието на електрониката протича бързо и все по-често микроконтролерът е основният елемент на това или онова устройство. Той върши по-голямата част от работата и освобождава проектанта от необходимостта да създаде сложна схема, като по този начин намалява размера на платката до минимум. Както всички знаят, микроконтролерът се управлява от програма, записана във вътрешната му памет. И ако опитен електронен програмист няма проблеми с използването на микроконтролери в своите устройства, тогава за начинаещ радиолюбител, който се опитва да напише програма на контролер (особено PIC), може да се окаже голямо разочарование, а понякога и малко пиротехническо шоу под формата на чип за пушене.

Колкото и да е странно, но с цялото величие на Интернет, той има много малко информация за фърмуера Pic контролери, а материалът, който може да се намери, е с много съмнително качество. Разбира се, можете да закупите фабричен програмист на неадекватна цена и да шиете колкото искате, но какво ще стане, ако човекът не се занимава с масово производство. За тези цели можете да съставите просто и не скъпо за изпълнение домашно приготвени, Посочена JDM програмист съгласно диаграмата по-долу (фигура № 1):


Фигура №1 - диаграма на програмиста

Веднага нося списък с елементи за тези, които са твърде мързеливи да надникнат в диаграмата:

  • R1 - 10 kOhm
  • R2 - 10 kOhm (пресечен). Чрез регулиране на съпротивлението на този резистор, трябва да постигнете около 13 V на щифт № 4 (VPP) по време на програмиране. В моя случай съпротивлението е 1,2 kOhm
  • R3 - 200 ома
  • R4, R5 - 1,5 kOhm
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (стабилизационно напрежение 5.1V)
  • VD7 - 1N4743A (стабилизационно напрежение 13V)
  • С1 - 100 nF (0,1 μF)
  • C2 - 470 μF x 16 V (електролитично)
  • SUB-D9F - конектор за COM порт (MOM или SOCKET)
  • DIP8 гнездо - зависи от контролера, който използвате

Веригата използва пример за свързване на такива общи контролери като PIC12F675 и PIC12F629, но това изобщо не означава, че фърмуера на други серии PIC ще бъде невъзможно. За да напишете програма на контролер от различен тип, достатъчно е да прехвърлите проводниците на програмиста в съответствие с фигура 2, която е дадена по-долу.


Фигура 2 - Опции за случая на PIC контролер с необходимите изводи

Както може би се досещате, случаят се използва в схемата на моя програмист DIP8, С голямо желание можете да направите универсален адаптер за всеки тип чип, като по този начин ще получите универсален програмист. Но от с PIC контролери Рядко работя, това ми е достатъчно.

Въпреки че самата схема е доста проста и не създава трудности при монтажа, но също така изисква уважение. Затова би било хубаво да се направи печатна платка за нея. След няколко манипулации с програмата SprintLayout, текстолит, бормашина и желязо, такова заготовка се роди тук (снимка № 3).


Снимка № 3 - платка на програмист

Изтеглете PCB източник за програмата SprintLayout Можете да следвате тази връзка:
pp_programmator.zip [17.67 Kb] (изтегляния: 984)
Ако желаете, можете да го промените на вашия тип PIC контролер. За тези, които решиха да оставят дъската непроменена, разпространих гледката отстрани на частите, за да улесня инсталирането (Фигура 4).


Фигура 4 - Платка от страната на монтаж

Малко повече магьосничество с поялник и имаме готово устройство, което може да мига Pic контролер през COM порт вашия компютър. Все още топъл и не измит от флюса, резултатът от усилията ми е показан на снимка №5.


Снимка № 5 - пълен програмист

Отсега нататък първата стъпка към фърмуера Pic контролердойде край. Вторият етап ще включва свързване на програмиста с компютъра и работа с програмата IC Prog.
За съжаление, не всички съвременни компютри и лаптопи са в състояние да работят с този програмист поради баналното отсъствие на тях COM портове, а тези, които са инсталирани на лаптопи, не издават необходимото програмиране 12B, Затова реших да се обърна към първия си PCкойто отдавна се опушваше и чакаше най-хубавия си час (и все още чакаше).
Затова включете компютъра и първо инсталирайте програмата IC Prog, Можете да го изтеглите от сайта на автора или на този линк:
icprog105d.zip [432.25 Kb] (изтегляния: 1167)
Свързваме програмиста към COM порт и стартирайте ново инсталираното приложение. За правилна работа е необходимо да се извърши серия от манипулации. Първоначално е необходимо да изберем типа контролер, който ще шием. Имам го PIC12F675, На екрана №6 полето за избор на контролера е маркирано с червено.


Снимка 6 - избор на тип микроконтролер

След това отидете на менюто "Настройки "->" Опции", в прозореца, който се показва, изберете раздела I2C и поставете отметка в квадратчетата, както е показано на снимка № 7.


Екранна снимка 7 - настройка на метода на запис на контролера

В същия прозорец отидете на раздела "програмиране"и изберете"Проверка на програмиранеПроверката след програмиране може да причини грешка, тъй като в някои случаи фърмуерът инсталира предпазители за заключване CP, За да не се заблудите, по-добре е да деактивирате тази проверка. Накратко, следвайте екрана номер 8.


Екранна снимка № 8 - настройка за проверка

Продължаваме да работим с този прозорец и отиваме до „общТук е необходимо да зададете приоритета на програмата и не забравяйте да я използвате NT / 2000 / XP драйвер (номер на екрана 9). В някои случаи програмата може да предложи инсталирането на този драйвер и може да изисква рестартиране IC Prog.


Екранна снимка 9 - Общи настройки

Така че с този прозорец работата е приключила. Сега да преминем към настройките на самия програмист. Изберете в менюто "Настройки "->" Настройки на програмиста"или просто натиснете клавиша F3, Появява се следният прозорец, показан на екрана №10.


Екранна снимка № 10 - прозорец с настройки на програмиста

На първо място, изберете типа програмист - Jdm програмист, След това задаваме радио бутона за използване на драйвера Windows, Следващата стъпка е да изберете COM порткъм който е свързан вашият програмист. Ако има такъв, изобщо няма въпроси и ако има повече от един, погледнете в мениджъра на устройствата, който се използва в момента. Плъзгачът за забавяне на вход / изход е проектиран да контролира скоростта на писане и четене. Това може да е необходимо на бързи компютри и ако има проблеми с фърмуера - този параметър трябва да се увеличи. В моя случай тя по подразбиране остава равна на 10 и всичко работеше добре.

В тази настройка на програмата IC Prog свърши и можете да продължите към процеса на самия фърмуер, но първо четем данните от микроконтролера и виждаме какво е записано в него. За да направите това, на лентата с инструменти щракнете върху иконата на микросхемата със зелена стрелка, както е показано на екрана № 11.


Снимка 11 - Процесът на четене на информация от микроконтролера

Ако микроконтролерът е нов и не е мигал преди това, всички негови клетки от паметта ще бъдат запълнени със стойности 3FFFс изключение на последния. Той ще съдържа стойността на калибровъчната константа. Това е много важна и уникална стойност за всеки контролер. Точността на часовника зависи от него, който се избира от производителя, като избира и инсталира тази константа. Екранната снимка № 12 показва клетката на паметта, в която константата ще се съхранява при четене на контролера.


Екранна снимка 12 - стойност на константата на калибриране

Повтарям, че стойността е уникална за всяка микросхема и не трябва да съвпада с показаното на фигурата. Мнозина от неопитен опит презаписват тази константа и впоследствие Pic контролер започва да работи неправилно, ако проектът използва часовник от вътрешен генератор. Съветвам ви да запишете тази константа и да залепите надписа с нейната стойност директно върху контролера. По този начин ще избегнете много неприятности в бъдеще. Значи, стойността се записва - продължаваме напред. Отворете файла на фърмуера, който обикновено има разширение .hex, Сега вместо да пиша 3FFF, буферът за програмиране съдържа кода на нашата програма (екранна снимка № 13).


Екранна снимка 13 - фърмуерът се изтегля в буфера за програмиране

Писах по-горе, че мнозина презаписват константата на калибриране по небрежност. Кога се случва това? Това се случва, когато файлът на фърмуера се отвори. Стойността на константата автоматично се променя на 3FFF и ако започнете процеса на програмиране, няма връщане назад. В екран № 14 тази клетка с памет, където константата е била преди 3450 (преди отваряне шестнадесетичен файл).


Екранна снимка № 14 - автоматична промяна на калибровъчната константа

Сега трябва внимателно да следвате стъпките по-долу. Щракваме върху иконата на микросхемата с мълния на лентата с инструменти, като по този начин информираме програмата, че искаме да започнем процеса на фърмуер. Програмата ще попита дали сме сигурни, че искаме да флаш това устройство. Съгласяваме се и кликваме върху „ДАСлед това получаваме предупреждението, показано на екрана №15.


Екранна снимка № 15 - предупреждение за несъответствие в стойностите на константата на часовника

IC Prog ни казва, че една стойност на калибриращата константа (в моя случай 3450), а сега още (3FFF) автоматично заместени от шестнадесетичен файл, Предлага се също да се остави стойността по подразбиране 3FFF, Важно е да кликнете върху „NO"За да се IC Prog по време на програмирането ни върна стойността 3450 или какво ще бъде с вас. Като цяло кликнете върху „NO"и наблюдавайте следния прозорец (екранна снимка № 16).


Екранна снимка 16 - процес на програмиране

През този период ви съветвам да не натискате нищо или да зареждате компютъра с други задачи. Когато направих екранна снимка на тази статия, когато щракна върху бутона Екран за печат възникна грешка при запис и трябваше да го направя отново. След известно време IC Prog ще ви изпрати съобщение за успешната проверка на ново написания код във вашия Pic контролер, така че всички, които харесаха тази статия, искам да видя това след подобни усилия (екран № 17):


Екранна снимка № 17 - фърмуерът беше успешен, можете да се отпуснете

Ако в процеса имате някакви въпроси, внимателно препрочетете статията отново и всичко със сигурност ще се получи - проверете лично. Успех на всички и творчески успехи !!!
9.8
9.9
9.9

Добавете коментар

    • усмихвамусмивкиxaxaдобреdontknowYahooНеа
      шефдраскотинаглупакдаДа-даагресивентайна
      съжалявамтанцувамdance2dance3извинениепомощнапитки
      спиркаприятелидобърgoodgoodсвиркаприпадамезик
      димплясканеCrayдеклариратподигравателендон-t_mentionизтегляне
      топлинасърдитlaugh1MDAсрещаmoskingотрицателен
      not_iпуканкинаказвамчетаплашаплашитърсене
      присмехthank_youтоваto_clueumnikостърСъгласен
      лошоbeeeblack_eyeblum3изчервяванесамохвалствоскука
      цензурираншегаsecret2заплашвампобедаюsun_bespectacled
      ShokРеспектхахаprevedдобре дошълkrutoyya_za
      ya_dobryiпомощникne_huliganne_othodifludзабранаблизо
8 коментар
Гост Иванов
Страхотна тема. Храмът е професионализъм, точно, ясно и сбито! Благодаря! Успех!
Гост Елена
Момчета, кажете ми моля. Ако при четене на фърмуера от умишлено мигащ контролер, програмният код съдържа само ZERO и коефициент на калибриране в края, означава ли това, че фърмуерът е защитен от четене? микроконтролер PIC16F630, опита да разгледа програмиста според схемата "3 окабеляване" през COM порта. помощ
Здравейте честита ви нова година моля те, кажи ми. написахте 13 волта на четвъртия пин при програмиране. за измерване на напрежението на четвъртия изход спрямо gnd? разкажете ни повече за настройката на програмиста
На LPT AN589 има схема (по-сериозна). Направено преди много време
Погледнете в интернет
Авторът
За съжаление, не.
и случайно няма схема с lpt порт? Благодаря ви.
Авторът
Благодаря за оценката. Направих приятел с програмист с дистанционен кабел от около 1 метър. Полетът е нормален - контролерите шият без провал. Кабелът използваше усукан двойка кабел с усукана двойка.
Roman1984, Поставям ви на 9-10-10, но има въпрос: опитахте ли да работите с програмиста, който беше изваден от COM порта на кабела? Ако работи нормално в този случай, можете да спойкате кабела вместо конектора на платката. По-удобно е, когато модулът на програмиста е на масата, а динамичните натоварвания на COM порта на компютъра са по-малко.
Когато провеждате кабела, препоръчително е да поставите програмиста, когато не го използвате, но кабелът не може да бъде изваден от PC конектора в кутия, като например сапунена кутия, за да се избегне случайно късо съединение.

Съветваме ви да прочетете:

Предайте го за смартфона ...