Anda di halaman 1dari 15

LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

Laporan Sistem Mikrokontroler Dibuat untuk menyelesaikan tugas mata kuliah praktek sistem mikrokontroler

Oleh: Nama Nim Kelas : : :

Jurusan Teknik Elektro Program Studi Teknik Elektronika Politeknik Negeri Sriwijaya Palembang 2013

I.

Judul
LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

II.

Alat dan bahan yang digunakan


Soldier Timah Penyedot timah Papan pcb 10x10 Fecl3 IC AT89S52 Crystal 12 M Resistor 220 Resistor 10 k Led Switch Kapasitor 10 F Kapasitor 22 F Downloader flash/ISP Program bascom AT89S52

III.

Teori Dasar
A.Mikrokontroler AT89S52 Mikrokontroler AT89S52 memiliki 40 pin dengan 32 pin d i a n t a r a n y a digunakan sebagai port pararel.Satu port p a r a r e l t e r d i r i d a r i 8 p i n , s e h i n g g a jumlah port pada mikrokontroller AT89S52 adalah 4 port ,yaitu port 0, port 1, port 2dan port 3. Diagram pin dari mikrokontroler AT89S52 dapat dilihat pad Gambar 9. (Wahyudin, 2006: 9) Gambar 9 Susunan PinMikrokontroler AT89S52Penjelasan dari pinpin mikrokontroler AT89S52 tersebut adalah sebagai berikut :

Pin 1 sampai pin 8

19P i n 1 s a m p a i d e n g a n p i n 8 m e r u p a k a n p i n d a r i port 1. Port 1 sendiri merupakan port input output dua arah yang dilengkapi dengan pull-up internal yang mampu untuk memberikan/menyerap arus dari empatinput TTL sebesar 1,6mA.(ISP). (Budiharto, 2005: 23) Pin 9 Merupakan input reset y a n g b e r f u n g s i u n t u k m e m b u a t m i k r o k o n t r o l e r m e m u l a i p e m b a c a a n p r o g r a m d a r i a l a m a t a w a l . F u n g s i reset a k a n a k t i f b i l a mikrokontroler menerima input dengan logika 1 pada pin 9. (Budiharto, 2005: 23) Pin 10 sampai pin 17 Pin 10 sampai dengan pin 17 merupakan pin dari port 3. Port 3 merupakan port input-output d u a a r a h d e n g a n internal pull-up yang m e m i l i k i f u n g s i pengganti. Ketika logika 1 diberikan kepada port 3, maka pull-up

internal akan membuat port pada kondisi high dan port 3 dapat digunakan sebagai saluran input . (Budiharto, 2005: 23) Pin 18 dan pin 19 Mikrokontroler AT89S52 telah memiliki seluruh rangkaian oscillator yang diperlukan pada chip, kecuali rangkaian kristal yang mengendalikan frekuensi dari ocsillator. Untuk mengunakannya, maka resonator kris t a l a t a u k e r a m i k dihubungkan diantara kakikaki XTAL1 (Pin18) d a n X T A L 2 ( P i n 1 9 ) d a r i mikrokontroler AT89S52 seperti yang diperlihatkan pada gambar 10.

Pin 20 Merupakan pin ground yang dihubungkan dengan ground dari sumber tegangan. Pada beberapa gambar rangkaian, simbol ground sering disingkat dengan GND. (Budiharto, 2005: 25)

Pin 21 sampai 28 Pin 21 sampai dengan pin 28 merupakan port 2 yang merupakan port input output dua arah yang telah dilengkapi dengan internal pull-up . (Budiharto, 2005:25)

Pin 29 Pin 29 adalah pin Program Store Enable (PSEN) yang merupakan sinyal pengontrol untuk mengakses program memori eksternal yang masuk ke dalam jalur data selama proses pemberian atau pengambilan instruksi. (Budiharto, 2005:25)

Pin 30 Pin 30 adalah p i n Address Latch Enable (ALE/PROG) yang berfungsisebagai penahan alamat memori eksternal . Selain itu pin ini juga dapat berfungsi 21sebagai sinyal input program selama proses pemrograman. Pin ALE dapat di non-aktifkan dengan menset bit 0 dari SFR pada lokasi alamat 8EH. (Budiharto, 2005:26)

