ICSP ile Programlama

ICSP (In-Circuit Serial Programming) devre üzerinden programlamadır. Bu bize mikrochipi programlarken, kod atmak için microchipi her seferinde yerinden söküp takmak yerine sadece kablo yardımıyla devre üstünden program atmamıza yarar.



Elimdeki programlama cihazı K150 (Klon). Programlama yazılımı  microbrn. Aşağıda ICSP soketini görüyorsunuz. Her şeyi 16F628A işlemcisine göre anlattım. Eğer farklı bir işlemci için uygulamak istiyorsanız işlemcinin data sheet dosyasından  CLK, DAT, MCLR pinlerini araştırıp ona göre devrenizi kurun.

K150 (Klon) üstten görünüşü:


K150 (Klon) alttan görünüşü:


DEVRE ŞEMASI:


DİKKAT:
Şemanın sağ tarafında gördüğünüz 2 tane anahtar, pic'e flaş atarken o portlarda bağlı bir devre elemanı (LED, Röle,vb.) var ise onu devreden çıkarmak için. Yoksa hata alırsınız. 
Ayrıca işlemcinin 4 nolu bacağına giden hat üzerine de bir anahtar koymanızı tavsiye ederim. Bazı devrelerde 4.nolu bacağın +5v'a bağlanması gerekiyor. 4 nolu bacak +5v'a bağlı ilen işlemciye  icsp ile program yazamazsınız, microburn programı kilitleniyor. 

DENEME DEVRESİ ŞEMASI:


Ben devreyi denemek için yukarıdaki şemayı kurdum LED'lerle  izlemesi kolay oluyor.
microbrn programını çalıştıralım


File>Port sekmesinden doğru portu seçtiğimize emin olalım. 




Options>ICSP Mode 'a tıklayarak ICSP programlama modunu seçelim


ICSP moda geçtiğimizde program penceresininsağ tarafı ICSP bağlantı görünümüne dönüşür
Ayrıca pencerenin sağ alt tarafındaki Chip Selector'dan chip'imizin modelini seçelim.


Aşağıdaki gibi bir hata alırsanız:

 Fuses ayarlarından osilatör tipini doğru seçtiğinize emin olun.
IRCI= => iç osilatör



DEVRENİN KURULU HALİ:


MICROBURN ile PROGRAMLAMA (Hareketli Gif):




VİDEO:




Aşağıdaki hex kodlarını herhangi bir metin editörü ile .hex uzantısı ile kaydedip kullanabilirsiniz.

animated_led örnek dosyası HEX kodları:

:1000000000308A0019280000213084008313000882
:10001000031918280130F800F701F70B0D28F80B29
:100020000C284A30F700F70B13281628800B0A28F3
:10003000080003081F398300C830A00007309F0064
:100040008313003083168500860083120610861005
:1000500006118611061286120613861306148617D9
:100060002008A10004200610861386140617200815
:10007000A100042086100613061586162008A1008C
:10008000042006118612861506162008A1000420F9
:10009000861106122008A1000420061686152008E5
:1000A000A100042006128611861606152008A1005C
:1000B000042086120611061786142008A1000420C9
:1000C00006138610061486172008A1000420861344
:1000D00006102008A10004202008A1000420200808
:0800E000A10004202E2863009A
:02400E00183F59
:00000001FF
;PIC16F628A
;CRC=DB0A  CREATED="02-Mar-19 22:15"

kara_simsek örnek dosyası HEX kodları:

:10000000000000308A001928223084008313000881
:10001000031918280130F800F701F70B0D28F80B29
:100020000C284A30F700F70B13281628800B0A28F3
:10003000080003081F39830083168E1507308312CA
:100040009F00831300308316860086018312860189
:100050000130A100A0012008073C031C3B288316A7
:1000600086018312210886000310A10D3230A20000
:100070000420A00A2B288030A100A0012008053C04
:10008000031C4E280310A10C83168601831221083D
:1000900086003230A2000420A00A3E2828284F28DB
:02400E00183F59
:00000001FF
;PIC16F628A

;CRC=C1DD  CREATED="26-Şub-19 22:34"

blink  örnek dosyası HEX kodları:

:020000040000FA
:1000000007309F008316003086008500831285012B
:1000100086010514FA3010200510FA301020092846
:10002000A000C730A1000130A200A10B1828A20B2C
:080030001528A00B1128003473
:02400E00183D5B
:00000001FF


Kullanılan Programlar    : MPLAB IDE v8.15a
Kullanılan Programlayıcı: K150 PIC Programmer (Klon)











Yorumlar