Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro

  TUGAS AKHIR UNIVERSAL TIMER BERBASIS MIKROKONTROLER AT89S51 Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro Disusun Oleh: ANTON WIDIANTO NIM: 015114061 PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2007

  UNIVERSAL TIMER BASED ON AT89S51 MICROCONTROLLER FINAL PROJECT Presented as Partial Fulfillment of the Requirements To Obtain The Technical Engineering Degree In Electrical Engineering By: ANTON WIDIANTO Student Number: 015114061 ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINEERING DEPARTMENT FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2007

  

LEMBAR PERSETUJUAN

TUGAS AKHIR

UNIVERSAL TIMER

BERBASIS MIKROKONTROLLER AT89S51

  Disusun Oleh:

  

ANTON WIDIANTO

NIM: 015114061

Telah Disetujui oleh:

   Pembimbing

Djoko Untoro, S, Si, MT Tanggal:27 November 2007

  

LEMBAR PENGESAHAN TUGAS AKHIR

UNIVERSAL TIMER

BERBASIS MIKROKONTROLLER AT89S51

Disusun Oleh:

Anton Widianto

  

NIM:015114061

  Telah Dipertahankan di depan Panitia Penguji Pada tanggal 3 November 2007 dan dinyatakan memenuhi syarat

  

Susunan Panitia Penguji

Jabatan Nama Lengkap Tanda Tangan

  Ketua : Djoko Untoro, S, Si, M.T Anggota :Ir. Th. Ari Setiyani, M.T Anggota :Pius Yozy Merucahyo, S.T., M.T

  Yogyakarta, November 2007 Dekan Fakultas Sains dan Teknologi

  Universitas Sanata Dharma Yogyakarta

PERNYATAAN KEASLIAN KARYA

  Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

  Yogyakarta, November 2007 Penulis Anton Widianto

  

INTISARI

  Universal timer adalah suatu alat pewaktu dengan menggunakan tabel pemilih waktu. Universal timer digunakan untuk mengaktifkan relay, membunyikan buzzer, dan menyalakan led secara otomatis. Prisip kerja Universal Timer pada dasarnya menggunakan metode pewaktuan dengan memanfaatkan fasilitas timer yang ada pada sistem minimum mikrokontroller AT89S51.

  Sistem pewaktuannya dapat disetting melalui dipswitch (saklar 8 bit) yang berfungsi sebagai masukan dalam bentuk biner. Timer akan mulai bekerja pada saat tombol start ditekan. Setelah waktu habis maka sistem akan mengaktifkan relay, membunyikan buzzer dan menyalakan led merah secara bersamaan. Sistem ini juga dapat mengendalikan alat elektronika lain dengan memanfaatkan keluaran dari relay.

  Kata kunci : Pewaktu , aplikasi mikrokontroler AT89S51

  

ABSTRACT

  Universal timer is a timer with selectable time. Universal timer used to activate the relay, sounding buzzer, and turn on the LED automatically. The principle of universal timer basically use the time base from crystal in microcontroller.

  The timing system can be set with dipswitch (switch 8 bit), which functioning for input in the binary form. The timer start to work when push button start pushed. At the end of the time, so system will activate the relay, sounding buzzer, turn on the red led and turn off green LED concurrently. This system can to be control the other appliance electronics by using output relay. Keyword : Timer, Apllication Microcontroller AT89S51

HALAMAN PERSEMBAHAN

  Hasil karya ini ku persembahkan untuk: ™ Ayah dan Bunda yang tercinta, terima kasih atas kasih sayang, doa dan bimbinganmu selama ini.

  ™ Kakakku, must Arif, must Andi, mba Ratna, must You One, dan must Tika yang telah memberikan semangat dan dorongan dalam hidupku.

  ™ My Honey yang mau menungguku dan selalu sabar menghadapiku. ™ Anak-anak Humoriezt Yogyakarta yang selalu memberi keceriaan, kompak selalu buat x-an.

  

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN

AKADEMIS

  Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Anton Widianto

  Nomor Mahasiswa : 015114061 Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul : Universal Timer

  

Berbasis Mikrokontroler AT89S51, beserta perangkat yang diperlukan (bila

  ada). Dengan demikian saya memberikan kepada Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas,dan mempublikasikannya di Internet media lain untuk kepentingan akademis tanpa perlu meminta jin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.

  Demikian pernyataan ini yang saya buat dengan sebenarnya. Di buat di Yogyakarta Pada tanggal : 4 Maret 2008 Yang menyatakan

  Anton Widianto

  MOTTO

  “I Love Jesus” “ Bekerja, Berusaha, dan Berdoa”

  “Kegagalan Adalah Awal Dari Kesuksesan” ”Doa Ayah Bunda Sepanjang Masa”

  ”Amien”

