Dalam Pembelajaran Mikrokontroler
kali ini kita akan membuat suatu simulasi Seven Segment yang akan membentuk
suatu satuan detik waktu maju. Yaitu detik 0 sampai detik 9. Kenapa hanya
sampai 9 karena Pembelajaran kali ini menggunakan satu digit seven segment yang
dimana maksimal hanya ada angka 9. Sebenarnya sih gampang saja membuatnya asal
kita tahu tata cara pengcodingannya. Sebelumnya kamu harus buat rangkaian
simulasinya di proteus 7 dengan menggunakan Seven Segment yang Katoda dengan
kaki satu mengarah ke bawah. Gunakanlah mikrokontroler ATmega16/32/8535 karena
disini saya menggunakan mikrokontroler tersebut. Lalu sambungkan ketujuh kaki
seven segment ke PORTC dan sisakan satu kaki mikrokontroler yang bawah. Lalu
berikan fround pada kaki satu seven segment. Jika Belum paham, lihat rangkain
yang sudah saya buat di proteus 7 ini :
Dalam membuat Coding saya
menggunakan aplikasi BASCOM-AVR yang dimana aplikasi ini menggunakan Bahasa
Basic untuk Menjalankan mikrokontrolernya. Berikut ini adalah Bahasa
Pemrogramannya untuk menjalankan Seven Segment Satu Digit Count-up.
1). Menjalankan Seven Segment
Secara Langsung
$regfile = "m16def.dat"
$crystal = 12000000
Config Portc = Output
C Alias Portc
7segment:
C = &B00111111 : Waitms 20
C = &B00000110 : Waitms 20
C = &B01011011 : Waitms 20
C = &B01001111 : Waitms 20
C = &B01100110 : Waitms 20
C = &B01101101 : Waitms 20
C = &B01111101 : Waitms 20
C = &B00000111 : Waitms 20
C = &B01111111 : Waitms 20
C = &B01101111 : Waitms 20
Goto 7segment
End
2) Menjalankan Seven Segment menggunakan Push Button
$regfile = "m16def.dat"
$crystal = 12000000
Config Portc = Output
Config Porta = Input
C Alias Portc
Pb:
If Pina.0 = 1 Then
Gosub 7segment
End If
Goto Pb
7segment:
C = &B00111111 : Waitms 20
C = &B00000110 : Waitms 20
C = &B01011011 : Waitms 20
C = &B01001111 : Waitms 20
C = &B01100110 : Waitms 20
C = &B01101101 : Waitms 20
C = &B01111101 : Waitms 20
C = &B00000111 : Waitms 20
C = &B01111111 : Waitms 20
C = &B01101111 : Waitms 20
Goto 7segment
End
Penjelasan Program :
$regfile = "m16def.dat"
Pernyataan
ini menunjukkan bahwa program yang kita buat ikut melibatkan file pre-prosesor
m16def.dat. File ini telah ada dalam aplikasi BASCOM-AVR, sehingga kamu tinggal
memanggilnya dengan menggunakan perintah $regfile. File preprosesor ini
berisikan kode-kode pengaturan yang berkaitan dengan register dalam
mikrokontroler yang akan digunakan. Maksud dari “m16def.dat” ini adalah sebuah
program yang akan berjalan di mikrokontroler Atmega16, jika program kamu
menggunakan Atmega 32 ubah dengan “m32def.dat” dan jika kamu menggunakan
Atmega8535, maka ubah dengan “8535def.dat”.
$crystal = 12000000
Pernyataan ini menunjukan bahwa
rangkaian yang kamu gunakan berfrekuensi 12 MHz atau 12.000.000 Hz. Jika kamu
hanya menggunakan bahasa program ini untuk simulasi, frekuensi tidak
berpengaruh akan jalannya rangkaian. Jika kamu memang ingin menggunakan program
ini untuk praktek nyata, maka kamu harus tahu frekuensi rangkaian yang kamu
buat, lalu masukan bahasa pemrogramannya dengan frekuensi yang di pakai.
Config Portd = Output
Config Porta = Input
Pernyataan "Config Portd = Output" Ini menunjukan bahwa
PORTD (I/O register yang ada dalam Mikrokontroler) adalah suatu
keluaran/Output. Seperti pada gambar diatas saya menggunakan PORTD untuk jalur
keluar LED nya. Jika kamu ingin menggunakan PORT lain boleh-boleh saja,
Misalnya kamu ingin menggunakan PORTB ubah programnya menjadi “Config Portb =
output”. Untuk Program "Config Porta = Input" Ini menunjukan bahwa PORTA adalah suatu masukan yaitu sebagai masukan pushbutton.
C Alias Portc
Program ini tidaklah begitu penting tetapi untuk mempermudah kita dalam pembuatan bahasa program "Alias" sangat efektif untuk mempersingkat waktu. "C Alias Portc" disini C akan menggantikan Portc sebagai salah satu kode yang akan dipanggil nantinya.
Pb:
If Pina.0 = 1 Then
Gosub 7segment
End If
Goto Pb
Ini adalah program untuk menjalankan Push Buttonnya, disini saya menggunakan Pina.0, karena seperti yang tertera pada gambar diatas dan kodenya saya menggunakan Porta untuk masukan Push Button. untuk itu saya masukan Pina.0 karena kaki tersebut masuk kedalam bagian Porta dan karena saya memasangnya di Pina.0. Misalkan kamu menggunakan port yang lainnya, contoh Portb maka yang digunakan adalah Pinb.0/Pinb.1/Pinb.2/Dst. "Gosub 7Segment" adalah program untuk memanggil Sub yang akan dijadikan untuk menjalankan Count-up seven segmentnya. "goto Pb" adalah untuk membalikan keadaan menjadi awal lagi. jika tidak dikasih kode tersebut maka program akan membaca terus hingga 7Segment. Maka Pb tidak akan bekerja.
7segment:
C = &B00111111 : Waitms 20
C = &B00000110 : Waitms 20
C = &B01011011 : Waitms 20
C = &B01001111 : Waitms 20
C = &B01100110 : Waitms 20
C = &B01101101 : Waitms 20
C = &B01111101 : Waitms 20
C = &B00000111 : Waitms 20
C = &B01111111 : Waitms 20
C = &B01101111 : Waitms 20
Goto 7segment
End
Ini adalah kode yang sangat penting, ini adalah kode utama untuk menjalankan Seven Segmentnya. "C = &B00111111 : Waitms 20" adalah program untuk menampilakan angka 0 selama 20 milidetik, program akan terus membaca hingga "C = &B01101111 : Waitms 20" yaitu angka 9 yang ditampilkan selama 20 milidetik. Selanjutnya porgram membaca "Goto 7segment" maka pembacaan akan mulai dari awal yaitu membaca angka 0 sampai 9 begitupun seterusnya.
Mengcompile Program :
Jika sudah kamu buat bahasa pemrogramannya, maka kamu tinggal save ditempat yang diinginkan kemudian Compile dengan mengklik menu program kemudia pilih Compile, atau bisa juga dengan menekan Shortcut F7.
Menjalankan Simulasi :
Jika sudah kamu buat bahasa pemrogramannya, maka kamu tinggal save ditempat yang diinginkan kemudian Compile dengan mengklik menu program kemudia pilih Compile, atau bisa juga dengan menekan Shortcut F7.
Menjalankan Simulasi :
Buatlah rangkain seperti diatas di aplikasi Proteus, disini saya
menggunakan proteus versi 7. jika sudah buat. Klik 2x pada IC
Mikrkntroler, maka akan keluar jendela untuk memasukan file program yang
tadi kamu compile, Tekan icon folder yang ada di baris Program File.
Cari file program yang tadi kamu simpan, pilih file dengan format .hex .
kemudian open dan ok. Tinggal kamu klik play atau tekan F12 untuk
melihat simulasinya.
Beginilah hasil simulasinya :
No comments:
Post a Comment