Avr denetleyicileri. AVR - nedir bu? Otomatik rezerv girişinin atanması. AVR nasıl çalışır?

Elektrik tedarik kaynakları tamamen güvenilir değildir ve bazen devre dışı kalabilmektedir, bu da tüketim malları üzerinde olumsuz etkiye yol açmaktadır. Bu, kritik cihazlar için kabul edilemez, dolayısıyla bu cihazlara iki veya daha fazla ek kaynaktan güç sağlanır. Bunları bağlarken ATS cihazları kullanılır. Bunun ne olduğu, "rezervin otomatik girişi" kısaltmasının kodunun çözülmesiyle açıklanmaktadır. İki veya daha fazla güç girişi ile tüketiciye kesintisiz güç kaynağı oluşturmanın bir yoludur. Bu, ana giriş kaybolduğunda yedek girişin otomatik olarak bağlanmasıyla sağlanır.

Her iki güç kaynağı aynı anda bağlanabilir. Bu yöntemin dezavantajları yüksek kısa devre akımları, yüksek kayıplar ve ağları korumanın karmaşıklığıdır. Yedek genellikle ana güç kaynağını kapatan bir anahtarlama cihazı kullanılarak sağlanır. Yedek güç yüklere karşılık gelmelidir. Yeterli değilse yalnızca en önemli tüketiciler bağlanır.

ATS gereksinimleri

  • Tetiklemeden sonra hızlı rezerv girişi
  • Kısa devreler hariç, elektrik kesintisi olduğunda her durumda açılır.
  • Tüketicide güçlü yükleri başlatırken voltaj düşüşüne yanıt vermeme.
  • Tek seferlik operasyon.

sınıflandırma

Cihazlar çalışma prensiplerine göre bölünmüştür.

  • Tek taraflı. Devre iki bölümden oluşur: güç kaynağı ve yedekleme. İkincisi, ana voltaj kaybolduğunda bağlanır.
  • Çift taraflı. Hatlardan herhangi biri çalışıyor veya yedek olabilir.
  • Kurtarılabilir AVR'ler. Ana güç kaynağı geri geldiğinde önceki devre otomatik olarak devreye alınır ve yedek devre kapatılır.
  • Otomatik kurtarma yok. Ana güç kaynağıyla çalışma modu manuel olarak yapılandırılır.

AVR'nin çalışma prensibi

Alçak gerilim şebekelerinde, koruma devrelerindeki (ATS devreleri vb.) voltajı kontrol eden özel rölelerin kullanılması uygundur. Tüm ekipmanlar sık ​​sık güç kaynağı değişimine dayanamadığından ATS burada tercih edilir. AVR neye benziyor? Bu nedir ve nasıl çalışır? Bu cihaz herhangi bir basit diyagramdan açıkça görülebilir.

  • Röle EL-11, üç fazlı voltajı kontrol eder, faz dengesizliğini, kırılmayı ve değişimi izler.
  • Yükleri bağlamak için güçlü kontaklara sahip elektromanyetik röleler kullanılır. Normal modda, ana giriş bobinine buradan güç verilir ve KM 1 kontaklarıyla güç kaynağını yüke bağlar.
  • Ana devredeki voltaj kaybolduğunda KM 1 rölesi kapatılır ve yedek girişi bağlayan KM 2 rölesinin bobinine güç sağlanır.

Bu ATS devresi, anahtarlamalı yükün onlarca kilovata ulaştığı özel evlerde, endüstriyel ve idari binalarda kullanılabilir. Planın dezavantajı, yüksek akımlar için bir röle seçmenin karmaşıklığıdır. Düşük güçlü tüketicileri değiştirmek için hala uygundur, ancak ağır yükler için bir ATS marş motoru veya triyak kullanmak daha iyidir.

Vazgeçilmez ek güç kaynakları benzindir veya ikincisi, verimliliği ve daha fazla gücü nedeniyle yaygın olarak kullanılmaktadır. Piyasada çok çeşitli yüksek aşırı yük koruma sistemleri sunulmaktadır.

AVR'nin çalışması

