"Perubahan terjadi karena adanya suatu gerakan atau tindakan yang kita lakukan, bukan karena suatu kebetulan"
"IKRAFEO membantu anda untuk membuat suatu perubahan agar terjadi perbaikan yang membawa kita pada suatu keselarasan hidup "

Investasi Emas Lebih Menguntungkan

Sudah tidak jamannya lagi membawa emas kemana - mana, kemajuan teknologi membantu dan mempermudah kita dalam berbisnis emas.

Tempat beriklan yang cocok untuk bisnis anda

pasang iklan anda disini untuk mendapatkan pegunjung yang lebih banyak dari berbagai wilayah di Indonesia dan berbagai negara di belahan dunia untuk melihat produk-produk anda.

Pasang iklan disini sesuai dengan kebutuhan anda

Anda dapat memasang iklan sesuai dengan budget yang anda miliki.

Perumahan Permata Green Residence

Rumah minimalis dengan gaya metropolis, dapatkan segera, Unit terbatas "Hanya 21 Unit".

Aneka Jajanan Cokelat Lezat

Lihat produk cokelat dari kami, khusus bagi anda penggemar kuliner cokelat.

Senin, 18 Juli 2011

Contoh Laporan KP - Teknik Elektro / Telekomunikasi

PENGENALAN PROGRAM MICROCONTROLLER

KEPADA PELAJAR SMA/SMK

KERJA PRAKTEK

Diajukan sebagai salah satu syarat

untuk memperoleh gelar sarjana Teknik Elektro/Telekomunikasi

Oleh :

ADRIAL ANUGRAH PUTRA

10020023


PROGRAM STUDI TEKNIK ELEKTRO/TELEKOMUNIKASI

SEKOLAH TINGGI TEKNIK MULTIMEDIA

CENDEKIA ABDITAMA

TANGERANG

2009


LEMBAR PENGESAHAN

Laporan Kerja Praktek ini telah dibaca, diperiksa dan disetujui pada:

Hari : Selasa

Tanggal : 05 Mei 2009

Tampat : STT Multimedia Cendekia Abditama

Jl. Siliwangi Raya No. 55 Pamulang-Banten


Mengetahui,

Kaprodi Teknik Telekomunikasi

Yaaro Telaumbanua, MT.

NIP. K.04.008

Pembimbing Kerja Praktek

Yaaro Telaumbanua, MT.

NIP. K.04.008




LEMBAR PENGESAHAN SIDANG KERJA PRAKTEK

Pada hari ini, Selasa, tanggal 19 Mei 2009, Pukul 13.00 sampai dengan 14.00 telah dilaksanakan sidang Kerja Praktek:

Nama : Adrial Anugrah Putra

NIM : 10020023

Program studi : Teknik Elektro/Telekomunikasi

Judul Kerja Praktek : Pengenalan Program Mikrokontroller Kepada

Pelajar SMA/SMK

Pembimbing : Yaaro Telaumbanua, MT.

Disahkan oleh:

Yaaro Telaumbanua, MT.

Ketua Sidang

Djasiodi Djasri, Ir, MT.

Penguji Sidang 1


KATA PENGANTAR

Puji syukur penulis ucapkan kehadirat Allah SWT yang telah melimpahkan rahmat, hidayah dan pertolongan-Nya sehingga penulis dapat menyelesaikan laporan Kerja Praktek (KP) yang berjudul Pemograman Microcontroller ini.

Penghargaan yang besar penulis sampaikan kepada Direktorat Jenderal Pendidikan Tinggi (DIKTI) yang telah memberikan kepercayaan kepada penulis untuk melaksanakan PKM yang dijadikan sebagai KP satu ini dan sekaligus menjadikannya sebagai proses pembelajaran mandiri di lingkungan kampus.

Dalam kesempatan yang baik ini, tak lupa pula penulis ucapkan rasa terima kasih kepada:

1. Seluruh dosen STT Multimedia Cendekia Abditama baik yang menjadi pembimbing, penguji, maupun dosen lainnya yang telah memberikan ilmu-ilmu yang sangat bermanfaat.

2. Seluruh civitas akedemika STT Multimedia Cendekia Abditama.

3. Teman-teman Cendekiawan, khususnya siswa-siswi jurusan Elektro atas bantuannya baik secara langsung maupun tidak langsung.

4. Orang tua dan keluarga yang telah banyak memberikan perhatian dan kasih sayang terus-menerus.

5. Dan semua pihak yang telah membantu yang tidak dapat disebutkan satu persatu.

Selanjutnya penulis berharap semoga KP 1 yang telah terlaksana ini dapat bermanfaat bagi mahasiswa pada khususnya dan bagi masyarakat luas pada umumnya.

Tangerang, 1 Mei 2009

Adrial Anugrah Putra

DAFTAR ISI

KERJA PRAKTEK.. i

LEMBAR PENGESAHAN.. ii

LEMBAR PENGESAHAN SIDANG KERJA PRAKTEK.. iii

KATA PENGANTAR.. iv

DAFTAR ISI. v

DAFTAR TABEL.. viii

DAFTAR GAMBAR.. ix

DAFTAR LAMPIRAN.. x

BAB I PENDAHULUAN.. 1

1.1. Latar Belakang Masalah. 1

1.2. Tujuan Kerja Praktek. 1

1.3. Perumusan Masalah. 1

1.4. Pembatasan Masalah. 2

1.5. Waktu dan Tempat Pelaksanaan. 2

1.6. Metodologi Pelaksanaan. 3

1.6.1 Metode perolehan informasi 3

1.6.2 Perancangan pemograman. 3

1.6.3 Uji coba sistem.. 3

1.6.4 Evaluasi 3

1.7. Sistematika Penulisan. 3

BAB II GAMBARAN UMUM PERGURUAN TINGGI. 5

2.1. Sekilas pandang tentang Multimedia. 5

2.2. Daya Tampung dan Gedung Kampus STTMCA.. 5

2.2.1. Laboratorium elektronika. 6

2.2.2. Laboratorium komputer 7

2.3. Pendirian dan Pengesahan. 8

2.4. Visi dan Misi 8

2.5. Manajemen. 9

2.6. Sistem Manajemen Kampus. 10

2.7. Tenaga Pengajar 10

2.8. Program Pengajar 11

2.9. Jumlah Mahasiswa. 11

2.10. Prestasi Mahasiswa. 11

2.11. Pengembangan Program Studi 11

BAB III LANDASAN TEORI. 12

3.1. Bahasa Assembly. 12

3.2. Sistem Bilangan Desimal, Biner dan Hexadesimal 15

3.2.1. Konversi bilangan desimal ke bilangan biner 16

