Saturday 6 February 2016

Menghidupkan Display LED 8x 7 Segment Tulisan Bergeser Dengan Bahasa Assembly


Circuit Diagram:





Program :
;
; Program untuk menampilkan tulisan secara bergeser
; File name HL7.H51
;
; Pemakaian RAM :
;   70h-77h                   = data segment display  / 70h = kiri
;   78h                       = data common display
;   79h                       = untuk display 1 common
;   7Ah                       = untuk display 8 common
;   7Bh                       = untuk counter RAM to PORT display
;   7Ch                       = untuk counter buffer RAM display
;   7Dh                       = jumlah text
;   7Eh                       = pointer untuk tentukan DPTR
;
 org  0h
 Ljmp Mulai
;
; sub routine untuk mengisi buffer RAM display
;

Isi_buffer:
       Mov  7ch,08h           ; Jumlah dih=git 7 segment
       Mov  R0,#70h           ;
ulang:
             Mov  A,7Eh       ; Isi A derngan isi dari
                              ; alamat 7Eh
       movc A,@A=DPTR         ; Pindahkan data ke n ke A
       Mov  @R0,A       ; Pindahkan isi A ke alamat
                        ; yang ditunjuk R0
       Inc  DPTR              ; Siapkan data berikutnya
       Inc  R0                ; Tambahkam isi R0 dengan 1
       Djnz 7Ch,ulang         ; Ulangi sampai 8 kali (jumlah
                              ;Digit 7 segment)
       Ret
;
;untuk menmpilkan isi RAM buffer display ke 8x7 segment
;
Dis8seg:
Mov  7Bh,#08h                 ; Isi RAm 7Bh dengan 8 = jumlah digit
                              ; 7segment
Mov  R1,#70h                  ; R1 = Alamat buffer display
Mov  78h,#0FEh                ; ISi memory 78h dengan FEh = u/ common
                              ; display
ulang2:
Mov  A,@R1              ; Pindahkan isi RAM yang ditunjukan R1 keA
Mov  p0,A               ; Keluarkan dataA ke port0 (data segment)
Inc  R1
Mov  A,78h              ; Pindahkan isi RAM 78h ke A
Mov  p2,A               ; Keluarkan data A ke port 2(data common)
RL   A
Mov  78h,A                  
                       
      Lcall delay
     Mov   p0,#0FFh           ;matikan display sesaat (untuk
;menghindari bayangan)
      Mov  p2,#0FFh
      Djnz 7Bh,ulang2         ;ulangi sampai 8x (jumlah digit 7
;segment)
      Ret
;
Delay:  mov       79h,#0FFh   ;isi RAM 79h dengan A0 (hex)
delay1: Djnz      79h,delay1  ;
ret                     ;kembali ke langkah setelah perintah
;Acall
Display:
      mov   7Ah,#0Ah          ;isi RAM 7Ah dengan 0Ah
Display1:
      Lcall Dis7seg
      Djnz 7Ah,display1
      Ret
;
mulai:
;text keluar dari kanan ke kiri
      Mov   7Eh,#1
      Mov   7Dh,#8            ;RAM 7Dh di isi jumlah karakter yang
;akan ditampilkan
NextData:
      Mov   DPTR,#Haline      ;isi DPTR dengan alamat label
;awal
      Lcall Isi_buffer
      Lcall Display
      Inc   7Eh               ;RAM 7Eh untuk counter data
;berikutnya
      Djnz 7Dh,NextData      ;ulangi sejumlah karakter yang di
;inginkan
      Lcall       display
      Lcall       display
      Lcall       display
;text digeser masuk ke kanan
NextData2:
      dec    7Eh              ;RAM 7E untuk counter data berikutnya
      Mov   DPTR,#Haline
      Lcall  Isi_buffer
      Lcall  display
      Mov   A,7Eh
      Cjne  A,0,NextData2
      Lcall  display
      Lcall  display
      Lcall display
      Ljmp  Mulai
;--------------------------------------------------------
; DATA AREA
;--------------------------------------------------------
Haline: DB 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
       DB 0FDh,70h,24h,0Bh,77h,62h,0A0h,0FDh

      End




pada gambar diatas bisa menggunakan seven segmen singgle yaitu dengan memparalel input data dan pada sambungan vcc di beri transistor sebagai switching saat ingin di nyalakan maka transistor di aktifkan maka seven segment aktif anya, cara ini di sebut sistem switching, memang kalau didefinisikan seven segmen ini kedip-kedip soalnya nyala mati bergantian, akan tetapi itu tidak, karena sistem ini dibuat dengan kecepatan switching yang sangat maka saat dilihat oleh mata tulisan seven segment tidak terlihat kedip-kedip.

data area digunakan sebagai data center angka yang akan dimunculkan. 
Comments
0 Comments
Facebook Comments by otak einstein

0 comments:

Post a Comment