Attiny2313 mikrodenetleyicisinin şeması. AVR mikro denetleyicisindeki (ATtiny2313) dijital takometre. Besleme voltajı aralığı

Ev / Koruma \ Hırsızlık

Bir düğmenin bir AVR mikro denetleyicisine bağlanmasıyla ilgili basit bir deney anlatılıyor, düğmeye basılmaları işlemek için basit bir C programı demonte ediliyor. Bir düğmeyi MK bağlantı noktalarına bağlama özelliklerinin yanı sıra C dilinde düğme durumlarını okuma yöntemlerini ele alalım.

Önceki makalelerde, çıkış (Çıkış) için yapılandırılmış mikro denetleyici bağlantı noktalarına bağlanan LED'lerle deneyler düşünülmüştü.

Bu yazımızda mikrodenetleyiciye basıldığında kontakları kapanan, bırakıldığında açılan (kapatma butonu) bir buton bağlayacağız.

Deneyin ana şeması

Bir buton yardımıyla bir şeyi bir şekilde gözlemleyebilmek ve kontrol edebilmek için mikrodenetleyiciye iki LED daha bağlayacağız. Diyagram çok basit, işte burada:

Pirinç. 1. ATtiny2313 mikrodenetleyici ve bir düğme ile yapılan deneyin şematik diyagramı.

Gördüğünüz gibi, iki LED, PB0 ve PB1 bağlantı noktalarına sınırlama dirençleri aracılığıyla bağlanmıştır ve PD2 bağlantı noktasına bir düğme bağlanmıştır ve o da bir sınırlama direncine sahiptir. Programlayıcıyı MK'ye bağlamak için Conn 1 (AVR-ISP) konektörü kullanılır ve devreyi ayrı bir + 5V güç kaynağına (P1 ve P2) bağlamak için iki kontak kullanılır.

Pirinç. 2. Lehimsiz bir devre tahtası üzerine monte edilmiş bir mikrodenetleyici ve bir düğmeden oluşan deneysel devre.

