Tuesday, March 5, 2013

Membuat Running LED dengan efek redup

Running LED merupakan proyek elektronika yang menarik. Keluaran berupa LED yang menyala secara bergantian dan berurutan.

berikut ini saya sajikan source code untuk LED chaser dengan efek redup menggunakan mikrokontroler AT89S51 dan bahasa pemrograman BASCOM 51

'led_chaser_pwm.bas
'menampilkan running led dengan efek redup

Dim Led0 As Byte
Dim Led1 As Byte
Dim Urutan As Byte
Dim Urutan2 As Byte
Const Waktu = 1                 'waktu tunda dalam ms

Tampilan Alias P1

Utama:
   Gosub Kekiri
   Gosub Kekanan

Goto Utama


'**********************
'subrutin geser ke kiri
'**********************
Kekiri:
  For Urutan = 0 To 20 Step 2

      Urutan2 = Urutan + 1
      Led0 = Lookup(urutan , Geserkiri)
      Led1 = Lookup(urutan2 , Geserkiri)

      Tampilan = Led0 And Led1
      Waitms Waktu

      Tampilan = Led0
      Waitms Waktu

      Tampilan = Led0 And Led1
      Waitms Waktu

      Tampilan = Led0 Or Led1
      Waitms Waktu

  Next Urutan

Return


Geserkiri:
      '12345678
Data &B10000000
Data &B10000000

Data &B11000000
Data &B01000000

Data &B01100000
Data &B10100000

Data &B00110000
Data &B01010000

Data &B00011000
Data &B00101000

Data &B00001100
Data &B00010100

Data &B00000110
Data &B00001010

Data &B00000011
Data &B00000101

Data &B00000001
Data &B00000010

Data &B00000000
Data &B00000001

Data &B00000000
Data &B00000000


'**********************
'subrutin geser ke kanan
'**********************
Kekanan:
  For Urutan = 0 To 20 Step 2

      Urutan2 = Urutan + 1
      Led0 = Lookup(urutan , Geserkanan)
      Led1 = Lookup(urutan2 , Geserkanan)

      Tampilan = Led0 And Led1
      Waitms Waktu

      Tampilan = Led0
      Waitms Waktu

      Tampilan = Led0 And Led1
      Waitms Waktu

      Tampilan = Led0 Or Led1
      Waitms Waktu

  Next Urutan

Return


Geserkanan:
      '12345678
Data &B00000001
Data &B00000001

Data &B00000011
Data &B01000010

Data &B00000110
Data &B00000101

Data &B00001100
Data &B00001010

Data &B00011000
Data &B00010100

Data &B00110000
Data &B00101000

Data &B01100000
Data &B01010000

Data &B11000000
Data &B10100000

Data &B10000000
Data &B01000000

Data &B00000000
Data &B10000000

Data &B00000000
Data &B00000000


No comments:

Post a Comment