3.2.2. Konversi bilangan desimal ke bilangan hexadesimal 17

3.3. Mikrokontroler AT89S51. 17

3.3.1. Port 0. 20

3.3.2. Port 1. 20

3.3.3. Port 2. 21

3.3.4. Port 3. 21

3.3.5. PSEN (program store enable) 21

3.3.6. ALE (address latch enable) 22

3.3.7. EA (external access) 22

3.3.8. RST (reset) 22

3.3.9. On-chip oscillator. 22

2.3.10. Koneksi power. 23

3.4. Seven Segment 23

3.4.1. Common anode. 23

3.4.2. Common cathode. 24

BAB IV PERANCANGAN.. 25

4.1. Penyambungan Input dan Output 25

4.1.1. Port 2. 25

4.1.2. Port 1. 26

4.1.3. Port 0. 27

4.2. Pembuatan Algoritma (Flowchart) 29

4.3. Penerjemahan Flowchart Kedalam Bahasa Assembly. 30

4.4. Compiler Untuk Menghasilkan Kode Biner 31

BAB V IMPLEMENTASI. 32

BAB VI METODA PEMBERIAN PELATIHAN.. 33

6.1. Penjelasan Materi 33

6.2. Pemberian Latihan. 33

6.3. Praktikum.. 33

BAB VII PENUTUP. 34

7.1. Kesimpulan. 34

7.2. Saran. 34

DAFTAR PUSTAKA.. 35

LAMPIRAN.. 36


DAFTAR TABEL

Tabel 3.1 Daftar assembly directive…………………………………….

Tabel 3.2 Daftar assembly instruksi…………………………………….

Tabel 3.3 Perbandingan bilangan desimal dan bilangan biner………….

Tabel 3.4 Perbandingan bilangan desimal dan bilangan hexadesimal….

Tabel 3.5 Metode coba-coba konversi bilangan desimal ke bilangan biner..........................................................................................

Tabel 3.6 Fungsi-fungsi khusus port 3………………………………….

Tabel 4.1 Konfigurasi port 2 dalam bilangan biner dan hexadesimal…..

Tabel 4.2 Konfigurasi port 1 dalam bilangan biner dan hexadesimal......

Tabel 4.3 Konfigurasi port 0 dalam bilangan biner dan hexadesimal......

13

14

15

15

16

21

26

27

28


DAFTAR GAMBAR

Gambar 2.1 Sekolah Tinggi Teknik Multimedia Cendekia Abditama…...

Gambar 2.2 Laboratorium elektronika Sekolah Tinggi Teknik Multimedia Cendekia Abditama…………………………….

Gambar 2.3 Laboratorium komputer Sekolah Tinggi Teknik Multimedia Cendekia Abditama…………………………………………

Gambar 3.1 Blok system mikrokontroler AT89S51……………………...

Gambar 3.2 Memory map mikrokontroler AT89S51…………………….

Gambar 3.3 IC seri mikrokontroller AT89S51……………………...........

Gambar 3.4 Seven segment common anode……………………………...

Gambar 3.5 Seven segment common cathode…………………………....

Gambar 4.1 Konvigurasi P2.0-P2.7……………………………………....

Gambar 4.2 Konvigurasi P1.0-P1.5……………………………………....

Gambar 4.3 Konvigurasi P0.0-P0.7……………………………………....

Gambar 4.4 Contoh flowcahrt……………………………………………

Gambar 4.5 Program kompiler ASM51…………………………………..

Gambar 5.1 Program assembly yang telah disimulasikan kedalam mikrokontroller AT89S51.......................................................

6

7

8

18

19

20

23

24

25

26

27

29

31

32


DAFTAR LAMPIRAN

Lampiran 1 Notepad……………………………………………………..

Lampiran 2 ASM51 Dan MOD51……………………………………….

Lampiran 3 ATMEL……………………………………………………..

Lampiran 4 Flowchart……………………………………………………

Lampiran 5 DT-HiQ AT89S Dan Kabel ISP.............................................

36

36

37

38

39


BAB I PENDAHULUAN

1.1. Latar Belakang Masalah

Perkembangan teknologi tumbuh semakin pesat. Namun kebanyakan dari masyarakat hanya mengerti cara menggunakan teknologi yang sudah ada saja, tanpa mengetahui bagaimana teknologi tersebut dibuat.

Maka dari itu diperlukan sebuah pengenalan terhadap minimal satu teknologi, dalam hal ini pemograman dengan menggunakan bahasa assembly terhadap seven segment kepada masyarakat.

1.2. Tujuan Kerja Praktek

Kerja praktek ini bertujuan untuk menambah pengetahuan dan kemampuan bagi penulis. Di samping itu, bertujuan juga untuk memperkenalkan sebuah program dengan bahasa assembly sederhana kepada masyarakat, khususnya kepada pelajar SMA/SMK sehingga mereka memiliki pengetahuan dasar untuk membuat pemograman dengan menggunakan bahasa assembly walaupun hanya dengan sedikit instruksi saja.

1.3. Perumusan Masalah

Masalah yang hendak diselesaikan dalam kegiatan ini adalah pembuatan sebuah program assembly sederhana terhadap rangkaian seven segment dengan instruksi-instruksi yang umum digunakan, dan kemudian memperkenalkannya kepada masyarakat, khususnya kepada pelajar SMA/SMK.


1.4. Pembatasan Masalah

Setelah kegiatan PKM selesai dilaksanakan, laporan yang hendak diselesaikan dapat dikelompokkan kedalam tiga bagian, yaitu perancangan hardware, pemograman dan statistik pelatihan. Dan dalam laporan KP ini hanya akan difokuskan ke bagian pemograman saja, dimana akan dibahas mengenai tiga topik utama, yaitu:

1. Prinsip kerja mikrokontroller AT89S51, yakni mengenai penyambungan input/output dengan seven segment yang akan mempermudah dalam pembuatan program bahasa assembly.

2. Pembuatan sebuah program sederhana dengan menggunakan bahasa pemograman assembly.

3. Pengenalan program assembly kepada masyarakat, khususnya kepada pelajar SMA/SMK.

1.5. Waktu dan Tempat Pelaksanaan

Pelaksanaan kerja praktek ini adalah sekaligus juga sebagai pelaksanaan Program Kreatifitas Mahasiswa (PKM) yang diselenggarakan oleh Direktorat Penelitian dan Pengabdian kepada Masyarakat (DP2M), Ditjen Dikti. Sehingga waktu pelaksanaan adalah seperti yang diberikan oleh DP2M, namun sekaligus disesuaikan dengan kegiatan belajar mahasiswa yang bersangkutan.

Waktu Pelaksanaan : April-Mei 2008