KATA PENGANTAR

  Terpujilah Tuhan Jesus Kristus atas kasih-Nya yang melimpah sehingga penulis dapat menyelesaikan Tugas Akhir ini dengan baik. Tugas akhir ini disusun sebagai salah satu syarat untuk memperoleh gelar sarjana pada Jurusan Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

  Penulis menyadari bahwa dalam penyusunan Tugas Akhir ini tidak akan berjalan dengan lancar tanpa bantuan dan dorongan dari berbagai pihak, maka dari itu terima kasih yang mendalam penulis ucapkan kepada : 1.

  Ir. Greg.Heliarko, SJ.,SS.,BST., MA., Msc., selaku Dekan Fakultas Teknik.

  2. Bapak A. Bayu Primawan, S.T., M.Eng. selaku Kaprodi Teknik Elektro.

  3. Bapak Pdt. Obaja Sigit Karyono, M.Th sebagai pembimbing penulis.

  4. Djoko Untoro, S, Si, MT, sebagai pembimbing Tugas Akhir.

  5. Bapak Petrus Setyo Prabowo, ST. sebagai Pembimbing Akademik.

  6. Segenap Dosen di Jurusan Teknik Elektro yang telah melayani sebagai pengajar dan penasihat.

  7. Segenap Laboran Teknik Elektro.

  8. Ayah dan Bunda yang selalu memberi pengertian dan menyayangiku.

  9. Kakak-kakakku yang telah memberi motifasi dalam menyelesaikan dibangku kuliah.

  10. Rekan seangkatan TE’01 atas kebersamaannya di tahun-tahun yang silam.

  11. Fajar Ira J., S. Farm, Apt. dan Pungkas Yoga K, ST. untuk pengertian dan semua toleransi yang diberikan.

  12. Keluarga Bp Hardjio (Gg. Endra 16), Keluarga Mas Tentrem (Gg. Endra 16),

  13. My Honey, untuk kasih sayangmu dan doamu yang telah diberikan.

  14. Serta semua pihak yang namanya tidak tertulis pada lembar ini. Tuhan memberkati.

  Berbagai upaya telah penulis lakukan untuk menyelesaikan tugas akhir ini, akan tetapi penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna.

  Untuk itu, saran dan kritik senantiasa penulis harapkan demi kesempurnaan tugas akhir ini.

  Yogyakarta, November 2007 Penulis

  

DAFTAR ISI

  Halaman HALAMAN JUDUL................................................................................................i LEMBAR PERSETUJUAN...................................................................................iii LEMBAR PENGESAHAN....................................................................................iv PERNYATAAN KEASLIAN KARYA..................................................................v

  INTI SARI .............................................................................................................vi ABSTRACT..........................................................................................................vii HALAMAN PERSEMBAHAN...........................................................................viii LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI.................................ix MOTTO...................................................................................................................x KATA PENGANTAR............................................................................................xi DAFTAR ISI.........................................................................................................xiii DAFTAR GAMBAR............................................................................................xvi DAFTAR TABEL...............................................................................................xviii

  BAB I PENDAHULUAN 1.1. Judul......................................................................................................1 1.2. Latar Belakang Masalah........................................................................1

  1.3. Tujuan Penelitian dan Manfaat Penelitian.............................................2 1.3.1.

  Tujuan Penelitian.........................................................................2 1.3.2. Manfaat Penelitian.......................................................................2

  1.4. Batasan Masalah....................................................................................3

  BAB II DASAR TEORI 2.1. Mikrokontroler AT89S51.....................................................................4 2.1.1. Organisasi Memori AT89S51.....................................................4 2.1.2. Memori Program.........................................................................6 2.1.3. Memori Data...............................................................................6 2.1.4. Register Fungsi Khusus..............................................................7

  a. Akumulator.............................................................................7

  b.

  LED......................................................................................................23

  BAB IV DATA DAN ANALISA DATA

  Inisialisasi Timer........................................................................33

  3.2.1. Pemrograman Mikrokontroler AT89S51...................................33 3.2.2.

  Buzzer........................................................................................29 3.2. Perancangan Perangkat Lunak.............................................................31

  3.1.4. Driver Relay...............................................................................28 3.1.5.

  Saklar Dipswitch........................................................................26 3.1.2. LED Output................................................................................27 3.1.3. One-Chip Oscilator....................................................................27

  3.1. Perancangan Perangkat Keras..............................................................25 3.1.1.

  BAB III PERANCANGAN PENELITIAN

  2.5. Buzzer/ Speaker...................................................................................22 2.6.

  Register B...............................................................................7

  Relay....................................................................................................20 2.4. Dipswitch 8 Bit....................................................................................21

  2.2. Transistor Sebagai Saklar.....................................................................19 2.3.

  Register TMOD....................................................16 2.1.6. Mode Pengalamatan dan Instruksi Mikrokontroler....................18

  a. Register TCON.....................................................15 b.

  Mode Timer dan Counter.............................................14 2.1.5.2. Register Pengatur Timer..............................................15

  I/O Port..................................................................................11 h. Timer Register.......................................................................12 i. Serial Data Buffer..................................................................13 2.1.5. Timer Dan Counter....................................................................13 2.1.5.1.

  f. Kontrol Register....................................................................10 g.

  Stack Pointer..........................................................................10 e. Data Pointer..........................................................................10

  c. Program Status Word..............................................................8 d.

  4.1. Program Untuk Menghasilkan Delay N Detik......................................35

  4.1.1. Delay 1 Detik.............................................................................35

  4.1.2. Delay 2 Detik.............................................................................37

  4.1.3 Delay 4 Detik............................................................................37

  4.1.4. Delay 8 Detik............................................................................38

  4.1.5 Delay 64 Detik..........................................................................39

  4.1.6. Delay 128 Detik........................................................................40

  4.2. Program Pengaktifan Perangkat Keras................................................42

  BAB V KESIMPULAN DAN SARAN

  5.1. Kesimpulan.........................................................................................46

  5.2. Saran...................................................................................................46 DAFTAR PUSTAKA..........................................................................................47 LAMPIRAN .......................................................................................................48

  