AVR nasıl çalışır? Tüketicilere elektrik sağlamanın güvenilirlik derecesi nedir? Cihazlar 3 kategoriye ayrılmıştır. Konut elektrik arzı en düşükler arasında yer alıyor. Güç kaynağında sık sık arızalar varsa, ev aletlerinin dayanıklılığı ve rahat yaşam koşulları buna bağlı olduğundan evde bir rezerv kurmak daha iyidir. Kesintisiz güç kaynağı sistemleri, çoğunlukla elektronik ekipmanlar için kullanılan bataryalar üzerindeki dairelere kurulmaktadır. Jeneratörler en çok özel evler için yedek güç kaynakları olarak kullanılır.

En basit haliyle, bir benzinli jeneratör evin güç kaynağına bir değiştirme anahtarı aracılığıyla bağlanır. Bu, evin otomatik güç kaynağı kapatılmadığında rezervin yanlış girilmesi durumunda kısa devreyi önler. Anahtar üç konumlu olarak seçilir ve ortadaki konum elektriği tamamen keser.

Jeneratörü otomatik başlatma cihazıyla donatırsanız ve girişleri de değiştiren kontaktörler kullanarak kabinden kontrol ederseniz, ATS'yi otomatik modda kendiniz kurabilirsiniz. Otomasyon, örneğin Easy röle kontrolörleri gibi mikroişlemci kontrolünde çalışır. ATS rezervini girmek için voltaj sensörleri kullanılır. Elektrik kesilir kesilmez jeneratör motoru hemen çalışır. Çalışma moduna ulaşmak biraz zaman alır, ardından ATS yükü rezerve eder. Bu tür gecikmeler iç ihtiyaçlar açısından kabul edilebilir.

Otomatik jeneratör çalıştırma ünitesi (BAZG)

AVR, elektrik kesintisi durumunda yedek jeneratörün çalıştırılmasını ve kontrolünü sağlayan özel bir ev sistemidir. İkincisi, ana ağdaki elektrik kesintileri durumunda ucuz bir çözüm olan özel bir BAZG ünitesi ile donatılmıştır. Ana giriş gerilimi kesildikten sonra her aralıkta 5 saniye içinde 5 kez başlatma denemesi yapar. Ayrıca hava damperini kontrol ederek çalıştırma anında kapatır.

Ana girişte tekrar gerilim görülmesi durumunda cihaz yükü geri alır ve jeneratör motorunu durdurur. Jeneratör boştayken yakıt beslemesi bir solenoid valf tarafından kapatılır.

Özel bir evin AVR'sinin özellikleri

En yaygın yöntem, ilkinin önceliğe sahip olduğu iki girişli yöntemdir. Şebekeye bağlandığında ev yükleri çoğunlukla tek fazda çalışmaktadır. Kaybolursa, jeneratörü bağlamak her zaman uygun değildir. Yedek olarak başka bir hattı bağlamanız yeterlidir. Üç fazlı girişte güç, her fazdaki bir röle tarafından kontrol edilir. Gerilim normal aralığın dışına çıktığında faz kontaktörü kapatılır ve eve kalan iki fazdan güç sağlanır. Başka bir hattın arızalanması durumunda yükün tamamı bir faza yeniden dağıtılır.

Küçük bir kır evi veya yazlık için, 25 kW'ta çalışan bir panel için gücü 10 kW'ı geçmeyen bir dizel jeneratör seti kullanılır. Böyle bir jeneratör, eve kısa bir süre için gerekli minimum elektriği sağlamak için yeterlidir. Acil bir durum meydana geldiğinde voltaj kontrol rölesi tüketici veriyolunu yedek güce geçirir ve dizel jeneratör setini çalıştırmak için bir sinyal gönderir. Ana güç geri geldiğinde röle ona geçer ve ardından jeneratör durur.

ATS fonksiyonlarının genişletilmesi

