Senin, 28 Mei 2012

PROGRAM SEVEN SEGMENT

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

Tidak ada komentar:

Posting Komentar