led geser kiri dan kanan berbasis at89s52 menggunakan bascom

19
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 :

Upload: m-heris-badaruddin

Post on 20-Oct-2015

325 views

Category:

Documents


19 download

DESCRIPTION

doc

TRANSCRIPT

Page 1: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

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

Page 2: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

I. JudulLED 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

M i k r o k o n t r o l e r A T 8 9 S 5 2 m e m i l i k i 4 0 p i n d e n g a n 3 2 p i n 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 ar 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 :

Page 3: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

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 denganpull-up internal yang mampu untuk memberikan/menyerap arus dari empatinput TTL sebesar 1,6mA.(ISP). (Budiharto, 2005: 23)

Pin 9Merupakan 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 17Pin 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 y a n g 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

Page 4: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

internal akan membuat port pada kondisi high dan port 3 dapat digunakan sebagai saluran input . (Budiharto, 2005: 23)

Pin 18 dan pin 19Mikrokontroler AT89S52 telah memiliki seluruh rangkaian oscillator yang diperlukan

pada chip, kecuali rangkaian kristal yang mengendalikan frekuensi dari o c s i l l a t o r . U n t u k m e n g u n a k a n n y a , m a k a r e s o n a t o r k r i s t a l a t a u k e r a m i k d i h u b u n g k a n d i a n t a r a k a k i - k a k i X T A L 1 ( P i n 1 8 ) 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 20Merupakan pin ground yang dihubungkan dengan ground dari sumber

t e g a n g a n . P a d a b e b e r a p a g a m b a r r a n g k a i a n , s i m b o l ground sering disingkat dengan GND. (Budiharto, 2005: 25)

Pin 21 sampai 28Pin 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 29Pin 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 30P i n 3 0 a d a l a h 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)

Page 5: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

Pin 31Pin 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 39P 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 40Merupakan 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 mengeluarkancahaya. U n t u k m e n d a p a t k a n e m i s i c a h a y a p a d a s e m i k o n d u k t o r , d o p i n g y a n g d i p a k a i 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

Page 6: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

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 v o l t .

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 on-off -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: -20°C Operating Temperature Max: 70°C 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: -20°C to +70°C Output Frequency: 12.000MHz Temperature Stability + @: 50ppm Temperature Stability - @: 50ppm Temperature Stabilty: ± 50ppm

Page 7: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

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.

Page 8: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

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

Page 9: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

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

Page 10: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

a. Gambar Sistim Minimumb. Simulasi Progam dengan Bascom 8051

Memprogram AT89S52 dengan menggunkan BASCOM

START

LED GESER KANANLED GESER KIRI

500 ms

END

Page 11: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

Program yang digunakan pada IC AT89S52 ini adalah :$regfile = "8052.dat"$crystal = 12000000Dim Tombol As ByteDoTombol = Waitkey()Select Case TombolCase "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

Page 12: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

Waitms 100 P1 = &HDF Waitms 100 P1 = &HBF Waitms 100 P1 = &H7F Waitms 100Case "5" : Print "OFF" P1 = &HFFEnd SelectLoopEnd

VI. ANALISAPada 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 nCase "1" : Print "Geser Kanan"Cls

P1 = &HFF

Page 13: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

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"

Page 14: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

P1 = &HFFEnd SelectLoopEnd

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 = 12000000

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 = &h01Waitms 1 0Pl =& h 0 2Waitms 1 0

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

Page 15: LED GESER KIRI DAN KANAN BERBASIS AT89S52 MENGGUNAKAN BASCOM

DAFTAR PUSTAKA

http://www.elektro.undip.ac.id/kenung/?p=498

http://www.atmel.com/dyn/resources/prod_documents/doc0313.pdf