Weet over PIC-microcontrollers en de architectuur ervan met uitleg

Probeer Ons Instrument Voor Het Oplossen Van Problemen





PIC is een Perifere interface microcontroller die in het jaar 1993 werd ontwikkeld door de General Instruments Microcontrollers. Het wordt bestuurd door software en zo geprogrammeerd dat het verschillende taken uitvoert en een generatielijn bestuurt. PIC-microcontrollers worden gebruikt in verschillende nieuwe toepassingen zoals smartphones, audioaccessoires en geavanceerde medische apparaten.

PIC-microcontrollers

PIC-microcontrollers



Er zijn veel PIC's beschikbaar op de markt, variërend van PIC16F84 tot PIC16C84. Dit soort PIC's zijn betaalbare flash-PIC's. Microchip heeft onlangs flash-chips geïntroduceerd met verschillende typen, zoals 16F628, 16F877 en 18F452. De 16F877 kost twee keer de prijs van de oude 16F84, maar is acht keer zo groot als de codegrootte, met meer RAM en veel meer I / O-pinnen, een UART, A / D-converter en nog veel meer functies.


PIC Microcontrollers Architectuur

De PIC-microcontroller is gebaseerd op RISC-architectuur. De geheugenarchitectuur volgt het Harvard-patroon van afzonderlijke geheugens voor programma en data, met afzonderlijke bussen.



PIC-microcontroller-architectuur

PIC-microcontroller-architectuur

1. Geheugenstructuur

De PIC-architectuur bestaat uit twee geheugens: programmageheugen en datageheugen.

Programmageheugen: Dit is een geheugenruimte van 4K * 14. Het wordt gebruikt om 13-bits instructies of de programmacode op te slaan. De programmageheugengegevens worden benaderd door het programmatellerregister dat het adres van het programmageheugen bevat. Het adres 0000H wordt gebruikt als resetgeheugenruimte en 0004H wordt gebruikt als interruptgeheugenruimte.

Data geheugen: Het datageheugen bestaat uit 368 bytes RAM en 256 bytes EEPROM. De 368 bytes RAM bestaat uit meerdere banken. Elke bank bestaat uit registers voor algemene doeleinden en registers van speciale functies.


De speciale functieregisters bestaan ​​uit controleregisters om verschillende bewerkingen van de chipbronnen zoals timers, Analoog naar digitaal converters , Seriële poorten, I / O-poorten, enz. Bijvoorbeeld, het TRISA-register waarvan de bits kunnen worden gewijzigd om de invoer- of uitvoerbewerkingen van poort A te wijzigen.

De algemene registers bestaan ​​uit registers die worden gebruikt om tijdelijke gegevens en verwerkingsresultaten van de gegevens op te slaan. Deze registers voor algemene doeleinden zijn elk 8-bits registers.

Werkregister: Het bestaat uit een geheugenruimte waarin de operanden voor elke instructie worden opgeslagen. Het slaat ook de resultaten van elke uitvoering op.

Status Registreren: De bits van het statusregister geven de status aan van de ALU (rekenkundige logische eenheid) na elke uitvoering van de instructie. Het wordt ook gebruikt om een ​​van de 4 RAM-geheugenbanken te selecteren.

Bestandsselectieregister: Het fungeert als een verwijzing naar elk ander register voor algemene doeleinden. Het bestaat uit een registerbestandsadres en wordt gebruikt bij indirecte adressering.

Een ander algemeen register is het programmatellerregister, dat een 13-bits register is. De 5 bovenste bits worden gebruikt als PCLATH (Program Counter Latch) om onafhankelijk te functioneren als elk ander register, en de onderste 8 bits worden gebruikt als de programmatellerbits. De programmateller fungeert als een wijzer naar de instructies die zijn opgeslagen in het programmageheugen.

EEPROM: Het bestaat uit 256 bytes geheugenruimte. Het is een permanent geheugen zoals ROM, maar de inhoud ervan kan worden gewist en gewijzigd tijdens de werking van de microcontroller. De inhoud in EEPROM kan worden gelezen van of geschreven met behulp van speciale functieregisters zoals EECON1, EECON, enz.

2. I / O-poorten

De PIC16-serie bestaat uit vijf poorten, zoals poort A, poort B, poort C, poort D en poort E.

Poort A: Het is een 16-bits poort, die kan worden gebruikt als invoer- of uitvoerpoort op basis van de status van het TRISA-register.

