BASCOM-AVR(10)_Display Count Down Angka 1 digit

robotics-university.com | Untuk proyek belajar mengendalikan nyala display seven segment, kita membutuhkan perangkat keras (hardware) berupa papan aplikasi mikrokontroler yang mengikuti skematik elektronik seperti gambar dibawah ini. Dalam proyek latihan ini kita menggunakan tipe display 7segment common-anode (CA).



Gambar 1. Skematik pengendali display 7segment 1-digit (CA)
(Klik gambar untuk memberpesarnya)

A. DESKRIPSI PROGRAM
Program yang akan kita buat adalah program untuk menampilkan sebuah karakter angka (0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9) secara bergantian dan berurutan dari angka 9 hingga angka 0, sehingga tampak seperti menghitung (mencacah) turun (count down). Kaki-kaki katode seven segment dihubungkan dengan PORTC mikrokontroler AVR ATMega 16/32/8535. Program akan kita buat dengan software BASCOM-AVR.

B. PROGRAM
Berikut ini adalah contoh programnya:

$regfile = "m16def.dat"
$crystal = 12000000
Config Portc = Output
7segment Alias Portc

Do
  7segment = &H90 , Waitms 500 ‘ angka 9
  7segment = &H80 , Waitms 500 ‘ angka 8
  7segment = &HF8 , Waitms 500 ‘ angka 7
  7segment = &H82 , Waitms 500 ‘ angka 6
  7segment = &H92 , Waitms 500 ‘ angka 5
  7segment = &H99 , Waitms 500 ‘ angka 4
  7segment = &HB0 , Waitms 500 ‘ angka 3
  7segment = &HA4 , Waitms 500 ‘ angka 2
  7segment = &HF9 , Waitms 500 ‘ angka 1
  7segment = &HC0 , Waitms 500 ‘ angka 0
Loop


Penjelasan program:

$regfile = "m16def.dat"

Pernyataan ini menunjukkan bahwa program yang kita buat ikut melibatkan file pre-prosesor 8535def.dat. File ini telah disediakan dalam software BASCOM-AVR, sehingga kita tinggal memanggilnya dengan menggunakan perintah $regfile. File preprosesor ini berisikan kode-kode pengaturan yang berkaitan dengan register dalam mikrokontroler yang akan digunakan. Dalam program ini kita pilih IC mikrokontroler AVR Atmega8535. Dalam menggunakan BASCOM-AVR kita harus menuliskan bagian program ini.

$crystal = 12000000

Pernyataan ini menunjukkan bahwa dalam membuat aplikasi mikrokontroler ini kita menggunakan kristal eksternal dengan frekuensi 12 MHz (12.000.000 Hz).

Config Portc = Output

Pernyataan ini adalah melakukan konfigurasi PORTC (salah satu register I/O dalam mikrokontroler AVR) supaya dapat berfungsi sebagai jalur keluaran (output).

7segment Alias Portc

Pernyataan ini berguna untuk mengganti nama register I/O PORTC dengan nama lain (alias). Dalam pernyataan tersebut PORTC namanya diganti dengan nama “7segment”. Hal ini biasanya dilakukan untuk memudahkan mengingat nama register yang digunakan dalam suatu program karena register akan dipanggil tidak dengan nama register asli namun dengan nama yang kita sukai dan mudah bagi kita untuk mengingatnya, seperti contoh diatas.

Do
  7segment = &H90 , Waitms 500 ‘ angka 9
  7segment = &H80 , Waitms 500 ‘ angka 8
  7segment = &HF8 , Waitms 500 ‘ angka 7
  7segment = &H82 , Waitms 500 ‘ angka 6
  7segment = &H92 , Waitms 500 ‘ angka 5
  7segment = &H99 , Waitms 500 ‘ angka 4
  7segment = &HB0 , Waitms 500 ‘ angka 3
  7segment = &HA4 , Waitms 500 ‘ angka 2
  7segment = &HF9 , Waitms 500 ‘ angka 1
  7segment = &HC0 , Waitms 500 ‘ angka 0
Loop


Blok program diatas merupakan program utama. Blok program ini menggunakan struktur perulangan Do-Loop. Sedang pernyataan/ekspresi yang diulang adalah proses menyalakan display 7segment yang dihubungkan dengan register “7segment” atau PORTC dengan memberikan nilai data 8-bit pada register “7segment secara bergantian dengan waktu tunda selama 500 ms. Sehingga program ini akan memberi efek nyala berupa angka pada display 7segment dimulai dari angka 9 (&H90) hingga angka nol (&HC0) dan kembali lagi ke angka 9, atau bisa disebut dengan menyala secara hitungan turun (count down).
Share on Google Plus

About Robotics University

    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment