Tuesday, October 28, 2008

GEMASTIK 2008

TIM TIK UNSOED MASUK FINAL

Tiga Tim TIK Universitas Jenderal Soedirman berhasil masuk babak final geMasTIK (Pagelaran Mahasiswa Nasional Bidang Teknologi Informasi dan Komunikasi).
1. Tim RANGERS - Smartware Contest (Nangim Ulinnuha, Iwan Kurniawan, Heru Taufiqurrohman, Sapto Purnomo)
2. Tim Da'Orange - Network Security Contest(Faisal Reza, Nikko Haendratnio, M Zamzam Amani)
3. ICT Paper Contest (Mansur Sholeh)

Babak final diselenggarakan di Institut Teknologi Telkom 22-24 Oktober 2008.
Tim TIK UNSOED berhasil membawa pulang satu medali emas oleh tim Da'Orange kategori Network Security.
Menempatkan Universitas Jenderal Soedirman Purwokerto pada urutan ke-5 dari 28 Perguruan Tinggi yang mengikuti babak final.

Bersemangatlah untuk geMasTIK tahun berikutnya......

Friday, July 11, 2008

IC MIKROKONTROLER AT89C51

II.3.1. Fasilitas dan Fungsi Pin

Mikrokontroler AT89C51 merupakan salah satu keluarga dari MCS-51 keluaran Atmel. Jenis mikrokontroler ini pada prinsipnya dapat digunakan untuk mengolah data per bit ataupun data 8 bit secara bersamaan.

Sebuah mikrokontroler dapat bekerja bila didalam chip tersebut terdapat sebuah program yang berisikan instruksi-instruksi yang akan digunakan untuk menjalankan sistem tersebut. Instruksi-instruksi dari sebuah program pada tiap jenis mikrokontroler mempunyai beberapa perbedaan, misalnya instruksi untuk mikrokontroler Atmel berbeda dengan instruksi yang digunakan untuk mikrokontroler Motorola.

Pada prinsipnya program pada mikrokontroler dijalankan secara bertahap. Maksudnya, pada program itu sendiri terdapat beberapa set instruksi yang mana tiap instruksi itu dijalankan secara bertahap atau berurutan.

Beberapa fasilitas yang dimiliki mikrokontroler AT89C51 adalah sebagai berikut :

1. Sebuah Central Processing Unit 8 bit.

2. Osilator internal dan rangkaian pewaktu.

3. RAM internal 128 byte.

4. Flash memori 4 Kbyte.

5. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal).

6. Empat buah programmable port I/O yang masing-masing terdiri dari delapan jalur I/O.

7. Dua buah timer/counter 16 bit.

8. Memiliki port serial untuk komunikasi serial.

9. Kemampuan untuk melakukan operasi aritmatika dan operasi logika.

10. Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi 12 MHz.

Penjelasan untuk masing-masing pin mikrokontroler adalah sebagai berikut :

1. Vcc yang digunakan sebagai suplai tegangan.

2. GND digunakan sebagai saluran bumi (ground).

3. Port Input/Output, merupakan saluran untuk menghubungkan keluaran sistem (mengambil data atau mengirimkan data). Terdiri dari 4 port dua arah (Port 0 – Port3) yang memiliki sebuah pengancing (latch), sebuah penggerak keluaran (output driver) serta sebuah penyangga masukan (input buffer) pada masing-masing kaki-kaki port. Selain berfungsi sebagai I/O, beberapa port memiliki fungsi lain seperti port 0 sebagai penyalur data dan alamat byte rendah saat mikrokontroler mengakses program atau data di memori eksternal. Port 2 dapat difungsikan sebagai penyalur alamat byte tinggi saat mikrokontroler mengakses program atau data di memori eksternal. Port 3 mempunyai beberapa fungsi khusus seperti ditunjukkan pada tabel 2.1 berikut ini :

Tabel.2.1. Fungsi khusus port 3

Pin-pin pada port 3

Fungsi Pengganti

P3.0

RXD (port input serial)

P3.1

TXD (port ouput serial)

P3.2

INT0 (interup eksternal 0)

P3.3

INT1 (interup eksternal 1)

P3.4

T0 (input eksternal timer 0)

P3.5

T1 (input eksternal timer 1)

P3.6

WR (perintah write pada memori eksternal)

P3.7

RD (perintah read pada memori eksternal)

