blog posts

Eksiksiz AVR Mikro denetleyici Programlama Kursu

Eksiksiz AVR Mikrodenetleyici Programlama Kursu

 

Öğrencilerin, araştırmacıların ve elektronik ve robotik alanlarına ilgi duyanların temel ve önemli ihtiyaçlarından biri, zamanlayıcılar ve saatler gibi çeşitli kontrol ve programlanabilir cihaz ve ekipmanların yanı sıra cihazların İnternet üzerinden kontrol edilebilmesi imkanının yaratılmasıdır. veya SMS ve kontrol sunucuları, bu amaçla kullanılan mikrodenetleyiciler AVR mikrodenetleyiciler, Atmel’in elektronik pazarına sunduğu yeni bir mikrodenetleyici türüdür.

AVR mikrodenetleyici, Atmel Studio gibi çeşitli derleyiciler kullanılarak programlanabilen, yaygın olarak kullanılan ve yaygın bir mikrodenetleyicidir. Bu yazıda AVR mikrodenetleyicinin uygulamalarını, nasıl programlanacağını ve AVR mikrodenetleyici kullanmanın faydalarını öğreneceğiz.

 

AVR mikrodenetleyicisinin özellikleri

AVR mikrodenetleyicilerin öne çıkan özellikleri arasında yüksek performans, yüksek hız ve düşük enerji tüketimi sayılabilir. Bu parçalar makine döngüsünü durdurabilir ve boru hattı işlemini saat döngüsüyle yürütebilir. AVR mikrodenetleyici komutlarının çoğu tek döngüdür. Birim çevrim, bir talimatın yürütülmesini ilerletebilir ve bir sonraki talimatın okunmasını tamamlayabilir. AVR mikrodenetleyicilerinde toplam 32 adet genel amaçlı kayıt vardır, ilk 16 kayıt (R0-R15) doğrudan ve anında çalıştırılamaz.

Bu arada, avr mikrodenetleyici, CPU‘da en yüksek performansa ve performansa sahiptir. Programlamasında küçük kodlar kullanılır. Bu yongalar yüksek oranda yükseltilebilir ve kendi kendini programlayan belleklerinin birçok kullanım alanı vardır. Ayrıca, bu mikrodenetleyici, flash bellek için en iyi MCU’ya sahiptir.

 

 

Avr mikrodenetleyici nasıl programlanır?

AVR mikrodenetleyicileri farklı diller ve farklı derleyicilerle programlanmıştır. Bu dillerden biri de bir programlama derleyicisi olan CodeVision yazılımındaki C dilidir. Diğer ünlü ve güvenilir derleyiciler arasında Atmel Studio, BASCOM, IAR, CodeVision AVR C Complier, Arduino IDE ve WinAVR bulunur. Avr mikrodenetleyici programlamayı C dilinde öğrenmeyi düşünüyorsanız bu bölümü eksiksiz takip edin.

 

 

C diline giriş

C, 1972 yılında Dennis Ritchie tarafından tasarlanmış basit ve güçlü bir programlama dilidir. Bu dil, programlama dilleri arasında orta seviye dillerden biridir. C dili, tekrarlama döngüleri (for ve while gibi) kullanılarak oldukça okunabilir bir programın yazılabileceği yapılandırılmış bir programlama dilidir.

 

 

C dilinin özellikleri

Bahsettiğimiz gibi C dili esnek ve güçlü bir programlama dilidir. C dili ile Assembly arasında yakın bir ilişki vardır. Bu programdaki anahtar kelime sayısı 30 olup diğer programlara göre daha azdır. C programlama dili büyük/küçük harfe duyarlıdır. Burada önemli olan bu dildeki tüm anahtar kelimelerin küçük harflerle yazılmasıdır. Örneğin, int bir anahtar kelimedir, ancak INT bir anahtar kelime değildir.

C dilindeki her komut “;” Bu programlama dilinde bir komutun maksimum uzunluğu 255 karakterdir. Her komut bir veya daha fazla satırda devam ettirilebilir. Her satıra birkaç komut yazılabilir. açıklamalar */ ile */ arasına yerleştirilebilir veya //’den sonra yazılabilir.

 

 

C dilinde veri türleri

C dilinde Short, Long, Signed ve Unsigned önekleriyle ilişkili dört veri türü vardır. Aşağıdakiler ayrıca farklı giriş karakterlerini C dilinde depolamak için kullanılır:

