Tampilkan postingan dengan label shift register. Tampilkan semua postingan
Tampilkan postingan dengan label shift register. Tampilkan semua postingan

Minggu, 12 Desember 2010

Aplikasi Shift Register Untuk Penampil Seven Segmen

Komponen
  • 2 buah IC 4094
  • 2 buah seven Segmen
  • Mikrokontroler
Rangkaian




























Program:

$regfile = "m16def.dat"
$crystal = 12000000

Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output

Datain Alias Portb.0
Clock Alias Portb.1
Strobe Alias Portb.2

Dim Kodesat As Byte , Npul As Integer , Nsat As Integer , Kodepul As Byte

Mulai:
Npul = 3
Nsat = 0

Do
Gosub Tampil
  If Nsat = 0 Then
  Nsat = 9
  Decr Npul
  End If

  If Npul = 0 And Nsat = 0 Then
  Goto Mulai
  End If
Gosub Tampil
Decr Nsat
Loop

Tampil:
Reset Strobe
Kodesat = Lookup(nsat , Kode)
Kodepul = Lookup(npul , Kode)
Shiftout Datain , Clock , Kodesat , 1
Shiftout Datain , Clock , Kodepul , 1
Waitms 500
Set Strobe
Return

Kode:
Data &H40 , &H79 , &H24 , &H30 , &H19 , &H12 , &H02 , &H78 , &H00 , &H10

Download Link:
Simulasi Proteus --- klik disini
program ----------- klik disini