DAFTAR GAMBAR

  Halaman

  BAB I PENDAHULUAN BAB II DASAR TEORI Gambar 2.1 Memori Data dan Memori Program.........................................5 Gambar 2.2 Memori Data Internal...............................................................7 Gambar 2.3 Rangkaian Transistor Sebagai Saklar.....................................20 Gambar 2.4 Rangkaian Relay.....................................................................21 Gambar 2.5 Rangkaian Dipswitch..............................................................22 Gambar 2.6 Bentuk dan Simbol Dipswitch................................................22 Gambar 2.7 Rangkaian Buzzer...................................................................23 Gambar 2.8 Rangkaian LED.......................................................................23 BAB III PERANCANGAN PENELITIAN Gambar 3.1 Diagram Blok Perangkat Keras..............................................25 Gambar 3.2 Konfigurasi Dipswitch...........................................................26 Gambar 3.3 Konfigurasi LED....................................................................27 Gambar 3.4 Konfigurasi On- Chip Oscilator.............................................28 Gambar 3.5 Konfigurasi Driver Relay.......................................................29 Gambar 3.6 Konfigurasi Buzzer................................................................30 Gambar 3.7 Diagram Alir Program Utama................................................31 Gambar 3.8 Diagram Alir Program Utama................................................32 BAB IV DATA DAN ANALISA DATA Gambar 4.1 Delay1 Detik..........................................................................36 Gambar 4.2 Delay 1 Detik.........................................................................36 Gambar 4.3 Delay 2 Detik.........................................................................37 Gambar 4.4 Delay 2 Detik.........................................................................37 Gambar 4.5 Delay 4 Detik.........................................................................38 Gambar 4.6 Delay 4 Detik.........................................................................38 Gambar 4.7 Delay 8 Detik.........................................................................38

Gambar 4.8 Delay 8 Detik.........................................................................39Gambar 4.9 Delay 64 Detik.......................................................................40Gambar 4.10 Delay 64 Detik......................................................................40Gambar 4.11 Delay 128 Detik....................................................................40Gambar 4.12 Delay 128 Detik....................................................................41Gambar 4.13 Input dan Output Port............................................................43Gambar 4.14 Input dan Output Port............................................................45

  BAB V KESIMPULAN DAN SARAN

  

DAFTAR TABEL

  Halaman

  BAB I PENDAHULUAN BAB II DASAR TEORI Tabel 2.1. Akumulator...................................................................................7 Tabel 2.2. Register B....................................................................................8 Tabel 2.3. Program Status Word....................................................................8 Tabel 2.4. Register Bank Select.....................................................................9 Tabel 2.5. Register AUXRI..........................................................................10 Tabel 2.6. Fungsi Alternatif Port3................................................................12 Tabel 2.7. Register TCON...........................................................................15 Tabel 2.8. Register TMOD...........................................................................16 Tabel 2.9. Fungsi Register TMOD...............................................................17 Tabel 2.10.Kombinasi M0 dan M1..............................................................17 Tabel 2.11 Bobot Nilai Saklar......................................................................21 BAB III PERANCANGAN PERANGKAT KERAS Tabel 3.1. Register TMOD...........................................................................33 Tabel 3.2. Register TCON...........................................................................33 BAB IV DATA DAN ANALISA DATA BAB V KESIMPULAN DAN SARAN

