Friday 28 December 2012

Menghidupkan display LED 8 x 7 segment


Menghidupkan display LED 8 x 7 segment

rangkaian ini menggunakan display led 8x7 dan transistor sebagai penghidup seven segment, pada percobaan ini bisa menggunakan led yang terpisah (satuan/singgle) yang disusun, dimana kaki yang sama di hubungkan dan commonya setiap masing-masing sevensegment di beri transistor, karena prinsipnya rangkaian ini bekerja secara bergantian dengan delay yang sangat cepat, sehingga terlihat bersamaan.

ok gan langsung aja ki masuk pembuatan
rangkaian ini gw buat pake proteus,,,,,lanjut aja tinggal rangkai skematiknya,,,,,

Circuit diagram :
                                   

Program :
;
; Program untuk menghidupkan Display 8x7 segment HD001
; untuk menampilkan tulisan "-Haline-" mati - hidup
; File name : HL6.H51
;
   org 0h
Ulang:   Mov R5,#50H                ; Register 5 diisi 50h untuk
                              ; keperluan jumlah pengulangan
                              ; display hidup
Hidup:   Mov DPTR,#Haline     ; Isidata pointer dengan alamat
                                    ; Haline
         Mov R6,#08h                ; R6=8= jumlah digit 7segment
         mov  R1,#0FEH              ; R1 = Common
Ulang1:
   Clr  A                     ; Isi Accumulator dengan 0
         Movc A,@A+DPTR             ; Pindahkan data ke n ke A
   Inc  DPTR                  ; Data pointer tambahkan dengan 1
   Mov  P0,A                  ; Keluarkan data A ke port 0
   Mov  A,R1                  ; Pindahkan isi register 1 ke Acc.
   Mov  P2,A                  ; Keluarkan isi A (common) ke port 2
   RL   A                     ; Rotate Accumulator left
 b7-b6-b5-b4-b3-b2-b1
 
                                    ;
                             
                        ;
                                                       
   mov  R1,A                  ; Kembalikan isi Accumulator ke R1
   Lcall Delay                ; Panggil sub routine delay
   Mov  P0,#0FFh              ; Buat P0 berlogika 1 (semua LED
                              ; padam)
   Djnz R6,Ulang1             ; Ulangi sampai 8 kali (8 digit)
   Djnz R5,Hidup              ; Ulangi langkah diatas sampai 50h
                              ; kali
                 
   Mov  R5,#0FFh              ; Isi Register 5 dengan FFh (untuk
                              ; pengulangan saat padam)
Mati:    Lcall Delay                ; Panggil sub routine delay
   Djnz R5,mati               ; Ulangi sampai FFh(255) kali
   Ljmp Ulang                 ; Ulangi semua langkah diatas dari
                              ; awal                       
;
; sub routine delay
;
   Mov  R2,#90h               ; Isi Register R2 dengan 90h
Delay:   Djnz R2,Delay              ; ulangi langkah ini sapai 90h kali
   Ret                        ; Kembali
;
; DATA AREA
;
Haline:                 DB 0FDh,70h,24h,0BAh,77h,62h,0A0h,0FDh
             END

Wednesday 26 December 2012

pembacaan tombol-tombol yang disusun secara matrik, output tombol pada port


pembacaan tombol-tombol yang disusun secara matrik, output tombol pada port , input tombol pada port 1 dan hasil pembacaan di tampilkan pada 7 segment di port 0.
port yang digunakan bebas tetapi di sesuaikan dengan program


Circuit diagram :




Program :
;------------------------------------------------------------------------------------
;program untuk membaca tombol-tombol yang disusun
;secara matrik, input tombol pada port 1, output
;tombol pada port 2 dan hasil ditampilkan pada
;display 7 segment di port 0 file name HL11, H51
;-----------------------------------------------
Org   0h
Mulai:     
Mov   p2, #0fEh         ; buat p2.0 = 0 (untuk baca tombol
;0,A,B,C,F4
Jb    P1.7,key1         ; lompat ke key1 jika p1.7 =1 dan
;bila =0 maka
Mov   p0, #0AAh         ; keluarka kode huruf 'C' ke port 0
SJMP  mulai             ; lompat ke label mulai
Key1 :
Jb    p1.6,key2         ; lompat ke key1 jika p1.6 =1 dan
;bila =0 maka
Mov   p0,#38h           ; keluarka kode huruf 'g' ke port 0
SJMP  mulai             ; lompat ke label mulai
Key2 :
Jb    p1.5,key3
Mov   p0, #60h
SJMP  mulai



