Selasa, 07 Januari 2014

PRAKTEK - 3 AKSES DATA SECARA LOOK UP TABLE

Langakh:
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 YG DI SIMPAN DI TABEL DATA
;DI AKSES 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,#80h,NEXT
        SJMP MULAI

;=======PROSEDUR TUNDA===== END

DATALED
        DB00000001b
        DB00000010b
        DB00000100b
        DB00001000b
        DB00010000b
        DB00100000b
        DB01000000b
        DB10000000b
END

Tidak ada komentar:

Posting Komentar