Elke elektronica-ingenieur vindt het heerlijk om elektronica-dingen kapot te maken en te onderzoeken wat erin aanwezig is. Onlangs opende ik een LED-tv en vond er ARM-chip in. Op ARM gebaseerde microcontrollers worden veel gebruikt in verschillende soorten embedded producten en systemen. Ze bevatten veel geavanceerde functies die ze krachtig en superieur maken aan andere microcontrollers zoals 8051, AVR en PIC. LPC2148 is een van de meest gebruikte ARM-gebaseerde microcontrollers, dus we zullen een reeks LPC2148-tutorials en -projecten maken en delen in aankomende artikelen. Hier is de eerste tutorial in deze serie die gaat over Aan de slag met LPC2148 en het programmeren om LED te laten knipperen.
Dus in deze tutorial zullen we kennis maken met ARM7 Stick - LPC2148 en leren hoe we deze kunnen programmeren met software Keil uVision en Flash magic. We zullen onze LPC2148 programmeren om een LED te laten knipperen.
ARM-microcontroller
Stap 17: Vink nu onder het tabblad Uitvoer Hex-bestand aan en klik vervolgens op 'Ok'
Stap 18: Klik nu op het BUILD- pictogram of druk op F7 om een hex-bestand te maken.
Stap 19: Nu is het hex-bestand gemaakt en kunnen we het onderaan noteren. Zoals deze afbeelding hieronder, omdat het aangeeft dat hex-bestand is gemaakt.
Stap 20: Nu is het tijd om het hex-bestand naar ARM7 Stick te flashen. Dus open Flash Magic
De Flash Magic-tool verschijnt zoals hierboven.
Hieronder staan de stappen voor het knipperen van de ARM LPC2148:
- Selecteer de LPC2148
- Geef het COM-poortnummer volgens Device Manager (de mijne was COM7)
- Geef baudrate als 38400
- Oscillator als 12 Mhz
- Vink 'Blokken wissen die door firmware worden gebruikt' aan
- Selecteer nu het hex-bestandspad
- Schakel het selectievakje Verifiëren na programmeren in.
- En klik op START
Na binnen enkele seconden succesvol te hebben geflitst, verschijnt onderaan (in groene kleur), zoals in onderstaande afbeelding
Nu kun je zien dat die LED op het breadboard begint te knipperen
Codering Uitleg
De volledige code voor knipperende LED met LPC2148 wordt hieronder gegeven. Code is eenvoudig en kan gemakkelijk worden begrepen.
Dit headerbestand bevat alle bestanden voor de LPC214x-serie microcontrollers.
# omvatten
Omdat we de uitgang hebben aangesloten op P0.10, gebruikt deze het IODIR-register en maakt de pin Port 0 Pin 10 als output.
IO0DIR = (1 << 10);
Dit register stelt de P0.10 in op HOOG waardoor de LED AAN gaat.
IO0SET = (1 << 10);
Dit register wist de P0.10 naar LOW waardoor de LED UIT gaat
IO0CLR = (1 << 10);
De onderstaande instructies zijn aanwezig in de while- lus om de code continu uit te voeren
terwijl (1) { IO0SET = (1 << 10); delay_ms (1000); IO0CLR = (1 << 10); delay_ms (1000); }
Functies delay_ms wordt gebruikt om een vertragingstijd te creëren tussen SET en CLR om de LED te laten knipperen met een interval van 1 seconde.
Volledige code met een demonstratievideo wordt hieronder gegeven.