Anda di halaman 1dari 4

How PIC Works I/O port : Pada port I/O terdapat 13 pin

Input/Output, 5 bit untuk port A dan 8 bit


untuk port B. Beberapa pin multiplexed
untuk fungsi lain, dalam block ini terdapat 4
register yang memilih arah dari setiap bit
port A untuk input/output dan TRISA yang
memilih setip bit input dan output. Dua
register lainnya untuk port B.

Gambar PIC 16F84

Pada PIC 16F84 hanya tersedia 35


kata instruksi untuk dipelajari. Perangkat
PIC mencapai kinerja tinggi mereka dengan
menggunakan fitur yang biasa ditemukan di
mikroprosesor RISC (Reduced Instruction
Set Computer). Sedangkan dalam
mikroprosesor standar, data dan instruksi
program berbagi alamat dan bus data yang
Gambar I/O Port
sama.
Karena bus alamat dan data tidak Pada gambar diatas ialah penjelasan
tergantung satu sama lain, bus ini dapat pembagian dari port Input/Output dimana
diukur secara individual dan diperlambat dari 13 pin (13 bit) yang tersedia untuk I/O,
oleh instruksi yang harus dibagikan di dua 5 pin I/O untuk port A dan 8 pin I/O untuk
atau lebih lokasi memori. port B. Pada port A input/output dimulai
dari bit 0 hingga bit 4 (pin RA0-RA4)
sedangkan pada port B input/output dimulai
dari bit 0 hingga bit 7(pin RB0-RB7).

Gambar Blockdiagram PIC 16F84 (I/O)


Gambar Blockdiagram PIC 16F84 (oscillator &
clock)
Pada gambar blockdiagram diatas
pada bagian control unit terdapat oscillator
& clock. Oscillator adalah rangkaian yang
akan memberikn pulsa pada mikrokontroler
dan berguna untuk mensinkronkan system
dalam mikrokontroler. Untuk mengaktifkan
sumber clock ini cukup dengan
menambahkan rangkaian pasif saja seperti
resistor dan kapasitor (RC Oscilator), kristal
atau kramik resonator. Pada mikrokontroler
PIC 16F84 terdapat 4 pilihan penggunaan
oscillator. Nilai Kristal yang dapat dipakai
maksimum adalah 4 MHz atau 10 MHz , hal Gambar Pengalamatan PIC
ini karena mikrokontroler PIC 16F84 dibuat
dalam 2 versi frekuensi kerja. Pada gambar diatas terdapat Progrm
Memory dan File Register, dimana pada
program memory pada saat terdapat input 0
maka perintah yang dijalankan yaitu
MOVLW D’15’ yamg berarti memidahkan
angka decimal menjadi 15, begitu juga pada
saat terdapat input lain seperti 1,2,3 maupun
4 maka perintah yang dijalankan sesuai
dengan input yang masuk pada program
memory. Perintah yang dijalankan oleh
program memory akan di proses oleh ALU
(Aritmatik Logic Unit). Sedangkan pada File
Register berisi alamat,variable dan contents,
Gambar Oscillator & Clock dimana pada saat alamat yang diakses
Pada oscillator 1 perintah dijalankan adalah 00 maka variablenya yang digunakan
oleh 4 clock (1 siklus), dimana pada gambar yaitu INDF (indirect), variable yang lain
diatas alamat 00 diakses sehingga pada akan dijalankan pada saat alamat variable
program memory menjalankan data tersebut diakses. Program Memory dan File
01010101010101 (1555H) dan ditampilkan Register terhubung langsung dengan ALU
pada oscillator dengan gelombang kotak. yang membuat proses lebih cepat, output
Begitu juga pada saat mengakses alamat yang dihasilkan oleh ALU disimpan pada
01,02,03 maupun 04 maka program memory Register W (W Register).
akan menjalankan data sesuai dengan alamat
yang di akses, clock dan oscillator sebagai
tempat untuk menampilakan (output) dari
alamat yang diakses.
Setelah data 11000000001111 masuk
ke Inst Register, selanjutnya Inst Register
akan memproses data tersebut sesuai dengan
perintah pada program memory yaitu
MOVLW D’15’, inst register juga akan
melakukan pengakses terhadapat alamat 00
pada File register sesuai dengan masukkan
pada program counter. Data yang awalnya
11000000001111 diambil 8 bit awal yaitu
00001111 yang selanjutnya dikirim menuju
MUX (Multiplexel), multiplexer sebelum
alu memilih operasi yang harus dilakukan
Gambar Proses Pengalamatan oleh alu. beberapa operasi ini termasuk
penambahan, pengurangan, pergeseran kiri,
Proses pengalamatan dalam PIC pergeseran kanan, dll. Setelah data melalui
16F84 dapat dilihat pada gambar di atas. MUX data selanjutnya dikirim menuju
Pada gambar diatas program counter ALU, dimana alu akan memproses data
memproses angka 0 selanjutnya akan tersebut sesuai dengan oprasi yang telah
dimasukkan pada program memory yang dipilih sebelumnya. Setelah proses pada
berarti angka 0 dari program counter akan ALU selesai data dikirm menuju W
mengakses alamat 0 pada program Register/ Register W.
memory,dimana alamat 0 pada program
memory berisi perintah MOVLW D’15’
(memindahkan angka decimal menjadi 15).
Alamat 0 pada program memory berisi data
11000000001111 yang selanjutnya dikirim
oleh program bus menuju register instruksi
(Inst Register), proses selanjutnya bisa
dilihat pada gambar dibawah ini.

Gambar Proses Pengalamatan

Setelah proses pengalamatan pertama


selesai, program counter menerima
masukkan 1 yang akan dikirim menuju
program memory. Pada program memory
Gambar Proses Pengalamatan masukkan 1 dari program counter yang
berarti mengakses alamat 1 yang berisi Sedangkan pada ALU, ALU akan
perintah MOVWF data 2, dimana perintah memproses kembali data yang berada pada
tersebut akan memproses data W Register dan akan mengirimkan data
00000010001100 data tersebut kemudian tersebut menuju file register, seperti terlihat
akan dikirim menuju inst Register seperti pada gambar sebelumnya.
yang terlihat pada gambar berikut :

Gambar Proses Pengalamatan

Selanjutnya pada inst register data


tersebut akan diproses sesuai dengan
perintah yang ada pada alamat yang diakses
yaitu MOVWF data 2. Dari inst register
akan mengirim menuju alamat register untuk
mengakses alamat yang sesuai dengan
masukkan pada program counter, setelah
alamat pada file register diakses file register
akan menyimpan alamat data tersebut, pada
kasus diatas yaitu program counter
menerima masukkan 1 sehingga file register
akan menyimpan data alamat 01
(00000001).

Anda mungkin juga menyukai