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
LATIHAN:
1. Buatlah program running LED dengan perintah RR (Rotation
Right) dan RL (Ratation Left) agar LED nyala balak-balik kanan-kiri dan
kiri-kanan. Kombinasikan perintah RR, RL dan CJNE untuk mengecek posisi data
ujung (80h dan 01h)
Petunjuk:
RR A
à geser/rotasi 1 bit isi register A
ke Kanan
RL A à geser/rotasi
1 bit isi register A ke Kiri
CJNE A,#80h,TIDAK à apakah isi Reg A=80h, jika tidak
maka lompat ke TIDAK, jika YA kerjakan
Instruksi dibawahnya
2. Buatlah program running LED
bolak balik dengan pola nyala LED yang sudah disimpan di alamat data (DATALED)
berarti ada 16 data pola nyala LED. Kerjakan dengan model look up table seperti
program 2.
Tidak ada komentar:
Posting Komentar