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




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).
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, DISPLAY ; 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 DPTR, #2000H
                          MOV A, #00H
                          MOVX @DPTR, A
                          SJMP LABEL1

DISPLAY:         MOV DPTR, #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
                         MOV A, R1
                         MOVX @DPTR, A
                         SJMP LABEL1
END