• Tidak ada hasil yang ditemukan

TUGAS AKHIR - Jam pasir digital berbasis mirokontroler AT89S51 - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "TUGAS AKHIR - Jam pasir digital berbasis mirokontroler AT89S51 - USD Repository"

Copied!
117
0
0

Teks penuh

(1)

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

(2)

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

(3)
(4)
(5)

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

(6)

^âÑxÜáxÅut{tÇ~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Çz{xÇwt~|?

à|wt~ twt çtÇz à|wt~ ÅâÇz~|Ç

w| wâÇ|t |Ç|Ê

(7)

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

(8)

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

(9)

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.

(10)

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.

(11)

Yogyakarta, Oktober 2007

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

LAMPIRAN

Datasheet ... L1

Listing Program... L2

Rangkaian Lengkap Jam Pasir Digital ... L7

(20)

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.

(21)

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

(22)

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.

(23)

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.

(24)

Gambar 2.1 Blok Diagram AT89S51 [1]

b. Register B.

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

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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,

(32)

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.

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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

(40)

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.

(41)

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

(42)

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

(43)

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

(44)

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

(45)

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]

(46)

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

(47)

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]

(48)

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.

(49)

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

(50)

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.

(51)

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

(52)

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.

(53)

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.

(54)

ON saat Saturasi ; OFF saat Cut Off B in EB E BSat R V V V

I = −( + )

B

R

V V

V (0.7 0.45 )

5 − +

=

mA I

IC1 = LED =10

B C I

I 1 =β.

βC1

B

I

I =

78 10mA IB =

mA IB =12.82

B in EB E BSat R V V V

I = −( + )

B

R

V V

V

mA 5 (0.7 0.45 )

82 .

12 = − +

mA V RB 82 . 12 85 . 3 = Ω =300.31

B

R

Jadi resistor (RB) menggunakan 300B Ω

C LED E C I V V

R = −

mA V V RC 10 1 . 2 5 − = Ω =290 C R

(55)

LED 300 300 LED PA1.3 300 LED PB3.2 300 PB0.1 PB2.1 300 LED LED 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 9012 PNP LED P1.2 PA2.4 PA2.1 300 LED PA4.1 LED LED LED 300 PA2.3 PB3.5 300 9012 PNP 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 Q 10 PNP 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 9012 PNP PB1.1 PB2.1 LED PB4.1 LED 9012 PNP PA1.5 PB1.3 PA3.1 LED PB1.3 5V 300 300 PA2.2 300 PA2.3 5V 300 300 P2.2 PB0.1 9012 PNP LED PA0.1 PA3.2 PA3.1 9012 PNP LED 300 9012 PNP PA1.1 PA1.2 5V 9012 PNP LED P2.1 LED PB3.4 300 P2.0 PB3.4 LED PA0.1 PA2.1 300 300 LED P2.3 9012 PNP LED 300 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

(56)

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

(57)

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 ( ) ( S F OL S F cc I V V

V − +

= mA V V V 10 ) 25 . 0 8 . 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

(58)

IC = 8.10mA

= 80mA

IC = β.IBB

= β C I = 78 80mA

= 1.025mA

RB = B

B B I V = B mikro OL BE CC I V V

V −( + ( ))

= mA V V V 025 . 1 ) 45 . 0 7 . 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

(59)

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:

5 15menit

T =

= 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

(60)

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.

(61)

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

(62)

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.

(63)

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

(64)
(65)

3.3.4 Diagram Alir (flowchart) Pemberian Tunda Pada Aliran Led

Pada gambar 3.12 menunjukan diagram alir (flowchart) pemberian tunda

pada aliran led

(66)

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

(67)

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

(68)

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.

(69)

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

(70)

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 × − = segment seven data stopwatch data segment seven data Error

Contoh untuk error

Gambar

Gambar 2.1 Blok Diagram AT89S51 [1]
Gambar 2.2 Peta Memori Interupsi [1]
Gambar 2.4 Susunan Bit dalam Register TCON [1]
Tabel 2.4 Vektor-Vektor Interupsi [1]
+7

Referensi

Dokumen terkait

Disertasi ini disusun berdasarkan empat topik penelitian yaitu: (1) Analisis kemiripan genetik (genetic similarity) tanaman jati Sulawesi Tenggara menggunakan marka mikrosatelit,

Berdasarkan analisis data menunjukkan nilai F hitung 9,067 &gt; F tabel 3,153 dan R (koefisien regresi) sebesar 0,485 tidak bertanda negatif serta nilai

Abstrak : Tujuan dari penulisan Tugas Akhir ini adalah membuat suatu program berbasis komputer khususnya untuk Sistem check in dan billing , dengan menggunakan

 Peralatan yang berhubungan dengan produk tidak boleh berkarat.  Timbangan

Undang-Undang Nomor 32 Tahun 2004 tentang Pemerintah Daerah (Lembaran Negara Republik Indonesia Tahun 2004 nomor 125, tambahan Lembaran Negara Republik Indonesia nomor

Apakah usia, jenis kelamin dan riwayat keluarga penyakit jantung koroner sebagai faktor prediktor terjadinya MACE (major adverse cardiac events) pada pasien sindrom koroner akut

Hasil penelitian ini diharapkan dapat menjadi pertimbangan dalam pengambilan kebijakan bagi Balai Pemantapan Kawasan Hutan Wilayah XI Jawa Madura, dalam upaya mewujudkan

Kristen mengikuti suaminya. Di samping warga jemaat yang sudah diketahui dan telah tercatat pindah agama, diperkirakan ada beberapa warga yang pindah ke gereja denominasi