Tempat Pelaksanaan : Laboratorium Elektronika dan Laboratorium

Komputer STTMCA

1.6. Metodologi Pelaksanaan

1.6.1 Metode perolehan informasi

Metode perolehan informasi ini berkenaan dengan pengumpulan data-data mengenai proses pemograman dengan bahasa assembly, seperti proses pembuatan flowchart hingga menterjemahkan flowchart kedalam bahasa assembly.

1.6.2 Perancangan pemograman

Perancangan pemograman mikrokontroller ini dibuat berdasarkan spesifikasi IC AT89S51 yang dipakai.

1.6.3 Uji coba sistem

Uji coba dilakukan di Laboratorium Teknik Telekomunikasi Sekolah Tinggi Teknik Multimedia Cendekia Abditama saat perancangan seven segment selesai dibuat.

1.6.4 Evaluasi

Dilakukan untuk mengetahui sejauh mana efektifitas perencanaan kegiatan dengan pelaksanaan kegiatan.

1.7. Sistematika Penulisan

Laporan ini terdiri atas beberapa bab yang masing-masing bab terdiri atas beberapa sub bab. Adapun sistematika penulisan laporan kerja praktek ini adalah sebagai berikut:

BAB I PENDAHULUAN

Di dalam bab ini, diuraikan mengenai latar belakang masalah, tujuan kerja praktek, perumusan masalah, pembatasan masalah, waktu dan tempat pelaksanaan, metodologi pelaksanaan serta sistematika penulisan.

BAB II GAMBARAN UMUM PERGURUAN TINGGI

Bab ini membahas mengenai profile perguruan tinggi tempat penulis melakukan kegiatan PKM sekaligus kerja praktek.

BAB III LANDASAN TEORI

Bab ini membahas tentang bahasa assembly, sistem bilangan desimal, biner serta hexadesimal, mikrokontroller AT89S51, dan seven segment.

BAB IV PERANCANGAN

Di dalam bab ini diuraikan mengenai proses pembuatan program dengan bahasa assembly. Mulai dari penyambungan input/output, hingga mensimulasi-kan program yang dibuat kedalam mikrokontroller AT89S51.

BAB V IMPLEMENTASI

Bab ini menguraikan hasil akhir setelah program disimulasikan kedalam mikrokontroller AT89S51.

BAB VI METODA PEMBERIAN LATIHAN

Bab ini menguraikan mengenai proses pemberian materi pelatihan kepada pelajar SMU/SMK.

BAB VII PENUTUP

Bab ini terdiri atas kesimpulan dan saran.


BAB II GAMBARAN UMUM PERGURUAN TINGGI

Sekolah Tinggi Teknik Multimedia Cendekia Abditama

Jl. Siliwangi Raya No. 55, Pamulang,

Kabupaten Tangerang, Banten

Telp. (021) 7492255, Fax. (021) 7498277

Website: www.cendekia.ac.id

2.1. Sekilas pandang tentang Multimedia

Era multimedia tidak terasa sudah merasuk dalam seluruh aspek kehidupan manusia, hal ini ditunjang oleh perkembangan Teknologi Informasi dan Telekomunikasi (ICT) yang menjadi basis dari multimedia telah mengalami kemajuan yang pesat tidak saja di negara-negara sedang berkembang termasuk Indonesia.

Mencermati kondisi tersebut Sekolah Tinggi Teknik Multimedia Cendekia Abditama (STTMCA) hadir dan dipersiapkan untuk menjawab kebutuhan sumber daya manusia di bidang multimedia yang saat ini dirasakan sangat kurang memadai baik secara kuantitas apalagi kualitas.

Kehadiran kami sebagai Perguruan Tinggi pertama di bidang multimedia di Indonesia saat ini memiliki visi sebagai pusat unggulan bidang multimedia Indonesia.

Kami yakin kontribusi STTMCA akan sangat berarti besar bagi kemajuan bidang multimedia Tanah Air.

2.2. Daya Tampung dan Gedung Kampus STTMCA

Seiring dengan semakin besarnya kebutuhan SDM di bidang multimedia dan pertumbuhan minat yang signifikan terhadap bidang ini dari tahun ke tahun, maka STTMCA meningkatkan daya tampung mahasiswa dengan membangun gedung kampus baru di Pamulang.


Gambar 2.1 Sekolah Tinggi Teknik Multimedia Cendekia Abditama

Dengan luas lahan 9.625 m2 dan luas kampus berlantai tiga kurang lebih 1072 m2, area ini diproyeksikan akan dapat menampung lebih kurang 1000 mahasiswa dan dilengkapi dengan berbagai fasilitas penunjang aktifitas mahasiswa.

2.2.1. Laboratorium elektronika

Laboratorium yang terletak dilantai satu gedung C Sekolah Tinggi Teknik Multimedia Cendekia Abditama ini dikepalai oleh Bapak Djasiodi Djasri, Ir, MT. dan merupakan laboratorium khusus untuk mahasiswa/mahasiswi berjurusan Teknik Elektro / Komunikasi.

Di dalam ruangan ini, penulis melakukan perancangan hardware serta uji coba sistem untuk mengetahui apakah rangkaian mikrokontroler dapat digunakan atau tidak dalam pelatihan.

Gambar 2.2 Laboratorium elektronika Sekolah Tinggi Teknik Multimedia Cendekia Abditama

2.2.2. Laboratorium komputer

Laboratorium yang terletak dilantai dua gedung C Sekolah Tinggi Teknik Multimedia Cendekia Abditama ini dikepalai oleh Bapak Novan Zulkarnain, ST, M.Kom. dan merupakan laboratorium untuk seluruh mahasiswa/mahasiswi STTMCA.

Pada ruangan ini penulis melakukan pelatihan dalam memperkenalkan program mikrokontroler kepada masyarakat, khususnya pelajar SMU/SMK.

Gambar 2.3 Laboratorium komputer Sekolah Tinggi Teknik Multimedia Cendekia Abditama

2.3. Pendirian dan Pengesahan

Sekolah Tinggi Teknik Multimedia Cendekia Abditama didirikan oleh Yayasan Cendekia Abditama dengan Akte Notaris Andrea Septiyani, SH, SpN. Nomor 2 Tanggal 8 Mei 2003. Disahkan dalam SK Mendiknas RI Nomor 56/D/O/2004.

2.4. Visi dan Misi

Visi

Sekolah Tinggi Teknik Multimedia Cendekia Abditama menjadi Pusat Unggulan Pendidikan Bidang Multimedia yang disertai dengan pembinaan mental dan spiritual.

Misi

Berperan aktif dalam pembangunan bangsa dan negara melalui:

· Menyelenggarakan program studi guna menunjang pengembangan dan penerapan Teknologi Multimedia yang meliputi anatara lain Teknik Informatika dan Teknik Elektro.

· Menyediakan sarana-prasarana dan lingkungan kondusif bagi pelaksanaan kegiatan akademis yang efektif dan efisien, sehingga mendapatkan lulusan yang memiliki kecerdasan akademik, kecerdasan emosional dan kecerdasan spiritual, serta trampil dan kreatif dalam berinovasi.

· Menjaga keterkaitan dan relevansi kegiatan akademis untuk memenuhi kebutuhan pembangunan nasional serta mampu berkomunikasi secara global.

· Menjalin kerjasama dengan berbagai pihak untuk menjamin kemutakhiran ilmu pengetahuan dan teknologi yang dapat diterapkan tepat guna.

2.5. Manajemen

Ketua Sekolah

Ir. Muslim Jayadikusuma, MBA

Wakil Ketua I Bidang Akademik

H. M. Jarot S. Suroso, Ir. M.Eng.

Wakil Ketua II Bidang Administrasi dan Keuangan

Desmalena, SE

Wakil Ketua III Bidang Kemahasiswaan

Mas Bambang Purnomo Sigit, SH.MM.

2.6. Sistem Manajemen Kampus

Mulai bulan Februari 2006, Sekolah Tinggi Teknik Multimedia Cendekia Abditama mendapat sertifikat dan mengimplementasikan standar Sistem Manajemen Mutu ISO 9001:2000 dengan nomor sertifikat: IA4246.

2.7. Tenaga Pengajar

Tenaga pengajar para akademisi lulusan dalam dan luar negeri, Universitas Indonesia, Universitas Gajah Mada, Universitas Hasanudin, Marseille University, University of Southern California, National University of Singapore, UC Berkley, yaitu:

2.7.1. H.A. Qadri Ramadhany, SH, MM, Ph.D.

2.7.2. Muslim Jayadi, Ir, MBA.

2.7.3. H. M. Jarot S. Suroso, Ir, M.Eng.

2.7.4. Mas Bambang Purnomo Sigit, SH, MM

2.7.5. Hadi Sutopo, Ir, MMSI

2.7.6. Yaaro Telaumbanua, CETU, MT.

2.7.7. Novan Zulkarnain, ST, M.Kom.

2.7.8. Nur Akbar Said, Ir, M.Eng.Sc.

2.7.9. Djasiodi Djasri, Ir, MT.

2.7.10. Iyan Turyana, ST, MT.

2.7.11. Sugiono, S.Kom, M.Pd.

2.7.12. Priyono, Drs, ME.

2.7.13. Mazmur Tarigan, ST

2.7.14. Bramantyo Sukarno, Ir.

2.7.15. Sasanti T. Soegiarto, Dra.

2.7.16. Agus Setyaji, Ir.

2.8. Program Pengajar

1. Program sarjana S1

Teknik Informatika

2. Program sarjana S1

Teknik Elektro / Komunikasi

2.9. Jumlah Mahasiswa

Untuk saat ini jumlah mahasiswa Sekolah Tinggi Teknik Multimedia Cendekia Abditama berjumlah 95, orang terdiri dari:

Jurusan Teknik Informatika: 70 orang.

Jurusan Teknik telekomunikasi: 25 orang.

2.10. Prestasi Mahasiswa

1. Peserta PKM Tingkat Nasional di UNILA, Lampung.

2. Peserta PKIM Tingkat Propinsi Banten.

3. Peserta Kejurnas Bridge Mahasiswa.

4. Peserta Pemanfaatan Hasil Penelitian program PKM potensi Hak Paten.

2.11. Pengembangan Program Studi

1. Diploma 3 (D3)

· Teknik Informatika

· Teknik Elektro / Telekomunikasi

2. Sarjana (S1)

· Design Komunikasi Visual

· Teknik Bradcasting


BAB III LANDASAN TEORI

3.1. Bahasa Assembly

Bahasa Assembly adalah bahasa pemograman tingkat rendah. Dalam pemograman komputer dikenal dua jenis tingkat bahasa. Jenis yang pertama adalah bahasa pemograman tingkat tinggi (high level language) dan jenis yang kedua adalah bahasa pemograman tingkat rendah (low level language).

Bahasa pemograman tingkat tinggi lebih berorientasi kepada manusia yaitu bagaimana agar pernyataan-pernyataan yang ada program mudah ditulis dan dimengerti oleh manusia. Sedangkan bahasa tingkat rendah lebih berorientasi ke mesin, yaitu bagaimana agar komputer dapat langsung mengintepretasikan pernyataan-pernyataan program.

Kelebihan bahasa assembly:

  1. Ukurannya lebih kecil ketika di-compile.
  2. Lebih hemat dan efisien dalam penggunaan memori.

3. Lebih cepat dieksekusi.

Kesulitan bahasa assembly:

  1. Dalam melakukan suatu pekerjaan, baris program relatif lebih panjang dibanding bahasa tingkat tinggi.
  2. Relatif lebih sulit untuk dipahami terutama jika jumlah baris sudah terlalu banyak.

3. Lebih sulit dalam melakukan pekerjaan rumit, misalnya operasi matematis.

Terdapat dua jenis bahasa assembly yang dapat kita tulis dalam program:

Assembly directive, yaitu kode yang menjadi arahan bagi assembler/ compiler untuk menata program.


Tabel 3.1 Daftar Assembly Directive

Assembly

Directive

Keterangan

EQU

Pendefinisian konstanta

DB

Pendefinisian data dengan ukuran satuan 1 byte

DW

Pendefinisian data dengan ukuran satuan 1 word

DBIT

Pendefinisian data dengan ukuran satuan 1 bit

DS

Pemesanan tempat penyimpanan data di RAM

ORG

Inisialisasi alamat mulai program

END

Penanda akhir program

CSEG

Penanda penempatan di code segment

XSEG

Penanda penempatan di external data segment

DSEG

Penanda penempatan di internal direct data segment

ISEG

Penanda penempatan di internal indirect data segment

BSEG

Penanda penempatan di bit data segment

CODE

Penanda mulai pendefinisian program

XDATA

Pendefinisian external data

DATA

Pendefinisian internal direct data

IDATA

Pendefinisian internal indirect data

BIT

Pendefinisian data bit

#INCLUDE

Mengikutsertakan file program lain

1. Instruksi, yaitu kode yang harus dieksekusi oleh CPU mikrokontroler dengan melakukan operasi tertentu sesuai dengan daftar yang sudah tertanam dalam CPU.

Tabel 3.2 Daftar Assembly Instruksi

Instruksi

Keterangan Singkatan

Instruksi

Keterangan Singkatan

ACALL

