Senin, 13 Januari 2014

AKSES DATA SECARA LOOK UP TABLE

AKSES DATA SECARA LOOK UP TABLE
Langkah :
1. Hubungkan PORT 1 (P1) DT51 MinSysn dengan PORT OUTPUT DT-51 Trainer board
2. Hubungkan CONTROL DT-51 MinSys dengan CONTROL DT-51 Trainer board
3. Hubungkan DT-51 MinSys dengan PC menggunakan kabel serial
4. Hubungkan DT-51 MinSys dengan sumber tegangan

 Skema Rangkaian



Teori
Akses data ke alamat memori dapat dilakukan secara berurutan (indeks) dengan melibatkan register DPTR, A dan register pencacah data misal R0.

Contoh:

MULAI: MOV DPTR,#DATALED           ; isi reg DPTR dengan alamat awal data
              MOV R0,#00H                             ; siapkan R0 sbdg pencacah data

NEXT: CLR A                                            ; kosongkan isi reg A
             MOVC A,@A+DPTR                   ; copy data dari alamat data yg ditunjuk DPTR ke A
             -------
             INC DPTR                                     ; naikkan alamat
             INC R0                                           ; naikkan pencacah data
             CJNE R0,#08h,NEXT                    ; apakah cacah data sudah 8, jika belum ke next data

Program I RUNNING LED MANUAL
$mod51
           CSEG
           ORG 4000H
           LJMP START
           ORG 4100H
START:
           MOV P1,#00000001B
           ACALL TUNDA
           MOV P1,#00000010B
           ACALL TUNDA
           MOV P1,#00000100B
           ACALL TUNDA
           MOV P1,#00001000B
          ACALL TUNDA
          MOV P1,#00010000B
          ACALL TUNDA
          MOV P1,#00100000B
          ACALL TUNDA
          MOV P1,#01000000B
          ACALL TUNDA
          MOV P1,#10000000B
          ACALL TUNDA
           LJMP START

TUNDA : MOV R7,#01H
LUP1:      MOV R6,#0FFH
LUP2:      MOV R5,#0FFH
                 DJNZ R5,$
                 DJNZ R6,LUP2
                 DJNZ R7, LUP1
                 RET
END

Program 2 RUNNING LED DENGAN LOOP UP TABLE
; PROGRAM AKSES DATA (LOOK UP TABLE)
; AKSES DATA BERURUTAN YANG DI SIMPAN DI TABEL DATA
; DI AKSESES DGN BANTUAN REG DPTR, REG A dan RO
; ==============================================

$MOD51
                  CSEG
                  ORG 4000h
                  LJMP MULAI
                  ORG 4100h
MULAI:    MOV DPTR,#DATALED
                  MOV R0,#00H
NEXT:       CLR A
                   MOVC A,@A+DPTR
                 CPL A
                 MOV P1,A
                 INC DPTR
                 ACALL TUNDA
                 INC R0
                 CJNE R0,#08h,NEXT
                 SJMP MULAI

;=======PROSEDUR TUNDA===
TUNDA: MOV R7,#01h
LUP1:     MOV R6,#0FFh
LUP2:     MOV R5,#0FFH
                DJNZ R5, $
                DJNZ R6,LUP2
                DJNZ R7,LUP1
                RET
;=======PROSEDUR TUNDA==END

DATALED:
                    DB 00000001b
                    DB 00000010b
                    DB 00000100b
                    DB 00001000b
                    DB 00010000b
                    DB 00100000b
                    DB 01000000b
                    DB 10000000b
END

Tidak ada komentar:

Posting Komentar