Depok Instruments

We Present Technologies As Arts

3. AT89S51 dan Permainan Nyala LED

3.1. Sekilas Tentang LED

Sering kali kita mendengar tentang komponen LED, yaitu sebutan untuk komponen yang dapat menyala. Tetapi apakah sebenarnya LED itu, LED adalah singkatan untuk “Light Emitting Diode” atau dalam bahasa indonesia berarti Dioda yang Memancarkan Cahaya. LED seperti dioda yang lain juga memiliki 2 kutub, Anoda atau Anode (A) dan Katoda atau Cathode (C), seperti yang terlihat pada gambar 3.1. Ketika ada arus listrik mengalir dari Anoda ke Katoda (A = ‘+’ dan C = ‘-‘), maka LED akan memancarkan cahaya. Namun ketika arus listrik dibalik (A = ‘-‘ dan C = ‘+’), maka LED akan mem-blok arus listrik seperti pada dioda yang lainnya.

LED
Gambar 3.1. Komponen LED

3.2. Merangkai AT89S51 dan LED

Ada 2 cara merangkai LED pada sistem minimum AT89S51:

  • Common Anode (CA)
    • Seperti yang terlihat pada gambar 3.2.a, koneksi CA akan menghubungkan anoda pada LED dengan supply (+) dan katoda dihubungkan pada pin AT89S51, sehingga LED akan menyala ketika pin AT89S51 diberi logika “0” atau “Low”. Itu sebabnya jenis aktivasi CA tergolong “active low”.

 

  • Common Cathode (CC)
    • Sedangkan aktivasi CC tergolong “active high” karena katoda dari LED dihubungkan ke supply (-) dan anodanya dihubungkan pada pin AT89S51, sehingga LED akan menyala ketika diberi logika “1” atau “High” di pin AT89S51-nya.

 

Jenis Koneksi
Gambar 3.2. Koneksi LED dengan mikrokontroler: a. Common Anode (CA), b. Common Anode (CC).

 

3.3. Program Permainan Nyala LED

Sebelum memrogram permainan nyala LED, terlebih dahulu kita harus tentukan jumlah LED yang akan digunakan dan jenis koneksi yang akan kita gunakan. Pada tutorial ini, kita akan merangkai 8 buah LED sesuai dengan jumlah bit dalam 1 port AT89S51 (8 bit) dengan menggunakan jenis koneksi CA. Kelebihan dari koneksi ini adalah nyala LED akan lebih terang dari CC karena arus yang mengalir pada LED langsung dari supply (+) rangkaian. Kemudian setelah kita tentukan jenis koneksi, kita pun perlu menentukan port atau pin mana yang akan kita gunakan untuk menyalakan LED tersebut. Pada tutorial ini, port yang kita gunakan untuk mengendalikan LED adalah PORT-0 (P0.0-P0.7) seperti yang terlihat pada gambar 3.3.

AT89S51+LED
Gambar 3.3. Koneksi 8 buah LED pada Port-0 AT89S51.

 

Karena jenis koneksi yang kita gunakan adalah CA, maka untuk menyalakan LED kita perlu memberikan logika “0” ke pin dari port-0. Program pertama akan membuat seluruh LED di Port-0 berkedip-kedip. Sedangkan program ke-2 akan membuat LED menyala dari kiri ke kanan, kemudian kembali ke kiri dan seterusnya. Lama waktu tunda dapat disesuaikan dengan merubah isi dari register-register r5, r6, dan r7. Selamat BERMAIN!

 

Program 1:

Org 0000

Sjmp Mulai

Delay: ;Program Waktu Tunda.

Mov r7, #3

Mov r6, #255

Mov r5, #255

LoopDelay:

Djnz r5, LoopDelay

Djnz r6, LoopDelay

Djnz r7, LoopDelay

Ret

Mulai:

Mov P0, #0 ;Membuat seluruh LED menyala.

Acall Delay

Mov P0, #255 ;Membuat seluruh LED padam.

Acall Delay

Sjmp Mulai

 

Program 2:

Org 0000h

Sjmp Mulai

Mulai:

Mov a, #01111111b ;Isi accumulator dengan data ;biner.