Absolute Call

LJMP

Long Jump

ADD

Add

MOV

Move from Memory

ADDC

Add with Carry

MOVC

Move from Code Memory

AJMP

Absolute Jump

MOVX

Move from Extended Memory

ANL

AND Logic

MUL

Multiply

CJNE

Compare and Jump if Not Equal

NOP

No Operation

CLR

Clear

ORL

OR Logic

CPL

Complement

POP

Pop Value From Stack

DA

Decimal Adjust

PUSH

Push Value Onto Stack

DEC

Decrement

RET

Return From Subroutine

DIV

Divide

RETI

Return From Interrupt

DJNZ

Decrement and Jump if Not Zero

RL

Rotate Left

INC

Increment

RLC

Rotate Left through Carry

JB

Jump if Bit Set

RR

Rotate Right

JBC

Jump if Bit Set and Clear Bit

RRC

Rotate Right through Carry

JC

Jump if Carry Set

SETB

Set Bit

JMP

Jump to Address

SJMP

Short Jump

JNB

Jump if Not Bit Set

SUBB

Subtract With Borrow

JNC

Jump if Carry Not Set

SWAP

Swap Nibbles

JNZ

Jump if Accumulator Not Zero

XCH

Exchange Bytes

JZ

Jump if Accumulator Zero

XCHD

Exchange Digits

LCALL

Long Call

XRL

Exclusive OR Logic

3.2. Sistem Bilangan Desimal, Biner dan Hexadesimal

Pada umumnya semua manusia telah terbiasa menggunakan sistem bilangan desimal atau denary, yaitu sistem bilangan dengan basis 10 yang memiliki sepuluh buah simbol, yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8 dan 9. Tetapi sistem ini tidak selalu menjadi pilihan terbaik untuk setiap aplikasi. Rangkaian elektronika lebih cocok menggunakan sistem bilangan biner yang merupakan sistem bilangan berbasis 2, yang memiliki dua simbol, yaitu 0 dan 1. Dan sistem bilangan lain yang juga sering digunakan adalah sistem bilangan hexadesimal yang berbasis 16, yang dengan kata lain memiliki enambelas buah simbol, yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, dan F.

Tabel 3.3 Perbandingan bilangan desimal dan bilangan biner

Desimal

Biner

Desimal

Biner

0

0000

5

0101

1

0001

6

0110

2

0010

7

0111

3

0011

8

1000

4

0100

9

1001

Tabel 3.4 Perbandingan bilangan desimal dan bilangan hexadesimal

Desimal

Hexadesimal

Desimal

Hexadesimal

0

0

8

8

1

1

9

9

2

2

10

A

3

3

11

B

4

4

12

C

5

5

13

D

6

6

14

E

7

7

15

F


3.2.1. Konversi bilangan desimal ke bilangan biner

Bilangan desimal dapat dikonversi ke bilangan biner dengan dua cara, yang pertama adalah dengan cara kombinasi intuisi serta metode coba-coba (trial and error), dan cara yang kedua adalah dengan pembagian.

Pada metoda coba-coba, bilangan desimal yang diketahui dipisah-pisahkan kedalam sejumlah bilangan pangkat dengan basis 2.

Tabel 3.5 Metode coba-coba konversi bilangan desimal ke bilangan biner

Bilangan

Desimal

Kolom Biner

Bilangan

Biner

25 (32)

24 (16)

23 (8)

22 (4)

21 (2)

20 (1)

22

0

1

0

1

1

0

010110

Contohnya, angka 22d (22 dalam sistem bilangan desimal) memiliki nilai yang lebih kecil dari 25 (=32), sehingga bit 0 ditempatkan pada kolom 25 (32). Tetapi angka 22d lebih lebih besar dari 24 (=16), sehingga bit 1 ditempatkan dikolom 24 (16). Sisanya adalah 22 – 16 = 6, yang nilainya lebih kecil dari 23 (=8), sehingga bit 0 ditempatkan pada kolom 23 (8). Tetapi lebih besar dari 22 (=4), sehingga bit 1 ditempatkan pada kolom 22 (2). Maka sisanya menjadi 6 – 4 = 2. Sisa ini akan menghasilkan bit 1 yang akan ditempatkan pada kolom 21 (2). Karena tidak ada lagi sisa, maka kolom 20 (1) akan diisi oleh bit 0. Sehingga 22d = 010110b.

Sedangkan dengan cara pembagian, bilangan desimal yang akan diubah secara berturut-turut dibagi dengan angka 2, dengan memperhatikan sisa pembagiannya yang bernilai 0 atau 1. Sisa pembagian ini akan membentuk bilangan biner. Contohnya:

sisa 0, LBS

sisa 1

sisa 1

sisa 0

sisa 1, MBS

Konversi bilangan desimal ke bilangan hexadesimal

Untuk mengkonversi bilangan desimal ke bilangan hexadesimal, dapat dilakukan dengan cara pembagian bilangan yang igin diubah dengan angka 16 secara berturut-turut. Contonya untuk mengubah angka 3409d, dapat dilakukan dengan langkah-langkah seperti berikut:

sisa 110, LBS

sisa 510

sisa 1310, MBS

Dengan memperhatikan tabel 3.4, maka 110 = 116, 510 = 516 dan 1310 = D16. Sehingga 3409d = D51h.

3.3. Mikrokontroler AT89S51

Mikrokontroler AT89S51 ini merupakan salah satu seri mikrokontroler MCS-51. Arsitektur mikrokontroler AT89S51 diotaki oleh CPU 8 bit yang terhubung melalui satu jalur bus dengan memori penyimpanan berupa RAM dan ROM serta jalur I/O berupa port bit I/O dan port serial. Selain itu terdapat fasilitas timer/counter internal dan jalur interface address dan data ke memori external.

Active Image

Gambar 3.1 Blok sistem mikrokontroler AT89S51

Salah satu tipe mikrokontroler arsitektur MCS-51 yang banyak digunakan saat ini adalah tipe AT89S51. Tipe ini banyak digunakan karena memiliki fasilitas on-chip flash memory dan In System Programming. Berikut adalah feature-feature untuk mikrokontroler tipe AT89S51:

· 4K bytes Flash ROM

· 128 bytes RAM

· 4 port @ 8-bit I/O (Input/Output) port

· 2 buah 16 bit timer

· interface komunikasi serial

· 64K pengalamatan code (program) memori

· 64K pengalamatan data memori

· prosesor Boolean (satu bit-satu bit)

· 210 lokasi bit-addressable

· fasilitas In System Programming (ISP)

Memory map mikrokontroler AT89S51

Active Image

Gambar 3.2 Memory map mikrokontroler AT89S51

