• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2019

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

Copied!
106
0
0

Teks penuh

(1)

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

(2)

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

(3)

LEMBAR PERSETUJUAN

TUGAS AKHIR

UNIVERSAL TIMER

BERBASIS MIKROKONTROLLER AT89S51

Disusun Oleh: ANTON WIDIANTO

NIM: 015114061

Telah Disetujui oleh:

Pembimbing

(4)

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

(5)

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

(6)

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.

(7)

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.

(8)

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,

(9)

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

(10)

MOTTO

“I Love Jesus”

“ Bekerja, Berusaha, dan Berdoa” “Kegagalan Adalah Awal Dari Kesuksesan”

(11)

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

(12)

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

(13)

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

(14)

b.Register B...7

c.Program Status Word...8

d.Stack Pointer...10

e.Data Pointer...10

f. Kontrol Register...10

g.I/O Port...11

h.Timer Register...12

i. Serial Data Buffer...13

2.1.5.Timer Dan Counter...13

2.1.5.1. Mode Timer dan Counter...14

2.1.5.2. Register Pengatur Timer...15

a. Register TCON...15

b. Register TMOD...16

2.1.6.Mode Pengalamatan dan Instruksi Mikrokontroler...18

2.2. Transistor Sebagai Saklar...19

2.3. Relay...20

2.4. Dipswitch 8 Bit...21

2.5. Buzzer/ Speaker...22

2.6. LED...23

BAB III PERANCANGAN PENELITIAN 3.1. Perancangan Perangkat Keras...25

3.1.1.Saklar Dipswitch...26

3.1.2.LED Output...27

3.1.3.One-Chip Oscilator...27

3.1.4.Driver Relay...28

3.1.5.Buzzer...29

3.2. Perancangan Perangkat Lunak...31

3.2.1.Pemrograman Mikrokontroler AT89S51...33

3.2.2.Inisialisasi Timer...33

(15)

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

(16)

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

(17)

Gambar 4.8 Delay 8 Detik...39

Gambar 4.9 Delay 64 Detik...40

Gambar 4.10 Delay 64 Detik...40

Gambar 4.11 Delay 128 Detik...40

Gambar 4.12 Delay 128 Detik...41

Gambar 4.13 Input dan Output Port...43

(18)

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

(19)

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.

(20)

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 :

(21)

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.

(22)

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 portfull 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

(23)

Gambar 2. 1. Memori data dan memori program pada mikrokontroler AT89S51

(24)

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 EAdihubungkan pada VCC 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

(25)

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).

a. Akumulator

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

Tabel 2. 1. Akumulator

b. Register B

(26)

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.

(27)

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

0 0 0 00h - 07h

0 1 1 08h - 0Fh

1 0 2 10h - 17h

1 1 3 18h – 1Fh

OV (overflow flag) : bit ini akan diset oleh sejumlah intruksi aritmetika, tetapi biasanya instruksi yang sering membuat bit ini menjadi 1 adalah instruksi ADD dan SUBB.

(28)

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

(29)

g. Port masukan/keluaran (I/Oport)

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

bidirectional. Port 0 juga dapat dikonfigurasikan sebagai bus alamat data

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

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

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.

Port 2 berada di alamat A0H dan memiliki karakteristik yang

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.

(30)

Tabel 2. 6. Fungsi Alternatif Port 3

Pin Port

Fungsi Alternatif

P3.0 RXD (masukan port serial)

P3.1 TXD (keluaran port serial)

P3.2 INT0 (interupsi 0 eksternal)

P3.3 INT1 (interupsi 1 eksternal)

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

(31)

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

counter atau pencacah, jika sebuah pencacah bekerja dengan frekuensi yang

(32)

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

a. Mode 0

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.

c. Mode 2

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.

d. Mode 3

(33)

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 a. Register TCON

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

(34)

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:

(35)

Tabel 2. 9. Fungsi-fungsi Register TMOD

Simbol Fungsi

GATE

Gate control set. Timer/counter ‘x’ akan aktif jika

pin “INT” high dan kondisi pin “TRx” sedang set. Gate control clear. Timer”x” akan aktif jika “TRx” set

C / T

Selector timer/counter. Clear untuk mode timer ( 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

1 0 2

Timer/counter pengisian otomatis (auto

reload) 8 bit

1 1 3

(Timer 0)

(36)

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)

