PRAKTEK-3 AKSES DATA SECARA LOOK UP TABLE

Langkah:
1. Hubungkan PORT 1 (P1) DT51 MinSysn dengan PORT OUTPUT DT-51 tariner board.
2. Hubungkan CONTROL DT-51 Min Sys dengan CONTROL DT-51 trainer board.
3. Hubungkan DT-51 MinSys dengan PC menggunakan kabel serial
4. Hubungkan Dt-51 MInSys dengansumber 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