Gambar 3.3 IC seri mikrokontroler AT89S51

Berikut adalah penjelasan fungsi setiap kaki yang biasa terdapat pada seri mikrokontroler AT89S51.

3.3.1. Port 0

Merupakan dual-purpose port (port yang memiliki dua kegunaan). Pada desain yang minimum (sederhana) digunakan sebagai port I/O (Input/Output). Pada desain lebih lanjut pada perancangan dengan memori eksternal digunakan sebagai data dan address yang di-multiplex. Port 0 terdapat pada pin 32-39.

3.3.2. Port 1

Merupakan port yang hanya berfungsi sebagai port I/O.

3.3.3. Port 2

Merupakan dual-purpose port. Pada desain minimum digunakan sebagai port I/O. Pada desain lebih lanjut digunakan sebagai high byte dari address. Port 2 terdapat pada pin 21-28.

3.3.4. Port 3

Merupakan dual-purpose port. Selain sebagai port I/O juga mempunyai fungsi khusus yang ditunjukkan pada tabel berikut.

Tabel 3.6 Fungsi-fungsi khusus Port 3

PIN

FUNGSI KHUSUS

P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7

RXD ( serial input port )
TXD ( serial output port )
_INT0 ( external interrupt 0 )
_INT1 ( external interrupt 1 )
T0 ( timer 0 external input )
T1 ( timer 1 external input )
_WR ( external data memory write strobe )
_RD ( external data memory read strobe )

3.3.5. PSEN (program store enable)

PSEN adalah kontrol sinyal yang mengijinkan untuk mengakses program (code) memori eksternal. Pin ini dihubungkan ke pin OE (Output Enable) dari EPROM. Sinyal PSEN akan 0 pada tahap fetch (penjemputan) instruksi. PSEN akan selalu bernilai 0 pada pembacaan program memori internal. PSEN terdapat pada pin 29.

3.3.6. ALE (address latch enable)

ALE digunakan untuk men-demultiplex address dan data bus. Ketika menggunakan program memori eksternal port 0 akan berfungsi sebagai address dan data bus. Pada setengah paruh pertama memory cycle ALE akan bernilai 1 sehingga mengijinkan penulisan alamat pada register eksternal dan pada setengah paruh berikutnya akan bernilai satu sehingga port 0 dapat digunakan sebagai data bus. ALE terdapat pada pin 30.

3.3.7. EA (external access)

Jika EA diberi masukan 1 maka mikrokontroler menjalankan program memori internal saja. Jika EA diberi masukan 0 (ground) maka mikrokontroler hanya akan menjalankan program memori eksternal (PSEN akan bernilai 0). EA terdapat pada pin 31.

3.3.8. RST (reset)

RST pada pin 9 merupakan pin reset. Jika pada pin ini diberi masukan 1 selama minimal 2 machine cycle maka sistem akan di-reset dan register-register internal akan berisi nilai default tertentu dan program kembali mengeksekusi dari alamat paling awal.

3.3.9. On-chip oscillator

Mikrokontroler AT89S5151 telah memiliki on-chip oscillator yang dapat bekerja jika di-drive menggunakan kristal. Tambahan kapasitor diperlukan untuk menstabilkan sistem. Nilai kristal yang biasa digunakan pada 89S51/89S52 adalah sekitar 12 MHz, dan maksimum sampai 24 MHz. On-chip oscillator tidak hanya dapat di-drive dengan menggunakan kristal, tapi juga dapat digunakan TTL oscillator.

2.3.10. Koneksi power

Mikrokontroler biasanya beroperasi pada tegangan 3.3 volt atau 5 volt (tergantung serinya). Pin Vcc terdapat pada pin 40 sedangkan Vss (ground) terdapat pada pin 20.

3.4. Seven Segment

Seven Segment merupakan device yang berfungsi untuk menampilkan bilangan decimal dimana bilangan tersebut dinyatakan oleh segment (LED) yang akan menyala untuk menampilkan bilangan decimal tersebut. Seven Segment dibedakan menjadi dua yaitu common anode dan common cathode.

3.4.1. Common anode

Common Anode adalah jenis seven segment yang menggabungkan seluruh kaki anode dari LED dan menghubungkannya ke satu pin yang akan diberi dengan Vcc. Sehingga untuk menyalakan satu buah segment, kaki cathode dari setiap LED perlu dihubungkan dengan Ground.

Untuk menyalakan setiap segment dari LED tersebut, pin-pin cathode tersebut yang telah diberi nama huruf, harus diberikan logic 0 (ground) sehingga segment tersebut dapat menyala karena terjadi perbedaan tegangan di kaki cathode dan anode, kaki anode mempunyai tegangan lebih tinggi dari cathode.

Gambar 3.4 Seven segment common anode

3.4.2. Common cathode

Common Cathode adalah jenis seven segment yang menggabungkan seluruh kaki cathode dari LED dan menghubungkannya ke satu pin yang akan diberi dengan ground. Sehingga untuk menyalakan satu buah segment kaki anode dari setiap LED perlu dihubungkan dengan Vcc (5V).

Untuk menyalakan setiap segment dari LED tersebut pin-pin Anode tersebut yang telah diberi nama huruf, harus diberikan logic 1 (Vcc) sehingga segment tersebut dapat menyala karena terjadi perbedaan tegangan di kaki cathode dan anode, kaki anode mempunyai tegangan lebih tinggi dari cathode.

Gambar 3.5 Seven segment common anode


BAB IV PERANCANGAN

4.1. Penyambungan Input dan Output

Mikrokontroler AT89S51 yang digunakan akan dirangkai sehingga mempunyai input (masukan) dan output (keluaran) sebagai berikut:

· Port 2 sebagai input.

· Port 0 dan Port 1 sebagai output.

4.1.1. Port 2

Port 2 (P2.0-P2.7) yang berada pada pin 21 hingga pin 28 mikrokontroller AT89S51 disambungkan ke delapan buah push button. Mikrokontroller akan selalu membaca nilai 1 dari semua push button tersebut, kecuali jika satu atau lebih push button tersebut ditekan, maka mikrokontroller akan membaca nilai 0 dari setiap push button yang ditekan.

Gambar 4.1 Konfigurasi P2.0-P2.7


Tabel 4.1 Konfigurasi port 2 dalam bilangan biner dan hexadesimal

P2.7

P2.6

P2.5

P2.4

P2.3

P2.2

P2.1

P2.0

Hexa

Puss Button

yang ditekan

1

1

1

1

1

1

1

1

FFh

tidak ada

1

1

1

1

1

1

1

0

FEh

P2.0

1

1

1

1

1

1

0

0

FCh

P2.0 dan P2.1

1

0

1

1

0

1

1