(37)

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 (VCE) sama dengan nol volt.

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 VCE sama dengan Vcc.

c. Daerah aktif

(38)

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

electromagnet mekanik. Relay berfungsi untuk memutuskan dan mengalirkan

(39)

Port D1 NO Common RB Ib Ic Vcc RELAY NC Q 3 2 1 3 5 4 1 2

Gambar 2. 4. Rangakian Relay

Besar arus yang dibutuhkan relay agar dapat bekerja secara optimal adalah : Ic = Rrelay Vcc ……….(2.1) Ib(sat) =

β

Ic ……….(2. 2) Rb = Ib Vf Vcc−

…... .………....(2. 3)

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

(40)

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 0 9

Gambar 2. 6. Bentuk dan simbol dipswitch (saklar 8 bit).

2. 5. Buzer/Speaker

(41)

Vcc Ie Port Ib RB RE 1 2 Q 3 BUZZER

Gambar 2. 7. Rangkaian Buzer/Speaker

Besar arus yang dibutuhkan agar transistor dapat bekerja secra optimal adalah :

Ib =

β

Icsat

………..(2. 5)

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

RE = Ie Vf Vcc− ...………...(2. 7) RB = Ib Vf Vcc− ...………(2. 8)

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.

(42)

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

R =

max ILed

Vb

…....………(2. 9)

(43)

BAB III

RANCANGAN PENELITIAN

3. 1. Perancangan Perangkat keras

Perangkat keras terdiri dari sebuah mikrokontroller AT89S51 yang dihubungkan pada rangkaian dipswitch sebagai masukan dan rangkaian relay, buzzer, serta led sebagai keluaran. Rangkaian dipswitch dihubungkan ke mikrokontroller AT89S51 untuk mengirimkan data sebagai waktu yang akan

disetting.

2 8

AT89S51

Buzer

Driver

Relay

LEDHijauLED Merah

Dipswitch

Vcc

(44)

3. 1. 1. Saklar Dipswitch

Pada dasarnya saklar dipswitch dihubungkan ke tegangan Vcc dengan batasan arus oleh resistor. Dari data sheet AT89S51, saat logika ‘1‘, Imax = 650 uA dengan Vin = 2V. Maka nilai resistor ditentukan dengan persamaan (2. 4 ) :

Rmin =

uA 650 V 2 V 5 − = uA 650 V 3

= 4.615 ohm

Dalam perancangan nilai resistor yang digunakan adalah 4K7 ohm.

AT89S51 4 K 7 oh m 4 K 7 oh m 4 K 7 oh m 4 K 7 oh m SW DIP-8 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 4 K 7 oh m 4 K 7 oh m 4 K 7 oh m VCC 4 K 7 oh m Port3.0 Port3.1 Port3.2 Port3.3 Port3.4 Port3.5 Port3.6 Port3.7

P 3 7

(45)

3. 1. 2. LED Output

Keluaran dari sistem adalah dua buah LED yang berbeda warna. Warna hijau untuk memberikan tanda bahwa waktu mulai berjalan saat tombol ditekan, dan warna merah untuk memberikan tanda bahwa waktu sudah habis. Dari data sheet Led, arus maksimum yang mengalir pada led (Imax) = 20mA, dan tegangan ambang (Vd) = 0.7V, maka nilai resistor ditentukan dengan persamaan (2. 9) :

Rmin = mA 20 V 7 . 0 V 5 −

= 215ohm

Pada perancangan nilai resistor yang akan dipakai adalah 330 ohm.

AT89S51 330 ohm LED HIJAU VCC 330 ohm Port1.2 Port1.3 LED MERAH

Gambar 3. 3. Konfigurasi LED

3. 1. 3. On-Chip Oscilator

(46)

– 33pF) dan sebuah resonator keramik/kristal yang dihubungkan dengan kaki XTAL1 dan XTAL2 pada pin mikrokontroler, seperti pada gambar 3. 4.

AT89S51 CRYSTAL 12MHZ 30pF 30pF XTAL1 XTAL2

Gambar 3. 4. Kofigurasi On-Chip Oscilator 3. 1. 3. Driver Relay

Pada rangkaian ini menggunakan relay Dc jenis SPDT (Single Pole

Double Throw) dengan tegangan 6 Vdc, arus yang dibutuhkan sebesar