Fungsi-fungsi khusus sebagaimana ditunjukkan pada Tabel 2.1 hanya dapat diaktifkan jika bit-bit pengancing (latch) port yang bersangkutan berisi ‘1’.

4. RST, masukan reset. Kondisi logika ‘1’ selama 2 siklus mesin saat osilator bekerja akan mereset mikrokontroler yang bersangkutan.

5. ALE/PROG, menghasilkan pulsa-pulsa untuk menahan sementara alamat byte rendah (low byte) pada proses pengalamatan ke memori eksternal. Kaki ini juga berfungsi sebagai masukan pulsa program (the program pulse input) atau selama pengisian flash PEROM. Pada operasi normal ALE akan berpulsa dengan laju 1/6 dari frekuensi kristal dan dapat digunakan sebagai pewaktuan (timing) atau pendetakan (clocking) rangkaian eksternal.

6. PSEN (Program Store Enable) merupakan sinyal pengontrol yang berfungsi untuk membaca program dari memori eksternal.

7. EA/Vpp, merupakan pin untuk pilihan program (menggunakan program internal atau eksternal). Dihubungkan ke ground jika mikrokontroler akan mengeksekusi program dari memori eksternal lokasi 0000h hingga FFFFh dan dihubungkan ke Vcc agar mikrokontroler mengakses program secara internal..

8. XTAL 1 sebagai masukan dari ragkaian osilator.

9. XTAL 2 sebagai keluaran dari rangkaian osilator.

II.3.2. Register Fungsi Khusus (Special Function Register)

Register Fungsi Khusus adalah register-register pada mikrokontroler AT89C51 yang memiliki fungsi-fungsi khusus. Register-register ini menempati alamat pada RAM internal pada alamat 80h sampai FFh. Register-register tersebut adalah:

    1. Register A (Acc, Akumulator)

Register ini menempati lokasi E0h digunakan sebagai register untuk penyimpanan data sementara.

    1. Register B

Register ini menempati lokasi F0h, digunakan selama operasi perkalian dan pembagian. Untuk instruksi lain dapat diperlakukan sebagai register scratch pad.

    1. Register Penyimpan Status Program (PSW, Program Status Word)

Register PSW (lokasi D0h) terdiri dari beberapa bit status yang menggambarkan keadaan yang sedang berlangsung dalam CPU. Status yang tersimpan dalam PSW meliputi carry bit, the auxiliary carry (untuk operasi BCD), dua bit pemilih bank register, overflow flag, sebuah bit paritas dan dua flag status yang bisa didefinisikan sendiri.

    1. Register Penunjuk Tumpukan (SP, Stack Pointer)

Register SP (lokasi 81h) merupakan register 8 bit yang digunakan untuk menunjuk (berisi alamat) ke lokasi memori internal, yang disebut sebagai tumpukan (stack). Biasa digunakan pada program yang melibatkan proses interupsi dan proses PUSH, POP.

    1. Register Penunjuk Data (DPTR, Data Pointer)

Terdiri dari DPTR untuk byte tinggi (DPH-lokasi 83h) dan byte rendah (DPL-lokasi 82h) bersama-sama membentuk register 16 bit yang berfungsi untuk mengakses kode atau data yang berada di memori luar.

    1. Port 0, Port 1, Port 2, Port 3

P0, P1, P2, dan P3 masing-masing menempati lokasi 80h, 90h, A0h, dan B0h merupakan pengunci-pengunci (latches) yang digunakan untuk menyimpan data yang akan dibaca atau ditulis dari/ke port.

    1. Register Penampung Data Serial (SBUF, Serial Buffer)

Register SBUF (lokasi 99h) berfungsi menampung sementara penerimaan/pengiriman data serial dari/ke port serial TXD/RXD.

    1. Register Pewaktu (Timer Register)

Pasangan register (TH0, TL0) di lokasi 8Ch dan 8Ah, (TH1, TL1) di lokasi 8Dh dan 8Bh serta (TH2, TL2) di lokasi CDh dan CCh merupakan register-register pencacah 16 bit untuk masing-masing Timer 0, Timer 1, Timer 2.

    1. Register Pengendali (Control Register)

Register-register IP, IE, TMOD, TCON, T2MOD, T2CON, SCON, dan PCON berisi bit-bit kontrol dan status untuk sistem interupsi, pencacah/pewaktu dan port serial.

II.3.3. Set Instruksi Pemrograman

