Post on 22-Jul-2015
PEMETAAN PORT
Oleh
KELOMPOK II
NAMA NIM
Julfikar Leuly 14112064
Abd. Malik Mulki 14112091
Putra Pratama R 14112169
Muh. Alwi 14112081
Micael Adrianus 14112072
SEKOLAH TINGGI MANAJEMEN INFORMATIKA KOMPUTER
STMIK PROFESIONAL MAKASSAR
TEKNIK KOMPUTER 3-1
2012
www.dzul92.blogspot.com
Interface dan Pheripheral Komputer Page 4
B. DATA PORT
1. Data unutuk LED yang terletak pada Port A, yaitu pada pin A1, A3, A5 dan berfungsi sebagai Output
A7 A6 A5 A4 A3 A2 A1 A0
0 0 1 0 1 0 1 0
=0010 1010b
=2AH
2. Data unutuk Saklar yang terletak pada Port B, yaitu S1 pada pin B7, S2 pada pin B0, S3 pada pin B3 dan
berfungsi sebagai Input
Data S1
B7 B6 B5 B4 B3 B2 B1 B0
1 0 0 0 0 0 0 0
=1000 0000b
=80H
Data S2
B7 B6 B5 B4 B3 B2 B1 B0
0 0 0 0 0 0 0 1
=0000 1001b
=01H
Data S3
B7 B6 B5 B4 B3 B2 B1 B0
0 0 0 0 1 0 0 0
=0000 1000b
=08H
3. Data untuk 3 Motor DC yang terletak pada Port C, yaitu pada pin C3, C4, C5 dan berfungsi sebagai Output
C7 C6 C5 C4 C3 C2 C1 C0
0 0 1 1 1 0 0 0
=0011 1000b
=38H
www.dzul92.blogspot.com
Interface dan Pheripheral Komputer Page 5
C. DIAGRAM ALIR
Ya
Tidak
Ya
Tidak
Ya
Tidak
Mulai
Alamat ROM =4000H Alamat RAM =2000H Alamat I/O =6000H
Data PPI =82H Code Class =LOOP
LOOP 1,2,3
6001
80H
01H
08H
2AH, 6000H
38H, 6002H
00H, 6000H, 6002H
LOOP 1,2,3
Selesai
www.dzul92.blogspot.com
Interface dan Pheripheral Komputer Page 6
D. CODING PROGRAM
Untuk membuat membuat coding program, yaitu menggunakan Aplikasi Crimson Editor, langkah-langkahnya sebagai
berikut :
1. Instal Aplikasi Crimson Editor. Untuk menginstal aplikasi ini tidak terlalu sulit, sangat mudah karena sama
halnya dengan menginstal aplikasi-aplikasi yang lain. Pertama buka folder Aplikasi, di dalamnya klik 2x Icon
seperti di bawah ini
Setelah itu muncul jendela seperti di atas, klik I Agrre, Klik Next dan seterusnya sampai Finish.
2. Sebelum menjalankan aplikasi ini, pertama-tama harus membuat folder mandiri untuk menyimpan tiga buah
file, yaitu ASM51, DT51LWin, dan MOD51. Misalnya disini folder mandirinya dengan nama CODING
PROGRAM. Copy ketiga file itu dan Paste dalam folder mandiri (CODING PROGRAM)
3. Langkah selanjutnya membuka Aplikasi Crimson Editor. Lihat pada Dekstop klik 2x Icon
4. Crimson Editor maka akan muncul lembar kerja dari Aplikasi Crimson Editor ini , seperti
gambar di bawah ini.
www.dzul92.blogspot.com
Interface dan Pheripheral Komputer Page 7
5. Klik File | klik New atau klik Icon New. Kemudian klik Tools | klik Conf.User.Tools.. Akan muncul sebuah
jendela, yaitu Preferences.
www.dzul92.blogspot.com
Interface dan Pheripheral Komputer Page 8
6. Pengisian Preferences :
Pertama
a. Klik Empty
b. Manu Text, misalnya diisi dengan kata DOWNLOAD
c. Command: cari file DT51LWin di folder mandiri yang sudah dibuat sebelumnya, kemudaian klik Open
d. Argument: pilih $(FileDir) atau klik File Directory
e. Initial Dir: cari folder mandiri | klik Ok
f. Hot Key: Tekan F11
g. Close on exit dan Save before execute, keduanya harus diberi tanda centang
h. Klik Apply
i. Klik Ok
Kedua, sama seperti langkah pertama cuma hanya sedikit berbeda.
a. Klik Tools
b. Klik Conf.User.Tools…
c. Klik Empty
d. Menu Text, misalnya diisi dengan kata COMPILE
e. Command: cari file ASM51 di folder mandiri, kemudian Open
f. Argument: pilih $(FilePath) atau klik File Path
g. Initial Dir: cari folder mandiri | klik Ok
h. Hot Key: Tekan F12
i. Beri tanda centang pada Close on exit dan Save beofer execute
j. Klik Apply
k. Klik Ok
7. Setelah itu mulailah mengetik kode program pada halaman kerja Crimson Editor, sesuai dengan DIAGRAM
ALIR di atas. Ada beberapa bagian intruksi dalam kode program ini yang harus diketahui sebelumnya, yaitu:
I. Bagian Inisialisas (intruksi inisialisasi)
ORG 4000H MOV A,#82H MOV DPTR,#6003H MOVX @DPTR,A ; Penjabaran:
ORG => (singkatan dari ORIGINAL) artinya pemograman akan mendefinisikan tempat code/intruksi akan disimpan. Code/intruksi itu akan selalu disimpan pada ROM, sehingga code ORG selalu berpasangan dengan alamat ROM, misalnya seperti di atas adalah alamat ROM=4000H
MOV A,#82H => Arti dari kode ini adalah memindahkan dara konfigurasi PPI ke register A. Data PPI misalnya adalah =#82H
MOV DPTR,#6003H => Adalah memindahkan CW (Control Word) ke sebuah stack yang diberi nama DataPoinTeR (DPTR), selanjutnya alamat ini akan disimpan pada DataPoinTeR sampai ada alamat baru yang menggantikannya. Alamat CW yaitu =#6003H
www.dzul92.blogspot.com
Interface dan Pheripheral Komputer Page 9
MOVX @DPTR,A => Adalah mengisi data yang ada pada register A, sehingga isi register A sama dengan isi DPTR. MOVX hanya bias dipakai untuk mengakses data yang berasal dari regidter yang berbeda tetatpi dalam satu perangkat yang sama dan MOVX hanya digunakan pada memory data External yaitu anngota keluarga MCS51, selain dari itu tidak bias digunakan. X adalah sigkatan dari External.
II. Bagian Input (intruksi input)
LOOP3:CLR A MOV DPTR,#6001H MOVX A,@DPTR Penjabaran:
CLR A => Artinya menghapus/membagi ruang dalam register A dan LOOP3 adalah nama
code class
MOV DPTR,#6001H => Artinya memindahkan alamat port input/alamat saklar pada port B
(#6001) ke DPTR
MOVX A,@DPTR => Artinya memindahkan isi dari DPTR ke register A, sehingga alamat yang
ada pada register A sama dengan alamat di DPTR
III. Bagian Percabangan 1 (intruksi percabangan 1) dan Bagian Outputnya
CJNE A,#80H,LOOP1 percabangan 1 MOV A,#2AH MOV DPTR,#6000H bagian output MOVX @DPTR,A Penjabaran:
Kondisi 1 : Jika saklar satu(S1) ditekan maka LED akan menyala
CJNE A,#80H,LOOP1 => Compile Jump it Not Equal (CJNE), Artinya bandingkan data set point dengan data yang anda inginkan jika sesuai maka dikerjakan intruksi output, jika tidak sesuai melangkah ke alamat code yang diberikan dan mulai bekerja di alamat tersebut. Data set point= #80H adalah data Saklar 1 (S1). LOOP1 adalah nama code class pertama.
MOV A,#2AH => Artinya, isi register A dengan data yang bersamaan dengan perangkat keras. #2AH=Data pada LED
MOV DPTR,#6000H => Artinya, pindahkan alamat port output ke DPTR. Alamat port output adalah alamat pada LED yang tetletak pada port A (#6000H)
MOVX @DPTR,A => Artinya, pindahkan isi register A ke DPTR, sehingga DPTR berisi data dari alamat port output (#6000H)
IV. Bagian Percabangan ke-2 (intrusksi percabangan ke-2) dan Bagian Outputnya
LOOP1:CJNE A,#01H,LOOP2 percabangan 2 MOV A,#38H MOV DPTR,#6002H bagian output MOVX @DPTR,A
www.dzul92.blogspot.com
Interface dan Pheripheral Komputer Page 10
Penjabaran: Kondisi ke-2 : Jika saklar dua(S2) ditekan maka 3 Motor DC akan aktif
CJNE A,#01H,LOOP2 => Compile Jump it Not Equal (CJNE), Artinya bandingkan data set point
dengan data yang anda inginkan jika sesuai maka dikerjakan intruksi output, jika tidak sesuai melangkah ke alamat code yang diberikan dan mulai bekerja di alamat tersebut. Data set point= #01H adalah data Saklar dua (S2). LOOP2 adalah nama code class kedua.
MOV A,#38H => Artinya, isi register A dengan data yang bersamaan dengan perangkat keras. #38H=Data pada 3 Motor DC
MOV DPTR,#6002H => Artinya, pindahkan alamat port output ke DPTR. Alamat port output adalah alamat pada 3 Motor DC yang tetletak pada port C (#6002H)
MOVX @DPTR,A => Artinya, pindahkan isi register A ke DPTR, sehingga DPTR berisi data dari alamat port output (#6002H)
V. Bagian Percabangan ke-3 (intruksi percabangan ke-3), Bagian Outputnya dan Intruksi Loncatan
LOOP2:CJNE A,#08H,LOOP3 percabangan 3 MOV A,#00H MOV DPTR,#6000H MOV DPTR,#6002H bagiann ouput MOVX @DPTR,A JMP LOOP3 intruksi loncatan END selesai (mengakhiri program) Penjabran:
Kondisi ke-3 : Jika saklar tiga(S3) ditekan maka LED dan 3 Motor DC bersamaan akan tidak aktif
CJNE A,#01H,LOOP2 => Compile Jump it Not Equal (CJNE), Artinya bandingkan data set point
dengan data yang anda inginkan jika sesuai maka dikerjakan intruksi output, jika tidak sesuai melangkah ke alamat code yang diberikan dan mulai bekerja di alamat tersebut. Data set point= #08H adalah data Saklar tiga (S3). LOOP3 adalah nama code class ketiga.
MOV A,#00H => Artinya, isi register A dengan data yang bersamaan dengan perangkat keras. #00H=Data kosong yang akan dikirimkan ke alamat LED dan 3 Motor DC, sehingga membuat keduanya tidak aktif
MOV DPTR,#6000H | MOV DPTR,#6002H => Artinya, pindahkan alamat port output ke DPTR. Alamat port output adalah alamat pada LED dan 3 Motor DC yang tetletak pada port A (#6000H) dan port C (#6002H)
MOVX @DPTR,A => Artinya, pindahkan isi register A ke DPTR, sehingga DPTR berisi data dari alamat port output=#6000H | #6002H
JMP LOOP3 => Artinya, melakukan loncatan pada LOOP3 END => Artinya, untuk mengakhri program
www.dzul92.blogspot.com
Interface dan Pheripheral Komputer Page 11
Akan tampak CODING PROGRAM selengkapnya pada pada lembar kerja dari Aplikasi Crimson Editor. ORG 4000H MOV A,#82H MOV DPTR,#6003H MOVX @DPTR,A ; LOOP3:CLR A MOV DPTR,#6001H MOVX A,@DPTR CJNE A,#80H,LOOP1 MOV A,#2AH MOV DPTR,#6000H MOVX @DPTR,A LOOP1:CJNE A,#01H,LOOP2 MOV A,#38H MOV DPTR,#6002H MOVX @DPTR,A LOOP2:CJNE A,#08H,LOOP3 MOV A,#00H MOV DPTR,#6000H MOV DPTR,#6002H MOVX @DPTR,A JMP lOOP3 END Setelah penulisan coding program selesai, simpan (Save As) tekan F12 untuk melakukan compile, maka akan muncul sebuah file yang berekstensi .LST. Klik file .LST tersebut, perhatikan apakah ada kesalahan atau tidak. Jika tidak ada maka akan tampak file .LST dengan keterangan “ASSEMBLY COMPLETE, 0 ERRORS FOUND” (kesalahan nol), sepereti gambar di bawah ini.
8. FILE .LST
www.dzul92.blogspot.com
Interface dan Pheripheral Komputer Page 12
Bersamaan dengan file .LST akan muncul sebuah file lain yang berekstensi .HEX.
9. FILE HEX
Dari kesemua langkah-langkah di atas hanya file .HEX inilah yang menjadi inti dari hasil akhir yang kita capai.
Dengan menentukan alamat ROM 4000H, alamat RAM 2000H, alamat I/O 6000H dan data PPI yaitu 82H.
Setelah kita menentukan port B (6001H) berfungsi sebagai sebagi input disitulah letaknya saklar (S1, S2, S3),
sementara sebagai port output, yaitu LED pada port A (6000H) dan 3 Motor DC pada port C. Kondisi yang
diciptakan untuk sistemnya adalah :
1) Kondisi pertama : jika data #80H (S1 aktif ) maka data 2AH (data LED) akan aktif pada alamat port
6000H, sehingga membuat LED menyala
2) Kondisi kedua : jika data #01H (S2 aktif ) maka data 38H (data 3 Motor DC) akan aktif pada alamat
port 6002H, sehingga membuat 3 Motor DC aktif
3) Kondisi ketiga: jika data #08H (S1 aktif ) maka data 00H (data kosong) akan aktif pada alamat port
6000H dan 6002H, sehingga LED dan 3 Motor DC bersamaan akan tidak aktif.
File ini yang akan yang dibaca oleh mesin atau di download ke dalam memori
:104000007482906003F0E4906001E0B48006742A4A
:10401000906000F0B401067438906002F0B408E6D5
:0B4020007400906000906002F080DBF4
:00000001FF
Terima Kasih