Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

Hoe PIC18 Microcontroller in C programmeren? Stap voor stap handleiding

Hoe een PIC18-microcontroller in C te programmeren. Stap voor stap zelfstudie (beeldweergaven)

Hoe programmeer je een microcontroller?

Programmeren van microcontrollers betekent het coderen van een microcontroller voor verschillende doeleinden in speciale software. Er is veel software waarin we verschillende codes voor microcontrollers en IC-chips kunnen schrijven. Hieronder bespreken we hoe je een microcontroller programmeert.

In deze tutorial zullen we een eenvoudige code programmeren of schrijven voor de PIC18-microcontroller in C, waarbij "C" een veelgebruikte computertaal is en het toevallig de enige ondersteunde taal is (afgezien van montage) op dit moment voor 8-bits en 16-bits PIC-microcontrollers.

  • 8 bit PIC:

PIC10, PIC12, PIC16, PIC18 zijn series van 8-bits MCU's.

  • 16 bit PIC:

PIC24, dsPIC30, dsPIC33 zijn de reeksen van 16-bits MCU's

  • 32 bit PIC:

PIC32 is de serie van 32-bits MCU's.

Hoe brand ik een gecodeerd programma op de microcontroller?

Het branden van een microcontroller betekent het overdragen van het gecodeerde programma van de compiler (waarbij compiler een software is waarmee we het gecodeerde programma voor een microcontroller kunnen schrijven, analyseren, testen en debuggen). het geheugen van de microcontroller.

De codering of het programma dat voor de microcontroller is geschreven, is over het algemeen in assembler/C-taal en de compiler genereert een hex-bestand dat begrijpelijk is voor de microcontroller. Het hex-bestand bevat speciale instructies die naar het geheugen van de microcontroller moeten worden overgebracht en werkt vervolgens volgens de gegeven instructie en het gegeven programma.

Als we een microcontroller hebben geprogrammeerd (we zullen de stapsgewijze zelfstudie bespreken over het programmeren en schrijven van de speciale codering voor een microcontroller), dan hebben we deze nodig om dit programma te branden naar het geheugen van de microcontroller.

Hiervoor hebben we hardware nodig die de inhoud en programmeercodes van het hex-bestand dat via software op onze laptop of pc is opgeslagen, begrijpt en leest. Dus we verbinden deze hardware via een USB-kabel of serieel met de pc/laptop en brengen de geschreven programmeercode over naar het geheugen van de microcontroller en vervolgens voert de microcontroller de exacte functie uit waarvoor de ontwerper en fabrikant de microcontroller-IC-chip hebben ontworpen.

  • Gerelateerde post:verschillende soorten microcontrollers

PIC18-microcontroller programmeren in C.

Microchip-technologie is de op één na grootste elektronica- en IC-fabricage-industrie. Microchip Technology verkoopt microcontrollers in 6-pins pakketten (PIC10F2xx-serie), 100-pins pakketten (dsPIC33EP512MU810) en zelfs 144-pins pakketten (sommige PIC32-apparaten). Er zijn ook veel eerdere series zoals PIC12, PIC16, PIC18.

Introductie van de doelcontroller:

We gaan hier de PIC18-serie bespreken. Een gemeenschappelijke microcontroller van deze serie is PIC18f452. Deze controller is een 8 bit microcontroller met 40 pinnen, 32kb programmageheugen en kan werken tot 40 MHz kristalfrequentie, dus deze controller is geschikt voor vele toepassingen.

Deze controller kan zinken en levert tot 25mA stroom, dus het is niet nodig om een ​​transistor te gebruiken om een ​​LED aan te sturen en deze aan te sluiten op andere hardware. Er zijn 3 externe interrupt-pinnen en twee 16-bits timers, een 8-bits timer. Deze controller is uitgerust met Capture-module en comparator-module. Deze controller heeft een analoge naar digitale converter, dus het is niet nodig om een ​​externe ADC op dit apparaat aan te sluiten.

Deze controller kan ook modules hebben voor communicatie met andere hardware zoals RS232-module, I2C-module, 1-draads module en parallelle slave-poort. Deze Microcontroller is het esthetisch ontworpen apparaat en geschikt voor zowel beginners, hobbyisten als professionals voor mini- en gecompliceerde elektronicaprojecten.

Introductie van de programmeeromgeving:

De programmeeromgeving die we gaan gebruiken is MikroC voor PIC. Deze IDE is volledig uitgerust met een reeks ingebouwde bibliotheken en een gebruiksvriendelijke interface. Deze geïntegreerde ontwikkelomgeving zit boordevol rekenmachines, zoals hex naar binair en decimale conversie, wat veel helpt bij het programmeren.

Deze softwaregrootte is ook erg klein in vergelijking met andere software, dus het is gemakkelijk te gebruiken en te installeren. De syntaxis van deze software is een beetje anders dan die van MPLAB-software, maar als ontwerper zal ik alle lezers aanraden om MikroC te gebruiken in plaats van MPLB, omdat de syntaxis heel gemakkelijk te lezen is en er veel ingebouwde bibliotheken zijn om te gebruiken.

