Tidak, Anda tidak perlu, bahkan Anda tidak bisa, menggunakan SPI, UART, atau I 2 C untuk memprogram PIC. Satu- satunya cara untuk mendapatkan program baru menjadi PIC yang tidak memiliki kode khusus yang dimuat untuk tujuan itu (sebuah bootloader) adalah dengan menggunakan antarmuka pemrograman perangkat keras eksternal. Secara elektrik, ini berarti menghubungkan ke Vss, MCLR, PGC, dan PGD. Dapat bermanfaat untuk memiliki programmer yang terhubung ke Vdd, tetapi tidak perlu untuk chip ini selama level Vdd diketahui dan programmer menyesuaikannya.
Antarmuka perangkat keras tingkat rendah cukup sederhana. PGD adalah jalur data, yang diambil sampelnya oleh PIC pada ujung jatuh dari PGC (garis jam). Untuk mendapatkan PIC ke mode pemrograman di tempat pertama, kunci 32 bit khusus clock relatif terhadap tepi spesifik pada MCLR (meskipun lihat catatan di bawah ini mengenai pemrograman tegangan tinggi).
Protokol tingkat yang lebih tinggi menjadi lebih rumit. Sebagian besar hal dilakukan dengan perintah 6 bit, beberapa di antaranya diikuti oleh 14 kata data bit. Anda harus membaca spesifikasi pemrograman dengan cermat. Perhatikan bahwa spesifikasi pemrograman adalah dokumen terpisah dari lembar data. Buka halaman produk untuk PIC khusus Anda di situs web Microchip, dan Anda akan menemukan tautan ke spesifikasi pemrograman di bagian dokumen.
Ditambahkan tentang pemrograman tegangan tinggi
Jenis PIC ini memiliki dua cara untuk masuk ke mode pemrograman, tegangan tinggi (HVP) dan tegangan rendah (LVP). Metode tegangan tinggi memerlukan menaikkan MCLR antara 8 dan 9 volt dan tetap di sana selama pemrograman. Metode ini selalu berhasil, terlepas dari data yang mungkin diprogram ke dalam PIC.
Metode tegangan rendah memasuki mode pemrograman dimulai dengan mengendarai MCLR tinggi, kemudian rendah, kemudian clocking dalam urutan kunci 32 bit khusus menggunakan PGC dan PGD secara normal. Bagian akan memasuki mode pemrograman pada urutan tombol yang benar, dan akan tetap dalam mode pemrograman selama MCLR ditahan.
Metode tegangan rendah dapat dinonaktifkan oleh salah satu bit konfigurasi. Namun, keadaan terhapus dari bit konfigurasi memungkinkan pemrograman tegangan rendah, itu dikirim dari pabrik dengan cara itu, dan bit konfigurasi ini hanya dapat diatur untuk melarang LVP jika pemrograman dimasukkan dengan metode tegangan tinggi. Oleh karena itu, agar LVP tidak diaktifkan, semua yang berikut ini harus benar:
- PIC terakhir diprogram dengan pemrogram berkemampuan HVP, dan mode entri program HVP digunakan.
- File HEX yang diprogram ke dalam PIC dengan sengaja mengatur bit LVP pada kata konfigurasi 2 ke status tidak terhapus.
Karena menonaktifkan LVP cukup banyak membutuhkan tindakan yang disengaja dan programmer yang tepat, kemungkinan masih memungkinkan. Jika sengaja dinonaktifkan karena beberapa alasan aneh, maka Anda harus menyediakan 8-9 V pada MCLR untuk mendapatkan PIC ke mode pemrograman setidaknya cukup lama untuk melakukan penghapusan massal (yang mengaktifkan kembali LVP).