Program untuk menjalankan 7Segment

Kali ini kita akan belajar pemrograman mikro untuk menjalankan 7segmet, tapi sebelumnya apa itu 7Segment….?? 7Segment merupakan sebuah display yang dapat menampilkan angka maupun huruf(tapi terbatas) dan isi dari 7Segment ini tidak lain adalah LED, ya pada dasarnya merupakan LED yang disusun menjadi sebuah display dan diletakkan didalam casing.

Seperti artikel yang lalu dalam perograman 7Segment kita juga harus menghitung nilai biner ataupun hexa nya dengan cara bagaimana???

ini saya berikan tabel untuk menghitungnya dan sudah saya beri penjelasan disampingnya mengapa harus diberlakukan seperti itu.

Oh iya 7Segment memiliki 2 tipe yaitu common katoda(-)  dan common anoda(+) nah dalam kasus ini karena mikro aktif low maka kita menggunakan 7 segment common anoda(+) jadi mikro akan memberikan logika (0) atau Low untuk menghidupkan LED yang terdapat didalam 7Segment tersebut nah gambar rangkaian nya seperti berikut ini

nah ini saya berikan contoh programnya:

$MOD51
;Program ini untuk menghidupkan display LED 7SEGMENT, untuk menampilkan
;angka 0 s/d 9
;===============================================================================
ORG   0H
MULAI:
MOV      P0,#0C0H        ;KELUARKAN KODE ANGKA 0 PORT 0
ACALL   DELAY           ;PANGGIL SUBRUTIN DELAY
MOV       P0,#0F9H        ;KELUARKAN KODE ANGKA 1 PORT 0
ACALL   DELAY           ;PANGGIL SUBRUTIN DELAY
MOV       P0,#0A4H        ;KELUARKAN KODE ANGKA 2 PORT 0
ACALL   DELAY           ;PANGGIL SUBRUTIN DELAY
MOV       P0,#0B0H        ;KELUARKAN KODE ANGKA 3 PORT 0
ACALL   DELAY           ;PANGGIL SUBRUTIN DELAY
MOV       P0,#99H        ;KELUARKAN KODE ANGKA 4 PORT 0
ACALL   DELAY           ;PANGGIL SUBRUTIN DELAY
MOV       P0,#92H        ;KELUARKAN KODE ANGKA 5 PORT 0
ACALL   DELAY           ;PANGGIL SUBRUTIN DELAY
MOV       P0,#82H        ;KELUARKAN KODE ANGKA 6 PORT 0
ACALL    DELAY           ;PANGGIL SUBRUTIN DELAY
MOV       P0,#0F8H        ;KELUARKAN KODE ANGKA 7 PORT 0
ACALL    DELAY           ;PANGGIL SUBRUTIN DELAY
MOV       P0,#80H        ;KELUARKAN KODE ANGKA 8 PORT 0
ACALL    DELAY           ;PANGGIL SUBRUTIN DELAY
MOV       P0,#90H        ;KELUARKAN KODE ANGKA 9 PORT 0
ACALL    DELAY           ;PANGGIL SUBRUTIN DELAY
SJMP      MULAI
;===================
;SUBRUTIN DELAY
;——————-
DELAY:  MOV   R0,#0FH          ;ISI REGISTER R0 DENGAN 15
DELAY1: MOV   R1,#0FFH        ;ISI REGISTER R1 DENGAN FF (HEX)
DELAY2: MOV   R2,#0
DJNZ  R2,$
DJNZ  R1,DELAY2       ;KURANGI R1 DENGAN 1,BILA HASIL BELUM
;SAMA DENGAN 0 MAKA LOMPAT KE DELAY2
DJNZ  R0,DELAY1       ;KURANGI R0 DENGAN 1,BILA HASIL
;BELUM SAMA DENGAN 0 MAKA LOMPAT KE DELAY1
RET                   ;KEMBALI KEALAMAT SETELAH PERINTAH
;”ACALL DELAY”
END

oke selamat mencoba

