Žinokite apie PIC mikrovaldiklius ir jų architektūrą su paaiškinimu

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





PIC yra a Periferinės sąsajos mikrovaldiklis kurį 1993 m. sukūrė „General Instruments“ mikrovaldikliai. Jis valdomas programine įranga ir užprogramuotas taip, kad atliktų skirtingas užduotis ir valdytų kartos liniją. PIC mikrovaldikliai naudojami įvairiose naujose programose, tokiose kaip išmanieji telefonai, garso priedai ir pažangūs medicinos prietaisai.

PIC mikrovaldikliai

PIC mikrovaldikliai



Rinkoje yra daug PIC, pradedant PIC16F84 ir PIC16C84. Šie PIC tipai yra prieinami „Flash PIC“. „Microchip“ neseniai pristatė skirtingų tipų „flash“ lustus, tokius kaip 16F628, 16F877 ir 18F452. 16F877 kainuoja dvigubai brangiau nei senasis 16F84, tačiau jis yra aštuonis kartus didesnis nei kodo dydis, jame yra daugiau RAM ir daug daugiau įvesties / išvesties kaiščių, UART, A / D keitiklis ir daug daugiau funkcijų.


PIC mikrovaldiklių architektūra

The PIC mikrovaldiklis remiasi RISC architektūra. Jos atminties architektūra atitinka Harvardo modelį - atskiros programos ir duomenų atmintys su atskiromis magistralėmis.



PIC mikrovaldiklio architektūra

PIC mikrovaldiklio architektūra

1. Atminties struktūra

PIC architektūrą sudaro dvi atmintys: programos atmintis ir duomenų atmintis.

Programos atmintis: Tai yra 4K * 14 atminties vieta. Jis naudojamas saugant 13 bitų instrukcijas arba programos kodą. Programos atminties duomenis pasiekia programos skaitiklio registras, kuriame yra programos atminties adresas. Adresas 0000H naudojamas kaip atstatoma atminties vieta, o 0004H - kaip pertraukiamoji atminties vieta.

Duomenų atmintis: Duomenų atmintį sudaro 368 baitai RAM ir 256 baitai EEPROM. 368 baitai RAM sudaro keli bankai. Kiekvieną banką sudaro bendrosios paskirties registrai ir specialiųjų funkcijų registrai.


Specialiųjų funkcijų registrai susideda iš valdymo registrų, skirtų valdyti įvairias lusto išteklių, tokių kaip „Timers“, operacijas. Analoginiai ir skaitmeniniai keitikliai , Nuoseklieji prievadai, įvesties / išvesties prievadai ir kt. Pavyzdžiui, TRISA registras, kurio bitus galima pakeisti, norint pakeisti A prievado įvesties ar išvesties operacijas.

Bendrosios paskirties registrus sudaro registrai, kurie naudojami laikiniems duomenims saugoti ir duomenų rezultatams apdoroti. Šie bendro naudojimo registrai yra 8 bitų registrai.

Darbinis registras: Jis susideda iš atminties vietos, kurioje saugomi kiekvienos instrukcijos operandai. Taip pat saugomi kiekvieno vykdymo rezultatai.

Būsenos registras: Būsenos registro bitai žymi ALU (aritmetinės logikos vieneto) būseną po kiekvieno nurodymo vykdymo. Jis taip pat naudojamas norint pasirinkti bet kurį iš 4 RAM bankų.

Failų pasirinkimo registras: Tai veikia kaip rodyklė į bet kurį kitą bendrosios paskirties registrą. Jį sudaro registro bylos adresas ir jis naudojamas netiesioginiam adresavimui.

Kitas bendrosios paskirties registras yra programų skaitiklių registras, kuris yra 13 bitų registras. 5 viršutiniai bitai naudojami kaip „PCLATH“ („Program Counter Latch“), kad veiktų nepriklausomai kaip bet kuris kitas registras, o apatiniai 8 bitai - kaip programos skaitikliai. Programos skaitiklis veikia kaip nurodymas į instrukcijas, saugomas programos atmintyje.

EEPROM: Ją sudaro 256 baitai atminties. Tai yra nuolatinė atmintis, tokia kaip ROM, tačiau jos turinį galima ištrinti ir pakeisti veikiant mikrovaldikliui. Turinį į EEPROM galima perskaityti arba įrašyti naudojant specialius funkcijų registrus, pvz., EECON1, EECON ir kt.

2. Įvesties / išvesties prievadai

PIC16 seriją sudaro penki uostai, tokie kaip A, B, C, C, D ir E.

Uostas A: Tai 16 bitų prievadas, kurį galima naudoti kaip įvesties arba išvesties prievadą, atsižvelgiant į TRISA registro būseną.

Uostas B: Tai yra 8 bitų prievadas, kurį galima naudoti ir kaip įvesties, ir išvesties prievadą. 4 jo bitus, kai jie naudojami kaip įvestis, galima pakeisti nutraukus signalus.