Pin 31 Pin 31 adalah pinEA/Vpp yang merupakan External Access Enable. Jikamikrokontroler akan mengeksekusi program dari memori eksternal, maka pin 31 y a i t u p i n / V p p h a r u s d i h u b u n g k a n d e n g a n ground . J i k a m i k r o k o n t r o l e r a k a n mengeksekusi program dari memori internal AT89S52, maka pinEA/Vpp harusdihubungkan dengan Vcc. (Budiharto, 2005: 26) Pin 32 Sampai 39 P i n 3 2 s a m p a i d e n g a n p i n 3 9 a d a l a h port 0 yang merupakan port input output dengan tipe open drain bidirectional. Sebagai port output , masing-masingkaki dapat menyerap arus ( sink ) hingga delapan input TTL (arus sekitar 3,8 mA).Sedangkan pada saat port 0 diberi logika 1, maka pin -pin pada port 0 dapatdigunakan sebagai input berimpedansi tinggi. (Budiharto, 2005: 26) Pin 40 Merupakan pin Vcc untuk menerima tegangan sumber (+) yang dibutuhkanoleh mikrokontroler AT89S52. (Budiharto, 2005: 26)

B.LED (Light Emiting Dioda) LED adalah singkatan dari Light Emiting Dioda, merupakan komponen yangdapat mengeluarkan emisi cahaya. LED merupakan produk temuan lain setelah 30d i o d a . S t r u k t u r n y a s a m a d e n g a n d i o d a , t e t a p i b e l a k a n g a n d i t e m u k a n b a h w a elektron yang menerjang sambungan P-N juga melepaskan energi berupa energi Gambar 19 LED-panas dan energi cahaya. LED dibuat agar lebih efisien mengeluarkan cahaya. Untuk mendapatkan emisi cahaya pada semikonduktor, doping yang dipakai adalah galium, arsenic Dan phosphorus. Jenis doping yang berbeda menghasilkanwarna cahaya yang berbeda pula Prinsip Kerja LED Jika diberi tegangan maju, LED akan mengeluarkan cahaya. Warna cahayayang akan dihasilkan tergantung dengan jenis material dari pertemuan intensitascahayanya yang berbanding dengan arus maju yang mengalir. Arus maju yangdiserap berkisar antara 10 sampai 20 mA untuk kecerahan nyala maksimum. LED juga dapat bekerja ketika kutub anoda dihubungkan pada teganganlistrik searah DC positif (+), dan kutub katode dihubungkan pada tegangan DC

31negative (-) . Dalam kondisi menghantar, tegangan maju pada LED merah adalah1 , 6 s a m p a i 2 , 2 v o l t , L E D k u n i n g 2 , 4 v o l t , L E D h i j a u 2 , 7 volt. S e d a n g k a n tegangan terbaik maksimum yang dibolehkan pada LED merah adalah 3 volt, LED kuning 5 volt, LED hijau 5 volt.Gambar 20 Kontruksi LEDFungsi dari LED yaitu dimana konsumsi arus sangat kecil, awet dan kecil bentuknya (tidak makan tempat). Setelah itu terdapat keistimewaan tersendiri dariLED itu sendiri yaitu dapat memancarkan cahaya dingin, umur tidak dipendekan oleh peng onoff -an yang terus menerus, tidak memancarkan sinar merah infra (terkecuali yang memang sengaja dibuat seperti itu). C.Crystal 12M

Information
CRYSTAL, 12MHZ Frequency: 12MHz Frequency Tolerance: 50ppm Load Capacitance: 30pF Frequency Stability: 50ppm Operating Temperature Min: -20C Operating Temperature Max: 70C Crystal Mounting Type: Through Hole Crystal Case Type: HC49/US No. of Pins: 2 SVHC: No SVHC (20-Jun-2013) Accuracy: 50ppm Frequency Accuracy + @: 30ppm Frequency Accuracy - @: 30ppm Operating Temperature Range: -20C to +70C Output Frequency: 12.000MHz Temperature Stability + @: 50ppm Temperature Stability - @: 50ppm Temperature Stabilty: 50ppm

