Категорије: Склопови микроконтролера
Број прегледа: 23111
Коментари на чланак: 0

ПИЦ микроконтролери за почетнике

 

На савременом тржишту постоји велики број породица и низ микроконтролера различитих произвођача, међу којима се могу разликовати АВР, СТМ32 и ПИЦ. Свака од породица нашла је свој домет. У овом чланку ћу почетницима рећи о ПИЦ микроконтролерима, наиме, шта је то и шта треба да знате да бисте започели с њима.

ПИЦ микроконтролери за почетнике

Шта је ПИЦ

ПИЦ је назив серије микроконтролера произвођача Мицроцхип Тецхнологи Инц (САД). Назив ПИЦ долази од контролера периферних интерфејса.

ПИЦ микроконтролери имају РИСЦ архитектуру. РИСЦ - скраћени скуп упутстава, такође се користи у процесорима за мобилне уређаје. Постоји неколико примера његове употребе: АРМ, Атмел АВР и други.

Мицроцхип је 2016. године купио Атмел, произвођача АВР контролера. Стога, на службеној веб страници налазе се микроконтролери породице и ПИЦ и АВР.

Микроконтролер ПИЦ16Ф1ккк

Породице

Међу 8-битним ПИЦ микроконтролерима, састоји се од 3 породице које се разликују у архитектури (дубина бита и сет упутстава).

  • Основна линија (ПИЦ10Ф2кк, ПИЦ12Ф5кк, ПИЦ16Ф5к, ПИЦ16Ф5кк);

  • Средњи опсег (ПИЦ10Ф3кк, ПИЦ12Ф6кк, ПИЦ12Ф7кк, ПИЦ16Ф6кк, ПИЦ16Ф7кк, ПИЦ16Ф8кк, ПИЦ16Ф9кк);

  • Побољшани средњи опсег (ПИЦ12Ф1ккк, ПИЦ16Ф1ккк);

  • Хигх-енд или ПИЦ18 (18Фкккк, 18ФккЈкк и 18ФккКкк).

Поређење породица микроконтролера

Карактеристике су дате у табели испод.

ПИЦ микроконтролере

Поред 8-битних микроконтролера, Мицроцхип производи 16-битне:

  • ПИЦ24Ф;

  • ДсПИЦ30 / 33Ф за обраду сигнала.

Представници 16-битне породице раде брзином од 16 до 100 МИПС (испуњено је милион упутстава у секунди). Вреди напоменути и карактеристике:

  • машински циклус - 2 циклуса;

  • АДЦ резолуција - 16 бита;

  • подржавају бројне протоколе комуникације (УАРТ, ИрДА, СПИ, И2С ™, И2Ц, УСБ, ЦАН, ЛИН и СЕНТ), ПВМ и још много тога.

Такође постоји породица 32-битних микроконтролера - ПИЦ32МКС, главне карактеристике:

  • раде на фреквенцији до 120 МХз;

  • Извршите до 150 МИПС

  • АДЦ: 10-битни, 1 Мспс (брзина квантизације), до 48 канала.



Који ПИЦ за почетак?

Почетници би требало да започну савладавање ПИЦ микроконтролера из 8-битне линије. Опћенито, произвођач тврди да је карактеристика цијеле породице једноставност преношења програма из једне породице у другу и близак бројним моделима.

Један од најпопуларнијих микроконтролера у аматерском радијском окружењу је ПИЦ16ф628А. Његове техничке карактеристике су следеће:

  • Постоји уграђени генератор такта. Можете подесити рад са фреквенцијом од 4 или 8 МХз;

  • 18 пинова, од којих 16 - улаз / излаз, а 2 - снага;

  • Да бисте радили на фреквенцијама до 20 МХз, можете повезати кварцни резонатор, али у овом случају није остало 16, већ 14 ногу за улаз / излаз;

  • На ознаци је слово Ф, што значи да се користи ФЛАСХ меморија капацитета 2048 речи;

  • 14-битна упутства, 35 комада;

  • 2 упоређивача;

  • 4 аналогна улаза;

  • ПОРТБ улази имају подизаче отпорнике;

  • Два 8-битна тајмера и један 16-битни;

  • Машински циклус - 4 циклуса кварцног резонатора или унутрашњег осцилатора);

  • 224 бајта РАМ-а;

  • 128 бајтова ЕЕПРОМ-а;

  • УСАРТ - серијски порт;

  • унутрашњи референтни напон;

  • напаја се од 3,3 до 5 В.