BAB I PENDAHULUAN

  1. 1. Judul

  Universal Timer Berbasis Mikrokontroller AT89S51

  1. 2. Latar Belakang Masalah

  Dewasa ini perkembangan ilmu pengetahuan dan teknologi terutama dalam bidang teknologi kendali sangat pesat sekali dan telah membawa perubahan di segala bidang terutama bidang-bidang elektronika.

  Seiring dengan perkembangan tersebut, di dalam kehidupan rumah tangga yang menggunakan jam meja misalnya, sangat terasa masih kurang memuaskan. Hal ini disebabkan karena sistem pewaktuan tersebut hanya berfungsi sebagai jam dan alarm saja. Untuk dapat meningkatkan kualitas dari alat pewaktuan yang tidak hanya sebagai pewaktuan dan alarm saja, maka hal yang perlu di perbaiki adalah agar alat tersebut dapat bermultifungsi, misalnya dapat mengendalikan alat elektronika lain secara otomatis. Efisiensi dan pemanfaatan fungsi dapat dilakukan secara otomatis dengan menggunakan mikrokontroler AT89S51.

  Dari hal yang mendasar itulah, maka perlu pemanfaatan dari penggunaan timer yang ada pada sistem minimum mikrokontroler AT89S51. Dari kemungkinan-kemungkinan tersebut, maka muncul suatu ide untuk mengembangkan suatu sistem pewaktuan yang dapat digunakan sebagai alarm dan sekaligus dapat digunakan sebagai pengendalian alat-alat elektronika lain dengan menggunakan mikrokontroler AT89S51 yaitu ’’ Universal Timer Berbasis Mikrokontroler AT89S51’’.

  Keunggulan dari alat ini dibandingkan dengan jam meja adalah selain berfungsi sebagai pewaktuan dan alarm, alat ini juga dapat digunakan untuk mengendalikan alat-alat elektronika lain dengan memanfaatkan keluaran pada relay yang terdapat pada alat ini.

  1. 3. Tujuan Penelitian dan Manfaat Penelitian 1. 3. 1. Tujuan Penelitian

  Tujuan penilitian dari alat ini adalah sebagai berikut:

  a) Merancang sistem dengan metode pewaktuan berbasis mikrokontroller AT89S51.

  b) Merancang dan membuat program timer yang dapat mengaktifkan relay sekaligus menyalakan led dan membunyikan buzzer.

  c) Merancang program timer yang mampu mengolah data masukan dalam bentuk biner.

  1. 3. 2. Manfaat Penelitian

  Pembuatan alat Universal Timer ini diharapkan dapat bermanfaat :

  a) Bagi penulis, dapat memberi bekal pengalaman untuk mengaplikasikan ilmu pengetahuan selama duduk di bangku kuliah ke dalam karya nyata. b) Bagi Almamater, sebagai tolak ukur daya serap mahasiswa yang bersangkutan selama menempuh pendidikan dan kemampuan menerapkan ilmunya secara praktis.

  c) Bagi masyarakat, dapat memberikan alternatif lain sebagai piranti untuk meng-otomatisasi-kan suatu alat elektronika lain dalam rumah tangga.

  d) Bagi peneliti/mahasiswa lain, dapat digunakan sebagai bahan referensi atau kajian untuk pengembangan selanjutnya.

  1. 4. Batasan Masalah

  Batasan masalah untuk penelitian ini adalah : a) Pengatur sistem yang digunakan adalah mikrokontroler AT89S51.

  b) Input yang digunakan adalah saklar dipswitch 8 bit.

  c) Output yang digunakan adalah buzer, relay, dan led.

  d) Waktu yang digunakan dalam detik.

BAB II DASAR TEORI

  2. 1. Mikrokontroller AT89S51

  Mikrokontroller pada dasarnya adalah sebuah chip yang dibangun dari system minimum berbasis mikroprosesor. Mikrokontroler AT89S51 adalah mikrokontroler CMOS 8-bit yang berkemampuan tinggi dengan 8K bytes in-sistem programmable Flash Memory. AT89S51 yang dipakai memiliki fitur: 4KB In-Sistem Programmable Flash, 256 Bytes RAM, 32 jalur I/O, tiga 16-bit timers/counters, 2 data pointer, 6 vektor dua level interupsi, serial port full duplex, osilator on-chip dan clock circuitry.

  2. 1. 1. Organisasi Memori AT89S51

  Memori merupakan rangkaian elektronis yang digunakan untuk menyimpan informasi secara temporer atau permanen. Memori biasanya digunakan untuk menyimpan data yang diperoleh dari saluran masukan- keluaran atau untuk menyimpan program dari sebuah sistem.

  Mikrokontroler AT89S51 memiliki ruang alamat untuk memori program dan memori data yang terpisah, seperti terlihat pada Gambar 2.1.

  Setiap memori program dan memori data eksternal dapat dialamati hingga 64Kbytes.

  

Gambar 2. 1. Memori data dan memori program pada

  mikrokontroler AT89S51 Pemisahan program dan data memori ini memungkinkan pengaksesan data memori dengan pengalamatan 8 bit, sehingga dapat langsung disimpan dan dimanipulasi oleh mikrokontroler dengan kapasitas akses 8 bit. Namun demikian, untuk pengaksesan data memori dengan alamat 16 bit, harus dilakukan dengan menggunakan register DPTR (Data Pointer). Program memori hanya dapat dibaca saja (diletakkan pada ROM/ EPROM). Untuk membaca program memori eksternal, mikrokontroler akan mengirim sinyal PSEN (Program Store Enable). Sebagai data memori eksternal dapat digunakan RAM eksternal (maksimum 64 Kbyte). Dalam pengaksesannya mikrokontroler akan mengirimkan sinyal RD (Read, melakukan operasi pembacaan data) dan WR (Write, melakukan operasi penulisan data). Bila diperlukan, program memori dan eksternal data dapat dikombinasikan dengan menyatukan sinyal RD dan PSEN ke dalam input gerbang AND dan menggunakan output dari gerbang tersebut sebagai sinyal read (baca) untuk program memori / Eksternal Data.

  2. 1. 2. Memori Program

  Memori program atau sering disebut dengan flash memory pada mikrokontroler AT89S51 memiliki kapasitas sebesar 8KB yang hanya bisa dibaca saja. Bila pin dihubungkan pada ground program memori dapat di akses secara eksternal, bila pin A E dihubungkan pada V CC program memori

  4KB dapat diakses langsung pada alamat 0000H-FFFH secara internal dan pada alamat 1000H-FFFFH secara eksternal.

  2. 1. 3. Memori Data

  Memori data menggunakan memori jenis RAM. RAM merupakan memori yang dapat dibaca dan ditulis. RAM dipakai sebagai penyimpan data pada saat program bekerja. Isi RAM akan hilang bila catu daya mati (Volatile Memory).

  Mikrokontroler AT89S51 memiliki memori data 256 bytes dan dapat diakses secara pengalamatan langsung dan pengalamatan tidak langsung.

  Pengoperasian stack adalah contoh dari pengalamatan tidak langsung, jadi 128 bytes RAM data tersedia sebagai ruang stack. Memori data internal dapat dilihat pada Gambar 2. 2..

  