1. Koneksi Kristal Osilator didalam mikrokontroler digunakan sebagai pembangkit pulsa clock, atau detak, karena mikro merupakan mesin sinkron, yang semua derap mesinnya dikomandani oleh pulsa clock, osilator yang rangkaiannya ada didalam mikro ini memerlukan tank-circuit atau rangkaian resonator yang ditempatkan diluar chip, pada mikro kuno anda harus membuat sebuah osilator beserta tank-circuit-nya, mikro modern rangkaian osilator ada didalam chip, resonator diluar, berupa kristal atau rangkaian LC saja. Kristal adalah resonator mekanik yang bergetar menstabilkan getaran elektronis, kristal stabil karena memiliki inersia yang relatif besar, jika anda mempunyai benda yang masa-nya besar, kan akan lebih stabil jika diam atau berputar, contoh; bumi yang berputar terus ber-tahun2, putarannya stabil. Jika anda menggunakan kristal maka akan didapatkan frekuensi clock yang stabil. jika menggunakan induktor dan resistor (RL) tidak. Tetapi apakah harus memakai clock yang stabil?, jawabnya tentu tergantung penggunaan mikro, jika digunakan yang berhubungan dengan waktu yang presisi, misalnya membuat jam digital, maka mutlak perlu clock yang stabil, jika tidak, misalnya pengatur lampu lalu lintas, tidak perlu menggunakan kristal, toh pengemudi tidak akan tahu kalau lampu hijau itu biasanya 30 detik, tapi lain waktu 31 atau 29 detik, asal jangan jadi 5 detik, sedangkan penggunaan untuk jam digital, jika 1 detik gesek 0.001 detik saja, maka dalam 1000 detik akan gesek 1 detik, seminggu akan gesek banyak. Keyboard komputer, otaknya adalah mikrokontroler yang clock nya hanya dengan rangkaian R dan L, bukan kristal. Memang harga kristal hanya 4rb an, harga L mungkin cuma 500rupiah, kalau bikin satu tak masalah pakai kristal, tetapi kalau buat produski masal ribuan, tentunya harus dipilih pakai kristal atau induktor dan resistor saja.Kristal yang digunakan untuk AT89S, biasanya 12 Mhz atau 11.58Mhz, anda akan mendapatkan referensi waktu yang pas untuk 1 detik bila menggunakan kristal 12 Mhz, tetapi anda tidak bisa menggunakan serial interface dengan baud rate diatas 9800bps dengan kristal ini, dengan 11.58Mhz sebaliknya, kecepatan bps-nya bisa tinggi sekali. Sedangkan untuk AVR biasanya menggunakan kristal 4 Mhz.

Semua kristal ini dapat dibeli di toko elektronik, jika anda akan mengganti dengan induktor, maka carilah kawat email (kawat yang beisolasi, yang digunakan untuk trafo), dan juga anda perlu inti ferrite, ini ada yang bentuknya seperti resistor, warna coklat semua, atau bentuknya seperti donat, yang biasanya ada pada baluun (penyesuai impedansi) pada antena TV, atau mbongkar trafo impedansi if (intermediate frequency) radio yang biasanya dibungkus dengan logam putih bentuknya kotak kecil. Untuk AT89S gunakan 22 cm kawat, lilitkan pada inti ferrite trafo if radio, akan menghasilkan setara kirstal 12 Mhz ini akan memberikan 23 turn-lilitan, jika bisa didapatkan inti ferrite yang seperti resistor, cukup 11 lilitan saja. Untuk AVR gunakan 37 cm kawat, lilitkan pada baluun inti ferrite, akan setara dengan 4 Mhz.untuk dapat menyolder kawat email, anda harus kerik atau hilangkan isolasinya. Untuk mengetahui ketepatannya, anda perlukan frequency counter, buatlah program mengedipkan salah satu port, ukur frekuensinya, anda bisa membandingkan menggunakan kristal dan induktor, pengurangan panjang kawat induktor akan mempertinggi frekuensi clock. Pada gambar 2, 1 kristal dimensi tinggi, 2 kristal dimensi pendek, keduanya 4 Mhz untuk AVR. 3 adalah 10 lilitan pada inti ferrite bentuk resistor, untuk AT89S, yang setara dengan 12 Mhz, 4. induktor untuk AVR 4 Mhz, 5 adalah induktor yang digunakan di keyboard, seperti resistor, tak nampak gulungannya.

IV.

LANGKAH PERCOBAAN

Langkah-langkah dalam melakukan percobaan kali ini adalah : 4.1 Membuat Rangkaian Sistim Minimum AT89S52

4.2 Memflash AT89S52 Pasang downloader pada komputer Buka program ProgISP

Pilih loadflash pada menu file Tentukan koding yang ingin di flash pilih tipe file .Hex Pilih erase untuk menghapus program sebelumnya pada AT89S52 Pilih auto untuk memulai flash Selesai

V.

HASIL PERCOBAAN a. Gambar Sistim Minimum b. Simulasi Progam dengan Bascom 8051

START

LED GESER KIRI

LED GESER KANAN

500 ms

END

