Senin, 06 Januari 2014

PRAKTEK - 2 BASIC I/O P1 SEBAGAI INPUT

Langkah:
1.Hubungkan PORT DT51 MinSysn dengan PORT INPUTDT-51 trainer 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
P1 sbg input PA sebagai output yaitu sebagai berikut :

ALAMAT PORT tambahan pada system DT-51 adalah sbb:
1.   PA (port A) = 2000h
2.   PB (port B) = 2001h
3.   PC (port C) = 2002h
4.   Reg CR       = 2003h

PA adalah PORT tambahan (eksternal) diluar mikrokontroler, yang disediakan dari IC PPI 8255. Mikrokontroler dapat menggunakan PA ini dengan cara MEMPROGRAMNYA TERLEBIH DAHULU lewat register internal PPI 8255 yaitu register CW (control word).

Contoh Memprogram semua Port PPI 8255 (PA, PB, PC) sebagai output, maka reg CW harus diberi data 80h (lihat manual PPI 8255).




Dengan code:

Program I Membaca data dari P1

% Membaca data bit p1.4, jika bernilai 1 maka LED
% di PA akan nyala,Jika tidak maka semua LED akan mati

$mod51
        CSEG
        ORG 4000H
        LJMP START
        ORG 4100H

START:  MOV SP, #30H

INIT:   MOV DPTR, 2003H ; proses isi cw dg data 80H
        MOV A, #80H
        MOVX @DPTR, A

LABEL1: JB P1.4, PISPLAY ; baca bit p1.4
DISPLAY2: MOV DPTR,#2000H ; jika=0 matikan semua LED
            MOV A, #00H
            MOVX @DPTR, A
            SJMP LABEL1

DISPLAY: MOV DPTR,#2000H ; jika=1 nyalakan semua LED
          MOV A, #0FFH
          MOVX @DPTR, A
          SJMP LABEL1
END

Program 2
$mod51
          CSEG
          ORG 4000H
          LJMP START
          ORG 4100H
START :
          MOV SP,#30H

INIT:    MOV DPTR,#2003H
          MOV A,#80H
          MOVX @DPTR, A

LABEL1:   MOV C, P1.5
          JC DISPLAY
          MOV C, P1.0
          JNC DISPLAY3

DISPLAY2: MOV DOTR, #2000H
          MOV A, #00H
          MOVX @DPTR, A
          SJMP LABEL1

DISPLAY2: MOV DOTR, #2000H
          MOV A, #20H
          MOVX @DPTR, A
          SJMP LABEL1

DISPLAY3: MOV  DPTR, #2000H
          MOV  A, #01H 
          MOVX @DPTR, A
          SJMP LABEL1
END

Program 3
$mod51
CSEG
ORG  4000H
LJMP START
ORG  4100H

START:
        MOV  SP, #30H

INIT:    MOV  DPTR, #2003H
        MOV  A , #80H
        MOVX @DPTR, A

LABEL1:  MOV  R1, P1

DISPLAY: MOV  DPTR, #2000H 
 MOVA, R1
        MOVX @DPTR, A 
        SJMP LABEL1
END

Tidak ada komentar:

Posting Komentar