Tugas Mikro SP

13
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).

description

Tugas Mikro SP

Transcript of Tugas Mikro SP

Page 1: Tugas Mikro SP

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:

Page 2: Tugas Mikro SP

Program 1 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

Page 3: Tugas Mikro SP

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

Page 4: Tugas Mikro SP

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

Page 5: Tugas Mikro SP

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

Page 6: Tugas Mikro SP

END

Praktek Seven Segment

Seven segment adalah diode LED sebanyak 7 buah yang disusun dan

dikemas membentuk penampil angka, dan biasanya ditambahkan 1 buah

LED untuk koma (Dot Point). Karena dibentuk dari kumpulan LED maka

ada dua jenis seven segment, yaitu Common Anode (CA) dan Common

Catode (CC).

Untuk penyalakan seven segment jenis CC maka masukan segment a s/d

Dp harus diberi logika tinggi dan bagian CC dihubungkan dengan

Ground. Sedangkan jika ingin menyalakan seven segment jenis CA maka

masukan segment a s/d Dp harus diberi logika LOW dan CA

harus dihubungkan ke +5 VCC.

Skema Rangkaian

P1 sbg input PA sebagai output

Page 7: Tugas Mikro SP

 

ALAMAT PENTING MODUL DT-51 adalah sbb:

1. PA (port A) = 2000h

2. PB (port B) = 2001h

3. PC (port C) = 2002h

4. Reg CW (Control Word) = 2003h

5. DIGIT1 = 80h

6. DIGIT2 = 40h

Dari gambar rangkaian di atas saluran data tampilan angka

menggunakan P1 yang dipakai bersama antara digit1 dan digit 2

sehingga jika ingin menampilkan angka bersama (tampil 2 digit

sekaligus) dilakukan secara bergantian secara cepat sehingga tampil

seolah-olah berbarengan. Catatan penting untuk tampilan secara

bergatian dari digit1 ke digit2 harus diselingi dengan mematikan semua

sesaat, karena jika tidak dimatikan sesaat maka tampilan angka akan

tumpang tindih.

Langkah:

1. Hubungkan P1 DT51 MinSysn dengan “DATA 7S” DT-51 trainer board.

2. Hubungkan Port C DT51 MinSysn dengan “I/P S KEY” DT-51 trainer

board.

Page 8: Tugas Mikro SP

3. Hubungkan CONTROL DT-51 Min Sys dengan CONTROL DT-51

trainer board.

4. Hubungkan DT-51 MinSys dengan PC menggunakan kabel serial

5. Hubungkan Dt-51 MInSys dengansumber tegangan

PROGRAM 1

;——————————–

; contoh scanning seven segment

; menampilkan angka 51

;——————————–

$mod51

PORTC EQU 2002H

CW EQU 2003H

CSEG

ORG 4000H

LJMP START

DELAY: MOV R6, #0FH

LUP: MOV R7, #0FFH

DJNZ R7, $

DJNZ R6, LUP

RET

Page 9: Tugas Mikro SP

START:

MOV SP, #30H

MOV DPTR, #CW

MOV A, #80H

MOVX @DPTR, A

LOOP:

;menampilkan angka 5 di seven segment 1

MOV DPTR, #PORTC

MOV A, #80H

MOVX @DPTR, A

MOV P1, #6DH

LCALL DELAY

MOV P1,#00H

;menampilkan angka 7 di seven segment 2

MOV A, #40H

MOVX @DPTR, A

MOV P1, #07H

LCALL DELAY

MOV P1,#00H

Page 10: Tugas Mikro SP

SJMP LOOP

END

hasil pengamatan program

1. fungsi code

ORG 0; vektor resetJMP utama; melompat ke program utama

ORG 3; eksternal 0 interrupt vectorJMP ext0ISR, melompat ke ISR 0 eksternal

ORG 0BH; timer 0 interrupt vectorJMP timer0ISR; melompat ke timer 0 ISR

ORG 30h; program utama dimulai di siniutama:SetB IT0; mengatur eksternal interrupt 0 sebagai tepi-diaktifkanSetB EX0; mengaktifkan interupsi eksternal 0CLR P0.7; me-reset P0.7 menjadi bernilai 0MOV TMOD, # 2; memindahkan angka atau nilai 2 ke TMOD

