- Gerekli malzemeler:
- Flash bellek:
- ICSP (Devre Seri Programlamada):
- Devre ve Donanım:
- MPLAB IPE kullanarak Kodu Yazma:
Önceki iki öğreticimizde MPLABX ve XC8 derleyicisini kullanarak PIC ile Nasıl Başlanır konusunu tartıştık, ayrıca PIC ile İlk LED Yanıp Sönen Programımızı yaptık ve simülasyonla doğruladık. Şimdi donanıma el atmanın zamanı geldi. Bu eğitimde , PIC kullanarak LED'i Yanıp Söndürmek için bir Perf Kart üzerinde küçük bir devre oluşturacağız. Programı PIC mikro denetleyicimize aktaracağız ve LED'in Yanıp Söndüğünü doğrulayacağız. PIC MCU'yu programlamak için MPLAB IPE kullanacağız.
Gerekli malzemeler:
Önceki eğitimimizde tartışıldığı gibi aşağıdaki materyallere ihtiyacımız olacak:
- PicKit 3
- PIC16F877A IC
- 40 - Pin IC tutucu
- Perf kurulu
- 20 MHz Kristal OSC
- Dişi ve Erkek Bergstick pimleri
- 33pf Kapasitör - 2Nos, 100uf ve 10uf kapak.
- 680 ohm, 10K ve 560ohm Direnç
- Her renkte LED
- 1 Lehimleme kiti
- IC 7805
- 12V adaptör
Bir Mikrodenetleyiciyi "Yakarsak" ne olur !!
Kodu bir MCU'ya yüklemek ve MCU içinde çalışmasını sağlamak olağan bir uygulamadır.
Bunu anlamak için programımıza bir göz atalım.
Gördüğümüz gibi bu kod C dilinde yazılmıştır ve MCU'muz için bir anlam ifade etmeyecektir. Derleyicimizin parçası burada devreye girer; Derleyici, bu kodu Makine tarafından okunabilir bir forma dönüştüren bir derleyicidir. Bu makine tarafından okunabilir forma HEX kodu denir, oluşturduğumuz her proje aşağıdaki dizinde yer alacak bir HEX koduna sahip olacaktır.
** Konumunuz ** \ Blink \ Blink.X \ dist \ default \ production \ Blink.X.production.hex
Bu HEX kodunun nasıl göründüğünü merak ediyorsanız, not defterini kullanarak açın. Blink programımız için HEX kodu aşağıdaki gibi görünecektir:
: 060000000A128A11FC2F18: 100FAA008316031386018312031386018312031324: 100FBA0086150D30F200AF30F100C130F000F00BB1: 100FCA00E42FF10BE42FF20BE42F0000831203133A: 100FDA0086110D30F200AF30F100C130F000F00B95: 100FEA00F42FF10BF42FF20BF42F0000DB2F830107: 060FFA000A128A11D52F36: 02400E007A3FF7: 00000001FF
Bunu nasıl okuyacağınıza ve anlayıp Assembly diline nasıl geri döndüreceğinize dair yollar vardır, ancak tamamen bu eğitimin kapsamı dışındadır. Yani, kısaca özetlemek gerekirse; HEX, kodlamamızın nihai yazılım çıktısıdır ve bu, MCU'yu yakmak için MPLAB IPE tarafından gönderilecektir.
Flash bellek:
HEX kodu Flash bellek denilen yerde MCU içine saklanır. Flash bellek, programımızın MCU içinde saklanacağı ve oradan yürütüleceği yerdir. Programı MPLABX'imizde derlediğimizde, Output konsolundaki bellek türü hakkında aşağıdaki bilgileri alırdık
Küçük bir LED yanıp sönen programı derlediğimiz için, bellek özeti, mevcut program alanının% 0,5'ini ve Veri alanının% 1,4'ünü tükettiğimizi gösteriyor.
PIC16F877 mikro denetleyicisinin belleği temel olarak 3 türe ayrılır:
Program Hafızası: Bu hafıza, biz onu yaktıktan sonra (yazdığımız) programı içerir. Bir hatırlatma olarak, Program Sayacı, program belleğinde depolanan komutları birbiri ardına yürütür. Çok küçük bir program yazdığımız için toplam alanın sadece% 0,5'ini kullandık. Bu, Geçici olmayan bir bellektir, saklanan verilerin güç kapatıldıktan sonra kaybolmayacağı anlamına gelir.
Veri Belleği: Bu, İzleme zamanlayıcısı, Brown out Reset vb. İçeren SFR (Özel Fonksiyon Kaydı) ve TRIS ve PORT'u içeren GPR (Genel Amaçlı Kayıt) gibi özel kayıtları içeren RAM bellek türüdür. Depolanan değişkenler Program sırasında Veri Hafızasında bulunan MCU'yu kapattıktan sonra silinir. Programda bildirilen herhangi bir değişken Veri belleğinin içinde olacaktır. Bu aynı zamanda geçici bir hafızadır.
Data EEPROM (Elektrikle Silinebilir Programlanabilir Salt Okunur Bellek): Yazılan programın yazdırılması sonucunda değişkenlerin saklanmasına izin veren bir bellek. Örneğin, içinde 5 değerini kaydetmek ve bunu EEPROM'da saklamak için bir "a" değişkenini atarsak, bu veriler Güç KAPALI olsa bile kaybolmaz. Bu Geçici olmayan bir hafızadır.
Program Belleği ve EEPROM uçucu olmayan belleklerdir ve Flash Bellek veya EEPROM olarak adlandırılır.
ICSP (Devre Seri Programlamada):
PIC16F877A'mızı, MCU'muzda bulunan ICSP seçeneğini kullanarak programlayacağız.
Şimdi, ICSP nedir?
ICSP, Proje panomuza yerleştirildikten sonra bile bir MCU programlamamıza yardımcı olan basit bir yoldur. MCU'yu programlamak için ayrı bir programcı panosuna sahip olmanıza gerek yoktur, tek ihtiyacımız olan PicKit3 programcısından panomuza aşağıdaki gibi 6 bağlantıdır:
1 |
VPP (veya MCLRn) |
Programlama moduna girmek için. |
2 |
Vcc |
Güç Pimi 11 veya 32 |
3 |
GND |
Zemin PIN 12 veya 31 |
4 |
PGD - Veri |
RB7. PİM40 |
5 |
PGC - Saat |
RB6. PIN 39 |
6 |
PGM - LVP etkinleştir |
RB3 / RB4. Zorunlu değil |
ICSP, tüm PIC paketleri için uygundur; tek ihtiyacımız olan bu beş pini (6. pim PGM isteğe bağlıdır) MCU'dan Pickit3'e aşağıdaki resimde gösterildiği gibi çıkarmaktır.
Devre ve Donanım:
Artık HEX kodumuz hazır ve ayrıca PicKit 3'ümüzü ICSP kullanarak PIC MCU'muza nasıl bağlayacağımızı da biliyoruz. Öyleyse devam edelim ve aşağıdaki şemalar yardımıyla devreyi lehimleyelim:
Yukarıdaki devrede, 5V çıkışını PIC MCU'ma ayarlamak için bir 7805 kullandım. Bu regülatör, 12V duvar tipi bir adaptör ile çalıştırılacaktır. KIRMIZI Led, PIC'e güç verilip verilmediğini belirtmek için kullanılır. J1 konektörü, ICSP programlaması için kullanılır. Pimler, yukarıdaki tabloda tartışıldığı gibi bağlanır.
İlk pin MCLR, varsayılan olarak bir 10k yardımı ile yüksek tutulmalıdır. Bu, MCU'nun sıfırlanmasını önleyecektir. MCU'yu sıfırlamak için, MCLR pimi, SW1 anahtarı yardımıyla yapılabilen toprağa tutulmalıdır.
LED, 560 ohm değerinde bir direnç aracılığıyla RB3 pinine bağlanır (Bkz. LED direnç hesaplayıcısı). Program yüklendikten sonra her şey yolundaysa bu LED programa göre yanıp sönmelidir. Tüm devre, üstteki resimde de görebileceğiniz gibi Perfboard üzerindeki tüm bileşenler lehimlenerek oluşturulmuştur.
MPLAB IPE kullanarak Kodu Yazma:
Kodu yazmak için aşağıdaki adımları izleyin:
- MPLAB IPE'yi başlatın.
- PicKit 3'ünüzün bir ucunu PC'nize ve diğer ucunu performans panosu üzerindeki ICSP pinlerinize bağlayın.
- Bağlan düğmesine tıklayarak PIC cihazınıza bağlanın.
- Blink HEX dosyasına göz atın ve Program'a tıklayın.
Her şey planlandığı gibi giderse, ekranda başarı mesajını almalısınız. Tam gösteri için aşağıdaki Kodu ve Videoyu kontrol edin ve herhangi bir şüpheniz varsa yorum bölümünü kullanın.
Teşekkür ederim!!!
Daha fazla LED ve bir anahtarla oynayacağımız Sonraki eğitimde buluşalım.