Key3 :                                   
Jb    P1.4,key4
Mov   P0,#22h
SJMP  mulai
Key4 :
Jb    P1.3,key5
Mov   P0,#70h
SJMP  mulai
;---------------------------
Untuk baca tombol 1,2,3,D,f3
;---------------------------
Key5 :
Mov   P2,#0FDh
Jb    P1.7,key6
Mov   P0,#34h
SJMP  mulai
Key6 :
Jb    P1.6,key7
Mov   P0,#25h
SJMP  mulai      
Key7 :
Jb    P1.5,key8
Mov   P0,#0A4h
SJMP  mulai
Key8 :
Jb    P1.4,key9
Mov   P0,#77h
SJMP  mulai
Key9 :
Jb    P1.3,key10
Mov   P0,#62h
SJMP  mulai
Key10 :
;----------------------------
;untuk baca tombol 4,5,6,E,F2
;----------------------------
Mov   P2,#0FBh
Jb    P1.7,key11
Mov   P0, #0A8h
SJMP  mulai
Key11 :
Jb    P1.6,key12
Mov   P0,#28h
SJMP  mulai
key12 :
Jb    P1.5,key13
Mov   P0,#29h
SJMP  mulai
Key13 :
Jb    P1.4,key14
Mov   P0,#71h
SJMP  mulai                              
Key14 :
Jb    P1.3,key15
Mov   P0,#0BAh
LJMP  mulai
Key15 :
;----------------------------
;Untuk baca tombol 7,8,9,F,F1
;---------------------------
Mov   P2,#0F7h
Jb    P1.7,key16
Mov   P0,#0E8h
LJMP  mulai
Key16 :
Jb    P1.6,key17
Mov   P0,#0E8h
LJMP  mulai
Key17 :
Jb    P1.5,key18
Mov   P0,#20h
LJMP  mulai
Key18 :
Jb    P1.4,key19
Mov   P0,#67h
Key19 :
Jb    P1.3,key20
Mov   P0,#0E0h
Key20 :
LJMP  mulai
END

Simulasi penekanan tombol yang di pasang pada port 3 dan hasil di tampilkan pada display LED 7 segment pada port 0

Simulasi penekanan tombol yang di pasang pada port 3 dan hasil di tampilkan pada display LED 7 segment pada port 0
.
Circuit diagram:


Program:
;---------------------------------------------------------------
;simulasi penekan tombol pada port 3 dan hasil penekanan
;di tampilkan pada display 7 segment di port 0
;file name HL10.H51
;---------------------------------------------------------------
      Org  0h
mulai: move A,P3              ;baca port 3 dan masukkan isinya di
;accumulator
      Cjne A,#0FEh,banding1  ;Bandingkan isi A dengan FEh bila
;hasilnya tidak sama, maka loncat ke
;label mulai
      Mov  P0,#22h           ;keluarkan kode angka 0 ke port 0
      Sjmp Mulai             ;loncat ke tabel mulai
banding1:
      Cjne A,#0FDh,banding2
      Mov P0,#0A4h
      Sjmp Mulai
banding2:
      Cjne A,#0FBh,banding3
      mov P0,#0A4h
      Sjmp Mulai
banding3:
      Cjne A,#0F7h,banding4
      mov P0,#25h
      Sjmp Mulai
Banding4:
      Cjne A,#0EFh,banding5
      mov P0,#71h
      Sjmp Mulai
Banding5:
      Cjne A,#0DFh,banding6
      mov P0,#29h
      Sjmp Mulai
Banding6:
      Cjne A,#0BFh,banding7
      mov P0,#28h
      Sjmp Mulai
Banding7:
      Cjne A,#07Eh,mulai
      mov P0,#67h
      Sjmp Mulai
     End