Hver elektronikkingeniør elsker å bryte elektronikk ting og utforske hva som er tilstede i det. Nylig åpnet jeg en LED-TV og fant ARM Chip inni den. ARM-baserte mikrokontrollere brukes mye i forskjellige typer innebygde produkter og systemer. De har mange avanserte funksjoner som gjør dem kraftige og overlegne andre mikrokontrollere som 8051, AVR og PIC. LPC2148 er en av de mest brukte ARM-baserte mikrokontrollerne, så vi vil lage en serie LPC2148 opplæringsprogrammer og prosjekter og dele i kommende artikler. Her er den første opplæringen i denne serien som dekker Komme i gang med LPC2148 og programmere den til å blinke LED.
Så i denne opplæringen vil vi bli kjent med ARM7 Stick - LPC2148 og lære hvordan du programmerer den med programvaren Keil uVision og Flash-magi. Vi programmerer LPC2148 til å blinke en LED.
ARM Microcontroller
Trinn 17: Merk av for Opprett Hex-fil under utdatafanen, og klikk deretter 'Ok'
Trinn 18: Klikk nå på BYGG- ikonet eller trykk på F7 for å lage hex-fil.
Trinn 19: Nå er hex-filen opprettet, og vi kan notere den nederst. Som dette bildet nedenfor som det indikerer at hex-fil er opprettet.
Trinn 20: Nå er det på tide å blinke hex-filen til ARM7 Stick. Så åpne Flash Magic
Flash-magiske verktøy vises som ovenfor.
Nedenfor er trinnene for å blinke ARM LPC2148:
- Velg LPC2148
- Oppgi COM-portnummer i henhold til Enhetsbehandling (Mine var COM7)
- Gi baudrate som 38400
- Oscillator som 12 MHz
- Merk av for "Slett blokker som brukes av firmware"
- Velg nå hex-filbanen
- Kryss av for bekreft etter programmering.
- Og klikk på START
Etter å ha blinket på få sekunder, vises Ferdig (i grønn farge) nederst som vist på bildet nedenfor
Nå kan du se at LED-lampen begynner å blinke på brødplaten
Koding Forklaring
Fullstendig kode for blinkende LED med LPC2148 er gitt nedenfor. Koden er enkel og kan lett forstås.
Denne toppfilen inneholder alle filer for LPC214x-serien med mikrokontrollere.
#inkludere
Da vi har koblet utgang til P0.10, bruker den IODIR-registeret og lager pinnen Port 0 Pin 10 som utgang.
IO0DIR = (1 << 10);
Dette registeret setter P0.10 til HØY som gjør LED PÅ.
IO0SET = (1 << 10);
Dette registeret tømmer P0.10 til LAV som gjør LED av
IO0CLR = (1 << 10);
Uttalelsene nedenfor er til stede i mens loop for å utføre koden kontinuerlig
mens (1) { IO0SET = (1 << 10); delay_ms (1000); IO0CLR = (1 << 10); delay_ms (1000); }
Funksjoner delay_ms brukes til å lage en forsinkelsestid mellom SET & CLR for å blinke LED i intervallet på 1 sekund.
Komplett kode med en demonstrasjonsvideo er gitt nedenfor.