20mA-30mA. Dalam mengaktifkan relay dibutuhkan arus yang cukup agar kontak yang terjadi pada relay benar-benar stabil. Maka penggunaan relay ini harus dilengkapi dengan pembatas tegangan kejut relay yang berupa dioda jenis D1N4001 yang dihubungkan secara langsung pada kaki lilitan relay. Transistor BD139 digunakan sebagai saklar, pada saat port 1.0 = ‘0’, transistor tidak aktif, dan sebaliknya pada saat port 1.0 = ‘1’, maka transistor akan aktif. Dari pengukuran, Rrelay = 90 ohm dan dari data sheet BD139, β = 160.

Maka besar Ic ditentukan dengan persamaan (2. 1):

Ic =

90 5V

= 55,5mA

(47)

Ib(sat) = 160 5 , 55 mA = 0.35mA

Besar nilai resistor ditentukan dengan persamaan (2. 3):

Rb =

mA V V 35 . 0 7 . 0 5 − = mA V 35 . 0 3 . 4

= 12.285 ohm

Pada perancangan nilai resistor yang akan digunakan adalah 10K ohm.

Out

Out

NC

RELAY SPDT

3 5 4 1 2 VCC 1N4001 BD139 3 2 1 NO Common 10K ohm Port1.0 AT89S51

Gambar 3. 5. Konfigurasi Driver Relay

3. 1. 4. Buzzer

(48)

Ib =

300 mA 100

= 0.3mA

Besar arus pada emiter ditentukan dengan persamaan (2. 6): Ie = Ib + Ic

= Ib (β+1) = 0.3mA(300+1) = 0.1A

Nilai resistor pada emiter ditentukan dengan persamaan (2. 7):

REmin = A 1 . 0 V 7 . 0 V 5 −

= 43ohm

Nilai resistor pada basis ditentukan dengan persamaan (2. 8):

RB = mA 3 . 0 V 7 . 0 V 5 − = 1.433ohm

Pada perancangan nilai RE yang akan dipakai adalah 47 ohm dan RB adalah 10Kohm. AT89S51 10K ohm BUZZER A733 3 2 1 VCC 47 ohm Port1.1

(49)

3. 2. Perancangan Perangkat Lunak

Perancangan perangkat lunak meliputi pemrograman langsung pada mikrokontroller. START Baca tombol Tombol start ditekan ? NO YES

Inisialisasi Timer 0 mode 1 Tombol stop ditekan ? Timer tercapai? NO NO YES YES

C

B

D

A

(50)

Baca saklar dipswitch

Led hijau on Timer 0 on

Led hijau off Led merah on

Buzzer on Relay on

Timer 0 off Led hijau off Led merah off

Relay off Buzzer off

Selesai

Matikan timer 0

A

A

B

D

C

(51)

3. 2. 1. Pemograman Mikrokontroller

Program dimulai dengan menginisialisasikan timer yang akan digunakan, yaitu timer 0 mode 1. Mikrokontroller akan membaca tombol start dan tombol stop. Bila tombol start ditekan, maka mikrokontroller akan membaca saklar dipswitch yang kemudian akan mengaktifkan led hijau dan mengaktifkan timer 0, selanjutnya program akan kembali ke instruksi baca tombol. Bila tombol stop ditekan, maka mikrokontroller akan mematikan

timer 0 dan mematikan semua keluaran dari mikrokontroller. Setelah timer

telah tercapai, maka mikrokontroller akan mematikan timer 0 dan akan mengaktifkan led merah, buzzer serta driver relay. Demikian proses program akan diulangi terus menerus.

3. 2. 2. Inisialisasi Timer

Untuk mengatur kerja timer digunakan 2 register tambahan, yaitu TMOD dan TCON. Timer yang akan dipakai menggunakan timer 0 mode 1, yang inisialisasinya adalah:

Tabel 3. 1. Register TMOD

Gate C/T M1 M0 Gate C/T M1 M0 0 0 0 0 0 0 0 1 Timer 1 Timer 0

Tabel 3. 2. Register TCON

(52)

Timer 1 Timer 0

Pada register TMOD, dengan mengatur M1= 0 dan M0= 1, pada timer

