- PIC mikrokontrolleru arhitektūra un lietojumi:
- PIC mikrokontrollera izvēle mūsu apmācībām:
- Programmatūras izvēle mūsu apmācībām:
- Gatavošanās aparatūrai:
1980. gadā Intel izstrādāja pirmo mikrokontrolleru (8051) ar Hārvardas arhitektūru 8051, un kopš tā laika mikrokontrolleri radīja revolūciju elektronikā un iegultā rūpniecībā. Ar tehnoloģisko attīstību laika gaitā tagad mums ir daudz efektīvāku un mazjaudas mikrokontrolleru, piemēram, AVR, PIC, ARM. Šie mikrokontrolleri ir daudz spējīgāki un ērtāk lietojami, un tiem ir jaunākie sakaru protokoli, piemēram, USB, I2C, SPI, CAN utt. Pat Arduino un Raspberry Pi ir pilnībā mainījuši perspektīvu pret mikrokontrolleriem, un Raspberry Pi nav tikai mikrokontrolleris, bet tam ir viss dators iekšā.
Šī būs pirmā daļa no apmācību sērijas, kas vēl ir priekšā, kas jums palīdzēs apgūt PIC mikrokontrollerus. Ja esat no elektronikas vidus un vienmēr gribējāt sākt ar dažu mikrokontrolleru apgūšanu un nokļūt kodēšanas un veidošanas pasaulē, tad šī apmācību sērija būs jūsu pirmais solis, lai sāktu.
PIC mikrokontrolleris ir ļoti ērta izvēle, lai sāktu darbu ar mikrokontrolleru projektiem, jo tam ir lieliski atbalsta forumi un tas darbosies kā spēcīga bāze, lai balstītos uz visiem jūsu uzlabotajiem mikrokontrolleriem, kuri jums vēl jāmācās.
Šīs konsultācijas ir veiktas absolūtā vai starpproduktu Learners; mēs esam plānojuši sākt ar visvienkāršākajiem projektiem progresīvajiem. Mēs sagaidām, ka no izglītojamajiem nav nepieciešami priekšnoteikumi, jo mēs esam šeit, lai palīdzētu jums jebkurā līmenī. Katrā apmācībā būs teorētisks skaidrojums un simulācija, kam sekos praktiska apmācība. Šīs apmācības neietvers nevienu izstrādes dēli, mēs paši izveidosim shēmas, izmantojot perf dēli. Tāpēc rīkojieties un katru nedēļu veltiet laiku, lai jūs uzlabotu ar mikrokontrolleriem.
Tagad sāksim ar vienkāršu ievadu par PIC mikrokontrolleriem un dažiem programmatūras iestatījumiem, lai mūs palaistu mūsu nākamajā apmācībā. Pārbaudiet videoklipu beigās, lai instalētu un iestatītu MPLABX, XC8, Proteus un ātru PICkit 3 programmētāja noņemšanu.
PIC mikrokontrolleru arhitektūra un lietojumi:
PIC mikrokontrolleru ieviesa Microchip Technologies 1993. gadā. Sākotnēji šie PIC tika izstrādāti kā daļa no PDP (Programmed Data Processor) datoriem, un katra datora perifērijas ierīce tika saskarnēta, izmantojot šo PIC mikrokontrolleru. Tādējādi PIC iegūst nosaukumu kā perifērās saskarnes kontrolieris. Vēlāk mikroshēma ir izstrādājusi daudz PIC sērijas IC, kuras var izmantot jebkurai mazai lietojumprogrammai, piemēram, apgaismojuma lietojumprogrammai, līdz pat augstākajai.
Katrs mikrokontrolleris ir jāveido ap kādu arhitektūru, slavenākais arhitektūras veids ir Hārvardas arhitektūra, mūsu PIC ir balstīta uz šo arhitektūru, jo tā pieder klasiskajai 8051 saimei. Iesim nelielā ievadā par PIC Hārvardas arhitektūru.
PIC16F877A Microcontroller sastāv no iebūvētu CPU, I / O porti, atmiņas organizācija, A / D pārveidotāju, taimeri / skaitītāju, pārtrauc, sērijas komunikāciju, oscilatoru un ĶKP modulis, kas apkopotu padara IC spēcīgu mikrokontrolleru iesācējiem, lai sāktu ar. PIC arhitektūras vispārīgā blokshēma ir parādīta zemāk
Centrālais procesors (CPU):
Mikrokontrollerim ir CPU, lai veiktu aritmētiskās darbības, loģiskos lēmumus un ar atmiņu saistītās darbības. Procesoram ir jāsaskaņo operatīvā atmiņa un pārējie mikrokontrollera perifērijas aparāti.
Tas sastāv no ALU (aritmētiskās loģikas vienības), izmantojot kuru tas veic aritmētiskās darbības un loģiskos lēmumus. Ir pieejams arī MU (atmiņas bloks), lai saglabātu instrukcijas pēc to izpildīšanas. Šis MU izlemj mūsu MC programmas lielumu. Tas sastāv arī no CU (vadības bloks), kas darbojas kā komunikācijas kopne starp CPU un citām mikrokontrollera perifērijām. Tas palīdz iegūt datus pēc tam, kad tie tiek apstrādāti norādītajos reģistros.
Brīvpiekļuves atmiņa (RAM):
Brīvpiekļuves atmiņa ir tā, kas nosaka mūsu mikrokontrollera ātrumu. RAM sastāv no tajā esošajām reģistru bankām, kurām katrai tiek piešķirts noteikts uzdevums. Kopumā tos var iedalīt divos veidos:
- Vispārējas nozīmes reģistrs (GPR)
- Īpašo funkciju reģistrs (SFR)
Kā norāda nosaukums, GPR tiek izmantotas vispārējām reģistra funkcijām, piemēram, saskaitīšanai, atņemšanai utt. Šīs darbības ir ierobežotas 8 bitu robežās. Visi GPR reģistri ir lietotāja rakstāmi un lasāmi. Viņiem pašiem nav nekādu funkciju, ja vien tā nav norādīta programmatūra.
Kaut arī SFR tiek izmantots sarežģītu īpašu funkciju veikšanai, kas ietver arī dažas 16 bitu apstrādes, to reģistrus var lasīt tikai (R), un mēs viņiem neko nevaram rakstīt (W). Tātad šiem reģistriem ir jāveic iepriekš noteiktas funkcijas, kas jāveic, kas ir iestatītas ražošanas laikā, un tie mums vienkārši parāda rezultātu, izmantojot kuru mēs varam veikt dažas saistītas darbības.
Tikai lasāma atmiņa (ROM):
Tikai lasāma atmiņa ir vieta, kur tiek glabāta mūsu programma. Tas nosaka mūsu programmas maksimālo lielumu; tāpēc to sauc arī par programmas atmiņu. Kad MCU darbojas, ROM saglabātā programma tiek izpildīta atbilstoši katram instrukciju ciklam. Šo atmiņas vienību var izmantot tikai programmējot PIC, izpildes laikā tā kļūst par lasāmatmiņu.
Elektriski izdzēšama programmējama tikai lasāma atmiņa (EEPROM):
EEPROM ir vēl viens atmiņas vienību veids. Šajā atmiņas vienībā vērtības var saglabāt programmas izpildes laikā. Šeit saglabātās vērtības ir tikai elektriski izdzēšamas, tas ir, šīs vērtības tiks saglabātas PIC pat tad, kad IC ir izslēgts. Tos var izmantot kā nelielu atmiņas vietu izpildīto vērtību glabāšanai; tomēr atmiņas vietas KB pagriezienos būs ļoti maz.
Zibatmiņa :
Zibatmiņa ir arī programmējama lasāmatmiņa (PROM), kurā mēs varam lasīt, rakstīt un dzēst programmu tūkstošiem reižu. Parasti PIC mikrokontrolleris izmanto šāda veida ROM.
I / O porti
- Mūsu PIC16F877A sastāv no piecām ostām, proti, A osta, B osta, C osta, D osta un E osta.
- No visiem pieciem ostām tikai A ports ir 16 bitu, bet E ports - 3 bitu. Pārējie ostas ir 8 bitu.
- Šo PORTS tapas var izmantot kā ieeju vai izvadi, pamatojoties uz TRIS reģistra konfigurāciju.
- Papildus I / O darbību veikšanai, tapas var izmantot arī īpašām funkcijām, piemēram, SPI, Interrupt, PWM utt.
Autobuss:
Termins Autobuss ir tikai virkne vadu, kas savieno ievades vai izvades ierīci ar CPU un RAM.
Datu kopne tiek izmantota datu pārsūtīšanai vai saņemšanai.
Adrešu kopni izmanto atmiņas adreses pārsūtīšanai no perifērijas ierīcēm uz centrālo procesoru. I / O tapas tiek izmantotas ārējo perifērijas ierīču saskarnei; Abi UART un USART sērijveida sakaru protokoli tiek izmantoti, lai savienotu seriālas ierīces, piemēram, GSM, GPS, Bluetooth, IR utt.
PIC mikrokontrollera izvēle mūsu apmācībām:
Microchip Company PIC mikrokontrolleri ir sadalīti 4 lielās ģimenēs. Katrai ģimenei ir dažādas sastāvdaļas, kas nodrošina iebūvētas īpašas funkcijas:
- Pirmo ģimeni, PIC10 (10FXXX), sauc par Low End.
- Otro ģimeni, PIC12 (PIC12FXXX), sauc par Vidējas klases.
- Trešā ģimene ir PIC16 (16FXXX).
- Ceturtā ģimene ir PIC 17/18 (18FXXX)
Tā kā mēs sākam uzzināt par PIC, izvēlieties IC, kas tiek izmantots un pieejams visā pasaulē. Šis IC pieder pie 16F saimes, IC daļas numurs ir PIC16F877A. Kopš pirmās apmācības līdz beigām mēs izmantosim to pašu IC, jo šis IC ir aprīkots ar visām papildu funkcijām, piemēram, SPI, I2C un UART utt. Bet, ja jūs tagad nesaņemat nevienu no šīm lietām, tas ir pilnīgi labi, mēs veiciet progresu katrā apmācībā un beidzot izmantojat visas iepriekš minētās funkcijas.
Kad IC ir atlasīts, ir ļoti svarīgi izlasīt IC datu lapu. Tam vajadzētu būt pirmajam solim jebkurā koncepcijā, kuru mēs gatavojamies izmēģināt. Tā kā mēs esam izvēlējušies šo PIC16F877A, datu lapā varat izlasīt šīs IC specifikācijas.
Perifērajā funkcijā minēts, ka tam ir 3 taimeri, no kuriem divi ir 8 bitu, bet viens ir 16 bitu preskaler. Šie taimeri tiek izmantoti, lai mūsu programmā izveidotu laika funkcijas. Tos var izmantot arī kā letes. Tas arī parāda, ka tam ir CCP (Capture Compare un PWM) iespējas, kas mums palīdz ģenerēt PWM signālus un nolasīt ienākošos frekvences signālus. Saziņai ar ārēju ierīci tai ir SPI, I2C, PSP un USART. Drošības nolūkos tas ir aprīkots ar Brown-out Reset (BOR), kas palīdz atiestatīt programmu while.
Analogās funkcijas norāda, ka IC ir 10 bitu 8 kanālu ADC. Tas nozīmē, ka mūsu IC var pārveidot analogās vērtības ciparu formātā ar 10 bitu izšķirtspēju, un to lasīšanai ir 8 analogās tapas. Mums ir arī divi iekšējie salīdzinātāji, kurus var izmantot, lai tieši salīdzinātu ienākošo spriegumu, tos faktiski neizlasot, izmantojot programmatūru.
Speciālie mikrokontrolleru līdzekļi nozīmē, ka tam ir 100 000 dzēšanas / rakstīšanas cikls, kas nozīmē , ka jūs varat to ieprogrammēt apmēram 100 000 reizes. In-Circuit Serial Programming ™ (ICSP ™) palīdz mums tieši ieprogrammēt IC, izmantojot PICKIT3. Atkļūdošanu var veikt, izmantojot cilnes atkļūdošanu (ICD). Vēl viena drošības funkcija ir Watchdog taimeris (WDT), kas ir pašpietiekams taimeris, kas, ja nepieciešams, atiestata visu programmu.
Zemāk redzamais attēls attēlo mūsu PIC16F877A IC pinouts. Šis attēls attēlo katru piespraudi pret tā vārdu un citiem elementiem. To var atrast arī datu lapā. Saglabājiet šo attēlu parocīgu, jo tas mums palīdzēs aparatūras darbu laikā.
Programmatūras izvēle mūsu apmācībām:
PIC mikrokontrolleru var ieprogrammēt ar dažādām tirgū pieejamām programmatūrām. Ir cilvēki, kuri joprojām izmanto Asamblejas valodu, lai programmētu PIC MCU. Mūsu apmācībām mēs esam izvēlējušies vismodernāko programmatūru un kompilatoru, ko izstrādājusi pati Microchip.
Lai ieprogrammētu PIC mikrokontrolleru, mums būs nepieciešama IDE (Integrated Development Environment), kur notiek programmēšana. Kompilators, kur mūsu programma tiek pārveidota par MCU lasāmā formā sauc heksadecimāliem failus. IPE (Integrētā programmēšanas vide), kas tiek izmantota, lai dump mūsu hex failu mūsu PIC MCUs.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Sastādītājs: XC8
Mikroshēma ir devusi visu šo trīs programmatūru bez maksas. Tos var lejupielādēt tieši no viņu oficiālās lapas. Esmu norādījis arī saiti jūsu ērtībai. Pēc lejupielādes instalējiet tos savā datorā. Ja jums rodas kādas problēmas, varat apskatīt beigās sniegto videoklipu.
Simulācijas vajadzībām mēs esam izmantojuši programmatūru ar nosaukumu PROTEUS 8, ko nodrošina Labcenter. Šo programmatūru var izmantot, lai simulētu mūsu kodu, kas ģenerēts, izmantojot MPLABX. Ir bezmaksas demonstrācijas programmatūra, kuru var lejupielādēt no viņu oficiālās lapas, izmantojot saiti.
Gatavošanās aparatūrai:
Visas mūsu apmācības beigsies ar aparatūru. Lai PIC uzzinātu pēc iespējas labāk, vienmēr ieteicams pārbaudīt mūsu kodus un shēmas aparatūrā, jo simulācijas uzticamība ir ļoti mazāka. Kodi, kas darbojas simulācijas programmatūrā, var nedarboties, kā jūs to domājāt aparatūrā. Tāpēc mēs veidosim savas shēmas uz Perf plāksnēm, lai izlaistu mūsu kodus.
Dump vai augšupielādēt savu kodu PIC, mums būs nepieciešama PICkit 3. PICkit 3 programmētājs / atkļūdotājs ir vienkārša, zemas izmaksas, ķēdes atkļūdotājs, kas tiek kontrolēta ar datoru darbojas MPLAB IDE (v8.20 vai lielāks) programmatūru Windows platforma. PICkit 3 programmētājs / atkļūdotājs ir neatņemama daļa no attīstības inženiera rīku komplektu. Papildus tam mums būs nepieciešama arī cita aparatūra, piemēram, Perf plate, Lodēšanas stacija, PIC IC, Crystal oscilatori, kondensatori utt. Bet mēs tos pievienosim savam sarakstam, kad virzīsimies caur mūsu apmācībām.
Es atvedu savu PICkit 3 no amazon, tā paša unboxing video var atrast zemāk esošajā video. Tiek sniegta arī saite uz PICKIT3; cena var būt nedaudz augsta, bet ticiet man, ka ir vērts ieguldīt.