Gambar 2. 2. Memori Data Internal

  Mikrokontroler AT89S51 memiliki 16 alamat dalam ruang SFR yang dapat diakses baik secara byte maupun bit.

  2. 1. 4. Register Fungsi Khusus (Special Function Register)

  Peta dari memori on-chip disebut dengan ruang register fungsi khusus (Special Function Register).

   Akumulator a.

  ACC atau akumulator yang menempati lokasi E0H digunakan sebagai register untuk penyimpanan data sementara dan dapat dialamati secara bit addressable.

  Tabel 2. 1. Akumulator

b. Register B

  Register B menempati lokasi F0H digunakan selama operasi perkalian dan pembagian, untuk intruksi lain dapat diperlakukan sebagai register scratch pad (papan coret-coret) dan register B juga dapat dialamati secara bit addressable.

  Tabel 2. 2. Register B

c. Program Status Word (PSW)

  Register PSW (lokasi D0H) mengandung informasi status program seperti terlihat pada Tabel 2. 3 .

  Tabel 2. 3. Program Status Word

  Fungsi bit pada PSW sebagai berikut:

  CY (carry flag) : bit ini akan diset oleh sejumlah instruksi

  matematika seperti ADD, ADDC, SUBB, MUL, DIV dan juga termasuk instruksi untuk rotasi.

  AC (auxillary carry) : bit ini akan diset pada penjumlahan dua

  buah bilangan BCD (Binary Code Desimal) yang menghasilkan carry dari bit ketiga ke bit keempat atau jika nibble bawahnya berada pada range 0AH sampai 0FH.

  F0 (flag 0) : flag untuk fungsi umum.

  

RS0, RS1 (register bank select) : dua bit RS1 Dan RS0 digunakan untuk

  memilih bank register yang penggunaannya ditunjukkan pada tabel 2.

  4 berikut: Tabel 2. 4. Register Bank Select

  RS1 RS0 REG BANK

  IRAM ADDRESS 00h - 07h

  1 1 08h - 0Fh

  1 2 10h - 17h

  1

  1 3 18h – 1Fh : bit ini akan diset oleh sejumlah intruksi

  OV (overflow flag)

  aritmetika, tetapi biasanya instruksi yang sering membuat bit ini menjadi 1 adalah instruksi ADD dan SUBB.

  

P (parity flag) : bit ini akan diset menjadi satu jika bit-bit

1 pada akumulator berjumlah ganjil.

  Sebagai contoh jika isi akumulator adalah

  15H (00010101) maka bit P akan diset menjadi 1 karena jumlah bit satu pada akumulator adalah 3 buah.

  d. Stack Pointer

  Register Stack Pointer (lokasi 81H) merupakan register dengan panjang 8-bit, digunakan dalam proses simpan dan ambil dari/ ke stack.

  Dan operasi yang sering melibatkan stack pointer adalah PUSH dan CALL. Register Stack Pointer akan selalu diinisialisasikan ke 07h setelah adanya reset, sehingga akan menyebabkan stack berawal di lokasi 08h.

  e. Data Pointer

  Register Data Pointer terdiri dari DPTR untuk byte tinggi (DPH) dan byte rendah (DPL). Pada AT89S51 memiliki 2 buah DPTR untuk memudahkan pengaksesan baik internal maupun eksternal, yaitu DP0 di lokasi 82H-83H dan DP1 di lokasi 84H-85H. Untuk menggunakannya harus menginisialisasi bit DPS pada register AUXR1 (lokasi A2H). Bila DPS = 0, maka memilih register DPTR DP0L-DP0H dan bila DPS = 1, maka memilih register DPTR DP1L-DP1H. Register AUXR1 dapat dilihat pada Tabel 2. 5. Tabel 2. 5. Register AUXR1

  f. Kontrol Register

  Register-register IP, IE, TMOD, TCON, T2CON, T2MOD, SCON dan PCON berisi bit-bit kontrol dan status untuk sistem interupsi, pencacah/ pewaktu dan serial port .

