Her elektronik mühendisi, elektronik şeyleri kırmayı ve içinde ne olduğunu keşfetmeyi sever. Geçenlerde bir LED TV açtım ve içinde ARM Chip buldum. ARM tabanlı mikrodenetleyiciler, çeşitli gömülü ürün ve sistem türlerinde yoğun olarak kullanılmaktadır. 8051, AVR ve PIC gibi diğer mikro denetleyicilerden güçlü ve üstün kılan birçok gelişmiş özellik içerirler. LPC2148, en yaygın kullanılan ARM tabanlı Mikrodenetleyiciden biridir, bu nedenle bir dizi LPC2148 öğretici ve proje oluşturacak ve gelecek makalelerde paylaşacağız. İşte LPC2148 ile Başlarken ve LED'i yanıp sönecek şekilde programlamayı kapsayan bu serideki ilk öğretici.
Bu eğitimde ARM7 Stick - LPC2148 hakkında bilgi sahibi olacağız ve Keil uVision ve Flash magic yazılımıyla nasıl programlanacağını öğreneceğiz. LPC2148'imizi bir LED'in yanıp sönmesi için programlayacağız.
ARM Mikrodenetleyici
Adım 17: Şimdi çıktı sekmesinin altında Hex dosyası oluştur'u işaretleyin ve ardından ' Tamam'ı tıklayın.
Adım 18: Şimdi OLUŞTUR simgesine tıklayın veya onaltılık dosya oluşturmak için F7'ye basın.
Adım 19: Şimdi hex dosyası oluşturuldu ve aşağıya not edebiliriz. Aşağıdaki görüntüde olduğu gibi, hex dosyası oluşturulduğunu gösterir.
Adım 20: Şimdi hex dosyasını ARM7 Stick'e flaş etme zamanı. Yani Flash Magic'i aç
Flash sihirli aracı yukarıdaki gibi görünür.
ARM LPC2148'in yanıp sönmesi için adımlar aşağıdadır:
- LPC2148'i seçin
- COM port numarasını Aygıt Yöneticisine göre verin (Benimki COM7 idi)
- Baud hızını 38400 olarak verin
- Osilatör 12 Mhz olarak
- "Aygıt yazılımı tarafından kullanılan blokları sil" seçeneğini işaretleyin
- Şimdi onaltılık dosya yolunu seçin
- Programladıktan sonra doğrula onay kutusunu işaretleyin.
- Ve BAŞLAT'a tıklayın
Saniyeler içinde başarıyla yanıp söndükten sonra, aşağıdaki resimde gösterildiği gibi altta Bitti (Yeşil Renkte) görünür.
Artık devre tahtasında o LED'in yanıp sönmeye başladığını görebilirsiniz.
Kodlama Açıklaması
LPC2148 ile yanıp sönen LED için tam kod aşağıda verilmiştir. Kod basittir ve kolayca anlaşılabilir.
Bu başlık dosyası, LPC214x serisi mikro denetleyiciler için tüm dosyaları içerir.
#Dahil etmek
Çıkışı P0.10'a bağladığımız için, IODIR yazmacını kullanır ve pin Port 0 Pin 10'u çıkış olarak yapar.
IO0DIR = (1 << 10);
Bu kayıt P0.10'u YÜKSEK konuma getirir ve LED'i AÇIK yapar.
IO0SET = (1 << 10);
Bu kayıt, P0.10'u DÜŞÜK'ten siler ve LED'i KAPAT
IO0CLR = (1 << 10);
Kodu sürekli olarak yürütmek için aşağıdaki ifadeler while döngüsünde mevcuttur
while (1) { IO0SET = (1 << 10); gecikme_ms (1000); IO0CLR = (1 << 10); gecikme_ms (1000); }
Functions delay_ms , SET ve CLR arasında LED'in 1 saniye aralıklarla yanıp sönmesi için bir gecikme süresi oluşturmak için kullanılır.
Bir tanıtım videosuyla birlikte eksiksiz kod aşağıda verilmiştir.