MOV TH0, # -20; memindahkan angka atau nilai -20 ke TH0

MOV TL0, # -20; memindahkan angka atau nilai -20 ke TL0|

SetB TR0; memulai timer 0SetB ET0; mengaktifkan timer 0 interruptSetB EA; mengaktifkan bit interrupt mengaktifkan globalJMP $; melompat kembali ke baris yang sama (yaitu; melakukan apa-apa)

; Akhir program utama

; Timer 0 ISR – hanya mulai sebuah konversi ADCtimer0ISR:CLR P3.6 ; me-reset P3.6 menjadi bernilai 0SetB P3.6, kemudian mengaturnya – ini hasil di tepi positif yang diperlukan untuk memulai konversiRETI; kembali dari interrupt

; Eksternal 0 ISR – menanggapi konversi ADC interrupt lengkapext0ISR:CLR P3.7; me-reset P3.7 menjadi bernilai 0MOV P1, P2, mengambil data dari ADC pada P2 dan mengirimkannya ke garis data DAC di P1SetB P3.7; menonaktifkan jalur data ADC dengan menetapkan RDRETI; kembali dari interrupt

2. perubahan per code

Page 11: Tugas Mikro SP

pc 0×0000masuk ke mainpc 0×0030| -> pc 0×0032 -> sp 0×07 -> tcon 0×01pc 0×0032| -> pc 0×0034 -> sp 0×07 -> IE 0×01 -> tcon 0×01pc 0×0034| -> pc 0×0036 -> P0 0x7F -> IE 0×01 -> tcon 0×01pc 0×0036| -> pc 0×0039 -> TMOD 0×02 -> P0 0x7F -> IE 0×01 -> tcon 0×01pc 0×0039| -> pc 0x003C -> TMOD 0×02 -> P0 0x7F -> IE 0×01 -> tcon 0×01 -> THO 0xECpc 0x003C| -> pc 0x003F -> TMOD 0×02 -> P0 0x7F -> IE 0×01 -> tcon 0×01 -> THO 0xEC -> TLO 0xECpc 0x003F| -> pc 0×0041 -> TMOD 0×02 -> P0 0x7F -> IE 0×01 -> tcon 0×11 -> THO 0xEC -> TLO 0xECpc 0×0041| -> pc 0×0043 -> TMOD 0×02 -> P0 0x7F -> IE 0×03 -> tcon 0×11 -> THO 0xEC -> TLO 0xEDpc 0×0043| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xEEpc 0×0043| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xEEpc 0×0043| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xF0pc 0×0043| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xF2pc 0×0043| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xF4pc 0×0043| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xF6pc 0×0043| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xF8pc 0×0043| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xFApc 0×0043| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xFCpc 0×0043| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xFE

pc 0x00Bmasuk ke timerpc 0x000B| -> pc 0×0047 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xEE -> SP 09pc 0×0047| -> pc 0×0049 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xEF -> SP 09pc 0×0049| -> pc 0x004B -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xF0 -> SP 09pc 0x004B| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xF2 -> SP 07pc 0×0045| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xF4 -> SP 07pc 0×0045| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xF6 -> SP 07

Page 12: Tugas Mikro SP

pc 0×0045| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xF8 -> SP 07pc 0×0045| -> pc 0×0003 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xFA -> SP 09

pc 0×0003masuk ke external 0 ISRpc 0×0003| -> pc 0x004C -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xFC -> SP 09pc 0x004C| -> pc 0x004E -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xFD -> SP 09pc 0x004E| -> pc 0×0051 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xFF -> SP 09 -> P0 0X7F -> P1 0X00 -> P2 0XFF -> P3 0X7Fpc 0×0051| -> pc 0×0053 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xEC -> SP 09 -> P0 0X7F -> P1 0X00 -> P2 0XFF -> P3 0XFFpc 0×0053| -> pc 0×0045 -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×31 -> THO 0xEC -> TLO 0xEE -> SP 09 -> P0 0X7F -> P1 0X00 -> P2 0XFF -> P3 0XFFpc 0×0045| -> pc 0x000B -> TMOD 0×02 -> P0 0x7F -> IE 0×83 -> tcon 0×11 -> THO 0xEC -> TLO 0xF0 -> SP 09 -> P0 0X7F -> P1 0X00 -> P2 0XFF -> P3 0XFFkembali lagi ke timer…