g. Port masukan/keluaran (I/O port)

  Mikrokontroler AT89S51 memiliki 4 port masukan/keluaran (I/O

  port ) yang diberi nama port 0, port 1, port 2 dan port 3. Setiap port selain

  sebagai jalur masuk atau keluar data, juga memiliki karakteristik masing- masing.

  Port 0 merupakan port keluaran/masukan (I/O) bertipe open drain

  . Port 0 juga dapat dikonfigurasikan sebagai bus alamat data

  bidirectional

  bagian rendah selama proses pengaksesan memori data dan program eksternal. Port ini berada di alamat 80H pada SFR.

  1 merupakan port I/O dwiarah yang dilengkapi dengan pull-up

  Port

  internal. Jika ‘1’ dituliskan ke kaki-kaki port 1, masing-masing kaki akan di pull high dengan pull up internal sehingga dapat digunakan sebagai masukan. Port 1 berada di alamat 90H juga menerima alamat bagian rendah (low bit) selama pemrograman dan verifikasi flash.

  2 berada di alamat A0H dan memiliki karakteristik yang

   Port

  mirip dengan port 1. Port 2 akan memberikan byte alamat bagian tinggi selama pengambilan instruksi dari memori program eksternal dan selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 16-bit (misalnya: MOVX @DPTR). Port ini juga menerima alamat begian tinggi selama pemrograman dan verifikasi flash.

  Port 3 terletak di alamat B0H. Selain berfungsi untuk menerima

  sinyal-sinyal kontrol untuk pemrograman dan verifikasi flash, dapat juga digunakan untuk fungsi-fungsi yang lain seperti terlihat pada tabel berikut:

  Tabel 2. 6. Fungsi Alternatif Port 3 Pin Port Fungsi Alternatif

  P3.0 RXD (masukan serial)

  port

  P3.1 TXD (keluaran serial)

  port

  P3.2

  INT (interupsi 0 eksternal)

  P3.3

  INT (interupsi 1 eksternal)

  1 P3.4 T0 (input eksternal timer 0) P3.5 T1 (input eksternal timer 1) P3.6

  WR (memori data eksternal jalur tulis)

  P3.7

  RD (memori data eksternal jalur baca)

h. Timer Register

  Pasangan register (TH0, TL0) dilokasi 8Ch dan 8Ah, (TH1, TL1) dilokasi 8Dh dan 8Bh serta (TH2, TL2) dilokasi CDh dan CCh merupakan register pencacah 16-bit untuk masing-masing Timer0, Timer1, Timer2.

i. Serial Data Buffer

  Serial Data Buffer (lokasi 99h) terdiri dari 2 register yang terpisah, yaitu register penyangga pengirim (transmit buffer) dan penyangga penerima (receive buffer).

  2. 1. 5. Timer dan Counter

  Mikrokontroler AT89S51 mempunyai tiga buah register timer/counter 16 bit , Timer 0,Timer 1 serta Timer 2. Pada saat sebagai Timer, register naik satu (increment) setiap satu cycle. Jika digunakan osilator 12 Mhz, maka satu cycle sama dengan 1/12 frekuensi osilator = 1µs.

  Pada saat sebagai counter, register naik satu (increment) pada saat transisi 1 ke 0 dari input eksternal , T0 atau T1.

  Mikrokontroller dapat bekerja sebagai timer, jika sebuah pencacah bekerja dengan frekuensi tetap, karena pencacah tersebut bekerja mirip dengan ‘jam’ atau ‘pewaktu’ yang memiliki detak dari rangkaian osilator dan kristal yang terpasang. Mikrokontrolller juga dapat bekerja sebagai atau pencacah, jika sebuah pencacah bekerja dengan frekuensi yang

  counter

  bervariasi, karena kondisi pencacah tersebut menyatakan banyaknya pulsa detak yang sudah diterima.

  2. 1. 5. 1. Mode Timer / Counter Mode 0 a.

  Pada mode ini timer bekerja sebagai timer 13 bit yang terdiri dari counter 8-bit dengan pembagi 32 (pembagi 5 bit). Setelah perhitungan selesai, mikrokontroler akan mengeset Timer Interrupt Flag (TF1). Dengan membuat GATE = 1, timer dapat dikontrol oleh input dari luar (INT1), untuk fasilitas pengukuran lebar pulsa. Register 13 bit yang digunakan terdiri dari 8 bit dari TH1 dan 5 bit bawah dari TL1 ( bit 6, 7, 8 tidak digunakan ). Mengeset TR1 tidak akan menghapus isi register. Operasi pada mode 0 untuk Timer 0 dan Timer 1 adalah sama.