Het zal de programmeertijd zeker verkorten en je hoeft de algemene functies niet helemaal opnieuw te bouwen, zoals vertraging, LCD lezen en schrijven, RS232-protocol en vele anderen.

Merk op dat MikroC geen gratis software is, terwijl de MPLAB X IDE en XC8 compiler van Microchip gratis zijn en veel gratis bibliotheken bieden.

Laten we beginnen met een voorbeeld.

Opmerking:er wordt aangenomen dat u de MikroC-programmeersoftware hebt gedownload en geïnstalleerd en dat we deze in C gaan programmeren en dat u ook basiskennis hebt van programmeren in C .

  • Gerelateerde post:wat is Arduino en hoe programmeer je het? Arduino-programmering

Nieuw project maken in MikroC:

Stap 1:

Dubbelklik op het MikroC-pictogram op uw bureaublad of waar u die software hebt geïnstalleerd (zoals hieronder weergegeven).

Nadat de software is geladen, ziet u dit venster.

Stap 2:
Ga nu naar de Project-knop in de rechterbovenhoek en klik op "Project".

Stap 3:

Klik nu op "Now Project" en het nieuwe onderstaande venster zal verschijnen.

Stap 4.

Klik nu op volgende en selecteer uw doel-MCU-kloksnelheid en projectnaam en map waar u het wilt opslaan.

Let daarna niet meer op de rest van de vensters en klik gewoon op volgende op alle resterende vensters die verschijnen.
Nu zal het onderstaande venster verschijnen. Dit is je programmeeromgeving. In dit venster moet je code schrijven en compileren.

Nu heb je de software ingesteld. De volgende stap is het schrijven van code.

  • Gerelateerde post:wat zijn ATMega-microcontrollers en hoe maak je er een LED-project mee?

Schrijfcode voor PIC18-microcontroller:

PIC18f452 wordt geleverd met 5 poorten. Vier poorten zijn 8 bits en één poort is 4 bits. In deze tutorial gaan we 8 bits poort gebruiken. Er zijn een paar dingen waar u rekening mee moet houden bij het schrijven van code voor PIC18. (Code staat hieronder )

Een poort maken als invoer of uitvoer:

Elke poort heeft een TRISX-register dat definieert dat je deze poort gebruikt voor de invoer of voor de uitvoer. Waar X kan zijn, A, B, C, D, E, F b.v. TRISB.

Voor output moet je 0x00 in TRISB zetten en voor input moet je 0xFF erin zetten. maar dit is niet altijd het geval omdat elke pin onafhankelijk kan worden geselecteerd als input of output. je zou 0x09 naar TRISB kunnen schrijven, die RB0 en RB3 zou selecteren voor inputs en de rest van de pinnen voor outputs.

Vertragingsfunctie:

In mikroC heb ik de delay-bibliotheek geselecteerd, dus ik hoef hier geen delay-functies te maken. Ik kan gewoon de functie Delay_ms() gebruiken. In deze functie moet je opgeven hoeveel mili seconden vertraging je wilt, als je 1000 mili seconden vertraging wilt, kun je het schrijven als Delay_ms(1000).

Haar e is de eerste eenvoudige schakel-POORT-bits-code.

void main() {
TRISB=0x00; // Defineind as Output
While(1) //Infinite loop
{
PORTB=0x00;
Delay_ms(500) ; //500 miliseconds delay
PORTB=0xFF;
Delay_ms(500) ;
}
}

Als je deze code daarna schrijft, moet je hem compileren.

Klik op deze knop "alles bouwen" code zal worden gecompileerd en hex zal worden gemaakt in de map waarin u uw projectbestand hebt opgeslagen.

Zodra de hex is gemaakt, kun je deze in je PIC18f452 branden met behulp van PICKIT-hardware of je kunt het testen met behulp van proteus.

Dat is alles over deze eerste tutorial; blijf op de hoogte voor aankomende berichten over het onderwerp.

Gerelateerde berichten:

  • Verschil tussen microprocessor en microcontroller
  • Verschil tussen 8085 & 8086 Microprocessor – Vergelijking
  • MAX232:constructie, bediening, typen en toepassing
  • RS232 seriële communicatieprotocol en hoe het werkt?
  • Clap Switch Circuit Elektronisch project met 555 Timer
  • 10+ ontwerp- en simulatietools voor elektrische/elektronische ingenieurs online
  • SMD-weerstandscodes:de waarde van SMD-weerstanden vinden

Industriële technologie

  1. Een elektrisch onderhoudsprogramma samenstellen
  2. Een betrouwbaarheidsprogramma starten
  3. Hoe implementeer je een leerwerktraject in de productie
  4. Een gids voor het maken van een onderhoudsprogramma voor apparatuur
  5. Hoe aluminium te lassen? - Een definitieve gids
  6. Hoe gietijzer te lassen:een complete gids
  7. Hoe aluminium te solderen - een complete gids
  8. Hoe aluminium te solderen - een technische gids
  9. Hoe koper te lassen - een technische gids
  10. Een elektrisch onderhoudsprogramma samenstellen
  11. Hoe een koppeling werkt:een complete gids