0, maka timer 0 bekerja sebagai pencacah 16 bit ( mode 1) dengan isi ulang otomatis. Bit C/T = 0, maka sinyal detak diperoleh dari osilator kristal yang frekuensinya sudah dibagi 12. Bit Gate = 0, maka saluran sinyal detak hanya diatur oleh bit TR0. Pada register TCON, TR0 = 0, akan mengaktifkan timer 0 yang sinyal detaknya akan disalurkan ke pencacah biner.

Besar nilai waktu tunda yang dibentuk tergantung pada frekuensi kerja mikrokontroler, jika digunakan osilator 12 MHz, maka setelah dibagi 12 akan menghasilkan frekuensi detak yang diumpankan ke mikrokontroler sebesar 1 MHz. Setiap 1 cycle, lebar pulsa yang dibentuk adalah :

T = f 1 = MHz 1 1 = 1us

Tundaan maksimum pada mode 1 kerja timer [2], adalah 65.536 us. Dalam hal ini waktu tunda yang akan dipakai adalah sebesar 50.000 us. Agar limpahan terjadi setiap 50.000 us, maka pada timer 0 untuk TL0 dan TH0 masing-masing diisi dengan konstanta -50.000.

Pencacah biner yang dibentuk dengan register TL0 akan mencacah naik seiring dengan sinyal detak, mulai dari -50.000 sampai 0000h. Untuk mendapatkan delay 1 detik, dengan waktu tunda 50.000 us, maka membutuhkan pengulangan sebesar:

Nilai pengulangan =

50000 uS 000 . 000 . 1

(53)

BAB IV

DATA DAN ANALISA DATA

Hasil dari alat yang telah dibuat adalah sebuah modul mikrokontroler yang telah diprogram untuk memenuhi kebutuhan system. Universal Timer berbasis mikrokontroler AT89S51 terdiri dari program untuk menghasilkan delay n detik dan program utama untuk mengaktifkan perangkat keras.

4. 1. Program Untuk Menghasilkan Delay N Detik 4. 1. 1. Delay 1 Detik

Program untuk menghasilkan delay 1 detik dituliskan sebagai berikut:

org 0h Mulai:

acall Delay_1mS sjmp mulai

Delay_1mS:

mov R0,#20

dl1ms: acall Delay_5mS ;2 siklus djnz R0,dl1ms ;2 siklus

ret Delay_5mS:

push TMOD ; simpan mode timer (2 siklus) mov TMOD,#21H ; timer0 mode 16 bit (2 siklus) mov th0,#high(-49980) ;2 siklus

(54)

mov th0,#high(-50000) ;2 siklus mov tl0,#low(-50000) ;2 siklus

setb TR0 tunggu_5mS:

jbc TF0,sudah_5mS ajmp tunggu_5mS sudah_5mS:

clr TR0 ;1 siklus pop TMOD ;2 siklus ret ;2 siklus

mov R7,#10 djnz R7,$

ret

Hasil simulasi dengan memakai tundaan 50000 uS, ditunjukan pada Gambar 4. 1.

Gambar 4.1. Delay 1 Detik

(55)

Gambar 4.2. Delay 1 Detik 4. 1. 2. Delay 2 Detik

Delay 2 detik di dapat dengan mengubah nilai pengulangan pada R0 sebesar 40. Hasil simulasi dengan memakai tundaan 50000 uS, ditunjukan pada Gambar 4.3.

Gambar 4.3. Delay 2 Detik

Hasil simulasi dengan memakai tundaan 49980 uS, ditunjukan pada Gambar 4.4.

Gambar 4.4. Delay 2 Detik

4. 1. 3. Delay 4 Detik

(56)

Gambar 4.5. Delay 4 Detik

Hasil simulasi dengan memakai tundaan 49980 uS, ditunjukan pada Gambar 4.6.

Gambar 4.6. Delay 4 Detik

4. 1. 4. Delay 8 Detik

Delay 8 detik di dapat dengan mengubah nilai pengulangan pada R0 sebesar 160. Hasil simulasi dengan memakai tundaan 50000 uS, ditunjukan pada Gambar 4.7.

Gambar 4.7. Delay 8 Detik

(57)

Gambar 4. 8. Delay 8 Detik

4. 1. 5. Delay 64 Detik

