Tugas Mikro SP
-
Upload
octa-tri-nugraha -
Category
Documents
-
view
6 -
download
2
description
Transcript of Tugas Mikro SP
![Page 1: Tugas Mikro SP](https://reader036.fdocument.pub/reader036/viewer/2022082610/563dbb3b550346aa9aab5fbb/html5/thumbnails/1.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082610/563dbb3b550346aa9aab5fbb/html5/thumbnails/2.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082610/563dbb3b550346aa9aab5fbb/html5/thumbnails/3.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082610/563dbb3b550346aa9aab5fbb/html5/thumbnails/4.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082610/563dbb3b550346aa9aab5fbb/html5/thumbnails/5.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082610/563dbb3b550346aa9aab5fbb/html5/thumbnails/6.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082610/563dbb3b550346aa9aab5fbb/html5/thumbnails/7.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082610/563dbb3b550346aa9aab5fbb/html5/thumbnails/8.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082610/563dbb3b550346aa9aab5fbb/html5/thumbnails/9.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082610/563dbb3b550346aa9aab5fbb/html5/thumbnails/10.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082610/563dbb3b550346aa9aab5fbb/html5/thumbnails/11.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082610/563dbb3b550346aa9aab5fbb/html5/thumbnails/12.jpg)
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…