RADYO ELEKTRONİK VE ELEKTRİK MÜHENDİSLİĞİ ANSİKLOPEDİSİ Modern PIC16, PIC12'nin PonyProg'da programlanması. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi Radyo elektroniği ve elektrik mühendisliği ansiklopedisi / Mikrodenetleyiciler Bildiğiniz gibi PonyProg programcısı, Microchip'ten sınırlı sayıda PICmicro mikrodenetleyici türünü (PIC12C50x PIC16F8x, PIC16F87x) programlamak için tasarlanmıştır. Ancak PIC12 ve PIC16 serisinin yeni mikrodenetleyicileri de dahil olmak üzere diğerlerini programlamak için kullanılabilir. Makalede bunun nasıl yapılacağı açıklanmaktadır. Birçok radyo amatör, tasarımlarını popüler PIC denetleyicisi PIC16F84'ü (PIC16F84A) temel alarak oluşturur. Ancak zaman durmuyor ve üretilen PICmicro mikrodenetleyicilerin (MCU'lar) yelpazesi sürekli genişliyor. PIC16F ve PIC12F serisinin yeni, daha gelişmiş MCU'ları ortaya çıktı (örneğin, PIC12F629, PIC12F675, PIC16F628, PIC16F630, PIC16F676). Sıfıra yakın bir giriş voltajıyla çalışabilen bir karşılaştırıcı içerirler; bu, tek beslemeli bir besleme için çok caziptir. Bileşimlerinde yer alan 10 bitlik ADC, özel mikro devrelerden daha kötü olmayan bir doğruluğa sahiptir; bu, bilgileri işlemek ve görüntülemek için daha büyük yeteneklerin yanı sıra, minimum sayıda harici elemanla benzersiz cihazlar oluşturmanıza olanak tanır. Yeni MK'ler daha büyük belleğe, ek zamanlayıcılara, evrensel bir iletişim bağlantı noktasına ve diğer iyileştirmelere sahiptir. Üstelik maliyetleri PIC16F84'ten çok daha düşük ve FLASH PIC16F630, PIC16C505'ten (her ikisi de 14 pinli paketlerde) daha ucuz. PIC12Fx'in bellek organizasyonu PIC16F84'ünkiyle aynıdır (tek sayfa), bu da çok pinli paketlerde MCU kullanımını gerektirmeyen programların uyarlanmasını kolaylaştırır. Tasarımlarınızda yeni mikrodenetleyiciler kullanmaya karar verirseniz, bunları incelemeden ve program yazmadan önce onları neye programlayacağınızı düşünün. Markalı bir programcıyı bir bilgisayar sistem biriminin maliyetiyle karşılaştırılabilir bir maliyetle satın almak radyo amatörleri için neredeyse imkansızdır. Ancak birçoğu PONYPROG programlayıcısını [1] bir araya getirdi. Yeni MK'leri programlamak için bunu nasıl kullanabileceğinizi bulalım. Tüm MK'ler üç kablolu bir veri yolu aracılığıyla programlanır. Programlama için Upp (programlama moduna transfer), CLK (senkronizasyon) ve DAT (veri) sinyalleri gereklidir. Programlayıcısı olmayan hobiciler, Şekil 1'deki şemaya göre monte edilmiş basit bir cihazı kullanabilirler. 5. PC'nin COM bağlantı noktasına bağlanır, MK'ye güç vermek için XNUMX V çıkış voltajına sahip ayrı bir kaynak kullanılır. "Ekipman Ayarları"nda programcının türünü belirtin - JDM API. Terminaller tabloya uygun olarak bağlanır. Programlama, güç kaynağı kullanılarak doğrudan bitmiş cihazda yapılabilir (yalnızca MK programlama pinlerinin ürün elemanları tarafından yönlendirilmesini ortadan kaldırmak gerekir). Programlama sırasında besleme voltajı 4,5...5,5 V arasında olmalıdır (gerekirse VD1 zener diyotunu seçin). Tabloda programlama sırasında kullanılan PIC16F84 ve PIC16F628 pinlerinin kullanım amaçlarının aynı olduğu yani programlayıcının aynı soketinde programlanabilecekleri görülmektedir. Diğer mikro devreler için adaptöre bağlı ek prizleri tabloya göre takmanız gerekecektir. PIC denetleyicileri hakkında daha detaylı bilgiye web sitesinden ulaşılabilir [2]. PonyProg programlayıcısında donanım değişikliği gerektirmediğinden ve mağazalarda diğerlerine göre daha kolay bulunabildiğinden, örnek olarak PIC16F628 kullanılarak daha fazla açıklama verilmiştir. Belirtildiği gibi, tüm PICmicro MK'ler üç kablo (daha doğrusu iki) aracılığıyla programlanır. Programlama protokolü (komutlar) da aynıdır. Program belleği 0000 adresinde başlar ve belirli bir çip tipindeki hacmine bağlı olarak biter. Bu, PonyProg listesinden bu parametreye uygun MK'yi seçerek istediğiniz programı kaydedebileceğiniz anlamına gelir. Bizim durumumuzda PIC16F871 uygundur. PonyProg penceresinin alt satırının bayt cinsinden bellek miktarını gösterdiği ve MK'nin teknik özelliklerinin genellikle sözcük sayısını (14 bit) gösterdiği dikkate alınmalıdır. Başka bir deyişle programcı daha büyük bir ses seviyesi gösterir. PIC16F871 ve PIC16F628 2048 kelimelik hafıza kapasitesine sahiptir. Ek olarak, bu, ilgili MK'nin .Ikr dosyasından (MPLAB kurulum klasöründe bulunur) standart Not Defteri programı kullanılarak okunarak kontrol edilebilir. Program hafıza adresi aşağıdaki şekilde gösterilir: KOD SAYFASI ADI=vektörler START=0x0 END=0x4 KORUNMALI (koşullu aktarımlar) KOD SAYFASI ADI=sayfa START=0x5 END=0x7FF (koşullu aktarımlar) Bu aşamada zaten program belleğine bilgi yazmayı deneyebilirsiniz. Bunun için 2048 kelimeden büyük olmayan herhangi bir HEX dosyası uygundur. Servis programını başlattıktan sonra cihazı bilgisayar bağlantı noktasına bağlayın, MK'yi uygun yuvaya takın ve ardından programlayıcının gücünü açın. Menüden PIC16F871'i seçin, seçilen HEX dosyasını yükleyin ve "Program belleğini yaz (FLASH)" butonuna tıklayın. MK ile ilgili sorunlar hakkında sizi bilgilendiren ve üç düğme içeren bir hata mesajı görünecektir (Şek. 2): “İptal Et” (iptal), “Yeniden Dene” (tekrar), “Yoksay” (yoksay). Sonuncuya tıklayın ("Yoksay") ve programlama işlemi başlayacaktır. Tamamlandığında, başarılı kaydı belirten bir mesaj görünmelidir. Programcı bir "Yazma Hatası" oluşturursa, ilgili komutu dikkate alarak program belleğinin içeriğini kontrol edin. Hataların varlığı, programcının çok hızlı çalıştığını gösterir (bu, bilgisayarda WINDOWS XP kuruluysa olur; WINDOWS 98'de program daha yavaş çalışır ve daha güvenilir şekilde yazar). Bunun nedeni ayrıca parazit (bağlantı kabloları çok uzunsa) ve nadir durumlarda antivirüs ve diğer arka plan programları olabilir. Giriş tamamen eksikse, programlayıcı donanımı arızalıdır veya program yanlış yapılandırılmıştır (menüde). Bir sonraki en önemli aşama konfigürasyon kelimesini yazmaktır. Adresi aynı zamanda ilgili MK'nin .Ikr dosyasında da bulunabilir. Dosyadaki satır şöyle görünür: CODEPAGE NAME=.config START=0x2007 END=0x2007 KORUNMALI (koşullu aktarımlar). Konfigürasyon kelimesi 0x2007 adresinde bulunur. Bizim durumumuzda PIC16F871 ve PIC16F628'in adresleri 2007'dir, yani ikameye uygundurlar (tüm PIC16 ve PIC12F için konfigürasyon kelimesinin bu adreste bulunduğunu belirtmek gerekir). PIC16F628 ve PIC16F871 için programlayıcı panelindeki tanımları farklı olduğundan ve hatalar mümkün olduğundan ve bazı bitler gri renkte olduğundan ve doğrudan ayarlanamadığından, konfigürasyon bitlerinin doğrudan programlayıcıda ayarlanması önerilmez. Bir programı derlerken MK yapılandırmasını yazmak daha iyidir. MPLAB için bu satırlar şöyle görünebilir: lude p16f628.inc> listesinde p=16f628 _config H'0242" '0242' değeri, konfigürasyon word'ündeki her bitin amacına göre derlenir ve sizin özel durumunuzda farklı olabilir. Tüm bitlerin ayrıntılı bir açıklaması web sitesinde bulunabilir [2]. Yapılandırma bitlerinin kısaltmaları, MPLAB kurulum klasöründeki ilgili MK'nin .INC dosyasında bulunur. Yaklaşık görünüm: BODEN ON EQU H'3FFF' BODEN OFF EQU H'3FBF' CP ALL EQU H'03FF' CP 75 EQU H'17FF' CP 50 EQU H'2BFF' CP KAPALI EQU H'3FFF' EQU H'3EFF'DE VERİ CP'Sİ VERİ CP KAPALI EQU H'3FFF' PWRTE KAPALI EQU H'3FFF' EQU H'3FF7' ÜZERİNDE PWRTE EQU H'3FFF'DE WDT WDT KAPALI EQU H'3FFB' EQU H'3FFF'DE LVP LVP KAPALI EQU H'3F7F' EQU H'3FFF'DE MCLRE MCLRE KAPALI EQU H'3FDF' ER OSC CLKOUT EQU H'3FFF' ER OSC NOCLKOUT EQU H'3FFE' INTRC OSC CLKOUT EQU H'3FFD' INTRC OSC NOCLKOUT EQU H'3FFC EXTCLK OSC EQU H'3FEF' LP OSC EQU H'3FEC XT OSC EQU H'3FED' HS OSC EQU H'3FEE' Bu gösterimi kullanarak giriş satırı şöyle görünebilir: __config CP_ALL & WDT KAPALI & BODEN AÇIK & _PWRTE_ON & _HSJ3SC &_LVP KAPALI ; (transferler şartlıdır). Bu şekilde herhangi bir MK için .INC dosyasını kullanarak bir konfigürasyon sözcüğü yazabilirsiniz. Bu, örneğin PIC16F627'nin daha ucuz bir PIC16F627A ile değiştirilmesi durumunda hazır bir programın uyarlanması durumunda kullanışlıdır. Yapılandırmayı program metnine eklediğinizde HEX dosyasına dahil edilecek ve gölgeli bitler de ayarlanacaktır. Konfigürasyon kelimesini, onu içeren programın HEX dosyasını okuyarak programlayıcıya girdikten sonra, uygun komutun girilmesiyle kayıt olağan şekilde gerçekleştirilir. Benzer şekilde MK'den de okunabilir. Konfigürasyonun yazıldıktan sonra programlayıcı konfigürasyon programlama panelini temizleyerek ve ardından konfigürasyonu MK'den okuyarak veya program belleğini okuma korumalı bir çipten okuyarak yazıldığından emin olabilirsiniz: konfigürasyonu yazmadan önce okunur. , ancak yazdıktan sonra değil (koruma ayarlanmışsa), Bu durumda, konfigürasyon korumalı mikro devrede de okunabilir. Kesinlikle gerekli olmadıkça güvenlik bitlerinin ayarlanması önerilmez. Gerçek şu ki, bazı MK'lerin farklı silme komutları vardır ve PonyProg'daki koruma bitleri silinmeyeceğinden bunları yeniden programlayamazsınız. Ancak korumasız bir çipe, içerdiği “firmware” üzerinden yazıldığında, yazılan kod önceki bilgileri silecek ve silmeye gerek kalmayacaktır. Ancak PIC16F627, PIC16F628 için bu geçerli değildir; içlerindeki bilgiler korkmadan korunabilir. PIC16F ve PIC12F MCU'larındaki veriler 2100p adresinden yerleştirildiği için veriler EEPROM'a olağan şekilde yazılır. Bunu .Ikr dosyasında da görüntüleyebilirsiniz. Örnek bir satır: KOD SAYFASI ADI=eedata START=0x2100 END=0x217F KORUNMALI (koşullu aktarımlar). PIC denetleyicileri için çeşitli - yalnızca veri alanının sonu (farklı hacimler nedeniyle): PIC16F628 - 128 için, PIC16F871 için - 64 bayt, ancak iş için ihtiyacınız olan hacim seçilen yedek parçanın EEPROM boyutunu aşmıyorsa çip (PIC16F871 için - 64 bayt) , o zaman menüdeki MK tipini değiştirmeden programlayabilirsiniz: PIC16F628'in fazla belleği kullanılmayacaktır. Daha büyük bir hacim yazmanız gerekiyorsa, programcı menüsünde MK tipini PIC16F628'e benzer bir bellek kapasitesiyle değiştirmelisiniz (bizim durumumuzda, EEPROM 16 baytlı bir PIC874F128'tür) ve her zamanki gibi yazmalısınız. Menüdeki MK tipini programlamanın herhangi bir aşamasında değiştirebilirsiniz. Şunu da belirtelim ki PIC16F874, PIC16F628'den iki kat daha büyük bir program belleğine sahip olmasına rağmen, menüde PIC16F874 ve hatta PIC16F877 (16K) ayarını yaparak ona bilgi yazabilirsiniz ancak kaydı kontrol ederken programcının bir hata mesajı. Gerçek şu ki, belleğin PIC16F628'de uygulanmayan bir kısmı okunurken, MK daha düşük adreslerde yazılmış bilgiler üretecektir (yüksek adres bitleri göz ardı edilir), yani. program belleği iki kez okunacaktır (PIC16F877'de - dört) zamanlar). Başka bir deyişle, bu programdaki bir hata değil, belleğin yeniden okunmasıdır; program normal şekilde yazılmıştır. Edebiyat
Yazar: A. Sizov, Ivanovo Diğer makalelere bakın bölüm Mikrodenetleyiciler. Oku ve yaz yararlı bu makaleye yapılan yorumlar. En son bilim ve teknoloji haberleri, yeni elektronikler: Sıcak biranın alkol içeriği
07.05.2024 Kumar bağımlılığı için başlıca risk faktörü
07.05.2024 Trafik gürültüsü civcivlerin büyümesini geciktiriyor
06.05.2024
Diğer ilginç haberler: ▪ Robot iki günde bir tuğla ev inşa ediyor ▪ Elektrikli bandajlar normal bandajlardan daha etkilidir ▪ Video kaydedici reklamları filtreler Bilim ve teknolojinin haber akışı, yeni elektronik
Ücretsiz Teknik Kitaplığın ilginç malzemeleri: ▪ saha bölümü Göstergeler, sensörler, dedektörler. Makale seçimi ▪ makale İnsanlar arasında yürümek. Popüler ifade ▪ makale Kayalara çivilenmiş tabut şeklindeki gömüler nerede bulunabilir? ayrıntılı cevap ▪ makale Krupoveyshchik. İş güvenliği ile ilgili standart talimat ▪ makale Analog radyo kontrol sistemi. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi ▪ makale Tristör şarj ünitesi. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi
Bu makaleye yorumunuzu bırakın: Bu sayfanın tüm dilleri Ana sayfa | Kütüphane | Makaleler | Site haritası | Site incelemeleri www.diagram.com.ua |