Perangkat Keras .1 Mikrokontroler AT89S51

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