BAB II 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 kebutuhan 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 PC yang harus
dipasang disamping atau dibelakang 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 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.
Universitas Sumatera Utara
Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi misalnya pengolahan kata, pengolahan 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. Mikrokontroler AT89C5152 mempunyai 40 kaki, 32 kaki diantaranya adalah
untuk keperluan port paralel. Satu port paralel terdiri dari 8 kaki, dengan demikian 32 kaki tersebut membentuk 4 buah port, yang masing-masing dikenal sebagai port 0,
port 1, port 2, port 3. Data dapat dengan mudah dimasukkan diolah dan dikeluarkan dari port-port tersebut dengan instruksi-instruksi yang sederhana
Secara umum arsitektur mikrokontroler AT89C5152 seperti pada blok gambar dibawah ini, Mikrokontroler 89C51 adalah mikrokontroler dengan arsitektur MCS51
seperti 8031 dengan memori Flash PEROM Programmable and Erasable Read Only Memory
Gambar 2.1 diagram blok mikrokontroler
2.1.2 Konstruksi AT89S51
Universitas Sumatera Utara
Mikrokontroler AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 volt. Kapasitor 10 mikroFarad 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 pikoFarad dipakai untuk melengkapi rangkaian oscillator 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
dengan keperluannya, dalam susunan MCS-51 memori penyimpanan program ini dinamakan sebagai memori program. Random Access Memori RAM isinya akan
sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai
memori data. Ada berbagai jenis ROM. Untuk mikrokontroler dengan program yang sudah
baku dan diproduksi secara manual, program diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler
menggunakan ROM yang dapat diisi ulang atau Programable-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM Ultra
Violet Eraseable Programble 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 InputOutput yang disediakan cukup banyak dan bervariasi. AT89S51
mempunyai 32 jalur InputOutput paralel dikenal sebagai Port 1 P1.0 … P1.7 dan Port 3 P3.0 … P3.7.
Universitas Sumatera Utara
AT89S51 dilengkapi UART Universal Asyncronous ReceiverTransmitter yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri
RXD dan TXD diletakkan berhimpitan dengan P3.0 dan P3.1 di kaki nomor 10 dan 11, sehingga kalau sarana inputoutput 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 inputoutput paralel 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 paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.
Port 1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Speciall Function
Register SFR.
2.1.3 SFR Register Fungsi Khusus pada keluarga 51
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. Penggunaan 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 nonaktif dari bit–bit baru ini akan selalu ‘0’ dan nilai aktifnya ‘1’.
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. Digunakan dalam Operasi Aritmatik Add A,05H, Operasi Logika Anl A,05H, Akses Memori Eksternal Movx A,DPTRdan digunakan
untuk fungsi umum.
Universitas Sumatera Utara
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. 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 diinisialisasikan 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 amsing – masing berada dilokasi 83h dan 82h, bersama –
sama membentuk register yang mampu menyimpan alamat 16-bit. Dapat dimanipulasikan sebagai register 16-bit atau ditulis darike port, untuk masing –
masing Port 0, Port 1, Port 2 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 transimisi data serial.
Sedangkan pada saat data disalin dari SBUF, maka sebenarnya data tersebut berasal dari penyangga penerima.
Universitas Sumatera Utara
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.
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 AT89S5255, 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 control dan status untuk sistem interupsi, pencacahpewaktu dan port
serial. Berikut ini merupakan spesifikasi dari IC AT89S51 :
1. Kompatible dengan produk MCS-51
2. Empat Kbyte In-Sistem Reprogammable Flash Memory
3. Daya tahan 1000 kali bacatulis
4. Tegangan kerja 4,0 volt sampai 5,5 volt
5. Fully Static Operation : 0 Hz sampai 33 MHz
6. Tiga level kunci memori program
7. 128 x 8 – bit RAM internal
8. 32 jalur inputoutput IO
9. Dua 16 bit TimerCounter
10. Enam sumber interrupt
11. Jalur serial dengan UART
2.1.4 Gambar IC Mikrokontroler AT89S51
Gambar IC mikrokontroler AT89S51 ditunjukkan pada gambar 2.1 di bawah ini:
Universitas Sumatera Utara
Gambar 2.2. IC Mikrokontroler AT89S51 Deskripsi pin – pin pada mikrokontroler AT89S51 :
Vcc 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 programming. Pada fungsi sebagai IO
biasa port ini dapat memberikan output sink ke delapan buah TTL atau dapat diubah sebagai 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 programming 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 mengakses memori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan
mengelurkan 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 :
Universitas Sumatera Utara
Table 2.1 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 P.3.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
Reset akan aktif dengan meberikan 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 program
PROG selama memprogram Flash.
PSEN Pin 29
Program store enable digunakan untuk mengakses memori program eksternal.
EA Pin 31
Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program yang ada pada memori eksternal setelah sistem direset. Jika
kondisi high, pin akan berfungsi untuk menjalankan program yang ada pada memori internal. Pada saat flash programming, pin ini akan mendapat tegangan 12 volt.
Xtal1 Pin 19
Input untuk clock internal
Xtal2 Pin 18
Output dari oscillator.
Universitas Sumatera Utara
Konfigurasi pin AT89S51 berbentuk kemasan DIP Dual In-line Package. mikrokontroler dipacu pada frekuensi 12 MHz dengan memasang rangkaian osilator
dengan kristal 12 MHz melalui kapasitor 33 pf pada kaki 18 XTAL 1 dan kaki 19 XTAL 2. Osilator yang digunakan adalah rangkaian osilator yang sudah terdapat
pada mikrokontroler,dan hanya menambahkankristal dan kapasitor sebagai penentu frekuensi yang digunakan. Kristal yang digunakan adalah 12 Mhz.
Karena Frekuensi Kristal = 12MHz T = 1f
T = 112MHz = 8,333333333-8 T= 8,333333333 - 8 x 1000000 = 0,083333333 µdetik
sehingga satu periode gelombang kotak adalah : satu periode =0,0833333332 = 0,04166 µdetik
2.2 Perangkat Lunak 2.2.1 Instruksi – Instruksi AT89S51