7SEGCALC.EXE – Program Bantu Untuk Perancangan Seven-Segment


sevensegment Ketika kita menggunakan Seven-Segment Display pada aplikasi mikrokontroler, kita harus menghitung nilai-nilai konstanta yang nantinya harus kita tuliskan pada port keluaran yang kita gunakan sebagai port data display agar display menampilkan suatu angka atau huruf atau simbol tertentu.

Untuk mudahnya, biasanya urutan pin pada port data mikro disesuaikan dengan urutan pin pada seven-segment. Semisal kita menggunakan PORTB sebagai port data, maka urutan koneksinya adalah: PB0 – a, PB1 – b, PB2 – c, PB3 – d, PB-4 – e, PB5 – f, PB6 – g dan PB7 – h (dot). Dari urutan tersebut bisa dihitung berapa nilai konstanta yang harus dikirim ke port data untuk menghasilkan tampilan angka atau huruf atau simbol pada seven-segment. Dan selama kita menggunakan desain yang sama, maka kita tidak perlu mengganti data untuk tampilan seven segment.

Dengan urutan koneksi seperti itu, maka untuk menghasilkan tampilan angka 7 mikro harus mengeset PORTB dengan data 0b00000111 jika seven-segment yang digunakan adalah tipe Common-Cathode dan data 0b11111000 jika seven-segment yang digunakan adalah tipe Common-Anode.

Namun pada prakteknya, kita bebas menentukan koneksi antara pin mikro dengan pin seven-segment. Dan terkadang kita “terpaksa” menggunakan pin I/O dari beberapa port yang tidak berurutan demi kemudahan layout PCB yang akan kita buat. Dengan perubahan urutan koneksi antara pin mikro dan pin seven-segment maka kombinasi bit pun akan berbeda sehingga diperlukan konstanta nilai yang berbeda pula.

Nah, sambil berlatih pemrograman, saya membuat program bantu yang dapat memudahkan proses tersebut sehingga kita tidak perlu repot-repot menghitung konstanta nilai tampilan seven-segment. Program saya buat menggunakan Lazarus dan FreePascal.

Dengan program ini, kita tidak perlu lagi menghitung untuk mendapatkan nilai konstanta untuk tampilan tertentu. Program berlaku untuk seven-segment tipe Common-Cathode maupun tipe Common-Anode. Dan tidak hanya itu, kita juga bebas menentukan urutan koneksi (pin assignment) sesuai dengan rangkaian yang kita buat. Oleh karenanya program ini dapat mengakomodasi segala konfigurasi rangkaian seven-segment.

Berikut adalah tampilan program untuk tampilan angka 7 dengan pin assignment sebagai berikut:

  • Pin-0 = LED a
  • Pin-1 = LED b
  • Pin-2 = LED c
  • Pin-3 = LED d
  • Pin-4 = LED e
  • Pin-5 = LED f
  • Pin-6 = LED g
  • Pin-7 = LED h (dot)

telinks_7segcalc_1

Angka 7 Common-Cathode

telinks_7segcalc_2

Angka 7 Common-Anode

Pengoperasian Program

LED a – LED h akan berganti status dari off ke on atau sebaliknya jika diklik menggunakan mouse. Warna putih menyatakan LED=off, dan warna merah menyatakan LED=on.

Untuk menyesuaikan pin assignment, klik label LED pada Group Pin-7 – Pin-0. Ketika Anda mengganti salah satu pin assignment, maka secara otomatis, program akan mencari adanya assignment yang sama, dan secara otomatis pula akan menukarkannya sehingga tidak ada pin assignment yang sama untuk masing-masing LED. Hal ini untuk mencegah terjadinya kesalahan assignment, sehingga dapat dijamin nilai bytecode yang dihasilkan senantiasa benar.

Untuk mengganti tipe Seven-Segment, Anda dapat meng-klik pilihan Common-Cathode atau Common-Anode. Ketika terjadi perubahan tipe seven-segment, maka nilai bytecode juga akan berubah.

Berikut adalah tampilan program untuk tampilan angka 3 dengan urutan koneksi pin yang berbeda.

telinks_7segcalc_3

telinks_7segcalc_4

Nah, cukup menarik bukan?😀

Program ini masih dapat dikembangkan dengan menambahkan fasilitas untuk menghasilkan (generate) kode program untuk konstanta nilai tampilan 0-9 dan A-F dalam bahasa C yang valid untuk kompiler C mikrokontroler AVR maupun MCS-51. Mudah-mudah bisa terlaksana.🙂

Download Link

Anda dapat memiliki dan menggunakan program bantu ini secara gratis. Silakan download program 7SEGCALC.EXE ini dan silakan dievaluasi. Saran dan masukan dari Anda tentunya sangat saya harapkan untuk pengembangan program ini.

7segcalc.rar

( ~587 KB )

Versi Linux

Program bantu ini juga tersedia untuk platform linux. Berikut adalah tampilan program versi linux yang running pada Debian GNU Linux 7 (Wheezy).

telinks_7segcalc_debian

Dan berikut ini adalah tampilan program yang running pada Ubuntu Linux.

telinks_7segcalc_ubuntu

Program versi linux dapat Anda download melalui link berikut ini:

7segcalc.tar.gz

( ~1.87 MB )

Source Code

Program ini saya buat menggunakan Lazarus 1.0 dengan FPC 2.6.0. Anda bisa mendapatkan source code program ini dengan cara menyalurkan donasi. Jika Anda berminat silakan menghubungi saya melalui email ke info@teknikelektrolinks.com.

Selamat belajar dan selamat berkarya!

😀

9 comments

  1. Tius · Mei 6, 2010

    Wah.. mas rajin yah bikin program kayak ginian. Mau dong mas. Makasih sebelumnya🙂

  2. chandramde · Mei 6, 2010

    Tius:
    File telah saya kirimkan ke alamat email Mas Tius.

    Selamat mencoba!😀

  3. omen · Mei 22, 2010

    Menarik juga….neh..mas.., kalo skema rangkain bikin Papan Board Nama pake Led ada gak..mas…yang biasa aku lihat di Bank – bank..kurs mata nilai uang asing sekian… gitu..tapi rangkainnya pake mikrokontroler gitu mas..kalo ada send ke emailku ya mas..n3mo.mel@gmail.com..

  4. ardi · Mei 27, 2010

    Asslmkm… Bang,kok telaten amat bwt aplikasinya?kebetulan saya ada tugas Aplikasi Kontrol Sekuensial.Boleh minta filenya, Bang?

  5. chandramde · Juni 11, 2010

    ardi:
    Silakan mengirimkan donasi seikhlasnya dan kirim notifikasi atau bukti transfernya melalui email/sms. Saya akan mengirimkan file source-code ke email Anda.

    Terima kasih.😀

  6. awan · Desember 14, 2010

    bozzz minta source kode seven segment donk….,,,, plissss buat tugas nie
    kirim ke email yw…… di tunggu nie….

  7. Wawan · Februari 3, 2011

    maz tolong kirim ya maz source kodenya
    thanks for ilmunya

  8. D. Prameswara · Februari 28, 2014

    Sudah test di Ubuntu 13.10 Bang. Hasilnya sampai sekarang OK, tidak ada masalah.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s