Bağlantı noktasının düğmeli güvenli kullanımı için, 1 KΩ dirençli bir direncin seri olarak bağlandığına dikkat etmek önemlidir (ayrıca 600 Ohm - 2 KΩ'luk başka bir dirence de bağlanabilirsiniz). Hatalı bir yüksek seviye pin durumunda ve düğme kapatıldığında MK portunu arızadan koruyacak olan pinlerle çalışırken bunu genel bir kural olarak kabul edin.

AVR mikrodenetleyicilerindeki I/O portlarının yapısı

Mikrodenetleyicinin pinleri evrensel GPIO'dur (Genel Amaçlı Giriş Çıkışı), hem aktüatörlere (göstergeler, güç anahtarları) hem de çeşitli dijital sensörlere (düğmeler, anahtarlar) bağlanabilirler.

MCU'daki birkaç pin bir ADC / DAC'ye (Analogdan Dijitale Dönüştürücü ve tersi) bağlanabilir, bunlar analog sinyalleri analiz etmek ve üretmek için kullanılabilir. Sıradan GPIO'lar analog sinyallerle çalışamazlar, giriş/çıkışta yalnızca 0 (0V) veya 1 (+5V) bulunabilir.

Mikrodenetleyicinin içindeki her GPIO pinine bağlı, bilmeniz gereken birkaç blok ve elektronik bileşen vardır:

  • Bağlantı noktası pimi ile güç raylarının her biri (GND ve VCC) arasında diyot ile bağlı. Kısa süreli parazitleri, pime ve güç raylarının her birine göre voltaj dalgalanmalarını "söndürmek" için kullanılırlar;
  • Ayrıca pin ile GND arasına bir kapasitör bağlanır.. Belki parazite karşı koruma sağlamak için, pime bağlı düğmeler ve anahtarlar kullanılırken temasın sıçramasını önlemek için veya başka bir şey için neden gerekli olduğunu tam olarak bilmiyorum;
  • Her pime bağlı dirençli bir elektronik anahtar, güç kaynağı voltajına bir pin çekmedir (Pull-UP). Bu elektronik anahtar, yazılım tarafından etkinleştirilir ve giriş modunda (Giriş) pin ile çalışırken varsayılan yüksek mantık seviyesi 1'i (+5V) ayarlamaya yarar;
  • Pim ile güç raylarının (GND ve VCC) her biri arasına iki elektronik anahtar (dirençsiz) daha bağlanır, pin bağlandığında pin üzerinde yüksek (+ 5V) veya düşük (0V) bir mantık seviyesi ayarlamaları gerekir. çıkış modunda (Çıkış).

Portların her birinin program kontrolü ve konfigürasyonu için, örneğin "B" portu için üç özel kayıt kullanılır:

  • DDRB - giriş veya çıkış için pin çalışma modlarını ayarlamak için kayıt (8 bit). Kayıttaki uygun bitlerin ayarlanmasıyla gerçekleştirilir;
  • PORTB - çıkış modunda port pinlerinin durumunu kontrol etmek için kayıt - yüksek veya düşük. Ayrıca giriş modunda da kullanılır; çekme dirençlerini (Pull-UP) açmak ve girişi varsayılan olarak yüksek ayarlamak için kullanılır;
  • PINB - giriş modunda yapılandırılmış portların değerlerini okumak için kullanılan, porttaki pinlerin mantıksal durumlarını içeren bir kayıt.

Belirli bir mikrodenetleyici modelinin bağlantı noktası düzenlemesi hakkında daha fazla bilgiyi "G / Ç Bağlantı Noktaları" bölümünde veri sayfasından edinebilirsiniz ve ayrıca bağlantı noktalarıyla çalışmak için C ve Assembler'da kod örnekleri de olabilir.

I/O portu olarak RESET pini

Mikrodenetleyici programının yürütülmesini sıfırlamak (yeniden başlatma) için tasarlanan mikro devrenin "RESET" pininin (şemamızda 1 numaralı pindir) düğmeleri, LED'leri ve diğer I/O cihazları, yani normal bir GPIO'ya dönüştürülebilir.

Çipin tasarımınız için yeterli pini yoksa bu yararlı olabilir. Örneğin, bir cihazı ATtiny13 yongasına monte ederken (8 pin, güç için 2 parça, G / Ç bağlantı noktaları için 5 parça, RESET için 1 parça), LED için bir pinin eksik olduğunu buldunuz. Sorunu çözmek için birkaç seçenek olabilir:

  1. Bir G / Ç bağlantı noktası için bir pinin RESET ile yeniden programlanması;
  2. Devre tasarımında bazı püf noktaları kullanarak ve genel kullanım olasılığını dikkate alarak, halihazırda kullanılan komşu pinlerden birine bir LED bağlamak;
  3. ATtiny2313 gibi daha fazla pinli başka bir MK kullanmak.

Bu seçeneklerden hangisinin mali / zaman açısından daha kolay ve daha ucuz olduğu - durumunuza göre karar verin.

"RESET" pinini bir G / Ç bağlantı noktasına dönüştürmek için özel bir sigortayı değiştirmeniz gerekecektir - RSTDISBL (Sıfırlamayı Devre Dışı Bırak). Ancak bunu yapmadan önce, bu işlemden sonra mikrodenetleyiciyi yalnızca yüksek voltajlı bir programlayıcı (12V'de) kullanarak yeniden programlamanın mümkün olacağını, normal bir USB ISP'nin veya 5V ile çalışan başka bir programlayıcının artık yapamayacağını hatırlamanız gerekir. onun işi.

C programı

Peki mikrodenetleyiciye bağlı bir düğmemiz ve iki LED'imiz var, onlarla ne yapabiliriz? - ve bunu yapacağız (algoritma):

  1. Güç açıldıktan sonra LED'ler dönüşümlü olarak ve 300 milisaniyelik bir gecikmeyle yanıp sönecektir;
  2. Düğme basılı tutulduğunda yalnızca mavi LED yanacaktır;
  3. Düğmeyi bıraktıktan sonra mavi LED, 500 milisaniyelik bir gecikmeyle 3 kez yanıp sönecek, ardından LED'ler 300 milisaniyelik bir gecikmeyle dönüşümlü olarak tekrar yanıp sönecektir.

Böyle bir algoritmanın C dilinde AVR altında uygulanmasına bir örnek aşağıda verilmiştir. Programımız için yeni bir dosya oluşturalım ve onu düzenlemeye açalım:

Nano /tmp/avr-switch-test.c

Dosyanın gövdesine aşağıdaki kodu koyalım:

/* ATtiny2313 üzerindeki düğmeyle denemeler yapın * https://website */ #define F_CPU 1000000UL // Çekirdek frekansı = 1 MHz #include #katmak // -- LED'leri kontrol etmek için makrolar -- #define LED_BLUE_ON PORTB |= (1<< PB0) // Засвечиваем синий диод #define LED_BLUE_OFF PORTB &= ~(1 << PB0) // Гасим синий диод #define LED_RED_ON PORTB |= (1 << PB1) // Засвечиваем красный диод #define LED_RED_OFF PORTB &= ~(1 << PB1) // Гасим красный диод // Основная программа void main(void) { DDRD |= (0 << PD2); // Пин 6 - на вход PORTD |= (1 << PD2); // Включаем подтягивающий (Pull-UP) резистор для пина 6 DDRB |= (1 << PB0); // Пин 12 - на вывод DDRB |= (1 << PB1); // пин 13 - на вывод // -- Бесконечный цикл -- while(1) { _delay_ms(300); // Задержка 300 мс LED_BLUE_ON; // Включаем синий диод LED_RED_OFF; // Гасим красный диод _delay_ms(300); LED_RED_ON; // Включаем красный диод LED_BLUE_OFF; // Гасим синий диод if(!(PIND & (1 << PD2))) { // Проверяем нажата ли кнопка _delay_ms(50); // Задержка 50 мс (дребезг контактов) LED_RED_OFF; LED_BLUE_ON; while(!(PIND & (1 << PD2))); // Ждем пока кнопка не будет отпущена _delay_ms(500); // Дальше мигаем синим диодом LED_BLUE_OFF; _delay_ms(500); LED_BLUE_ON; _delay_ms(500); LED_BLUE_OFF; _delay_ms(500); LED_BLUE_ON; _delay_ms(500); LED_BLUE_OFF; _delay_ms(200); } // Конец блока работы с кнопкой } // Конец блока с вечным циклом }

Öncelikle şunu soruyoruz F_CPU sabiti Derleyiciye mikrodenetleyici çekirdeğinin çalışma frekansını gösterecek olan bu, bazı alt rutinlerin ve fonksiyonların doğru çalışması için gereklidir. Örneğimizde, F_CPU sabitindeki değere göre boşta kalan döngülerde harcanan süreyi hesaplayan "util/delay.h" kütüphanesindeki "_delay_ms" zaman gecikme fonksiyonu kullanılmıştır.

Bir zaman gecikmesini düzenlemek için kullanılan ve herhangi bir metin düzenleyiciyi kullanarak GNU Linux'ta F_CPU sabitini kullanan "gecikme" kitaplığının kodunu görüntüleyebilirsiniz; örneğin, aşağıdaki komutu çalıştırabilirsiniz:

Nano /usr/lib/avr/include/util/delay.h

ATtiny2313 mikro denetleyicisindeki dahili RC osilatörünün fabrika ayar frekansı 8000000Hz'dir (8MHz) ve varsayılan frekans bölme sigortası CKDIV8'dir (Saat 8'e Böl), yani kristalin gerçek çalışma frekansı = 8000000Hz / 8 = 1000000Hz = 1MHz .

Avrdude veya AVR8 Burn-O-Mat adı verilen grafiksel bir kabuk kullanarak mikro denetleyicide hangi sigortaların takılı olduğunu görebilirsiniz.

Programın ilerleyen kısımlarında, LED'lerin bağlı olduğu portların durumunu kontrol etmek için makrolar tanımlanır: LED_BLUE_ON, LED_BLUE_OFF, LED_RED_ON, LED_RED_OFF. Böyle bir makroyu programın herhangi bir yerine çağırarak, kodunu tekrarlamak zorunda kalmadan LED'lerin her birini çok kolay bir şekilde açıp kapatabiliriz, bu da programı basitleştirecek ve daha görsel hale getirecektir.

"Void main(void)" ana programında port konfigürasyonuyla başlıyoruz:

  • DDRD |= (0<< PD2) - установка разряда PD2 регистра DDRD на ввод, к нему подключена кнопка (пин 6);
  • LİMAN |= (1<< PD2) - включение подтягивающего резистора для пина к которому привязан разряд PD2 регистра PORTD (пин 6);
  • DDRB |= (1<< PB0) - установка разряда PB0 в регистре DDRB на вывод, к нему подключен СИНИЙ светодиод (пин 12);
  • DDRB |= (1<< PB1) - установка разряда PB1 в регистре DDRB на вывод, к нему подключен КРАСНЫЙ светодиод (пин 13).

Ayrıca makroları kullanarak kırmızı LED'i kapatıp mavi olanı açıyoruz. Şimdi başka bir sonsuz döngüyle ancak bir koşulla, düğme bırakılana kadar bekleyeceğiz: "while(!(PIND & (1)<< PD2)));".

Düğme bırakıldığında pin 6 yükselecek (bu daha önce açtığımız dahili çekme direnci tarafından yapılacaktır) ve PIND kaydının PD2 biti mantık 1'e ayarlanacaktır.

Bundan sonra, mavi LED 0,5 saniyelik bir gecikmeyle üç kez (açık-kapalı) yanıp söner ve ana sonsuz döngü yeni bir şekilde çalışmaya başlar - iki LED sırayla yanacaktır.

Çok basit bir program, ancak yine de iyi bir örnek ve daha sonraki deneyler için zemin oluşturuyor.

ATtiny2313 için Geany'yi Yapılandırma

Önceki yayınlarda ATMega8 mikro denetleyicisiyle deneyler yaptım, ancak burada daha az "doldurulmuş" bir MK kullanılıyor - ATTiny2313.

Programı derlemek ve MK'ye aktarmak için Geany entegre programlama ortamındaki montaj komutlarını biraz yeniden yapılandırmanız gerekir.

Oluştur - Oluşturma Komutlarını Ayarla menüsüne gidin. Derleme komutunda (C komutları), kullanılan çipin modelini değiştirmeniz gerekir: "-mmcu=attiny2313". MK'yi yanıp sönme komutunda avrdude için çip tipini değiştirmeniz gerekir: "-p t2313".

Pirinç. 3. Geany'nin ATTiny2313 mikro denetleyiciyle çalışacak şekilde yeniden yapılandırılması.

Tüm komutlar GNU Linux işletim sistemi için verilmiştir, eğer Windows kullanıyorsanız "avr-gcc.exe", "avr-objcopy.exe", "avrdude.exe" ikili dosyalarının tam yollarını yazmanız gerekebilir.

Geany'nin GNU Linux'ta nasıl yapılandırılacağı hakkında daha ayrıntılı olarak serideki önceki makalelerden birinde ele aldım.

Programın MK'de derlenmesi ve yanıp sönmesi

Programın derlenmesi, oluşturulması ve yanıp sönmesi Geany ortamında sırasıyla üç düğmeye basılarak yapılabilir: "Derle", "Oluştur" ve "Çalıştır". Ayrıca, tüm bu işlemler konsoldan gerçekleştirilebilir, işte bu eylemlere ilişkin komutlar (sırayla gerçekleştirin):

Avr-gcc -mmcu=attiny2313 -Os /tmp/avr-switch-test.c -o /tmp/avr-switch-test.o avr-objcopy -j .text -j .data -O ihex /tmp/avr- switch-test.o /tmp/avr-switch-test.hex avrdude -c usbasp -p t2313 -P usb -U flash:w:/tmp/avr-switch-test.hex

Tüm komutlar neredeyse tamamen (dosya adı değişiklikleri hariç) Geany ayarlarında düzelttiklerimizle aynıdır.

Çözüm

Deneyin basitliğine rağmen, portlarla çalışmanın çok önemli bazı teknik yönlerini de vurgulamaya çalıştım; sağlanan bilgi ve deneyim, ATMEL mikrokontrolörleri ile daha sonraki çalışmalarda ve çalışmalarda faydalı olacaktır.

2 KB Flash programlanabilir belleğe sahip 8 bit AVR mikro denetleyici

Özellikler:

  • AVR RISC mimarisi
  • AVR - yüksek kaliteli ve düşük güçlü RISC mimarisi
    Çoğu tek bir saat döngüsünde yürütülen 120 talimat
    32 8 bitlik genel amaçlı çalışma yazmaçları
    Tamamen statik mimari
  • RAM ve kalıcı program ve veri belleği
    Sistemde 2 KB kendi kendini programlama 10.000 yazma/silme döngüsüne dayanabilen Flash bellek programı
    100.000 yazma/silme döngüsüne dayanabilen 128 bayt sistem programlanabilir EEPROM veri belleği
    128 bayt dahili SRAM (statik RAM)
    Flash program belleği ve EEPROM veri belleğinin programlanabilir okuma koruması
  • Çevresel özellikler
    Ayrı ön ölçekleyicili bir adet 8 bitlik zamanlayıcı/sayıcı
    Ayrı ön ölçekleyici, karşılaştırma, yakalama ve iki PWM kanalına sahip bir adet 16 bit zamanlayıcı/sayıcı
    Dahili analog karşılaştırıcı
    Dahili jeneratörlü programlanabilir watchdog zamanlayıcısı
    USI - Evrensel Seri Arayüz
    Tam çift yönlü UART
  • Mikrodenetleyicinin özel özellikleri
    Dahili debugWIRE hata ayıklayıcısı
    SPI portu üzerinden sistem içi programlama
    Harici ve dahili kesme kaynakları
    Düşük tüketim modları Boşta, Güç Kapalı ve Beklemede
    Gelişmiş açılış sıfırlama devresi
    Programlanabilir Anlık Güç Kaybı Algılama Devresi
    Dahili kalibre edilmiş jeneratör
  • Giriş-çıkış bağlantı noktaları ve kasa tasarımı
    18 programlanabilir I/O hattı
    20 pinli PDIP, 20 pinli SOIC ve 32 pinli MLF paketleri
  • Besleme voltajı aralığı
    1,8 ila 5,5 V
  • Çalışma frekansı
    0 - 16 MHz
  • Tüketim
    Aktif mod:
    1 MHz ve 1,8 V besleme voltajında ​​300 μA
    32 kHz'de 20 μA ve 1,8 V besleme voltajı
    Düşük Güç Modu
    1,8 V besleme voltajında ​​0,5 µA

ATtiny2313 blok şeması:


Genel açıklama:

ATtiny2313, AVR RISC mimarisini temel alan düşük güçlü 8 bitlik bir CMOS mikro denetleyicisidir. Talimatları tek bir döngüde yürüterek ATtiny2313, 1 MHz osilatörde 1 MIPS verimi elde ederek tasarımcının güç/performans oranını optimize etmesine olanak tanır.

AVR çekirdeği, zengin bir talimat setini ve 32 genel amaçlı çalışma kaydını birleştirir. 32 kaydın tümü, bir talimatın yürütülmesi sırasında iki bağımsız kayda erişime izin veren aritmetik mantık ünitesine (ALU) doğrudan bağlıdır. Sonuç olarak bu mimari, standart CISC mimarisine göre onlarca kat daha iyi performans sağlar.

ATtiny2313 aşağıdaki özelliklere sahiptir: 2 KB Flash programlanabilir program belleği, 128 bayt EEPROM veri belleği, 128 bayt SRAM (statik RAM), 18 genel amaçlı I/O hattı, 32 genel amaçlı çalışma kaydı, yerleşik için tek kablolu arayüz hata ayıklayıcıda, karşılaştırma devrelerine sahip iki esnek zamanlayıcı/sayaç, dahili ve harici kesme kaynakları, seri programlanabilir USART, başlatma durumu dedektörlü evrensel seri arayüz, yerleşik osilatörlü programlanabilir watchdog zamanlayıcı ve üç programlanabilir güç kapatma modu. Bekleme modunda çekirdek durur ancak RAM, zamanlayıcılar/sayaçlar ve kesme sistemi çalışmaya devam eder. Güç kapatma modunda, kayıtlar değerlerini korur, ancak jeneratör durur ve bir sonraki kesintiye veya donanım sıfırlamasına kadar tüm cihaz işlevlerini engeller. Bekleme modunda, cihazın geri kalanı boştayken ana osilatör çalışır. Bu, mikroişlemcinin boşta gücü korurken çok hızlı bir şekilde başlatılmasını sağlar.

Cihaz, Atmel'in yüksek yoğunluklu kalıcı bellek teknolojisi kullanılarak üretilmiştir. Yerleşik ISP Flash, sistemdeki program belleğini seri SPI arayüzü veya geleneksel kalıcı bellek programlayıcı aracılığıyla yeniden programlamanıza olanak tanır. 8 bitlik RISC çekirdeğini kendi kendini programlayan Flash belleği tek bir yonga üzerinde birleştiren ATtiny2313, mikroişlemci sistem tasarımcısına daha fazla esneklik sağlayan güçlü bir mikro denetleyicidir.

ATtiny2313 mikrodenetleyici programlama nasıl yapılır? Yani, bir ATtiny2313 mikrodenetleyicimiz, bir LPT bağlantı noktamız (zorunlu demir - USB-2-LPT'ler çalışmıyor), birkaç kablomuz (uzunluğu 10 cm'den fazla değil) ve tabii ki bir havyamız var. Bir DB-25M konektörünün (erkek) olması arzu edilir, ona bir mikrodenetleyici bağlamak daha uygun olacaktır, ancak onsuz da yapabilirsiniz. Kabloları mikro denetleyicinin 1, 10, 17, 18, 19, 20 pinlerine lehimleyin. Fotoğraftakine benzer bir şey elde ediyoruz:


Bunu bağlayıcı olmadan yaptım (yalnızca anneler mevcuttu ...) ve şöyle oldu:


Doğru, LPT bağlantı noktam 1,5 metre uzunluğunda bir kablo kullanılarak masanın üzerine yerleştiriliyor. Ancak aynı zamanda kablonun korumalı olması gerekir, aksi takdirde alıcılar, parazitler olur ve hiçbir şey çalışmaz. Bu mikrodenetleyici programlama cihazının şeması aşağıdaki gibidir:


Tamamen dürüst olmak gerekirse, "doğru" programcının bir araya getirilmesi arzu edilir. Ve o zaman daha kolay olacak ve liman daha güvenli olacak. STK200/300 kullanıyorum. Daha sonra PonyProg2000 programını kullanıyoruz. Programa başladıktan sonra gerçek bir midilli gibi "kişneyecek...". Görüntülenen pencerede bunu artık duymamak için "Sesi devre dışı bırak" kutusunu işaretleyin. "Tamam"a basıyoruz. Programı kalibre etmeniz gerektiğini söyleyen bir pencere açılır. Bilgisayarlar farklı, yavaş ve çeviktir. "Tamam"a basıyoruz. Başka bir pencere açılır - bu bize arayüzü (hangi programcıya ve nereye bağlı olduğu) yapılandırmamız gerektiğini söyler. Bu yüzden menüye gidin: Kurulum -> Kalibrasyon. Görünen pencerede:


"EVET"e basıyoruz. Birkaç saniye geçiyor ve program "Kalibrasyon Tamam" diyor. Ardından menüye gidin: Kurulum -> Arayüz Kurulumu. Açılan pencerede şekilde gösterildiği gibi yapılandırın.


Şimdi menüye gidin: Komut -> Program Seçenekleri. Açılan pencerede şekilde gösterildiği gibi yapılandırın.


Programlama için her şey hazır!... Eylemlerin sırası şöyle:


1. "AVR mikro" listesinden seçim yapın
2. Başka bir listeden "ATtiny2313"ü seçin
3. Ürün yazılımı dosyasını yükleyin (Dosya -> Cihaz Dosyasını Aç), istediğiniz dosyayı seçin, örneğin "rm-1_full.hex".
4. "Program döngüsünü başlat" düğmesine tıklayın. Programlama tamamlandığında program "Program başarılı" diyecektir
5. Ve son olarak Sigortaları programlamanız gerekir. Bunu yapmak için "Güvenlik ve Yapılandırma Bitleri" düğmesini tıklayın. Açılan pencerede "Oku"ya tıklayın, ardından kutuları işaretleyin ve "Yaz"a tıklayın.

DİKKAT! Bunun veya bu konfigürasyon bitinin ne anlama geldiğini bilmiyorsanız, ona dokunmayın. Artık ATtiny2313 denetleyicimiz kullanıma hazır! Forumda PonyProg2000 programını ve orijinal makaleyi ek resimlerle birlikte indirebilirsiniz. Ansel73, Radioscheme web sitesi için materyal sağladı.

Mikrodenetleyici üzerinde bulunan bu cihaz, havada metin ve basit grafikler çizmenizi sağlar. İngiliz literatüründe bu cihazlara POV veya FlyText adı verilmektedir. Cihazın çalışma prensibi görüşümüzün ataletine dayanmaktadır.

Elektrik devre şeması bir ATtiny2313 mikrodenetleyici, 8 LED, bir çift direnç ve iki adet AA pilden oluşur. Acemi bir radyo amatörü bile bu cihazı monte edebilir. Cihaz küçük.

Benzer şemaların çoğunun aksine, bu şema, AVR ATtiny2313 mikro denetleyicisinin donanım yazılımını güncellemeden resimleri com-port aracılığıyla güncelleyebilir. Belirli bir metin veya çizim için her seferinde mikrodenetleyicinin donanım yazılımını derlemek gerekli değildir, ancak onu özel bir program kullanarak bilgisayarın COM bağlantı noktası üzerinden aktarmanız yeterlidir.

Havaya çizilecek resim veya yazı mikrokontrolcünün kalıcı EEPROM hafızasında saklanır. Güncelleme, bu kalıcı belleğin yanıp sönmesiyle gerçekleşir. Resimleri çizmek ve cihaza aktarmak için programı başlatmak ve havada çizim yapmak için cihazın kendisini bağlamak yeterlidir.

Devre kartı çok basittir ve o kadar küçüktür ki doğrudan AA pil paneline bağlanır.


Program metinleri, grafikleri düzenlemek ve cihaza aktarmak için böyle görünüyor.

Programla çalışmak oldukça basittir. Bir resmi düzenlemek için piksel matrisine tıklamanız ve ardından cihazı bağlamanız ve EEPROM belleğini yeniden yüklemeniz yeterlidir. Devre bir bilgisayara USB-UART adaptörü aracılığıyla veya FT232R veya MAX232 arayüz dönüştürücü yongalarına dayalı olarak bağlanabilir.

Daha sonra istediğiniz com-port numarasını seçin ve "Yükle" düğmesine tıklayın.

Bağlantı ayaklarının yeri aşağıda gösterilmiştir.

AVR ATtiny2313 mikrokontrolcüsü programı AVR Studio ve WinAVR kullanılarak yazılmıştır. Bilgisayar programı Microsoft Visual C# 2010 Express altında yazılmıştır. Baskılı devre kartı Eagle Cadsoft'ta çizilir ve ihtiyacınız olan her şeyi aşağıdaki arşivden indirin.

© 2023 bugulma-lada.ru - Araç sahipleri için portal