Operan dalam pemrograman mikrokontroler adalah data yang tersimpan di dalam memori, register dan I/O. Instruksi yang dikenal secara umum dikelompokkan menjadi beberapa kelompok yaitu instruksi untuk pemindahan data, aritmetika, operasi logika, pengaturan aliran program dan beberapa hal khusus. Kombinasi dari instruksi dan operan itulah yang membentuk instruksi pengatur kerja mikrokontroler.

Data atau operan bisa berada di tempat yang berbeda sehingga dikenal beberapa cara untuk mengakses data atau operan tersebut yang dinamakan sebagai mode pengalamatan antara lain mode pengalamatan segera, mode pengalamatan langsung, mode pengalamatan tidak langsung, mode pengalamatan register, mode pengalamatan kode tidak langsung.

Secara keseluruhan MCS51 mempunyai 255 macam instruksi. Instruksi tersebut dikelompokkan sebagai berikut:

1. Kelompok Penyalinan Data

Instruksi dasar untuk kelompok ini adalah MOV, kependekan dari move yang artinya memindahkan meskipun lebih tepat dikatakan instruksi ini mempunyai arti menyalin data. Instruksi MOV dibedakan sesuai dengan jenis memori MCS51, pada memori data dituliskan MOV dan pada memori program dituliskan MOVC. Selain itu dikenal juga instruksi MOVX yang dipakai untuk mengakses memori eksternal.

2. Kelompok Instruksi Aritmetik

Instruksi dalam kelompok aritmetik selalu melibatkan akumulator. Yang termasuk dalam kelompok instruksi aritmetik antara lain ADD, SUBB, MUL, DIV, DEC, INC.

3. Kelompok Instruksi Logika

Kelompok instruksi ini dipakai untuk melakukan operasi logika, yaitu operasi AND (instruksi ANL), operasi OR (instruksi ORL), operasi XOR (instruksi XRL), operasi clear (CLR), operasi negasi (instruksi CPL), operasi pergeseran (instruksi RR, RRC, RL, RLC), operasi penukaran data (instruksi SWAP).

4. Kelompok Pengatur Aliran Program

Terdiri dari beberapa kelompok instruksi seperti kelompok instruksi JUMP (LJMP, AJMP, SJMP), kelompok instruksi sub rutin (RET, ACALL, LCALL), kelompok instruksi lompatan bersyarat (JZ, JNZ, JC, JNC, JB, JNB, JBC), kelompok instruksi proses dan test (DJNZ, CJNE).



Tuesday, July 08, 2008

TOPVIEW SIMULATOR SEBAGAI KOMPILER

Salah satu fungsi dari software ini adalah sebagai compiler program yang telah kita buat. Program yang telah kita buat melalui notepad kita ambil melalui file, load text file. Setelah tertampil lalu kita pilih command, run assembler, ok. Dari sini lalu akan terlihat apakah program yang kita buat benar atau tidak.


Jika terdapat eror, letak kesalahan telah ditunjukkan sehingga kita dapat meng-edit program tersebut. Jika tidak terdapat eror, program dapat langsung dieksekusi dengan sebelumnya kita telah menghubungkan masukan dan keluaran (keyboard dan led).


DASAR TEKNIK SIMULASI MIKROKONTROLER

Topview Simulator adalah suatu software simulasi mikrokontroler yang bisa digunakan untuk menentukan ketepatan program yang telah kita buat terhadap kerja suatu system yang nantinya program tersebut akan ditanam pada mikrokontroler. Topview Simulator dapat memberikan “virtual system” dimana data masukan yang akan diolah oleh mikrokontroler dapat diwakilkan melalui switch dan keluaran diwakii oleh led maupun seven segment dan LCD. Software ini dapat menangani mikrokontroler 8 bit keluarga MCS-51.

Gambar dibawah menunjukkan tampilan awal dari software ini. Disini kita harus mengisikan tipe mikrokontroler, kristal (pembangkit sinyal) yang digunakan serta melakukan seting tambahan jika kita menggunakan memori luar.

Untuk lebih memudahkan penggunaan software ini sebaiknya program yang akan diterapkan ditulis terlebih dahulu pada notepad yang kemudian menggunakan software lain seperti asm51, program tersebut kita compile sehingga menghasilkan format .hex dimana format inilah yang akan diuji coba. Melakukan compile melalui software ini dimungkinkan namun ada beberapa perintah yang tidak dikenali sehingga akan dianggap sebagai eror.