Seçilen algoritmaları kontrol etmek için programlanabilir mantık denetleyicileri (PLC'ler) kullanılır. Zaten yalnızca bir veya başka bir çalışma modunu uygulamak için yapılandırılması gereken bir ATS programı içeriyorlar. AC500 kontrol cihazı gibi bir PLC kullanmak, ilk bakışta cihaz karmaşık görünse de elektrik devrelerini basitleştirmeyi mümkün kılar. ATS kontrolü, bir dizi anahtar, düğme ve gösterge şeklinde santral kapısına yerleştirilebilir.

Standart çözüm zaten yazılımı içermektedir. PLC'ye kurulur.

Çözüm

Güç kaynağı arızaları tüketiciler için çeşitli olumsuz olaylara yol açabilir. Çoğu kullanıcının ATS hakkında yalnızca belirsiz bir fikri vardır. Pek çok kişi bunun ne olduğunu bile bilmiyor ve onu tamamen farklı amaçlara yönelik bir cihaz sanıyor. Elektrikli ekipmanların yüksek maliyetleri nedeniyle doğru otomatik transfer şalterini seçmek önemlidir. Bu, uzman tavsiyesi gerektirecektir. ATS, sürekli güç kaynağının önemli olduğu ev aletlerinin ve nesnelerin performansını artırmanıza olanak tanır.

Mikrodenetleyiciler (bundan sonra MK olarak anılacaktır) hayatımıza sıkı bir şekilde girmiştir, internette MK üzerinde yürütülen birçok ilginç devre bulabilirsiniz. Bir MK'de birleştiremeyeceğiniz şeyler: çeşitli göstergeler, voltmetreler, ev aletleri (koruma cihazları, anahtarlama cihazları, termometreler...), metal dedektörleri, çeşitli oyuncaklar, robotlar vb. Liste çok uzun sürebilir. Mikrodenetleyici üzerindeki ilk devreyi 5-6 yıl önce bir radyo dergisinde görmüştüm ve kendi kendime "Hala onu birleştiremeyeceğim" diye düşünerek hemen sayfayı çevirdim. Aslında o zamanlar MK'ler benim için çok karmaşık ve yanlış anlaşılan bir cihazdı; nasıl çalıştıkları, nasıl flaş edileceği ve yanlış yazılım durumunda onlarla ne yapılacağı hakkında hiçbir fikrim yoktu. Ancak yaklaşık bir yıl önce ilk devremi bir MK üzerine kurdum; 7 segmentli göstergelere ve bir ATmega8 mikrokontrolörüne dayanan bir dijital voltmetre devresiydi. Tesadüfen bir mikrodenetleyici satın aldım, radyo bileşenleri bölümünde durduğumda, önümdeki adam bir MK satın alıyordu ve ben de onu satın alıp bir şeyler toplamaya karar verdim. Yazılarımda size anlatacağım AVR mikrodenetleyicileri, Size onlarla nasıl çalışılacağını öğreteceğim, firmware programlarına bakacağız, basit ve güvenilir bir programcı yapacağız, firmware sürecine bakacağız ve en önemlisi ortaya çıkabilecek sorunlara bakacağız. sadece yeni başlayanlar için.

AVR ailesindeki bazı mikrodenetleyicilerin temel parametreleri:

Mikrodenetleyici

Flaş bellek

RAM belleği

EEPROM belleği

G/Ç Bağlantı Noktaları

Güç

AVR mega MK'nin ek parametreleri:

Çalışma sıcaklığı: -55…+125*С
Depolama sıcaklığı: -65…+150*С
RESET pinindeki GND'ye göre voltaj: maksimum 13V
Maksimum besleme voltajı: 6,0V
Maksimum G/Ç hat akımı: 40mA
Maksimum güç kaynağı akımı VCC ve GND: 200mA

ATmega 8X Model Bağlantıları

ATmega48x, 88x, 168x modelleri için pin çıkışları

ATmega8515x modelleri için pin düzeni

ATmega8535x modelleri için pin düzeni

ATmega16, 32x modelleri için pin düzeni

ATtiny2313 modelleri için pin düzeni

Makalenin sonunda bazı mikrodenetleyiciler için veri sayfalarının bulunduğu bir arşiv eklenmiştir.

MK AVR kurulumu SİGORTA bitleri

Unutmayın, programlanmış sigorta 0, programlanmamış sigorta ise 1'dir. Sigortaları ayarlarken dikkatli olmalısınız, yanlış programlanmış bir sigorta mikrodenetleyiciyi bloke edebilir. Hangi sigortayı programlamanız gerektiğinden emin değilseniz, ilk kez MK'yi sigortasız olarak flaşlamak daha iyidir.

Radyo amatörleri arasında en popüler mikrodenetleyiciler ATmega8'dir ve bunu ATmega48, 16, 32, ATtiny2313 ve diğerleri takip etmektedir. Mikrodenetleyiciler TQFP ve DIP paketlerinde satılmaktadır; yeni başlayanlar için DIP satın almalarını öneririm. TQFP satın alırsanız, bunları flaşlamak daha sorunlu olacaktır; kartı satın almanız veya lehimlemeniz gerekecek çünkü bacakları birbirine çok yakın yerleştirilmiştir. Mikrodenetleyicileri özel soketlere DIP paketlerine kurmanızı tavsiye ederim, kullanışlı ve pratiktir, yeniden flaşlamak istiyorsanız MK'yi lehimlemenize veya başka bir tasarım için kullanmanıza gerek yoktur.

Hemen hemen tüm modern MK'ler devre içi ISP programlama yeteneğine sahiptir; Mikrodenetleyiciniz karta lehimlenmişse, ürün yazılımını değiştirmek için onu karttan sökmemize gerek kalmayacaktır.

Programlama için 6 pin kullanılır:
SIFIRLA- MK'ye giriş yapın
VCC- Artı güç kaynağı, 3-5V, MK'ye bağlıdır
GND- Ortak kablo, eksi güç.
MOSI- MK girişi (MK'deki bilgi sinyali)
MİSO- MK çıkışı (MK'den bilgi sinyali)
SCK- MK girişi (MK'de saat sinyali)

Bazen XTAL 1 ve XTAL2 pinlerini de kullanırlar; MK harici bir osilatör tarafından çalıştırılıyorsa bu pinlere kuvars eklenir; ATmega 64 ve 128'de MOSI ve MISO pinleri ISP programlama için kullanılmaz; bunun yerine MOSI pinleri PE0 pinine ve MISO PE1 pinine bağlanır. Mikrodenetleyiciyi programlayıcıya bağlarken bağlantı kabloları mümkün olduğu kadar kısa olmalı, programlayıcıdan LPT portuna giden kablo da çok uzun olmamalıdır.

Mikrodenetleyicinin işareti, Atmega 8L 16PU, 8 16AU, 8A PU vb. Gibi sayıların bulunduğu garip harfler içerebilir. L harfi, MK'nin, L harfi olmayan MK'den daha düşük bir voltajda, genellikle 2,7V çalıştığı anlamına gelir. Kısa çizgi veya boşluk 16PU veya 8AU'dan sonraki sayılar, MK'deki jeneratörün dahili frekansını gösterir. Sigortalar harici bir kuvarstan çalışacak şekilde ayarlanmışsa, kuvars veri sayfasına göre maksimumu aşmayacak bir frekansa ayarlanmalıdır; bu, ATmega48/88/168 için 20 MHz ve diğer atmegalar için 16 MHz'dir.

Diyelim ki size bir LED'in yanıp sönmesini sağlamak için bir görev verildi.
Bu sorunun nasıl çözüleceğini tartışalım:

Seçenek 1 en basitidir, bir geçiş anahtarını/düğmesini alın, yanına geçiş anahtarını kullanarak LED'i açıp kapatacak bir yardımcı yerleştirin. Genellikle Rusya'da sorunların çoğu bu şekilde çözülür. Peki yanıp sönen ne?)))
Seçenek 2 - bir multivibratörün montajı. Zaten daha ilginç. Yanıp sönmek için bir LED oldukça iyi bir çözümdür. Üstelik basit, ucuz ve güvenilirdir.
Seçenek 3 - bir mikrodenetleyiciye monte edin. Bir multivibratörü monte etmekten daha pahalı, ama bence daha kolay. Bir program yazdım, çalıştırdım ve sonucunu aldım. Kurulum yok. Elbette bu ideal bir durumdur.

Şimdi görevi karmaşıklaştıralım. Örneğin 5 LED ve yanıp sönmeleri için 5 seçenek (yanıp sönme hızları ve sırası değişir). İlk seçenek hemen ortadan kalkıyor, yöntem 2 yapılabilir ancak cihazın boyutu keskin bir şekilde artacaktır. Seçenek 3 yaklaşık olarak aynı boyutta kalacaktır, yalnızca birkaç satır kod ekleyin. Bu nedenle, mikrodenetleyici olmadan imkansız olduğu ve gereksiz olduğu farklı durumlar vardır. Bu nedenle her zaman işçilik maliyetlerini, zamanı ve finansal maliyetleri tahmin edin.

Yani bir mikrodenetleyici, sistemleri, süreçleri vb. Esnek bir şekilde yönetmemize olanak tanır, küçük boyutlara sahiptir ve işlevsellik açısından bir mini bilgisayardır. Mikrodenetleyiciler farklı firmalar tarafından üretilmektedir. Atmel'in AVR mikrodenetleyici çeşitlerinden biri. Neden onlar? Mağazada bulmak oldukça kolaydır, hazır kod örneklerini bulmak kolaydır, yerleşik işlevsellik, karmaşık sorunları bile çözmenize olanak tanır.

Mikrodenetleyicinin ondan ne istediğimizi anlaması için, bellenimi ona yüklememiz gerekir - gerçekleştirmesi gereken bir dizi eylem. Ürün yazılımı birler ve sıfırlardan oluşan bir dizidir. Bunu daha kullanışlı hale getirmek için programlama dilleri icat edildi. Örneğin, aç yazıyoruz ve derleyicinin kendisi bunu mikrodenetleyicinin anlayabileceği bir ve sıfır dizisine dönüştürüyor. Şekil, not defterini kullanarak açarsanız HEX donanım yazılımını gösterir.

Mikrodenetleyiciler genellikle C veya montaj dilinde programlanır. Genel olarak ne yazılacağı konusunda hiçbir fark yoktur. Hazır örneklerin çokluğundan dolayı tercihimi C'den yana yaptım. Ayrıca C dilinde yazmanıza izin veren birkaç program vardır. Örneğin ücretsiz, markalı AVR Studio, CodeVision, WinAVR vb. CodeVision'da yazmama rağmen AVR Studio'yu hata ayıklayıcı olarak çok aktif olarak kullanıyorum.

Umarım bunların en azından bir kısmı sizin için açıklığa kavuşmuştur. Bana göre en zor şey ilk adımı atmak. Bunu yapan, korkusunu ve tembelliğini yenen, mutlaka sonuca ulaşacaktır. Mikrodenetleyicileri öğrenmede iyi şanslar.

AVR mikrokontrolörlerinin incelenmesi ve pratik programlanması için her şey: literatür, yazılım, devreler, tasarımlar

İyi günler sevgili radyo amatörleri!
““ web sitesine hoş geldiniz

Sitenin bu bölümü şunlara ayrılmıştır: mikrodenetleyiciler. Kişisel tercihler nedeniyle (ve sadece değil), asıl vurgu mikrodenetleyicili amatör radyo cihazlarında olacaktır. ATMEL'den AVR Tiny ve Mega ailesi. ATMEL mikrodenetleyicileri en popüler olmasa da, onları diğer mikrodenetleyicilerden ayıran birçok önemli avantaja sahiptir. Ek olarak, AVR mikrokontrolör ailesi, cihazların basitliği ve çok yönlülüğü, çeşitli kontrolör tipleri için yapının sürekliliği ve devre tasarımının basitliği nedeniyle yeni başlayan radyo amatörleri için çok uygundur. Gelecekte sitede, Tiny ve Mega ailelerinin AVR mikrokontrolörlerinin yapısı ve devre özellikleri, bunların ana kullanımları hakkında ayrıntılı bir çalışma ile ağırlıklı olarak radyo amatörlerine yönelik bir dizi makale yayınlanması planlanıyor. yetenekler ve montajcıda programlama.

Tek çipli mikrodenetleyiciler çok çeşitli alanlarda yaygın olarak kullanılmaktadır: ölçüm aletleri, kameralar ve video kameralar, yazıcılar, tarayıcılar ve fotokopi makinelerinden elektronik eğlence ürünlerine ve her türlü ev aletine kadar.

1970'lerde ilk mikroişlemcilerin piyasaya sürülmesinden bu yana, yeni donanım çözümlerinin sunulması ve yeni sorunları çözmek için tasarlanan yeni talimatların eklenmesiyle bunların karmaşıklığı sürekli olarak arttı. Daha sonra CISC (Tam Komut Seti Bilgisayarları - karmaşık talimatlar dizisine sahip bilgisayarlar) adını alan mimari yavaş yavaş bu şekilde gelişti. Daha sonra başka bir yön ortaya çıktı ve aktif gelişme buldu: RISC mimarisi (İndirgenmiş Komut Seti Bilgisayarları - azaltılmış talimat setine sahip bilgisayarlar). Bu kitabın ithaf edildiği, Atmel'in AVR mikrokontrolörlerini ve Microchip'in PIC'ini içeren mimaridir.

RISC işlemcilerin temel avantajı basit olmaları, sınırlı sayıda talimat yürütmeleri ve sonuç olarak çok hızlı olmalarıdır. Bu, programlamalarının maliyetini ve karmaşıklığını azaltır.

RISC mimarisinin dezavantajı, CISC cihazları için donanımda uygulanan montaj dilinde ek talimatlar oluşturma ihtiyacıydı. Örneğin, CISC cihazları için tipik olan basit bir bölme talimatını çağırmak yerine, RISC işlemciyle ilgilenen bir tasarımcının birkaç ardışık çıkarma talimatı kullanması gerekir. Ancak bu dezavantaj, RISC cihazlarının fiyatı ve hızıyla fazlasıyla telafi ediliyor. Ek olarak, C'de programlar oluşturursanız, bu tür sorunların geliştirici için hiçbir önemi kalmaz, çünkü bunlar, tüm eksik montaj kodunu otomatik olarak oluşturan derleyici tarafından çözülür.

Mikroişlemcilerin şafağında, yazılım geliştirme yalnızca belirli bir cihaza odaklanan şu veya bu montaj dilinde gerçekleşti. Özünde, bu tür diller karşılık gelen makine kodlarının sembolik anımsatıcılarıydı ve anımsatıcıların makine koduna çevirisi bir çevirmen tarafından gerçekleştirildi. Bununla birlikte, montaj dillerinin ana dezavantajı, her birinin belirli bir cihaz türüne ve çalışma mantığına bağlı olmasıdır. Ek olarak, montajcıyı öğrenmek zordur, bu da öğrenmek için oldukça fazla çaba gerektirir ve daha sonra diğer üreticilerin mikrokontrolörlerini kullanmaya geçmeniz gerekirse, bunun boşa gittiği ortaya çıkar.

Üst düzey bir dil olan C dili bu tür eksikliklerden yoksundur ve C derleyicisi bulunan her türlü mikroişlemciyi programlamak için kullanılabilir.C dilinde bilgisayarların gerçekleştirdiği tüm düşük düzeyli işlemler şu şekilde sunulur: geliştiricilerin makine kodu konusunda endişelenmeden yalnızca tek bir mantığı programlamaya odaklanmasına olanak tanıyan soyut yapılar. C'yi öğrendikten sonra, geliştirme için çok daha az zaman harcayarak bir mikrodenetleyici ailesinden diğerine kolayca geçebilirsiniz.


AVR ve PIC mikrodenetleyici mimarisi

Genel olarak tüm mikrodenetleyiciler aynı şemaya göre inşa edilmiştir. Bir program sayacı ve bir kod çözme devresinden oluşan kontrol sistemi, program belleğinden okuma ve kod çözme talimatlarını gerçekleştirir ve işletim cihazı, aritmetik ve mantıksal işlemlerin gerçekleştirilmesinden sorumludur; G/Ç arayüzü çevresel cihazlarla veri alışverişi yapmanızı sağlar; ve son olarak programları ve verileri depolamak için bir depolama cihazınıza sahip olmanız gerekir (Şekil 1.1).

Pirinç. 1.1. Genelleştirilmiş mikrodenetleyici yapısı

Mikrokontrolörleri genel olarak herhangi bir AVR mikrokontrolcü türüne bağlı kalmadan ele alacağız, bu nedenle aşağıda yalnızca çoğu mikrokontrolör için ortak olan bellek mimarisinin özelliklerini, giriş/çıkış sorunlarını, kesme yönetimini, sıfırlamayı vb. ele alacağız.

AVR mikrodenetleyici belleği

AVR mikro denetleyicilerinde bellek, talimat ve veri belleğinin ayrılmasını ima eden Harvard mimarisine göre uygulanır. Bu, komutlara veri erişiminden bağımsız olarak erişildiği anlamına gelir. Bu organizasyonun avantajı hafıza erişim hızının artmasıdır.

Veri belleği

Veri belleği, programlar tarafından kullanılan verileri yazmak/okumak için tasarlanmıştır. Uçucudur, yani mikro denetleyiciye giden güç kapatılırsa, içinde depolanan tüm veriler kaybolacaktır. AVR mikrodenetleyicilerde veri belleği Şekil 2.1’de görüldüğü gibi PIC mikrodenetleyicilere göre daha gelişmiş bir yapıya sahiptir. 2.1.


Pirinç. 2.1. AVR ve PIC mikrodenetleyicilerdeki veri belleği yapısı

SRAM (Statik Rastgele Erişim Belleği) alanı Şekil 2'de gösterilmektedir. 2.1, tüm AVR mikro denetleyicileri tarafından kullanılmadığından noktalı olarak işaretlenmiştir (bu, hem dahili hem de harici SRAM için geçerlidir). Başlangıç ​​adresi 0x060'tır ve üst adresi cihazdan cihaza değişir.

Bazı AVR mikro denetleyicilerinde, 64 KB'ye kadar harici bellek blokları bağlayarak SRAM bellek alanını artırabilirsiniz, ancak bu, bu durumda verileri ve adresleri aktarmak için kullanılan A ve C bağlantı noktalarından fedakarlık etmeyi gerektirir.

Genel amaçlı kayıtlar

Genel amaçlı kayıt alanı (çalışma kayıtları), işlemci tarafından programları yürütmek için kullanılan değişkenlerin ve işaretçilerin geçici olarak depolanması için tasarlanmıştır. AVR mikrokontrolörlerinde 32 adet sekiz bitlik kayıttan oluşur (adres aralığı 0x000 - 0x01F). PIC mikrokontrolörlerinde genel amaçlı kayıtlar da sekiz bittir, ancak sayıları ve adres aralıkları cihazın spesifik türüne bağlıdır.

C dilinde yazılmış programlarda, montaj dili kodu kullanılmadığı sürece genel amaçlı kayıtlara doğrudan erişim genellikle gerekli değildir.

PIC mikrodenetleyici özel fonksiyon kayıtları

PIC mikrodenetleyicilerinde çeşitli işlemleri kontrol etmek için özel fonksiyon kayıtları kullanılır. Genel amaçlı kayıtlarda olduğu gibi bunların sayısı ve adresleri cihazdan cihaza farklılık gösterir. C dilinde yazılmış programlarda, montaj dili parçaları kullanılmadığı sürece özel işlev kayıtlarına doğrudan erişim genellikle gerekli değildir.

AVR mikrodenetleyicilerinin G/Ç alanı

AVR mikro denetleyicilerinin G/Ç alanı, çevresel aygıtlardan gelen verileri kontrol etmek veya depolamak için kullanılan 64 kayıt içerir. Bu kayıtların her birine bir G/Ç adresi (0x000'den başlayarak) veya bir SRAM adresi (bu durumda G/Ç adresine 0x020 eklenmelidir) aracılığıyla erişilebilir. C programları genellikle geleneksel G/Ç kayıt adlarını kullanır ve adresler yalnızca derleme dili programları için anlamlıdır.

İsimler, G/Ç ve SRAM adreslerinin yanı sıra AVR mikro denetleyicilerinin G/Ç alanındaki kayıtların kısa bir açıklaması tabloda sunulmaktadır. 2.1. Çeşitli mikro denetleyici modellerinde, listelenen kayıtlardan bazılarının kullanılmadığı ve adreslerin tabloda listelenmediği belirtilmelidir. 2.1, gelecekte kullanılmak üzere Atmel tarafından ayrılmıştır.

Tablo 2.1. G/Ç alanındaki kayıtların açıklaması

Kayıt adı G/Ç adresi SRAM adresi Tanım
ACSR 0x08 0x28 Analog karşılaştırıcı kontrolü ve durum kaydı
UBRR 0x09 0x29 UART Baud Hızı Kaydı
UCR 0x0A 0x2A UART Alıcı-Verici Kontrol Kaydı
USR 0x0V 0x2V UART Alıcı-Verici Durumu Kaydı
UDR 0х0С 0x2С UART Alıcı-Verici Veri Kaydı
SPCR 0x0D 0x2D SPI Arayüzü Kontrol Kaydı
SPSR 0x0E 0x2E SPI Arayüzü Durum Kaydı
SPDR 0x0F 0x2F SPI Veri G/Ç Kaydı
PIN kodu 0x10 0x30 Bağlantı noktası D pinleri
DDRD 0x11 0x31 Bağlantı Noktası D Veri Yönü Kaydı
LİMAN 0x12 0x32 Bağlantı Noktası D Veri Kaydı
PINK 0x13 0x33 Bağlantı noktası C pinleri
DDRC 0x14 0x34 Bağlantı Noktası C Veri Yönü Kaydı
PORTC 0x15 0x35 Port C Veri Kaydı
PINB 0x16 0x36 Bağlantı noktası B pinleri
DDRB 0x17 0x37 Bağlantı Noktası B Veri Yönü Kaydı
PORTB 0x18 0x38 Bağlantı Noktası B Veri Kaydı
PINA 0x19 0x39 A Bağlantı Noktası pimleri
DDRA 0x1A 0x3A Bağlantı Noktası A Veri Yönü Kaydı
PORTA 0x1V 0x3V A Bağlantı Noktası Veri Kaydı
AECR 0x1С 0x3С EEPROM Bellek Kontrol Kaydı
EEDR 0x1D 0x3D EEPROM veri kaydı
EEARL 0x1E 0x3E EEPROM Bellek Adres Kaydı (Düşük Bayt)
EEARH 0x1F 0x3F EEPROM bellek adresi kaydı (yüksek bayt)
WDTCR 0x21 0x41 Watchdog Zamanlayıcı Kontrol Kaydı
ICR1L 0x24 0x44
ICR1H 0x25 0x45 Zamanlayıcı/Sayaç Yakalama Kaydı T/C1 (düşük bayt)
OCR1BL 0x28 0x48 T/C1 zamanlayıcısının B karşılaştırma kaydı (düşük bayt)
OCR1BH 0x29 0x49 T/C1 zamanlayıcısının B karşılaştırma kaydı (yüksek bayt)
OCR1AL 0x2A 0x4A T/C1 zamanlayıcısının karşılaştırma kaydı A (düşük bayt)
OCR1AH 0x2V 0x4V T/C1 zamanlayıcısının A karşılaştırma kaydı (yüksek bayt)
TCNT1L 0x2С 0х4С Zamanlayıcı/sayıcı T/C1'in sayma kaydı (düşük bayt)
TCNT1H 0x2D 0x4D Zamanlayıcı/sayıcı T/C1'in sayma kaydı (yüksek bayt)
TCCR1B 0x2E 0x4E Zamanlayıcı/sayaç T/C1'in kontrol kaydı B
TCCR1A 0x2F 0x4F Zamanlayıcı/sayaç T/C1'in kontrol kaydı A
TCNT0 0x32 0x52 Zamanlayıcı/sayıcının sayma kaydı T/C0
TCCR0 0x33 0x53 Zamanlayıcı/sayaç kontrol kaydı T/C0
MCUCR 0x35 0x55 Mikrodenetleyici kontrol kaydı
TIFR 0x38 0x58 Zamanlayıcı/Sayaç Kesinti İşaret Kaydı
TİMSK 0x39 0x59 Zamanlayıcı Kesinti Maskeleme Kaydı
GIFR 0x3A 0x5A Genel kesme bayrağı kaydı
GİMSK 0x3V 0x5V Genel Kesme Maskeleme Kaydı
SPL 0x3D 0x5D Yığın işaretçisi (düşük bayt)
SPH 0x3E 0x5E Yığın işaretçisi (yüksek bayt)
SREG 0x3F 0x5F Durum kaydı

AVR mikro denetleyicilerinin SREG durum kaydı

Durum kaydı, AVR mikrokontrolörlerinin durum bayraklarını içerir ve G/Ç alanında $3F adresinde bulunur (SRAM adresi $5F'dir). Sıfırlama sinyali verildikten sonra sıfırlara başlatılır.

Fok
Konunun devamı:
Bilgisayar

"Bu tür iletişim Beeline aboneleri için mevcut değil" - böyle bir mesaj çok sık görünmüyor, ancak görünümü pek de iyiye işaret değil. Ve asıl sorun...