Poort B: Het is een 8-bits poort, die zowel als invoer- als uitvoerpoort kan worden gebruikt. 4 van de bits, wanneer ze als invoer worden gebruikt, kunnen worden gewijzigd bij interruptsignalen.

Poort C: Het is een 8-bits poort waarvan de werking (invoer of uitvoer) wordt bepaald door de status van het TRISC-register.

Poort D: Het is een 8-bits poort, die behalve een I / O-poort is, fungeert als een slaafpoort voor verbinding met de microprocessor bus.

Poort E: Het is een 3-bits poort die de aanvullende functie van de stuursignalen naar de A / D-omzetter dient.

3. Timers

PIC-microcontrollers bestaan ​​uit 3 timers , waarvan de Timer 0 en Timer 2 8-bit timers zijn en de Time-1 een 16-bit timer, die ook als een teller

4. A / D-omzetter

De PIC Microcontroller bestaat uit 8-kanalen, 10-bit analoog naar digitaal converter. De werking van de A / D-omzetter wordt bestuurd door deze speciale functieregisters: ADCON0 en ADCON1. De onderste bits van de converter worden opgeslagen in ADRESL (8 bits) en de bovenste bits worden opgeslagen in het ADRESH-register. Het vereist een analoge referentiespanning van 5V voor zijn werking.

5. Oscillatoren

Oscillatoren worden gebruikt voor het genereren van timing. PIC-microcontrollers bestaan ​​uit externe oscillatoren zoals kristallen of RC-oscillatoren. In het geval van kristaloscillatoren is het kristal verbonden tussen twee oscillatorpennen, en de waarde van de condensator die op elke pen is aangesloten, bepaalt de werking van de oscillator. De verschillende modi zijn de energiebesparende modus, de kristalmodus en de hoge snelheidsmodus. In het geval van RC-oscillatoren, bepaalt de waarde van de weerstand en condensator de klokfrequentie. De klokfrequentie varieert van 30 kHz tot 4 MHz.

6. CCP-module:

Een CCP-module werkt in de volgende drie modi:

Opnamemodus: Deze modus legt het tijdstip van aankomst van een signaal vast, of met andere woorden, legt de waarde van de Timer1 vast wanneer de CCP-pin hoog wordt.

Vergelijkmodus: Het fungeert als een analoge comparator die een output genereert wanneer de waarde van timer1 een bepaalde referentiewaarde bereikt.

PWM-modus: Het zorgt voor pulsbreedte gemoduleerd output met een 10-bit resolutie en programmeerbare duty cycle.

Andere speciale randapparatuur zijn een Watchdog-timer die de microcontroller reset in geval van een softwarestoring en een Brownout-reset die de microcontroller reset in geval van stroomschommelingen en andere. Voor een beter begrip van deze PIC-microcontroller, geven we een praktisch project dat deze controller gebruikt voor zijn werking.

Straatlantaarn die brandt bij het detecteren van voertuigbewegingen

Deze Project voor LED-straatverlichting is ontworpen om de voertuigbeweging op de snelweg te detecteren om een ​​blok straatverlichting ervoor in te schakelen en om de achterlichten uit te schakelen om energie te besparen. In dit project wordt een PIC-microcontroller geprogrammeerd met behulp van ingebed C of assembleertaal.

Straatlantaarn die brandt bij het detecteren van voertuigbewegingen

Straatlantaarn die brandt bij het detecteren van voertuigbewegingen

Het voedingscircuit geeft stroom aan een heel circuit door de AC-netvoeding af te bouwen, te corrigeren, te filteren en te regelen. Als er geen voertuigen op de snelweg rijden, blijven alle lichten uit zodat stroom kan worden bespaard. De IR-sensoren worden aan weerszijden van de weg geplaatst terwijl ze de beweging van voertuigen detecteren en op hun beurt de opdrachten naar de microcontroller om de leds in of uit te schakelen. Een blok LED's gaat branden wanneer een voertuig er dichtbij komt en zodra het voertuig deze route verlaat, wordt de intensiteit laag of wordt volledig uitgeschakeld.

De PIC-microcontroller-projecten kan worden gebruikt in verschillende toepassingen, zoals randapparatuur voor videogames, audioaccessoires, enz. Afgezien hiervan, voor hulp bij projecten, kunt u contact met ons opnemen door in het commentaargedeelte te reageren.