Top Banner
TUGAS AKHIR JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51 Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro Disusun oleh : YOHANES SINUNG NUGROHO NIM : 025114071 PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2007 i
117

JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Nov 11, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Disusun oleh :

YOHANES SINUNG NUGROHO NIM : 025114071

PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA

YOGYAKARTA 2007

i

Page 2: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

DIGITAL SAND CLOCK BASED ON MICROCONTROLLER AT89S51

FINAL PROJECT

Presented as Partial Fulfillment of the requirements To Obtain the Sarjana Teknik Degree

In Electrical Engineering

By :

YOHANES SINUNG NUGROHO Student ID Number : 025114071

ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINEERING DEPARTMENT

SCIENCE AND TECHNOLOGY FACULTY SANATA DHARMA UNIVERSITY

YOGYAKARTA 2007

ii

Page 3: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51
Page 4: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51
Page 5: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Pernyataan Keaslian Karya

Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis

ini tidak memuat karya atau bagian orang lain, kecuali yang telah disebutkan dalam

kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, Oktober 2007

Penulis

Yohanes Sinung Nugroho

Page 6: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

HALAMAN MOTTO DAN PERSEMBAHAN

^âÑxÜáxÅuttÇ~tÇ àâztá t~|Ü |Ç| M

Pada ”Tuhan Yesus Kristus” atas hidup, talenta, penyertaan,

mukjizat dan penebusan-Nya yang selama ini menyertai langkahku.

Untuk bapak “Andhi Suhardi” ibu “Mariyani” atas dukungan,

doa dan bimbingan yang tiada henti, pembelajaran atas hidup dan kasih yang selama

ini aku terima.

Untuk kakakku dan adikku “Mas Nanang, Mbak Lena, Adikku

Bintang” atas dorongan semangat dan nasehat serta terimakasih untuk segala

yang telah engkau berikan. Yang kita perlukan hanyalah kebersamaan kita, dengan

itu kita bisa melalui segalanya.

