Praktikum Sistem tertanam Basic I/O dengan Port 1 Laporan Praktikum Modul 2 SISTEM TERTANAM (EMBEDDED SYSTEM) Kelas : TEK 3A Praktikum 2 Nama : Novitri Malini NIM : J3D111099 PROGRAM KEAHLIAN TEKNIK KOMPUTER PROGRAM DIPLOMA INSTITUT PERTANIAN BOGOR 1
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Praktikum Sistem tertanam Basic I/O dengan Port 1
Laporan Praktikum
Modul 2 SISTEM TERTANAM
(EMBEDDED SYSTEM)
Kelas : TEK 3A Praktikum 2
Nama : Novitri Malini
NIM : J3D111099
PROGRAM KEAHLIAN TEKNIK KOMPUTER
PROGRAM DIPLOMA
INSTITUT PERTANIAN BOGOR
BOGOR
2013
1
Praktikum Sistem tertanam Basic I/O dengan Port 1
Basic I/O dengan PORT 1
1.Tujuan Praktikum
Praktikan mampu membuat program input dan output menggunakan port 1 dari DT-51 MinSys dengan
cara mengakses Port 1 secara per bit dan per byte.
2.Dasar Teori
Panduan Dasar Mikrokontroler keluarga MCS-51 Bab IV bagian 1
Mikrokontroler MCS51 buatan Atmel terdiri dari dua versi, yaitu versi 20 kaki dan versi 40 kaki.
Semua mikrokontroler ini dilengkapi dengan Flash PEROM (Programmable Eraseable Read Only
Memory) sebagai media memori-program, dan susunan kaki IC-IC tersebut sama pada tiap
versinya. Perbedaan dari mikrokontroler-mikrokontroler tersebut terutama terletak pada
kapasitas memori-program, memori-data dan jumlah pewaktu 16-bit. Mikrokontroler MCS51
Atmel versi mini (20 pin) dan versi 40 pin secara garis besar memiliki struktur dasar penyusun
arsitektur mikrokontroler yang sama. Bagian-bagian tersebut secara lebih lengkap (detil)
ditunjukan dalam diagram blok berikut.
2
Praktikum Sistem tertanam Basic I/O dengan Port 1
Mikrokontroler MCS51 Atmel versi 40 kaki mempunyai 32 kaki sebagai port paralel dan 8 pin
yang lain untuk konfigurasi kerja mikrokontroler. Satu port paralel terdiri dari 8 kaki, dengan
demikian 32 kaki tersebut membentuk 4 buah port paralel yang masing-masing dikenal sebagai
port 0, port 1, port 2, port 3. Nomor dari masing-masing jalur (kaki) dari port paralel
mikrokontroler MCS51 Atmel mulai dari 0 sampai 7, jalur (kaki) pertama dari port 0 disebut
sebagai P0.0 dan jalur terakhir untuk port 3 adalah P3.7. Mikrokontroler MCS51 Atmel versi mini
mempunyai 20 kaki, 15 kaki diantaranya adalah kaki port 1 dan port 3. 5 kaki yang lain untuk
konfigurasi kerja mikrokontroler. Port 1 terdiri dari 8 jalur yaitu P1.0 sampai P1.7 dan port 3
terdiri dari 7 jalur yaitu P3.0 sampai P3.5 dan P3.7. Susunan kaki mikrokontroler MCS51 atmel
versi 40 kaki dapat dilihat pada gambar berikut.
Fungsi Kaki-Kaki (Pin) Microcontroller Atmel MCS51
VCC, Kaki VCCdigunakan untuk masukan suplai tegangan.
GND, Kaki (pin) GNDfunsinya sebagai saluran ground atau pentanahan.
RST, Kaki RSTfungsinya sebagai masukan reset. Kondisi “1” selama 2 siklus mesin pada saat
oscillator bekerja akan me-reset mikrokontroler yang bersangkutan.
ALE/PROG, Kaki ALEdigunakan sebagai keluaran ALE atau Adreess Latch Enable yang akan
menghasilkan pulsa-pulsa untuk menahan byte rendah (low byte) alamat selama mengakses
memori eksternal. Kaki ini juga berfungsi sebagai masukan pulsa program (the program
pulse input) atau selama pemrograman flash. Pada operasi normal, ALEakan berpulsa
3
Praktikum Sistem tertanam Basic I/O dengan Port 1
dengan laju 1/6 dari frekuensi kristal dan dapat digunakan sebagai pewaktuan (timing) atau
pendekatan (clocking) rangkainan eksternal.
PSEN, Kaki (Program Store Enable) merupakan sinyal baca untuk memori program
eksternal. Saat mikrokontroler MCS51 menjalankan program dari memori eksternal, akan
diaktifkan dua kali per-siklus mesin, kecuali dua aktivasi dilompati (diabaikan) saat
mengakses memori data eksternal.
EA/VPP, Kaki VPP( Exkternal Access Enable) fungsinya sebagai kontrol untuk mengakses
memori. harus dihubungkan ke ground, jika mikrokontroler akan mengeksekusi program
dari memori eksrternal. Selain itu harus dihubungkan ke VCCjika akan mengakses program
secara internal. Kaki ini juga berfungsi untuk menerima tegangan 12V (VPP) selama
pemrograman flash, khususnya untuk tipe mikrokontroler 12V volt.
XTAL1, Kaki XTAL1merupakan masukan untuk penguat inverting oscillator dan masukan
untuk clock internal pada rangkaian operasi mikrokontroler.
XTAL2, Kaki XTAL2merupakan keluaran dari rangkaian penguat inverting oscilator .
Port 0, Port 0 merupakan port keluaran/masukan (I/O) 8-bit bertipe open drain bi-
directional. Sebagai port keluaran, masing-masing kaki dapat menyerap arus (sink current)
delapan masukan TTL (sekitar 3,8 mA). Pada saat logika “1” dituliskan ke port 0, maka kaki-
kaki port 0 ini dapat digunakan sebagai masukan-masukan berimpedansi tinggi. Port 0 juga
dapat dikonfigurasikan sebagai jalur alamat/data bagian rendah (low byte) selama proses
pengaksesan memori data dan program eksternal. Jika digunakan dalam mode ini maka port
0 memiliki pull-up internal. Port 0 juga dapat menerima kode-kode yang dikirimkan
kepadanya selama proses pemrograman dan mengeluarkan kode-kode selama proses
verifikasi program yang telah tersimpan dalam Flash PEROM. Dalam hal ini dibutuhkan pull-
up eksternal selama proses verifikasi program.
Port 1, Port 1 merupakan port I/O 8-bit bertipe bidirectional yang dilengkapi dengan pull-up
internal. Penyangga keluaran port 1 mampu memberikan/menyerap arus empat masukan
TTL(sekitar 1,6 mA). Jika logika “1” dituliskan ke kaki-kaki port 1, maka masing-masing kaki
port 1 akan di-pull-up high dengan pull-up internal sehingga dapat digunakan sebagai
masukan. Sebagai masukan jika kaki-kaki port 1 dihubungkan ke ground (di-pull-up low),
maka masing-masing kaki akan memberikan arus (source current) karena di-pull-up high
secara internal. Port 1 juga menerima alamat bagian rendah (low byte) selama
pemrograman dan verifikasi pada Flash PEROM.
4
Praktikum Sistem tertanam Basic I/O dengan Port 1
Port 2, Port 2 merupakan port I/O 8-bit bertipe bidirectional yang dilengkapi dengan pull-up
internal. Penyangga keluaran port 2 mampu memberikan/menyerap arus empat masukan
TTL (sekitar 1,6 mA). Jika logika “1” dituliskan ke kaki-kaki port 2, maka masing-masing kaki
port 2 akan di-pull-up high dengan pull-up internal sehingga dapat digunakan sebagai
masukan. Sebagai masukan jika kaki-kaki port 2 dihubungkan ke ground (di-pull-up low),
maka masing-masing kaki akan memberikan arus (source current) karena di-pull-up high
secara internal. Port 2 akan memberikan byte alamat bagian tinggi (high byte) selama
pengambilan instruksi dari memori program eksternal dan selama pengaksesan memori
data yang menggunakan perintah dengan alamat 16-bit (misalnya: MOVX @DPTR). Dalam
aplikasi ini, jika ingin mengirimkan “1”, maka digunakan pull-up internal yang sudah
disediakan. Selama pengaksesan memori data eksternal yang menggunakan perintah
dengan alamat 8-bit (misalnya: MOVX @R1), port 2 akan mengirimkan isi dari SFR P2. Port 2
juga menerima alamat bagian tinggi selama pemrograman dan verifikasi pada Flash PEROM.
Port 3, Port 3 merupakan port I/O 8-bit bertipe bidirectional yang dilengkapi dengan pull-up
internal. Penyangga keluaran port 3 mampu memberikan/menyerap arus empat masukan
TTL(sekitar 1,6 mA). Jika logika “1” dituliskan ke kaki-kaki port 3, maka masing-masing kaki
port 3 akan di-pull-up high dengan pull-up internal sehingga dapat digunakan sebagai
masukan. Sebagai masukan jika kaki-kaki port 3 dihubungkan ke ground (di-pull-up low),
maka masing-masing kaki akan memberikan arus (source) karena di-pull-up high secara
internal. Port 3 juga digunakan untuk menerima sinyal-sinyal kontrol (P3.6 dan P3.7),
bersama-sama dengan port 2 (P2.6 dan P2.7) selama proses pemrograman dan verifikasi
pada Flash PEROM.
Panduan Dasar Mikrokontroler keluarga MCS-51 Bab XI
3.Perintah yang digunakan
SJMP,LJMP
MOV,MOVX
SETB,CLR
JB,JNB
JC,JNC
CJNE
5
Praktikum Sistem tertanam Basic I/O dengan Port 1
4.Listing Program/Prosedur Percobaan
1) Percobaan 1: Port 1 sebagai Output
Persiapan:
Hubungkan port1 DT-51 MinSys dengan “PORT OUTPUT” DT-51 Trainer Board
menggunakan Kabel tipe Y.
Hubungkan “CONTROL” DT-51 MinSys dengan “CONTROL” DT-51 Trainer Board (sebagai
sumber tegangan ) menggunakan kabel tipe X.
Hubungkan DT-51 MinSys dengan PC menggunakan kabel serial.
Hubungkan Dt-51 MinSys dengan sumber tegangan.
a.Program 1:
Ketiklah program berikut ini,assemble,download ke DT-51 MinSys,dan amati hasilnya:
$Mod51
CSEEG
ORG 4000H
LJMP START
ORG 4100H
START:
MOV SP,#30H
SETB P1.0
CLR P1.1
SETB P1.2
CLR P1.3
SETB P1.4
SETB P1.5
SETB P1.6
SETB P1.7
SJMP $
END
6
Praktikum Sistem tertanam Basic I/O dengan Port 1
Jika tidak ada kesalahan,program tersebut akan menyebabkan Output LED pada Tutorial
Board berada pada kondisi:
BIT7 BIT6 BIT5 BIT4 BIT 3 BIT2 BIT1 BIT0
Nyala Nyala Nyala Nyala Padam Nyala Padam Nyala
Catatan:
SP dipindahkan ke alamat 30h karena alamat-alamat sebelumnya umumnya masih
dipakai.Perintah SJMP $ pada program dan menyebabkan program berputar(looping)
pada alamat (address) dimana perintah SJMP $ berada.
b.Program 2:
Ketiklah program berikut ini,assamble,download ke DT-51 MinSys,dan amati hasilnya:
$mod51
CSEG
ORG 4000H
LJM START
ORG
START:
MOV SP,#30H
SETB C
MOV P1.0,C
MOV P1.1,C
MOV P1.2,C
MOV P1.3,C
CLR C
MOV P1.4,C
MOV P1.5,C
MOV P1.6,C
MOV P1.7,C
SJMP $
END
7
Praktikum Sistem tertanam Basic I/O dengan Port 1
Jika tidak ada kesalahan,program tersebut akan menerjamahkan Output LED pada Tutorial
Board berada pada kondisi:
BIT7 BIT6 BIT5 BIT4 BIT 3 BIT2 BIT1 BIT0
Padam Padam Padam Padam Nyala Nyala Nyala Nyala
c. Program 3:
Ketiklah program berikut ini,assamble,download ke DT-51 MinSys,dan amati hasilnya:
$mod51
CSEG
ORG 4000H
LJM START
ORG
START:
MOV SP,#30H
MOV P1.#0A3H
SJMP $
END
Jika tidak ada kesalahan,program tersebut akan menerjamahkan Output LED pada Tutorial
Board berada pada kondisi:
BIT7 BIT6 BIT5 BIT4 BIT 3 BIT2 BIT1 BIT0
Nyala Padam Nyala Padam Padam Padam Nyala Nyala
d. Program 4:
Ketiklah program berikut ini,assamble,download ke DT-51 MinSys,dan amati hasilnya:
$mod51
CSEG
ORG 4000H
LJM START
ORG
START:
MOV SP,#30H
8
Praktikum Sistem tertanam Basic I/O dengan Port 1
MOV A,#0C4H
MOV P1,A
SJMP $
END
Jika tidak ada kesalahan,program tersebut akan menerjamahkan Output LED pada Tutorial
Board berada pada kondisi:
BIT7 BIT6 BIT5 BIT4 BIT 3 BIT2 BIT1 BIT0
Nyala Nyala Padam Padam Padam Nyala Padam Padam
Latihan Mandiri:
a. Buatlah Program untuk menampilkan LED di Port 1 dengan kondisi:
BIT7 BIT6 BIT5 BIT4 BIT 3 BIT2 BIT1 BIT0
Nyala Nyala Padam Padam Nyala Padam Padam Padam
Akseslah Port 1 per bit(satu persatu seperti program 1 atau 2).
b. Buatlah Program untuk menampilkan LED di Port 1 dengan kondisi:
BIT7 BIT6 BIT5 BIT4 BIT 3 BIT2 BIT1 BIT0
Nyala Nyala Padam Nyala Nyala Padam Padam Nyala
Akseslah Port 1 per bit(secara keseluruhan sama seperti program 3 atau 4).
2) Percobaan II:Port 1 sebagai input
Persiapan:
Hubungkan Port 1 DT-51 MinSys dengan “PORT INPUT ” DT-51 Trainer Board menggunakan
kabel tipe Y.
Hubungkan Port A DT-51 MinSys dengan “PORT OUTPUT” DT-51 Trainer Board menggunakan
kabel tipe Y.
Hubungkan “CONTROL” DT-51 MinSys dengan “CONTROL” DT-51 Trainer Board (Sebagai sumber
tegangan) menggunakan kabel tipe X.
Hubungkan DT-51 MinSys dengan PC menggunakan kabel serial.
9
Praktikum Sistem tertanam Basic I/O dengan Port 1
Hubungkan DT-51 MinSys dengan sumber tegangan.
a. Program 1:
Ketiklah program berikut ini(tanpa tanda panah),assemble,download ke DT-51 MinSys, dan
amati hasilnya:
$mod51
CSEG
ORG 4000H
LJMP START
ORG 4100H
START:
MOV SP,#30H
INIT:
MOV DPTR,#2003H
MOV A,#80H
MOVX @DPTR,A
LABEL1:
JB P1.4,DISPLAY
DISPLAY2:
MOV DPTR,#2000H
MOV A,#00H
MOV @DPTR,A
SJMP LABEL1
DISPLAY:
MOV DPTR,#2000H
MOV A,#10H
MOVX @DPTR,A
SJMP LABEL1
END
10
Praktikum Sistem tertanam Basic I/O dengan Port 1
Jika tidak ada kesalahan ,program tersebut akan bekerja sebagai berikut:
-Jika toggle switch “Bit 4” berlogika ‘0’ maka semua LED akan padam(masuk ke label DISPLAY2).
-Jika toggle switch “Bit 4” berlogika ‘1’ maka hanya LED “Bit 4” yang akan menyala(masuk ke
label DISPLAY).
Catatan:
Karena program melakukan looping,maka perintah SJMP $ dapat di
hilangkan.Program dengan label INIT (inisialisasi PPI),DISPLAY,DAN DISPLAY2
hendaknya tidak berubah karena penggunaan PPI barn akan dijelaskan pada bab
berikutnya.Penggunaan p1.4 tidak mutlak dan dapat diganti dengan bit port 1 lain
sebagain input.Nilai ‘00h’ dan ‘10h’ yang diberi tanda dapat diganti dengan nilai lain
sebagai output ke LED.
Program 2:
Ketiklah program berikut ini(tanpa tanda panah),assemble,download ke DT-51 MinSys, dan
amati hasilnya:
$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
11
Praktikum Sistem tertanam Basic I/O dengan Port 1
MOV C,P1.0
JNC DISPLAY3
DISPLAY2:
MOV DPTR,#2000H
MOV A,#00H
MOV @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
Jika tidak ada kesalahan,program tersebut akan bekerja sebagai berikut:
-Jika Toggle switch “Bit 5” berlogika ‘1’ maka hanya LED “Bit 5” yang akan menyala(masuk ke
label DISPLAY).
-Jika Toggle switch “Bit 5” berlogika ‘0’ maka program akan memeriksa kondisi toggle switch
“Bit 0”.
-Jika toggle switch “Bit 5” berlogika ‘0’ dan toggle switch “Bit 0” berlogika ‘1’ maka semua LED
akan padam(masuk ke label DISPLAY2).
-Jika toggle switch “Bit 5” berlogika ‘0’ dan toggle switch “Bit 0” berlogika ‘0’ maka hanya LED
“Bit 0” yang akan menyala(masuk ke label DISPLAY3).
-Jika toggle switch “Bit 5” berlogika ‘1’,kondisi toggle switch “Bit 0” tidak akan mempengaruhi
kondisi LED.
12
Praktikum Sistem tertanam Basic I/O dengan Port 1
Catatan:
Program denga table INIT (Inisialisasi PPI),DISPLAY,DISPLAY2 dan DISPLAY3 hendaknya
tidak diubah.Penggunaan P1.5 dan P1.0 tidak mutlak dapat diganti dengan Port 1
sebagai input.Nilai ‘00h’,’20h’,dan ‘01h’ yang diberi tanda dapat diganti dengan nilai
lain sebagai output ke LED.
b. Program 3:
Ketiklah program berikut ini,assemble,download ke DT-51 MinSys dan amati hasilnya:
$mod51
CSEG
ORG 4000H
LJMP START
ORG 4100H
START:
MOV SP,#30H
INIT:
MOV DPTR,#2003H
MOV A,#80H
MOVX @DPTR,A
LABEL1:
MOV A,P1
DISPLAY:
MOV DPTR,#2000H
MOVX @DPTR,A
SJMP LABEL1
END
Jika tidak ada kesalahan program tersebut akan menampilkan nyala LED pada posisi yang sesuai
dengan posisi toggle switch yang berlogika ‘1’.
Catatan:
13
Praktikum Sistem tertanam Basic I/O dengan Port 1
Program dengan label INIT dan DISPLAY hendaknya tidak diubah.
c. Program 4:
Ketiklah program berikut ini,assemble,download ke DT-51 MinSys dan amati hasilnya:
$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
Jika tidak ada kesalahan,program tersebut akan bekerja sama seperti program 3.Hanya saja
program ini tidak langsung memindahkan Accumulator ke Port 1 melainkan dipindahkan ke
register R1 terlebih dahulu.
Catatan:
Program dengan label INIT dan DISPLAY hendaknaya tidak diubah.
d. Program 5:
14
Praktikum Sistem tertanam Basic I/O dengan Port 1
Ketiklah program berikut ini,assemble,download ke DT-51 MinSys dan amati hasilnya:
$mod51
CSEG
ORG 4000H
LJMP START
ORG 4100H
START:
MOV SP,#30H
INIT:
MOV DPTR,#2003H
MOV A,#80H
MOVX @DPTR,A
LABEL1:
MOV A,P1
MOV A,#OFH,DISPLAY
SJMP LABEL1
DISPLAY:
MOV DPTR,#2000H
MOVX @DPTR,A
SJMP LABEL1
END
Jika tidak ada kesalahan,program tersebut akan bekerja sebagai berikut:
-Jika posisi toggle switch bernilai ‘0Fh’,maka tampilan LED tidak berubah(sama dengan kondisi
sebelumnya).
-jika posisi toggle switch bernilai selain ‘0Fh’,maka tampilan LED akan sesuai dengan nilai toggle
switch tersebut.
Catatan:
Program dengan label INIT dan DISPLAY hendaknya tidak diubah.
15
Praktikum Sistem tertanam Basic I/O dengan Port 1
Latihan Mandiri:
a. Buatlah program untuk menampilkan LED di Port A dengan toggle switch di Port 1 dengan
syarat:
-Jika toggle switch “Bit 0” berlogika ‘0’, semua LED padam
-Jika toggle switch “Bit 0” berlogika ‘1’,program akan memeriksa kondisi toggle switch “Bit 7”.