Varje elektronikingenjör älskar att bryta elektronik saker och utforska vad som finns i det. Nyligen öppnade jag en LED-TV och hittade ARM Chip inuti den. ARM-baserade mikrokontroller används starkt i olika typer av inbäddade produkter och system. De innehåller många avancerade funktioner som gör dem kraftfulla och överlägsna andra mikrokontroller som 8051, AVR och PIC. LPC2148 är en av de mest använda ARM-baserade mikrokontroller, så vi kommer att skapa en serie LPC2148-självstudier och projekt och dela i kommande artiklar. Här är den första guiden i denna serie som täcker Komma igång med LPC2148 och programmera den så att den blinkar LED.
Så i denna handledning kommer vi att lära känna ARM7 Stick - LPC2148 och lära oss hur man programmerar den med programvaran Keil uVision och Flash-magi. Vi kommer att programmera vår LPC2148 så att den blinkar en LED.
ARM-mikrokontroller
Steg 17: Markera nu skapa fliken Hex-fil under fliken Utgång och klicka sedan på "Ok"
Steg 18: Klicka nu på BYGG- ikonen eller tryck på F7 för att skapa hex-fil.
Steg 19: Nu skapas hex-filen och vi kan notera den längst ner. Som den här bilden nedan som det indikerar att hex-fil skapas.
Steg 20: Nu är det dags att blinka hex-filen till ARM7 Stick. Så öppna Flash Magic
Flash magiska verktyget visas som ovan.
Nedan följer stegen för att blinka ARM LPC2148:
- Välj LPC2148
- Ange COM-portnumret enligt Enhetshanteraren (Mine var COM7)
- Ge baudhastighet som 38400
- Oscillator som 12 MHz
- Markera ”Radera block som används av firmware”
- Välj nu hexfil-sökvägen
- Kryssa för verifiera efter programmering.
- Och klicka på START
Efter att ha blinkat på några sekunder, visas Färdig (i grön färg) längst ner som bilden visar nedan
Nu kan du se att LED-lampan börjar blinka på panelen
Kodning Förklaring
Komplett kod för blinkande LED med LPC2148 ges nedan. Koden är enkel och kan lätt förstås.
Denna rubrikfil innehåller alla filer för LPC214x-serien av mikrokontroller.
#omfatta
Eftersom vi har anslutit utgång till P0.10 använder den IODIR-registret och gör stift Port 0 Stift 10 som utgång.
IO0DIR = (1 << 10);
Detta register sätter P0.10 till HÖG som gör att LED lyser.
IO0SET = (1 << 10);
Detta register rensar P0.10 till LOW-lysdioden OFF
IO0CLR = (1 << 10);
Nedanstående uttalanden finns i while loop för att köra koden kontinuerligt
medan (1) { IO0SET = (1 << 10); delay_ms (1000); IO0CLR = (1 << 10); delay_ms (1000); }
Funktioner delay_ms används för att skapa en fördröjningstid mellan SET & CLR för att blinka lysdioden i intervallet 1 sekund.
Komplett kod med en demonstrationsvideo ges nedan.