Dengan mengubah program dimana R0 diisi dengan angka 160, maka setiap 1 siklusnya didapat 8 detik. Untuk mendapatkan 64 detik, maka dengan menggandakan siklus dari R0 sebanyak 8 kali (8 x 8 detik = 64 detik), instruksinya:

Delay_1mS:

mov R0,#160 dl1ms: acall Delay_5mS

acall Delay_5mS

acall Delay_5mS

acall Delay_5mS

acall Delay_5mS

acall Delay_5mS

acall Delay_5mS

acall Delay_5mS

djnz R0,dl1ms

ret

(58)

Gambar 4.9 Delay 64 Detik

Hasil simulasi dengan memakai tundaan 49980 uS, ditunjukan pada Gambar 4. 10.

Gambar 4.10. Delay 64 Detik

4. 1. 6. Delay 128 Detik

Dengan mengubah program dimana R0 diisi dengan angka 160, maka setiap 1 siklusnya didapat 8 detik. Untuk mendapatkan 64 detik, maka dengan menggandakan siklus dari R0 sebanyak 16 kali (16 x 8 detik = 64 detik). Hasil simulasi dengan memakai tundaan 50000 uS, ditunjukan pada Gambar 4. 11.

(59)

Hasil simulasi dengan memakai tundaan 49980 uS, ditunjukan pada Gambar 4.12.

Gambar 4.12. Delay 128 Detik

Dalam menghasilkan delay 1, bila tundaan yang dipakai 50000 uS maka limpahan akan terjadi setiap 50000 uS. Setiap terjadi limpahan timer 0 akan berhenti bekerja sekitar 20 siklus, bila menggunakan kristal 12MHZ, maka 1 siklus = 1 uS, jadi tundaan totalnya adalah 50020 uS.

(60)

1 detik => 20 pengulangan x 50000 uS = 1.000.000 uS 2 detik => 2 x 20 pengulangan x 50000 uS = 2.000.000 uS 4 detik => 4 x 20 pengulangan x 50000 uS = 4.000.000 uS 8 detik => 8 x 20 pengulangan x 50000 uS = 8.000.000 uS 16 detik => 16 x 20 pengulangan x 50000 uS = 16.000.000 uS 32 detik => 32 x 20 pengulangan x 50000 uS = 32.000.000 uS 64 detik => 64 x 20 pengulangan x 50000 uS = 64.000.000 uS 128 detik => 128 x 20 pengulangan x 50000 uS = 128.000.000 uS Dengan memakai tundaan 49980 uS, maka .hasil simulasi dan hasil perhitungan selisihnya adalah 5 uS, hasil ini lebih teliti bila dibandingkan dengan memakai tundaan 50000 uS.

4. 2. Program Pengaktifan Perangkat Keras

Hasil dari program untuk menghasilkan delay 1 detik akan digunakan untuk mengaktifkan keluaran dari port1 yang terdiri dari relay, buzzer, dan led sesuai dari data dipswitch. Program akan mengerjakan instruksi baca tombol start, dan akan melompat ke loop1 bila tombol start ditekan. Setelah tombol start ditekan, mikrokontroler akan menyalakan led hijau pada port1.2, dan akan membaca data dari dipswitch pada port 3, yang kemudian mikrokontroler akan mengaktifkan timer 0, instruksinya:

……….

(61)

loop1: ; bila tombol start ditekan

jnb tombol_start,$ ; tunggu sampai tombol start dilepas acall delay

clr led_hijau ; nyalakan led hijau mov detik,p3 ; baca dipswitch setb tr0 ; jalankan timer 0 acall delay

sjmp loop ; loop

………… ret

Hasil dari simulasi pada saat timer berjalan dapat dilihat pada gambar 4.13.

Gambar 4.13. Input dan Output Port

Pada gambar 4.13, program disimulasikan untuk masukan timer 7 detik, untuk itu port 3 input diset sebagai berikut:

P3 : 00000111

(62)

P1.0 = 0 ; relay off P1.1 = 1 ; buzzer off P1.2 = 0 ; LED hijau on P1.3 = 1 ; LED merah off

