Rangkaian Downloader PIC (PIC Multi Programmer)

Ini adalah perangkat andalan saya ketika bereksperimen dengan mikrokontroler PIC, karena dengan satu perangkat ini kita sudah dapat memprogram berbagai macam mikrokontroler PIC yang termasuk keluarga PIC10F, PIC12C, PIC12F, PIC16F. selain itu perangkat downloader ini dapat dibuat dengan mudah karena menggunakan PCB single layer.

Hardware
  Skema rangkaian (klik pada gambar untuk lebih jelas)

PCB tampak atas (lebih detail download disini)
 

PCB tampak bawah (jalur PCB) lebih detail download disini

Penampakan
 
Software 
Untuk software bisa langsung di download disini 

 
Jenis Mikrokontroler yang di program dengan alat ini:
·         PIC12C508,PIC12C509
·         PIC12C508A,PIC12C509A
·         PIC12CE518,PIC12CE519
·         PIC12C671,PIC12C672,PIC12CE673,PIC12CE674
·         PIC12F508,PIC12F509 
·         PIC12F629,PIC12F635(1)(2),PIC12F675,PIC12F683(2)
·         PIC16C505
·         ,16C62B(3),
·         PIC16F627,PIC16F628
·         PIC16F627A(2),PIC16F628A,PIC16F648A
·         PIC16F630,PIC16F636(2),PIC16F676,PIC16F684(2),PIC16F688(2)
·         ,PIC16C711(3), PIC16C716(3)
·         PIC16C745(3),PIC16C765(3)
·         ,PIC16C771(7)
·         PIC16C773,PIC16C774
·         PIC16C781(7),
·         PIC16F818,PIC16F819
·         PIC16F84
·         PIC16F84A
·         PIC16F87(2),PIC16F88
·         PIC16F870(8),PIC16F871(8),PIC16F872,PIC16F873,PIC16F874(4),PIC16F876(5),PIC16F877(5)
·         PIC16F873A(5),PIC16F874A(5),PIC16F876A,PIC16F877A
·         PIC18F1320,PIC18F2320,PIC18F4320
·         PIC18F242,PIC18F252,PIC18F442,PIC18F452
·         PIC18F248,PIC18F258,PIC18F448,PIC18F458(3)
·         PIC18F4539(3)
Sumber : http://feng3.cool.ne.jp/en/pg5v2.html

Down Counter 3 Digit

Skema rangkaian Down Counter 4 Digit (Counter digital hitung mundur 999 - 0)
 Klik pada gambar untuk lebih jelas

Up Counter 4 Digit

Skema rangkaian Up Cunter 4 Digit (Counter digital hitung maju 0 - 9999)
Klik pada gambar untuk lebih jelas

0 - 30V DC Variabel Power Supply

Skema rangkaian Variabel Power Supply 0 - 30VDC, sangat cocok untuk yang suka bereksperimen, karena mudah dibuat dengan biaya rendah. arus maksimumnya adalah 1,5A.
 Untuk lebih jelas klik pada gambar.

Penjelasan Port Pada Mikrokontroler PIC16F84

Istilah "port" mengacu kepada sekelompok pin pada mikrokontroler yang dapat diakses secara bersamaan, atau di mana kita bisa mengatur kombinasi yang diinginkan dari nol dan satu, atau membaca status yang ada. Secara fisik, port adalah register di dalam mikrokontroler yang dihubungkan dengan kabel ke pin mikrokontroler. Port merupakan koneksi fisik dari Central Processing Unit dengan dunia luar (Perangkat Luar). Mikrokontroler menggunakan Port  untuk memantau atau mengontrol komponen atau perangkat lain. Karena fungsi, beberapa pin memiliki peran ganda seperti PA4/TOCKI misalnya, yang dalam waktu bersamaan bit keempat Port A dan input eksternal untuk Free-Run Counter. Seleksi salah satu dari dua fungsi pin dilakukan di salah satu register konfigurasi. Sebuah ilustrasi ini adalah T0CS bit kelima dalam register OPTION. Dengan memilih salah satu fungsi yang lainnya dinonaktifkan.

Semua port pin dapat ditunjuk sebagai input atau output , sesuai dengan kebutuhan perangkat yang sedang dikembangkan. Dalam rangka untuk mendefinisikan pin sebagai pin input atau output, kombinasi yang tepat dari nol dan satu harus ditulis dalam register TRIS. Jika bit yang sesuai dari register TRIS berisi logika "1", maka pin adalah pin masukan, dan jika sebaliknya  ini merupakan pin output. Setiap port memiliki register TRIS. Dengan demikian, port A memiliki TRISA, dan port B  TRISB.  PortA dan PORTB terletak pada register memori bank 0, sedangkan TRISA dan TRISB pin register  berlokasi di bank 1.

PORTB dan TRISB
PORTB berisi 8 pin. Register yang tepat untuk mengatur arah data adalah TRISB. Mengatur bit register TRISB mendefinisikan pin port sebagai input, dan mereset bit di register TRISB berarti mendefinisikan pin port yang sesuai sebagai output.
Setiap pin PORTB memiliki internal  pull-up resistor yang lemah (resistor yang mendefinisikan baris ke logika satu) yang dapat diaktifkan dengan mengatur ulang RBPU bit ketujuh dalam register OPTION. 'pull-up' ini resistor otomatis akan dimatikan bila pin port dikonfigurasi sebagai output. Bila mikrokontroler diaktifkan, pull-up dinonaktifkan.

Empat pin PORTB, RB7: RB4 dapat menyebabkan interupsi yang terjadi ketika status mereka berubah dari logika satu ke logika nol dan berlawanan. Hanya pin dikonfigurasi sebagai input dapat menyebabkan interupsi ini terjadi (jika ada RB7:. pin RB4 dikonfigurasi sebagai output, interrupt tidak akan dihasilkan pada perubahan status) opsi interupsi ini  bersama dengan internal pull-up resistor membuatnya lebih mudah untuk memecahkan masalah-masalah umum kita temukan dalam praktek misalnya keyboard matriks. 


bsf STATUS, RP0 ;Bank1
movlw 0x0F ;Mengatur pin input dan output
movwf TRISB ;Menulis ke register TRISB
bcf STATUS, RP0 ;Bank0
bsf PORTB, 4 ;PORTB <7:4>=0
bsf PORTB, 5  
bsf PORTB, 6  
bsf PORTB, 7

Contoh di atas menunjukkan bagaimana pin 0, 1, 2, dan 3 di set sebagai input, dan pin 4, 5, 6, dan 7 untuk output, setelah pin  output PORTB diatur ke satu.


PORTA dan TRISA
PORTA memiliki 5 pin yang berdampingan. Register yang sesuai untuk arah data TRISA pada alamat 85h. Seperti dengan PORTB, Mengset bit (1) di register TRISA juga mendefinisikan pin port yang sesuai sebagai input, dan mereset bit (0) di register TRISA mendefinisikan pin port yang sesuai sebagai output.

Penting untuk dicatat bahwa PORTA pin RA4  hanya dapat menjadi input. Pada pin ini juga terletak input eksternal untuk timer TMR0. 


bsf STATUS, RP0 ;Bank1
movlw b'11111100' ;Mengatur pin input dan output
movwf TRISA ;Menulis Register TRISA
bcf STATUS, RP0 ;Bank0

Contoh menunjukkan bagaimana pin 0, 1, 2, 3, dan 4 ditujukan sebagai input, dan pin 5, 6, dan 7 sebagai output.