0

B6h

P2.0, P2.3, dan P2.6

0

0

0

0

0

0

0

0

00h

semua

4.1.2. Port 1

Port 1 (P1.0-P0.5) yang berada pada pin 1 hingga pin 6 mikrokontroller AT89S51 disambungkan ke enam buah display seven segment. Tidak seperti port 2 yang akan selalu memberikan nilai walaupun tidak digunakan, port 1 akan bekerja jika diberi perintah oleh user.

Jika diberi nilai 1, maka display akan aktif atau dapat digunakan. Dan jika diberi nilai 0, maka display tidak dapat digunakan.

Gambar 4.2 Konfigurasi P1.0-P1.5

Tabel 4.2 Konfigurasi port 1 dalam bilangan biner dan hexadesimal

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

Hexa

Display yang aktif

0

0

0

0

0

0

00h

tidak ada

0

0

0

0

0

1

01h

P1.0

0

0

0

1

0

0

04h

P1.2

0

0

0

0

1

1

03h

P1.0 dan P1.1

1

1

1

1

1

1

3Fh

semua

4.1.3. Port 0

Port 0 (P0.0-P0.7) yang berada pada pin 32 hingga pin 39 mikrokontroller AT89S51 disambungkan secara serial ke delapan buah segment pada setiap display seven segment. Seperti halnya port 1, port 0 juga tidak akan memberikan nilai jika user tidak memberi perintah.

Jika setiap segment diberi nilai 0, maka LAD pada segment tersebut akan menyala. Dan jika diberi nilai 1, maka LAD tidak akan menyala.

Gambar 4.3 Konfigurasi P0.0-P0.7

Tabel 4.3 Konfigurasi port 0 dalam bilangan biner dan hexadesimal

P0.7

P0.6

P0.5

P0.4

P0.3

P0.2

P0.1

P0.0

Hexa

Karakter

0

0

0

1

0

0

0

1

11h

0 atau O

1

1

0

1

0

1

1

1

D7h

1 atau I

0

0

1

1

0

0

1

0

32h

2 atau Z

1

0

0

1

0

0

1

0

92h

3

1

1

0

1

0

1

0

0

D4h

4

1

0

0

1

1

0

0

0

98h

5 atau S

0

0

0

1

1

0

0

0

18h

6 atau G

1

1

0

1

0

0

1

1

D3h

7

0

0

0

1

0

0

0

0

10h

8 atau B

1

0

0

1

0

0

0

0

90h

9 atau g

0

1

0

1

0

0

0

0

50h

A

0

0

0

1

1

1

0

0

1Ch

b

0

0

1

1

1

0

0

1

39h

C

0

0

0

1

0

1

1

0

16h

d

0

0

1

1

1

0

0

0

38h

E

0

1

1

1

1

0

0

0

78h

F

0

1

0

1

0

1

0

1

55h

H

0

0

0

1

0

0

1

1

13h

J

0

0

1

1

1

1

0

1

3Dh

L

0

1

0

1

0

0

0

1

51h

n

0

1

1

1

0

0

0

0

70h

P

1

1

0

1

0

0

0

0

D0h

q

0

1

1

1

1

0

0

1

79h

r

0

0

1

1

1

1

0

0

3Ch

t

0

0

0

1

0

1

0

1

15h

U

1

0

0

1

0

1

0

0

94h

y

1

1

1

1

1

1

1

1

FFh

(spasi)

1

1

1

1

1

1

1

0

FEh

-

1

0

1

1

1

1

1

1

BFh

_

Kekurangan dari seven segment ini adalah tidak semua karakter dalam alfabet dapat dibuat, misalnya karakter-karakter yang memiliki garis diagonal seperti K, M, V, W dan X.

4.2. Pembuatan Algoritma (Flowchart)

Flowchart digunakan untuk mempermudah user dalam membuat susunan langkah program yang akan dibuat (lihat lampiran 4). Misalnya untuk membuat sebuah nama seseorang (misal; Adrial) pada seven segment, maka gambar flowchart yang dapat dibuat adalah sebagai berikut.

Gambar 4.4 Contoh flowchart

4.3. Penerjemahan Flowchart Kedalam Bahasa Assembly

Program bahasa assembly dapat dibuat dengan menggunakan software Notepad. Hanya saja program yang telah dibuat harus disimpan dengan listing [.asm].

Berdasarkan flowchart yang telah dibuat sebelumnya, maka program dalam bahasa assembly untuk membuat nama tersebut (Adrial) pada seven segment adalah sebagai berikut.

$MOD51

CSEG

ORG 0000H

LJMP START

ORG 0100H

START:

MOV P1,#01h

MOV P0,#3Dh

CALL DELAY

MOV P1,#02h

MOV P0,#50h

CALL DELAY

MOV P1,#04h

MOV P0,#0D7h

CALL DELAY

MOV P1,#08h

MOV P0,#79h

CALL DELAY

MOV P1,#10h

MOV P0,#16h

CALL DELAY

MOV P1,#20h

MOV P0,#50h

CALL DELAY

DELAY:

MOV R5,#60H

DELAY1:

NOP

DJNZ R5,DELAY1

RET

END

4.4. Compiler Untuk Menghasilkan Kode Biner

Compiler adalah sebuah program komputer yang berguna untuk menterjemahkan program komputer yang ditulis dalam bahasa pemrograman tertentu menjadi program yang ditulis dalam bahasa pemograman lain.

Program yang telah dibuat dengan menggunakan bahasa assembly tidak dapat langsung disimulasikan ke mikrokontroller AT89S51. Hal itu disebabkan karena mikrokontroller hanya membaca listing [.hex]. Untuk itu diperlukan sebuah compiler yang dapat mengubah atau menterjemahkan listing [.asm] menjadi [.hex].

ASM51 adalah program yang dapat digunakan untuk merubah program dalam bahasa assembly ke kode mesin mikrokontroler, dengan kata lain dapat menterjemahkan program dengan listing [.asm] menjadi file dengan listing [.hex].

Gambar 4.5 Program Compiler ASM51

Selain file dengan listing [.hex], ASM51 juga akan menterjemahkan listing [.asm] ini menjadi [.lst]. Fungsinya adalah untuk memberi tahu user apakah telah terjadi kesalahan dalam pembuatan program yang telah dikerjakan sebelumnya, misalnya jika terjadi kesalahan dalam menuliskan instruksi yang tidak dapat dimengerti oleh mikrokontroller AT89S51.


BAB V IMPLEMENTASI

