Bu çalışmada bir önceki makalede bahsedilen yapı ve bit alanı özellikleri kullanılarak basit bir port kütüphanesi gerçekleştirilecek ve çalışma prensibi anlatılacaktır. Bu örnekte sadece B portunun yazmaçları üzerinden uygulama yapsak da bunu bütün bir...
Mikrodenetleyiciler üzerinde çalışırken STM32 için HAL, AVR için Arduino, genel olarak ARM mikrodenetleyiciler için mbed örneklerinde olduğu gibi bir programlama arayüzü ile bazı işlerin hazır fonksiyonlarla gerçekleştirildiğini görebilirsiniz. Bir de bunun yanında bare-metal adı...
AVR mikrodenetleyiciler dendiğinde akla ATtiny ve ATmega serisi gelmektedir. Fakat bunlardan başka bir dönem 32-bit AVR mikrodenetleyiciler üretildiği gibi mikrodenetleyici ve FPGA biriminin beraber olduğu entegreler de üretilmiştir. Fakat şu an pazarda olan en...
AVR mikrodenetleyici ailesi arasında en popüler modellerden biri de ATmega2560 mikrodenetleyicisidir. Bunun popüler olmasının bir sebebi de Arduino Mega kartında kullanılmasından dolayıdır. Yine de ATmega ailesi içinde en gelişmiş mikrodenetleyicilerden biri olduğu için uygulama...
AVR mikrodenetleyicilerin büyük bir kısmında iki adet 8-bit zamanlayıcı ve bir adet 16-bit zamanlayıcı bulunur. Zamanlayıcıların zamanlama işlemi yapması yanında frekans üretme, frekans okuma ve sinyal genişliği okuma gibi işlevleri vardır. Frekans üretme başlığı...
Atmega328P mikrodenetleyicisinin teknik veri sayfasına baktığımızda ADC bölümünde sıcaklık algılayıcısından bahsedildiğini görürüz. AVR hakkında pek bilinmeyen ayrıntılardan biri olarak bu dahili sıcaklık algılayıcısını zikredebiliriz. Bunu konu edinmemizin sebebi de mikrodenetleyiciye dijital giriş ve çıkış...
Mikrodenetleyiciyi açıklarken program sayacından (PC) bahsetmiştik. Bu program sayacı sıfırdan (0x0000) başlayıp 0x3FFF’e kadar her komut işlendiğinde birer birer artıyor ve adreslediği hafızadaki makine kodunu mikroişlemci okuyup çalışmaya devam ediyordu. Bu durumda aynı kodu...
Assembly’de programlarken Assembler adı verilen çevirici programa ihtiyacımızın olduğunu söylemiştik. Bu program Atmel Studio ile beraber gelmektedir ve proje seçiminde projemizin C mi Assembly dilinde mi yazılacağına biz karar veririz. Assembly dilini seçtiğimizde artık...
Bu makalemizde temel Assembly komutlarından bazılarını anlatmaya devam edip sonrasında ise çevirici program direktiflerini anlatacağız. Bu anlattığımız komutların her birinin işlemci komutu olduğunu ve makine dilinde ayrı birer karşılıklarının olduğunu belirtelim. Makine dilindeki karşılıklarını...
Bu yazımızda önceden LDS ile başladığımız bellekten veri okuma ve yazma komutlarına STS, IN ve OUT komutlarıyla devam edeceğiz. Bu komutlar söz dizimi olarak önceden anlattığımız komutlara oldukça benzemektedir. Yalnız her komutun görevini ve...
AVR Assembly derslerimizin beşincisinde hafıza üzerinde işlem yapmaya başlayacağız. Hafıza birimlerini anlatırken AVR veri hafızasının GPR, SFR ve SRAM olarak üçe ayrıldığından bahsetmiştik. Genel Maksatlı Yazmaçlar, Özel Fonksiyon Yazmaçları ve SRAM için ayrı adresler...
Artık AVR Assembly programlamaya başlıyoruz. Bu noktaya gelmeden önce önceki 3 dersi muhakkak okumanız gerektiği gibi AVR mimarisi yazı dizisini de okumanız gereklidir. Aşağıdaki bağlantıdan bunları okuyabilirsiniz. http://www.lojikprob.com/embedded/atmel-avr-mimarisi-1-mikrodenetleyicilere-ve-avr-mimarisine-giris/ http://www.lojikprob.com/embedded/atmel-avr-mimarisi-2-avr-mikrodenetleyicilerinin-ic-yapisi/ http://www.lojikprob.com/embedded/atmel-avr-mimarisi-3-avr-mikroislemcisi-cpu/ Genel maksatlı yazmaçlardan önceden...
AVR Assembly öğrenirken genel maksatlı yazmaçlar ve hafıza birimlerinden başka en önemli konulardan biri de durum yazmacıdır. Aritmetik mantık ünitesinde (ALU) yapılan işlemler her zaman aynı sonucu vermez. Bu işlemlerin verdiği sonuçlar ise sadece...
AVR Assembly derslerimize kaldığımız yerden devam ediyoruz. Önceki dersimizde AVR Assembly programlamanın oldukça kolay ve anlaşılır olduğundan bahsetmiştik. Aslında bu kolaylık ve anlaşılırlık ancak donanım üzerinde bilgi sahibi olmakla mümkün olmaktadır. Eğer donanımdan bihaber...
C dilinde AVR programlama derslerimizde teorik olarak AVR Assembly dilini anlatacağımızı söylemiştik. AVR Assembly çok zor bir konu olmadığı için bu dilde programlama yapmasanız dahi mikrodenetleyici mimarisini ve bilgisayar bilimini anlamanız için bile olsa...
Yazmayı bitirdiğim C ile AVR Programlama derslerini PDF formatına dönüştürdüm. Böylelikle daha rahat okuma imkanınız olacak. Aşağıdaki bağlantıdan indirebilirsiniz. CileAVRProgramlama Bizi Facebook grubumuzda takip etmeyi unutmayın. Bilgili ve öğrenmeye hevesli bir topluluk oluşturmak istiyoruz....
AVR mimarisini anlattığımız yazı dizisinin üçüncü ve son yazısına AVR mikroişlemcisini anlatmakla başlıyoruz. Mikrodenetleyici ile mikroişlemci arasındaki farkı bu nokta geldiyseniz öğrenmiş olmanız gerekir. Yine de bunu kesinleştirmek için kısaca bahsedelim. Mikroişlemci fiziksel bir...
AVR derslerimizde bu mikrodenetleyicilerin iç yapısından sürekli bahsetmiş olsak da genel olarak gözden geçirdiğimiz bir yer olmadı. O yüzden bu yazıda AVR mimarisini öğrenmek için öncelikle mikrodenetleyicinin iç yapısını anlatmakla işe başlayacağız. Tabi ki...
C ile AVR programlama derslerimizi bitirdiğimize göre artık daha derin meselelere inebiliriz. Bu derin konulardan biri ise mikrodenetleyici mimarisidir. Diğer konumuz ise AVR Assembly dili olacaktır. AVR Assembly’i kullanmak üzere değil mantığını kavramak üzere...
Son Yorumlar