WinAVR Kurulumu

Bu bölümde Atmega8 işlemcisinin PB0 bacağına bağlanan bir LED'in 500 milisaniye aralıkla yanıp sönmesini sağlayan basit bir projeyi nasıl çalıştıracağımızı adım adım göreceğiz.

ADIM 1:

İlk olarak WinAVR'i bilgisayarınıza kurun. Disket resmine tıklayarak B0 portuna bağlı ledi yakıp söndüren LED projesini indirin. LED programı, Atmega8 için (dahili kristal 1Mhz) yazılmıştır ve adlı dosya ile bir Makefile'dan oluşur. Makefile ve make yardımcı programı bizi C derleyicisinin aldığı çok sayıda parametreyi yazmaktan kurtarır. Makefile'ın ilk satırlarına bakarsak, mikroişlemcinin ve kristal hızının burada tanımlandığını görürüz.

# MCU name
MCU = atmega8

# Processor frequency.
# This will define a symbol, F_CPU, in all source code files equal to the
# processor frequency. You can then use this symbol in your source code to
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
# automatically to create a 32-bit value in your source code.
# Typical values are:
# F_CPU = 1000000
# F_CPU = 1843200
# F_CPU = 2000000
# F_CPU = 3686400
# F_CPU = 4000000
# F_CPU = 7372800
# F_CPU = 8000000
# F_CPU = 11059200
# F_CPU = 14745600
# F_CPU = 16000000
# F_CPU = 18432000
# F_CPU = 20000000
F_CPU = 1000000

'#' işreti o satırı etkisiz kılar. Görüldüğü gibi, bu program Atmega8 için ve 1Mhz saat hızına göre derlenecektir (Atmega8'in fabrika ayarları 1Mhz ve dahili RC osilatörü kullanacak şekilde ayarlandığı için devreye kristal bağlamamıza gerek yoktur). Örneğin ilk parametreyi, MCU=Atmega16 ve ikinci parametreyi de F_CPU=4000000 yaparsınız, aynı program Atmega16 için ve 4Mhz hızına göre derlenecektir (Bu durumda program mikro işlemciye aktarılırken osilatör ile ilgili sigorta ayarlarının değiştirilmesi gerekir). Not: WinAVR, Make dosyalarını grafik bir arayüz ile daha kolay bir şekilde kullanmamızı sağlayan MFile isimli bir programcık ile birlikte gelir, MFile'ı Programlar / WinAvr menüsünden çalıştırabilirsiniz. Bu program bir metin dosyası olan Make dosyasını, parametreleri elle girmek yerine menülerden seçerek kolay bir şekilde oluşturmanızı sağlar. Sigorta ayarlarını yapmak için Sigorta Sihirbazını ullanabillirsiniz.

ADIM 2:

WinAVR ile gelen Programmer's Notepad'de yeni bir proje yaratın, indirdiğiniz (led.c ve Makefile) dosyalarını bu projeye ekleyin (Projenin adının üstüne gelip sağ tuşa basın ve Add Files'ı seçin). Daha sonra Tools menüsünden Make All'ı seçin, eğer herşeyi doğru yaptıysanız Output penceresinde aşağıdaki satırlarla biten uzun bir mesaj oluşacaktır.

Size after:
AVR Memory Usage
----------------
Device: atmega8
Program: 154 bytes (1.9% Full)
(.text + .data + .bootloader)
Data: 0 bytes (0.0% Full)
(.data + .bss + .noinit)
-------- end --------
> Process Exit Code: 0

Son mesajdaki 0 (sıfır) rakamı programın hatasız bir şekilde derlendiğini belirtir ve C dosyalarınızın bulunduğu klasörde led.hex isimli bir dosya oluşmuş demektir, işte bu dosyayı mikroişlemciye yükleyeceğiz. Burada anlatılanları Flash'da izlemek içi tıklayın.

ADIM 3:

Eğer her şeyi anlatıldığı gibi yaptıysanız, proje klasörünüzde led.hex uzantılı bir dosya oluştuğunu göreceksiniz. bu işlemcinin çalıştıracağı dosyadır. Bilgisayar için exe dosyası neyse, mikroişlemci için de hex odur. Bu dosyayı yaptığınız programlayıcı devre ile işlemci üzerine yüklemelisiniz. Benim sitemde anlatılan programlayıcılardan, piyasada satılan ticari programcılara kadar hangisini kullanırsanız kullanın yapılan iş bu led.hex dosyasını işlemcinin program hafızasına yüklemektir. Eğer yeni satın aldığınız bir işlemci kullanıyorsanız, işlemci fabrika ayarlarında olduğundan, yani dahili 1Mhz RC saate ayarlandığından, sigorta ayarları ile oynamalısınız. Eğer USBasp programlayıcısını kullanıyorsanız, konuyla ilgili görsel eğitici materyali ana sayfadaki Usb Programlayıcı linki altında izleyebilirsiniz.

ADIM 4:

Şu anda elinizde çalıştırılmaya hazır bir işlemci var, devreyi çalıştırmak için kristale ihtiyacımız yok çünkü hatırlarsanız Atmega8'in için de var olan ve 8Mhz hıza kadar ayarlanabilen osilatörü kullanıyoruz. Devreyi lehimlemektense bread-board üzerinde kurmak her zaman tercih edilmelidir. Bütün eklemeler ve ayarlar tamamlanıp devreye son şekli verildikten sonra devrenizi lehimlemenizi öneririm. İhtiyacımız olan malzemeleri sıralarsak: bir LED, bir 10 KOhm değerinde direnç (reset bacağı için pull-up direnci) ve bir 270 - 330 Ohm direnç (LED için). Devremizi şemadaki gibi kurmalıyız. LED'e bağlanan direnç LED'in çekeceği akımı sınırlamak içindir. Devreye 5 Volt vermeniz gerekir, devreye vereceğiniz votaj kesinlikle bu değeri geçmemelidir. Elektronikle hobi olarak uğraşanların 0-30V ve 0-3A ayarlı ve akım sınırlandırmalı laboratuar tipi bir güç kaynağı kullanmaları tavsiye ederim, bu tip adaptörlerle akımı önceden sınırlayıp kazayla devrelerinizin kavrulmasını engelleyebilirsiniz.

Proje Dosyaları

Proje Dosyaları