Setelah timer habis, maka mikrokontroler akan mengaktifkan relay yang di pasang di port1.0 dengan memberi logika ‘1’, pemberian logika ‘1’ karena pada perancangan, transistor yang digunakan adalah jenis transistor NPN yaitu BD139. Dari hasil perhitungan pada bab 3.1.3, nilai Ib > Ib(sat) , sehingga arus Ib akan membuat transistor dalam keadaan saturasi(VCE =0) dan arus akan mengalir menuju relay yang akan menyebabkan switch akan tertutup. Selanjutnya mikrokontroler akan mengaktifkan buzzer yang di pasang di port1.1 dengan memberi logika ‘0’, dengan adanya arus low pada kaki basis dari pemberian logika ‘0’ ini, maka transistor akan ON (kondisi saturasi), sehingga buzer akan mendapatkan tegangan dari Vcc dengan batasan arus oleh resistor 47 ohm. Mikrokontroler akan menyalakan led merah dengan memberi logika ‘0’ pada port1.3 dan menonaktifkan led hijau dengan memberi logika ‘1’ pada port1.2. Relay, buzer, led merah akan ON dan led hijau OFF secara bersamaan. Instruksinya:

………

(63)

setb relay ; aktifkan relay setb led_hijau ; matikan led hijau clr tr0

……… ret

Hasil dari simulasi pada saat timer sudah habis dapat dilihat pada Gambar 4. 14.

(64)

BAB V

KESIMPULAN DAN SARAN

Dari penelitian yang telah dikerjakan, penulis dapat mengambil beberapa kesimpulan dan saran, yaitu:

5. 1. Kesimpulan

1. Untuk menghasilkan delay 1 detik, bila menggunakan tundaan sebesar 50.000 uS, maka membutuhkan pengulangan kerja timer sebesar 20, (20 x 50.000 uS = 1 detik).

2. Hal yang membuat pewaktuan menjadi tidak akurat adalah karena setiap kali terjadi limpahan pada timer 0, timer 0 harus dimatikan dahulu untuk pengisian ulang pada TH0 dan TL0, sehingga timer 0 akan berhenti bekerja ± 20 siklus.

3. Pada kofigurasi driver relay, agar relay dapat benar-benar bekerja secara optimal, maka perbedaan antara Ib dengan Ib(sat) harus lebih besar dari 1 {Ib – Ib(sat) > 0.1}.

5. 2. Saran

1. Untuk pengembangannya, pewaktuan yang digunakan dalam menit atau jam yang bisa ditampilkan dalam segment-segment agar lebih baik. 2. Alat ini hanya dapat mengaktifkan relay, buzzer dan led secara bersamaan,

(65)

DAFTAR PUSTAKA

1. Malik, Moh. Ibnu. 2003. Belajar Mikrokontroler ATMEL AT89S8252. Yogyakarta. Gava Media.

2. Putra, Agfianto Eko. 2004. Belajar Mikrokontroler AT89C51/52/55 (Teori

dan Aplikasi). Penerbit Gava Media. Yogyakarta,

3. Prasetia, Retna. Widodo, Catur Edi. 2004. Interfacing Port Paralel dan

port Serial Komputer dengan Visual Basic 6.0. Yogyakarta. ANDI.

(66)
(67)

4K 7 ohm 10K ohm 4K 7 ohm RELAY SPDT 3 5 4 1 2 4K 7 ohm STOP Common START

CRYSTAL 12 MHZ BUZZER 1N4001 47 ohm 4K 7 ohm VCC SW DIP-8 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 10K ohm NO 330 ohm 4K 7 ohm LED HIJAU A733 3 2 1 30 pF BD139 3 2 1 4K 7 ohm ANTON WIDIANTO

UNIVERSAL TIMER BERBASIS MIKROKONTROLLER AT89S51

A

1 1

Wednesday , September 26, 2007 Title

Size Document Number Rev

Date: Sheet of

VCC NC 4K 7 ohm VCC 30 pF VCC 10 uF 10K ohm 4K 7 ohm AT89S51 9 18 19 29 30 31 40 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 RST XTAL2 XTAL1 PSEN ALE/PROG EA/VPP VCC P1.0/T2 P1.1/T2-EX P1.2 P1.3 P1.4/SS P1.5/MOSI P1.6/MISO P1.7/SCK P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7

LED MERAH 330 ohm

(68)

Listening Program Universal Timer Berbasis Mikrokontroler AT89S51

$mod51

detik equ 08h ; memori tempat menyimpan timer detik led_hijau bit p1.2