b. Mode 1

  Mode 1 sama dengan mode 0, hanya saja register TLx dipakai sepenuhnya sebagai pencacah biner 8 bit, sehingga kapasitas pencacah biner yang terbentuk adalah 16 bit.

   Mode 2 c.

  Mode 2 menyusun register timer sebagai 8 bit counter (TL1) dengan kemampuan pengisian otomatis. Overflow dari TL1 tidak hanya men-set TF1 tetapi juga mengisi TL1 dengan isi TH1 yang diisi sebelumnya oleh software . Pengisian ulang ini tidak mengubah nilai TH1.

   Mode 3 d.

  Dalam operasi mode 3 timer 1 akan berhenti, hitungan yang sedang berjalan dipegang. Efeknya sama seperti mengatur TR1 = 0. Timer 0 dalam mode 3 membuat TL0 dan TH0 sebagai dua counter terpisah. TL0 menggunakan kontrol bit timer 0 yaitu C/T, GATE, TR0, INT0 dan TF0.. TH0 berfungsi hanya sebagai timer dan mengambil alih penggunaan TR1 dan TF1 dari timer 1 dan sekarang TH0 mengontrol interupsi timer 1. Mode 3 diperlukan untuk aplikasi yang membutuhkan ekstra timer/counter 8 bit. Dengan timer 0 dalam mode 3, mikrokontroler AT89S51 seperti memiliki 3

  timer/counter . Saat timer 0 dalam mode 3, timer 1 dapat dihidupkan atau

  dimatikan, atau dapat digunakan oleh port serial sebagai pembangkit baud rate dalam aplikasi komunikasi serial.

  2. 1. 5. 2. Register Pengatur Timer Register TCON a.

  Pengontrol kerja timer/counter ada pada register timer control (TCON). Adapun definisi dari bit-bit pada timer control adalah sebagai berikut:

  Tabel 2. 7. Register TCON TF1 (Timer 1 Overflow)

  Bit ini akan otomatis diset menjadi 1 jika timer 1 telah terjadi overflow , dan akan dinolkan pada saat menjalankan rutin interupsi.

   TR1 (Timer 1 Run control bit)

  Bit ini digunakan untuk megaktifkan atau menonaktifkan kerja dari .

  timer/counter

   TF0 (Timer 0 overflow)

  Bit ini akan otomatis diset menjadi 1 jika timer 0 telah terjadi overflow , dan akan dinolkan pada saat menjalankan rutin interupsi.

  IE1 (Interrupt 1 Edge flag)

  Di set oleh hardware ketika interupsi eksternal mendeteksi adanya edge . Di clear ketika proses interupsi.

  IT1 (Interrupt 1 Type control bit)

  Di set /clear oleh software untuk menentukan pen-triger-an interrupsi eksternal pada transisi turun / low level.

  IE0 (Interrupt 0 Edge flag)

  Di set oleh hardware ketika interupsi eksternal mendeteksi adanya

  edge . Di clear ketika ada interupsi.

  IR0 (Interrupt 0 Type control bit)

  Di set/clear oleh perangkat lunak untuk menentukan pen-triger-an interrupsi eksternal pada transisi turun / low level.

b. Register TMOD

  Pengontrol pemilihan mode operasi timer/counter ada pada register

  timer mode (TMOD) . Definisi bit-bitnya adalah sebagai berikut: Tabel 2. 8. Register TMOD

  Tabel 2. 9. Fungsi-fungsi Register TMOD Simbol Fungsi Gate control set . Timer/counter ‘x’ akan aktif jika pin “INT” high dan kondisi pin “TRx” sedang set.

  GATE Gate control clear. Timer”x” akan aktif jika “TRx” set Selector timer/counter. Clear untuk mode timer (

  C / T input dari internal clock ) dan set untuk mode

  

counter (input dari pin “Tx” )

  M1 Bit untuk memilih mode timer/counter M0 Bit untuk memilih mode timer/counter

  Tabel 2. 10. Kombinasi M0 dan M1 M1 M0 Mode Operasi

  0 0 0 Timer 13 bit 0 1 1 Timer/counter 16 bit pengisian otomatis (auto

  Timer/counter

  1 0 2

  reload ) 8 bit

  (Timer 0) TL0 adalah T/C 8 bit yang dikontrol oleh 1 1 3 kontrol bit standar timer 0. TH0 adalah timer 8 bit dan dikontrol oleh kontrol bit timer 1

  2. 1. 6. Mode Pengalamatan dan Instruksi Mikrokontroler

  Untuk mengakes data di dalam memori mikrokontroler dapat dilakukan dengan beberapa mode, yaitu:

  1. Direct Addressing Mode (Mode Pengalamatan Langsung) Pada direct addressing instruksi yang dikeluarkan secara spesifik akan menyebutkan alamat dari operan yang diproses. Hanya internal Data

  RAM dan SFR yang dapat diproses dengan menggunakan direct addressing ini. Contoh: MOV A,55h.

  2. Indirect Addressing Mode (Mode Pengalamatan Tak langsung) Pada indirect addressing instruksi yang dikeluarkan akan menyebutkan sebuah register yang berisi alamat dari operan yang akan diproses. Baik internal maupun eksternal RAM dapat diakses menggunakan indirect addressing ini. Register alamat untuk 8 bit yang dapat dipakai adalah R0 dan R1 dari bank register, atau Stack Pointer. Pada pengalamatan 16 bit dapat menggunakan register DPTR (Data Pointer). Contoh: MOV A, @R0 3. Register Addressing Mode (Mode Pengalamatan Register)

  Bank register berisi register R0 sampai R7 yang dapat diakses dengan instruksi-instruksi tertentu dimana hanya akan melibatkan 3 bit register spesifik yang berisi opcode dari instruksi. Instruksi yang mengakses register dengan cara ini akan lebih efisien, karena mode ini akan menghilangkan bagian byte alamat. Saat instruksi ini dieksekusi, satu dari delapan register dari bank register akan diakses. Contoh : MOV A,R2.

