xi
BAB II
DASAR TEORI
2.1 Mikrokontroller AT89S51
2.1.1 Gambaran Umum Mikrokontroller AT89S51
AT89S51 merupakan Microkontroller “ mungil “ sangat sederhana yang berhasil menarik minat banyak orang. Namun Mikrokontroller ini masih belum menyebar luas
di Indonesia. AT89S51 setara dengan IC 8051 yang merupakan anggota keluarga MCS51 yang “ tertua “ dalam jajaran produksi ATMEL yakni sama-sama mempunyai
memori program internal sebesar 4098 byte. 8091 adalah 8051 yang tidak mempunyai program internal, sedangkan bagian-bagian lainnya sama persis dengan 8051.
Mikrocontroler 8031, 8051 dan AT80S51 mempunyai 40 kaki, dan dari 40 kaki tersebut dua kaki digunakan sebagai sumber daya, dua kaki untuk hubungan ke
kristal, satu kaki untuk reset, tiga kaki untuk fungsi kontrol yang meliputi EA, ALE, dan PSEN sisanya 32 kaki merupakan bagian yang paling penting dari
Microkontroller yang dinamakan sebagai Port. Masing – masing Port terdiri dari 8 jalur, dengan demikian terdapat 4 Port yang dinamakan Port 0, Port 1, Port 2, dan
Port 3.
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
Johan Christian Siahaan : Perancangan Counter Digital Sebagai Penghitung Produk Akhir Berbasis Microcontroller, 2008 USU Repository © 2008
xii 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 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.
Johan Christian Siahaan : Perancangan Counter Digital Sebagai Penghitung Produk Akhir Berbasis Microcontroller, 2008 USU Repository © 2008
xiii
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.
Gambar 2.1 IC Mikrokontroler AT89S51 Deskripsi pin-pin pada mikrokontroler AT89S51 :
VCC Pin 40
Suplai tegangan
GND Pin 20
Ground
Port 0 Pin 39-Pin 32
Johan Christian Siahaan : Perancangan Counter Digital Sebagai Penghitung Produk Akhir Berbasis Microcontroller, 2008 USU Repository © 2008
xiv 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
input dengan memberikan logika 1 pada port tersebut.
Pada fungsi sebagai low order multiplex addressdata, por 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 mengaksememori 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 keempat buah input TTL.
Port 3 Pin 10 – pin 17
Port 3 merupakan 8 bit port IO. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :
Nama pin Fungsi
P3.0 pin 10 RXD Port input serial
P3.1 pin 11 TXD Port output serial
P3.2 pin 12 INTO interrupt 0 eksternal
P3.3 pin 13 INT1 interrupt 1 eksternal
Johan Christian Siahaan : Perancangan Counter Digital Sebagai Penghitung Produk Akhir Berbasis Microcontroller, 2008 USU Repository © 2008
xv 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
Tabel 2.1 Fungsi pin pada port 3
RST pin 9
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 memprogam Flash.
PSEN pin 29
Progam 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 progamming, pin ini akan mendapat tegangan 12
Volt.
XTAL1 pin 19
Input untuk clock internal.
XTAL2 pin 18
Johan Christian Siahaan : Perancangan Counter Digital Sebagai Penghitung Produk Akhir Berbasis Microcontroller, 2008 USU Repository © 2008
xvi Output dari osilator.
2.2 Pencacah