ATtiny2313 Programlama Rehberi: Gerekli Malzemeler, Yazılım ve HEX Yükleme

guclusat

Tanınmış Üye
Süper Moderatör

ATtiny2313 Mikrodenetleyici Programlama Rehberi​

1. ATtiny2313 Nedir?​

ATtiny2313, Atmel tarafından geliştirilen ve günümüzde Microchip ürün ailesinde yer alan, AVR mimarisine sahip 8 bitlik bir mikrodenetleyicidir. Küçük boyutlu olması ve temel kontrol uygulamalarında kullanılabilmesi sayesinde elektronik projelerinde tercih edilir.

ATtiny2313 ile LED kontrolü, röle sürme, butonla açma-kapama, sayaç devreleri, zamanlayıcılar, seri haberleşme ve çeşitli otomasyon uygulamaları gerçekleştirilebilir.

DIP-20 kılıflı modeli, delikli pertinaks veya breadboard üzerinde prototip hazırlamak isteyenler için kullanışlıdır.

2. ATtiny2313 Programlamak İçin Neler Gereklidir?​

Bir mikrodenetleyiciye program yüklemek için yalnızca bilgisayar yeterli değildir. Programın yazılması, makine koduna dönüştürülmesi ve işlemcinin belleğine aktarılması gerekir.

Gerekli temel bileşenler şunlardır:
  • ATtiny2313 mikrodenetleyici: Yazılımın çalışacağı entegre.
  • Bilgisayar: Program yazma, derleme ve yükleme işlemleri için.
  • Programlama yazılımı: Kaynak kodunu hazırlamak ve derlemek için.
  • Programlayıcı cihaz: Derlenmiş programı mikrodenetleyicinin belleğine aktarmak için.
  • Besleme kaynağı: Mikrodenetleyiciyi uygun gerilimle çalıştırmak için.
  • Bağlantı kabloları ve prototip kartı: Devreyi kurmak ve programlama bağlantılarını yapmak için.
İsteğe bağlı olarak LED, direnç, buton ve multimetre gibi malzemeler de ilk denemelerde kullanılabilir.

3. Hangi Programlayıcılar Kullanılabilir?​

ATtiny2313, ISP (In-System Programming) yöntemiyle programlanabilir. Bu yöntemde mikrodenetleyici devreden çıkarılmadan, uygun bağlantılar üzerinden belleğine yazılım yüklenebilir.

Yaygın seçenekler şunlardır:

USBasp: AVR mikrodenetleyiciler için kullanılan ekonomik bir USB programlayıcıdır. Uygun yazılımla birlikte ATtiny2313'e program yüklemek için kullanılabilir.

AVRISP uyumlu programlayıcılar: AVR ailesindeki mikrodenetleyicilerin programlanması için tasarlanmış diğer araçlardır. Kullanılan yazılımla uyumluluk kontrol edilmelidir.

Arduino tabanlı programlama: Uygun bağlantı ve yazılım yapılandırmasıyla Arduino Uno gibi bir kart, ISP programlayıcısı olarak kullanılabilir.

Programlayıcı seçerken bilgisayarın işletim sistemi, sürücü desteği ve kullanılacak yazılımla uyumluluk dikkate alınmalıdır.

4. ATtiny2313 Hangi Programlama Dilleriyle Programlanabilir?​

ATtiny2313 için farklı programlama yöntemleri kullanılabilir.

C dili​

C dili, mikrodenetleyici programlamada yaygın olarak kullanılır. Giriş ve çıkış pinleri, zamanlayıcılar, kesmeler ve seri haberleşme gibi özellikler C diliyle kontrol edilebilir.

AVR-GCC tabanlı araçlar veya uygun AVR desteği bulunan geliştirme ortamları kullanılabilir.

Assembly​

Assembly, mikrodenetleyicinin komutlarını daha düşük seviyede kontrol etmeye olanak sağlar. Bellek ve zamanlama üzerinde ayrıntılı kontrol gereken uygulamalarda tercih edilebilir. Ancak öğrenilmesi C diline göre daha zahmetli olabilir.

BASIC tabanlı diller​