17 responses to “Program untuk menjalankan 7Segment

  1. Thanks atas artikel dan source code nya. Ada contoh yang pake C ngga mas? Soalnya belum paham Assembler nih.

    • Wah mohon maaf nieh mas Tius didalam kepala saya hanya paham assembler nieh he…he..he… ya mungkin bisa bertanya keyang lain yang lebih bisa bahasa C, menarik mungkin nanti kalau saya sudah bisa akan saya beri tahu….!!!kalau binggung assembler bingungnya dimana mas?mingkin bisa saya beri tahu kalau bingung mas bisa lihat di link program untuk mematikan dan menyalakan LED (flip flop) disana sudah saya jelaskan…penjelasan mengenai apa itu instruksi MOV, DJNZ, ACALL silahkan dilihat semoga membantu

  2. cara menjalankanya gimana program ini mas?

    • Untuk mas ANAS yang jelas apakah sudah dipersiapkan semua rangkaian mikro nya…?dan juga 7 segmentnya…??kalau belum silahkan dipersiapkan terlebih dahulu…..!!!jika sudah nah mas anas bisa mengetiknya di notpat lalu jangan lupa di save dengan ekstensi ( .H51) contoh (7seg.h51) lalu mas ubah file dengan ekstensi (.H51) ini kebentuk file HEX silahkan cari di google banyak sekali….!!!baru kalau sudah mas anas ubah kedalam file HEX maka di download kedalam mikro dan langsung dijalankan saja…..!!!begitu kira-kira langkah kerjanya mas, nah kalau mas anas belum punya seluruh sistemnya nanti mas anas dapat menghubungi saya nanti saya buatkan modul mikronya, sekarang saya punya modul yang bisa dipakai di laptop tapi masih sebatas win XP untuk vista dan win7 belum ada, menggunakan USB PORT, kalau mas anas berminat silahkan menghubungi saya…..!!!terimakasih semoga membantu

  3. eghh mau tanya<<<<
    tolong beri contoh program 7segment selain manual

  4. mau tanya donk…program 7segment yang menghitung dari 0-9 lalu kembali dari 9-0

    • kalau mau gampang mas bisa menambahkan programnya dengan pengulangan kembali
      ACALL DELAY
      MOV P,#P0,#90H ;KELUARKAN KODE ANGKA 9 PORT 0
      ACALL DELAY
      MOV P0,#80H ;KELUARKAN KODE ANGKA 8 PORT 0
      dan seterusnya sampai angka 0 lalu baru menggunakan sub rutin ljmp mulai untuk kembali keawal lagi, itu untuk cara mudahnya mas tapi untuk instruksi yang panjang seperti contoh yang saya berikan, mas harus menggunakan LJMP, LCALL (long) untuk pengulangan dan pemanggilan

      semoga membantu

  5. sip pak,programnya berjalan lancar,terimakasih udah sharea,BTW pak kalau pakai 2 digit bagaimana,biar menghitungnya sampai puluhan,dan kalau bisa ada tombol buat pausenya kaya stop watch?

    • Terimakasih juga pak atas perhatiannya, oke nanti akan saya share program yang bapak maksud ditunggu saja ya pak terimakasih atas masukannya

  6. thanks atas ilmunya mas, trus untuk menjalankan 7 segment 4 digit secara otomatis berurutan dari 1-1000 ada gak?

  7. mas saya mau buat program
    pada input P2 11111111b keluar di P0 00000000b . bila kondisi P2 00000001b keluar di P0 00000001b . bila kondisi P2 00000010b keluar di P0 00000010b. trus bila P2 00000100b keluar di P0 00000100b… bagai mana ya, mohon bantuannya
    trimah kasih perhatiannya

    • revisi yg diatas semua kondisi input berulang ulang tuk membaca ,dan output selalu mengikuti sesuai kondisi yg diinginkan. misal input P2 dan output P0… dng kondisi P2 000b = P0 000b , P2 111b = P0 000b , P2 011b = P0 000b , P2 110b = P0 000b , P2 101b = P0 000b ,P2 001b = P0 001b , P2 010b = P0 010b dan bila P2 100b = P0 100b dan kembali membaca semua kemungkinan dari input

      trimakasih

  8. mass mau tanya program ini menjalankannya pakai aplikasi apa yah mas?

  9. ini pake arduino atau bukan gan?

    • tentu saja bukan mas, soalnya bahasa pemrograman yang saya pakai bahasa asembler, karena bahasa pemrograman arduino adalah bahasa C sudah jelas berbeda, terimakasih sudah berkunjung

  10. GG ISOK CAK

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s