Untuk mencoba program yang telah dibuat, sebelumnya kita harus menentukan masukan dan keluaran yang digunakan. Untuk masukan bisa menggunakan switch (keyboard) dan keluaran menggunakan led.

Untuk membuat suatu system virtual, masukan dan keluaran bisa diset melalui file, external modules setting, dan pilih keyboard (masukan) atau led (keluaran). Kemudian set sesuai port yang dihubungkan ke mikorkontroler. Hal yang sama diterapkan pada led (tunggal maupun seven segment).

Setelah setting selesai dilakukan, tampilakan masukan dan keluaran melalui view, external modules.

Lalu ambil program yang telah di compile (.hex) melalui file, load program. Lalu klik run untuk menjalankan program dan bisa terlihat jalannya program melalui menu view (register, program, dll) untuk keluaran dari mikrokontroler dapat dilihat dari nyala led.




Saturday, July 05, 2008

NEXT...

NEXT CHAPTER…..

Penelitian saya telah mencapai tahap perancangan rangkaian dari komparator (IC LM324) sampai dengan driver motor (L293D). Untuk sensor belum saya gabungkan dengan rangkaian karena saya tengah melakukan pengukuran nilai tegangan yang diterima phototransistor untuk setiap jarak dan warna objek yang akan digunakan dalam pengujian. Program yang saya buat sebagai otak dari robot telah mencapai tahapan membedakan antara objek dengan dinding yang kemudian program tersebut saya simulasikan pada software topview simulator dengan masukan tertentu menggunakan switch dan keluaran diwakili oleh led.

Thursday, July 03, 2008

PERANCANGAN ROBOT PEMINDAH BENDA

PERANCANGAN ROBOT PEMINDAH BENDA

MENGGUNAKAN MIKROKONTROLER AT89C51

Saat ini saya sedang melakukan suatu penelitian untuk keperluan tugas akhir saya yang berjudul ”Perancangan Robot Pemindah Benda Menggunakan Mikrokontroler AT89C51”. Benda yang dipindahkan dikenali berdasarkan warna benda tersebut. Benda akan dipindahkan menuju suatu titik tertentu dengan warna yang sesuai dengan warna benda. Sensor yang digunakan pada penelitian kali ini adalah sensor infra merah (infra merah sebagai pengirim data dan phototransistor sebagai penerima). Hardware yang digunakan antara lain mikrokontroler AT89C51, IC LM 324 sebagai komparator, IC L293D sebagai driver motor DC, dan motor DC sebagai penggerak robot.

Cara Kerja :

Robot akan diuji pada suatu arena dengan bentuk bujur sangkar dimana tiap sudut arena akan terdapat bujursangkar kecil dengan warna tertentu, dimana objek yang didapat akan ditempatkan pada sudut arena dengan warna yang sesuai. Sensor IR yang digunakan bejumlah 10 buah, 5 sensor sebagai pendeteksi objek, 3 sensor warna sudut arena, 1 sensor pendeteksi dinding dan 1 sensor sebagai pendeteksi halangan samping.

Robot pertama kali akan berjalan secara acak dengan melakukan pembandingan antara sensor objek dan sensor dinding. Ketika sensor objek aktif namun sensor dinding tidak aktif hal ini menunjukan adanya objek. Robot akan mendekati objek sampai pada titik tertentu lalu melakukan pembacaan sensor objek kanan dan kiri untuk menentukan apakah objek bisa diambil atau tidak. Jika sensor kanan dan kiri sama-sama tidak akti berarti objek bisa diambil. Setelah objek didapat, robot akan mencari dinding arena untuk melakukan mekanisme mengikuti dinding. Ketika mengikuti dinding, sensor depan dan samping akan terus membaca keadaan sensor. Ketika sensor dinding dan samping aktif maka robot telah berada pada sudut arena kemudian akan melakukan pembandingan antara warna objek dan warna lantai. Jika warna sama robot akan berjalan mundur untuk meletakkan benda jika berbeda robot akan kembali mengikuti dinding untuk mencari sudut yang sesuai.

Dimohon saran dan kritiknya untuk kesempurnaan penelitian saya ini. Terima Kasih.



Wednesday, June 04, 2008

LEMBARAN BARU

Cukup lama sudah ditinggalkan, aku teringat lagi.

Lembar Baru