Разлози његове популарности су ниска цијена и могућност такта с интерног генератора.

Који је коначни приказ 16ф628 приказан доле:

Излаз на 16ф628

Блок интерног кола овог микроконтролера је приказан доле.

Структура микроконтролера 16ф628

На шта прво треба обратити пажњу у шеми?

Овај микроконтролер има два прикључка ПОРТА и ПОРТБ. Сваки пин, сваки од њих може се користити као улаз и излаз, као и за повезивање периферних уређаја или активирање других модула микроконтролера.

Размотрите овај део шеме детаљно.

МК портови

На пример, портови РБ0-РБ3 - могу да делују као аналогни. Ако је потребно, тактни извор је повезан са РА6, РА7 (кварцни резонатор) Сами излази микроконтролера се конфигуришу у режиму улаза / излаза користећи ТРИС регистар.

Постоје команде за овај тип:

ТРИСА = 0; // Сви игли порта А су постављени као излази
ТРИСБ = 0кфф; // Сви пинови прикључка Б су додељени као улази
ТРИСА0 = 1; // Дакле, засебни пин је додељен као улаз (1) или излаз (0)
ТРИСА5 = 1// овде је 5. излаз порта А додељен као улаз

Уопштено, радни модуси, укључивање ВДТ-а (тајмера чувара), избор такт извора микроконтролера итд. Конфигуришу се помоћу посебних регистара - СФР, а меморија и подаци се чувају у ГФР - једноставним речима, ово је статична РАМ-а.

У службеном листу података на страницама 18-21 наћи ћете 4 меморијске банке за посебне намјене регистара СФР и регистар опће намјене ГФР. Познавање регистара је важно, зато исписујте и учите наведене странице Датасхеет.

Ради практичности, ове табеле су представљене у облику слика испод (бројање регистара, као и све у дигиталној електроници, почиње од 0, па је четврти број 3).

Регистри посебне намјене
Регистри посебне намјене
Регистри посебне намјене
Регистри посебне намјене

Како се повезати и на ком језику програмирати?

Да бисте покренули овај микроконтролер, довољно је да примените плус на Вдд, а минус на Всс. Ако вам треба кварцни резонатор, онда је повезан на пинове 16 и 15 (ОСЦ1 и ОСЦ2) микроконтролера ПИЦ16ф628, за остале контролере са већим или мањим бројем игле - погледати у листу података. Али та се тачка мора навести током програмирања и фирмвера.

Када говоримо о преносивости и подударности пинова - на 16ф84А - слично је, и на многим другима.

Спајање кварцног резонатора

Уломак кола са спољним резонатором повезаним на пиц16ф628а:

Уломак круга са спољним резонатором повезаним на пиц16ф628а

Постоје два главна језика за програмирање ПИЦ микроконтролера - асемблер и Ц, постоје и други, на пример ПИЦБасиц, итд. И даље можете да истакнете поједностављени програмски језик ЈАЛ (само други језик).

На пример, испод је програм за „ЛЕД трептање“ - врста „Хелло Ворлд“ за ПИЦ микроконтролер у Ц.

Пример програма ПИЦ микроконтролера на Ц-у

У првом реду је повезана библиотека ПИЦ микроконтролера, затим библиотека програма кашњења.

У главној (воид) функцији почетни параметри се постављају на почетку, баш као што смо то радили у функцији Воид сетуп () - у чланцима о ардуину. Затим је у линијама 11-16 проглашена бесконачна петља (1) током које се извршава програм „ЛЕД трепери“.

На пример, стање лука је стално обрнуто, тј. ако је била на "0", прећи ће на "1" и обрнуто. У Ц за ПИЦ постоје следеће команде за управљање:

ПОРТА = 0; // преводи све игле порта А на низак ниво (лог 0)
ПОРТБ = 0кфф; // преводи све игле прикључка Б на високи ниво (лог 1)
РБ5 = 1; // Пети пин лука Б је висок

И изгледа да је исти програм, али већ на ЈАЛ језику превео сам на руски коментар коментаре програмера уграђених примера у ЈАЛедиту (развојно окружење).

Пример ЈАЛ програма

Постоји искушење да одаберете ЈАЛ, а може вам се чинити лакшим. Наравно, на њему можете реализовати било које пројекте, али са становишта користи за вас као стручњака то је бескористан језик. Остварићете значајно веће резултате проучавањем синтаксе и принципа програмирања на Ц-у (већина тренутно популарних језика сличних Ц) или је Ассемблер језик ниског нивоа који ће вам омогућити да разумете како уређај функционише и шта се у програму догађа у било ком тренутку.


Како радити

Ако кажете прилично генерализовани за рад са било којим микроконтролерима вам требају:

1. Уређивач текста.

2. Компајлер.

3. Програм за преузимање фирмвера на микроконтролер.

Цитао сам цак и старе удзбенике, где је аутор, радеци из ДОС-а, писао код, састављао и флексирао на разна средства. Сада за све популарне оперативне системе постоје развојна окружења, уско специјализована (за одређену породицу микроконтролера или породице једног произвођача) и универзална (или садрже све потребне алате или су повезана као додаци).

На пример, у низу чланака о Ардуину, погледали смо Ардуино ИДЕ, у њему смо написали код и уз његову помоћ „сипали“ фирмвер у „камен“. За микроконтролере ПИЦ постоје такви програми као што су:

  • МПАСМ - користи се за развој Мицрософтовог језика у Ассемблер-у;

  • МПЛАБ је такође Мицроцхип ИДЕ за ПИЦ контролере. Састоји се од много блокова за тестирање, провјеру, рад са кодом и компилирање програма и преузимање на микроконтролер. Постоји и верзија МПЛАБ Кс ИДЕ - одликује одличну функционалност и изграђена је на основу НетБеанс платформе;

  • МикроЦ је универзално окружење (не само за ПИК-ове) за развој. Као што назив говори, „изоштрен“ је за Ц програмирање, а постоје и програми попут МикроБасиц и МикроПасцал за одговарајуће језике;

  • ЈАЛедит - погодан за ЈАЛ језик који смо горе споменули;

  • И низ других мање познатих.

МПЛАБ ИДЕ

Како трептати микроконтролер?

Постоји велики број програмера за ПИЦ микронотролере. Званично се сматра ПИЦкит. Њихове 4 верзије. Али, на пример, можете да блицујете и универзалан, на пример, ТЛ866 (подржава готово све што ће почетнику радиоаматерима можда требати, док је веома јефтино).

Програмери за ПИЦ Мицронотроллерс

Такође на мрежи постоји неколико различитих програмерских кола за ПИЦ-ове, оба за рад преко ЦОМ порта:

Програмско коло

Дакле, то је путем УСБ-а (у ствари такође ком, само преко претварача на ИЦ МАКС232).

Програмско коло

Закључак

ПИЦ16 микроконтролери су погодни за једноставне пројекте, као што су једноставна аутоматизација, волтметри, термометри и друге ситнице. Али то не значи да у овој породици не можете радити сложене и велике пројекте, дао сам пример зашто се они најчешће користе. За општу идеју, препоручујем вам да погледате неколико видео записа:

У једном чланку је бесмислено разматрати теме о томе како програмирати микроконтролере, без обзира у којој породици. Пошто је ово веома велика количина информација.

Погледајте и на електрохомепро.цом:

  • Врсте и распоред АВР микроконтролера
  • Програмирање микроконтролера за почетнике
  • Шта су микроконтролери - сврха, уређај, софтвер
  • Програмирани микроконтролери у ЈаваСцрипт-у: који одабрати, карактеристике ...
  • Методе за читање и управљање Ардуино И / О портовима

  •