led_merah bit p1.3 buzer bit p1.1 relay bit p1.0 tombol_start bit p1.4 tombol_stop bit p1.5

org 0h

sjmp start ; melompat ke start

org 0bh

ljmp timer0_isr ; melompat ke timer0_isr start: mov sp,#30h ; stack pointer mulai alamat 30h

mov tmod,#1h ; timer 0 mode 1

mov th0,#high(-50000) ; pengisian th0 dan tl0 shg terjadi interupsi sebanyak 20 kali per detik

mov tl0,#low(-50000)

mov r2,#0

setb ea ; aktifkan fasilitas interupsi setb et0 ; aktifkan interupsi timer 0

setb led_merah

setb led_hijau

clr relay

setb buzer

loop: jnb tombol_start,loop1 ; baca tombol start jnb tombol_stop,berhenti ; baca tombol stop

(69)

loop1: ; bila tombol start ditekan jnb tombol_start,$ ; tunggu sampai tombol start dilepas

acall delay

clr led_hijau ; nyalakan led hijau

mov detik,p3 ; baca dipswitch

setb tr0 ; jalankan timer 0

acall delay

sjmp loop ; loop

berhenti: ; bila tombol stop ditekan

jnb tombol_stop,berhenti ; tunggu sampai tombol stop dilepas

acall delay

clr tr0 ; matikan timer 0

setb buzer ; matikan buzer

setb led_merah ; matikan led merah setb led_hijau ; matikan led hijau

clr relay ; matikan relay

acall delay

sjmp loop ; loop

delay: mov r7,#0 ; isi r7 dngan 00h

djnz r7,$ ; kurangi nilai r7 sampai 0 ret

timer0_isr:

push acc ; simpan nilai akumulator ke stack mov th0,#high(-50000) ; isi kembali nilai th0 dan tl0

mov tl0,#low(-50000)

inc r2

(70)

mov a,detik ; baca detik apakah sudah 0

cjne a,#0,isr1

sjmp isr2

isr1: dec detik ; bila belum 0 kurangi detik

sjmp timret

isr2: clr buzer ; bila sudah 0

clr led_merah ; aktifkan buzer,relay dan led merah setb relay

setb led_hijau ; matikan led hijau

clr tr0

timret:

pop acc ; ambil kembali nilai akumulator reti

(71)
(72)
(73)
(74)
(75)
(76)
(77)
(78)
(79)
(80)
(81)
(82)
(83)
(84)
(85)
(86)
(87)
(88)
(89)
(90)
(91)
(92)
(93)
(94)
(95)
(96)
(97)
(98)
(99)
(100)
(101)
(102)
(103)
(104)
(105)
(106)

Gambar

Gambar 2. 1. Memori data dan memori program pada  mikrokontroler AT89S51
Tabel 2. 2. Register B
Tabel 2. 6. Fungsi Alternatif Port 3
Tabel 2. 9. Fungsi-fungsi Register TMOD
+7

Referensi

Dokumen terkait

Jangan khawatir jika anda tidak memiliki akses internet dirumah, anda bisa memulainya sengan menggunakan telepn genggam atau dari warnet dan jika

Dari strategi yang sudah di rincikan kita bisa dapat melihat dengan teliti bahwa MLM adalah sebuah peluang usaha juga namun kembali kepada diri

kegagalan parpol tersebut dalam menjalankan fungsi sebagai pengatur konflik, yang terjadi.. justru sebagai penyulut

Budaya ilmu ini sangat penting bagi guru-guru matematik supaya penambahbaikan pengajaran dan pembelajaran di dalam bilik darjah boleh dibuat,

Tdk menyulitkan orang lain, tdk mudah tersinggung, tdk mau berurusan dg orang lain, pergaulannya tdk terlalu lancar, suka dg kerutinan,

(SENARAI KURSUS YANG DITAWARKAN MENGIKUT FAKULTI DAN JABATAN) SEMESTER PERTAMA SESI 2017/2018.

yang diajukan dapat diterima, yaitu bahwa minat konsumen dan harga produk.. baik secara sendiri-sendiri maupun bersama-sama berpengaruh

Hasil penelitian menunjukkan bahwa cara penyimpanan garam yang digunakan ibu pada umumnya adalah disimpan dalam keadaan baik (tertutup) sebanyak 97.1% dan kurang