1. ______________________________
7 SEGMEN + PUSH 2. ______________________________
BUTTON 3. ______________________________
4. ______________________________
KELAS: 5. ______________________________
6. ______________________________
TANGGAL:
A. TUJUAN PEMBELAJARAN:
1. Siswa dapat merangkai pencacah turun (count down) 7 segmen dan push button
2. Siswa dapat memprogram counter down 7 segmen dengan push button
3. Siswa dapat menerapkan rangkaian counter down 7 segmen berbasis ATmega16
B. SKEMATIK RANGKAIAN:
C = &B01101111 : Waitms 20
C = &B01111111 : Waitms 20
C = &B00000111 : Waitms 20
C = &B01111101 : Waitms 20
C = &B01101101 : Waitms 20
C = &B01100110 : Waitms 20
C = &B01001111 : Waitms 20
C = &B01011011 : Waitms 20
C = &B00000110 : Waitms 20
C = &B00111111 : Waitms 20
Goto 7segment
End
D. 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 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
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 kita gunakan berfrekuensi 12 MHz atau
12.000.000 Hz. Jika hanya menggunakan bahasa program ini untuk simulasi, frekuensi tidak
berpengaruh akan jalannya rangkaian. Jika ingin menggunakan program ini untuk praktek
nyata, maka kita harus tahu frekuensi rangkaian yang dibuat, lalu masukan bahasa
pemrogramannya dengan frekuensi yang dipakai.
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" di sini 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, di sini saya menggunakan Pina.0,
karena seperti yang tertera pada gambar di atas 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 diberi kode tersebut maka program akan membaca terus hingga 7Segment. Maka Pb
tidak akan bekerja.
E. LANGKAH KERJA:
1. Buat rangkaian sesuai dengan skematik Gambar 1 di atas!
2. Ketikkan program pencacah turun 7 segmen pada aplikasi Bascom AVR!
3. Simpan dan Compile program, jika masih ada kesalahan program, segera perbaiki!
4. Jalankan rangkaian dan tekan tombol PB!
5. Amati bagaimana tampilan pada 7 segmen!
F. TUGAS:
1. Buatlah program pada Bascom AVR untuk mencacah angka naik (Counter Up) pada 7 segmen mulai
angka 0 (nol) s/d 9 (sembilan)!
2. Jelaskan maksud perintah pada tiap baris program Bascom AVR!