Memprogram AT89S52 dengan menggunkan BASCOM Program yang digunakan pada IC AT89S52 ini adalah : $regfile = "8052.dat" $crystal = 12000000 Dim Tombol As Byte Do Tombol = Waitkey() Select Case Tombol Case "1" : Print "Geser Kanan" Cls P1 = &HFF Waitms 100 P1 = &H7F Waitms 100 P1 = &HBF Waitms 100 P1 = &HDF Waitms 100 P1 = &HEF Waitms 100 P1 = &HF7 Waitms 100 P1 = &HFB Waitms 100 P1 = &HFD Waitms 100 P1 = &HFE Waitms 100 Case "2" : Print "Geser Kiri" Cls P1 = &HFF Waitms 100 P1 = &HFE Waitms 100 P1 = &HFD Waitms 100 P1 = &HFB Waitms 100 P1 = &HF7 Waitms 100

P1 = &HEF Waitms 100 P1 = &HDF Waitms 100 P1 = &HBF Waitms 100 P1 = &H7F Waitms 100 Case "5" : Print "OFF" P1 = &HFF End Select Loop End

VI.

ANALISA
Pada percobaan ini,rangkaian di buat adalah sitem komunikasi serial yang mengontrol LED dari Komouter Ke mikrokontroller berbasis BASCOM, yang dilakukan terdiri dari 2 kontrol yaitu: Geser kanan dan Geser kiri

Untuk menghasilkan LED geser kiri dan kanan menggunakan program BASCOM adalah sebagai berikut:

$regfile = "8052.dat" $crystal = 12000000 Dim n As Byte Do Tombol = Waitkey() Select Case n Case "1" : Print "Geser Kanan" Cls

P1 = &HFF Waitms 500 P1 = &H7F Waitms 500 P1 = &HBF Waitms 500 P1 = &HDF Waitms 500 P1 = &HEF Waitms 500 P1 = &HF7 Waitms 500 P1 = &HFB Waitms 500 P1 = &HFD Waitms 500 P1 = &HFE Waitms 500 Case "2" : Print "Geser Kiri" Cls P1 = &HFF Waitms 500 P1 = &HFE Waitms 500 P1 = &HFD Waitms 500 P1 = &HFB Waitms 500 P1 = &HF7 Waitms 500 P1 = &HEF Waitms 500 P1 = &HDF Waitms 500 P1 = &HBF Waitms 500 P1 = &H7F Waitms 500

Case "5" : Print "OFF" P1 = &HFF End Select Loop End program diatas akan menampilkan LED geser kiri selama 500 ms dan geser kekanan selama 500 ms.berikut ini penjelasan coding BASCOM diatas:
Penjelasan program di atas sebagai berikut: 1. $regfile = " 8 0 5 2 . d a t " $crystal = 1 2 0 0 0 0 0 0 Pernyataan di atas disebut compiler directive (pengarah kompiler), yang berarti memberitahu ke kompiler bahwa mikrokontroler yang digunakan adalah AT89S52. Anda dapat menggantinya sesuai dengan yang Anda gunakan Frekuensi crystal yang Anda gunakan adalah 12MHz. 2. Dim n As Byte Pernyataan ini merupakan pendeklarasian variabel n dan 3. Pl Waitms 1 0 Pl Waitms 1 0 = &h01 =& h 0 2

Pernyataan yang digunakan untuk mengeluarkan data Port 1, kemudian ditunda selama 10 ms dan mengeluarkan data selanjutnya, sehingga kita akan mendapatkan efek LED yang bergeser dari kiri ke kanan.

3. $crystal = 11059200 yaitu crystal yang digunakan sebesar 11059200 Hz. 4. Select Case yaitu perintah untuk mengeksekusi beberapa blok pernyataan tergantung dengan variabelnya. Dari program diatas dapat kita lihat bahwa untuk dapat menerima data dari mikrokontroler ke komputer maka kita harus menambahkan coding MSComm.Input , sedangkan untuk mengirim data ke mikrokontroler kita harus menambahkan coding MSComm.Output.

VII. KESIMPULAN
Hasil dari percobaan diatas dapat disimpulkan sebagai berikut: LED akan geser kanan selama 500 ms akan berubah menjadi geser kiri selama 500 ms Pada saat pengujian rangkaian menggunakan downloader flash maka baudrate (kecepatan transfer data) yang dipilih harus sesuai dengan Baudrate yang di program pada BASCOM. LED akan menyala ketika downloader flash sambung ke laptop dan akan hidup sesuai dengan program yg di atas ,LED geser kiri dan kanan selama 500 ms Hati-hati pada soldieran ,biasa nya timah sering sekali menyambung pada jalur 1 ke jalur lain nya akan mengakibatkan hasil rangkaian tidak maksimal

DAFTAR PUSTAKA
http://www.elektro.undip.ac.id/kenung/?p=498 http://www.atmel.com/dyn/resources/prod_documents/doc0313.pdf