C prievadas: Tai yra 8 bitų prievadas, kurio veikimą (įvestį ar išvestį) lemia TRISC registro būsena.

D uostas: Tai yra 8 bitų prievadas, kuris, be įvesties / išvesties prievado, veikia kaip vergo prievadas prisijungimui prie mikroprocesorius autobusas.

E jungtis: Tai yra 3 bitų prievadas, kuris atlieka papildomą valdymo signalų funkciją į A / D keitiklį.

3. Laikmačiai

PIC mikrovaldiklius sudaro 3 laikmačiai , iš kurių „Timer 0“ ir „Timer 2“ yra 8 bitų laikmačiai, o „Time-1“ yra 16 bitų laikmatis, kuris taip pat gali būti naudojamas kaip skaitiklis .

4. A / D keitiklis

PIC mikrovaldiklį sudaro 8 kanalai, 10 bitų analoginis – skaitmeninis keitiklis. Operacija A / D keitiklis valdo šie specialūs funkcijų registrai: ADCON0 ir ADCON1. Apatiniai keitiklio bitai yra saugomi ADRESL (8 bitai), o viršutiniai - ADRESH registre. Jo veikimui reikalinga analoginė 5 V etaloninė įtampa.

5. Osciliatoriai

Osciliatoriai yra naudojami laiko generavimui. PIC mikrovaldiklius sudaro išoriniai osciliatoriai, tokie kaip kristalai, arba RC osciliatoriai. Kristalinių osciliatorių atveju kristalas yra sujungtas tarp dviejų osciliatoriaus kaiščių, o prie kiekvieno kaiščio prijungto kondensatoriaus vertė lemia osciliatoriaus veikimo būdą. Skirtingi režimai yra mažos galios režimas, krištolo režimas ir didelės spartos režimas. RC osciliatorių rezistoriaus ir kondensatoriaus vertė lemia laikrodžio dažnį. Laikrodžio dažnis svyruoja nuo 30 kHz iki 4 MHz.

6. Pagrindinės sandorio šalies modulis:

Pagrindinės sandorio šalies modulis veikia šiais trimis režimais:

Fotografavimo režimas: Šis režimas fiksuoja signalo atvykimo laiką arba, kitaip tariant, užfiksuoja „Timer1“ vertę, kai CCP kaištis pakyla aukštai.

Palyginti režimą: Jis veikia kaip analoginis lygintuvas, generuojantis išvestį, kai „timer1“ vertė pasiekia tam tikrą pamatinę vertę.

PWM režimas: Tai suteikia impulso plotis moduliuojamas išvestis su 10 bitų skiriamąja geba ir programuojamu darbo ciklu.

Kiti specialūs periferiniai įrenginiai yra „Watchdog“ laikmatis, kuris iš naujo nustato mikrovaldiklį, jei yra kokių nors programinės įrangos sutrikimų, ir „Brownout“ atstatymas, kuris atkuria mikrovaldiklį, jei yra elektros energijos svyravimų, ir kiti. Norėdami geriau suprasti šį PIC mikrovaldiklį, pateikiame vieną praktinį projektą, kuris naudoja šį valdiklį savo veikimui.

Gatvės šviesa, šviečianti aptikus transporto priemonės judėjimą

Tai LED gatvių šviesos valdymo projektas skirta aptikti transporto priemonės judėjimą greitkelyje, kad įjungtų gatvių žibintų bloką prieš jį, ir išjungtų galinius žibintus, kad būtų taupoma energija. Šiame projekte PIC mikrovaldiklio programavimas atliekamas naudojant įdėta C ar surinkimo kalba.

Gatvės šviesa, šviečianti aptikus transporto priemonės judėjimą

Gatvės šviesa, šviečianti aptikus transporto priemonės judėjimą

Maitinimo grandinė suteikia maitinimą visai grandinei, atsisakydama, taisydama, filtruodama ir reguliuodama kintamosios srovės maitinimą. Kai automagistralėje nėra transporto priemonių, visi žibintai lieka užgesinti, kad būtų galima taupyti energiją. IR jutikliai dedami į bet kurią kelio pusę, kai jie pajunta transporto priemonių judėjimą ir savo ruožtu siunčia komandas mikrovaldiklis įjungti arba išjungti šviesos diodus. Šviesos diodų blokas bus įjungtas, kai transporto priemonė artės prie jo ir transporto priemonei nuvažiavus nuo šio maršruto, intensyvumas taps mažas arba visiškai išjungtas.

The PIC mikrovaldiklių projektai gali būti naudojamos įvairiose programose, tokiose kaip vaizdo žaidimų išoriniai įrenginiai, garso priedai ir kt. Be to, dėl bet kokios pagalbos dėl bet kokių projektų galite susisiekti su mumis komentuodami komentarų skyriuje.