Laporan tugas2 interface_kelompok2

13
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

Transcript of Laporan tugas2 interface_kelompok2

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 2

www.dzul92.blogspot.com

Interface dan Pheripheral Komputer Page 3

A. LAYOUT SISTEM

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

www.dzul92.blogspot.com

Interface dan Pheripheral Komputer Page 13