Char: Bu veri türü a, 2 ve x gibi karakterleri depolamak için kullanılır.
Lint for integers: -19 ve 14 gibi tamsayıları saklamak için kullanılır
Float: 3.14 ve 12.75 gibi ondalık sayıları saklamak için kullanılır
Double Büyük Ondalık Sayılar: Double, Float’tan daha büyük ondalık sayıları depolamak için kullanılır.

Bu bölümdeki bilgilerle AVR mikrodenetleyicisini ön programlamaya başlayabilir ve adım adım öğrenmenizi artırabilirsiniz. AVR mikrodenetleyici programlamayı daha iyi ve eksiksiz öğrenmeniz için size önerimiz ders dışı eğitim kullanmanızdır. Bu web sitesinde Atmel Studio, CodeVision ve Keil Compiler ile AVR mikrodenetleyici eğitimi eksiksiz olarak sizler için sunulmaktadır.

 

AVR mikrodenetleyici programlamanın avantajları

AVR mikrodenetleyicinizi seçmeyi planlıyorsanız ancak buna hala ikna olmadıysanız bu bölümün içeriğine dikkat etmenizde fayda var. Bu bölümde AVR mikrodenetleyici kullanmanın bazı önemli avantajları sizler için sıralanmıştır:

 

Fiyat doğru
Kullanım kolaylığı
kolayca bulunur
Yüksek hıza sahiptir
Programlaması kolaydır
Ayrıntılı ve kapsamlı veri sayfalarına sahiptir
Kurulumu kolaydır
Dahili hafızası vardır

 

Avr mikrodenetleyicinin kullanım alanları nelerdir?

AVR mikrodenetleyici programlama, güvenlik, tahrik ve eğlence sistemleri dahil olmak üzere çeşitli uygulamalarda kullanılmasına izin verir. Önde gelen AVR mikrodenetleyici derleyicilerinden biri olan Atmel, otomotiv uygulamalarında geliştiricilere yardımcı olmak için yakın zamanda yeni bir yayın olan Atmel Automotive Compilation’ı piyasaya sürdü. Bu mikrodenetleyicinin güncel uygulamalarından bazıları BMW ve TRW’de bulunmaktadır.

Çeşitli şirketler hobiciler, robot üreticileri, testçiler ve BasicX ve Oak Micros gibi küçük sistem geliştiricileri tarafından kullanılmak üzere avr mikrodenetleyici panoları üretmektedir. Schneider Electric, hareket uygulamalarında kullanım için bir Atmel AVR çekirdeğine ve gelişmiş bir hareket kontrol cihazına sahip olan M3000 motoru ve hareket kontrol çipini üretmek için bir AVR mikro denetleyici kullandı.

 

Çeşitli AVR mikrodenetleyici derleyicileri

AVR mikrodenetleyici programlaması için tüm dünyada farklı derleyiciler yayınlanmıştır.

 

 

1. Atmel Stüdyosu

Atmel Studio, AVR mikrodenetleyicilerini geliştirmek ve sorunlarını gidermek için kullanabileceğiniz entegre bir geliştirme platformu veya IDP’dir. Bu derleyici, dünyadaki en güçlü AVR derleyicilerinden biridir, ancak aynı zamanda diğer derleyicilerden daha karmaşıktır. Bu derleyici internetten ücretsiz olarak indirilebilir. AVR mikrodenetleyicilerine ek olarak, bu derleyici aynı zamanda ARM mikrodenetleyicilerini programlama yeteneğine de sahiptir. Aşağıdaki eğitimde, eksiksiz Atmel derleyici eğitimlerine erişebilirsiniz.

 

 

2. BASCOM Derleyici

Hollanda’da bulunan ve QBASIC dilini destekleyen bir MCS Electronics ürünüdür. Bu derleyicinin deneme sürümü şirketin resmi web sitesinden indirilebilir. Bu sürüm ile Atmega48 ve TinyAVR serisi gibi yongalar için çok uygun olan 4KB’ye kadar derleme yapmak mümkündür.

 

3. IAR Gömülü Çalışma Tezgahı AVR Derleyicisi

Anders Rondgren Engineering Company’nin kısaltmasıdır. IAR Systems, kullanıcılara gömülü sistem geliştirme araçları sağlayan İsveçli bir bilgisayar yazılım şirketidir. IAR, piyasadaki mikrodenetleyicilerin çoğunu destekleyen AVR mikrodenetleyici programlamasındaki güçlü derleyicilerden biridir.

Mikrodenetleyici üreticilerinin kaynak kodlarında genellikle bu dilde örnekler bulunur. Genellikle, bu programlama ortamı için çok fazla internet kaynağı yoktur ve belki de bu yüzden pek gitmemelerinin nedeni budur. Bu yazılımın fiyatı 900 ila 3 bin dolar arasında değişiyor.

 

 

