Hayır, aslında PIC'yi programlamak için SPI, UART veya I 2 C kullanamazsınız . Bu amaçla özel bir kod yüklenmemiş bir PIC'ye yeni bir program (bootloader) almanın tek yolu harici donanım programlama arayüzünü kullanmaktır. Elektriksel olarak bu, Vss, MCLR, PGC ve PGD'ye bağlanma anlamına gelir. Programlayıcının Vdd'ye bağlı olması da yararlı olabilir, ancak Vdd seviyesi bilindiği ve programlayıcı buna göre ayarlandığı sürece bu çip için gerekli değildir.
Düşük seviye donanım arayüzü oldukça basittir. PGD, PGC'nin (saat çizgisi) düşen kenarında PIC tarafından örneklenen veri hattıdır. PIC'yi ilk olarak programlama moduna getirmek için, MCLR'deki belirli kenarlara göre özel bir 32 bit anahtar saatlenir (yüksek voltaj programlama ile ilgili aşağıdaki nota bakın).
Üst düzey protokol daha karmaşık hale gelir. Çoğu şey 6 bitlik komutlarla yapılır, bunlardan bazılarını 14 bitlik veri sözcükleri izler. Programlama spesifikasyonunu dikkatlice okumalısınız. Programlama özelliğinin veri sayfasından ayrı bir belge olduğunu unutmayın. Microchip web sitesinde özel PIC'nizin ürün sayfasına gidin ve belgeler bölümünde programlama spesifikasyonuna bir bağlantı bulacaksınız.
Yüksek voltaj programlama hakkında eklendi
Bu tür PIC'lerin programlama moduna girmenin iki yolu vardır: yüksek voltaj (HVP) ve düşük voltaj (LVP). Yüksek voltaj yöntemi, MCLR'nin 8 ila 9 volta yükseltilmesini ve programlama sırasında orada kalmasını gerektirir. Bu yöntem, PIC'de programlanmış olası verilerden bağımsız olarak daima çalışır.
Programlama moduna girmenin düşük voltaj yöntemi, normalde PGC ve PGD kullanarak MCLR'yi önce yüksek, sonra düşük, ardından özel bir 32 bit anahtar dizisinde saatleme yaparak başlar. Parça, doğru tuş dizisi üzerine programlama moduna girecek ve MCLR düşük tutulduğu sürece programlama modunda kalacaktır.
Düşük voltaj yöntemi, yapılandırma bitlerinden biri tarafından devre dışı bırakılabilir. Bununla birlikte, yapılandırma bitinin silinmiş durumu düşük voltajlı programlamaya izin verir, fabrikadan bu şekilde gönderilir ve bu yapılandırma biti, programlama yüksek voltaj yöntemiyle girildiyse LVP'ye izin vermeyecek şekilde ayarlanabilir. Bu nedenle, LVP'nin etkinleştirilmemesi için aşağıdakilerin tümü doğru olmalıdır:
- PIC en son HVP özellikli bir programlayıcı ile programlandı ve HVP program giriş modu kullanıldı.
- PIC'de programlanan HEX dosyası, yapılandırma sözcüğü 2'deki LVP bitini kasıtlı olarak silinmemiş duruma ayarlar.
LVP'yi devre dışı bırakmak neredeyse kasıtlı bir eylem ve doğru programcı gerektirdiğinden, muhtemelen hala etkindir. Bazı tuhaf nedenlerden dolayı kasıtlı olarak devre dışı bırakılmışsa, PIC'yi toplu silme (LVP'yi yeniden etkinleştirir) gerçekleştirecek kadar uzun süre programlama moduna almak için MCLR'ye 8-9 V beslemeniz gerekir.