PIC MİKRODENETLEYİCİ
Bugün size Pıc Mikrodenetleyici hakkında bir kaç bilgi vereceğiz..
PIC Mikrodenetleyici Giriş
Bir mikroişlemci ile ne yapabilirim?
Cevap: hemen hemen her Projeyi kolayca ...
Mikrodenetleyiciler size projeler oluşturmanız için fantastik bir yol verir. Bir PIC mikro hafıza ve RAM inşa ve size projeleri (veya etrafında projeleri oluşturmak) kontrol etmek için kullanabilirsiniz.Bu yüzden bina kaydeder bir devre . Ayrı bir harici RAM, ROM ve periferik fiş Modül birçok yararlı yerleşik olan çok güçlü bir cihaz olması bu gerçekten sizin için ne anlama gelir?
Örneğin
- Hatta sadece bu dört modül (bu sadece örnek modülleri not daha vardır) ile birçok proje gibi makyaj yapabilirsiniz: * Frekans sayacı . - UART (RS232) veya LCD çıkışı üzerinden iç sayaçları ve raporlama kullanarak * Kapasite metre - analog karşılaştırıcı osilatör. * Olay sayacı - . dahili sayaçlarını kullanarak * Olay veri kayıt -yakalama dahili ADC kullanarak ve yüksek veri için harici bir I2C kullanarak veri depolamak için (dahili EEPROM kullanarak analog veri depolama kapasitesi . * Servo kontrol (UART üzerinden kontrol ) -. dahili PWM modülü kullanılarak veya PWM oluşturulan bir yazılımı kullanarak PIC Mikro olduğu en popüler mikroişlemcisi bir ve durumda bir arasındaki fark merak mikroişlemci ve mikro denetleyici bir mikroişlemci dahili bellek ile bir iç veri yolu olmasıdır . ve çevre birimleri . Aslında 12F675 en 8 pin (DIL) sürüm iç çevre birimleri inanılmaz bir numarası vardır Bunlar:
- İki sayaçları.
- 4 seçilebilir girişli bir 10bit ADC.
- Bir iç osilatör (ya da harici bir kristal kullanabilirsiniz).
- Bir analog karşılaştırıcı.
- Program hafızası 1024 kelime.
- RAM 64 bayt.
- EEPROM bellek 128 Byte.
- Dış kesme (aynı zamanda iç çevre birimi kesmeleri).
- Dış kristal 20MHz kadar gidebilir.
- ICSP: PIC standart programlama arabirimi.
Ve bir 8 pin DIP paket içinde bu işin her!
Orta sınıf cihazlarda 1k dan 8k (18F parçalar daha fazla olması) için bellek alanı aralıkları - Bu çok gibi görünmüyor ama işlemci etkin bir komut seti vardır ve hatta 1k örneğin LM35 ile yararlı projeler yapabilirsiniz sıcaklık algılama proje seri bağlantı noktasına veri raporlar kolayca 1k dahilinde ulaştırılır.
Özellikler
Aslında bir PIC mikro dahili RAM, EEROM FLASH bellek ve çevre birimleri ile inanılmaz güçlü bir tam özellikli işlemcisi. En küçük olanları biri 555 zamanlayıcı yer kaplar ama 10bit bellek 1k ADC, 2 sayaçları, yüksek akım I / O portları bir karşılaştırma bir saat köpek zamanlayıcı vardır ... Daha fazlası var gibi gidebiliriz!
Programlama
Bir en kullanışlı özelliklerinden biri PIC mikro (Eğer bir F bir parçası seçerseniz onlar flash bellek kullanımı gibi bunları yeniden programlamak gerekebilir parça numarası 12F675 değil 12C509 gibi). Ayrıca her yerleşik ICSP seri arabirim kullanabilirsiniz PIC Mikrodenetleyici programlama ve hala devre takılı var iken bile programlama yoktur! Bu programı bir birini yapabilirsiniz PIC mikro montaj ya da üst düzey bir dil kullanarak ve bir kullanmanızı öneririz yüksek düzeyde dil gibi C olarak (bir başlangıç öğrenme eğrisi sonra) kullanımı çok daha kolay olduğu gibi. Sonra size bir AVR veya Dallas mikro gidin ve hala aynı yüksek düzeyde dil kullanabilirsiniz aynı işlemci örneğin kullanmak zorunda değildir üst düzey dil öğrendim.
Giriş / Çıkış - I / O
Bir PIC Mikrodenetleyici çıkışları kontrol etmek ve bir röle sürücü veya giriş düğmeleri okuyabilir örneğin girişlerine tepki. daha büyük cihazlar sayesinde LCD veya sürücü mümkün yedi segment tüm iş PIC Mikro içinde yapıldığı gibi çok az kontrol hatları ile görüntülenir.
Bir karşılaştırma frekans sayacı size ayrı bir tasarım için mikro tasarım ve on veya daha fazla için iki veya üç fiş bulacaksınız ayrık web tasarımları için. Bu yüzden onları kullanarak devre çalışmasına çok dikkat çekmek için çevre birimleri inşa kullanabilirsiniz olarak prototip tasarım emek tasarrufu sağlar.
Birçok şimdi ADC yerleşik bir var okuyabilirsiniz harici cihazlar örneğin eklemenize gerek kalmaz analog sinyal seviyeleri okuyabilirsiniz bir LM35 sıcaklık sensörü herhangi bir arayüzü mantığı ile doğrudan.
Çevre Birimleri
PIC mikro birçok çevre birimleri inşa etti ve bu ilk başta oldukça zordur. Her büyük periferik blok bir özeti ile bu giriş sayfası yapmamızın nedeni budur.
Sonunda kısa bir özetidir projelerde kullanılan ana cihazlar bu sitede gösterilen. başlamak için en iyi yolu bir çip temel özellikleri hakkında bilgi edinmek ve daha sonra bir projede her periferik kullanmaya başlayacak. Ben yaparak öğrenme en iyi yol olduğunu düşünüyorum.
PIC mikro Özellik | PIC mikro özellik açıklaması |
Flash bellek | Yeniden programlanabilir programı depolama. |
RAM | Değişkenler için bellek depolama. |
EEPROM | Uzun vadeli istikrarlı bellek: Elektrikle Silinebilir Programlanabilir Salt Okunur Bellek. |
I / O portları | Yüksek akım Giriş / Çıkış bağlantı noktaları (pin yön değişimi) . |
Zamanlayıcılar / Sayıcılar | Genellikle 3. |
USART | RS232 protokolü (sadece seviye tercümecisi çip gerekiyor) Dahili. |
ÇKP | / PWM modülü karşılaştırın / yakalayın. |
SSP | I2C ve SPI Arayüzü. |
Karşılaştırma | Bir analog karşılaştırıcı ve iç gerilim referans. |
ADC | Dijital dönüştürücü analog. |
PSP | Paralel Slave Bağlantı Noktası (8 bit için mikroişlemci sistemleri). |
LCD | LCD arabirimi. |
Özellikler | ICSP , WDT, BOR, POR, PWRT, OST, UYKU |
ICSP | Basit bir programlama Devre Seri Programlama kullanarak. |
Not: Bu en önemli özelliklerinden bazılarıdır
(bazı cips bunların hepsi var ve bazı yoktur).
Flash bellek
Bu program depolama alanıdır ve en önemli yararı bir kullanmak için PIC mikro - Cihazın birçok kez programlanması gerekmektedir. Zaman herkes ilk seferde doğru bir program olsun . Cihazlar bu sitede projelerde kullanılan kadar yeniden programlanabilir 100.000 onlar Flash bellek kullanımı gibi kat (muhtemelen daha fazla) - bu bölüm adına F harfi var. Sen daha ucuz (OTP) cihazlar alabilirsiniz ama bu One-Time-Programlanabilir olan, bir kez tekrar programlayamazsınız programlanmış!
ICSP
Devre Seri Programlama ( ICSP ) olan sonraki en önemli yarar. Bunun yerine programcı itibaren gelişimi kurulu için çip aktarma sadece kurulumunda bırakın.Devre için programlama bağlantıları düzenleyerek doğru bir çip kaldırmak gerekmez! Şunları yapabilirsiniz yeniden programlamak hala var iken cihazın devrede sizin programcı sensiz bankta bırakın ve programları test edebilirsiniz kurulum zamanlar çok etrafında çip hareket ve tüm süreç çok daha kolay hale getirir.
I / O Portları
Giriş / Çıkış portları izin iletişim size led, LCD ya da sadece hakkında doğru arayüzü ile bir şey kontrol böylece dış dünya ile. Ayrıca bilgi toplamak için girdi olarak ayarlayabilirsiniz.
Pim yönünde
En PIC mikro işaretçilerine bir giriş veya ve çıkış olarak ayarlanabilir ve bu bir iğne veri oluşturmak ve daha sonraki bir aşamada okumak için yazılabilir bir dallas 1 telli sistem için sinek gibi yapılabilir. TRIS kayıt I / O yönünü kontrol eder ve bu kayıt biraz ayarı sıfır olarak set pin çıkış olarak ayarlarken bir set olarak pin giriş olur. Bu, örneğin birden fazla işlemler için bir iğne kullanmanıza olanak verir Real Time saati proje RA0 kullanan, bir için çıkış verilerine PORTA ilk pim, yedi segment ekran ve daha sonraki bir noktada programı okumak bir giriş olarak analog değer.
Akım
PIC I / O portları doğrudan LED (en fazla 25mA çıkış akımı) sürüş kapasitesine sahip yüksek akım bağlantı noktaları - toplam akım izin genellikle ~ Bu tüm çip (veya birlikte kombine çok portu için belirtilen) için genellikle 200mA.
Zamanlayıcı / Sayıcılar
Her PIC mikro ya bir zamanlayıcı ya da bir karşı (Zamanlayıcı 1 ve 2) veya baud saat (Zamanlayıcı 2) olarak kullanabileceğiniz üç sayaçları kadar vardır.
Zamanlayıcı 0
Orijinal Zamanlayıcı: Zamanlayıcı 0 ilk zamanlayıcı geliştirilmiş ve tüm erken cihazlarda bulabilirsiniz g, 16F877A, en güncel e 16F84 kadar örneğin oldu. Bu tahrik edilebilir bir 8 bit ön ölçekleme ile 8 bit zamanlayıcı dahili (Fosc / 4) veya harici saat. Sayısı 255 den sıfıra gittiğinde bu taşma bir kesme üretir.(dış saat kullanırken) Zamanlayıcı 0 her zaman giriş saati senkronize eder.Not: okuyabilirsiniz ve yazma zamanlayıcı 0 ancak ön ölçekleme okuyamaz.Not: ön ölçekleme kullanımı bağlı olarak 2 ya da 1 kadar aynı ön ölçekleme ayarı olabilir skala - etkisi bir zamanlayıcı ön ölçekleme veya bir saat köpek ön ölçekleme olmasına bağlı olarak değişir!
Zamanlayıcı 1
Bu 65535 den sıfıra gittiğinde bir taşma kesme üreten bir 16 bit zamanlayıcı.Bir 8 bit programlanabilir ön ölçekleme vardır ve dahili saati (Fosc / 4) veya harici bir pin onu sürebilirsin.O tetikleme yanlış harici pin girişi için isteğe bağlı giriş Synchronizer vardır ortadan kaldırmak için. Bu zamanlayıcı uyku modunda kullanılabilir ve taşma bir uyandırma kesme oluşturur. Zamanlayıcı 1 de bir olay zaman yakalamak için ÇKP modülü tarafından okunur. Not: uyku modunda bu zamanlayıcı kullanarak daha güncel kullanacaktır.
Buna ek olarak düşük güç saat kristal sürmek için kullanılabilir. Bu kulağa hoş geliyor ama izlemek kristalleri doğru sürmek için son derece zor olduğu gibi ben bunu tavsiye etmiyorum. Bir pcb yapmak ve gürültüsüz yapımında tüm kurallara uymayı gidiyoruz, yalnızca kullanmalısınız. Ben bir DS1307 kullanılan Real Time saati proje doğrudan kristal sürücüler ama bu bile doğru çalışma almak zordur.
Zamanlayıcı 2
Bu 8 bit ön ölçekleme ve 8 bit postscaler ile 8 bit zamanlayıcı olduğunu. Bu, sadece iç osilatör (Fosc / 4), giriş alır. PWM aktif olduğunu ve bir veri iletişim saat olarak SSP modülü tarafından seçilen yazılım olabilir Bu zamanlayıcı, PWM tabanı için kullanılır.
Ayrıca dönemin kolay kontrol sağlayan bir dönemde kayıt vardır. zamanlayıcı 2 sonra PR2 kayıt değerine ulaştığında bu sıfırlar. Böylece ana saatin katları dönemleri ile hızlı saatler üretebilir - bu yazılım zamanlayıcı değerini kontrol ve zamanlayıcı sıfırlamak ve donanım yapılır bu yana işlem çok daha hızlı zorunda kaydeder.
USART
USART yararlı bir modül ve değerli program bellek kaydeder böylece bir yazılım sürümünü kodlamak zorundadır. Sen RS232 hakkında daha fazla bilgi bulabilirsiniz burada ve nasıl çalışması . Bakın burada pin çıkışları için. bir PC seri bağlantı noktasına arayüz gereken bir MAX232 çip (veya eşdeğeri). Not: Bir eşdeğer MAX232 çip MAX232 aynı yapısından ancak 100nF kapasitörler kullanmanızı sağlar SP202ECP olan - böylece büyük 1uF kapaklar gerekmez.
Hızları
Bu 'gerçek' hızları ile çok iyi uymaz genel kullanım ve normal osilatör değerleri ana saat bağlı olarak hızları kullanırken dikkatli olmak zorunda.
Belirli bir saat hızı için beklenen yüzde hata gösterir ve genel olarak daha yüksek ana saat alt hata mikroçip veri sayfası DS33023A içinde hızları bir tablo vardır.
Sen bazen saat hızı ve istediğiniz baud hızı ile daha iyi bir uyum elde etmek kayıt ayarları ile oynamak zorunda. Bir örnek bir 8MHz saat için - Eğer BRGH = 1 ve 38.4kbaud doğru hızları kalkmak bir 8MHz saat (16F88 veri bakınız) kullanıyorsanız. Bu mikroC = 0 böylece 8MHz de iletişim hızı 9.6kbaud sadece doğru USART rutin kullanım BRGH içinde yerleşiktir örneğin çalışmaya zorlar.
Eğer bir süper-doğru iletişim hızı istiyorsanız en iyi yol iletişim hızı yani ihtiyacınız olan kristal bulmak için baud hızı denklemleri geriye çalışmak size veren biten bir saat kristal kullanmaktır.
ÇKP
Yakalama / PWM modülü üç çalışma modu vardır / karşılaştırın:
- Yakalama - Bir olay sırasında yakalayın.
- Karşılaştırma - Zamanlayıcı 1 değere ulaştığında bir çıkış oluşturun.
- PWM - Darbe Genişlik Modülasyonu.
Ele geçirmek
Çekim moduna ÇKP pin bir sinyal yüksek gittiğinde (veya ÇKP kurmak nasıl bağlı düşük) Zamanlayıcı 1 değerini yakalamak için kullanılır. Bu darbe zaman yönetimi için kullanılabilir böylece ÇKP doğru ÇKP pin bir sinyal gelişi zaman yakalayabilir.
Karşılaştırmak
Karşılaştırma modu Zamanlayıcı 1 CCPR1 koymak bir değere ulaştığında bir çıktı oluşturmak için kullanılır. Bir özel bir olay tetikleme modu karşılaştırma modu tetikler zaman ADC başlayalım.
PWM
PWM, 10 bit çözünürlük ile ve herhangi bir yazılım havai ile bir Darbe Genişliği Modülasyonu çıkış verir -. Kez görev döngüsü değiştirmek istediğiniz sürece kendi başına faaliyet başlatılmış olur.Bu tanımlamak için kayıt Zamanlayıcı 2 süresi kullanarak işlem için Zamanlayıcı 2 kullanır . PWM frekans Not: görev döngüsü, çıkış yüksek olduğunu PWM saatin dönemi sayısını bir oran değil!
SSP
Senkron Seri Port ya SPI (Serial Peripheral Interface) veya I2C (Inter IC iletişim) protokolleri kullanan cihazlar ile iletişim sağlar. Tam Yüksek Lisans modu I2C çalışması için MSSP cihazı (Master Senkron Seri Port) olan bir PIC cihaz seçmeniz gerekir unutmayın.
Sadece bir zaman (ya da I2C biraz da rutin çarptım kullanabilirsiniz az bir kullanabilmesi için SPI ve I2C paylaşılır Gerçek Zaman Saati , aynı anda her iki proje için).
Karşılaştırma ve karşılaştırma gerilim referans
Karşılaştırıcı 8 farklı yollardan biriyle kurulabilir iki analog karşılaştırıcı modülüdür. Ya dijital veya analog giriş referans gerilimleri ile karşılaştırılabilir.bir modunda bir dahili olarak üretilen gerilim referans hem de karşılaştırma için bir girdi olarak ve aynı modda çoğullama içinde en fazla dört farklı giriş işaretçilerine için izlemek sağlaması için kullanılır. Hatta çıkış gönderebilirsiniz Eğer ekstra bir çip gerekmezse bir karşılaştırma gereken yere! bir devrede mikro örneğin bağımsız olarak kullanılır, böylece bir pin karşılaştırıcının analog seviyesi Vdd ve koruma diyotları olarak Vss arasında olmalıdır şey izin vermez başka. karşılaştırıcı çıkışı değişir., modül bir kesme üretecektir Uyku modunda kullanabilirsiniz ve kesme o uyanacak. analog sinyal kaynağı empedansı 10k daha küçük olmalıdır.
ADC
Dijital Converter Analog tek 10 bit kadar giriş işaretçilerine gelen çoğaltılmış bir cihaz için 8 girişlerine sahip olabilir. ADC uyku sırasında kullanılan ancak RC saat modunu kullanmak zorunda olabilir. Bu bir yararı daha iyi dönüşüm doğruluğu alacak kadar hiçbir dijital anahtarlama gürültüsü olacak olmasıdır.
16F877A için sadece analog giriş işaretçilerine etkin olması için pek çok yol sadece belirli ve sınırlı sayıda var gibi ihtiyacı hissediyorum bir analog giriş kullanmayı seçemezsiniz. Eğer siz de birkaç analog giriş etkinleştirmeniz gerekebilir bulur sadece AN5 kullanarak bir tasarım başladı eğer analog giriş örneğin etkin edilebileceği için veri görmek - Bu AN0 ile başlar ve gerektiğinde daha eklemek için en iyisi!
16F675 4 analog giriş işaretçilerine ölçebilirsiniz!
PSP
Paralel Slave Port mikroişlemci sistemine doğrudan PIC mikro bağlamak için olanak sağlar. Tüm aktif düşük - Bir 8 bit veri yolu ve RD (okuma) WR (yazma) ve CS (chip select) girişleri okuma / yazma sağlar.
Bu PIC mikro çevre eşlenen bir bellek olarak tedavi edilebilir böylece bir sisteme bir PIC mikro ekleyelim olacaktır. Bu mikro bazı bellek veya ram örneğin başka bir mikroişlemci yapı taşı olduğu gibi olsa görür ancak bu durumda yapı taşı yani yeniden programı PIC mikro hemen her şey yapmak için tam olarak ne üzerinde tam denetime sahip izin verir.
Bu zaten var olan bir 8 bit sistem için bir PIC mikro eklemek için kolay bir yol sağlar.
LCD
LCD arabirimi doğrudan bu tür HD44780 gibi bir LCD modülü kullanmak zorunda tasarrufu LCD için arayüz sağlar. Bir çip (HD44780) kaldırarak bir üretim vadede para tasarrufu başka bir ticari gereklilik olduğu gibi bu özellik kullanmadıysanız. Ben bir grafik LCD sürüş yeteneğine sahip olduğunu düşünüyorum.
Özellikler
ICSP | Devre Seri Programlama | tıklayın burada (ICSP bölümüne atlar). |
WDT | Köpek zamanlayıcı izle | Bu bir yazılım hatası koruyucudur. |
BOR | Sıfırlamak Out Kahverengi | Bu algılar güç kaynağı dips biraz ve sıfırlar cihaz eğer öyleyse. |
POR | Reset Güç | Bu mikro başlatma başlar. |
PWRT | PoWeR kadar Zaman | Bir zaman gecikmesi Vdd artış izin. |
OST | Osilatör zamanlayıcı başlangıç | PWRT sonra 1.024 devir bekleyin. |
UYKU | PIC mikro uyku modu | Düşük güç moduna girin. |
WDT
Yazılım sonra karmakarışık giderse bu süre işlemciyi sıfırlar.Sıfırlama durdurmak için iyi huylu yazılımı periyodik bir resert durdurmak için CLRWDT talimat kesmeniz gerekir. WDT kendi osilatör kullanarak çalışır. Bu uyku ve hisse Timer 0 ön ölçekleme sırasında çalışır.
POR
Bu mclr üzerinde yükselen bir kenar algıladığında Sıfırla başlar Güç Açık mikro başlatma PIC.
PWRT
Bu daha sonra 72ms verirseniz bir POR sonra PIC mikro başlatılır.
OST
Osilatör başladı ve kararlı olduğunu sağlamak PWRT sonra 1.024 osilatör döngü için osilatör Başlangıç Timer gecikmeler (PWRT etkinse). Bu otomatik ve sadece kristal osilatör modları için kullanılan ve uykudan POR veya sonrasında sonra aktiftir.
UYKU
Uyku modu (ya da düşük güç tüketimi moduna) 'UYKU' komutu yürüterek girilir. Cihaz harici reset neden uykudan uyanmak olabilir, Köpek Timer zaman aşımı, INT pin RB port değişim veya çevresel kesme izleyin.
Proje cihaz genel bakış
Bu site özellikle mikroçip ürettiği farklı fiş yüzlerce üç PIC cihazları kullanır. Bu çok gibi görünmüyor ama hemen hemen her projede cihazlar kullanabilir ve onlarla yüzlerce proje yapabilirsiniz çevre birimleri inşa edecek kadar çok var.Diğer mikroçip cihazlar farklı durumlarda yararlıdır - belki de daha fazla var bellek ya da farklı çevre birimleri - Eğer inşa sisteme özel tasarımlarınızı istiyorsanız bu yararlıdır - ticari bir ortamda ama muhtemelen daha yararlı olduğu bir üretim vadede her kuruşu sayar.
Her üç cihazlar son derece güçlüdür ana fark, işaretçilerine ve bellek boyutu farklı sayıda olmasıdır. Not: Orada cihazlar yani kullanarak farklılıklar farklı bazı kayıtları var ama genel olarak bunları değişimi olabilir - bu . kolay yüksek düzeyde bir dil kullanarak yapılan bu sitede kullanılan cihazlar:
PIC mikro Cihaz | Mikro No Pins PIC | Mikroişlemci Flash bellek KELİMELER PIC |
12F675 | 8 | 1k |
16F88 | 18 | 4k |
16F877A | 40 | 8k |
Not: bellek boyutu Kwords olan mikroçip sitede bakıldığında - kbytes görmezden - Bu her öğretim kaplar ne gibi kword boyutu gerekiyor - kbyte boyutu mikro (muhtemelen) diğer türleri ile karşılaştırıldığında içindir. Bir 8 bit mikroişlemci (farklı program hafızası ve Harvard mimarisi kullanarak nedeniyle veri belleği) yani ama mikro veri yolu 8 bit genişliğindedir.
(Not:! Hepsinde F harfi var - programlanabilir sadece bir kez - - kendi OTP olarak gidip O ile bir parça satın almayın - Bu bir Flash yeniden programlanabilir bir parçası olduğu anlamına gelir sadece eğer bunu gerçekten emin) nihai tasarım var.
PIC Mikrodenetleyici Flash Bellek boyutu
O 1k hatta 8k yararlı olmayacak ama her PIC mikro sadece sadece birkaç talimatları olan bir akıllıca düzenlenmiş komut seti anlamına gelir RISC (İndirgenmiş Komut Seti Bilgisayar) kullandığı kadar küçük olduğunu düşünebilirsiniz. Orta mesafeli parça 35 talimatları var. Bu sitedeki tavsiye olarak üst düzey dil kullanırsanız o zaman sadece bellek küçük bir miktar ile bir çok şey anlamına gelir belirlenen öğretim çok farkında olmak gerekmez. ! Tam projeler 2k kelimeler sığacak çalışıyoruz rağmen bu sitede projelerin çoğuNot: daha fazla bellek ihtiyacınız varsa her zaman PIC mikroişlemcisi 18F serisi taşıyabilirsiniz. Başka bir seçenek bir I2C seri eprom eklemektir.
PIC mikro RAM ve EEPROM boyutu
PIC mikro RAM boyutu bu tüm değişkenler ve ara veri depolar olarak da önemlidir. Not: Genellikle için programı değiştirebilirsiniz kullanmak daha az RAM doğru değişken boyutları seçerek ya da programın nasıl çalıştığını değiştirerek Örneğin kayan nokta kullanmayın bu kayan nokta önlemek için sabit bir nokta operasyonu ile uzun tamsayı kullanabileceğiniz farklı değişken türü örneğin kullanmak değiştirmek.
PIC mikro EEROM : Elektrikle Silinebilir ROM gücü yukarı ve aşağı güç arasında kaydedilmesi gerekir veri depolamak için kullanılır. Bu alan okunabilir ve yazılabilir ve daha sık kullanım için tasarlanmıştır yani ana program mağaza çok daha uzun ömürlüdür.