Setelah mendapatkan file dengan listing [.hex] dan memastikan tidak terjadi kesalahan dalam pembuatan program, maka program yang telah dibuat dapat disimulasikan langsung ke mikrokontroller AT89S51 dengan menggunakan sebuah software ATMEL serta dengan menggunakan DT-HiQ AT89S dan kabel ISP, yang keduanya menghubungkan mikrokontroller AT89S51 dengan port parallel CPU komputer yang menjalankan software ATMEL tersebut. Sehingga program dapat dituliskan kedalam mikrokontroller AT89S51.

Gambar 5.1 Program assembly yang telah disimulasikan kedalam mikrokontroller AT89S51


BAB VI METODA PEMBERIAN PELATIHAN

6.1. Penjelasan Materi

Disini penulis akan menjelaskan seluruh materi yang berhubungan dengan pemograman mikrokontroler dengan menggunakan bahasa assembly. Dimulai dari menjelaskan tentang pengertian assembly, menjelaskan tentang penyambungan input/output mikrokontroler AT89S51 terhadap seven segment, menjelaskan tentang pembuatan algoritma atau flowchart dan menterjemahkan flowchart kedalam bahasa assembly, serta menjelaskan maksud setiap baris instruksi dari contoh program yang telah disediakan.

6.2. Pemberian Latihan

Sudah sifat setiap manusia bahwa mengalami suatu kejadian melalui diri sendiri lebih susah dilupakan daripada mendengarkan kejadian yang dialami orang lain. Maka dari itu penulis memberikan beberapa latihan kepada pelajar SMU/SMK untuk dikerjakan ditengah-tengah penjelasan materi. Karena hal ini dapat membantu dan mempermudah mereka dalam pengerjaan program dalam praktik langsung.

Latihan yang diberikan dapat berupa tugas untuk melengkapi tabel konfigurasi port 0, 1 dan 2. Atau dengan memberikan pertanyaan-pertanyaan ringan.

6.3. Praktikum

Praktikum dilakukan setelah materi selesai dijelaskan. Dengan melakukan praktikum langsung, tingkat kepahaman para pelajar SMU/SMK akan semakin meningkat dan mereka akan semakin mengerti fungsi dari setiap baris instruksi dibandingkan jika mereka hanya mendengarkan penjelasan saja.


BAB VII PENUTUP

7.1. Kesimpulan

Pengenalan pemograman mikrokontroller dengan menggunakan bahasa assembly kepada masyarakat terutama kepada pelajar SMA/SMK dapat membantu mereka mengerti dan memahami bagaimana cara kerja salah satu teknologi yang mungkin pernah mereka temui. Selain itu dengan mempelajari bahasa pemograman assembly, mereka dapat menambah keterampilan mereka sehingga dapat pula menambah kesempatan mereka dalam mencari pekerjaan pada bidang pembuatan program assembly.

7.2. Saran

Pemograman assembly ini merupakan salah satu program dasar sederhana yang hanya menggunakan beberapa instruksi yang umum digunakan saja. Program ini dapat dikembangkan menjadi aplikasi lain yang lebih kompleks, seperti pembuatan teks berjalan, jam digital, dan lain sebagainya.


DAFTAR PUSTAKA

[1] Ibrahim KF, 1996, Tekhnik Digital, ANDI, Jogjakarta

[2] Modul pelatihan mikrokontroller tahun 2007/2008 Sekolah Tinggi Tekhnik Multimedia Cedikia Abditama

[3] http://lab.binus.ac.id/pk/download/tugasrancangan/5/jamdigital.pdf

[4] http://www.mikron123.com/index.php/Tutorial-MCS-51/Arsitektur-Mikrokontroler-MCS-51.html

[5] http://www.mikron123.com/index.php/Tutorial-MCS-51/Daftar-Instruksi-Bahasa-Assembly-MCS-51.html

[6] http://www.mikron123.com/index.php/Tutorial-MCS-51/Pemrograman-AT89S51-bahasa-Assembly.html


LAMPIRAN

Lampiran 1. Notepad

Notepad digunakan sebagai editor. Listing Program berbahasa Assembly dalam praktikum ditulis dan diubah menggunakan Notepad. Listing program tersebut disimpan dengan format file [.asm].

Gambar 1. Software Notepad

Lampiran 2. ASM51 dan MOD51

ASM51 digunakan untuk merubah program dalam bahsa assembly ke kode mesin mikrokontroler. ASM51 akan mengubah listing program yang sudah dibuat di software notepad menjadi file heksadesimal. Hasil proses ini akan menghasilkan file dengan format [.hex] dan [.lst].

File [.hex] adalah file yang akan dituliskan kedalam mikrokontroller AT89S51. Sedangkan file [.lst] adalah file yang berisi alokasi (alamat) memori pada listing program. File [.lst] ini juga berisi pesan error dan lokasinya jika terdapat kesalahan pada listing program.


Sementara MOD51 berisi semua kode kontrol untuk keluarga MCS-51 antara lain: 8051, 8751, 8031, 80C51, 80C31, 87C51, 9761, 8053, termasuk 89C51 dan 89C2051.

Gambar 2. Program Compiler ASM51

Lampiran 3. ATMEL

Atmel adalah software yang digunakan untuk menuliskan program dengan listing [.hex] kedalam chip mikrokontroller.

Gambar 3. Software ATMEL

Lampiran 4. Flowchart

Flowchart adalah representasi grafik dari langkah-langkah yang harus diikuti dalam menyelesaikan suatu permasalahan yang terdiri atas sekumpulan simbol, dimana masing-masing simbol merepresentasikan suatu kegiatan tertentu. Flowchart diawali dengan penerimaan input, pemrosesan input, dan diakhiri dengan penampilan output.

Berikut adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart:

Tabel 1. Simbol-simbol yang digunakan untuk menggambar suatu flowchart

SIMBOL

NAMA

FUNGSI

Terminator

Permulaan/akhir program

Garis alir (flow line)

Arah aliran program

Preparation

Proses inisialisasi/pemberian harga awal

Proses

Proses perhitungan/proses pengolahan data

Input/output data

Proses input/output data, parameter, informasi

Predefined process

(sub program)

Permulaan sub program/proses menjalankan sub program

Decision

Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya

On page connector

Penghubung bagian-bagian flowchart yang berada pada satu halaman

Off page connector

Penghubung bagian-bagian flowchart yang berada pada halaman berbeda

Lampiran 5. DT-HiQ AT89S dan Kabel ISP

DT-HiQ AT89S berfungsi untuk menghubungkan port parallel pada CPU komputer dengan kabel ISP. Sedangkan kabel ISP adalah kabel yang menghubungkan DT-HiQ AT89S dengan mikrokontroler, fungsinya untuk meneruskan program yang akan dituliskan kedalam chip mikrokontroller.

Gambar 4. DT-H1Q AT89S dan kabel ISP

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More