4. Codevision (CodeVision AVR C Derleyicisi)

Bu derleyici, HP InfoTech’in bir ürünüdür. Bu derleyici C dilini destekler. HP InfoTech şirketi, bu tür derleyicilerin farklı türlerini piyasaya sürdü. Bu derleyicinin ücretsiz sürümü 2 KB’ye kadar derleyebilir. Diğer sürümler, gelişmiş ve profesyonel sürümleri içerir. Bu iki sürüm arasındaki fark, üreticinin web sitesinde tam olarak açıklanmıştır. Aşağıdaki bağlantıya başvurarak Codevision derleyicisindeki tüm öğreticileri kullanabilirsiniz.

 

 

5. WinAVR Derleyicisi

Avr mikrodenetleyicilerini programlamak için dünyanın en güçlü derleyicilerinden biri WinAVR’dir ve tüm dünyada birçok hayranı vardır. Bu derleyici tamamen ücretsizdir. Genel olarak, AVR mikrodenetleyicilerinin çoğu profesyonel programcısının bu derleyiciyi kullandığı söylenebilir. Bu derleyici, daha az HEX kodu ürettiği için sonunda size daha hızlı ve daha optimize edilmiş bir program sunar.

 

 

6.Arduino (Arduino IDE)

Açık kaynaklı Arduino yazılımı, devre üzerinde kodlamayı ve kod yüklemeyi kolaylaştırır. Bu yazılım Windows, Mac ve Linux işletim sistemleri için geçerlidir. Ayrıca Arduino yazılımı tüm Arduino kartları ile uyumludur. Bu programlama ortamı, Java dili kullanılarak ve işleme, avr-gcc ve diğer açık kaynaklı yazılımlara dayalı olarak üretilmiştir.

Arduino yazılımındaki programlama ilkeleri büyük ölçüde C ve C++ ile benzerdir; Bazı komutlar, komutlar, fonksiyonlar ve kütüphaneler Arduino için yapılmış özel değişikliklere sahip olsa da. Bu yazılımla çalışmanın genel süreci, ilk komutların metin düzenleme penceresine yerleştirilmesidir. Daha sonra Arduino mikrodenetleyici kartına derlenir ve yüklenir. Yüklemeden önce, Arduino kartını USB portu üzerinden bilgisayara bağlamak gerekir.

 

 

AVR mikrodenetleyici programlama ve sorun giderme arayüzleri

AVR mikrodenetleyicilerini programlamanın ve hata ayıklamanın birçok yolu ve yöntemi vardır ve bunların her birinin kendi yöntemi vardır. Bu bölümde, mikrodenetleyici sorunlarını gidermek için kullanılan popüler programlama arayüzlerini açıkladık.

 

 

1. ISP programlama arayüzü

ISP olarak kısaltılan Sistem İçi Programlama yöntemi, seri yan iletişim bus protokolü artı RESET’e dayalı yükselen veya düşen kenarlı bir sinyal göndererek çalışır ve en yaygın kullanılan AVR mikrodenetleyici programlama yöntemidir. Mikrodenetleyicinin ISP pinleri müdahale eden bir şeye bağlı olmadığı sürece, avr mikrodenetleyici PCB üzerinde yerinde kalabilir. Gereken tek şey 6 pimli bir terminal ve bir programlama dönüştürücüsüdür.

 

 

2. PDI programlama arayüzü

Mikrodenetleyicilerin programlama ve hata ayıklama arabirimi (The Program an Debug Interface), harici bir araçla programlama ve yerleşik sorun giderme için AVR mikrodenetleyicilerinin özelliklerinden biri olan PDI olarak kısaltılır. Bu programlama arayüzü JTAG kısmından farklıdır ve XMEGA ailesi cihazlar için tasarlanmıştır.

 

 

3. HVSP programlama arayüzü

HVSP olarak kısaltılan Yüksek Gerilim Seri Programcısı, çoğunlukla daha küçük AVR’lerde desteklenir. 8 pimli bir çip, AVR’yi programlama moduna geçirmek için daha fazla benzersiz sinyal kombinasyonu bırakmaz. Ancak avr programlama sırasında sadece 12 gerilimde görülmeli ve normal süre boyunca asla bu gerilimde olmamalıdır.

 

 

4. HVPP programlama arayüzü

