Anda di halaman 1dari 3

JOBSHEET Nama Kelompok:

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:

Gambar 1. Skematik counter down 7 segmen berbasis mikrokontroler ATMega16

C. BERIKUT INI ADALAH PROGRAMNYA:


$regfile = "m16def.dat"
$crystal = 12000000
Config Portc = Output
Config Porta = Input
Porta = 255
C Alias Portc
Pb:
If Pina.0 = 0 Then
Gosub 7segment
End If
Goto Pb
7segment:

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.

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 di atas
menggunakan PORTD untuk jalur keluar LED nya. Jika ingin menggunakan PORT lain boleh-
boleh saja, Misalnya 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" 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!

Anda mungkin juga menyukai