wasalam

    Shift Register 4094

    IC shift register adalah sebuah komponen elektronik (IC) yang digunakan untuk memsukkan data secara serial dan mengeluarkan data secara paralel. Pada IC shift register 4094 ini memiliki konfigurasi pin seperti dibawah ini:

    Konfigurasi Pin 4094

     

    Keterangan Pin
    OE             = Output enable
    QP0-QP7  = Output Paralel 0 - Output Paralel 7
    D               = Input Data Serial
    CP             = Clock Input
    QS1-QS2  = Output Serial1 - Output Serial2
    STR           = Strobe Input
    VCC          = V+
    GND          = gnd


    Cara Kerja Shift register
       Data masuk secara serial melalui pin D (1). Pada IC Shift Register ini data masuk baru disimpan setelah terjadi clock jadi cara memasukkan data pada shift register ini adalah data masuk- clock- data masuk-clock-data masul-clock begitu seterusnya. Pin OE atau Output Enable digunakan untuk mengaktifkan output serial maupun output paralel. Logika 1 untuk enable dan logika 0 untuk disable. QP0 - QP7 adalah output paralel dari shift register ini sedangkan QS1 - QS2 adalah output serial dari shift register ini. Jika menggunakan lebih dari satu IC Shift Register maka pin data dari IC Shift Register selanjutnya dihubungkan  ke output serial dari IC Shift Register sebelumnya. Untuk lebih jelasnya bisa dilihat di timing diagram berikut ini:

    Timing Diagram











    Untuk lebih jelasnya dapat dilihat datasheetnya di sini.


    wasalam

    Selasa, 07 Desember 2010

    Traffic light 4 jalur + down counter menggunakan ATMEGA16


    Traficlight seperti kita ketahui digunakan untuk mengatur lalu lintas pada persimpangan jalan baik pertigaan atau perempatan bahkan simpang lima. Traficlight digunakan untuk menggantikan tugas pak polisi supaya kerjanya lebih ringan dan he he he tinggal tilang aja klo ada yang gak nurut.. cukup sekian basa basinya langsung saja ke konfigurasi hardwarenya. trafic ini terdiri dari tiga buah komponen utama yaitu:

    1. Controler
    2. Counter display 7 segment
    3. Led merah, kuning dan hijau

    Controler pada trafic ini menggunakan atmega16
    Counter display menggunakan 7 segment dengan shift register sebagai perantara pengiriman data dari controler Led merah, kuning dan hijau digunakan mengatur lalulintas merah artinya stop, hijau artinya jalan dan kuning artinya jalan ngebut (keburu lampu merahnya nyala)

    untuk lebih jelasnya bisa download simulasinya (proteus) disini



    Pada prinsipnya kerja traficlight adalah menyalakan lampu hijau dan lampu kuning secara bergantian, misalnya pada trafic light 4 jalur ini. Pada traficlight ini nyala lampu hijau dan kuning dibuat sama untuk 4 jalurnya yaitu 8 detik untuk lampu hijau dan 2 detik untuk lampu kuning jadi totalnya adalah 11 detik. sedangkan untuk nyala lampu merahnya adalah 3 kali lipat nyala lampu hijau + Kuning, jadi untuk nyala lampu merahnya adalah 11+11+11 = 35. lho kog 35 bukannya 33? eit jangan salah dalam trafic light counter downnya menghitung atau mencacah sampai angka nol (0) bukan 1 untuk lebih jelasnya berikut adalah timeline nya




















    keterangan
    garis hijau = lama nyala lampu hijau
    garis kuning = lama nyala lampu kuning
    garis merah = lama nyala lampu merah

    setelah mengetahui konsepnya maka dapat langsung diimplementasikan pada programnya. disini bahasa pemrogramannya menggunakan Bascomavr. Berikut merupakan inti dari program traficlight diatas:

    program utama

    Do
    Gosub Tampil1
    Gosub Tampil2
    Gosub Tampil3

    Gosub Tampil4


    Gosub Trafic1

    Gosub Trafic2
    Gosub Trafic3

    Gosub Trafic4

    Decr Sat1
    Decr Sat2
    Decr Sat3
    Decr Sat4

    Loop

    Sub program ini berfungsi untuk memanggil sub program tampil dan sub program trafic dan juga digunakan untuk men- decrement- menurunkan nila variabel sat.

    Sub program tampil

    Tampil1:
    Reset Oe1

    Kodesat1 = Lookup(sat1 , Kode)
    Kodepul1 = Lookup(pul1 , Kode)

    Shiftout Data1 , Clock1 , Kodesat1 , 1
    Shiftout Data1 , Clock1 , Kodepul1 , 1

    Waitms 200 Set Oe1
    Return


    Sub program tersebut digunakan untuk menampilkan data data pada tabel lookup (yang berisi data nilai 0 sampai 9) ke seven segment melalui shift register. berikut merupakan tabel lookup nya:

    Kode:
    Data &HC0 , &HF9 , &HA4 , &HB0 , &H99 , &H92 , &H82 , &HF8 , &H80 , &H90

    Sub program trafic

    Trafic1:

    'lampu

    If A1 = 0 And B1 = 0 Then

    Merah1 = 0

    Kuning1 = 0
    Hijau1 = 1

    End If

    If A1 = 0 And B1 = 1 Then
    Merah1 = 1
    Kuning1 = 0

    Hijau1 = 0

    End If


    If A1 = 1 And B1 = 0 Then

    Merah1 = 0

    Kuning1 = 1

    Hijau1 = 0
    End If


    'counter


    If Sat1 = 0 And Pul1 = 0 And Flaghijau1 = 0 And Flagkuning1 = 0 Then

    Sat1 = 3
    Pul1 = 0

    Flaghijau1 = 1
    A1 = 1

    B1 = 0

    End If

    If Sat1 = 0 And Pul1 = 0 And Flaghijau1 = 1 And Flagkuning1 = 0 Then

    Sat1 = 6
    Pul1 = 3

    Flagkuning1 = 1

    A1 = 0
    B1 = 1

    End If

    If Sat1 = 0 And Pul1 = 0 And Flaghijau1 = 1 And Flagkuning1 = 1 Then
    A1 = 0

    B1 = 0

    Flaghijau1 = 0
    Flagkuning1 = 0

    End If


    If Sat1 = 0 And Pul1 = 3 Then

    Decr Pul1

    Sat1 = 10
    End If


    If Sat1 = 0 And Pul1 = 2 Then
    Decr Pul1

    Sat1 = 10
    End If


    If Sat1 = 0 And Pul1 = 1 Then

    Decr Pul1

    Sat1 = 10
    End If


    Return

    Sub program ini mempunyai 2 fungsi yaitu: Untuk menyalakan lampu merah, hijau dan kuning, dan untuk mengatur counter down (dengan perintah if...then) supaya bisa mencacah sesuai dengan angka angka pada timeline yang telah ditentukan.
    Untuk lebih jelas nya program bisa didownload disini.

    download:
    simulator klik disini
    program klik disini

    wasalam