BASIC benzeri diller, mikrodenetleyici programlamaya daha kolay bir başlangıç yapmak isteyenler için alternatif olabilir. Ancak her derleyici ATtiny2313'ü desteklemez. Kullanılacak derleyicinin cihaz desteği, komut yapısı ve oluşturduğu dosya biçimi kontrol edilmelidir.

5. Program Nasıl Yazılır?​

Programlama işlemi genellikle aşağıdaki aşamalardan oluşur:
  1. Kullanılacak mikrodenetleyici geliştirme ortamında seçilir.
  2. Yeni bir proje oluşturulur.
  3. Program kodu yazılır.
  4. Gerekli pin, zamanlama ve çevre birimi ayarları yapılır.
  5. Kod derlenerek mikrodenetleyicinin anlayabileceği makine koduna dönüştürülür.
  6. Derleme sonucunda genellikle HEX biçiminde bir dosya oluşturulur.
Örneğin, bir LED'i yakıp söndüren programda önce LED'in bağlı olduğu pin çıkış olarak yapılandırılır. Ardından pin lojik 1 ve lojik 0 seviyelerine getirilerek aralara gecikmeler eklenir.

Bu basit uygulama, mikrodenetleyicinin programlanmasını öğrenmek için uygun bir başlangıçtır.

6. HEX Dosyası Mikrodenetleyiciye Nasıl Yüklenir?​

Kaynak kodu doğrudan mikrodenetleyiciye gönderilmez. Önce derlenerek HEX dosyası oluşturulur. Ardından bu dosya, uygun programlama yazılımı ve donanım aracılığıyla mikrodenetleyicinin program belleğine aktarılır.

Genel işlem sırası şöyledir:

  1. Program kodu hazırlanır.
  2. Kod derlenir ve HEX dosyası oluşturulur.
  3. Programlayıcı bilgisayara bağlanır.
  4. Programlayıcının kabloları mikrodenetleyicinin ISP pinlerine bağlanır.
  5. Yazılım üzerinden doğru mikrodenetleyici modeli seçilir.
  6. HEX dosyası yüklenir ve yazma işlemi başlatılır.
  7. İşlem tamamlandıktan sonra mikrodenetleyici devresinin çalışması kontrol edilir.
Programlayıcının desteklemesi durumunda yazma sonrasında doğrulama (Verify) işlemi yapılarak belleğe aktarılan verinin dosyayla aynı olup olmadığı kontrol edilebilir.

7. ATtiny2313'ün ISP Bağlantıları​

DIP-20 kılıflı ATtiny2313 için temel ISP bağlantıları şunlardır:
  • Pin 1 – RESET: Programlama sırasında sıfırlama hattı.
  • Pin 17 – MOSI: Programlama verisinin mikrodenetleyiciye gönderildiği hat.
  • Pin 18 – MISO: Mikrodenetleyiciden programlayıcıya veri dönüş hattı.
  • Pin 19 – SCK: Seri programlama saat hattı.
  • Pin 20 – VCC: Pozitif besleme.
  • Pin 10 – GND: Toprak bağlantısı.
Bağlantı yapılırken entegre üzerindeki pin 1 işareti kontrol edilmeli ve programlayıcının pin sıralaması kendi dokümantasyonundan doğrulanmalıdır. Yanlış bağlantı, programlama hatalarına veya donanımın zarar görmesine neden olabilir.

8. İlk Deneme İçin Önerilen Proje​

ATtiny2313'ü öğrenmeye başlarken ilk olarak LED yakıp söndürme uygulaması yapılabilir.

Bu uygulamada:
  • Bir dijital pin çıkış olarak ayarlanır.
  • LED uygun seri direnç üzerinden bağlanır.
  • Program, LED'i belirli aralıklarla yakıp söndürür.
  • Programlayıcıyla HEX dosyası mikrodenetleyiciye yüklenir.
  • Devrenin beklenen şekilde çalıştığı kontrol edilir.
Bu işlem başarıyla tamamlandığında buton okuma, röle kontrolü, zamanlayıcı kullanımı ve seri haberleşme gibi daha gelişmiş uygulamalara geçilebilir.
 
Geri
Yukarı