Mikrokontroler PIC16F84


Mikrokontroler PIC16F84 merupakan salah satu mikrokontroler dari keluarga PIC mikro yang popular digunakan sekarang ini, mulai dari pemula hingga para profesional. Hal tersebut karena PIC16F84 sangat praktis dan menggunakan teknologi FLASH memori sehingga dapat diprogram-hapus hingga seribu kali.

Keunggulan mikrokontroler jenis RISC ini dibanding dengan mikrokontroler 8-bit lain di kelasnya terutama terletak pada kecepatan dan kompresi kodenya. Selain itu, PIC16F84 juga tergolong praktis dan ringkas karena memiliki kemasan 18 pin dengan 13 jalur I/O. meskipun demikian, mikrokontroler PIC16F84 bukan termasuk mikrokontroler yang memiliki fitur yang lengkap. Dalam keluarga PICmikro, PIC16F84 tergolong mikrokontroler skala sedang (Mid-Range).

Fitur-Fitur PIC16F84

PIC16F84 bukanlah mikrokontroler yang istimewa dalam keluarga PICmikro. Namun demikian, PIC16F84 cukup mudah dipelajari dan dapat dibilang memiliki kemampuan yang handal sebagai mikrokontroler yang hanya memiliki kemasan 18 pin. Fitur-fitur pada PIC16F84 antara lain:
  1. Kapasitas memori program 1024 x 14 FLASH memori
  2. Ram berukuran 68 byte
  3. Memori data berukuran 64 byte pada EEPROM
  4. Memiliki 13 buah I/O (5 pada PortA dan 8 pada PortB)
  5. Merupakan mikrokontroler RISC, sehingga hanya memiliki 35 macan instruksi
  6. Memiliki Timer 8-bit dengan Prescaler 8-bit
  7. WatchDog Timer (WDT) dengan osilator internal
  8. Fuse untuk kode pengaman 
  9. Dapat langsung menghidupkan LED
  10. Pemrograman di dalam sistem (ICSP)
  11. Mode SLEEP untuk menghemat daya
  12. Kemasan fisik 18 pin DIP
  13. Tegangan operasi normal 5 VDC 

Deskripsi Pin-Pin

Pin Mikrokontroler PIC16F84
Pin Mikrokontroler PIC16F84
Mikrokontroler PIC16F84 diproduksi dalam kemasan 18 pin PDIP (Plastic Dual In Line) maupun 18 pin SO (Small Outline). Namun yang banyak dipasaran adalah dalam kemasan PDIP. Pin-pin untuk I/O sebanyak 13 pin, yang terdiri atas 5 pin untuk Port A dan 8 pin untuk Port B. Ada beberapa pin pada mikrokontroler ini yang memiliki fungsi ganda, yaitu pin 3, pin 4, pin 12, dan pin 13. Pin 3 dapat berfungsi sebagai pin I/O untuk Port A atau sebagai jalur input untuk clock eksternal. Pin 4 berfungsi sebagai pin reset dan juga dapat digunakan sebagai pin Vpp saat mode pemrograman. Sedangkan pin 12 dan pin 13 masing-masing berfungsi sebagai pin I/O dari Port B namun sekaligus juga dapat berfungsi sebagai pin clock dan data masukan pada pemrograman mikrokontroler.

Daftar pin-pin pada PIC16F84 beserta fungsinya
No.Pin
Nama Pin
Deskripsi
1
RA2 Pin kedua I/O Port A
2
RA3 Pin ketiga I/O Port A
3
RA 4 / TOCKI I/O Port A, input clock eksternal 
4
MCLR / Vpp Input Reset, tegangan Vpp untuk pemrograman
5
Vss Ground, 0 V
6
RB0 Pin ke-nol I/O Port B
7
RB1 Pin pertama I/O Port B
8
RB2 Pin kedua I/O Port B
9
RB3 Pin ketiga I/O Port B
10
RB4 Pin keempat I/O Port B
11
RB5 Pin kelima I/O Port B
12
RB6 Pin keenam I/O Port B, jalur clock pada mode pemrograman
13
RB7 Pin ketujuh I/O Port B, jalur data pada mode pemrograman
14
Vdd Pin untuk sumber tegangan positif (+5V)
15
OSC2 Pin osilator
16
OSC1 Pin osilator
17
RA0 Pin ke-nol Port A
18
RA1 Pin pertama I/O Port A

