Sebagai pelengkap tipe mikrokontroler, kali ini saya tampilkan
mikrokontroler besutan microchip, PIC 16F877. Biasanya kan setiap
aplikasi mikrokontroler saya buat dengan tipe AVR ATmega, atau Arduino.
Ya sekedar supaya tidak mboseni, begitu orang jawa bilang, hehe…
Kurang terkenal sih, khususnya dikalangan temen – temen mahasiswa, wa bil khusus di Jogja. Kalo Tanya ke mbah gugel, tentu dia akan menemukan banyak tentang mikrokontroler ini.
Secara feature cukup lengkap, berani diadu dengan
mikrokontroler AVR ATmega. Ada ADC-nya juga, sama – sama mampu sampai
resolusi 10 bit. Lalu apa yang akan kita lakukan dengan mikrokontroler
PIC ini ? Ya sebagai awalan belajar, kita buat aplikasi yang sederhana
saja : mengontrol led yang disusun seperti traffic light atau lampu
merah, kalau di jogja namanya ‘bangjo’ (abang ijo, abang = merah, ijo = hijau, trus lampu kuning kemana ? hehe…).
Proteus kita pakai untuk simulasinya. Pertama ambil komponen mikrokontroler PIC16F877. Trus tambahkan empat TRAFFIC LIGHTS, koneksikan masing – masing lampu ke PORTB (RB0 – RB7) dank e PORTD (RD0 – RD3).
Kita ingin membuat lampu nyala – mati seperti di perempatan (prapatan). Pertama lampu hijau 1 nyala, lampu merah 2, merah 3 dan merah 4 juga nyala. Yang lain padam. Misalnya diberi delay 3 detik. kemudian gentian yang nyala kuning 1, merah 2, merah 3 dan merah 4. Demikian bergantian sampai terakhir yang nyala : merah 1, merah 2, merah 3 dan kuning 4.
Programnya dibuat dengan bahasa basic :
program TrafficLight
main:
TRISB = 0×00
TRISD = 0×00
While TRUE
‘step 1
PORTB = 0x4C
PORTD = 0×2
Delay_ms(3000)
‘step 2
PORTB = 0x4A
PORTD = 0×2
Delay_ms(2000)
‘step 3
PORTB = 0×61
PORTD = 0×2
Delay_ms(3000)
‘step 4
PORTB = 0×51
PORTD = 0×2
Delay_ms(2000)
‘step 5
PORTB = 0×9
PORTD = 0×3
Delay_ms(3000)
‘step 6
PORTB = 0×89
PORTD = 0×2
Delay_ms(2000)
‘step 7
PORTB = 0×49
PORTD = 0×8
Delay_ms(3000)
‘step 8
PORTB = 0×49
PORTD = 0×4
Delay_ms(2000)
wend
end.
Setelah di-build atau di-compile, isikan ke memori mikrokontroler PIC16F877, kemudian klik run, hasilnya pertama kali akan tampak berikut :
Gampang bukan ? Hampir – hampir mirip pakai BASCOM-AVR.
Proteus kita pakai untuk simulasinya. Pertama ambil komponen mikrokontroler PIC16F877. Trus tambahkan empat TRAFFIC LIGHTS, koneksikan masing – masing lampu ke PORTB (RB0 – RB7) dank e PORTD (RD0 – RD3).
Kita ingin membuat lampu nyala – mati seperti di perempatan (prapatan). Pertama lampu hijau 1 nyala, lampu merah 2, merah 3 dan merah 4 juga nyala. Yang lain padam. Misalnya diberi delay 3 detik. kemudian gentian yang nyala kuning 1, merah 2, merah 3 dan merah 4. Demikian bergantian sampai terakhir yang nyala : merah 1, merah 2, merah 3 dan kuning 4.
Programnya dibuat dengan bahasa basic :
program TrafficLight
main:
TRISB = 0×00
TRISD = 0×00
While TRUE
‘step 1
PORTB = 0x4C
PORTD = 0×2
Delay_ms(3000)
‘step 2
PORTB = 0x4A
PORTD = 0×2
Delay_ms(2000)
‘step 3
PORTB = 0×61
PORTD = 0×2
Delay_ms(3000)
‘step 4
PORTB = 0×51
PORTD = 0×2
Delay_ms(2000)
‘step 5
PORTB = 0×9
PORTD = 0×3
Delay_ms(3000)
‘step 6
PORTB = 0×89
PORTD = 0×2
Delay_ms(2000)
‘step 7
PORTB = 0×49
PORTD = 0×8
Delay_ms(3000)
‘step 8
PORTB = 0×49
PORTD = 0×4
Delay_ms(2000)
wend
end.
Setelah di-build atau di-compile, isikan ke memori mikrokontroler PIC16F877, kemudian klik run, hasilnya pertama kali akan tampak berikut :
Gampang bukan ? Hampir – hampir mirip pakai BASCOM-AVR.