Ê]|~t lxáâá `xÇzxÇwt~|? à|wt~ twt çtÇz à|wt~ ÅâÇz~|Ç

w| wâÇ|t |Ç|Ê

vi

Page 7: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Nama : Yohanes Sinung Nugroho

NIM : 025114071

INTISARI

Jam pasir digital berbasis mikrokontroler merupakan jam pasir elektronik, yang cara kerja dan tampilannya seperti jam pasir manual. Jam pasir digital ini menggunakan 32 led sebagai penampil yang tersusun dalam 10 baris. Dan 2 seven segmnent sebagai penampil pengaturan waktu tunda.

Pengendali jam pasir ini menggunakan mikrokontroler sebagai perangkat yang bertugas untuk menentukan keputusan-keputusan selama proses pengendali berjalan. Proses pengendali dilakukan untuk menentukan tunda waktu dan penyalaan led. Dalam jam pasir digital ini menggunakan seven segment untuk menampilkan informasi, yakni besarnya tunda waktu. Mikrokontroler yang digunakan adalah AT89S51, yang dalam proses komunikasi dengan komponen-komponen yang lain menggunakan komunikasi secara paralel. Alat jam pasir digital yang telah dikerjakan ini dapat bekerja sesuai dengan proses pengendalian yang diharapkan. Penundaan pada alat jam pasir digital ini, dapat diatur dari rentang waktu 00 menit sampai 60 menit. Kata kunci : jam pasir, led, mikrokontroler, tunda waktu

vii

Page 8: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

ABSTRACT

Digital sand clock based on microcontroller is electronic sand glass, that is

the appearance and operational of like manual sand glass. this digital sand clock apply 32 led as display is structured in 10 line. And 2 seven segmnent as display delay timing.

This controller of sand clock uses microcontroller as peripheral with the task that is used to determine decisions during processing of controller are run. Controller processing is purpose to determine the time delay and active the led. In this digital sand clock uses seven segments for presenting information, which the levels of time delay. AT89S51 is a microcontroller that used, in process of communications with other components using parallel communications. The device of digital sand clock can work according to the expected operation process. Delay in this digital sand clock device, can be arrange from time stretch of 00 minute until 60 minutes. Keyword: sand clock, led, microcontroller, time delay

viii

Page 9: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

KATA PENGANTAR

Terima kasih Tuhan Yesus Kristus, sehingga perancangan dan penyusunan

tugas akhir JAM PASIR DIGITAL ini dapat terselesaikan dengan baik.

Tugas akhir ini bertujuan untuk memenuhi salah satu syarat untuk

memperoleh gelar sarjana Teknik, jurusan Teknik Elektro Universitas Sanata

Dharma

Dalam penyusunan tugas akhir ini, banyak sekali bimbingan, saran dan

masukan yang sangat bermanfaat bagi penulis yang telah diberikan oleh berbagi

pihak demi terselesainya penyusunan tugas akhir ini.

Untuk itu dengan segala kerendahan hati, penulis mengucapkan banyak

terima kasih kepada :

1. Romo Ir. Greg. Heliarko, S.J., S.S., B.S.T., M.A., M.Sc., selaku dekan

Fakultas Sains dan Teknologi.

2. Bapak A. Bayu Primawan, S.T., M.Eng., selaku ketua Jurusan Teknik

Elektro.

3. Ibu B. Wuri Harini, S.T., M.T., selaku dosen pembimbing I yang telah

meluangkan waktunya untuk memberikan bimbingan, masukan, dorongan

dan bantuan, sehingga penulis dapat menyelesaikan tugas akhir ini.

4. Bapak Ir. Tjendro selaku dosen pembimbing II atas bimbingan, ide-ide

dan bantuannya sehingga penulis dapat menyelesaikan tugas akhir ini.

ix

Page 10: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

5. Ayahku Andhi Suhardi dan Ibuku Mariyani yang telah memberikan kasih

dan sayangnya, doa, dorongan, semangat. Terima kasih buat segala yang

telah engkau berikan.

6. Buat Mas Nanang, Mbak Magdalena yang membiayai Kuliahku

7. Teman-teman, Wawan (T-cuz) ”Terima kasih buat semua bantuan yang

sudah kamu berikan”, Oscar ”Terima kasih buat Pentium II-nya”.

8. Teman-teman bimbingan Ibu Wuri ”Hary, Yoga, Ido, Doni (Lele), Anton

(Plentonx), Memen, Gepeng, Deni (Chino), Dhanny, Deri, Andhex”.

9. Teman-teman elektro 2002 : ”Robi, Andi S, Dhika, Pandu, Andreas

(Bule)”

10. Teman-teman kost JMC ”Made, Endhok, Agung, Koko, Yuli, Andhek,

Broto, Lambang”.

11. Teman-teaman kost Tangkadas ”Franky, Heri, Fandy, Purba, Si Boss”.

12. Segenap dosen-dosen Teknik Elektro atas segala bantuan yang telah

diberikan selama penulis menimba ilmu di bangku kuliah.

13. Laboran teknik elektro : Mas Suryono, Mas Mardi dan Mas Broto.

14. Segenap Karyawan, Sekretariat Teknik, atas bantuan yang telah

diberikan.

Dan semua pihak yang tidak dapat disebutkan satu persatu, karena

keterbatasan tempat, atas saran, ide, dan dukungannya yang telah diberikan hingga

tugas akhir ini terselesaikan.

x

Page 11: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Dengan segala kerendahan hati juga, penyusun menyadari bahwa tugas akhir

ini masih jauh dari sempurna. Oleh karena itu, segala kritik dan saran yang

membangun akan penyusun terima denga senang hati.

Yogyakarta, Oktober 2007

Penulis

Page 12: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

DAFTAR ISI

HALAMAN JUDUL ............................................................................................ i

HALAMAN JUDUL ............................................................................................ ii

HALAMAN PENGESAHAN .............................................................................. iii

HALAMAN PERNYATAAN KEASLIAN KARYA ........................................ v

HALAMAN MOTTO DAN PERSEMBAHAN................................................. vi

INTISARI ............................................................................................................. vii

ABSTRACT .......................................................................................................... viii

KATA PENGANTAR .......................................................................................... ix

DAFTAR ISI......................................................................................................... xii

DAFTAR GAMBAR ............................................................................................ xvi

DAFTAR TABEL ................................................................................................ xviii

DAFTAR LAMPIRAN ........................................................................................ xix

BAB I PENDAHULUAN.............................................................................. 1

1.1 Judul ............................................................................................... 1

1.2 Latar Belakang ............................................................................... 1

1.3 Batasan Masalah ............................................................................ 2

1.4 Tujuan ............................................................................................ 2

1.5 Metode Penelitian .......................................................................... 3

BAB II DASAR TEORI.................................................................................. 4

2.1 Mikrokontroler ............................................................................... 4

xii

Page 13: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

2.1.1 Arsitektur Mikrokontroler AT89S51 ................................. 4

2.1.2 Oganisasi Memori AT89S51 ............................................. 7

2.1.2.1 Memori Program ................................................. 8

2.1.2.2 Memori Data ....................................................... 9

2.1.2.3 Ram Internal........................................................ 10

2.1.2.4 Tabel Tengok (Look Up Table)........................... 11

2.1.2.5 Intruksi-intruksi Register Khusus ....................... 12

2.1.3 Mode Pengalamatan ........................................................... 13

2.1.4 Timer dan Counter dalam AT89S51 .................................. 14

2.1.4.1 Sarana Timer/Counter AT89S51......................... 15

2.1.4.2 Mode Kerja Timer 0 dan Timer 1........................ 16

2.1.4.3 Register Pengatur Timer...................................... 18

2.1.5 Sistem Interupsi pada AT89S51......................................... 20

2.1.5.1 Struktur Interupsi ................................................ 20

2.1.5.2 Mengaktifkan dan Menon-Aktifkan Interupsi .... 21

2.1.5.3 Tingkat Prioritas Interupsi................................... 21

2.1.5.4 Teknik Polling..................................................... 22

2.1.5.5 Pemrosesan Interupsi .......................................... 22

2.1.5.6 Vektor-Vektor Interupsi ...................................... 23

2.1.5.7 Perancangan Program Interupsi .......................... 23

2.2 Transistor Sebagai Saklar............................................................... 24

xiii

Page 14: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

2.3 Seven Segment ................................................................................ 26

2.4 Decoder BCD................................................................................. 27

2.5 LED (Light Emitting Diode) sebagai Penampil ............................. 29

BAB III PERANCANGAN ............................................................................. 30

3.1 Diagram Blok Rangkaian............................................................... 30

3.2 Perancangan Rangkaian ................................................................. 31

3.2.1 Rangkaian Switch ............................................................... 32

3.2.2 Pangkaian Unit Pengolah ................................................... 33

3.2.3 Rangkaian Indikator ........................................................... 34

3.2.4 Rangkaian Tampilan Seven Segment ................................. 37

3.3 Perancangan Software .................................................................... 39

3.3.1 Diagram Alir Program Menyalakan Led (Flowchart) ...... 42

3.3.2 Diagram Alir (Flowchart) Panggil Proses Tombol............. 43

3.3.3 Diagram Alir (flowchart) Penampil Waktu pada Seven

Segment.............................................................................. 44

3.3.4 Diagram Alir (flowchart) Pemberian Tunda pada

Aliran Led.......................................................................... 46

BAB IV HASIL PENGAMATAN DAN PEMBAHASAN ............................ 48

4.1 Prinsip Kerja .................................................................................. 48

4.2 Pengamatan Perpindahan Aliran Led............................................. 49

4.3 Pengamatan Tunda Waktu ............................................................. 50

xiv

Page 15: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

4.4 Pengamatan Tiap Rangkaian.......................................................... 54

4.4.1 Rangkaian Tombol ............................................................. 54

4.4.2 Rangkaian Led ................................................................... 54

4.4.3 Rangkain Seven Segment.................................................... 57

4.5 Pembahasan Program..................................................................... 57

4.5.1 Subroutine Pengaturan Tunda............................................ 57

4.5.2 Penyalaan Led .................................................................... 58

4.5.3 Subroutine Cek Tombol ..................................................... 59

4.5.4 Subroutine Tampilan pada Seven Segment ........................ 61

4.5.5 Subroutine Tunda Waktu ................................................... 62

BAB V PENUTUP ........................................................................................... 66

5,1 Kesimpulan .................................................................................... 66

5.2 Saran............................................................................................... 66

DAFTAR PUSTAKA ........................................................................................... 67

xv

Page 16: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

DAFTAR GAMBAR

Gambar 2.1 Blok Diagram AT89S51 ................................................................ 5

Gambar 2.2 Peta Memori Interupsi.................................................................... 8

Gambar 2.3 Susunan Bit dalam Register TMODE............................................ 18

Gambar 2.4 Susunan Bit dalam Register TCON ............................................... 18

Gambar 2.5 Jenis Transistor dan Simbol Transistor .......................................... .. 24

Gambar 2.6 Rangkaian Skema Dasar Konfigurasi

Saklar Menggunakan transistor...................................................... 24

Gambar 2.7 Seven segment ................................................................................ 26

Gambar 2.8 Seven Segment Common Anode ..................................................... 26

Gambar 2.9 Seven Segment Common Catode .................................................... 26

Gambar 2.10 Simbol IC 7447 .............................................................................. 27

Gambar 2.11 Tampilan Seven Segment Menggunakan IC 7447.......................... 28

Gambar 2.12 Fisik LED...................................................................................... 29

Gambar 3.1 Diagram Blok Rangkaian............................................................... 30

Gambar 3.2 Layout Jam Pasir Digital ................................................................ 31

Gambar 3.3 Rangkaian Switch ........................................................................... 32

Gambar 3.4 Rangkaian mikrokontroler ............................................................. 33

Gambar 3.5 Rangkaian Cuplikan dari Rangkaian LED Indikator ..................... 34

Gambar 3.6 Rangkaian LED Indikator .............................................................. 36

xvi

Page 17: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Gambar 3.7 Rangkaian Penampil Waktu pada Seven Segment ......................... 37

Gambar 3.8 Pergerakan Led............................................................................... 41

Gambar 3.9 Flowchart Program Utama............................................................. 42

Gambar 3.10 Flowchart Panggil Proses Tombol................................................. 43

Gambar 3.11 Flowchart Penampil Waktu pada Seven Segment .......................... 45

Gambar 3.12 Flowchart Pemberian Tunda Waktu pada Aliran Led ................... 46

Gambar 4.1 Layout Jam Pasir Digital ................................................................ 48

Gambar 4.2 Perpindahan Aliran Led dengan Tunda Waktu 3 menit................. 49

xvii

Page 18: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

DAFTAR TABEL

Tabel 2.1 Fungsi Alamat Interupsi................................................................. 8

Tabel 2.2 Instruksi Membaca Tabel Tengok.................................................. 11

Tabel 2.3 Tingkat Prioritas Interupsi............................................................. 22

Tabel 2.4 Vektor-Vektor Interupsi ................................................................. 23

Tabel 2.5 Tabel Kebenaran IC 7447 .............................................................. 28

Tabel 4.1 Data Pengamatan Tunda Waktu..................................................... 50

Tabel 4.2 Data Pengamatan Waktu Tunda Tiap Baris Led............................ 51

Tabel 4.3 Data Pengamatan Rangakain Tombol............................................ 54

Tabel 4.4 Data Pengamatan Tegangan pada Transistor ................................. 55

Tabel 4.5 Data Masukan untuk Port 1 dan Port 2 .......................................... 58

Tabel 4.6 Hubungan antara Data Biner dengan Led ...................................... 58

Tabel 4.7 Data Perbandingan Waktu Tunda dengan Seven Segment ............. 60

xviii

Page 19: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

LAMPIRAN

Datasheet ................................................................................................................ L1

Listing Program...................................................................................................... L2

Rangkaian Lengkap Jam Pasir Digital ................................................................... L7

xix

Page 20: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

BAB I

PENDAHULUAN

1.1 Judul

Jam Pasir Digital Berbasis Mikrokontroler AT89S51

1.2 Latar Belakang

Dengan semakin pentingnya arti sebuah waktu, maka manusia mulai mencari

cara untuk meminimalisasi atau mengatur waktu seefisien mungkin dengan berbagai

cara untuk memperoleh kinerja yang baik dengan waktu yang relatif singkat dan

tepat waktu atau dengan istilah lain yaitu Time Is Money. Salah satu cara untuk

mewujudkan efisiensi waktu ini adalah menggunakan sebuah jam yang diberi nama

sebagai Jam Pasir. Jam Pasir berbeda dengan jam biasa yang umumnya digunakan

sehari-hari.

Jam pasir banyak diaplikasikan pada perusahaan-perusahaan yang

menawarkan jasa makanan siap saji atau dikenal dengan istilah Fast Food.

Penggunaan jam pasir ini sangat diperlukan untuk menghasilkan pelayanan yang

cepat dan efisien, selain dapat digunakan untuk beberapa aplikasi lain misalnya untuk

penghitungan waktu pada saat melaksanakan ujian praktek atau kolokium. Untuk

mewujudkan hal ini, salah satunya dibuat sebuah Jam Pasir elektronik yang

menggantikan sistem jam pasir yang manual ke sistem yang lebih modern.

1

Page 21: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

2

Alasan lain pembuatan dari jam pasir elektronik ini dapat juga dijadikan

sebagai materi bahan praktikum mikrokontroler. Keuntungan selain sebagai bahan

materi praktikum adalah :

1. Dapat mengatur waktu yang dibutuhkan pasir untuk berpindah dari tabung LED

satu ke tabung LED yang lain.

2. Dapat juga dijadikan sebagai hobi elektronik.

1.3 Batasan Masalah

Mengingat akan banyaknya jenis-jenis jam yang dihasilkan dan dibuat oleh

manusia yang mempunyai fungsi dan aplikasi berbeda, maka penulis perlu

memberikan suatu batasan agar ruang lingkup dari pembahasan masalah tidak terlalu

luas pembahasannya. Pembatasan masalah hanya didasarkan dari penggunaan dan

pengaturan.

1. Waktu jam pasir berbasis Mikrokontroller AT89C51.

2. Menggunakan 32 buah LED sebagai penampil.

3. Menggunakan setting waktu counter up atau counter down.

4. Menggunakan 2 buah seven segment untuk menampilkan setting menit.

1.4 Tujuan

Tujuan utama dalam pembuatan jam pasir ini adalah untuk menerapkan dan

merealisasikan sebagian dari pengetahuan mengenai sistem pemrograman yang telah

dipelajari sebelumnya selama kuliah. Disamping itu, tujuan yang lain yang ingin

dicapai adalah untuk membuat sistem pemrograman jam pasir yang sebelumnya

dilakukan secara manual menjadi lebih modern.

Page 22: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

3

Adapun tujuan pembuatan alat sebagai tugas akhir ini untuk memenuhi

persyaratan akademis dalam menyelesaikan pendidikan sarjana Strata-1 (S1) pada

jurusan Teknik Elektro Universitas Sanata Dharma.

1.5 Metode Penelitian

Metode yang digunakan dalam penyusunan Tugas Akhir ini dilakukan

dengan beberapa tahap yaitu :

1. Observasi, pengumpulan data-data melalui pembacaan buku-buku teori

pendukung tugas akhir di perpustakaan USD. Selain itu melalui informasi-

informasi dan keterangan-keterangan dari internet, dosen pembimbing tugas

akhir dan teman-teman.

2. Perancangan, penyediaan seluruh komponen yang dibutuhkan selanjutnya

merakit dan membuat alat.

3. Pengujian dan pengetesan alat yaitu menguji secara langsung cara kerja alat

kemudian mengumpulkan data-datanya dan menyusunnya sebagai data hasil

akhir dalam laporan tugas akhir.

4. Kesimpulan, yaitu menganalisa secara keseluruhan hasil kerja alat kemudian

mengambil kesimpulan dari data-data yang didapat.

5. Penulisan laporan.

Page 23: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

BAB II

DASAR TEORI

2.1. Mikrokontroler.

Mikrokontroler sebagai suatu terobosan teknologi mikroprosesor dan

mikrokomputer, hadir memenuhi kebutuhan pasar 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 harganya 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 baik dan canggih. Dengan alasan demikian

mikrokontroler banyak digunakan oleh berbagai kepentingan untuk menciptakan

suatu kreasi elektronika yang beraneka ragam.

2.1.1. Arsitektur Mikrokontroler AT89S51.

Blok diagram lengkap dari Mikrokontroler AT89S51 seri AT89 (Keluarga

51) Atmel akan diperlihatkan secara jelas pada Gambar 2.1:

Bagian-bagian dari blok diagram diatas dapat dijelaskan sebagai berikut :

a. Register A.

Register A (akumulator) yang menempati lokasi pada alamat E0h digunakan

sebagai register untuk penyimpanan data sementara dalam program, instruksinya

mengacu sebagai register A.

4

Page 24: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

5

Gambar 2.1 Blok Diagram AT89S51 [1]

b. Register B.

Register B (lokasi F0h) digunakan selama operasi perkalian dan pembagian,

untuk instruksi lain dapat diperlakukan sebagai register Scratch pad (papan coret-

coret) lainnya.

Page 25: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

6

c. Program Status Word (PSW).

Register PSW (lokasi D0h) mengandung informasi status program.

d. Stack Pointer.

Register Stack Pointer (SP) pada lokasi 81h merupakan register dengan

panjang 8-bit, digunakan dalam proses simpan dan ambil dari/ke stack. Nilainya akan

dinaikkan sebelum data disimpan menggunakan intruksi PUSH dan CALL. Walau

Stack bisa menempati lokasi di mana saja dalam RAM, register SP akan selalu

diinisialisasikan ke 07h setelah adanya reset, hal ini menyebabkan stack berawal di

lokasi 08h.

e. Data Pointer.

Register Data Pointer atau DPTR mengandung DPTR untuk byte tinggi

(DPH) dan byte rendah (DPL) yang masing-masing berada di lokasi 83h dan 82h,

bersama-sama membentuk register yang mampu menyimpan alamat 16 bit. Dapat

dimanipulasi sebagai register 16-bit atau sebagai dua register 8-bit yang terpisah.

f. Port 0, Port 1, Port 2, dan Port 3.

P0, P1, P2 dan P3 masing-masing menempati lokasi 80h, 90h, A0h dan b0h

merupakan pengunci-pengunci (latches), yang digunakan untuk menyimpan data

yang akan dibaca atau ditulis dari/ke port, masing-masing Port 0, Port 1, Port 2 dan

Port 3.

g. Serial Data Buffer.

Serial data buffer (SBUF) pada 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

Page 26: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

7

dikirim ke penyangga pengirim dan sekaligus mengawali transmisi data serial,

sedangkan pada saat data disalin dari SBUF, maka sebenarnya data tersebut berasal

dari penyangga penerima.

h. Timer Register.

Pasangan register-register (TH0, TL0) di lokasi 8Ch dan 8Ah, (TH1, TL1)

dilokasi BDh dan 8Bh serta (TH2, TL2) di lokasi CDh dan CCh merupakan register-

register pencacah 16-bit untuk masing-masing Timer 0, Timer 1 dan Timer 2.

i. Capture Register.

Pasangan register (RCAP2H, RCHP2L) 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

AT89C52/55), TH2 dan TL2 disalin masing-masing ke RCAP2H dan RCP2l. Timer

2 juga memiliki mode isi ulang otomatis 16-bit dan RCAP2H serta RCAP2L

digunakan untuk menyimpan nilai isi ulang tersebut.

j. Control Register.

Register-register IP, IE, TMOD, TCON, T2CON, T2MOD, SCON dan

PCON berisi bit-bit kontrol dan status untuk sistem interupsi, Pencacah/Pewaktu dan

port serial yang akan dijelaskan nanti.

2.1.2. Oganisasi Memori AT89S51.

Mikrokontroler AT89S51 memiliki ruang alamat memori data dan program

yang terpisah. Pemisahan memori program dan data tersebut membolehkan memori

data dapat diakses dengan alamat 8-bit, sehingga dapat dengan cepat dan mudah

Page 27: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

8

disimpan dan dimanipulasi oleh CPU 8-bit. Walaupun demikian, alamat memori data

16-bit bisa juga dihasilkan melalui register DPTR.

2.1.2.1 Memori Program.

Pada Gambar 2.2 dibawah ini ditunjukkan pemetaan bagian bawah dari

memori program. Setelah reset, CPU segera mengerjakan program mulai dari lokasi

0000h.

Gambar 2.2 Peta Memori Interupsi [1]

Tabel 2.1 Fungsi Alamat Interupsi [1] Alamat Fungsi Interupsi 0000h Reset 0003h Interupsi Internal 0 000Bh Timer 0 0013h Interupsi Internal 1 001Bh Timer 1 0023h Port Serial 0033h Timer 2

Sebagaimana ditunjukkan pada Gambar 2.2 di atas, masing-masing interupsi

diletakkan pada lokasi yang sudah tetap dalam memori program. Sebuah interupsi

menyebabkan CPU melompat ke lokasi interupsi yang bersangkutan, yaitu letak dari

subrutin layanan interupsi tersebut. Misalnya, Eksternal interupsi 0 disimpan pada

Page 28: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

9

lokasi 0003h, jika interupsi digunakan, maka layanan rutin interupsi ini harus

dituliskan pada lokasi ini, jika tidak, maka lokasi tersebut bisa dipakai sebagai

memori program serba guna. Untuk lebih jelas perhatikan tabel 2.1.

Lokasi-lokasi layanan interupsi tersebut menempati lokasi-lokasi dengan

jarak 8-byte : 0003h untuk eksternal interupt 0, 000Bh untuk timer 0, 0013h, untuk

Eksternal Interupt 1, 001Bh untuk timer 1 dan seterusnya. Jika suatu rutin layanan

interupsi sangat pendek (kurang dari 8 byte), maka seluruh rutin bisa disimpan pada

lokasi yang bersangkutan (sesuai dengan interupsi yang digunakan). Jika terlalu

panjang (lebih atau sama dengan 8-byte), maka harus digunakan suatu perintah

lompat ke lokasi rutin interupsi yang sebenarnya (dilokasi lain dalam memori

program).

2.1.2.2 Memori Data.

Memori data dapat berupa memori data internal dan memori data eksternal.

kita dapat menentukan memori data eksternal hingga 64K byte. Alamat memori data

eksternal bisa 1 atau 2 byte. Alamat satu byte sering digunakan untuk membantu satu

atau lebih jalur I/O dalam penghalamanan RAM. Alamat dua byte dapat dipakai

dalam kasus jika byte alamat tinggi dikirim melalui port 2. Memori data internal

memiliki ruang memori dibagi menjadi tiga blok, yang dikenal sebagai 128 bawah

(lower 128), 128 atas (upper 128) dan register fungsi khusus (Special Function

Register = SFR).

Alamat memori data internal selalu 8-bit atau 1-byte, yang konsekuensinya

hanya mampu mengalamati hingga 256 byte saja. Namun demikian, mode-mode

pengalamatan RAM internal (faktanya) bisa mengakomodasi hingga 384-byte.

Page 29: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

10

Pengaksesan langsung (direct addressing) dengan alamat diatas 7Fh mengakses

suatu memori, sedangkan pengaksesan tak langsung (indirect addressing) dengan

alamat di atas 7Fh mengakses ruang memori lain yang berbeda. Sehingga terlihat 128

atas dan SFR menempati blok yang sama, 80h hingga FFh, walaupun secara fisik

terpisah.

RAM Internal yang memiliki 128-byte dipetakan. 32 byte bawah

dikelompokkan menjadi 4 bank dan 8 register (R0 hingga R7). Dua bit pada PWS

(Program Status Word) digunakan untuk memilih kelompok register mana yang

digunakan. Arsitektur ini membolehkan penggunaan ruang kode secara lebih efisien,

karena instruksi-intruksi register lebih pendek dari pada instruksi-instruksi yang

menggunakan pengalamatan langsung. 16 byte berikutnya, di atas bank-bank register

membentuk suatu blok ruang memori yang bisa teralamati per bit. Kumpulan

instruksi mikrokontroler ini memiliki berbagai pilihan instruksi- instruksi bit tunggal

dan instruksi-instruksi ini mampu secara langsung mengalamati 128 bit dalam area

ini. Alamat-alamat bit ini adalah 00h hingga 7Fh. Semua byte yang berada didalam

128 bawah dapat diakses baik secara langsung maupun tidak langsung. Bagian 128

atas dari RAM hanya ada di dalam piranti yang memiliki RAM berukuran 256 byte.

2.1.2.3. Ram Internal.

Instruksi MOV <tjn>, <sbr> membolehkan data dipindah-pindah antar lokasi

dalam RAM internal atau lokasi-lokasi SFR tanpa melalui akumulator. Perlu dicatat

bahwa untuk semua mikrokontroller Atmel Seri AT89C51, stack tersimpan dalam

RAM internal. Intstruksi PUSH pertama kali akan menaikkan isi SP (stack pointer)

kemudian menyalin data byte yang terkait ke dalam lokasi yang yang ditunjuk SP.

Page 30: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

11

PUSH dan POP hanya menggunakan pengalamatan langsung untuk mengidentifikasi

byte yang disimpan atau dikembalikan (ditarik dari ruang Stack), jika

diimplementasikan lokasinya dapat mencapai 128 (upper 128) atas tetapi tidak

mengganggu ruang SFR.

Jika piranti mikrokontroler yang digunakan tidak melakukan implementasi

bagian 128 atas dan SP akan menunjuk pada lokasi di 128 atas tersebut, maka data

byte yang di PUSH akan hilang serta instruksi POP menjadi tidak menentu.

Instruksi-instruksi transfer data mencakup sebuah instruksi MOV 16 bit

(MOV DPTR,# data 16) yang dapat digunakan untuk inisialisasi DPTR dalam

penggunaan Tabel Tengok atau look-up-tabel dalam memori program atau untuk

akses data eksternal 16-bit.

2.1.2.4. Tabel Tengok (Look Up Table)

Pada Tabel 2.2 di bawah ini memperlihatkan dua instruksi yang dapat

digunakan membaca tabel tengok yang tersimpan dalam memori program.

Tabel 2.2 Instruksi Membaca Tabel Tengok [1] Intruksi Fungsi Waktu Eksekusi (µd)

MOV A,@A+DPTR Baca memori program dilokasi (A+DPTR)

2

MOV A,@A+PC Baca memori program dilokasi (A+PC) 2

Karena kedua instruksi ini hanya mengakses memori program saja, maka

tabel tengok hanya bisa dibaca saja, tidak mungkin diremajakan atau update. Jika

akses tabelnya ke memori program eksternal, maka tanda bacanya melalui kaki

PSEN.

Page 31: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

12

Instruksi MOVC yang pertama pada tabel di atas mampu mengakomodasi

sebuah tabel dengan 256 entri, dengan indeks atau nomor baris 0 hingga 255. Angka

indeks yang diinginkan disimpan dalam akumulator dan DPTR di set menunjuk ke

alamat lokasi awal tabel yang bersangkutan. Dengan demikian perintah MOVC

A,@A+DPTR digunakan untuk menyalin entri tabel yang dikehendaki ke dalam

akumulator. Instruksi MOVC yang satunya juga sama, hanya saja menggunakan PC

sebagai alamat dasarnya (bukan DPTR).

Biasanya tabel tengok diakses dalam suatu subrutin, pertama kali angka

indeks entri tabel tengok yang akan dibaca disimpan dalam akumulator, kemudian

subrutin yang terkait dipanggil misalnya :

MOV A, INDEKS_TABEL

CALL TABEL

Subrutin TABEL bisa berisi sebagai berikut :

TABEL : MOVC A,@A+PC

RET

Pada tabel dituliskan segera setelah instruksi RET (return) dalam memori

program. Tipe tabel semacam ini bisa diisi hingga 255 entri, dengan indeks 1 hingga

255. Indeks 0 tidak dapat digunakan, karena pada saat instruksi, PC mengandung

alamat dari instruksi RET, dengan demikian indeks 0 akan menunjuk pada instruksi

RET tersebut.

2.1.2.5. Intruksi-intruksi Register Khusus.

Bank-bank register, yang masing-masing berisi R0 hingga R7 atau 8 register,

dapat diakses melalui instruksi yang op-kodenya mengandung 3-bit spesifikasi

Page 32: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

13

register (000 untuk R0, 001 untuk R1 hingga 111 untuk R7). Pengaksesan register

dengan cara demikian bisa menghemat penggunaan kode instruksi, karena tidak

memerlukan sebuah byte untuk alamat. Saat instruksi tersebut dikerjakan, satu dari

delapan register pada bank yang terpilih yang diakses.

Beberapa instruksi hanya dikhususkan untuk suatu register tertentu. Misalnya

suatu instruksi yang hanya bekerja pada akumulator saja. Sehingga tidak

memerlukan alamat byte untuk menunjuk ke akumulator tersebut. Dalam hal ini, op-

kodenya sendiri telah mengandung penunjuk ke register yang benar. Instruksi yang

mengacu akumulator sebagai A akan dikodekan dengan op-kode spesifikakumulator.

Tidak semua alamat pada SFR (register fungsi khusus) digunakan, alamat-

alamat yang tidak digunakan tidak 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.

Pengguna 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 non aktif dari bit-bit baru ini akan selalu ‘0’

dan nilai aktifnya adalah ‘1’.

2.1.3. Mode Pengalamatan.

Mode pengalamatan pada keluarga MCS 51 terdiri dari dua mode yaitu Mode

Pengalamatan Langsung (Direct Addressing) dan Mode Pengalamatan Tidak

Langsung (Indirect Addressing). Dalam Pengalamatan Langsung, operan-operan

ditentukan berdasarkan alamat 8-bit (1 byte) dalam suatu instruksi. Hanya RAM data

internal dan SFR saja yang bisa diakses secara langsung.

Page 33: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

14

Mode Pengalamatan tak Langsung dalam pengalamatannya, intruksi

menentukan suatu register yang digunakan untuk menyimpan alamat operan. Baik

RAM internal maupun RAM eksternal dapat diakses secara tak langsung. Register

alamat untuk alamat-alamat 8-bit bisa menggunakan Stack Pointer atau RO atau R1

dari bank register yang dipilih. Sedangkan untuk alamat 16-bit hanya bisa

menggunakan register pointer data 16-bit atau DPTR. Beberapa instruksi

menggunakan operan berupa register yang menyimpan alamat data disimpan. Dalam

hal ini digunakan tanda “at” (@) yang dapat digunakan bersama dengan R0, R1,

DPTR atau PC tergantung dari instruksi yang digunakan. Misalnya :

ADD A,@R0

MOVC A,@A+PC

Instruksi pertama menyalin data yang tersimpan di alamat yang ditunjukkan

R0 ke akumulator. Sedangkan instruksi kedua untuk data yang disimpan dalam

@A+PC.

2.1.4. Timer dan Counter dalam AT89S51.

Pada dasarnya sarana masukkan yang satu ini merupakan seperangkat

pencacah biner (binary counter) yang terhubung langsung ke saluran data

mikrokontroller, sehingga mikrokontroler bisa membaca kondisi pencacah dan bila

diperlukan mikrokotroler dapat pula merubah kondisi pencacah tersebut.

Seperti layaknya pencacah biner, saat sinyal detak (clock) yang diberikan

sudah melebihi kapasitas pencacah, maka pencacah akan memberikan sinyal

overflow atau limpahan, sinyal ini merupakan suatu hal yang penting dalam

pemakaian pencacah dan terjadinya limpahan pencacah ini bisa dicatat dalam suatu

Page 34: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

15

register. Selain itu, sinyal detak yang diberikan ke pencacah bisa dikendalikan

dengan mudah.

Sinyal detak yang diberikan ke pencacah dibedakan menjadi 2 macam, yang

pertama adalah sinyal detak yang dengan frekuensi tetap sudah diketahui besarnya

dan yang kedua adalah sinyal detak dengan frekuensi yang bisa bervariasi.

Jika sebuah pencacah bekerja dengan frekuensi tetap, dikatakan pencacah

tersebut bekerja sebagai timer atau pewaktu, karena kondisi pencacah tersebut setara

dengan waktu yang bisa ditentukan secara pasti.

Jika sebuah pencacah bekerja dengan frekuensi yamg bervariasi, dikatakan

pencacah tersebut bekerja sebagai counter atau pencacah, kondisi pencacah tersebut

menyatakan banyak pulsa detak yang sudah diterima. Untai pencacah biner tersebut

merupakan pencacah biner naik (count up binary counter).

2.1.4.1. Sarana Timer/Counter AT89S51.

Keluarga mikrokontroler AT89S51 dilengkapi dengan dua perangkat

timer/counter, masing-masing dinamakan sebagai Timer 0 dan Timer 1. Perangkat

timer/counter tersebut merupakan perangkat keras yang terpadu dalam SFR.

Pencacah biner timer 0 diakses melalui register TL0 (timer 0 low byte, memori data

internal alamat 6Ah) dan register TH0 (timer 0 high byte, memori data internal

alamat 6Ch). Pencacah biner timer 1 diakses melalui register TL1 (timer 1 low byte,

memori data internal alamat 6Bh) dan register TH1 (timer 1 high byte, memori data

internal alamat 6Dh).

Pencacah biner timer/counter AT89S51 merupakan pencacah biner 16 bit

naik (count up binary counter) yang mencacah dari 000Fh sampai FFFFh, saat

Page 35: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

16

kondisi pencacah berubah dari FFFFh kembali ke 000Fh akan timbul sinyal limpahan

(overflow).

Untuk mengatur kerja timer/counter tersebut digunakan 2 register tambahan

yang dipakai bersama oleh timer 0 dan timer 1. Register tambahan tersebut adalah

register TCON (timer control register, memori data internal alamat 88h, bisa di

alamat per bit) dan register TMOD (timer mode register, memori data internal alamat

89h, tidak bisa di alamati per bit). TL0, TH0, TL1, dan TH1 merupakan SFR

(Special Function Register) yang dipakai untuk membentuk pencacah biner timer 0

dan timer 1. Kapasitas keempat register tersebut masing-masing 8-bit, bisa disusun

menjadi 4 macam mode pencacah biner.

2.1.4.2. Mode Kerja Timer 0 dan Timer 1.

Pada mode 0, 1 , dan 2, timer 0 dan timer 1 masing-masing bisa dibuat timer

0 bekerja pada mode 1 dan timer 1 bekerja pada mode 2, atau kombinasi lainnya

sesuai dengan keperluan. Sedangkan pada mode 3 TL0, TH0, TL1 dan TH1 dipakai

bersama-sama untuk menyusun sistem timer yang terpadu (khusus)

a. MODE 0 – Pencacah Biner 13-bit

Pencacah biner dibentuk dengan TLx (bisa TL0 atau TL1) sebagai pencacah

biner 5 bit (meskipun kapasitas sesungguhnya 8 bit). Limpahan dari pencacah biner

5-bit ini dihubungkan ke THx (bisa TH0 atau TH1) membentuk sebuah untai

pencacah biner 13-bit, limpahan dari pencacah 13-bit ini ditampung di TFx (bisa TF0

atau TF1) yang berada di dalam register TCON. Pada saat terjadi limpahan (dari

1FFFh ke 0000h) maka flag interupsi timer (TF1) akan diset (=1).

Page 36: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

17

b. MODE 1 – Pencacah Biner 16-bit

Mode ini sama dengan mode 0, hanya saja register TLx dipakai sepenuhnya

sebagai pencacah biner 8-bit, sehingga kapasitas pencacah biner yang terbentuk

adalah 16-bit. Seiring dengan sinyal detak, kondisi pencacah biner 16-bit ini dimulai

dari 0000h, 0001h, 0002h, ……, sampai FFFFh, kemudian kembali menjadi 0000h

(pada saat itu terjadi sinyal limpahan atau overflow pada TFx).

c. MODE 2 – Pencacah Biner 8-bit dengan Isi Ulang

TLx dipakai sebagai pencacah biner 8-bit, sedangkan THx dipakai untuk

menyimpan nilai yang disisikan ulang TLX setiap kali kondisi TLx melimpah atau

berubah dari FFh menjadi 00h. Dengan cara tersebut bisa diperoleh sinyal overflow

yang frekuensinya bisa ditentukan oleh nilai yang disimpan dalam THx.

d. MODE 3 – Gabungan Pencacah Biner 16-bit dan 8-bit

Pada mode 3 TL0, TH0, TL1 dan TH1 dipakai untuk membentuk 3 rangkaian

pencacah, yang pertama adalah untai pencacah biner 16-bit tanpa fasilitas pemantau

sinyal limpahan atau overflow yang dibentuk dengan TL1 dan TH1. Yang kedua

adalah TL0 yang dipakai sebagai pencacah biner 8-bit dengan TF0 sebagai sarana

pemantau limpahan. Pencacah biner ketiga adalah TH0 yang dipakai sebagai

pencacah biner 8-bit dengan TF1 sebagai sarana pemantau limpahan, dengan

demikian TH0 yang mengendalikan interupsi timer 1 (TF1).

Mode 3 biasanya digunakan pada aplikasi yang membutuhkan sebuah timer

atau pencacah 8-bit tambahan. Dengan timer 0 pada mode 3, AT89C51 seakan-akan

memilki 3 buah timer. Pada mode 3 ini, timer dapat dihidupkan dan dimatikan

menggunakan M1 dan M0 pada register TMOD. Pada kasus seperti ini, timer 1

Page 37: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

18

masih dapat digunakan oleh port serial untuk menghasilkan baud rate, atau aplikasi

apa saja yang tidak membutuhkan interupsi.

2.1.4.3. Register Pengatur Timer.

Register timer digunakan untuk mengatur timer. Register pengatur timer

terdiri dari register TCON dan register TMOD. Register-register tersebut merupakan

register untuk mengatur kerja timer 0 dan timer 1. Perhatikan Gambar 2.3 dan 2.4 di

bawah:

TMODE-TIMER MODE REGISTER

Gambar 2.3 Susunan Bit dalam Register TMODE [1]

TCON-TIMER CONTROL REGISTER

Gambar 2.4 Susunan Bit dalam Register TCON [1]

Page 38: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

19

Register TMOD dan register TCON merupakan register yang digunakan

untuk mengatur kerja timer 0 dan timer 1, susunan bit register TMOD dan TCON

masing-masing ditunjukkan dalam gambar A dan B. Register TMOD dibagi menjadi

2 bagian secara simetris, bit 0 sampai 3 (TMOD.0 s/d TMOD.3) dipakai untuk

mengatur timer 0, sedangkan bit 4 sampai 7 (TMOD.4 s/d TMOD.7) dipakai untuk

mengatur timer 1, penjelasan sebagai berikut :

Bit M0/M1 dipakai untuk menentukan Mode Timer seperti yang ditunjukkan pada

tabel digambar 2.3

a. Bit C/T dipakai untuk mengatur sumber sinyal detak yang diberikan ke pencacah

biner. Jika C/T = 0, maka sinyal detak diperoleh dari osilator kristal yang

frekuensinya sudah dibagi 12, sedangkan jika C/T = 1 maka sinyal detak

diperoleh dari kaki T0 (untuk timer 0) atau kaki T1 (untuk timer 1).

b. Bit gate merupakan pengatur saluran sinyal detak. Bila bit GATE = 0, saluran

sinyal detak hanya diatur oleh bit TRx (bisa TR0 atau TR1 pada register TCON).

Bila bit GATE = 1 kaki INT0 (untuk timer 0) atau kaki INT1 (untuk timer 1) yang

dipakai untuk mengatur sinyal detak.

Register TCON dibagi menjadi 2 bagian, 4 bit yang pertama (bit 0 sampai bit

3) dipakai untuk keperluan mengatur kaki INT0 dan INT1. Sisa 4 bit dari register

TCON (bit 4 sampai dengan bit 7) dibagi menjadi 2 bagian secara simetris yang

dipakai untuk mengatur timer 0 / timer 1, sebagai berikut:

a. Bit TFx (TF0 atau TF1) merupakan bit penampung limpahan, TFx akan menjadi

‘1’ setiap kali pencacah biner yang terhubung padanya melimpah atau overflow

(kondisi pencacah berubah dari FFFFh kembali menjadi 0000h). Bila TFx bias

Page 39: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

20

dinolkan secara manual dengan instruksi CLR TF0 atau CLR TF1. Jika sarana

interupsi dari timer 0/ timer 1 dipakai, TFx dinolkan saat AT89C51 menjalankan

rutin layanan interupsi (ISR-Interupt Service Routine).

b. Bit TRx (TR0 atau TR1) merupakan bit pengatur saluran sinyal detak, bila bit ini

= 0 sinyal detak tidak disalurkan ke pencacah biner sehingga pencacah berhenti

melakukan pencacahan. Bila bit GATE = 1 pada register TMOD, maka saluran

sinyal detak ini diatur bersama TRx dan sinyal pada kaki INTO/INT1.

2.1.5. Sistem Interupsi pada AT89S51.

AT89S51 menyediakan 5 sumber interupsi yaitu : dua interupsi internal, dua

interupsi Timer dan sebuah interupsi Port serial.

2.1.5.1. Struktur Interupsi.

Interupsi eksternal INT0 dan INT1 dapat dipilih dengan dua macam pilihan:

aktivasi tingkat (level activated) atau aktivasi transisi (trantition activated).

Tergantung pada bit IT0 dan IT1 dalam register TCON. Tanda atau flag yang

sesungguhnya menghasilkan interupsi ini adalah bit-bit IE0 (TCON.1) dan IE1

(TCON.3) dalam register TCON. Saat rutin layanan interupsi (RL1) dijalankan,

mikrokontroler secara otomatis akan menolkan tanda interupsi terkait asal interupsi

tersebut diaktivasi dengan transisi. Jika aktivasi secara tingkat (level), maka sumber

eksternal-lah yang mengontrol tanda interupsi tersebut.

Interupsi timer 0 dan timer 1 dihasilkan oleh TF0 dan TF1, terjadi pada saat

muncul limpahan pada masing-masing timer (kecuali timer 0 pada MODE 3). Saat

terjadi interupsi timer, mikrokontroller akan menolkan tanda-tanda tersebut. Interupsi

port serial terjadi baik pada saat RI = ! atau TI = 1 (pada saat selesai penerimaan atau

Page 40: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

21

pengiriman data). Dalam hal ini bit-bit RI dan TI harus dinolkan secara manual

melalui program yang ditulis.(akan dijelaskan pada pasal-pasal berikutnya). Kedua

interupsi port serial ini digabung menggunakan OR. Begitu juga dengan interupsi

Timer 2 (TF2) dan masukkan eksternal 2 (EXF2). Hasil dari masing-masing gerbang

OR tersebut yang kemudian akan menghasilkan interupsi yang bisa diaktifkan

melalui bit IE.4 untuk RI atau TI dan IE.5 untuk TF2 atau EXF2.

Semua bit yang menyebabkan terjadinya interupsi bisa diset atau dinolkan

melalui perangkat lunak dan hasilnya sama jika dilakukan melalui perangkat keras.

Dengan demikian interupsi bisa dihasilkan maupun dibatalkan melalui program.

2.1.5.2. Mengaktifkan dan Menon-Aktifkan Interupsi

Perhatikan gambar sebelumnya., masing-masing sumber interupsi tersebut

dapat diaktifkan dan dinon-aktifkan sendiri-sendiri dengan mengatur bit-bit yang

terkait dalam register IE (interupt enable) di alamat A8h. Selain pada register IE juga

terdapat sebuah bit yang digunakan untuk mengaktifkan dan menon-aktifkan

interupsi secara keseluruhan. Pada AT89C51 bit IE.5 belum terimplementasikan.

2.1.5.3. Tingkat Prioritas Interupsi

Masing-masing interupsi dapat diprogram tingkat prioritas -nya dengan

mengatur bit-bit yang terkait pada register IP (alamat B8h). perhatikan gambar

sebelumnya dan tabel 2.3.

Register IP akan berisi nol saat reset yang mengakibatkan semua interupsi di

tempatkan sebagai prioritas rendah. Dengan adanya sistem prioritas maka saat

sebuah rutin layanan interupsi dikerjakan bisa diinterupsi dengan interupsi yang

Page 41: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

22

prioritas-nya lebih tinggi. Karena hanya ada dua tingkat prioritas, maka interupsi

yang prioritas rendah bisa diinterupsi dengan yang prioritas-nya lebih tinggi,

sedangkan interupsi dengan prioritas tinggi tidak dapat diinterupsi lagi.

Tabel 2.3 Tingkat Prioritas Interupsi.[1] Bit Simbol Alamat

Bit Keterangan

(1 = level tinggi, 0 = level rendah IP7 - - IP6 - - IP5 PT2 BDh Prioritas untuk interupsi Timer 2 IP4 PS BCh Prioritas untuk interupsi Port Serial IP3 PT1 BBh Prioritas untuk interupsi Timer 1 IP2 PX1 Bah Prioritas untuk interupsi Ekternal 1 IP1 PT0 B9h Prioritas untuk interupsi Timer 0 IP2 PX0 B8h Prioritas untuk interupsi Ekternal 0

2.1.5.4. Teknik Polling

Pada saat ada dua interupsi dengan prioritas yang sama muncul bersamaan,

maka dilakukan polling untuk menetukan mana yang dilayani terlebih dahulu. Urutan

polling sebagai berikut: eksternal 0, eksternal 1, timer 1, port serial kemudian baru

timer 2.

2.1.5.5. Pemrosesan Interupsi

Saat terjadi interupsi, kemudian diterima CPU didalam mikrokontroller, maka

program akan dihentikan terlebih dahulu kemudian dikerjakan langkah-langkah

penanganan interupsi sebagai berikut :

1. Instruksi yang sedang dikerjakan diselesaikan terlebih dahulu

2. Isi PC (pencacah program) disimpan ke stack

3. Status interupsi yang bersangkutan disimpan ke stack

4. Interupsi-interupsi pada tingkat yang sama di-blockir

Page 42: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

23

5. PC kemudian diisi alamat vektor rutin layanan interupsi (RLI) yang bersangkutan

6. RLI dikerjakan.

RLI diakhiri dengan instruksi RETI (bukan RET). Adanya instruksi RETI ini

maka alamat PC yang terakhir yang tersimpan di stack diambil lagi dan status

interupsi sebelumnya dikembalikan, sehingga program utama sempat ditinggalkan

dapat diteruskan lagi.

2.1.5.6. Vektor-Vektor Interupsi

Saat suatu interupsi diterima, nilai yang disimpan ke PC sebagai alamat RLI

selanjutnya disebut sebagai vektor interupsi, yang sekaligus merupakan awal alamat

RLI yang bersangkutan. Lihat tabel 2.4

Tabel 2.4 Vektor-Vektor Interupsi [1] Interupsi Tanda Flag Alamat Vektor

Reset Sistem RST 0000h Eksternal IE0 0003h Timer 0 TF0 000Bh

Eksternal 1 IE1 0013h Timer 1 TF0 001Bh Timer 2 TF2 atau EXF2 002Bh

Port Serial RI atau TI 0023h 2.1.5.7. Perancangan Program Interupsi

Program yang menggunakan interupsi sebaiknya (disarankan) menggunakan

kerangka sebagai berikut :

1: ORG OH

2: LJMP UTAMA

3: . . . ; letak RLI

4: ORG 30H ; awal program utama

5: UTAMA: . . . ; program utama dimulai

Page 43: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

24

Instruksi diawal program (baris 2) digunakan untuk meloncati lokasi RLI (0h

sampai 2Fh) ke program utama di lokasi 30h, hal ini terkait dengan kenyataan bahwa

mikrokontroller akan memulai menjalankan instruksi di lokasi 0h setelah dihidupkan

atau RESET.

2.2. Transistor Sebagai Saklar.

Komponen transistor juga terbuat dari bahan semikonduktor dengan susunan

pn junction adalah seperti gambar 2.5. Ada dua jenis transistor yaitu jenis NPN dan

jenis PNP. Simbol untuk transistor dapat dilihat pada gambar 2.5

Gambar 2.5 Jenis Transistor dan Simbol Transistor. [2]

Gambar 2.6 Rangkaian Skema Dasar Konfigurasi Saklar Menggunakan transistor

[2]

Page 44: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

25

Di sini transistor berfungsi sebagai saklar untuk menyalakan LED maupun

seven segment secara bergantian sehingga seakan-akan LED maupun seven segment

terlihat seperti menyala bersamaan. Jika untuk menghidupkan 8 buah seven segment

Port paralel pada AT89S51 tidak mencukupi karena untuk menyalakan 8 buah seven

segment membutuhkan 7 Port parallel, sedangkan AT89S51 hanya memiliki 4 Port

parallel. Agar transistor bekerja di daerah jenuh dan daerah cuf off, maka dapat

dilakukan dengan mengatur Vb dan menentukan tahanan Rb, dan juga tahanan beban

RL. untuk mendapatkan on-off yang bergantian dengan periode tertentu, maka dapat

dilakukan dengan memberikan tegangan Vb berupa pulsa.

Apabila Vb = 0, maka transistor off (cut off). Apabila Vb = V1, dan dengan

mengatur Rb dan RL sedemikian rupa, sehingga arus Ib yang akan menyebabkan

transistor dalam keadaan jenuh (Vce = 0; Vsat = 0.2 Volt).

1. Pada kondisi Vb = 0, harga Ic = 0, berdasarkan persamaan loop:

Vcc + IcR1-Vce.= 0, dihasilkan Vce = +Vcc

2. Pada kondisi Vb = V1, harga Vce = 0 dan Ic = I saturasi (Isat)

Cara penyalaan secara bergantian tersebut dinamakan dengan teknik scanning

dan hanya membutuhkan 2 Port saja, Port 0 digunakan untuk mengirim data karakter

yang akan ditampilkan pada seven segment, sedangkan Port 1 digunakan sebagai

“saklar” yang menghubungkan antara Vcc dan CA pada seven segment, karena

register port 1 (P1) panjangnya 8 bit, maka bisa digunakan untuk “saklar” 8 buah

seven segment. Konfigurasi saklar menggunakan transistor PNP dengan skema dasar

ditunjukkan pada gambar 2.6.

Page 45: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

26

2.3 Seven Segment.

Komponen yang sering digunakan sebagai penampil selain LCD adalah

seven segment. Seven segment adalah susunan dari beberapa LED, susunan LED

tersebut terdiri dari 7 buah LED untuk menampilkan angka 1 sampai dengan 9 dan 1

buah LED untuk menampilkan titik. Setiap segment diberi nama dengan huruf dari a

sampai dengan g, sedangkan untuk menampilkan titik diberi nama dp. Dapat dilihat

pada gambar 2.7.

Gambar 2.7 Seven Segment. [6]

Gambar 2.8 Seven Segment Gambar 2.9 Seven Segment

Commond Anode [6] Commond Catode [6]

Page 46: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

27

Terdapat dua jenis seven segment pada umumnya, yaitu common anode dan

common catode. Perbedaan dari kedua jenis seven segment tersebut adalah pada letak

penyusunan LED. Jika seven segment jenis common anode susunan kaki-kaki anode

terhubung menjadi satu, sedangkan seven segment jenis common catode susunan

kaki-kaki catode terhubung menjadi satu. Dapat dilihat pada gambar 2.8 dan 2.9.

2.4. Decoder BCD

IC (Integrated Circuit) decoder BCD digunakan untuk membantu

mengaktifkan seven segment. IC ini berfungsi untuk mengubah masukan yang berupa

kode BCD menjadi kode 7 bit, dengan IC tersebut seven segment akan menghasilkan

tampilan angka decimal yang sesuai dengan kode BCD yang dimasukkan decoder

BCD ke seven segment. IC yang sering digunakan untuk mengaktifkan seven

segment adalah tipe 7447. Simbol IC decoder 7447 dapat dilihat pada gambar 2.10.

Gambar 2.10 Simbol IC 7447 [6]

Kaki a, b, c, d, e, f, g adalah kaki keluaran yang mempunyai keluaran aktif

“rendah”, yaitu dalam keadaan normal kaki tersebut mempunyai keadaan “tinggi”

dan jika IC tersebut aktif maka berubah menjadi “rendah”. Jika dilihat dari kondisi

tersebut, maka decoder ini digunakan untuk seven segment jenis common anode.

Page 47: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

28

Kaki LT (LampTest), RBI (Ripple Blanking Input), BI/RBO (Blanking Input/Ripple

Blanking Output) merupakan masukan yang aktif “rendah”. Jika kaki LT mendapat

masukan “rendah” maka seluruh kaki keluaran a, b, c, d, e, f, g menjadi aktif dan

seven segment akan menampilkan angka 8. Sedangkan kaki BI, jika mendapat

masukan “rendah” maka kaki keluaran akan menjadi “tinggi” dan seven segment

akan mati. Bila kaki RBI mendapat masukan “rendah” maka seven segment akan

mati. Tabel 2.5 adalah tabel kebenaran IC 7447.

Berdasarkan tabel 2.5, jika IC 7447 dihubungkan dengan seven segment maka

akan menampilkan seperti pada gambar 2.11.

Gambar 2.11 Tampilan Seven Segment Menggunakan IC 7447 [6]

Tabel 2.5 Tabel Kebenaran IC 7447. [6]

L= Low (Rendah)

H= High (Tinggi)

X= don’t care

Page 48: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

29

2.5. LED (Light Emitting Diode) sebagai Penampil.

LED digunakan sebagai penampil untuk pengganti pasir pada jam pasir

analog. Banyak pilihan warna pada LED, tergantung bahan apa yang digunakan pada

LED. Pada gambar 2.12 menunjukkan bentuk fisik dari LED.

Gambar 2.12 Gambar Fisik LED [8]

Page 49: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

BAB III

PERANCANGAN

3.1 Diagram Blok Rangkaian

Dalam perancangan Jam Pasir Digital Berbasis Mikrokontroler AT89S51

menggunakan komponen-komponen dasar, antara lain:

1. LED sebagai komponen pengganti pasir sebanyak 32 buah.

2. Mikrokontroler sebagai komponen yang berfungsi untuk pengontrol LED, supaya

menyerupai kerja jam pasir manual.

3. Seven segment sebagai komponen yang berfungsi sebagai penampil waktu berupa

angka desimal.

Untuk perancangan dan pembuatan jam pasir dari yang bersifat manual ke

jam pasir yang menggunakan teknologi elektronika, maka diagram blok dari

rangkaian tersebut seperti pada gambar 3.1.

Gambar 3.1 Diagram Blok Rangkaian

30

Page 50: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

31

Gambar 3.2 adalah layout jam pasir digital. Pada layout jam pasir digital

terdapat 4 buah tombol sakelar yang mempunyai fungsi sebagai tombol start, reset,

up, down. Selain tombol sakelar juga terdapat 2 buah seven segment dan 32 buah

LED. Seven segment berfungsi untuk menampilkan waktu dalam satuan menit dan

LED untuk menampilkan aliran pengganti pasir.

Gambar 3.2 Layout Jam Pasir Digital

3.2 Perancangan Rangkaian

Untuk memberi kemudahan dalam menganalisa dan mempelajari diagram

blok rangkaian gambar 3.1, maka setiap blok akan dipisah satu-persatu, yaitu :

1. Rangkaian Sakelar

2. Rangkaian Unit Pengolah.

3. Rangkaian Indikator.

4. Rangkaian Seven segment.

Page 51: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

32

3.2.1 Rangkaian Switch

Dalam perancangan jam pasir ini, digunakan 4 buah tombol (switch) yang

umum digunakan (push button). Ke 4 tombol tersebut dapat dilihat pada gambar 3.3

Down

10k

P3.5

5 Volt

P3.6

P3.7

Reset

Up

10uF

Start

Reset

Gambar 3.3 Rangkaian Switch

Dari ke 4 tombol tersebut mempunyai fungsi sebagai berikut:

1. Menjalankan perintah Start.

2. Menjalankan perintah Reset.

3. Menjalankan perintah Up, untuk penambahan waktu pada seven segment.

4. Menjalankan perintah Down, untuk pengurangan waktu pada seven segment.

Dalam perancangan jam pasir digital digunakan 4 buah tombol, keempat

tombol tersebut terdiri dari tombol start, reset, up, down. Fungsi dari empat tombol

tersebut sebagai tombol untuk menjalankan perintah start (port P3.7 yaitu pin 17)

yang dihubungkan dengan ground dan untuk menjalankan perintah reset (port RST

yaitu pin 9), sedangkan tombol up (port P3.5) dan down (port P3.6) untuk mengatur

waktu perpindahan aliran LED dari atas ke bawah, hingga LED bagian bawah

menyala semua. Gambar 3.2 adalah gambar rangkaian switch.

Page 52: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

33

3.2.2 Rangkaian Unit Pengolah

Mikrokontroler menjadi pengendali utama dari rangkaian jam pasir.

Pengendali (mikrokontroler AT89S51) tersebut memiliki 4 port (port 0, 1 2, 3).

Dengan port-port tersebut, maka setiap bagian yang akan dikendalikan atau diolah

oleh mikrokontroler dapat terpenuhi dalam perancangan sistem jam pasir digital.

Pada gambar 3.4 kristal (XTAL) berfungsi sebagai detak (clock) sebagai

pengatur siklus sinyal keluaran. Pembangkit clock internal menentukan kondisi-

kondisi (state) yang membentuk sebuah siklus mesin mikrokontroler. Jadi, satu siklus

mesin paling lama dikerjakan dalam 12 periode osilator atau 1 µd, karena pada

rangkaian mikrokontroler menggunakan kristal 12 MHz.

Gambar 3.4 Rangkaian mikrokontroler

Page 53: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

34

3.2.3 Rangkaian Indikator

Pada rangkaian indikator, digunakan transistor PNP 9012 yang berfungsi

sebagai saklar. Transistor seri 9012 dan 9013 dipilih karena masisng-masing

memiliki β sebesar 78 (minimum) dan 64 (minimum). Pada transistor PNP 9012 kaki

emitor dihubungkan dengan Vcc dan kaki basis dihubungkan dengan P1.0 (salah satu

dari port mikrokontroler). Jika Vcc = 5 V dan P1.0 = 0.45 V pada saat logika rendah

(dianggap di-ground-kan), maka transistor dalam keadaan jenuh (saturasi) atau VEC

= 0. Jadi, jika transistor dalam keadaan jenuh (saturasi) berarti transistor ON.

Sebaliknya jika pada kaki basis mendapat tegangan dari P1.0 pada saat logika

tinggi sebesar 5 volt, maka transistor dalam keadaan cut off. Jika transistor dalam

keadaan cut off, maka transistor OFF. Untuk lebih jelasnya dapat dilihat pada gambar

3.5.

Gambar 3.5 Rangkaian Cuplikan dari Rangkaian Indikator Transistor sebagai Saklar

Page 54: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

35

ON saat Saturasi ; OFF saat Cut Off

B

inEBEBSat R

VVVI

)( +−=

BRVVV )45.07.0(5 +−

=

mAII LEDC 101 ==

BC II .1 β=

β1C

BI

I =

7810mAI B =

mAI B 82.12=

B

inEBEBSat R

VVVI

)( +−=

BRVVVmA )45.07.0(582.12 +−

=

mAVRB 82.12

85.3=

Ω= 31.300BR

Jadi resistor (RB) menggunakan 300B Ω

C

LEDEC I

VVR −=

mAVVRC 10

1.25 −=

Ω= 290CR

Jadi resistor (RC) menggunakan 300Ω

Page 55: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

36

LED

300

300

LED

PA1.3

300

LED

PB3.2

300

PB0.1

PB2.1

300

LEDLED

300

300

LED

PA0.2

PB3.5

LED

PA1.5

P1.3

PA2.2

LED

300

LED

LED

300

5V

PA0.2

P1.4

PB3.1

9012PNP

LED

P1.2

PA2.4PA2.1

300

LED

PA4.1

LED

LED

LED

300

PA2.3

PB3.5

300

9012PNP

PA2.5

PB2.2

5V

PA3.3

PB2.5

P1.0

PA1.4

5V

300

PA4.1

PA1.1

LED

P2.4

300

300

LED

PA1.4

PB3.2

300

PB2.2

300

PA2.5

PA3.2

5V

300

LED

Q10PNP

PB2.3

5V

300

P1.1

PB1.1

PB3.3

300

PB2.4

LED

PA1.3

5V

300

300

PB4.1

PA1.2

PA3.3

5V

PB2.5

LED

9012PNP

PB1.1

PB2.1

LED

PB4.1

LED

9012PNP

PA1.5

PB1.3

PA3.1

LED

PB1.3

5V

300

300

PA2.2

300

PA2.3

5V

300

300

P2.2

PB0.1

9012PNP

LED

PA0.1

PA3.2

PA3.1

9012PNP

LED

300

9012PNP

PA1.1 PA1.25V

9012PNP

LED

P2.1

LED

PB3.4

300

P2.0

PB3.4

LED

PA0.1

PA2.1

300

300

LED

P2.3

9012PNP

LED300

300

LED

PB3.1

PB4.2

PB1.2

PB2.3

300

PA2.4

PB4.2

PB2.4

300

PB1.2

300

300

300

300

LED

300

300

300

PB3.3

Gambar 3.6 Rangkaian LED Indikator

Page 56: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

37

Jika pada gambar 3.5 adalah gambar cuplikan dari rangkaian indikator, maka

pada gambar 3.6 adalah gambar rangakain indikator utuh dengan 10 transistor PNP

9012.

Perancangan rangkaian indikator berfungsi untuk mengatur jenis-jenis aliran

LED agar perpindahan LED dari atas ke bawah dapat terlihat secara teratur,

walaupun aliran LED diatur pada saat program dijalankan oleh mikrokontroler.

Rangkaian indikator tersebut menggunakan 3 buah port yaitu port 1 (P1.0…..P1.5),

port 2 (P2.0…..P2.5) dan port 3 (P3.0…..P3.5), dapat dilihat pada gambar 3.6.

3.2.4 Rangkaian Tampilan Seven Segment

Gambar 3.7 Rangkaian Penampil Waktu pada Seven Segment

Gambar 3.7 merupakan gambar rangkaian seven segment untuk menampilkan

tampilan waktu dalam satuan menit. Berdasarkan data sheet dari seven segment,

dapat diketahui bahwa arus yang dapat melewati seven segment atau IF(7’S) = 10mA

dengan tegangan VF(7’S) = 1.8 V. Tegangan keluaran dari decoder pada saat logika

rendah sebesar VOL = 0.25 V, maka resistansi yang harus digunakan agar tidak

Page 57: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

38

melebihi batas maksimal 2.2 V (data sheet seven segment) dapat diperoleh dengan

perhitungan sebagai berikut:

Vcc = VF(7’S) + VRS + VOL

= VF(7’S) + IF(7’S).RS + VOL

Rs = )'7(

)'7( )(

SF

OLSFcc

IVVV +−

= mA

VVV10

)25.08.1(5 +−

= 295Ω

Karena resistor 295Ω tidak ada di pasaran maka dalam perancangan, nilai

resistor yang digunakan menjadi 300Ω . Jika resistor yang digunakan sebesar 300Ω

kemungkinan besar komponen akan terhindar dari arus lebih.

Dalam perancangan, seven segment berfungsi untuk menampilkan waktu

dalam hitungan menit, maka digunakan transistor yang berfungsi sebagai saklar

untuk proses scanning kedua seven segment. Karena kedua seven segment pada

gambar 3.7 tidak dapat menyala bersamaan, maka digunakan teknik scanning pada

kedua seven segment. Karena proses scanning pada seven segment sangat cepat,

maka seven segment kelihatan menyala bersamaan tetapi sebetulnya menyala

bergantian.

Transistor yang digunakan adalah transistor PNP karena mikrokontroler akan

mengeluarkan logika rendah sebagai tanda aktif seven segment. Transistor seri 9012

dipilih karena memiliki β sebesar 78 (minimum). Tegangan keluaran

mikrokontroler pada saat logika rendah adalah VOL(mikro) sebesar 0.45 V. Perhitungan

untuk menentukan nilai resistor pada kaki basis adalah sebagai berikut:

Page 58: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

39

IC = 8.10mA

= 80mA

IC = β .IBB

=βCI

= 78

80mA

= 1.025mA

RB = B

B

B

IV

= B

mikroOLBECC

IVVV )( )(+−

= mA

VVV025.1

)45.07.0(5 +−

= 3756.1Ω

Karena resistor dengan nilai 3756.1Ω tidak terdapat di pasaran maka

digunakan resistor dengan nilai 3900Ω .

3.3 Perancangan Software

Untuk menjalankan aliran LED dari atas ke bawah dengan perubahan waktu

yang telah ditentukan (range waktu perpindahan LED) yaitu dengan menekan tombol

start. Saat tombol start ditekan, maka mikrokontroler akan aktif dan melakukan

inisialisasi, yaitu mengisi data-data dalam mikrokontroler dari data-data awal

program.

Page 59: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

40

Perubahan waktu ditentukan dengan menekan tombol up atau down dan

mikrokontroler akan mengaktifkan seven segment untuk tampilan waktu awal “3.0”.

Kemudian mikrokontroler akan masuk ke subrutin cek tombol, dalam subrutin

apabila tombol up atau down ditekan maka program akan masuk ke program utama

untuk menjalankan program utama. Pada rangkaian jam pasir digital terdapat 5 baris

LED, jadi setiap ada masukan perubahan waktu perpindahan LED dari tombol up

atau down, maka setiap masukan tersebut akan dibagi 5. Maksimal masukan untuk

perubahan waktu perpindahan LED adalah 60 menit dan minimal masukan

perubahan waktu perpindahan LED adalah 0 menit. Waktu default pada jam pasir

digital di-set pada program, yaitu sebesar 30 menit. Jika masukan perubahan waktu

perpindahan LED 15 menit, dapat diperoleh:

515menitT =

= 3 menit

Jadi ketika masukan perubahan waktu perpindahan LED 15 menit, maka setiap baris

pada indikator mempunyai waktu perpindahan 3 menit.

Prinsip kerja dari jam pasir ini adalah jika tombol start ditekan, maka jam

pasir akan bekerja. LED pada bagian atas jam pasir akan menyala sesuai waktu

default pada program yaitu 30 menit dan waktu setting-an tersebut akan ditampilkan

pada seven segment. LED tersebut akan mati tiap baris dari atas ke bawah, dan

berpindah ke LED bagian bawah jam pasir. Pada LED bagian bawah jam pasir akan

menyala tiap baris dari bawah ke atas sampai penuh. Jika tombol Up atau Down

ditekan, maka waktu perubahan untuk setting waktu akan bertambah 1 menit untuk

sekali penekanan tombol Up dan akan berkurang 1 menit untuk sekali penekanan

Page 60: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

41

tombol Down. Penambahan dan pengurangan waktu perubahan waktu tersebut

nantinya juga akan ditampilkan pada seven segment. Tombol Reset berfungsi untuk

mengembalikan setting-an awal. Proses penyalaan LED dapat dilihat pada gambar

3.8.

Gambar 3.8 Gambar Pergerakan LED

Page 61: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

42

3.3.1 Diagram Alir Program Menyalakan Led (Flowchart)

Diagram alir program untuk menyalakan led pada jam pasir digital ditunjukan

pada gambar 3.9

Gambar 3.9 Flowchart Program Utama

Pada diagram alir (flowchart) pertama menjalankan perintah inisialisasi timer

1 dan mode 1, dengan waktu default pada program sebesar 30 menit. Lalu

menyalakan semua led dan menampilkan waktu Tdefault pada seven segment,

kemudian menyimpan waktu Tdefault yang ditampilkan pada alamat yang sudah

ditentukan. Langkah selanjutnya proses pengecekkan tombol up, down, dan start.

Page 62: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

43

Jika ada perubahan pada pengaturan waktu, maka perubahan tersebut disimpan lagi

pada alamat yang sudah ditentukan.

3.3.2 Diagram Alir (Flowchart) Panggil Proses Tombol

Gambar 3. 10 menunjukan diagram alir (flowchart) proses panggil tombol

untuk mengatur perubahan waktu Tdefault.

Gambar 3.10 Flowchart Panggil Proses Tombol

Page 63: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

44

Diagram alir panggil proses tombol dapat dilihat pada gambar 3. 19. Pertama

pengeceken apakah tombol up ditekan, jika ya maka waktu Tdefault ditambah 1 (satu).

Perubahan waktu tersebut disimpan pada alamat yang sudah ditentukan. Waktu yang

sudah berubah akan ditampilkan pada seven segment. Jika tombol up tidak ditekan,

maka akan mengecek apakah tombol down ditekan. Jika tombol down ditekan, maka

waktu Tdefault dikurangi 1 (satu). Lalu perubahan waktu tersebtu disimpan pada

alamat yang sudah ditentukan dan ditampilkan pada seven segment. Jika tombol

down tidak ditekan, maka akan mengecek apakah tombol start ditekan. Jika ya maka,

aliran led dijalankan sesuai waktu T yang ditampilkan pada seven segment. Jika

waktu aliran led sudah selesai, maka akan kembali ke pengaturan awal.

3.3.3 Diagram Alir (flowchart) Penampil Waktu pada Seven Segment.

Diagram alir (flowchart) pada gambar 3.11 pertama menampilkan angka 30

pada seven segment dan simpan pada alamat yang sudah ditentukan. Lalu

pengecekan apakah ada perubahan waktu. Jika tidak, maka tetap menampilkan angka

30. Jika ada perubahan, maka perubahan tersebut akan dikurangi 10 dan simpan hasil

pengurangan pada alamat yang sudah ditentukan.. Lalu melakukan pengecekan

apakah ada sisa dari pengurangan tersebut. Jika ya, maka sisa hasil pengurangan

ditambah 10 dan simpan pada alamat yang sudah ditentukan. Jika tidak, maka

tampilkan hasil pengurangan pada seven segment pertama dan tampilkan angka 0

pada seven segment kedua. Pada saat menampilkan waktu, antara seven segment

pertama dan kedua diberi tunda. Sehingga seven segment pertama dan kedua menyala

secara bergantian (scanning). Untuk lebih jelasnya lihat gambar 3.11.

Page 64: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

45

Gambar 3.11 Flowchart Penampil Waktu pada Seven Segment

Page 65: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

46

3.3.4 Diagram Alir (flowchart) Pemberian Tunda Pada Aliran Led

Pada gambar 3.12 menunjukan diagram alir (flowchart) pemberian tunda

pada aliran led

Gambar 3.12 Flowchart Pemberian Tunda Waktu pada Aliran Led

Page 66: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

47

Pada diagram alir pemberian tunda pada aliran led pertama menyimpan T

pada alamat yang sudah ditentukan. Lalu bagi T dengan angka 5, karena aliran led

ada 5 baris. Simpan hasil pembagian pada alamat yang sudah ditentukan. Lalu

kalikan sisa hasil pembagian dengan angka 12, karena 0.2 dari 60 adalah 12. Lalu

pengecekan apakah hasil pembagian adalah 0. Jika tidak, maka isi tunda dengan 1

detik. Setelah itu ulangi tunda sampai 60 kali (proses tunda1 = 1menit). Lalu ulangi

tunda1 sampai sebesar hasil pembagian. Jika hasil pembagian adalah 0, maka akan

melakukan pengecekan apakah hasil perkalian dari sisa pembagian adalah 0. jika

tidak, isi tunda3 dengan 1 detik. Lalu ulangi tunda3 sampai sebesar hasil perkalian

dari sisa hasil pembagian. Jika hasil perkalian dari sisa pembagian adalah 0 maka

lompat ke selesai. Untuk lebih jelasnya lihat gambar 3.12.

Page 67: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

BAB IV

HASIL PENGAMATAN DAN PEMBAHASAN

4.1. Prinsip Kerja.

Prinsip kerja dari jam pasir digital adalah jika sakelar on, maka semua led

akan menyala dan seven segment menampilkan angka 30. Angka 30 berarti, led baris

6, 7, 8, 9, 10 akan menyala semua dalam waktu 30 menit. Led akan menyala jika pada

mikrokontroler port 1 bit 1 sampai bit 5 berlogika rendah dan akan mati jika port 2 bit

1 sampai bit 5 berlogika tinggi. Jam pasir digital dilengkapi dengan 4 tombol, yaitu

tombol start, up down, dan reset. Dapat dilihat pada gambar 4.1.

Gambar 4.1 Layout Jam Pasir Digital

48

Page 68: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

49

Tombol start berfungsi sebagai tombol untuk menjalankan perpindahan aliran

led. Tombol up berfungsi untuk menambah tunda waktu perpindahan aliran led.

Setiap ditekan 1 kali, maka tunda waktu bertambah 1 menit. Tombol down berfungsi

untuk mengurangi tunda waktu perpindahan aliran led. Setiap ditekan 1 kali, maka

tunda waktu berkurang 1 menit. Tombol reset berfungsi untuk mengatur ulang, jika

pengaturan waktu salah. Jika perpindahan led sudah berjalan, maka tombol up dan

down tidak berfungsi lagi.

4.2 Pengamatan Perpindahan Aliran Led

Pengamatan aliran led berfungsi untuk mengetahui apakah aliran dapat

mengalir dengan benar. Tunda waktu perpindahan aliran led dapat diatur dari rentang

waktu 00 menit sampai 60 menit. Jika jam pasir digital diatur dengan tunda waktu 00

menit, maka bila tombol start ditekan led bagian bawah (baris 6, 7, 8, 9, 10) langsung

menyala semua.

Gambar 4.2 Perpindahan Aliran Led dengan Tunda Waktu 3 menit.

Page 69: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

50

Jika tunda waktu aliran led diatur dari 1 menit sampai 60 menit, maka baris led 6, 7,

8, 9, 10 langsung mati. Tetapi akan menyala kembali setelah tunda waktu selesai

berjalan.

Jika perpindahan aliran led sudah selesai sesuai dengan tunda yang sudah

ditentukan, maka akan kembali pada pengaturan awal yaitu led menyala semua dan

seven segment menampilkan angka 30. untuk lebih jelasnya dapat dilihat pada

gambar 4.2.

4.3 Pengamatan Tunda Waktu

Tunda waktu berfungsi untuk menentukan tunda pada perpindahan led. Data

tunda waktu diperoleh berdasarkan perhitungan waktu pada stopwatch. Tabel 4.1

adalah data pengamatan tunda waktu dari 1 menit sampai 60 menit dan tabel 4.2

adalah data tunda waktu tiap baris led.

Tabel 4.1 Data Pengamatan Tunda Waktu Data Seven

Segment Data

Stopwatch Error Data Seven

Segment Data

Stopwatch Error

01 menit 58 detik 3.33 % 31 menit 31 menit 34 detik 1.82 % 02 menit 01 menit 56 detik 3.33 % 32 menit 32 menit 37 detik 1.92 % 03 menit 02 menit 54 detik 3.33 % 33 menit 33 menit 29 detik 1.42 % 04 menit 03 menit 52 detik 3.33 % 34 menit 34 menit 30 detik 1.47 % 05 menit 05 menit 00 detik 0 % 35 menit 35 menit 46 detik 2.19 % 06 menit 05 menit 58 detik 0.55 % 36 menit 36 menit 39 detik 1.80 % 07 menit 06 menit 56 detik 0.95 % 37 menit 37 menit 39 detik 1.75 % 08 menit 07 menit 54 detik 1.25 % 38 menit 38 menit 33 detik 1.44 % 09 menit 08 menit 52 detik 1.48 % 39 menit 39 menit 43 detik 1.83 % 10 menit 10 menit 04 detik 0.66 % 40 menit 41 menit 07 detik 2.79 % 11 menit 11 menit 02 detik 0.30 % 41 menit 42 menit 06 detik 2.68 % 12 menit 12 menit 01 detik 0.13 % 42 menit 43 menit 00 detik 2.38 % 13 menit 12 menit 59 detik 0.12 % 43 menit 44 menit 00 detik 2.32 % 14 menit 13 menit 57 detik 0.38 % 44 menit 45 menit 01 detik 2.25 % 15 menit 15 menit 06 detik 0.66 % 45 menit 46 menit 10 detik 2.59 % 16 menit 16 menit 04 detik 0.41% 46 menit 47 menit 12 detik 2.60 %

Page 70: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

51

Lanjutan tabel 4.1 Data Seven

Segment Data

Stopwatch Error Data Seven

Segment Data

Stopwatch Error

17 menit 17 menit 02 detik 0.19 % 47 menit 48 menit 10 detik 2.48 % 18 menit 18 menit 01 detik 0.09 % 48 menit 49 menit 09 detik 2.39 % 19 menit 18 menit 59 detik 0.08 % 49 menit 50 menit 10 detik 2.38 % 20 menit 20 menit 16 detik 1.33 % 50 menit 51 menit 40 detik 3.33 % 21 menit 21 menit 15 detik 1.19 % 51 menit 52 menit 40 detik 3.26 % 22 menit 22 menit 13 detik 0.98 % 52 menit 53 menit 42 detik 3.26 % 23 menit 23 menit 12 detik 0.86 % 53 menit 54 menit 40 detik 3.14 % 24 menit 24 menit 11 detik 0.76 % 54 menit 55 menit 41 detik 3.11 % 25 menit 25 menit 20 detik 1.33 % 55 menit 56 menit 52 detik 3.09 % 26 menit 26 menit 19 detik 1.21 % 56 menit 57 menit 51 detik 3.30 % 27 menit 27 menit 18 detik 0.11 % 57 menit 58 menit 50 detik 3.21 % 28 menit 28 menit 16 detik 0.95 % 58 menit 59 menit 51 detik 3.18 % 29 menit 29 menit 20 detik 1.14 % 59 menit 60 menit 47 detik 3.02 % 30 menit 30 menit 38 detik 2.11 % 60 menit 62 menit 25 detik 4.02 %

Perhitungan untuk error pada tabel 4.1 sebagai berikut:

%100×−

=segmentsevendata

stopwatchdatasegmentsevendataError

Contoh untuk error pada tunda waktu 1 menit:

Data seven segment = 1 menit = 60 detik

Data stopwatch = 58 detik

%10060

5860×

−=Error

%100602×=Error

= 3.33 %

Tabel 4.2 Data Pengamatan Tunda waktu Tiap Baris Led Tunda Waktu Led

1 Menit Error 2 Menit Error 3 Menit Error 4 Menit Error 5 Menit Error 1 11 detik 8.33 % 23 detik 4.16 % 34 detik 0.00 % 46 detik 0.00 % 60 detik 0.00 % 2 12 detik 0 % 23 detik 4.16 % 35 detik 2.94 % 46 detik 0.00 % 60 detik 0.00 % 3 11 detik 8.33 % 23 detik 4.16 % 35 detik 2.94 % 47 detik 2.17 % 60 detik 0.00 % 4 12 detik 0 % 23 detik 4.16 % 34 detik 0.00 % 46 detik 0.00 % 60 detik 0.00 % 5 12 detik 0% 24 detik 0 % 36 detik 5.88 % 47 detik 2.17 % 60 detik 0.00 %

Page 71: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

52

Lanjutan tabel 4.2 Tunda Waktu Led

6 Menit Error 7 Menit Error 8 Menit Error 9 Menit Error 10 Menit Error 1 71 detik 1.33 % 83 detik 1.19 % 95 detik 1.04 % 106 detik 1.85 % 121 detik 0.83 % 2 72 detik 0.00 % 83 detik 1.19 % 94 detik 2.08 % 106 detik 1.82 % 120 detik 0.00 % 3 72 detik 0.00 % 83 detik 1.19 % 94 detik 2.08 % 107 detik 0.92 % 121 detik 0.83 % 4 71 detik 1.33 % 84 detik 0.00 % 95 detik 1.04 % 106 detik 1.85 % 121 detik 0.83 % 5 72 detik 0.00 % 83 detik 1.19 % 95 detik 1.04 % 107 detik 0.92 % 121 detik 0.83 % 11 Menit Error 12 Menit Error 13 Menit Error 14 Menit Error 15 Menit Error

1 132 menit 0.00 % 144 menit 0.00 % 155 detik 0.64 % 168 detik 0.00 % 181 detik 0.55 % 2 132 menit 0.00 % 144 menit 0.00 % 156 detik 0.00 % 168 detik 0.00 % 181 detik 0.55 % 3 133 menit 0.75 % 144 menit 0.00 % 156 detik 0.00 % 166 detik 1.19 % 181 detik 0.55 % 4 133 menit 0.75 % 144 menit 0.00 % 155 detik 0.64 % 168 detik 0.00 % 182 detik 1.11 % 5 132 menit 0.00 % 145 menit 0.68 % 157 detik 0.64 % 167 detik 0.59 % 181 detik 0.55 % 16 Menit Error 17 Menit Error 18 Menit Error 19 Menit Error 20 Menit Error

1 193 detik 0.52 % 204 detik 0.00 % 216 detik 0.00 % 226 detik 0.87 % 243 detik 1.25 % 2 192 detik 0. 0 % 205 detik 0.49 % 216 detik 0.00 % 230 detik 0.87 % 244 detik 1.66 % 3 193 detik 0.52 % 205 detik 0.49 % 216 detik 0.00 % 228 detik 0.00 % 242 detik 0.83 % 4 193 detik 0.52 % 204 detik 0.00% 216 detik 0.00 % 227 detik 0.43 % 244 detik 1.56 % 5 193 detik 0.52 % 204 detik 0.00 % 217 detik 0.48 % 225 detik 1.31 % 243 detik 1.25 % 21 Menit Error 22 Menit Error 23 Menit Error 24 Menit Error 25 Menit Error

1 255 detik 1.19 % 266 detik 0.75 % 278 detik 0.72 % 290 detik 0.29 % 304 detik 1.33 % 2 255 detik 1.19 % 267 detik 1.13 % 279 detik 1.08 % 290 detik 0.29 % 304 detik 1.33 % 3 255 detik 1.19 % 267 detik 1.13 % 278 detik 0.72 % 290 detik 0.29 % 304 detik 1.33 % 4 255 detik 1.19 % 267 detik 1.13 % 279 detik 1.13 % 291 detik 1.04 % 304 detik 1.33 % 5 255 detik 1.19 % 266 detik 0.75 % 278 detik 0.72 % 290 detik 0.29 % 304 detik 1.33 % 26 Menit Error 27 Menit Error 28 Menit Error 29 Menit Error 30 Menit Error

1 316 detik 1.28 % 328 detik 1.23 % 338 detik 0.59 % 352 detik 1.14 % 367 detik 1.94 % 2 316 detik 1.28 % 328 detik 1.23 % 340 detik 1.19 % 350 detik 0.57 % 367 detik 1.94 % 3 315 detik 0.96 % 328 detik 1.23 % 340 detik 1.19 % 351 detik 0.86 % 368 detik 2.22 % 4 317 detik 1.60 % 329 detik 1.54 % 339 detik 0.89 % 351 detik 0.86 % 367 detik 1.94 % 5 315 detik 0.96 % 328 detik 1.23 % 339 detik 0.89 % 351 detik 0.86 % 369 detik 2.50 % 31 Menit Error 32 Menit Error 33 Menit Error 34 Menit Error 35 Menit Error

1 379 detik 1.88 % 391 detik 1.82 % 402 detik 1.51 % 414 detik 1.47 % 429 detik 2.14 % 2 379 detik 1.88 % 392 detik 2.08 % 401 detik 1.26 % 413 detik 1.22 % 430 detik 2.38 % 3 378 detik 1.61 % 392 detik 2.08 % 402 detik 1.51 % 414 detik 1.47 % 428 detik 1.90 % 4 379 detik 1.88 % 391 detik 1.82 % 402 detik 1.51 % 415 detik 1.71 % 429 detik 2.14 % 5 379 detik 1.88 % 391 detik 1.82 % 402 detik 1.51 % 414 detik 1.47 % 429 detik 2.14 % 36 Menit Error 37 Menit Error 38 Menit Error 39 Menit Error 40 Menit Error

1 440 detik 1.85 % 452 detik 1.80 % 463 detik 153 % 476 detik 1.70 % 493 detik 2.70 % 2 441 detik 2.08 % 452 detik 1.80 % 463 detik 153 % 477 detik 1.92 % 494 detik 2.91 % 3 439 detik 1.62 % 451 detik 1.57 % 462 detik 1.31 % 478 detik 2.13 % 493 detik 2.70 % 4 440 detik 1.85 % 452 detik 1.80 % 462 detik 1.31 % 476 detik 1.70 % 494 detik 2.91 % 5 440 detik 1.85 % 452 detik 1.80 % 463 detik 1.53 % 476 detik 1.70 % 493 detik 2.70 % 41 Menit Error 42 Menit Error 43 Menit Error 44 Menit Error 45 Menit Error

1 505 detik 2.64 % 516 detik 1.58 % 528 detik 2.32 % 540 detik 2.27 % 554 detik 2.59 % 2 506 detik 2.84 % 516 detik 1.58 % 528 detik 2.32 % 540 detik 2.27 % 554 detik 2.59 % 3 505 detik 2.64 % 516 detik 1.58 % 528 detik 2.32 % 541 detik 2.46 % 553 detik 2.40 % 4 505 detik 2.64 % 516 detik 1.58 % 528 detik 2.32 % 540 detik 2.27 % 554 detik 2.59 % 5 505 detik 2.64 % 516 detik 1.58 % 528 detik 2.32 % 540 detik 2.27 % 555 detik 2.77 % 46 Menit Error 47 Menit Error 48 Menit Error 49 Menit Error 50 Menit Error

1 566 detik 2.53 % 578 detik 2.48 % 590 detik 2.43 % 602 detik 2.38 % 620 detik 3.33 % 2 566 detik 2.53 % 578 detik 2.48 % 590 detik 2.43 % 601 detik 2.21 % 619 detik 3.16 % 3 567 detik 2.71 % 577 detik 2.30 % 589 detik 2.25 % 602 detik 2.38 % 521 detik 3.5 % 4 566 detik 2.53 % 579 detik 2.65 % 590 detik 2.43 % 603 detik 2.55 % 620 detik 3.33 % 5 567 detik 2.71 % 578 detik 2.48 % 591 detik 2.60 % 602 detik 2.38 % 620 detik 3.33 %

Page 72: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

53

Lanjutan tabel 4.2 Tunda Waktu Led

51 Menit Error 52 Menit Error 53 Menit Error 54 Menit Error 55 Menit Error 1 632 detik 3.26 % 644 detik 3.20 % 656 detik 3.14 % 668 detik 3.08 % 682 detik 3.33 % 2 633 detik 3.43 % 645 detik 3.36 % 656 detik 3.14 % 668 detik 3.08 % 682 detik 3.33 % 3 632 detik 3.26 % 644 detik 3.20 % 657 detik 3.30 % 669 detik 3.24 % 683 detik 3.33 % 4 631 detik 3.10 % 644 detik 3.20 % 655 detik 2.98 % 668 detik 3.24 % 683 detik 3.33 % 5 632 detik 3.26 % 645 detik 3.36 % 656 detik 3.14 % 668 detik 3.24 % 682 detik 3.18 % 56 Menit Error 57 Menit Error 58 Menit Error 59 Menit Error 60 Menit Error

1 694 detik 3.27 % 706 detik 3.21 % 718 detik 3.16 % 729 detik 2.96 % 749 detik 4.02 % 2 694 detik 3.27 % 705 detik 3.07 % 718 detik 3.16 % 730 detik 3.10 % 749 detik 4.02 % 3 695 detik 3.42 % 706 detik 3.21 % 718 detik 3.16 % 730 detik 3.10 % 748 detik 3.88 % 4 694 detik 3.27 % 707 detik 3.36 % 719 detik 3.30 % 729 detik 2.96 % 750 detik 4.16 % 5 694 detik 3.27 % 706 detik 3.21 % 718 detik 3.16 % 729 detik 2.96 % 749 detik 4.02 %

Perhitungan untuk error pada tabel 4.2 dihitung tiap baris. perhitungannya sebagai

berikut:

%100×−

=waktutundadata

stopwatchdatawaktudatundataError

Contoh untuk error tunda waktu1 menit baris led 1:

Tunda waktu 1 menit (60 detik), berarti tunda waktu untuk tiap barisnya adalah

125

60==baris

Data Tunda Waktu = 12 detik

Data stopwatch = 11 detik

%10012

1112×

−=Error

%100121×=Error

= 8.33 %

Dari data tabel 4.1 dan 4.2 terdapat error yang masih dalam batas toleransi

error yaitu 5 % [4], kecuali pada baris 1 dan 3 tunda waktu 1 menit. Error tersebut

Page 73: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

54

dikarenakan tunda waktu hanya 1 menit atau 12 detik tiap barisnya. Sehingga

presentase error-nya menjadi besar. Tetapi, error untuk keseluruhan baris adalah 3.33

% sehingga masih dalam toleransi error.

4.4 Pengamatan Tiap Rangkaian

Pengamatan data diambil berdasarkan pengukuran setiap blok rangkaian.

Rangkaian tersebut antara lain adalah

4.4.1 Rangkaian tombol.

Berdasarkan data pada tabel 4.3, maka tombol akan berfungsi jika

mikrokontroler berlogika aktif rendah. Berlogika rendah, karena jika tombol ditekan

tegangan pada tombol ’0’ Volt, jika tidak ditekan tegangannya 3.35 Volt.

Jika dibandingkan dengan dasar teori, jika salah satu port pada mikrokontroler

dihubungkan dengan ground, maka akan berlogika ’0’. Karena setiap tombol

dihubungkan dengan ground, maka masing-masing tombol dapat digunakan sebagai

masukan.

Tabel 4.3 Data Pengamatan Rangakain Tombol Tombol Tidak ditekan Ditekan

Start 3.35 Volt 0 Volt Up 3.35 Volt 0 Volt

Down 3.35 Volt 0 Volt Reset 3.30 Volt 0 Volt

4.4.2 Rangkaian Led

Rangkaian led berfungsi untuk menyalakan dan memadamkan led dengan

menggunakan transistor sebagai sakelar.

Page 74: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

55

Tabel 4.4 Pengamatan tegangan pada transistor

Led Menyala Led Mati VRB rata-rata

Pengamatan VRB rata-rata

Perancangan Error

Rata-rata VRB rata-rata

Pengamatan VRB rata-rata

Perancangan Error

Rata-rata 3.78 Volt 3.85 Volt 1.81 % -4.11 Volt -4.30 Volt 4.41 % VRC rata-rata

Pengamatan VRC rata-rata

Perancangan Error

Rata-rata VRC rata-rata

Pengamatan VRC rata-rata

Perancangan Error

Rata-rata 2.79 Volt 2.90 Volt 3.79 % 0 Volt 0 Volt 0 %

Berdasarkan tabel 4.4 led akan menyala, jika transistor dalam keadaan saturasi dan

led akan mati, jika transistor cut off. Tegangan pada transistor saat saturasi dan cut off

dapat dilihat pada tabel 4.4.

Arus yang masuk ke mikrokontroler dapat diketahui dengan berdasarkan data

pada tabel 4.4. Jika VRB pengamatan diketahui, maka arus yang masuk ke mikrokontroler

adalah sebagai berikut :

IB = B

B

RB

RV

IB = B

Ω30078.3 Volt

IB = 12.6 mA B

Arus IB sebesar 12.6 mA, maka nilai IB BB melebihi batas maksimal arus yang mampu

diserap mikrokontroler, yaitu sebesar 1.6 mA. Nilai IB yang tidak sesuai dengan batas

maksimal tersebut disebabkan karena R

B

BB terlalu kecil. Nilai RB seharusnya sebesar : B

RB = B

B

RB

IV

RB = B

mAVolt

6.178.3

Page 75: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

56

RB = 2362.5 Ω B

RB = 2.4 kΩ B

Jadi nilai RB yang seharusnya digunakan sebesar 2.4 kΩ. Dapat disimpulkan bahwa

R

B

BB sebesar 300 Ω tidak dianjurkan dalam pembuatan jam pasir digital ini, karena

dapat merusak mikrokontroler. Tetapi dengan menggunakan RB sama dengan 300 Ω

alat masih bisa bekerja seperti yang diharapkan. Untuk lebih amannya disaran

memakai R

B

B sama dengan 2.4 kΩ

Adanya error tegangan pada transistor tidak mempengaruhi kinerja dari alat

ini. Karena error masih dalam rentang toleransi error [4].

Perhitungan error didapat dari :

%100tan

tan ×−

=pengamaRB

nganRBperangcapengamaRB

VVV

error

Misal untuk VRB saat led menyala :

VRBpengamatan = 3.78 Volt

VRBperancangan = 3.85 Volt

%10078.3

85.378.3×

−=error

%10078.335.0

×=Error

= 1.81 %

Page 76: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

57

4.4.3 Rangkaian Seven Segment

Rangkaian seven segment berfungsi untuk menampilkan data tunda waktu

pada perpindahan aliran led. Seven segment akan menyala, jika pada IC BCD diberi

masukan dari mikrokontroler dan VCC sebesar 5 Volt. Dalam penelitian ini digunakan

2 buah seven segment. Maka cara penyalaannya dilakukan dengan cara scanning.

IC BCD akan bekerja, jika mendapat tegangan sebesar 5 Volt. Data masukan

dan keluaran IC BCD dapat dilihat pada tabel kebenaran datasheet.

4.5 Pembahasan Program

Setiap subroutine akan dibahas sendiri-sendiri, sehingga dapat mempermudah

dalam menganalisa. Subroutine tersebut antara lain :

4.5.1 Subroutine Pengaturan Tunda Waktu.

Subroutine Pengaturan tunda waktu berfungsi untuk mengatur tunda waktu

setiap baris perpindahan aliran led. Tiap masukan tunda waktu akan dibagi ’5’.

Dibagi ’5’ karena ada 5 perpindahan aliran led. Jika terdapat sisa pembagian, maka

akan dikalikan ’12’. Perkalian ini dilakukan karena 0.2 dari 60 adalah 12. Untuk

menjalankan program tersebut, berikut penggalan program tersebut:

dataPROSES equ 4bh ;simpan dataPROSES ke alamat 4bh dataMENIT equ 10h ;simpan dataMENIT ke alamat 10h dataDETIK1 equ 1ah ;simpan dataDETIK1 ke alamat 1ah dataDETIK2 equ 1bh ;simpan dataDETIK2 ke alamat 1bh ; mov A,dataPROSES ;salin isi lokasi memori dataPROSES ke A mov B,#05h ;Isi register B dengan nilai 05h div AB ;data pada seven segment dibagi 5 mov dataMENIT,A ;Salin A ke lokasi memori dataMENIT

Page 77: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

58

mov dataDETIK1,B ;Salin register B ke lokasi memori dataDETIK1 mov B,#12 ;Isi register B dengan nilai 12 mov A,dataDETIK1 ;salin lokasi memori dataDETIK1 ke A mul AB ;sisa pembagian dari data 7segment dikali 12 mov dataDETIK2,A ;Salin A ke lokasi memori dataDETIK1

4.5.2 Penyalaan Led

Led akan menyala, jika port 1 dan port 2 pada mikrokontroler berlogika

rendah. Tabel 4.5 adalah data masukan untuk port 1 dan port 2

Tabel 4.5. Data Masukan untuk Port 1 dan Port 2. Port 1 Port 2 Data

Heksa Biner Heksa Biner Barid Led yang Nyala

Baris Led yang Mati

1 0E0h 11100000 0FFh 11111111 1, 2, 3, 4, 5 6, 7, 8, 9, 10 2 0E1h 11100001 0FEh 11111110 2, 3, 4, 5, 10 1, 6, 7, 8, 9 3 0E3h 11100011 0FCh 11111100 3, 4, 5, 9, 10 1, 2, 6, 7, 8 4 0E7h 11100111 0F8h 11111000 4, 5, 8, 9, 10 1, 2, 3, 6, 7 5 0EFh 11101111 0F0h 11110000 5, 7, 8, 9, 10 1, 2, 3, 4, 6 6 0FFh 11111111 0E0h 11100000 6, 7, 8, 9, 10 1, 2, 3, 4, 5

Tabel 4.6. Hubungan antara Data Biner dengan Led

Port 1 Port 2 Bit Bit

Data

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

Baris Led yang nyala

Baris Led yang mati

1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1, 2, 3, 4, 5 6, 7, 8, 9, 10 2 1 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 2, 3, 4, 5, 10 1, 6, 7, 8, 9 3 1 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 3, 4, 5, 9, 10 1, 2, 6, 7, 8 4 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 4, 5, 8, 9, 10 1, 2, 3, 6, 7 5 1 1 1 1 0 1 1 1 0 0 0 0 1 1 1 1 5, 7, 8, 9, 10 1, 2, 3, 4, 6 6 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 6, 7, 8, 9, 10 1, 2, 3, 4, 5

Penyalaan led dapat dilakukan dengan menentukan data pada port 1 dan 2, dapat

dilihat pada tabel 4.5. Data dimulai dari bit ke ‘1’ sampai bit ke ‘5’. Data tersebut

digunakan untuk menentukan penyalaan led tiap baris led pada port 1. Misalnya jika

port 1 dan port 2 diberi masukan data ke ‘1’, maka baris led yang menyala adalah

baris 1, 2, 3, 4, 5 dan baris led yang mati adalah 6, 7, 8, 9, 10. Setiap data akan diberi

tunda waktu, agar dapat diatur waktu perpindahannya. Tabel 4.6 adalah hubungan

Page 78: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

59

antara data biner dengan baris led. Baris led hanya menggunakan bit ke ‘0’ sampai bit

ke ‘4’, jadi bit ke ‘5’ sampai bit ‘7’ tidak digunakan dan selalu berlogika ’1’.

Dalam pengujian listing program penyalaan led, led dapat menyala sesuai

dengan listing program. Pertama-tama semua led menyala, selanjutnya led akan

bergeser dari atas ke bawah. Setiap pergeseran led dapat diatur tunda waktunya.

Untuk lebih jelasnya proses penyalaan led dapat dilihat pada penggalan program di

bawah:

led1 equ p1 ;Inisialisasi port 1 led2 equ p2 ;Inisialisasi port 2 mov led1,#0e0h ;nyalakan led baris 1,2,3,4,5 mov led2,#0e0h ;nyalakan led baris 6,7,8,9,10

mulai:

mov led1,#0e0h ;nyalakan led baris 1, 2, 3, 4, 5 mov led2,#0ffh ;padamkan led baris 6, 7, 8, 9,10 acall tunda4 ;beri tunda waktu mov led1,#0e1h ;padamkan led baris 1 mov led2,#0feh ;nyalakan led baris 10 acall tunda4 ;beri tunda waktu mov led1,#0e3h ;padamkan led baris 1, 2 mov led2,#0fch ;nyalakan led baris 9, 10 acall tunda4 ;beri tunda waktu mov led1,#0e7h ;padamkan led baris 1, 2, 3 mov led2,#0f8h ;nyalakan led baris 8, 9, 10 acall tunda4 ;beri tunda waktu mov led1,#0efh ;padamkan led baris 1, 2, 3, 4 mov led2,#0f0h ;nyalakan led baris 7, 8, 9, 10 acall tunda4 ;beri tunda waktu mov led1,#0ffh ;padamkan led baris 1, 2, 3, 4, 5 mov led2,#0e0h ;nyalakan led baris 6, 7, 8, 9, 10 acall tunda3 ;beri tunda waktu sjmp awal ;kembali ke settingan awal

4.5.3 Subroutine Cek Tombol

Subroutine cek tombol berfungsi untuk menjalankan jam pasir digital dan

mengatur tunda waktu perpindahan led. Jika tombol start ditekan, maka jam pasir

bekerja. Jika tombol up ditekan, maka tunda waktu perpindahan aliran led bertambah

Page 79: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

60

’1’ menit. Jika tombol down ditekan, maka tunda waktu perpindahan aliran led

berkurang ’1’ menit. Karena semua port yang terhubung dengan tombol dihubungkan

dengan ground, maka setiap penekanan tombol berarti berlogika aktif rendah. Jika

tombol start, maka tombol up dan tombol down tidak akan berfungsi lagi. Agar

masing-masing tombol berfungsi, berikut penggalan program tersebut:

up equ p3.5 ;Inisialisasi tombol up (p3.5) down equ p3.6 ;Inisialisasi tombol down (p3.6) start equ p3.7 ;Inisialisasi tombol start (p3.7) data7s equ 30h ;Simpan data7s ke alamat 30h dataPB equ 4ah ;Simpan dataPB ke alamat 4ah dataPROSES equ 4bh ;Simpan dataPROSES ke alamat 4bh cektombol: clr A ;Buat A menjadi 0 clr C ;Buat C menjadi 0 naik: jb up,turun ;apakah tombol up ditekan ? jnb up,$ ;jika ditekan, tunggu sampai dilepas! acall tunda2 ;beri tunda mov A,dataPB ;salin lokasi memori dataPB ke A subb A,#60 ;rentang tunda waktu jc tambah ; jmp selesai ; tambah: inc dataPB ;tunda waktu ditambah 1 jmp selesai ; turun: jb down,jalankan ;apakah tombol down ditekan ? jnb down,$ ;jika ditekan, tunggu sampai dilepas! acall tunda2 ;beri tunda mov A,dataPB ;salin lokasi memori dataPB ke A cjne A,#00,kurang ;bandingkan dengan batas bawah jmp selesai ; kurang: dec dataPB ;tunda waktu dikurangi 1 jmp selesai ; jalankan: jb start,selesai ;apakah tombol start ditekan ? jnb start,$ ;jika ditekan, tunggu sampai dilepas! acall tunda2 ;beri tunda mov dataPROSES,dataPB ;salin dataPB ke lokasi dataPROSES ret ;kembali ke program utama ; selesai: mov data7s,dataPB ;salin dataPB ke lokasi memori data7s acall tampilan ;panggil ‘tampilan’ sjmp cektombol ;lompat ke ‘cektombol’

Page 80: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

61

4.5.4 Subroutine Tampilan pada seven segment.

Fungsi dari subroutine tampilan seven segment adalah untuk menampilkan

tunda waktu. Setiap perubahan tunda waktu akan ditampilkan pada seven segment.

Langkah pertama dalam menampilkan tunda waktu pada seven segment adalah

menentukan nilai tiap seven segment. Setelah itu seven segment dinyalakan secara

bergantian mulai dari angka satuan, kemudian angka puluhan. Perbandingan antara

data tunda waktu dengan seven segment dapat dilihat pada tabel 4.7.

Tabel 4.7 Data Perbandingan Tunda waktu dengan Seven Segment Data Tunda waktu Data Tunda waktu Desimal Heksa

Seven segment Desimal Heksa

Seven Segment

0 00 00 31 1F 31 1 01 01 32 20 32 2 02 02 33 21 33 3 03 03 34 22 34 4 04 04 35 23 35 5 05 05 36 24 36 6 06 06 37 25 37 7 07 07 38 26 38 8 08 08 39 27 39 9 09 09 40 28 40

10 0A 10 41 29 41 11 0B 11 42 2A 42 12 0C 12 43 2B 43 13 0D 13 44 2C 44 14 0E 14 45 2D 45 15 0F 15 46 2E 46 16 10 16 47 2F 47 17 11 17 48 30 48 18 12 18 49 31 49 19 13 19 50 32 50 20 14 20 51 33 51 21 15 21 52 34 52 22 16 22 53 35 53 23 17 23 54 36 54 24 18 24 55 37 55 25 19 25 56 38 56 26 1A 26 57 39 57 27 1B 27 58 3A 58 28 1C 28 59 3B 59 29 1D 29 60 3C 60 30 1E 30 - - -

Page 81: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

62

Berikut penggalan program scanning seven segment

BCD equ p0 ;inisialisasi BCD (port 0) scan7s1 equ p1.6 ;inisialisasi scan7s1 (p1.6) scan7s2 equ p1.5 ;inisialisasi scan7s2 (p1.5) 7s1 equ 31h ;simpan 7s1 pada alamat 31h 7s2 equ 32h ;simpan 7s2 pada alamat 32h pengurang equ 40h ;simpan pengurang pada alamat 40h tampilan: mov 7s1,#00h ;salin nilai 00 pada lokasi memori 7s1 mov A,data7s ;salin data7s ke akumulator lagi10: clr C ;buat C menjadi 0 subb A,pengurang ;nilai 7segment pertama dikurangi 10 jc angka1 ;lompat ke ‘angka1’, jika ada carry inc 7s1 ;nilai pada 7segment ditambah 1 sjmp lagi10 ; angka1: add A,pengurang ;nilai 7segment kedua ditambah 10 mov 7s2,A ; mov BCD,7s2 ;masukan data 7segment kedua ke IC BCD clr scan7s2 ;padamkan 7segment kedua acall tunda1 ;beri tunda setb scan7s1 ;nyalakan 7segment pertama setb scan7s2 ;nyalakan 7segment kedua mov BCD,7s1 ;masukan data 7segment pertama ke IC BCD clr scan7s1 ;padamkan 7segment pertama acall tunda1 ;beri tunda setb scan7s1 ;nyalakan 7segment pertama setb scan7s2 ;nyalakan 7segment kedua clr A ;buat A menjadi 0 ret ;kembali ke program utama

4.5.5 Subroutine Tunda Waktu

Ada beberapa routine tunda waktu pada subroutine tunda waktu. Routine

tunda waktu tersebut adalah :

1. Routine Tunda Waktu pada Cek Tombol

Routine tunda waktu pada cek tombol berfungsi untuk untuk menghilangkan

efek bounching. Efek bounching adalah efek dimana tombol up atau down saat

ditekan satu kali, maka hasil pertambahan atau pengurangan pada pengaturan tunda

Page 82: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

63

waktu akan lebih dari satu akibat pantulan dari tekanan pada tombol. Tunda waktu

pada cek tombol ini bernilai 20000 µdetik

2. Routine Tunda Waktu pada Scanning Seven Segment

Routine tunda waktu pada scanning seven segment berfungsi menyalakan dua

seven segment secara bergantian. Cara menyalakan dua seven segment secara

bergantian disebut proses scanning. Nilai dari tunda waktu scanning seven segment

adalah 500 µdetik.

3. Routine Tunda Waktu Perpindahan Led

Routine tunda waktu perpindahan led berfungsi untuk memberi tunda waktu

pada perpindahan aliran led. Langkah selanjutnya menentukan tunda perpindahan

aliran led. Pertama menentukan tunda waktu dengan memasukkan data pada timer.

Fungsi ini untuk mengubah dari data mikrodetik menjadi detik. Selanjutnya

mengubah data dari detik menjadi menit. Lalu memasukkan data seven segment pada

timer mikrokontroler untuk menentukan tunda waktu perpindahan aliran led.

Hitungan untuk mengubah data dari mikrodetik menjadi detik kemudian menjadi

menit. Nilai dari tunda waktu perpindahan aliran led tergantung dari data pada seven

segment Karena hitungan timer pada mikrokontroler adalah mikrodetik, maka

hitungannya sebagai berikut:

hitung = 10000 µdetik

1detik = 100 ; untuk menjadikan tunda waktu 1 detik

1menit = 60 ; untuk menjadikan tunda waktu 1 menit

data seven segment ; jika data seven segment = 30

Page 83: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

64

maka :

tunda waktu = hitung x 1detik x 1menit x data seven segment

= 10000 µdetik x 100 x 60 x 30

= 1800000000 µdetik

= 1800 detik

= 30 menit

Penggalan program untuk subroutine tunda waktu sebagai berikut : dataPROSES equ 4bh ;simpan ‘dataPROSES’ pada alamat 4bh dataMENIT equ 10h ;simpan ‘dataMENIT’ pada alamat 10h dataDETIK1 equ 1ah ;simpan ‘dataDETIK1’ pada alamat 1ah dataDETIK2 equ 1bh ;simpan ‘dataDETIK2’ pada alamat 1bh 1detik equ 100 ;data ‘1detik’ bernilai 100 1menit equ 60 ;data ‘imenit’ bernilai 60 5detik equ 500 ;data ‘5detik’ bernilai 500 hitung equ -10000 ;data ‘hitung’ bernilai -10000 tunda1: mov tl0,#low(-500) ;isi timer 0 low sebesar 500 µdetik mov th0,#high(-500) ;isi timer 0 high sebesar 500 µdetik setb tr0 ;nyalakan timer 0 jnb tf0,$ ; clr tf0 ;matikan tf0 clr tr0 ;matikan timer 0 ret tunda2: mov tl0,#low(-20000) ;isi timer 0 low sebesar 20000 µdetik mov th0,#high(-20000) ;isi timer 0 high sebesar 20000 µdetik setb tr0 ;nyalakan timer 0 jnb tf0,$ ; clr tf0 ;matikan tf0 clr tr0 ;matikan timer 0 ret tunda3: mov r0,#5detik ;salin nilai 500 ke register r0 lagi5: mov th1,#high hitung ;isi timer 1 high sebesar 10000 µdetik mov tl1,#low hitung ;isi timer 1 low sebesar 10000 µdetik setb tr1 ;nyalakan timer 1 tunggu: acall tampilan ;nyalakan seven segmnet jnb tf1,tunggu ; clr tf1 ;matikan tf0 clr tr1 ;matikan timer 1 djnz r0,lagi5 ;lompat ke ’lagi5’, jika r0 ≠ 0 ret ;kembali ke program utama tunda4: mov r5,dataMENIT ;salin data 7segment ke register r5

Page 84: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

65

cjne r5,#00h,lagi2 ;bandingkan apakah r5 = 0, jika tidak ;lompat ke lagi2

sjmp tunda5 ;jika r5 = 0, tunda4 diabaikan lagi2: mov r6,#1menit ;tunda waktu dijadikan menit lagi1: mov r7,#1detik ;tunda waktu dijadikan detik lagi: mov th1,#high hitung ;isi timer 1 high sebesar 10000 µdetik mov tl1,#low hitung ;isi timer 1 low sebesar 10000 µdetik setb tr1 ;nyalakan timer 1 tunggu1: acall tampilan ;nyalakan seven segment jnb tf1,tunggu1 ; clr tf1 ;matikan tf1 clr tr1 ;matiakn timer 1 djnz r7,lagi ;timer diulangi sebesar 100 kali djnz r6,lagi1 ;timer diulangi sebesar 60 kali djnz r5,lagi2 ;timer diulangi sebesar data 7segment ; tunda5: mov r4,dataDETIK2 ;salin dataDETIK2 ke register r4 cjne r4,#00h,lagi4 ;bandingkan apakah r4 = 0, jika tidak

;lompat ke lagi4 sjmp terus ;jika r4 = 0, tunda5 diabaikan lagi4: mov r3,#1detik ;salin nilai ’1detik’ ke register r3 lagi3: mov th1,#high hitung ;isi timer 1 high sebesar 10000 µdetik mov tl1,#low hitung ;isi timer 1 low sebesar 10000 µdetik setb tr1 ;nyalakan timer 1 tunggu2: acall tampilan ;nyalakan seven segment jnb tf1,tunggu2 ; clr tf1 ;matikan tf1 clr tr1 ;matikan timer 1 djnz r3,lagi3 ;timer diulangi sebesar 100 kali djnz r4,lagi4 ;timer diulangi sebesar data pada r4 terus: clr C ;buat C menjadi 0 ret ;kembali ke program utama

Page 85: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

BAB V

PENUTUP

5.1. Kesimpulan

Berdasarkan pengamatan dan pengujian yang telah dilakukan, maka diperoleh

kesimpulan sebagai berikut :

1. Alat jam pasir digital yang telah dikerjakan dapat bekerja sesuai dengan batasan

masalah dan perancangan.

2. Alat jam pasir digital ini memiliki error 0 % sampai 4 %.

5.2. Saran

Saran untuk pengembangan jam pasir digital ini antara lain :

1. Menggunakan mikrokontroler yang memiliki timer yang tepat sesuai dengan

hitungan stopwatch.

2. Untuk mengetahui output dari tunda waktu, sebaiknya ditambah 2 buah seven

segment untuk menmpilkan perhitungan tunda waktu

66

Page 86: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

DAFTAR PUSTAKA

[1] Agfianto Eko Putra, “Belajar Mikrokontroler”, Gava Media, Yogyakarta,

Desember 2003.

[2] Prof. Dr. Zuhal M.Sc.EE., dan Ir. Zhanggischan “Prinsip Dasar

Elektroteknik”, PT Gramedia Pustaka Utama, Jakarta, 2004

[3] Robert Boylestad, and Louis Nashelsky., “Electronic Devices and Circuit

Theory, 6th Ed”., Prentice Hall Inc., A Simon & Schuster Company,

Englewood Cliffs, New Jersey, USA, 1996

[4] Ogata.K, 1996, Teknik Kontrol Automatik, Edisi kedua, Erlangga

[5] www.innovativeelectronics.com

[6] www.DatasheetCatalog.com

67

Page 87: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

LAMPIRAN

Page 88: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Lampiran L1 Datasheet Komponen

DATASHEET

Page 89: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

© 2000 Fairchild Semiconductor Corporation DS009817 www.fairchildsemi.com

October 1988

Revised March 2000

DM

74LS

47 BC

D to

7-Seg

men

t Deco

der/D

river with

Op

en-C

ollecto

r Ou

tpu

ts

DM74LS47BCD to 7-Segment Decoder/Driver with Open-Collector Outputs

General DescriptionThe DM74LS47 accepts four lines of BCD (8421) inputdata, generates their complements internally and decodesthe data with seven AND/OR gates having open-collectoroutputs to drive indicator segments directly. Each segmentoutput is guaranteed to sink 24 mA in the ON (LOW) stateand withstand 15V in the OFF (HIGH) state with a maxi-mum leakage current of 250 µA. Auxiliary inputs providedblanking, lamp test and cascadable zero-suppression func-tions.

Features Open-collector outputs

Drive indicator segments directly

Cascadable zero-suppression capability

Lamp test input

Ordering Code:

Devices also available in Tape and Reel. Specify by appending the suffix letter “X” to the ordering code.

Logic Symbol

VCC = Pin 16

GND = Pin 8

Connection Diagram

Pin Descriptions

Note 1: OC—Open Collector

Order Number Package Number Package Description

DM74LS47M M16A 16-Lead Small Outline Integrated Circuit (SOIC), JEDEC MS-012, 0.150 Narrow

DM74LS47N N16E 16-Lead Plastic Dual-In-Line Package (PDIP), JEDEC MS-001, 0.300 Wide

Pin Names Description

A0–A3 BCD Inputs

RBI Ripple Blanking Input (Active LOW)

LT Lamp Test Input (Active LOW)

BI/RBO Blanking Input (Active LOW) or

Ripple Blanking Output (Active LOW)

a –g Segment Outputs (Active LOW) (Note 1)

Page 90: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

www.fairchildsemi.com 2

DM

74L

S47 Truth Table

Note 2: BI/RBO is wire-AND logic serving as blanking input (BI) and/or ripple-blanking output (RBO). The blanking out (BI) must be open or held at a HIGHlevel when output functions 0 through 15 are desired, and ripple-blanking input (RBI) must be open or at a HIGH level if blanking or a decimal 0 is notdesired. X = input may be HIGH or LOW.

Note 3: When a LOW level is applied to the blanking input (forced condition) all segment outputs go to a HIGH level regardless of the state of any other inputcondition.

Note 4: When ripple-blanking input (RBI) and inputs A0, A1, A2 and A3 are LOW level, with the lamp test input at HIGH level, all segment outputs go to aHIGH level and the ripple-blanking output (RBO) goes to a LOW level (response condition).

Note 5: When the blanking input/ripple-blanking output (BI/RBO) is OPEN or held at a HIGH level, and a LOW level is applied to lamp test input, all segmentoutputs go to a LOW level.

Functional DescriptionThe DM74LS47 decodes the input data in the pattern indi-cated in the Truth Table and the segment identificationillustration. If the input data is decimal zero, a LOW signalapplied to the RBI blanks the display and causes a multi-digit display. For example, by grounding the RBI of thehighest order decoder and connecting its BI/RBO to RBI ofthe next lowest order decoder, etc., leading zeros will besuppressed. Similarly, by grounding RBI of the lowest orderdecoder and connecting its BI/RBO to RBI of the next high-est order decoder, etc., trailing zeros will be suppressed.Leading and trailing zeros can be suppressed simulta-neously by using external gates, i.e.: by driving RBI of a

intermediate decoder from an OR gate whose inputs areBI/RBO of the next highest and lowest order decoders. BI/RBO also serves as an unconditional blanking input. Theinternal NAND gate that generates the RBO signal has aresistive pull-up, as opposed to a totem pole, and thus BI/RBO can be forced LOW by external means, using wired-collector logic. A LOW signal thus applied to BI/RBO turnsoff all segment outputs. This blanking feature can be usedto control display intensity by varying the duty cycle of theblanking signal. A LOW signal applied to LT turns on allsegment outputs, provided that BI/RBO is not forced LOW.

DecimalInputs Outputs

or Note

Function LT RBI A3 A2 A1 A0 BI/RBO a b c d e f g

0 H H L L L L H L L L L L L H (Note 2)

1 H X L L L H H H L L H H H H (Note 2)

2 H X L L H L H L L H L L H L

3 H X L L H H H L L L L H H L

4 H X L H L L H H L L H H L L

5 H X L H L H H L H L L H L L

6 H X L H H L H H H L L L L L

7 H X L H H H H L L L H H H H

8 H X H L L L H L L L L L L L

9 H X H L L H H L L L H H L L

10 H X H L H L H H H H L L H L

11 H X H L H H H H H L L H H L

12 H X H H L L H H L H H H L L

13 H X H H L H H L H H L H L L

14 H X H H H L H H H H L L L L

15 H X H H H H H H H H H H H H

BI X X X X X X L H H H H H H H (Note 3)

RBI H L L L L L L H H H H H H H (Note 4)

LT L X X X X X H L L L L L L L (Note 5)

Page 91: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

3 www.fairchildsemi.com

DM

74LS

47Logic Diagram

Numerical Designations—Resultant Displays

Page 92: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

www.fairchildsemi.com 4

DM

74L

S47 Absolute Maximum Ratings(Note 6)

Note 6: The “Absolute Maximum Ratings” are those values beyond whichthe safety of the device cannot be guaranteed. The device should not beoperated at these limits. The parametric values defined in the ElectricalCharacteristics tables are not guaranteed at the absolute maximum ratings.The “Recommended Operating Conditions” table will define the conditionsfor actual device operation.

Recommended Operating Conditions

Note 7: OFF-State at a–g.

Electrical CharacteristicsOver recommended operating free air temperature range (unless otherwise noted)

Note 8: All typicals are at VCC = 5V, TA = 25°C.

Note 9: Not more than one output should be shorted at a time, and the duration should not exceed one second.

Switching Characteristics at VCC = +5.0V, TA = +25°C

Note 10: LT = HIGH, A0–A3 = LOW

Supply Voltage 7V

Input Voltage 7V

Operating Free Air Temperature Range 0°C to +70°C

Storage Temperature Range −65°C to +150°C

Symbol Parameter Min Nom Max Units

VCC Supply Voltage 4.75 5 5.25 V

VIH HIGH Level Input Voltage 2 V

VIL LOW Level Input Voltage 0.8 V

IOH HIGH Level Output Current −250 µA

a − g @ 15V = VOH (Note 7)

IOH HIGH Level Output Current BI /RBO −50 µA

IOL LOW Level Output Current 24 mA

TA Free Air Operating Temperature 0 70 °C

Symbol Parameter Conditions MinTyp

Max Units(Note 8)

VI Input Clamp Voltage VCC = Min, II = −18 mA −1.5 V

VOH HIGH Level VCC = Min, IOH = Max,2.7 3.4 V

Output Voltage VIL = Max, BI /RBO

IOFF Output HIGH Current Segment Outputs VCC = 5.5V, VO = 15V a − g 250 µA

VOL LOW Level VCC = Min, IOL = Max,0.35 0.5

Output Voltage VIH = Min, a − g

IOL = 3.2 mA, BI /RBO 0.5 V

IOL = 12 mA, a –g 0.25 0.4

IOL = 1.6 mA, BI /RBO 0.4

II Input Current @ Max VCC = Max, VI = 7V100 µA

Input Voltage VCC = Max, VI = 10V

IIH HIGH Level Input Current VCC = Max, VI = 2.7V 20 µA

IIL LOW Level Input Current VCC = Max, VI = 0.4V −0.4 mA

IOS Short Circuit VCC = Max (Note 9),mA

Output Current IOS at BI/RBO −0.3 −2.0

ICC Supply Current VCC = Max 13 mA

RL = 665Ω

Symbol Parameter Conditions CL = 15 pF Units

Min Max

tPLH Propagation Delay 100ns

tPHL An to a –g 100

tPLH Propagation Delay 100ns

tPHL RBI to a –g (Note 10) 100

Page 93: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

5 www.fairchildsemi.com

DM

74LS

47Physical Dimensions inches (millimeters) unless otherwise noted

16-Lead Small Outline Integrated Circuit (SOIC), JEDEC MS-012, 0.150 NarrowPackage Number M16A

Page 94: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

www.fairchildsemi.com 6

DM

74L

S47

BC

D t

o 7

-Seg

men

t D

eco

der

/Dri

ver

wit

h O

pen

-Co

llect

or

Ou

tpu

ts Physical Dimensions inches (millimeters) unless otherwise noted (Continued)

16-Lead Plastic Dual-In-Line Package (PDIP), JEDEC MS-001, 0.300 WidePackage Number N16E

Fairchild does not assume any responsibility for use of any circuitry described, no circuit patent licenses are implied andFairchild reserves the right at any time without notice to change said circuitry and specifications.

LIFE SUPPORT POLICY

FAIRCHILD’S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORTDEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE PRESIDENT OF FAIRCHILDSEMICONDUCTOR CORPORATION. As used herein:

1. Life support devices or systems are devices or systemswhich, (a) are intended for surgical implant into thebody, or (b) support or sustain life, and (c) whose failureto perform when properly used in accordance withinstructions for use provided in the labeling, can be rea-sonably expected to result in a significant injury to theuser.

2. A critical component in any component of a life supportdevice or system whose failure to perform can be rea-sonably expected to cause the failure of the life supportdevice or system, or to affect its safety or effectiveness.

www.fairchildsemi.com

Page 95: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Description

These slim font seven segmentdisplays incorporate a new slimfont character design. This slimfont features narrow width,specially mitered segments togive a fuller appearance to theilluminated character. Faces ofthese displays are painted aneutral gray for enhanced on/offcontrast.

Agilent HDSP-301x/303x SeriesHDSP-561x/563x Series10 mm and 13 mm Slim FontSeven Segment DisplaysData Sheet

Features

• Excellent appearance

• Slim font design

• Mitered corners, evenlyilluminated segments

• Gray face for optimum on/offcontrast

• Choice of colors: HER, green,yellow, and AlGaAs

• Choice of character size: 10 mmand 13 mm

• Characterized for luminousintensity

Devices

HER Green Yellow AlGaAsHDSP- HDSP- HDSP- HDSP- Description

301E 301G 301Y 301A Common Anode, 10 mm Display

303E 303G 303Y 303A Common Cathode, 10 mm Display

561E 561G 561Y 561A Common Anode, 13 mm Display

563E 563G 563Y 563A Common Cathode, 13 mm Display

All devices are available in eithercommon anode or commoncathode configuration with righthand decimal point.

Page 96: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

2

Part Numbering System 5082 - x xx x - x x x xxHDSP - x xx x - x x x xx

Mechanical Options[1]

00: No Mechanical Option

Color Bin Options[1,2]

0: No Color Bin Limitation

Maximum Intensity Bin[1,2]

0: No Maximum Intensity Bin Limitation

Minimum Intensity Bin[1,2]

0: No Minimum Intensity Bin Limitation

Device Configuration/Color[1]

A: AlGaAs RedE: High Efficiency RedG: GreenY: Yellow

Device Specific Configuration[1]

Refer to Respective Data Sheet

Package[1]

Refer to Respective Data Sheet

Notes:1. For codes not listed in the figure above, please refer to the respective data sheet or contact your nearest Agilent representative

for details.2. Bin options refer to shippable bins for a part-number. Color and Intensity Binbs are typically restricted to 1 bin per tube

(exceptions may apply). Please refer to respective data sheet for specific bin limit information.

Page 97: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

3

HDSP-301x/303x Series

Pin Function

1 G

2 F

3 Common A/C

4 E

5 D

6 DP

7 C

8 Common A/C

9 B

10 A

12.80 ± 0.25(0.504)

7.00 ± 0.25(0.276)

6.40 ± 0.25(0.252)

10.40 MIN.(0.409)

LUMINOUSINTENSITYCATEGORY

PIN 6

NOTE: QDSP-399G DOES NOT HAVE PIN 6.

COUNTRYOF ORIGIN

COLOR BIN

DATE CODE

9.70 ± 0.25(0.382)

TOP SIDE

FRONT VIEW RIGHT SIDE

0.30 ± 0.05(0.012)

7.62 ± 0.38(0.300)

1.20(0.047)

Ø

6.00(0.236)

10.00°

0.90(0.035)

10.00(0.394)

1.85(0.073)

4 x 2.54(0.400)

0.53 ± 0.05(0.021)

2.54 ± 0.38(0.100)

A

DP

B

C

F

E

G

D

1

2

3

4

5

10

9

8

7

6

HD

SP

-XX

XX

YW

W X

Z C

OO

+

+

+

+

+

+

+

+

+

+

Page 98: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

4

HDSP-561x/563x Series

Pin Function

1 E

2 D

3 Common A/C

4 C

5 DP

6 B

7 A

8 Common A/C

9 F

10 G

12.25 ± 0.25(0.482)

1.25(0.049)Ø

7.40(0.292)

1.25(0.049)

10°

13.00(0.512)

17.50 ± 0.3/–0.25(0.689)

6.40 ± 0.25(0.252)

7.00 ± 0.25(0.276)

3.60 ± 0.3(0.142)

15.24 ± 0.3(0.600)

0.29 ± 0.08 TYP.(0.011)

45°

a

DP

b

c

f

e

g

d

10 9 8 7 6

1 2 3 4 5

0.58 ± 0.08(0.023)

3.59 ± 0.3 TYP.(0.141)

2.54 ± 0.3 TYP.(0.100)

NOTES:1. ALL DIMENSIONS ARE IN MILLIMETERS (INCHES).2. UNLESS OTHERWISE STATED, TOLERANCES ARE ±0.25 mm.

Page 99: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

5

Absolute Maximum Ratings

Description HER Green Yellow AlGaAs Units

Average Power per Segment or DP 105 105 105 37 mW

Peak Forward Current per Segment or DP 90 90 90 45 mA

DC Forward Current per Segment or DP 30 30 30 15 mA

Operating Temperature Range –40 to +80 –40 to +80 –40 to +80 –20 to +80 ˚C

Storage Temperature Range –40 to +80 –40 to +80 –40 to +80 –40 to +80 ˚C

Reverse Voltage per Segment or DP 5 5 5 5 V

Wavesoldering Temperature for 3 Seconds 250 250 250 250 ˚C1.59 mm below body

Notes:1. Derate above 33˚C at 0.34 mA/˚C for HER.2. Derate above 27˚C at 0.32 mA/˚C for Green.3. Derate above 30˚C at 0.33 mA/˚C for Yellow.4. Derate above 60˚C at 0.25 mA/˚C for AlGaAs.

HER

DeviceSeriesHDSP- Parameter Symbol Min. Typ. Max. Units Test Conditions

561/563E Luminous Intensity/Segment IV 2.001 3.526 mcd IF = 10 mA(Digit Average)

Forward Voltage/Segment VF 1.90 2.50 V IF = 20 mAor DP

Peak Wavelength λPEAK 635 nm IF = 20 mA

Dominant Wavelength λd 625 nm IF = 20 mA

Reverse Current IR 100 µA VR = 5 V

Thermal Resistance LED RθJ–PIN 351.5 ˚C/W/Seg.Junction-to-Pin

Electrical/Optical Characteristics at TA = 25˚C

HER

DeviceSeriesHDSP- Parameter Symbol Min. Typ. Max. Units Test Conditions

301/303E Luminous Intensity/Segment IV 1.251 2.000 mcd IF = 10 mA(Digit Average)

Forward Voltage/Segment VF 1.90 2.50 V IF = 20 mAor DP

Peak Wavelength λPEAK 635 nm IF = 20 mA

Dominant Wavelength λd 625 nm IF = 20 mA

Reverse Current IR 100 µA VR = 5 V

Thermal Resistance LED RθJ–PIN 351.5 ˚C/W/Seg.Junction-to-Pin

Page 100: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

6

Green

DeviceSeriesHDSP- Parameter Symbol Min. Typ. Max. Units Test Conditions

301/303G Luminous Intensity/Segment IV 2.001 3.200 mcd IF = 10 mA(digit average)

Forward Voltage/Segment VF 2.25 2.50 V IF = 20 mAor DP

Peak Wavelength λPEAK 568 nm IF = 20 mA

Dominant Wavelength λd 573 nm IF = 20 mA

Reverse Current IR 100 µA VR = 5 V

Thermal Resistance LED RθJ–PIN 351.5 ˚C/W/Seg.Junction-to-Pin

Green

DeviceSeriesHDSP- Parameter Symbol Min. Typ. Max. Units Test Conditions

561/563G Luminous Intensity/Segment IV 3.201 5.601 mcd IF = 10 mA(Digit Average)

Forward Voltage/Segment VF 2.25 2.50 V IF = 20 mAor DP

Peak Wavelength λPEAK 568 nm IF = 20 mA

Dominant Wavelength λd 573 nm IF = 20 mA

Reverse Current IR 100 µA VR = 5 V

Thermal Resistance LED RθJ–PIN 351.5 ˚C/W/Seg.Junction-to-Pin

Yellow

DeviceSeriesHDSP- Parameter Symbol Min. Typ. Max. Units Test Conditions

301/303Y Luminous Intensity/Segment IV 1.251 2.000 mcd IF = 10 mA(Digit Average)

Forward Voltage/Segment VF 2.15 2.50 V IF = 20 mAor DP

Peak Wavelength λPEAK 589 nm IF = 20 mA

Dominant Wavelength λd 590 nm IF = 20 mA

Reverse Current IR 100 µA VR = 5 V

Thermal Resistance LED RθJ–PIN 351.5 ˚C/W/Seg.Junction-to-Pin

Page 101: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

7

AlGaAs

DeviceSeriesHDSP- Parameter Symbol Min. Typ. Max. Units Test Conditions

301/303A Luminous Intensity/Segment IV 0.320 0.505 mcd IF = 1 mA(Digit Average)

Forward Voltage/Segment VF 1.80 2.20 V IF = 20 mAor DP

Peak Wavelength λPEAK 660 nm IF = 20 mA

Dominant Wavelength λd 643 nm IF = 20 mA

Reverse Current IR 100 µA VR = 5 V

Thermal Resistance LED RθJ–PIN 351.5 ˚C/W/Seg.Junction-to-Pin

Yellow

DeviceSeriesHDSP- Parameter Symbol Min. Typ. Max. Units Test Conditions

561/563Y Luminous Intensity/Segment IV 2.00 3.526 mcd IF = 10 mA(Digit Average)

Forward Voltage/Segment VF 2.15 2.50 V IF = 20 mAor DP

Peak Wavelength λPEAK 589 nm IF = 20 mA

Dominant Wavelength λd 590 nm IF = 20 mA

Reverse Current IR 100 µA VR = 5 V

Thermal Resistance LED RθJ–PIN 351.5 ˚C/W/Seg.Junction-to-Pin

Notes:1. Typical specification for reference only. Do not exceed absolute maximum ratings.2. The dominant wavelength, λ, is derived from the CIE chromaticity diagram and is that single wavelength which defines the color of the device.

AlGaAs

DeviceSeriesHDSP- Parameter Symbol Min. Typ. Max. Units Test Conditions

561/563A Luminous Intensity/Segment IV 0.506 0.878 mcd IF = 1 mA(Digit Average)

Forward Voltage/Segment VF 1.80 2.20 V IF = 20 mAor DP

Peak Wavelength λPEAK 660 nm IF = 20 mA

Dominant Wavelength λd 643 nm IF = 20 mA

Reverse Current IR 100 µA VR = 5 V

Thermal Resistance LED RθJ–PIN 351.5 ˚C/W/Seg.Junction-to-Pin

Notes:1. Typical specification for reference only. Do not exceed absolute maximum ratings.2. The dominant wavelength, λ, is derived from the CIE chromaticity diagram and is that single wavelength which defines the color of the device.

Page 102: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

8

HDSP-301E/303E/561E/563E IV Bin Category Min. Max.

I 1.100 2.200K 1.800 3.600

HDSP-561Y/563Y IV Bin Category Min. Max.

K 1.800 3.600L 2.800 5.600

HDSP-301Y/303Y IV Bin Category Min. Max.

I 1.100 2.200K 1.800 3.600

HDSP-301A/303A/561A/563A IV Bin Category Min. Max.

F 0.280 0.560G 0.450 0.900

HDSP-301G/303G/561G/563G IV Bin Category Min. Max.

K 1.800 3.600L 2.800 5.600

Intensity Bin Limits (mcd)Green

Yellow

HER

AlGaAs Red

Dominant Wavelength (nm)Color Bin Min. Max.Green 3 570.00 574.50

4 567.00 571.50Yellow 2 586.50 590.00

3 584.00 587.50

Color Categories

Note:1. All categories are established for classification of products.

Products may not be available in all categories. Please contact yourAgilent representatives for further clarification/information.

Yellow

Page 103: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

9

Figure 1. Maximum allowable DC current vs.ambient temperature.

Figure 2. Forward current vs. forward voltage. Figure 3. Relative luminous intensity vs. DCforward current.

HDSP-301x/303x Series

Contrast Enhancement

For information on contrastenhancement, please seeApplication Note 1015.

Soldering/Cleaning

Cleaning agents from the ketonefamily (acetone, methyl ethylketone, etc.) and from thechlorinated hydrocarbon family(methylene chloride,

Figure 4. Maximum allowable DC current vs.ambient temperature.

Figure 5. Forward current vs. forward voltage. Figure 6. Relative luminous intensity vs. DCforward current.

HDSP-561x/563x Series

I DC

– M

AX

IMU

M D

C C

UR

RE

NT

PE

R S

EG

ME

NT

– m

A

100

TA – AMBIENT TEMPERATURE – °C

20 80 100

30

6040

10

20

5

15

25

45

30 50 70 90

RθJ = 770°C/W

1101200

35

40

YELLOW

GREEN

HER

AlGaAs

I F –

FO

RW

AR

D C

UR

RE

NT

PE

R S

EG

ME

NT

– m

A

0.00

VF – FORWARD VOLTAGE – V

120

60

3.0 5.0

80

20

1.0 4.0

40GREEN

HER

2.0

100YELLOW

AlGaAs

I DC

– M

AX

IMU

M D

C C

UR

RE

NT

PE

R S

EG

ME

NT

– m

A

100

TA – AMBIENT TEMPERATURE – °C

20 80 100

30

6040

10

20

5

15

25

45

30 50 70 90

RθJ = 770°C/W

1101200

35

40

YELLOW

GREEN

HER

AlGaAs

I F –

FO

RW

AR

D C

UR

RE

NT

PE

R S

EG

ME

NT

– m

A

0.00

VF – FORWARD VOLTAGE – V

120

60

3.0 5.0

80

20

1.0 4.0

40GREEN

HER

2.0

100YELLOW

AlGaAs

trichloroethylene, carbontetrachloride, etc.) are notrecommended for cleaning LEDparts. All of these varioussolvents attack or dissolve theencapsulating epoxies used toform the package of plastic LEDparts.

For information on solderingLEDs, please refer to ApplicationNote 1027.

GREENRE

LA

TIV

E L

UM

INO

US

INT

EN

SIT

Y(N

OR

MA

LIZ

ED

TO

1 A

T 5

mA

FO

R H

ER

AN

DY

EL

LO

W A

ND

TO

1 A

T 1

0 m

A F

OR

GR

EE

N)

00

IF – DC FORWARD CURRENT – mA

20 4010 305 15 25 35

YELLOW

12

6

8

2

4

10

HER

AlGaAs

GREENRE

LA

TIV

E L

UM

INO

US

INT

EN

SIT

Y(N

OR

MA

LIZ

ED

TO

1 A

T 5

mA

FO

R H

ER

AN

DY

EL

LO

W A

ND

TO

1 A

T 1

0 m

A F

OR

GR

EE

N)

00

IF – DC FORWARD CURRENT – mA

20 4010 305 15 25 35

YELLOW

12

6

8

2

4

10

HER

AlGaAs

Page 104: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Technical Data Sheet 3.0mm Round Type LED Lamps

1224VGC Features :

Choice of various viewing angles

Available on tape and reel.

Reliable and robust

Pb free

Descriptions :

The series is specially designed for

applications requiring higher

brightness

The led lamps are available with

different colors, intensities,

Applications : TV set

Monitor

Telephone

Computer

1224VGC GaP Green Water Clear

EVERLIGHT ELECTRONICS CO.,LTD. http : //www.everlight.com Rev.: 3 Page: 1 of 6

Device Number : CDLE-122-059 Prepared date: 2004/6/27 Prepared by: Lan Feng

0

Lens ColorPART NO. Material Emitted Color

Page 105: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Technical Data Sheet 3.0mm Round Type LED Lamps

1224VGCPackage Dimensions

Notes: 1.All dimensions are in millimetres

2. An epoxy meniscus may extend about 1.5mm(0.059'') down to the lead.

3. Tolerances unless Dimension ±0.25mm.

Absolute Maximum Ratings at Ta = 25

Parameter Symbol Rating Unit

Forward Current IF 30 mA

Operating Temperature Topr -40 to +85

Storage Temperature Tstg -40 to +100

Soldering Temperature Tsol 260 ± 5

Power Dissipation Pd 100 mW

Peak Forward Current IF(Peak) 160 mA

Reverse Voltage VR 5 V

Note: *1:IFP Conditions --Pulse Width ≦ 1msec and Duty ≦ 1/10.

*2:Soldering time ≦ 5 seconds.

EVERLIGHT ELECTRONICS CO.,LTD. http//www.everlight.com Rev.: 3 Page: 2 of 6

Device Number : CDLE-122-059 Prepared date: 2004/6/27 Prepared by: Lan Feng

Page 106: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Technical Data Sheet 3.0mm Round Type LED Lamps

1224VGC

Electro-Optical Characteristics (Ta=25)

Symbol Min. Typ. Max. Unit

VF IF= 20 mA 1.7 2.1 2.4 V

IR VR= 5 V / / 10 μA

Iv IF= 20 mA 63 125 / mcd

2θ1/2 IF= 20 mA / 15 / deg

λp IF= 20 mA / 570 / nm

λd IF= 20 mA / 571 / nm

λ IF= 20 mA / 30 / nm

EVERLIGHT ELECTRONICS CO.,LTD. http : //www.everlight.com Rev.: 3 Page: 3 of 6

Device Number : CDLE-122-059 Prepared date: Prepared by: Lan Feng

Luminous Intensity

Viewing Angle

Parameter Condition

Forward Voltage

Reverse Current

Peak Wavelength

2004/6/27

Dominant Wavelength

Spectrum RadiationBandwidth

Page 107: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Technical Data Sheet 3.0mm Round Type LED Lamps

1224VGC Typical Electro-Optical Characteristic Curves:

EVERLIGHT ELECTRONICS CO.,LTD. http : //www.everlight.com Rev.: 3 Page: 4 of 6

Device Number : CDLE-122-059 Prepared date: 2004/6/27 Prepared by: Lan Feng

Page 108: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Technical Data Sheet 3.0mm Round Type LED Lamps

1224VGC Reliability test items and conditions:

NO Item Test ConditionsSample

size

1 Solder Heat TEMP : 260 ± 5 76 PCS

H : +100 15min

2 Temperature Cycle ∫ 5 min 76 PCSL : -40 15min

H : +100 5min

3 Thermal Shock ∫ 10 sec 76 PCS

L : -10 5min

4 High Temperature Storage TEMP : 100 76 PCS

5 Low Temperature Storage TEMP : -40 76 PCS

TEMP : 25

IF =20mA

7High Temperature / High

Humidity85 / 85% RH 76 PCS

EVERLIGHT ELECTRONICS CO.,LTD. http : //www.everlight.com Rev.: 3 Page: 5 of 6

Device Number : CDLE-122-059 Prepared date: 2004/6/27 Prepared by: Lan Feng

Test

Hours/Cycle

SEC

6 DC Operating Life

Ac/Re

0/1

0/1

0/1

0/1

0/1

0/1

0/1

76 PCS

300 CYCLES

300 CYCLES

1000 HRS

1000 HRS

1000 HRS

1000 HRS

Page 109: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Technical Data Sheet 3.0mm Round Type LED Lamps

1224VGCPacking Quantity Specification

1.1000PCS/1Bag,4Bags/1Box

2.10Boxes/1Carton

Label Form Specification

CPN: Customer's Production Number

P/N : Production Number

QTY: Packing Quantity

CAT: Ranks

HUE: Peak Wavelength

REF: Reference

LOT No: Lot Number

MADE IN TAIWAN: Production Place

Notes

1. Above specification may be changed without notice. EVERLIGHT will reserve authority on

material change for above specification.

2. When using this product, please observe the absolute maximum ratings and the instructions

for using outlined in these specification sheets. EVERLIGHT assumes no responsibility for

any damage resulting from use of the product which does not comply with the absolute

maximum ratings and the instructions included in these specification sheets.

3. These specification sheets include materials protected under copyright of EVERLIGHT corporation.

Please don’t reproduce or cause anyone to reproduce them without EVERLIGHT’sconsent.

EVERLIGHT ELECTRONICS CO.,LTD. http : //www.everlight.com Rev.: 3 Page: 6 of 6

Device Number : CDLE-122-059 Prepared date: 2004/6/27 Prepared by: Lan Feng

EVERLIGHT ELECTRONICS CO., LTD. Tel: 886-2-2267-2000, 2267-9936Office: No 25, Lane 76, Sec 3, Chung Yang Rd, Fax: 886-2267-6244, 2267-6189, 2267-6306Tucheng, Taipei 236, Taiwan, R.O.C http:\\www.everlight.com

1224VGC

Page 110: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Shantou Huashan Electronic Devices Co.,Ltd.

1W OUTPUT AMPLIFIER OF POTABLE RADIOS IN CLASS

B PUSH-PULL OPERATION.

ABSOLUTE MAXIMUM RATINGS(Ta=25)

ELECTRICAL CHARACTERISTICS(Ta=25)

Symbol Characteristics Min Typ Max Unit Test Conditions

ICBO Collector Cut-off Current -100 nA VCB=-25V, IE=0 IEBO Emitter Cut-off Current -100 nA VEB=-3V, IC=0

HFE(1) DC Current Gain 78 246 VCE=-1V, IC=-50mA

HFE(2) 40 VCE=-1V, IC=-500mA VCE(sat) Collector- Emitter Saturation Voltage -600 mV IC=-500mA, IB=-50mAVBE(sat) Base-Emitter Saturation Voltage -1.2 V IC=-500mA, IB=-50mAVBE(ON) Base-Emitter On Voltage -600 -730 mV VCE=-1V, IC=-10mA

BVCBO Collector-Base Breakdown Voltage -40 V IC=-100μA, IE=0 BVCEO Collector-Emitter Breakdown Voltage -20 V IC=-1mA, IB=0 BVEBO Emitter-Base Breakdown Voltage -5 V IE=-100μA,IC=0

hFE Classification E F G H I 78—112 96—135 112—166 144—202 176—246

Tstg——Storage Temperature………………………… -55~150

Tj——Junction Temperature…………………………………150

PC——Collector Dissipation…………………………………625mW

VCBO——Collector-Base Voltage………………………………-40V

VCEO——Collector-Emitter Voltage……………………………-20V

VEBO——Emitter-Base Voltage………………………………-5V

IC——Collector Current……………………………………-500mA

1―Emitter,E 2―Base,B 3―Collector,C

TO-92

H9012 P N P S I L I C O N T R A N S I S T O R

Page 111: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Shantou Huashan Electronic Devices Co.,Ltd.

H9012 P N P S I L I C O N T R A N S I S T O R

Page 112: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Lampiran L2 Listing Program

1 0000 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 0000 ; JAM PASIR DIGITAL 3 0000 ; BERBASIS MIKROKONTROLER AT89S51 4 0000 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 0000 ;=========================================== 6 0000 ; Inisialisasi 7 0000 ;=========================================== 9 0000 BCD equ p0 ;port untuk masukan pada IC BCD 10 0000 scan7s1 equ p1.6 ;port untuk menyalakan seven

;segment 1 (satuan) 11 0000 scan7s2 equ p1.5 ;port untuk menyalakan seven

;segment 2 (puluhan) 12 0000 led1 equ p1 ;port untuk menyalakan led

;baris 1,2,3,4,5 13 0000 led2 equ p2 ;port untuk menyalakan led

;baris 6,7,8,9,10 14 0000 up equ p3.5 ;port untuk tombol up 15 0000 down equ p3.6 ;port untuk tombol down 16 0000 start equ p3.7 ;port untuk tombol start 17 0000 data7s equ 30h ;alamat yang menyimpan data ;yang akan ditampilkan 18 0000 7s1 equ 31h ;alamat yang menyimpan data ;untuk 7 segment 1 (satuan) 19 0000 7s2 equ 32h ;alamat yang menyimpan data ;untuk 7 segment 2 (puluhan) 20 0000 pengurang equ 40h 21 0000 dataPB equ 4ah ;alamat yang menyimpan data

;tunda waktu sementara pada ;routine cektombol

22 0000 dataPROSES equ 4bh ;alamat yang menyimpan data ;untuk pengatur tunda waktu

23 0000 dataMENIT equ 10h ;alamat yang menyimpan data ;untuk tunda waktu dijadikan

;menit 24 0000 dataDETIK1 equ 1ah ;alamat yang menyimpan data

;untuk tunda waktu dijadikan ;detik

25 0000 dataDETIK2 equ 1bh ;alamat yang menyimpan data ;untuk tunda waktu dijadikan

;detik 26 0000 1detik equ 100 27 0000 1menit equ 60 28 0000 5detik equ 500 29 0000 hitung equ -10000 30 0000 awal: 31 0000 org 0 32 0000 mov TMOD,#11h ;Timer1 Mode1 Timer 0 Mode 1 33 0003 mov BCD,#00h 34 0006 mov dataPB,#30 ;nyalakan angka 30 pada 7segment 35 0009 mov dataPROSES,#00h 36 000C mov 7s1,#00h 37 000F mov 7s2,#00h 38 0012 mov pengurang,#0ah ;nilai pengurang adalah 10 39 0015 mov led1,#0e0h ;nyalakan led baris 1,2,3,4,5 40 0018 mov led2,#0e0h ;nyalakan led baris 6,7,8,9,10 41 001B acall cektombol ;apakah tombol akan ditekan,

;jika ya panggil cektombol

Page 113: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

L3

42 001D ;=========================================== 43 001D ; Menentukan Tunda pada Aliran Led 44 001D ;=========================================== 45 001D mov A,dataPROSES ;salin dataPROSES ke

;Akumulator 46 001F mov B,#05h 47 0022 div AB ;data 7segment dibagi 5 48 0023 mov dataMENIT,A 49 0025 mov dataDETIK1,B 50 0028 mov B,#12 51 002B mov A,dataDETIK1 52 002D mul AB ;sisa pembagian data 7’s

;dikali 12 53 002E mov dataDETIK2,A 54 0030 ;=========================================== 55 0030 ; Menjalankan Aliran Led 56 0030 ;=========================================== 57 0030 mulai: 58 0030 mov led1,#0e0h ;nyalakan led baris 1,2,3,4,5 59 0033 mov led2,#0ffh ;padamkan led baris 6,7,8,9,10 60 0036 acall tunda4 ;beri tunda waktu 61 0038 mov led1,#0e1h ;padamkan led baris 1 62 003B mov led2,#0feh ;nyalakan led baris 10 63 003E acall tunda4 ;beri tunda waktu 64 0040 mov led1,#0e3h ;padamkan led baris 1,2 65 0043 mov led2,#0fch ;nyalakan led baris 9,10 66 0046 acall tunda4 ;beri tunda waktu 67 0048 mov led1,#0e7h ;padamkan led baris 1,2,3 68 004B mov led2,#0f8h ;nyalakan led baris 8,9,10 69 004E acall tunda4 ;beri tunda waktu 70 0050 mov led1,#0efh ;padamkan led baris 1,2,3,4 71 0053 mov led2,#0f0h ;nyalakan led baris 7,8,9,10 72 0056 acall tunda4 ;beri tunda waktu 73 0058 mov led1,#0ffh ;padamkan led baris 1,2,3,4,5 74 005B mov led2,#0e0h ;nyalakan led baris 6,7,8,9,10 75 005E acall tunda3 ;beri tunda waktu 76 0060 sjmp awal ;kembali ke setingan awal 77 0062 ;=========================================== 78 0062 ; Subroutin Proses Cek Tombol 79 0062 ;=========================================== 80 0062 cektombol: 81 0062 clr A 82 0063 clr C 83 0064 naik: 84 0064 jb up,turun ;apakah tombol "up" ditekan? 85 0067 jnb up,$ ;tunggu hingga dilepas 86 006A acall tunda2 87 006C mov A,dataPB 88 006E subb A,#60 ;tunda waktu dikurang batas atas 89 0070 jc tambah 90 0072 jmp selesai 91 0075 tambah: 92 0075 inc dataPB ;tunda waktu ditambah 1 93 0077 jmp selesai 94 007A turun: 95 007A jb down,jalankan ;apakah tombol down ditekan? 96 007D jnb down,$ ;tunggu hingga dilepas 97 0080 acall tunda2 98 0082 mov A,dataPB

Page 114: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

L4

99 0084 cjne A,#00,kurang ;dibandingkan dengan batas ;bawah tunda waktu 100 0087 jmp selesai 101 008A kurang: 102 008A dec dataPB ;tunda waktu dikurangi 1 103 008C jmp selesai 104 008F jalankan: 105 008F jb start,selesai ;apakah tombol start

;ditekan? 106 0092 jnb start,$ ;tunggu hingga dilepas 107 0095 acall tunda2 108 0097 mov dataPROSES,dataPB ;dataPB disimpan sebagai ;dataPROSES 109 009A ret 110 009B ; 111 009B selesai: 112 009B mov data7s,dataPB 113 009E acall tampilan ;nyalakan seven segment 114 00A0 sjmp cektombol 115 00A2 ;================================================================ 116 00A2 ; Subroutine Untuk Menampilkan Waktu pada Seven Segment 117 00A2 ;================================================================ 118 00A2 tampilan: 119 00A2 mov 7s1,#00h ;7segment pertama 120 00A5 mov A,data7s 121 00A7 lagi10: 122 00A7 clr C 123 00A8 subb A,pengurang ;nilai 7segment pertama dikurang

;pengurang (10) 124 00AA jc angka1 ;jika ada sisa pembagian lompat ;ke angka1 125 00AC inc 7s1 ;data 7segment pertama dikurangi 1 126 00AE sjmp lagi10 ;ulangi sampai tidak bisa dibagi 127 00B0 angka1: 128 00B0 add A,pengurang ;data 7segment kedua ditambah 10 129 00B2 mov 7s2,A 130 00B4 mov BCD,7s2 ;masukan data 7segment kedua ke

;IC BCD 131 00B7 clr scan7s2 ;matikan 7segment kedua 132 00B9 acall tunda1 ;beri tunda 133 00BB setb scan7s1 ;nyalakan 7segment pertama 134 00BD setb scan7s2 ;nyalakan 7segment kedua 135 00BF mov BCD,7s1 ;masukan data 7segment pertama

;ke IC BCD 136 00C2 clr scan7s1 ;matikan 7segment pertama 137 00C4 acall tunda1 138 00C6 setb scan7s1 ;nyalakan 7segment pertama 139 00C8 setb scan7s2 ;nyalakan 7segment kedua 140 00CA clr A 141 00CB ret 142 00CC ;========================================= 143 00CC ; Subroutin Pemberian Tunda 144 00CC ;========================================= 145 00CC tunda1: 146 00CC mov tl0,#low(-500) ;isi timer 0 low sebesar

;500 µdetik 147 00CF mov th0,#high(-500) ;isi timer 0 high sebesar

Page 115: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

L5

;500 µdetik 148 00D2 setb tr0 ;nyalakan timer 0 149 00D4 jnb tf0,$ 150 00D7 clr tf0 ;matikan tf0 151 00D9 clr tr0 ;matikan timer 0 152 00DB ret 153 00DC tunda2: 154 00DC mov tl0,#low(-20000) ;isi timer 0 low sebesar

;20000 µdetik 155 00DF mov th0,#high(-20000) ;isi timer 0 high sebesar

;20000 µdetik 156 00E2 setb tr0 ;nyalakan timer 0 157 00E4 jnb tf0,$ 158 00E7 clr tf0 ;matikan tf0 159 00E9 clr tr0 ;matikan timer 0 160 00EB ret 161 00EC tunda3: 162 00EC mov r0,#5detik ;salin data 1detik ke r0 163 00EE lagi5: 164 00EE mov th1,#high hitung ;isi timer 1 high sebesar

;10000 (hitung) 165 00F1 mov tl1,#low hitung ;isi timer 1 low sebesar

;10000 (hitung) 166 00F4 setb tr1 ;nyalakan timer 1 167 00F6 tunggu2: 168 00F6 acall tampilan ;nyalakan seven segment 169 00F8 jnb tf1,tunggu2 170 00FB clr tf1 ;matikan tf0 171 00FD clr tr1 ;matikan timer 1 172 00FF djnz r0,lagi5 ;timer diulangi sebesar

;500 kali 173 0101 ret 174 0102 tunda4: 175 0102 mov r5,dataMENIT ;salin data 7segment ke r5 176 0104 cjne r5,#00h,lagi2 ;bandingkan apakah r5 = 0 ;jika tidak lompat ke

;’lagi2’ 177 0107 sjmp tunda5 ;jika ya tunda4 diabaikan 178 0109 lagi2: 179 0109 mov r6,#1menit ;tunda waktu dijadikan

;menit 180 010B lagi1: 181 010B mov r7,#1detik ;tunda waktu dijadikan

;detik 182 010D lagi: 183 010D mov th1,#high hitung ;isi timer high sebesar

;10000 (hitung) 184 0110 mov tl1,#low hitung ;isi timer low sebesar ;10000 (hitung) 185 0113 setb tr1 ;nyalakan timer 1 186 0115 tunggu: 187 0115 acall tampilan ;nyalakan seven segment 188 0117 jnb tf1,tunggu 189 011A clr tf1 ;matikan tf0 190 011C clr tr1 ;matikan timer 1 191 011E djnz r7,lagi ;timer diulangi sebesar

;100 kali 192 0120 djnz r6,lagi1 ;timer diulangi sebesar 60

;kali

Page 116: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

L6

193 0122 djnz r5,lagi2 ;timer diulangi sebesar ;data pada r5

194 0124 ; 195 0124 tunda5: 196 0124 mov r4,dataDETIK2 ;salin dataDETIK2 ke r4 197 0126 cjne r4,#00h,lagi4 ;bandingkan apakah r4 = 0

;jika tidak lompat ke ;’lagi4’

198 0129 sjmp terus ;jika ya tunda5 diabaikan 199 012B lagi4: 200 012B mov r3,#1detik ;tunda waktu dijadikan

;detik 201 012D lagi3: 202 012D mov th1,#high hitung ;isi timer high sebesar

;10000 (hitung) 203 0130 mov tl1,#low hitung ;isi timer low sebesar

;10000 (hitung) 204 0133 setb tr1 ;nyalakan timer 1 205 0135 tunggu1: 206 0135 acall tampilan ;nyalakan seven segment 207 0137 jnb tf1,tunggu1 208 013A clr tf1 ;matikan tf0 209 013C clr tr1 ;matikan timer 1 210 013E djnz r3,lagi3 ;timer diulangi sebesar

;100 kali 211 0140 djnz r4,lagi4 ;timer diulangi sebesar

;data pada r4 212 0142 terus: 213 0142 clr C 214 0143 ret

Page 117: JAM PASIR DIGITAL BERBASIS MIKROKONTROLER AT89S51

Lampiran L7 Rangkaian Lengkap Jam Pasir Digital