4. Immediate Addressing Mode (Mode Pengalamatan Segera)

  Proses pengalamatan ini terjadi pada sebuah instruksi ketika nilai operan merupakan data yang akan diproses. Biasanya operan tersebut selalu diawali dengan tanda ‘#’. Contoh : MOV A,# 50H

  2. 2. Transistor sebagai saklar

  Transistor dapat digunakan sebagai saklar, jika transistor bekerja pada daerah jenuh (saturation) dan daerah tersumbat (cut off). Transistor sendiri mempunyai tiga daerah kerja yaitu, daerah jenuh (saturation), daerah tersumbat (cut off) dan daerah aktif.

  a.

  Daerah jenuh (saturation) Daerah jenuh adalah daerah dimana tegangan antara emiter dan kolektor (V ) sama dengan nol volt.

  CE

  b. Daerah tersumbat (cut off) Pada saat arus basis sama dengan nol maka transistor memasuki daerah tersumbat. Karena arus basis membias kolektor maka arus kolektor pun menjadi nol dan V sama dengan Vcc.

  CE c.

  Daerah aktif Antara daerah jenuh dan daerah tersumbat adalah daerah aktif.

  

Gambar 2. 3. Rangkaian transistor sebagai saklar

  Jika sebuah transistor berada dalam keadaan tersumbat, transistor tersebut seperti sebuah saklar terbuka. Jika transistor berada dalam keadaan jenuh maka transistor seperti sebuah saklar tertutup dari kolektor ke emitter.

  2. 3. Relay

  Relay merupakan piranti elektro mekanik yang bekerja secara . Relay berfungsi untuk memutuskan dan mengalirkan

  electromagnet mekanik

  arus listrik yang dikontrol dengan memberikan tegangan dan arus pada koilnya. Ada 2 jenis relay berdasarkan tegangan untuk menggerakan koilnya, yaitu relay AC dan relay DC. Penggunaan relay ini harus dilengkapi dengan pembatas tegangan kejut relay berupa dioda yang dihubungkan secara langsung pada kaki lilitan relay.

  Vcc

Ic

RELAY

  2

  1

  4 NO Ib D1

  3 RB

  5 NC Common

  3

  2 Q Port

  1 Rangakian Relay Gambar 2. 4.

  Besar arus yang dibutuhkan relay agar dapat bekerja secara optimal adalah :

  Vcc

  Ic = …………………………….(2.1)

  Rrelay Ic

  …………………………….(2. 2) Ib(sat) = β

  Vcc Vf −

  Rb = …... .……………………....(2. 3)

  Ib 2. 4. Dipswitch (Saklar 8 bit)

  Dipswitch (saklar 8 bit) merupakan rangkaian saklar on/off yang sudah dirangkai dalam bentuk seperti IC. Dipswitch (saklar 8 bit) mempunyai 8 saklar on/off, dimana tiap-tiap saklar mempunyai nilai tempat (bobot) tersendiri, seperti yang terlihat pada Tabel 2.11.

  Tabel 2. 11. Bobot nilai saklar

  Saklar 1 2 3 4 5 6 7 8 Bobot desimal 128 64 32 16 8 4 2 1 Rangkaian dipswitch [4], ditunjukan pada gambar 2. 5.

  Vin R Vin R Vin Vin R R Vin Vcc R Vin SW DIP-8 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 Vin I Vin R R R

Gambar 2. 5. Rangkaian Dipswitch

  Dari rangkaian dipswitch pada gambar 2. 6, besar nilai resistor adalah : R =

  I Vin Vcc −

  …………………………(2. 4)

  SW D I P-8 1 2 3 4 5 6 7 8 1 6 1 5 1 4 1 3 1 2 1 1 1 9 Gambar 2. 6.

  Bentuk dan simbol dipswitch (saklar 8 bit).

  2. 5. Buzer/Speaker

  Buzer/speaker merupakan sebuah alat elektronika yang berfungsi untuk mengubah sinyal analog menjadi suara.

  RB RE Vcc Ie Port

Ib

2

  1 3 Q BUZZER

  Rangkaian Buzer/Speaker Gambar 2. 7. Besar arus yang dibutuhkan agar transistor dapat bekerja secra optimal adalah :

  Icsat Ib = ……………………………..(2. 5)

  β Ie = Ib( β +1) …...………………………...(2. 6)

  Vcc Vf −

  RE = .......………………………...(2. 7)

  Ie

  Vcc − Vf RB = ......…………………………(2. 8)

  Ib

  2. 6. LED

  Led merupakan salah satu komponen elektronika yang bisa memancarkan cahaya bila dialiri arus listrik. Led sendiri mempunyai nilai tegangan ambang (Vd) sebesar 0.7 V.

Va Vb

ILedmax

Vd

Vcc

  R

Gambar 2. 8. Rangkaian Led

  Pada saat Va lebih positif dari Vb, maka led akan bias maju sehingga rangkaian led akan short circuit. Besarnya nilai resistor adalah:

  Vb