Memori Program

Memori program direalisasikan dalam teknologi FLASH memori yang memungkinkan pemrogram melakukan program-hapus hingga seribu kali. Pemrograman PIC16F84 dilakukan sebelum dipasang pada rangkaian aplikasi, atau ketika sistem sudah terpasang namun dikehendaki adanya up-dating pada program di dalamnya. Pemrograman berulang biasanya dilakukan pada saat pengembangan dan penyempurnaan sistem. Ukuran memori program untuk PIC16F84 adalah 1024 lokasi dengan lebar kata (Word) 14 bit. Lokasi 00h dan 04h berturut-turut digunakan untuk vektor reset dan vector interupsi.

CPU (Central Processing Unit) PIC16F84

Blok diagram PIC16F84
Blok diagram PIC16F84
CPU berperan sebagai otak dari mikrokontroler. Bagian ini bertanggung jawab untuk mengambil instruksi, melakukan dekode dan mengeksekusi instruksi. CPU terhubung kesemua bagian pada mikrokontroler. Fungsi terpenting dari CPU adalah melakukan dekode dan mengeksekusi suatu instruksi. Instruksi-instruksi dalam bahasa asembli terdiri atas opcode dan operan. Opcode  menyatakan proses yang harus dilakukan mikrokontroler. Sedangkan operan adalah bagian yang dioperasikan pada operasi aritmatika maupun logika. Agar mikrokontroler dapat mengerti perintah opcode, maka instruksi harus diterjemahkan kedalam runtun biner dengan kode “0” dan “1”. Tugas untuk menerjemahkan dari bahasa asembli ke bahasa mesin (bahasa yang dimengerti oleh mikrokontroler) dilakukan oleh translator (software Assembler atau Compiler).

ALU (Arithmatic and Logic Unit)

ALU pada mikrokontroler PIC16F84 lebarnya 8-bit yang dapat melaksanakan operasi penjumlahan, pengurangan, pergeseran dan operasi logika. Pada operasi dua operan, biasanya satu operan register kerja (Working Register = W). operan lainnya adalah register F (File Register), atau suatu konstanta. Operan diartikan sebagai suatu yang dioperasikan, sementara register F digunakan untuk menyebut register selain register W, baik GPR atau FSR. Sedangkan pada instruksi dengan operan tunggal, operan bisa berupa register W ataupun yang lain. Dalam operasi aritmatika dan logika, ALU akan mempengaruhi bit-bit dalam register STATUS.

Pembangkit Clock-Oscilator

Rangkaian osilator kristal
Rangkaian osilator kristal
Suatu mikrokontroler tidak akan dapat bekerja jika tidak diberi detak (clock) melalui suatu osilator. Osilator adalah rangkaian yang akan memberikan pulsa pada mikrokontroler dan berguna untuk mensinkronkan sistem dalam mikrokontroler tersebut. Untuk mengaktifkan sumber clock ini cukup dengan menambahkan rangkaian pasif saja seperti resistor dan kapasitor (RC Oscilator), kristal atau keramik resonator. Salah satu keistimewaan mikrokontroler PIC16F84 adalah terdapatnya 4 pilihan penggunaan osilator. Untuk pemakaian yang tidak memerlukan pewaktu kritis, bahkan dapat menggunakan sepasang resistor dan kapasitor saja sebagai osilator.

Nilai kristal yang dapat dipakai maksimum adalah 4 MHz atau 10 MHz, hal ini karena mikrokontroler PIC16F84 dibuat dalam 2 versi frekuensi kerja. Untuk menentukan frekuensi maksimumnya dapat dilihat pada badan mikrokontroler. Jika terdapat tulisan PIC16F84-04/P berarti frekuensi maksimum yang diijinkan adalah 4 MHz.

Daftar Pustaka

  • Andi Pratomo. (2004). Belajar Cepat dan Mudah Mikrokontroler PIC16F84. Jakarta: PT. Elex Media Komputindo.
  • Moh. Ibnu Malik, ST. (2003). Belajar Mikrokontroler PIC16F84. Jogjakarta: Gava Media 
Jangan lupa membagikan referensi ini jika bermanfaat

Terimakasih