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 kaki- kaki 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 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: -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 = &h01
Waitms 1 0
Pl =& h 0 2
Waitms 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
DAFTAR PUSTAKA
http://www.elektro.undip.ac.id/kenung/?p=498

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