BAB 2 LANDASAN TEORI
2.1 Perangkat Keras
2.1.1 Mikrokontroler AT89S51
Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan mikrokomputer, hadir memenuhi kebutuhan pasar market need dan teknologi baru.
Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara
massal dalam jumlah banyak sehingga harga menjadi lebih murah dibandingkan mikroprosesor. Sebagai kebetuhan pasar, mikrokontroler hadir untuk memenuhi selera
industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggih.
Ilustrasi yang mungkin bisa memberikan gambaran yang jelas dalam penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang saat ini terkenal
di Indonesia. Jika kita sudah selesai bermain, maka akan diberikan suatu nilai, nilai inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan jika dikumpulkan dapat
ditukar dengan berbagai macam hadiah. Sistem tiket ini ditangani dengan mikrokontroler, karena tidak mungkin menggunakan komputer PC yang harus dipasang
di samping atau di belakang mesin permainan yang bersangkutan. Selain sistem tiket, kita juga dapat menjumpai aplikasi mikrokontroler dalam
bidang pengukuran jarak jauh atau yang dikenal dengan sistem telemetri. Misalnya
Aji Winata Utama : Penggunaan Photo Dan Infra Red Pada Perancangan Lift Untuk 3 Lantai Berbasis Mikrokontroler, 2008. USU Repository © 2009
pengukuran disuatu tempat yang membahayakan manusia, maka akan lebih nyaman jika dipasang suatu sistem pengukuran yang bisa mengirimkan data lewat pemancar dan
diterima oleh stasiun pengamatan dari jarak yang cukup aman dari sumbernya. Sistem pengukuran jarak jauh ini jelas membutuhkan suatu sistem akuisisi data sekaligus sistem
pengiriman data secara serial melalui pemancar, yang semuanya itu bisa diperoleh dari mikrokontroler yang digunakan.
Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi misalnya pengolah kata, pengolah angka dan lain sebagainya,
mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer RAM dan ROM-
nya besar. Sedangkan pada mikrokontroler ROM dan RAM-nya terbatas. Pada mikrokontroler AT89S51 ROM atau flash PEROM berukuran 2 kilo byte, sedangkan
RAM-nya berukuran 128 byte.
2.1.2 Kontruksi AT89S51
Mikrokontrol AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 10 Kilo Ohm
dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi
maksimum 24 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler.
Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda. Read Only Memory
Aji Winata Utama : Penggunaan Photo Dan Infra Red Pada Perancangan Lift Untuk 3 Lantai Berbasis Mikrokontroler, 2008. USU Repository © 2009
ROM yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan progam ini dinamakan
sebagai memori progam. Random Access Memori RAM isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat progam bekerja. RAM
yang dipakai untuk menyimpan data ini disebut sebagai memori data. Ada berbagai jenis ROM. Untuk mikrokontroler dengan progam yang sudah baku
dan diproduksi secara masal, progam diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler
mengunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM Ultra Violet
Eraseable Progamble ROM yang kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang harganya jauh lebih murah.
Jenis memori yang dipakai untuk Memori Program AT89S51 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat
bantuan alat yang dinamakan sebagai AT89S51 Flash PEROM Programmer. Memori Data yang disediakan dalam chip AT89S51 sebesar 128 byte, meskipun
hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup. Sarana InputOuput yang disediakan cukup banyak dan bervariasi. AT89S51 mempunyai 32
jalur InputOuput. Jalur InputOuput paralel dikenal sebagai Port 1 P1.0..P1.7 dan Port 3 P3.0..P3.5 dan P3.7.
AT89S51 dilengkapi UART Universal Asyncronous ReceiverTransmiter yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri RXD
dan TXD diletakan berhimpitan dengan P3.0 dan P3.1 di kaki nomor 10 dan 11,
Aji Winata Utama : Penggunaan Photo Dan Infra Red Pada Perancangan Lift Untuk 3 Lantai Berbasis Mikrokontroler, 2008. USU Repository © 2009
sehingga kalau sarana inputouput yang bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar
lewat T0 dan T1. T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur inputouput parelel kalau T0 dan T1 dipakai.
AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini
berhimpitan dengan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur inputoutput parelel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.
Port1 dan 2, UART, Timer 0,Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Functoin Regeister
SFR.
2.1.3 SFR Register Fungsi Khusus Pada Keluarga 51
Sekumpulan SFR atau Special Function Register yang terdapat pada Mikrokontroler Atmel Keluarga 51 ditunjukan pada tabel 2.1, pada bagian sisi kiri dan
kanan dituliskan alamat-alamatnya dalam format heksadesimal. Tidak semua alamat pada SFR digunakan, alamat-alamat yang tidak digunakan
diimplementasikan pada chip. Jika dilakukan usaha pembacaan pada alamat-alamat yang tidak terpakai tersebut akan menghasilkan data acak dan penulisannya tidak
menimbulkan efek sama sekali. Pengguna perangkat lunak sebaiknya jangan menuliskan ‘1’ pada lokasi-lokasi ‘tak bertuan’ tersebut, karena dapat digunakan untuk
mikrokontroler generasi selanjutnya. Dengan demikian, nilai-nilai reset atau non-aktif
Aji Winata Utama : Penggunaan Photo Dan Infra Red Pada Perancangan Lift Untuk 3 Lantai Berbasis Mikrokontroler, 2008. USU Repository © 2009
dari bit-bit baru ini akan selalu ‘0’ dan nilai aktifnya adalah ‘1’. Berikut akan dijelaskan secara singkat SFR-SFR beserta fungsinya:
Tabel 2.1. Peta Register Fungsi Khusus – SFR Special Function Register
Akumulator ACC atau akumulator yang menempati lokasi E 0h digunakan sebagai register untuk
penyimpanan data sementara, dalam program, instruksi mengacunya sebagai register A bukan ACC.
Register B Register B lokasi D 0h digunakan selama operasi perkalian dan pembagian, untuk
instruksi lain dapat diperlakukan sebagai register scratch pad “papan coret-coret” lainnya.
Aji Winata Utama : Penggunaan Photo Dan Infra Red Pada Perancangan Lift Untuk 3 Lantai Berbasis Mikrokontroler, 2008. USU Repository © 2009
Program Status Word PSW Register PSW lokasi D 0h mengandung informasi status program.
Stack Pointer Register SP atau Stack Pointer lokasi 8 1h merupakan register dengan panjang 8-bit,
digunakan dalam proses simpan menggunakan instruksi PUSH dan CALL. Walau Stack bisa menempati lokasi dimana saja dalam RAM, register SP akan selalu diinisialisasi ke
07h setelah adanya reset, hal ini menyebabkan stack berawal di lokasi 08h. Data Pointer
Register Data Pointer atau DPTR mengandung DPTR untuk byte tinggi DPH dan byte rendah DPL yang masing-masing berada dilokasi 83h dan 82h, bersama-sama
membentuk register yang mampu menyimpan alamat 16-bit. Dapat dimanipulasi sebagai register 16-bit atau ditulis darike port, untuk masing-masing Port 0,Port 1, Port2 dan
Port 3.
Serial Data Buffer
SBUF atau Serial Data Buffer lokasi 99h sebenarnya terdiri dari dua register yang terpisah, yaitu register penyangga pengirim transmit buffer dan penyangga penerima
receive buffer. Pada saat data disalin ke SBUF, maka data sesungguhnya dikirim ke penyangga pengirim dan sekaligus mengawali transmisi data serial. Sedangkan pada saat
data disalin dari SBUF, maka sebenarnya data tersebut berasal dari penyangga penerima.
Time Register
Pasangan register TH0, TL0 dilokasi 8Ch dan 8Ah,TH1, TL1 dilokasi 8Dh dan 8Bh serta TH2, TL2 dilokasi CDh dan CCH merupakan register-register pencacah 16-bit
untuk masing-masing Timer 0, Timer 1 dan Timer 2.
Aji Winata Utama : Penggunaan Photo Dan Infra Red Pada Perancangan Lift Untuk 3 Lantai Berbasis Mikrokontroler, 2008. USU Repository © 2009
Capture Register
Pasangan register RCAP2H, RCAP21 yang menempati lokasi CBh dan CAh merupakan register capture untuk mode Timer 2 capture. Pada mode ini, sebagai
tanggapan terjadinya suatu transisi sinyal di kaki pin T2EX pada AT89C5255, TH2 dan TL2 disalin masing-masing ke RCAP2H dan RCAP2L. Timer 2 juga memiliki mode
isi-ulang-otomatis 16-bit dan RCAP2H serta RCAP2L digunakan untuk menyimpan nilai isi-ulang tersebut.
Kontrol Register
Register-register IP, IE, TMOD, TCON, T2CON, T2MOD, SCON dan PCON berisi bit- bit kontrol dan status untuk sistem interupsi, pencacahpewaktu dan port serial.
Berikut ini merupakan spesifikasi dari IC AT89S51 :
Kompatible dengan produk MCS-51
Empat K byte In-Sistem Reprogammable Flash Memory
Daya tahan 1000 kali bacatulis
Tegangan kerja 4,0 volt sampai 5,5 volt
Fully Static Operation : 0 Hz sampai 33 MHz
Tiga level kunci memori progam
128 x 8 – bit RAM internal
32 jalur inputoutput IO
Dua 16 bit TimerCounter
Enam sumber interupt
Jalur serial dengan UART
Aji Winata Utama : Penggunaan Photo Dan Infra Red Pada Perancangan Lift Untuk 3 Lantai Berbasis Mikrokontroler, 2008. USU Repository © 2009
2.1.4 Gambar IC Mikrokontroler AT89S51
Gambar IC mikrokontroler AT89S51 ditunjukkan pada gambar 2.1 di bawah ini:
Gambar 2.1. IC Mikrokontroler AT89S51 Deskripsi pin-pin pada mikrokontroler AT89S51 :
V
CC
Pin 40
Suplai tegangan
GND Pin 20
Ground
Port 0 Pin 39 – pin 32
Port 0 dapat berfungsi sebagai IO biasa, low order multiplex addressdata ataupun penerima kode byte pada saat flash progamming Pada fungsi sebagai IO biasa port ini
dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai
Aji Winata Utama : Penggunaan Photo Dan Infra Red Pada Perancangan Lift Untuk 3 Lantai Berbasis Mikrokontroler, 2008. USU Repository © 2009
input dengan memberikan logika 1 pada port tersebut. Pada fungsi sebagai low order multiplex addressdata, port ini akan mempunyai internal pull up. Pada saat flash
progamming diperlukan eksternal pull up, terutama pada saat verifikasi program.
Port 2 Pin 21 – pin 28
Port 2 berfungsi sebagai IO biasa atau high order address, pada saat mengakse memori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan isi dari P2
special function register. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output
sink ke keempat buah input TTL.
Port 3 Pin 10 – pin 17
Port 3 merupakan 8 bit port IO dua arah dengan internal pull up. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :
Tabel 2.2 Fungsi Pin pada Port 3 Nama pin
Fungsi
P3.0 pin 10 RXD Port input serial
P3.1 pin 11 TXD Port output serial
P3.2 pin 12 INT0 interrupt 0 eksternal
P3.3 pin 13 INT1 interrupt 1 eksternal
P3.4 pin 14 T0 input eksternal timer 0
P3.5 pin 15 T1 input eksternal timer 1
P3.6 pin 16 WR menulis untuk eksternal data memori
P3.7 pin 17 RD untuk membaca eksternal data memori
RST pin 9
Aji Winata Utama : Penggunaan Photo Dan Infra Red Pada Perancangan Lift Untuk 3 Lantai Berbasis Mikrokontroler, 2008. USU Repository © 2009
Reset akan aktif dengan memberikan input high selama 2 cycle.
ALEPROG pin 30
Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input progam PROG selama
memprogram Flash.
PSEN pin 29
Program store enable digunakan untuk mengakses memori progam eksternal.
EA pin 31
Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika kondisi
high, pin ini akan berfungsi untuk menjalankan progam yang ada pada memori internal. Pada saat flash programming, pin ini akan mendapat tegangan 12 Volt.
X
TAL
1 pin 19
Input untuk clock internal.
X
TAL
2 pin 18
Output dari osilator.
2.2 Perangkat Lunak 2.2.1 Instruksi – Instruksi AT89S51