Loop1:

Mov P0, a ;Tampilkan isi accumulator.

Acall Delay

Rr a ;Geser kiri isi accumulator.

Cjne a, #11111110b, Loop1 ;Jika belum sampai pojok kanan, ;kembali ke “Loop1”.

Loop2:

Mov P0, a

Acall Delay

Rl a ;Geser kanan isi accumulator.

Cjne a, #01111111b, Loop2 ;Jika belum sampai pojok kiri, ;kembali ke “Loop2”.

Sjmp Loop1 ;Kembali ke “Loop1”.

September 21, 2007 - Ditulis oleh depokinstruments | 2. Mikrokontroler I | | & Komentar

& Komentar »

  1. saya sangat terbantu sekali dengan blog ini,saya harap bisa mendapatkan bantuan untuk benar2 memahami mikro mcs51 ini.
    terimakasih

    Komentar oleh samsduha | April 23, 2008 | Balas

  2. saya masih bingung cara pemrograman dot matrik. bisa tolong dijelaskan bagaimana cara kerjanya, beserta schematik dot matrik dan fungsi tiap-tiap bagian dot matrik.
    tolong dijelaskan juga semua fungsi SFR secara jelas.

    Komentar oleh A. Ramadani | Mei 19, 2008 | Balas

  3. dotmatriks = led-led yang disusun secara kolom x baris. Jika kolom berisi anoda dari led-led, maka baris akan berisi katoda dan berlaku sebaliknya. Jadi untuk pemrograman untuk menyalakan dot-dot tersebut adalah dengan memberi data ‘1′ pada anoda-nya dan data ‘0′ pada katodanya. Semoga membantu saudara Ramadani.

    NB: Jika ingin belajar lebih lanjut, silakan hubungi kami secara langsung.

    Komentar oleh depokinstruments | Mei 19, 2008 | Balas

  4. saya seorang mahasiswa instrumen disalah satu perguruan tinggi negri. yang ingin saya tanyakan bisakah saya ingin membuat tugs akhir mengenai LED(running text), bagaimana membuatnya, mohon diberi infomasi ya…….!

    Komentar oleh novalina | Juni 9, 2008 | Balas

  5. bisa ditampilkan gbrny dgn jelas & speksny g?

    beserta detail komponennya,thanx bngt klo mau bantu berikan infonya

    da_nilz_su@yahoo.co.id

    Komentar oleh daniel | Agustus 6, 2008 | Balas

  6. Maaf saya kurang mengerti dengan pertanyaan saudara daniel, bukankah sudah ada gambar rangkaiannya. Untuk komponen pun dapat dilihat dari rangkaiannya lho..

    Komentar oleh depokinstruments | Agustus 7, 2008 | Balas

  7. Haduh… Ada gak downloader yg buat keluarga s ma c skalian

    Komentar oleh Duon | September 8, 2008 | Balas

  8. Sudah pasti gak ada, saudara Duon. Tapi yang menjadi pertanyaan utamanya adalah, untuk apa menggunakan tipe “C” jika ada tipe “S”. Karena banyak kelebihan tipe yang “S” dari yang “C” terutama teknik pen-download-an programnya. Dan dengan teknik bahasa program yang tetap sama dengan yang “C”. Jadi sangat dianjurkan untuk meninggalkan tipe yang “C”.

    Komentar oleh depokinstruments | September 8, 2008 | Balas

  9. Terima kasih sebelumnya
    Saya mahasiswa teknik elektro,mempunyai tugas untuk membuat sistem rangkaian dengan dot matrik,dimana dot matrik diganti dengan led sesuai dot matrik yaitu 5 x 8 setiap dot diganti 4 led.Yang saya tanyakan bagaimana membangun sistemnya kalau saya menggunakan AT89S51,transistor driver apakah sudah cukup sistemnya, dosen saya menyuruh menggunakan proses dekoder dan scan,nantinya pembuatan programnya yang pengalamatannya sulit.lebih baik sistem satu PCB antar mikro atau sendiri dan memakai kabel penjemper

    Komentar oleh Midori | November 5, 2008 | Balas


Tinggalkan komentar