Programlayıcı (Paralel Port)

Bu sitede ele alınacak olan Atmega serisi mikroişlemciler ISP (In System Programmable) özeliğine sahiptir, mikroişlemci devreden çıkarılmadan ve özel bir programlama cihazı kullanılmadan programlanabilir. Teorik olarak hiçbir devreye gerek olmasa da, pratikte hem devreyi hem de bilgisayarımızı korumak için 74HC244 entegre ile yapılmış bu basit programlayıcı gibi bir programlayıcı kullanmak zorunludur. Resim 1'de görülen şema SB-Projects web sitesinden alınmıştır. Bu devreyi bir 25 pini --> 9 pine çeviren paralel port çeviricisinin içine yerleştirebilirsiniz (Resim 2). Programlayıcının devrenize bağlamak için gereken kabloyu satın alabilir ya da kendiniz yapabilirsiniz. Yarım metre kadar 10'lu şerit kablonun iki ucuna crimp konektörleri şekilde görüldüğü gibi bir ağırlıkla ya da mengene ile sıkıştırarak takabilirsiniz (Resim 3).

Bağlantı

Programlayıcı devresinin uygulama devresiyle bağlantısının şu şekilde olduğundan emin olun:

Programlayıcı (Vdd) ---------------------> Uygulama Devresi (Vdd) (+5V)
Programlayıcı (GND) ---------------------> Uygulama Devresi (GND)
Programlayıcı (RESET) ---------------------> Uygulama Devresi (RESET) (PIN 1)
Programlayıcı (SCK) ---------------------> Uygulama Devresi (SCK) (PIN 19)
Programlayıcı (MOSI) ---------------------> Uygulama Devresi (MOSI) (PIN 18)
Programlayıcı (MISO) ---------------------> Uygulama Devresi (MISO) (PIN 17)

Bu bağlantıları yapıp devreye 5V verdikten sonra, PonyProg programını kullanarak derlediğimiz led.hex dosyasını mikroişlemciye aktarabiliriz.

Yazılım

PonyProg bedava ve çok kullanışlı bir programdır. Programı indirip kurduktan sonra Setup menüsünden kalibre etmeniz ve programlayıcıyı tanıtmanız gerekiyor. Artık biraz önce ürettiğimiz led.hex dosyasını PonyProg'da açıp, Command menüsünden Write Program (FLASH) komutuyla işlemciyi programlayabiliriz. Burada anlatılanları Flash'da izlemek içi tıklayın.

Sigorta ayarları ile ilgili olarak dikkat etmeniz gereken bir kaç şey var. Öncelikle her üzerinde çalıştığınız işlemcinin sigortalarını ve nasıl ayarlanmaları gerektiğini işlemcinin kitapçığından iyice öğrenmelisiniz. Eğer sigorta değişikliği yapmadıysanız, işlemciye sadece yazdığınız programı yükleyin, sigortaları her seferinde yazdırmayın. Sadece gerekli olduğunda sigortaları yazdırın, örneğin 4Mhz osilatör hızı için yazdığınız programı, 8 Mhz için derleyip çalıştırmak isterseniz, o zaman sigortalarda gerekli değişikliği yapın. Bunu bilgisayarınızın BIOS ayarlarına benzetebilirsiniz. Atmel işlemcilerin sigortalarının programlanmaları biraz kafa karıştırıcıdır. Öncelikle 1 programlanmamış, 0 (sıfır) ise programlanmış anlamına gelmektedir.

Sigorta

Table 9. Kalibreli Dahili RC Osilatör Çalışma Şekilleri
CKSEL3..0
Frekans (MHz)
0001(*)
1.0
0010
2.0
0011
4.0
0100
8.0
(*) Fabrika ayarı.

İşlemcinin kitapçığından dahili kristal için sigorta ayarları ile ilgili kısma bakalım: CKSEL3, CKSEL2 ve CKSEL1 programlanmalı (sıfır); CKSEL0 ise programlanmadan (bir) bırakılmalıdır. Şimdi PonyProg ile sigortaları Resm 4'deki gibi ayarlayıp işlemciye yazdırabiliriz. Görüldüğü gibi CKSEL3, CKSEL2 ve CKSEL seçilmiş; CKSEL0 ise boş bırakılmış. Bu Atmega'in fabrika ayarıdır, yanıp sönen led projesi için sigorta ayarlarını değiştirmeye gerek yoktur.

Test Sürüşü

Programlanan devreyi çalıştırmak için Resim 5'deki bağlantıları yapın ve devreye 5V verin. Eğer her şeyi doğru yaptıysanız, LED devamlı olarak 500ms aralıkla yanıp sönecektir. Dahili RC osilatörü kullandığımız için, devreye kristal bağlamaya gerek kalmadı. Dahili RC osilatör en çok 8Mhz'de çalışabilir. Daha hızlı ya da daha hassas zamanlamanın gerektiği sonraki projelerde kristalin devreye nasıl bağlanacağını ve işlemcinin sigorta ayarlarının nasıl yapılacağını öğreneceğiz.

Proje Dosyaları