Yüksek Gerilim Paralel Programlayıcı, bilgilerin bir port üzerinden 8 ayrı bit olarak aktarıldığı bir programlama yöntemidir. Üreticinin talimatlarına göre RESET pinine 12 voltluk bir voltaj uygulanmalıdır. Bu yöntem, çipin ISP ve JTAG’den erişimi sınırlandığında, kullanıcı işlemciyi programlamaya zorlandığında kullanılır. AVR mikro denetleyicisini programlamak için 6 kablo gerektiren ISP’nin aksine, bu yöntemde istenen çipin neredeyse tüm tabanları kullanılır. Bunun avantajları arasında yüksek hız ve çipe tam erişim yer alır. Yalnızca STK500HV gibi programcılar bu yöntemi destekler.

 

5. Bootloader programlama arayüzü

Çoğu avr modeli, yeniden programlama kodunun yazılabileceği 256 bayttan 4 KB’ye kadar bir önyükleyici alanı ayırabilir. Sıfırlama sırasında, önyükleyici başlangıçta çalışır ve kullanıcı tarafından yeniden programlamayı veya orijinal programına geri dönmeyi belirlemek üzere programlanır. Bu kod, herhangi bir programlama arabirimi aracılığıyla yeniden programlanabilir veya PXE gibi bir Ethernet adaptörü aracılığıyla şifrelenmiş bir ikili kodu okuyabilir. Atmel, bu programlama arayüzü üzerinden birçok veri yolu arayüzünün kodunu yazmıştır.

 

 

6. ROM programlama arayüzü

AT90SC serisi AVR mikrodenetleyicileri, şirketin ROM programlama arabirimiyle birlikte sunulur. Çok yüksek başlangıç maliyeti ve minimum sipariş miktarı nedeniyle, Mask-ROM yalnızca yüksek hacimli üretimlerde çalışacak taraflar için uygun maliyetli olacaktır.
Hata ayıklama ve sorun giderme arayüzleri

AVR mikrodenetleyicisini programladıktan sonra, bazen programlama arayüzümüzün sorunlarını gidermemiz gerekir. Avr, çoğunlukla hedef sistemde kullanımdayken çip üzerinde sorun giderme dahil olmak üzere çeşitli hata ayıklama seçenekleri sunar.

 

DebugWIRE seçeneği

Atmel’in mikrodenetleyicilerde hata ayıklama çözümü, bir mikrodenetleyici soketi yoluyla çip üzerinde hata ayıklama yetenekleri sağlayan DebugWIRE’dir. Bu yol, özellikle sınırlı sayıda pime sahip olan ve JTAG için gerekli dört yedek pimi sağlayamayan parçalar için kullanışlıdır. DebugWIRE, orijinal JTAGICE’tan sonra geliştirildi ve artık elektronikte yaygın olarak kullanılıyor.

 

 

JTAG seçeneği

Ortak Test Eylem Grubu (JTAG), THR hedef sistemde çalışırken AVR’nin çip üzerinde sorun giderme işlevine erişim sağlar. JTAG, kullanıcılara dahili belleğe ve kayıtlara erişim, kodda hata tespiti ve sistem davranışını gözlemlemek için tek adımlı yürütme sağlar. Atmel, AVR için bir dizi JTAG adaptörü sunar. Atmel-ICE, şirketin ISP, JTAG ve PDI arayüzlerini destekleyen en son adaptörüdür.

JTAGICE mkll, USB aracılığıyla bir PC’ye bağlanır ve hem JTAG’ı hem de daha yeni debugWIRE arayüzünü destekler. Atmel JTAGICE mkll cihazının birçok üçüncü taraf klonu, Atmel iletişim protokolünün yayınlanmasının ardından veri göndermeye başladı.

AVR Dragon, özel amaçlı bileşenler için yapılmış JTAGICE mkll’ye uygun ve ucuz bir alternatiftir. AVR Dragon, 32 KB veya daha az program belleğine sahip parçalar için sistem içi seri programlama, yüksek voltajlı programlama ve paralel programlama ve JTAG emülasyonu sunar.

JTAGICE adaptörü, standart bir seri bağlantı noktası aracılığıyla bir PC’ye bağlanır. JTAGICE bağdaştırıcısı, Atmel tarafından “kullanım ömrünün sonu” olarak ilan edilmiş olsa da, AVR Studio ve diğer benzer araçlar tarafından hala desteklenmektedir.

 

avr mikrodenetleyici programlama; Elektronik endüstrisinde çığır açan bir yöntem

AVR mikrodenetleyicileri küçük bir bilgisayar olarak düşünülebilir. Bir sistemdeki mikrodenetleyicilerin ana uygulaması, sistem parametrelerini kontrol etmek ve işlemektir. Bu şekilde, giriş parametreleri işlenir ve sonuçları görüntülenir.