Katram elektronikas inženierim patīk lauzt elektronikas lietas un izpētīt, kas tajā atrodas. Nesen es atvēru LED televizoru un atradu tajā ARM Chip. ARM bāzes mikrokontrolleri tiek intensīvi izmantoti dažāda veida iegultos produktos un sistēmās. Tie ietver daudzas uzlabotas funkcijas, kas padara tās jaudīgas un pārākas par citiem mikrokontrolleriem, piemēram, 8051, AVR un PIC. LPC2148 ir viens no visbiežāk izmantotajiem mikrokontrolleriem, kuru pamatā ir ARM, tāpēc mēs izveidosim virkni LPC2148 apmācību un projektu un dalīsimies gaidāmajos rakstos. Šeit ir pirmā šīs sērijas apmācība, kas ietver darba sākšanu ar LPC2148 un ieprogrammē to, lai mirgot LED.
Tātad šajā apmācībā mēs uzzināsim par ARM7 Stick - LPC2148 un uzzināsim, kā to programmēt ar programmatūru Keil uVision un Flash magic. Mēs ieprogrammēsim mūsu LPC2148 mirgot LED.
ARM mikrokontrolleris
Solis 17: Tagad ar izejas cilnes atzīme radīt Hex failu , un pēc tam noklikšķiniet uz "OK"
18. solis: Tagad noklikšķiniet uz BUILD ikonas vai nospiediet F7, lai izveidotu hex failu.
19. solis: Tagad hex fails ir izveidots, un mēs to varam atzīmēt apakšā. Tāpat kā šis attēls zemāk, jo tas norāda, ka ir izveidots hex fails.
20. solis: Tagad ir pienācis laiks mirgot hex failu ARM7 Stick. Tātad atveriet Flash Magic
Flash burvju rīks parādās kā iepriekš.
Tālāk ir norādītas ARM LPC2148 mirgošanas darbības:
- Atlasiet LPC2148
- Norādiet COM porta numuru atbilstoši ierīču pārvaldniekam (mans bija COM7)
- Norādiet pārraides ātrumu kā 38400
- Oscilators kā 12 Mhz
- Atzīmējiet “Dzēst programmaparatūras izmantotos blokus”
- Tagad atlasiet hex faila ceļu
- Atzīmējiet izvēles rūtiņu Pārbaudīt pēc programmēšanas.
- Un noklikšķiniet uz Sākt
Pēc veiksmīgas mirgošanas sekundēs, Apakšā parādās Finished (zaļā krāsā), kā parādīts attēlā zemāk
Tagad jūs varat redzēt, ka šī LED sāk mirgot uz maizes dēļa
Kodēšana Paskaidrojums
Pilns kods mirgo LED ar LPC2148 ir norādīts zemāk. Kods ir vienkāršs un viegli saprotams.
Šajā galvenes failā ir iekļauti visi mikrokontrolleru sērijas LPC214x faili.
# iekļaut
Tā kā mēs esam savienojuši izvadi ar P0.10, tas izmanto IODIR reģistru un kā izvadi izveido tapu Port 0 Pin 10.
IO0DIR = (1 << 10);
Šajā reģistrā P0.10 tiek iestatīts uz HIGH, lai ieslēgtu LED.
IO0SET = (1 << 10);
Šis reģistrs notīra P0.10 līdz LOW, padarot LED izslēgtu
IO0CLR = (1 << 10);
Zemāk esošie paziņojumi ir atrodami while ciklā, lai kodu izpildītu nepārtraukti
kamēr (1) { IO0SET = (1 << 10); kavēšanās_ms (1000); IO0CLR = (1 << 10); kavēšanās_ms (1000); }
Funkcijas delay_ms tiek izmantotas, lai izveidotu aizkaves laiku starp SET un CLR, lai mirgot gaismas diode 1 sekundes intervālā.
Pilns kods ar demonstrācijas video ir norādīts zemāk.