• Tidak ada hasil yang ditemukan

Perancangan Drive Lampu Dan Sensor Arus Sebagai Feed Back Berbasis Mikrokontroler AT89S51

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan Drive Lampu Dan Sensor Arus Sebagai Feed Back Berbasis Mikrokontroler AT89S51"

Copied!
123
0
0

Teks penuh

(1)

PERANCANGAN DRIVE LAMPU DAN SENSOR ARUS SEBAGAI

FEED BACK BERBASIS MIKROKONTROLER AT89S51

LAPORAN AKHIR STUDI

INDAH SINAGA

042408046

PROGRAM STUDI D_3 FISIKA INSTRUMENTASI

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(2)

PERANCANGAN DRIVE LAMPU DAN SENSOR ARUS SEBAGAI FEED BACK BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya

INDAH SINAGA 042408046

PROGRAM STUDI D-3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : PERANCANGAN DRIVE LAMPU DAN SENSOR ARUS SEBAGAI FEED BACK BERBASIS

MIKROKONTROLER AT89S51

Kategori : TUGAS AKHIR

Nama : INDAH SINAGA

Nomor Induk Mahasiswa : 042408046

Program Studi : D3 FISIKA INSTRUMENTASI Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Juli 2007

Ketua Program Studi Dosen Pembimbing

D3 Fisika Instrumentasi

Dr. Marhaposan Situmorang. M.Sc Drs. Nasruddin MN, M.Eng.Sc

(4)

PERNYATAAN

PERANCANGAN DRIVE LAMPU DAN SENSOR ARUS SEBAGAI FEED BACK BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

Saya mengaku bahwa Laporan Akhir Studi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing disebutkan sumbernya.

Medan, Juli 2007

(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah melimpahkan rahmat dan hidayahnya, juga yang telah memberikan kesehatan, pengetahuan serta pengalaman pada penulis, sehingga penulisan laporan Akhir Studi dengan judul “PERANCANGAN DRIVE LAMPU DAN SENSOR ARUS SEBAGAI FEED BACK BERBASIS MIKROKONTROLER AT89S51”, ini selesai pada waktunya.

Dalam Kesempatan ini penulis ingin mengucapkan yang sedalam – dalamnya kepada Ayahanda yang tercinta E.K Sinaga yang telah begitu banyak memberikan dukungan baik moril maupun materil kepada penulis dalam menyelesaikan laporan Akhir Studi ini. kakanda Nova, Hotma dan keluarganya, abang Viktor dan keluarganya yang begitu besar memberikan dukungan kepada penulis. Ucapan terimakasih juga ditujukan kepada Bapak DR. Eddy Marlianto, M.Sc selaku Dekan FMIPA USU, Bapak DR. Marhaposan Situmorang, M.Sc selaku ketua program studi Fisika Instrumentasi, Bapak Drs, Nasruddin MN, M.Eng.Sc selaku Dosen Pembimbing yang telah banyak memberikan bimbingan, petunjuk dan pengarahan kepada penulis dalam menyelesaikan Laporan Akhir Studi ini, Seluruh Dosen yang mengajar pada program studi Fisiki Instrumentasi, Sahabat satu gerejaku (GKPS Marendal) dan sahabat stambuk 2004 Fisika Instrumentasi yang telah banyak memberikan dukungan dan doa kepada penulis, terima kasih banyak untuk semuanya. Semoga Tuhan akan membalasnya.

(6)

Gambar 2.1.3 Peta register Fungsi Khusus – SFR 9 Gambar 2.1.3i IC Mikrokontroler AT89S51 12

Gambar 2.1.4a Diagram Motor Langkah 15

Gambar 2.1.4b Pemberian data/pulsa pada motor stepper 16 Gambar 2.2.2 8051 Editor, Assembler, Simulator (IDE) 21 Gambar 2.2.3 ISP-Flash Programmer 3.0a 22

Gambar 3.1 Diagram Blok Rangkaian 23

Gambar 3.2 Rangkaian Power Supply (PSA) 24 Gambar 3.3 Rangkaian Mikrokontroler AT89S51 26 Gambar 3.4 Rangkaian Pengendali Lampu 27

Gambar 3.5 Rangkaian Sensor Arus 29

Gambar 3.6 Rangkaian antar muka parallel port

dengan mikrokontroler AT89S51 30

DAFTAR TABEL

(7)

Tabel 4.5(b) R1a,akan memutar nilai yang ada pada accumulator 51 Tabel 4.5(c) P0.1 dan P0.5 mendapatkan logika hogh

dan yang lainnya logika low 52

DAFTAR ISI

Halaman

LEMBAR JUDUL i

LEMBAR PERSETUJUAN ii

LEMBAR PERNYATAAN iii

PENGHARGAAN iv

DAFTAR ISI v

(8)

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Tujuan Penulisan 3

1.4 Batasan Masalah 3

1.5 Sistematika Penulisan 3

BAB 2 LANDASAN TEORI 5

2.1 Perangkat Keras 5

2.1.1 Arsitektur Mikrokontroler AT89S51 5

2.1.2 Kontruksi AT89S51 6

2.1.3 SFR pada keluarga 51 8

2.1.4 Motor Langkah (Stepper) 14

2.2 Perangkat Lunak 16

2.2.1 Bahasa Assembly MCS-51 16

2.2.2 Software 8051 Editor,

Assembler, Simulator (IDE) 21

2.2.3 Software Downloader 22

BAB 3 PERANCANGAN DAN PEMROGRAMAN 23

3.1 Diagram Blok 23

3.2 Perancangan Rangkaian PSA 24

3.3 Rangkaian Mikrokontroler AT89S51 26 3.4 Perancangan Rangkaian Pengendali Lampu 27 3.5 Perancangan Rangkaian Sensor Arus 29 3.6 Perancangan Rangkaian Antar muka Paralel Port 30

BAB 4 PENGUJIAN DAN ANALISA SISTEM 47

(9)

BAB 5 KESIMPULAN DAN SARAN 54

5.1 Kesimpulan 54

5.2 Saran 54

DAFTAR PUSTAKA 55

BAB 1 PENDAHULUAN

(10)

PERANCANGAN DRIVE LAMPU DAN SENSOR ARUS SEBAGAI

FEED BACK BERBASIS MIKROKONTROLER AT89S51

LAPORAN AKHIR STUDI

INDAH SINAGA

042408046

PROGRAM STUDI D_3 FISIKA INSTRUMENTASI

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(11)

PERANCANGAN DRIVE LAMPU DAN SENSOR ARUS SEBAGAI FEED BACK BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya

INDAH SINAGA 042408046

PROGRAM STUDI D-3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(12)

PERSETUJUAN

Judul : PERANCANGAN DRIVE LAMPU DAN SENSOR ARUS SEBAGAI FEED BACK BERBASIS

MIKROKONTROLER AT89S51

Kategori : TUGAS AKHIR

Nama : INDAH SINAGA

Nomor Induk Mahasiswa : 042408046

Program Studi : D3 FISIKA INSTRUMENTASI Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Juli 2007

Ketua Program Studi Dosen Pembimbing

D3 Fisika Instrumentasi

Dr. Marhaposan Situmorang. M.Sc Drs. Nasruddin MN, M.Eng.Sc

(13)

PERNYATAAN

PERANCANGAN DRIVE LAMPU DAN SENSOR ARUS SEBAGAI FEED BACK BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

Saya mengaku bahwa Laporan Akhir Studi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing disebutkan sumbernya.

Medan, Juli 2007

(14)

PENGHARGAAN

Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah melimpahkan rahmat dan hidayahnya, juga yang telah memberikan kesehatan, pengetahuan serta pengalaman pada penulis, sehingga penulisan laporan Akhir Studi dengan judul “PERANCANGAN DRIVE LAMPU DAN SENSOR ARUS SEBAGAI FEED BACK BERBASIS MIKROKONTROLER AT89S51”, ini selesai pada waktunya.

Dalam Kesempatan ini penulis ingin mengucapkan yang sedalam – dalamnya kepada Ayahanda yang tercinta E.K Sinaga yang telah begitu banyak memberikan dukungan baik moril maupun materil kepada penulis dalam menyelesaikan laporan Akhir Studi ini. kakanda Nova, Hotma dan keluarganya, abang Viktor dan keluarganya yang begitu besar memberikan dukungan kepada penulis. Ucapan terimakasih juga ditujukan kepada Bapak DR. Eddy Marlianto, M.Sc selaku Dekan FMIPA USU, Bapak DR. Marhaposan Situmorang, M.Sc selaku ketua program studi Fisika Instrumentasi, Bapak Drs, Nasruddin MN, M.Eng.Sc selaku Dosen Pembimbing yang telah banyak memberikan bimbingan, petunjuk dan pengarahan kepada penulis dalam menyelesaikan Laporan Akhir Studi ini, Seluruh Dosen yang mengajar pada program studi Fisiki Instrumentasi, Sahabat satu gerejaku (GKPS Marendal) dan sahabat stambuk 2004 Fisika Instrumentasi yang telah banyak memberikan dukungan dan doa kepada penulis, terima kasih banyak untuk semuanya. Semoga Tuhan akan membalasnya.

DAFTAR GAMBAR

(15)

Gambar 2.1.3 Peta register Fungsi Khusus – SFR 9 Gambar 2.1.3i IC Mikrokontroler AT89S51 12

Gambar 2.1.4a Diagram Motor Langkah 15

Gambar 2.1.4b Pemberian data/pulsa pada motor stepper 16 Gambar 2.2.2 8051 Editor, Assembler, Simulator (IDE) 21 Gambar 2.2.3 ISP-Flash Programmer 3.0a 22

Gambar 3.1 Diagram Blok Rangkaian 23

Gambar 3.2 Rangkaian Power Supply (PSA) 24 Gambar 3.3 Rangkaian Mikrokontroler AT89S51 26 Gambar 3.4 Rangkaian Pengendali Lampu 27

Gambar 3.5 Rangkaian Sensor Arus 29

Gambar 3.6 Rangkaian antar muka parallel port

dengan mikrokontroler AT89S51 30

DAFTAR TABEL

(16)

Tabel 4.5(b) R1a,akan memutar nilai yang ada pada accumulator 51 Tabel 4.5(c) P0.1 dan P0.5 mendapatkan logika hogh

dan yang lainnya logika low 52

DAFTAR ISI

Halaman

LEMBAR JUDUL i

LEMBAR PERSETUJUAN ii

LEMBAR PERNYATAAN iii

PENGHARGAAN iv

DAFTAR ISI v

DAFTAR TABEL vi

(17)

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Tujuan Penulisan 3

1.4 Batasan Masalah 3

1.5 Sistematika Penulisan 3

BAB 2 LANDASAN TEORI 5

2.1 Perangkat Keras 5

2.1.1 Arsitektur Mikrokontroler AT89S51 5

2.1.2 Kontruksi AT89S51 6

2.1.3 SFR pada keluarga 51 8

2.1.4 Motor Langkah (Stepper) 14

2.2 Perangkat Lunak 16

2.2.1 Bahasa Assembly MCS-51 16

2.2.2 Software 8051 Editor,

Assembler, Simulator (IDE) 21

2.2.3 Software Downloader 22

BAB 3 PERANCANGAN DAN PEMROGRAMAN 23

3.1 Diagram Blok 23

3.2 Perancangan Rangkaian PSA 24

3.3 Rangkaian Mikrokontroler AT89S51 26 3.4 Perancangan Rangkaian Pengendali Lampu 27 3.5 Perancangan Rangkaian Sensor Arus 29 3.6 Perancangan Rangkaian Antar muka Paralel Port 30

BAB 4 PENGUJIAN DAN ANALISA SISTEM 47

(18)

BAB 5 KESIMPULAN DAN SARAN 54

5.1 Kesimpulan 54

5.2 Saran 54

DAFTAR PUSTAKA 55

BAB 1 PENDAHULUAN

(19)

Proyek Akhir Studi merupakan salah satu alternatif bagi mahasiswa semester akhir guna melengkapi studinya pada program D – III Jurusa Fisika Instrumentasi yaitu dengan menyusun Laporan Akhir Studi. Dalam menyusun laporan mahasiswa diberikan untuk membuat proyek Akhir Studi.

Dalam kesempatan ini penulis membuat Proyek Akhir Studi sehingga pada akhirnya nanti penulis mengharapkan keadaan proyek berfungsi sesuai dengan spesifikasi yang diinginkan dan Laporan Akhir Studi ini dapat bermanfaat bagi penulis dan bagi yang membahas Akhir Studi nanti.

Kemajuan dan perkembangan dunia terus melaju dan berkembang dengan pesat. Hal ini terjadi di berbagai bidang, baik di bidang ekonomi, sosial budaya, maupun bidang-bidang eksakta dan teknologi. Ini menuntut manusia untuk menghadapinya. Oleh sebab itu manusia harus terus berfikir dan berusaha untuk menemukan hal-hal yang baru guna mempermudah aktifitas sehari-hari.

Berkaitan dengan hal diatas, komputer merupakan salah satu solusinya. Kehadiran komputer sepertinya sudah menjadi sebuah alat bantu bagi manusia. Ini terbukti dengan semakin banyaknya permasalahan yang dapat diatasi dengan memanfaatkan komputer.

(20)

ini sangat melelahkan. Jadi dibuatlah satu ruangan yang didalamnya ada komputer dan alat pengendali lampu, agar operator dengan mudah mematikan ataupun menghidupkan lampu memakai komputer agar dapat mengetahui apakah lampu dalam keadaan hidup ataupun mati.

Untuk itu penulis ingin mencoba merancang suatu sistem yang dapat membantu mengatasi hal tersebut dan menuangkannya dalam bentuk laporan proyek dengan judul “PERANCANGAN DRIVE LAMPU DAN SENSOR ARUS SEBAGAI FEED BACK BERBASIS MIKROKONTROLER AT89S51”. Bahasa yang digunakan dalam pembahasan laporan ini adalah bahasa pemrograman visual basic dan Assembler.

1.2. Rumusan Masalah

Mengacu pada hal diatas, pada tugas tugas akhir ini Penulis akan merancang sistem Drive Lampu dan Sensor Arus sebagai Feed Back Berbasis Mikrokontroler AT89S51. Pada alat ini akan digunakan sebuah mikrokontroler AT89S51, sebuah PC, 8 buah lampu.

Mikrokontroler AT89S51 sebagai otak dari sistem, yang berfungsi mengendalikan semua peralatan elektronik. Sensor arus untuk mengetahui apakah lampu dalam keadaan menyala atau mati. Lampu sebagai contoh peralatan elektronik yang akan dikendalikan.

1.3 Tujuan Penulisan

Tujuan dilakukan Laporan ini adalah sebagai berikut:

(21)

2. Memanfaatkan personal komputer untuk menampilkan kondisi Lampu apakah dalam keadaan menyala atau mati .

1.4 Batasan Masalah

Mengacu pada hal diatas, Penulis akan merancang sebuah alat tentang Perancangan Drive Lampu dan Sensor arus sebagai Feed Back berbasis Mikrokontroler AT89S51 dengan memanfaatkan mikrokontroler, dengan batasan-batasan sebagai berikut :

1. Mikrokontroler yang digunakan adalah jenis AT89S51. 2. Lampu yang dikendalikan sebanyak 8 buah lampu pijar.

3. Bahasa program yang digunakan pada personal komputer adalah bahasa “Visual Basic”. Dan pada mikrokontroler bahasa yang digunakan adalah bahasa “Assembler”.

I.5 Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika pembahasan bagaimana sebenarnya prinsip kerja sistem pengendalian Lampu dengan menggunakan mikrokontroler dan personal komputer, maka penulis menulis laporan ini sebagai berikut:

BAB 1. PENDAHULUAN

(22)

Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian Teori pendukung itu antara lain tentang mikrokontroler AT89S51 (hardware dan software), bahasa program yang digunakan. serta karekteristik dari komponen-komponen pendukung.

BAB 3. PERANCANGAN ALAT DAN PROGRAM

Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram blok dari rangkaian, skematik dari masing-masing rangkaian dan diagram alir dari program yang akan diisikan ke mikrokontroler AT89S51.

BAB 4. ANALISA RANGKAIAN DAN SISTEM KERJA ALAT

Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan mengenai program-program yang digunakan untuk mengaktifkan rangkaian, penjelasan mengenai program yang diisikan ke mikrokontroler AT89S51.

BAB 5. KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan yang dilakukan dari Laporan ini dan saran apakah rangkaian dapat dibuat lebih efisien dan dikembangkan perakitannya pada suatu metode lain yang mempunyai sistem kerja yang sama.

BAB 2

(23)

2.1 PERANGKAT KERAS

2.1.1 Arsitektur Mikrokontroler AT89S51

Mikrokontroler, sebagai suatu terobosan teknologi mikrokontoler dan mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara missal (dalam jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebetuhan pasar, mikrokontelor hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat Bantu dan mainan yang lebih canggih.

Ilustrasi yang mungkin bisa memberikan gambaran yang jelas dalam penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang saat ini terkenal di Indonesia. Jika kita sudah selesai bermain, maka akan diberikan suatu nilai, nilai inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan jika dikumpulkan dapat ditukar dengan berbagai macam hadiah. Sistem tiket ini ditangani dengan mikrokontroler, karena tidak mungkin menggunakan computer PC yang harus dipasang disamping (atau di belakang) mesin permainan yang bersangkutan.

(24)

sekaligus system pengiriman data secara serial (melalui pemancar), yang semuanya itu bisa diperoleh dari mikrokontroler yang digunakan.

Tidak seperti system komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM-nya dan ROM. Pada system computer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relative besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program control disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.

2.1.2 Kontruksi AT89S51

Mikrokontrol AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 10 Kilo Ohm dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler.

(25)

Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan progam ini dinamakan sebagai memori progam.

Random Access Memori (RAM) isinya akan sirna begitu IC kehilangan catu

daya, dipakai untuk menyimpan data pada saat progam bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

Ada berbagai jenis ROM. Untuk mikrokontroler dengan progam yang sudah baku dan diproduksi secara masal, progam diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler mengunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra

Violet Eraseable Progamble ROM) yang kemudian dinilai mahal dan ditinggalkan

setelah ada flash PEROM yang harganya jauh lebih murah.

Jenis memori yang dipakai untuk Memori Program AT89S51 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89S51 Flash PEROM Programmer.

Memori Data yang disediakan dalam chip AT89S51 sebesar 128 byte, meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup.

Sarana Input/Ouput yang disediakan cukup banyak dan bervariasa. AT89S51 mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1 (P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7).

AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmiter)

(26)

dan 3, seningga kalau sarana input/ouput yang bekerja menurut fungsi waktu. Clock

penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar lewat T0 dan T1. T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/ouput parelel kalau T0 dan T1 dipakai.

AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan dengan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output parelel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.

Port1 dan 2, UART, Timer 0,Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Functoin

Regeister (SFR).

2.1.3 SFR (Register Fungsi Khusus ) Pada Keluarga 51

Sekumpulan SFR atau Special Function Register yang terdapat pada Mikrokontroler Atmel Keluarga 51 ditunjukan pada gambar I.01, pada bagian sisi kiri dan kanan dituliskan alamat-alamatnya dalam format heksadesimal.

(27)

8 Bytes

F8 FF

F0 B F7

E8 EF

E0 ACC E7

D8 DF

D0 PSW D7

C8 (T2CON) (T2MOD) (RCAP2L) (RCAP2H) (TL2) (TH2) CF

C0 C7

B8 IP BF

B0 P3 B7

A8 IE AF

A0 P2 A7

98 SCON SBUF 9F

90 P1 97

88 TCON TMOD TLO TL1 THO TH1 8F 80 PO SP DPL DPH PCON 87

Gambar 2.1.3. Peta Register Fungsi Khusus – SFR (Special Function Register) Tanda (…) untuk SFR yang dijumpai di keluarga 51 dengan 3 Timer

a. Akumulator

ACC atau akumulator yang menempati lokasi E 0h digunakan sebagai register untuk penyimpanan data sementara, dalam program, instruksi mengacunya sebagai register A (bukan ACC).

b. Register B

Register B (lokasi D 0h) digunakan selama operasi perkalian dan pembagian, untuk instruksi lain dapat diperlakukan sebagai register scratch pad (“papan coret-coret”) lainnya.

(28)

d. Stack Pointer

Register SP atau Stack Pointer (lokasi 8 1h) merupakan register dengan panjang 8-bit, digunakan dalam proses simpan menggunakan instruksi PUSH dan CALL. Walau

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

diinisialisasi 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 dilokasi 83h dan 82h, bersama-sama membentuk register yang mampu menyimpan alamat 16-bit. Dapat dimanipulasi sebagai register 16-bit atau ditulis dari/ke port, untuk masing-masing Port 0,Port 1, Port2 dan Port 3.

f. Serial Data Buffer

SBUF atau Serial Data Buffer (lokasi 99h) sebenarnya terdiri dari dua register yang terpisah, yaitu register penyangga pengirim (transmit buffer) dan penyangga penerima

(receive buffer). Pada saat data disalin ke SBUF, maka data sesungguhnya dikirim ke

penyangga pengirim dan sekaligus mengawali transmisi data serial. Sedangkan pada saat data disalin dari SBUF, maka sebenarnya data tersebut berasal dari penyangga penerima.

g. Time Register

Pasangan register (TH0, TL0) dilokasi 8Ch dan 8Ah,(TH1, TL1) dilokasi 8Dh dan 8Bh serta (TH2, TL2) dilokasi CDh dan CCH merupakan register-register pencacah 16-bit untuk masing-masing Timer 0, Timern 1 dan Timer 2.

(29)

Pasangan register (RCAP2H, RCAP21) yang menempati lokasi CBh dan CAh merupakan register capture untuk mode Timer 2 capture. Pada mode ini, sebagai tanggapan terjadinya suatu transisi sinyal di kaki (pin) T2EX (pada AT89C52/55), TH2 dan TL2 disalin masing-masing ke RCAP2H dan RCAP2L. Timer 2 juga memiliki mode isi-ulang-otomatis 16-bit dan RCAP2H serta RCAP2L digunakan untuk menyimpan nilai isi-ulang tersebut.

i. Control Register

Register-register IP, IE, TMOD, TCON, T2CON, T2MOD, SCON dan PCON berisi bit-bit control dan status untuk system interupsi, pencacah/pewaktu dan port serial. Berikut ini merupakan spesifikasi dari IC AT89C51 :

• Kompatible dengan produk MCS-51

• Empat K byte In-Sistem Reprogammable Flash Memory • Daya tahan 1000 kali baca/tulis

• Fully Static Operation : 0 Hz sampai 24 MHz • Tiga level kunci memori progam

• 128x8 bit RAM internal • 32 jalur I/O

(30)

Gambar 2.1.3i. IC Mikrokontroler AT89S51 Deskripsi pin-pin pada mikrokontroler AT89S51 :

VCC (Pin 40) Suplai tegangan GND (Pin 20) Ground

Port 0 (Pin 39-Pin 32)

Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun penerima kode byte pada saat flash progamming Pada fungsi sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut.

Pada fungsi sebagai low order multiplex address/data, por ini akan mempunyai internal pull up.

Pada saat flash progamming diperlukan eksternal pull up, terutama pada saat verifikasi program.

Port 2 (Pin 21 – pin 28)

(31)

mengeluarkan isi dari P2 special function register. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output sink keempat buah input TTL.

Port 3 (Pin 10 – pin 17)

Port 3 merupakan 8 bit port I/O dua arah dengan internal pullup. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :

Nama pin Fungsi

P3.0 (pin 10) RXD (Port input serial) P3.1 (pin 11) TXD (Port output serial) P3.2 (pin 12) INTO (interrupt 0 eksternal) P3.3 (pin 13) INT1 (interrupt 1 eksternal) P3.4 (pin 14) T0 (input eksternal timer 0) P3.5 (pin 15) T1 (input eksternal timer 1)

P3.6 (pin 16) WR (menulis untuk eksternal data memori) P3.7 (pin 17) RD (untuk membaca eksternal data memori)

Table 2.1.3 Port3 yang mempunyai fungsi

RST (pin 9)

(32)

Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input progam (PROG) selama memprogam Flash.

PSEN (pin 29)

Progam store enable digunakan untuk mengakses memori progam eksternal. EA (pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan progam yang ada pada memori internal. Pada saat flash progamming, pin ini akan mendapat tegangan 12 Volt.

XTAL1 (pin 19)

Input untuk clock internal. XTAL2 (pin 18)

Output dari osilator.

2.1.4 Motor Langkah (Stepper)

Motor langkah (stepper) banyak digunakan dalam berbagai aplikasi, dipergunakan apabila dikehendaki jumlah putaran yang tepat atau di perlukan sebagian dari putaran motor. Suatu contoh dapat di jumpai pada disk drive, untuk proses pembacaan dan/atau penulisan data ke/dari cakram(disk), head baca-tulis ditempatkan pada tempat yang tepat di atas jalur atau track pada cakram, untuk head tersebut di hubungkan dengan sebuah motor langkah.

(33)

suatu alat mekatronik atau robot. Motor langkah berukuran besar digunakan, misalnya, dalam proses pengeboran logam yang menghendaki ketepatan posisi pengeboran, dalam hal ini di lakukan oleh sebuah robot yang memerlukan ketepatan posisi dalam gerakan lengannya dan lain-lain.

Pada gambar di bawah ditunjukkan dasar susunan sebuah motor langkah (stepper).

Gambar 2.1.4 a) Diagram motor langkah (stepper)

Magnet permanen N-S berputar kearah medan magnet yang aktif. Apabila kumparan stator dialiri arus sedemikian rupa, maka akan timbul medan magnet dan rotor akan berputar mengikuti medan magnet tersebut.setiap pengalihan arus ke kumparan berikutnya menyebabkan medan magnet berputar berputar menurut suatu sudut tertentu, biasanya informasi besar sudut putar tertulis pada badan motor langkah yang bersangkutan. Jumlah keseluruhan pengalihan menentukan sudut perputaran motor.Jika pengalihan arus di tentukan, maka rotor akan berhenti pada posisi terakhir. Jika kecepatan pengalihan tidak terlalu tinggi, maka slip akan dapat dihindari. Sehingga tidak di perlukan umpan balik (feedback) pada pengendalian motor langkah.

U

S A

D B

A C

(34)

Motor langkah yang akan di gunakan memiliki 4 fase (pole atau kutub), pengiriman pulsa dari mikrokontroler ke rangkaian motor langkah dilakukan secara bergantian, masing-masing 4 data (sesuai dengan jumlah phase-nya), sebagian di tunjukkan pada gambar di bawah ini.

Gambar.2.1.4 b) Pemberian data/pulsa pada motor stepper

Pada saat yang sama ,untuk tiap motor langkah, tidak boleh ada 2 (dua) masukan atau lebih yang mengandung pulsa sama dengan 1 (high), atau dengan kata lain, pada suatu saat hanya sebuah masukan yang bernilai 1 (satu) sedangkan lainnya bernilai 0 (nol).

2.2 PERANGKAT LUNAK 2.2.1 Bahasa Assembly MCS-51

Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi. Dari 51 instruksi, yang sering digunakan orang hanya 10 instruksi. Instruksi –instruksi tersebut antara lain :

1. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.

Contoh pengisian nilai secara langsung C

(35)

MOV R0,#20h

Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai. Contoh pengisian nilai secara tidak langsung

MOV 20h,#80h

...

...

MOV R0,20h

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0).

Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.

2. Instruksi DJNZ

Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh ,

MOV R0,#80h

Loop: ...

...

DJNZ R0,Loop

...

(36)

Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :

...

ACALL TUNDA

...

TUNDA:

...

4. Instruksi RET

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh,

ACALL TUNDA

...

TUNDA:

...

RET

5. Instruksi JMP (Jump)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh,

Loop:

...

...

JMP Loop.

6. Instruksi JB (Jump if bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh,

(37)

JB P1.0,Loop

...

7. Instruksi JNB (Jump if Not bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh,

Loop:

JNB P1.0,Loop

...

8. Instruksi CJNZ (Compare Jump If Not Equal)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh,

Loop:

...

CJNE R0,#20h,Loop

...

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya..

9. Instruksi DEC (Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

(38)

10.Instruksi INC (Increament)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

INC R0 R0 = R0 + 1

...

11.Dan lain sebagainya

2.2.2 Software 8051 Editor, Assembler, Simulator (IDE)

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah ini.

Gambar 2.2.2. 8051 Editor, Assembler, Simulator (IDE)

(39)

perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.

Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroller.

2.2.3 Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar di bawah ini

Gambar 2.2.3. ISP- Flash Programmer 3.0a

(40)

PERANCANGAN SISTEM

3.1. Diagram Blok

Secara garis besar rangkaian pengendali peralatan elektronik dengan menggunakan PC, memiliki 6 blok utama. Yaitu personal komputer (PC), Mikrokontroler AT89S51, relay, lampu beban, Pintu dan sensor arus. Diagram blok rangkaian tampak seperti gambar berikut :

Gambar 3.1 Diagram Blok Rangkaian

Gambar di atas merupakan gambar diagram blok dari rangkaian pengendali peralatan elektronik dengan menggunakan PC. Jika komputer diberi perintah tertentu melalui program yang ada pada komputer, maka akan terjadi komunikasi data antara komputer dan mikrokontroler, Selanjutnya mikrokontroler akan mengambil data dari output komputer, sehingga mikrokontroler AT89S51 mengetahui data yang dikirimkan oleh komputer tersebut dan data ini akan dianggap oleh mikrokontroler sebagai perintah untuk mengerjakan sesuatu (mengaktipkan/menonaktipkan relay).

(41)

Langkah selanjutnya mikrokontroler akan membandingkan data yang masuk dengan data yang telah diprogramkan dalam mikrokontroler, kemudian mengerjakan perintah (mengaktipkan/menonaktipkan relay tertentu) sesuai dengan data yang diterima. Relay yang aktip akan menyebabkan lampu yang dihubungkan ke relay tersebut menyala. Setiap lampu dihubungkan ke sensor arus, sehingga jika lampu menyala, maka sensor arus yang terhubung ke lampu tersebut akan aktip dan mengirimkan sinyal tertentu ke mikrokontroler AT89S51. Sehingga dengan demikian mikrokontroler mengetahui lampu-lampu mana saja yang menyala. Hal yang sama juga terjadi ketika dibuka atau ditutup pintu.

3.2 Perancangan Rangkaian Power Supplay (PSA)

Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk menghidupkan seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk menghidupkan relay. Rangkaian tampak seperti gambar di bawah ini,

Gambar 3.2 Rangkaian Power Supplay (PSA)

Trafo CT ini merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC sehingga relay hidup,trafo CT ini

(42)

memiliki tegangan masing-masing 0,6 V sehingga 12 volt AC akan disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan.

Transistor PNP TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar.Transistor tipe PNP ini akan aktip jika tegangan pada basis > 0,7 volt dari tegangan positip.

Tegangan positip yang dihubungkan ke emitor sebesar 12 volt, sehingga transistor akan aktip jika diberi tegangan yang lebih kecil dari 12 volt – 0,7 volt = 11,3 volt. Dalam kondisi biasa (LM7805 tidak kekurangan arus), maka basis akan mendapatkan tegangan 12 volt, sehingga transistor tidak aktip, emitor tidak terhubung dengan kolektor, sehingga tegangan pada kolektor sama dengan tegangan pada output regulator LM7805 yaitu 5 volt. Namun jika rangkaian membutuhkan arus yang lebih banyak, maka regulator akan mengambil arus dari inputnya, sehingga tegangan pada input regulator akan turun hingga lebih kecil dari 11,3 volt, transistor akan aktip, maka arus akan mengalir dari emitor ke kolektor. Pada transistor ini jika aktip, maka yang mengalir dari emitor ke kolektor adalah arusnya, sedangkan tegangannya tidak, sehingga tegangan pada kolektor tetap 5 volt.

Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda. Sebenarnya tegangan 12 volt ini tidak stabil, namun karena tegangan 12 volt ini hanya digunakan untuk menghidupkan relay, jadi tidak dipermasalahkan, karena relay dapat hidup dengan tegangan 8 – 15 volt.

(43)

5V

Rangkaian mikrokontroler ini berfungsi sebagai pusat kendali dari seluruh rangkaian yang ada pada alat ini. Gambar rangkaian mikrokontroler AT89S51 ditunjukkan pada gambar 3.8 berikut ini :

Gambar 3.3 Rangkaian Mikrokontroler AT89S51

Mikrokontroler ini memiliki 32 port I/O, yaitu port 0, port 1, port 2 dan port 3. Pin 40 dihubungkan ke sumber tegangan 5 volt. Dan pin 20 dihubungkan ke ground. Rangkaian mikrokontroler ini menggunakan komponen kristal 12 MHz sebagai sumber clocknya. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroler dalam mengeksekusi suatu perintah tertentu.

(44)

4.7k

2SC945

Relay

VCC 12V

Sensor Arus Lampu Beban

Mikrokontroler

220 V PLN

t = R x C = 10 Kohm x 10 µF = 1 mdetik

Jadi 1 mili detik setelah power aktip pada IC kemudian program aktif.

Pin 17 yang merupakan P3.7 dihubungkan dengan transistor dan sebuah LED. Ini dilakukan hanya untuk menguji apakan rangkaian minimum mikrokontroller AT89S51 sudah bekerja atau belum. Dengan memberikan program sederhana pada mikrokontroller tersebut, dapat diketahui apakah rangkaian minimum tersebut sudah bekerja dengan baik atau tidak. Jika LED yang terhubug ke Pin 17 sudah bekerja sesuai dengan perintah yang diberikan, maka rangkaian minimum tersebut telah siap digunakan. Namun setelah seluruh rangkaian disatukan, LED yang terhubung ke in 17 ini tidak digunakan lagi.

3.4. Perancangan Rangkaian Pengendali Lampu.

Rangkaian pengendali lampu ini berfungsi untuk menghidupkan/ mematikan lampu beban. Rangkaian pengendali lampu ini ditunjukkan pada gambar berikut ini :

Gambar 3.4 Rangkaian pengendali lampu

(45)

Relay merupakan salah satu komponen elektronik yang terdiri dari lempengan logam sebagai saklar dan kumparan yang berfungsi untuk menghasilkan medan magnet. Pada rangkaian ini digunakan relay 12 volt, ini berarti jika positip relay (kaki 1) dihubungkan ke sumber tegangan 12 volt dan negatip relay (kaki 2) dihubungkan ke ground, maka kumparan akan menghasilkan medan magnet, dimana medan magnet ini akan menarik logam yang mengakibatkan saklar terhubung.

Pada rangkaian ini untuk mengaktipkan atau menon-aktipkan relay digunakan transistor tipe NPN. Dari gambar dapat dilihat bahwa negatip relay dihubungkan ke kolektor dari transistor NPN (2SC945), ini berarti jika transistor dalam keadaan aktip maka kolektor akan terhubung ke emitor dimana emitor langsung terhubung ke ground yang menyebabkan tegangan di kolektor menjadi 0 volt, keadaan ini akan mengakibatkan relay aktip. Sebaliknya jika transistor tidak aktip, maka kolektor tidak terhubung ke emitor, sehingga tegangan pada kolektor menjadi 12 volt, keadaan ini menyebabkan tidak aktip.

Kumparan pada relay akan menghasilkan tegangan singkat yang besar ketika relay dinon-aktipkan dan ini dapat merusak transistor yang ada pada rangkaian ini. Untuk mencegah kerusakan pada transistor tersebut sebuah dioda harus dihubungkan ke relay tersebut. Dioda dihubungkan secara terbalik sehingga secara normal dioda ini tidak menghantarkan. Penghantaran hanya terjadi ketika relay dinonaktipkan, pada saat ini arus akan terus mengalir melalui kumparan dan arus ini akan dialirkan ke dioda. Tanpa adanya dioda arus sesaat yang besar itu akan mengalir ke transistor, yang mengakibatkan kerusakan pada transistor.

(46)

opto

Relay

1.0k

100nF

4.7kVCC

5V

Mikrokontroler Lampu Beban

Output dari relay dihubungkan ke lampu beban dan yang satunya lagi dihubungkan ke sensor arus, sehingga dengan demikian dapat diketahui apakah lampu beban dalam keadaan hidup atau mati.

3.5. Perancangan Rangkaian Sensor Arus

Rangkaian sensor arus ini berfungsi untuk mengetahui apakah lampu dalam keadaan hidup atau mati. Rangkaian sensor arus ditunjukkan oleh gambar di bawah ini :

Gambar 3.5. Rangkaian Sensor Arus.

(47)

Ketika lampu menyala maka akan ada tegangan 2,4 volt pada rangkaian dioda, tegangan ini akan menghidupkan LED dan mengaktipkan pototransistor, sehingga tegangan kolektor pada opto coupler akan jatuh menjadi 0 volt. Perubahan tegangan ini yang merupakan indikator bahwasannya lampu beban dalam keadaan hidup. Output dari rangkaian ini dihubungkan ke mikrokontroler, sehingga mikrokontroler dapat mengetahui apakah lampu beban atau kipas dalam keadaan hidup atau mati.

Perancangan program:

program yang digunakan dalam proyek ini adalah program visual basic untk interface komputer ke rangkaian dan asssembler untuk mikrokontroller adapun program yang diisikan adalah sbb:

program interface komputer ke rangkaian”:

Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As

Byte)

Private Declare Function Portin Lib "IO.DLL" (ByVal Port As Integer) As Byte

Private Declare Sub Sleep Lib "Kernel32" (ByVal dwMiliseconds As Long)

Private Declare Function Inp Lib "DllPort.dll" Alias "Inp32" (ByVal PortAddress As

Integer) As Integer

Private Sub Command1_Click()

End Sub

Private Sub Hidup_All_Click()

PortOut &H378, &H19

End Sub

(48)

End Sub

Private Sub Lampu1_Mati_Click()

PortOut &H378, &H21

End Sub

Private Sub Lampu2_Hidup_Click()

PortOut &H378, &H12

End Sub

Private Sub Lampu2_Mati_Click()

PortOut &H378, &H22

End Sub

Private Sub Lampu3_Hidup_Click()

PortOut &H378, &H13

End Sub

Private Sub Lampu3_Mati_Click()

PortOut &H378, &H23

End Sub

Private Sub Lampu4_Hidup_Click()

PortOut &H378, &H14

End Sub

Private Sub Lampu4_Mati_Click()

PortOut &H378, &H24

End Sub

Private Sub Lampu5_Hidup_Click()

PortOut &H378, &H15

(49)

Private Sub Lampu5_Mati_Click()

PortOut &H378, &H25

End Sub

Private Sub Lampu6_Hidup_Click()

PortOut &H378, &H16

End Sub

Private Sub Lampu6_Mati_Click()

PortOut &H378, &H26

End Sub

Private Sub Lampu7_Hidup_Click()

PortOut &H378, &H17

End Sub

Private Sub Lampu7_Mati_Click()

PortOut &H378, &H27

End Sub

Private Sub Lampu8_Hidup_Click()

PortOut &H378, &H18

End Sub

Private Sub Lampu8_Mati_Click()

PortOut &H378, &H28

End Sub

Private Sub Mati_All_Click()

PortOut &H378, &H29

(50)

PortOut &H378, &H31

Sleep 100

Nilai1 = Inp(&H379)

If Nilai1 = 127 Then

Status1 = "Mati"

Else

Status1 = "Nyala"

End If

End Sub

Private Sub StatusLampu2_Click()

PortOut &H378, &H32

Sleep 100

Nilai2 = Inp(&H379)

If Nilai2 = 127 Then

Status2 = "Mati"

Else

Status2 = "Nyala"

End If

End Sub

Private Sub StatusLampu3_Click()

PortOut &H378, &H33

Sleep 100

Nilai3 = Inp(&H379)

If Nilai3 = 127 Then

(51)

Else

Status3 = "Nyala"

End If

End Sub

Private Sub StatusLampu4_Click()

PortOut &H378, &H34

Sleep 100

Nilai4 = Inp(&H379)

If Nilai4 = 127 Then

Status4 = "Mati"

Else

Status4 = "Nyala"

End If

End Sub

Private Sub StatusLampu5_Click()

PortOut &H378, &H35

Sleep 100

Nilai5 = Inp(&H379)

If Nilai5 = 127 Then

Status5 = "Mati"

Else

Status5 = "Nyala"

End If

(52)

PortOut &H378, &H36

Sleep 100

Nilai6 = Inp(&H379)

If Nilai6 = 127 Then

Status6 = "Mati"

Else

Status6 = "Nyala"

End If

End Sub

Private Sub StatusLampu7_Click()

PortOut &H378, &H37

Sleep 100

Nilai7 = Inp(&H379)

If Nilai7 = 127 Then

Status7 = "Mati"

Else

Status7 = "Nyala"

End If

End Sub

Private Sub StatusLampu8_Click()

PortOut &H378, &H38

Sleep 100

Nilai8 = Inp(&H379)

If Nilai8 = 127 Then

(53)

Else

Status8 = "Nyala"

End If

End Sub

Program yang diisikan ke dalam mikrokontroller Lampu1 Bit P0.7

Lampu2 Bit P0.6 Lampu3 Bit P0.5 Lampu4 Bit P0.4 Lampu5 Bit P0.3 Lampu6 Bit P0.2 Lampu7 Bit P0.1 Lampu8 Bit P0.0 Stepper1 bit P3.3 Stepper2 bit P3.4 Stepper3 bit P3.5 Stepper4 bit P3.6 Sensor1 Bit P3.0 Sensor2 Bit P3.1 Mov P0,#0

(54)

Utama: mov a,p1

cjne a,#11h,Hidupkan_Lampu2

Setb lampu1 ; hidupkan lampu 1 Sjmp Utama

Hidupkan_Lampu2: mov a,p1

cjne a,#12h,Hidupkan_Lampu3 Setb lampu2

Sjmp Utama Hidupkan_Lampu3: mov a,p1

cjne a,#13h,Hidupkan_Lampu4 Setb lampu3

Sjmp Utama Hidupkan_Lampu4: mov a,p1

cjne a,#14h,Hidupkan_Lampu5 Setb lampu4

Sjmp Utama Hidupkan_Lampu5: mov a,p1

cjne a,#15h,Hidupkan_Lampu6 Setb lampu5

(55)

Hidupkan_Lampu6: mov a,p1

cjne a,#16h,Hidupkan_Lampu7 Setb lampu6

Sjmp Utama Hidupkan_Lampu7: mov a,p1

cjne a,#17h,Hidupkan_Lampu8 Setb Lampu7

Sjmp Utama Hidupkan_Lampu8: mov a,p1

cjne a,#18h,Hidupkan_Lampu_all Setb Lampu8

Sjmp Utama Hidupkan_Lampu_all: mov a,p1

cjne a,#19h,Buka_pintu mov p0,#0ffh

Sjmp Utama Matikan_Lampu1: mov a,p1

(56)

Matikan_Lampu2: mov a,p1

cjne a,#22h,Matikan_Lampu3 Clr lampu2

ljmp Utama Matikan_Lampu3: mov a,p1

cjne a,#23h,Matikan_Lampu4 Clr lampu3

ljmp Utama Matikan_Lampu4: mov a,p1

cjne a,#24h,Matikan_Lampu5 Clr lampu4

ljmp Utama Matikan_Lampu5: mov a,p1

cjne a,#25h,Matikan_Lampu6 Clr lampu5

ljmp Utama Matikan_Lampu6: mov a,p1

cjne a,#26h,Matikan_Lampu7 Clr lampu6

(57)

Matikan_Lampu7: mov a,p1

cjne a,#27h,Matikan_Lampu8 Clr lampu7

ljmp Utama Matikan_Lampu8: mov a,p1

cjne a,#28h,Matikan_Lampu_All Clr Lampu8

ljmp Utama Matikan_Lampu_All: mov a,p1

cjne a,#29h,Cek_Status1 Mov p0,#0

ljmp Utama Cek_Status1: mov a,p1

cjne a,#31h,Cek_Status2 Jb p2.7,nyala1

(58)

mov a,p1

cjne a,#32h,Cek_Status3 Jb p2.6,nyala2

Clr p3.7 ljmp Utama nyala2: Setb P3.7 ljmp Utama Cek_Status3: mov a,p1

cjne a,#33h,Cek_Status4 Jb p2.5,nyala3

Clr p3.7 ljmp Utama nyala3: Setb P3.7 ljmp Utama Cek_Status4: mov a,p1

cjne a,#34h,Cek_Status5 Jb p2.4,nyala4

(59)

ljmp Utama Cek_Status5: mov a,p1

cjne a,#35h,Cek_Status6 Jb p2.3,nyala5

Clr p3.7 ljmp Utama nyala5: Setb P3.7 ljmp Utama Cek_Status6: mov a,p1

cjne a,#36h,Cek_Status7 Jb p2.2,nyala6

Clr p3.7 ljmp Utama nyala6: Setb P3.7 ljmp Utama Cek_Status7: mov a,p1

cjne a,#37h,Cek_Status8 Jb p2.1,nyala7

(60)

nyala7: Setb P3.7 ljmp Utama Cek_Status8: mov a,p1

cjne a,#38h,Cek_Status9 Jb p2.0,nyala8

Clr p3.7 ljmp Utama nyala8: Setb P3.7 ljmp Utama Cek_Status9: mov a,p1

cjne a,#39h,Cek_Status10 Jb p3.0,nyala9

Clr p3.7 ljmp Utama nyala9: Setb P3.7 ljmp Utama Cek_Status10: mov a,p1

(61)

Clr p3.7 ljmp Utama nyala10: Setb P3.7 Balik_Utama: ljmp Utama tunda:

mov r7,#50 tnd:

(62)

BAB 4

PENGUJIAN DAN ANALISA SISTEM

4.1 Pengujian Rangkaian Catu Daya

Pengujian pada bagian rangkaian catu daya ini dapat dilakukan dengan mengukur tegangan keluaran dari rangkaian ini dengan menggunakan volt meter digital. Dari hasil pengujian diperoleh tegangan keluaran pertama sebesar + 4,9 volt. Sedangkan tegangan keluaran kedua adalah sebesar +13,7 volt. Tegangan 4,9 volt digunakan untuk mensupplay tegangan ke mikrokontroler AT89S51. Sedangkan tegangan 13,7 volt digunakan untuk mensupplay tegangan ke relay.

4.2 Pengujian Rangkaian minimum mikrokontroller AT89S51

Pengujian rangkaian mikrokontroler dilakukan dengan menghubungkan rangkaian ini dengan sebuah transistor A733 yang dihubungkan dengan sebuah LED indikator, dimana transistor disini berfungsi sebagai saklar untuk mengendalikan hidup/mati LED. Dengan demikian LED akan menyala jika transistor aktip dan sebaliknya LED akan mati jika transistor tidak aktip. Tipe transistor yang digunakan adalah PNP A733, dimana transistor ini akan aktip (saturasi) jika pada basis diberi tegangan 0 volt (logika low) dan transistor ini akan tidak aktip jika pada basis diberi tegangan 5 volt (logika high). Basis transistor ini dihubungkan ke pin I/O mikrokontroler yaitu pada kaki 28 (P2.7).

Langkah selanjutnya adalah mengisikan program sederhana ke mikrokontroler AT89S51. Programnya adalah sebagai berikut :

Loop:

(63)

Acall tunda

sjmp loop

tunda:

mov r7,#255

tnd:

mov r6,#255

djnz r6,$

djnz r7,tnd

ret

Program di atas akan mengubah logika yang ada pada P2.7 selama selang waktu tunda. Jika logika pada P2.7 high maka akan diubah menjadi low, demikian jiga sebaliknya jika logika pada P2.7 low maka akan diubah ke high, demikian seterusnya.

Logika low akan mengaktipkan transistor sehingga LED akan menyala dan logika high akan menonaktipkan transistor, sehingga LED padam. Dengan demikian program ini akan membuat LED berkedip terus-menerus. Jika LED telah berkedip terus menerus sesuai dengan program yang diinginkan, maka rangkaian mikrokontroler telah berfungsi dengan baik.

4.3 Pengujian Rangkaian Pengendali Lampu

(64)

mematikan lampu beban, dimana hubungan yang digunakan adalah normally open (NO), dengan demikian jika relay tidak aktip maka lampu beban akan mati, sebaliknya jika relay aktip, maka lampu beban akan menyala. Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor, jika relay aktip dan lan lampu beban menyala maka rangkaian ini telah berfungsi dengan baik.

Pengujian selanjutnya dilakukan dengan menghubungkan rangkaian relay tersebut ke mikrokontroler AT89S51, kemudian memberikan program sederhana ke mikrokontroler AT89S51. Seperti telah dijelaskan di atas bahwa transistor jenis NPN akan aktip apabila tegangan pada basis lebih besar dari 0,7 volt, dimana basis dihubungkan dengan P2.4 AT89S51. P2.4 akan memiliki tegangan sebesar 5 volt jika diset high (1) dan memiliki tegangan 0 volt jika diset low (0). Dengan demikian kita sudah dapat mengendalikan (menghidupkan/ mematikan) transistor melalui program.

Program yang harus diisikan untuk mengaktipkan transistor yang akan mengaktipkan relay, sehingga lampu hidup adalah sebagai berikut,

Setb P2.4

Dan untuk mematikan lampu maka program yang harus diisikan adalah,

Clr P2.4

Dengan demikian kita sudah dapat menghidupkan dan mematikan lampu melalui program.

(65)

4.4. Pengujian Rangkaian Sensor Arus

Pengujian pada rangkaian dapat dilakukan dengan mengukur tegangan pada sensor arus. Dari hasil pengujian didapatkan tegangan sebagai berikut :

Tegangan saat beban hidup Tegangan saat beban mati

Tegangan pada sensor arus

2,4 volt 0,6 volt

Tegangan pada kolektor (optocoupler)

4,9 volt 0,3 volt

Tabel 4.4 Hasil pengujian tegangan

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Komputer dapat digunakan untuk mengendalikan untuk mengendalikan peralatan peralatan elektronik yang terhubung dengan komputer.

2. Dengan menggunakan dioda sebagai sensor arus, sehingga dapat diketahui apakah lampu beban sudah menyala dengan benar atau belum.

(66)

5.2 Saran

1. Komunikasi paralel antara mikrokontroler dengan komputer membutuhkan kabel yang banyak. Sebaiknya rangkaian ini dikembangkan dengan menggunakan komunikasi secara serial, sehingga jumlah kabel yang digunakan lebih sedikit.

DAFATAR PUSTAKA

1. Daryanto, Drs. “Teknik Elektronika”. Jakarta : Bumi Aksara.

2. Dr.Eddy Marlianto,M.Sc.2006. “Panduan Tata Cara Penulisan Tugas Akhir Fakultas Matematika Dan Ilmu Pengetahuan Alam. Universitas Sumatera Utara.

3. Drs.Pambudi Prasetya “Sistem Cepat Belajar Elektronika”.Amanah. Surabaya 4. Tim Lab Mikroprosesor Elektronika. 2006. “Pemrograman Mikrokontroler

AT89S51 dengan C/C++ dan Assemler. Yogyakarta: Andi.

(67)

5V

Tip 122 Tip 122

VCC

Tip 122 Tip 122

(68)

PERANCANGAN DRIVE LAMPU DAN SENSOR ARUS SEBAGAI FEED BACK BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

Saya mengaku bahwa Laporan Akhir Studi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing disebutkan sumbernya.

Medan, Juli 2007

(69)

LAPORAN AKHIR STUDI

INDAH SINAGA

042408046

PROGRAM STUDI D_3 FISIKA INSTRUMENTASI

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(70)

Judul : PERANCANGAN DRIVE LAMPU DAN SENSOR ARUS SEBAGAI FEED BACK BERBASIS

MIKROKONTROLER AT89S51

Kategori : TUGAS AKHIR

Nama : INDAH SINAGA

Nomor Induk Mahasiswa : 042408046

Program Studi : D3 FISIKA INSTRUMENTASI Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Juli 2007

Ketua Program Studi Dosen Pembimbing

D3 Fisika Instrumentasi

Dr. Marhaposan Situmorang. M.Sc Drs. Nasruddin MN, M.Eng.Sc

(71)

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya

INDAH SINAGA 042408046

PROGRAM STUDI D-3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(72)

Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah melimpahkan rahmat dan hidayahnya, juga yang telah memberikan kesehatan, pengetahuan serta pengalaman pada penulis, sehingga penulisan laporan Akhir Studi dengan judul “PERANCANGAN DRIVE LAMPU DAN SENSOR ARUS SEBAGAI FEED BACK BERBASIS MIKROKONTROLER AT89S51”, ini selesai pada waktunya.

(73)

Halaman Gambar 2.1.3 Peta register Fungsi Khusus – SFR 9 Gambar 2.1.3i IC Mikrokontroler AT89S51 12

Gambar 2.1.4a Diagram Motor Langkah 15

Gambar 2.1.4b Pemberian data/pulsa pada motor stepper 16 Gambar 2.2.2 8051 Editor, Assembler, Simulator (IDE) 21 Gambar 2.2.3 ISP-Flash Programmer 3.0a 22

Gambar 3.1 Diagram Blok Rangkaian 23

Gambar 3.2 Rangkaian Power Supply (PSA) 24 Gambar 3.3 Rangkaian Mikrokontroler AT89S51 26 Gambar 3.4 Rangkaian Pengendali Lampu 27

Gambar 3.5 Rangkaian Sensor Arus 29

Gambar 3.6 Rangkaian antar muka parallel port

(74)

Halaman Tabel 2.1.3 Port yang mempunyai Fungsi 13 Tabel 4.4 Hasil pengujian tegangan 50 Tabel 4.5(a) P0.0 dan P0.4 mendapatkan Logika High 51 Tabel 4.5(b) R1a,akan memutar nilai yang ada pada accumulator 51 Tabel 4.5(c) P0.1 dan P0.5 mendapatkan logika hogh

(75)

Halaman

LEMBAR JUDUL i

LEMBAR PERSETUJUAN ii

LEMBAR PERNYATAAN iii

PENGHARGAAN iv

DAFTAR ISI v

DAFTAR TABEL vi

DAFTAR GAMBAR vii

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Tujuan Penulisan 3

1.4 Batasan Masalah 3

1.5 Sistematika Penulisan 3

BAB 2 LANDASAN TEORI 5

2.1 Perangkat Keras 5

2.1.1 Arsitektur Mikrokontroler AT89S51 5

2.1.2 Kontruksi AT89S51 6

2.1.3 SFR pada keluarga 51 8

2.1.4 Motor Langkah (Stepper) 14

2.2 Perangkat Lunak 16

2.2.1 Bahasa Assembly MCS-51 16

2.2.2 Software 8051 Editor,

Assembler, Simulator (IDE) 21

2.2.3 Software Downloader 22

(76)

3.5 Perancangan Rangkaian Sensor Arus 29 3.6 Perancangan Rangkaian Antar muka Paralel Port 30

BAB 4 PENGUJIAN DAN ANALISA SISTEM 47

4.1 Pengujian Rangkaian Catu Daya 47 4.2 Pengujian Rangkaian Catu Daya 47 4.3 Pengujian Rangkaian Pengendali Lampu 48 4.4 Pengujian Rangkaian Sensor Arus 50 4.5 Pengujian Rangkaian Driver Motor Stepper 50 4.6 Pengujian Rangkaian Sensor Kendaraan 52

BAB 5 KESIMPULAN DAN SARAN 54

5.1 Kesimpulan 54

5.2 Saran 54

(77)

DAFATAR PUSTAKA

1. Daryanto, Drs. “Teknik Elektronika”. Jakarta : Bumi Aksara.

2. Dr.Eddy Marlianto,M.Sc.2006. “Panduan Tata Cara Penulisan Tugas Akhir Fakultas Matematika Dan Ilmu Pengetahuan Alam. Universitas Sumatera Utara. 3. Drs.Pambudi Prasetya “Sistem Cepat Belajar Elektronika”.Amanah. Surabaya 4. Tim Lab Mikroprosesor Elektronika. 2006. “Pemrograman Mikrokontroler

AT89S51 dengan C/C++ dan Assemler. Yogyakarta: Andi.

(78)

Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian Teori pendukung itu antara lain tentang mikrokontroler AT89S51 (hardware dan software), bahasa program yang digunakan. serta karekteristik dari komponen-komponen pendukung.

BAB 3. PERANCANGAN ALAT DAN PROGRAM

Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram blok dari rangkaian, skematik dari masing-masing rangkaian dan diagram alir dari program yang akan diisikan ke mikrokontroler AT89S51.

BAB 4. ANALISA RANGKAIAN DAN SISTEM KERJA ALAT

Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan mengenai program-program yang digunakan untuk mengaktifkan rangkaian, penjelasan mengenai program yang diisikan ke mikrokontroler AT89S51.

BAB 5. KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan yang dilakukan dari Laporan ini dan saran apakah rangkaian dapat dibuat lebih efisien dan dikembangkan perakitannya pada suatu metode lain yang mempunyai sistem kerja yang sama.

BAB 2

(79)

2.1 PERANGKAT KERAS

2.1.1 Arsitektur Mikrokontroler AT89S51

Mikrokontroler, sebagai suatu terobosan teknologi mikrokontoler dan mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara missal (dalam jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebetuhan pasar, mikrokontelor hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat Bantu dan mainan yang lebih canggih.

Ilustrasi yang mungkin bisa memberikan gambaran yang jelas dalam penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang saat ini terkenal di Indonesia. Jika kita sudah selesai bermain, maka akan diberikan suatu nilai, nilai inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan jika dikumpulkan dapat ditukar dengan berbagai macam hadiah. Sistem tiket ini ditangani dengan mikrokontroler, karena tidak mungkin menggunakan computer PC yang harus dipasang disamping (atau di belakang) mesin permainan yang bersangkutan.

(80)

sekaligus system pengiriman data secara serial (melalui pemancar), yang semuanya itu bisa diperoleh dari mikrokontroler yang digunakan.

Tidak seperti system komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM-nya dan ROM. Pada system computer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relative besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program control disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.

2.1.2 Kontruksi AT89S51

Mikrokontrol AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 10 Kilo Ohm dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler.

(81)

Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan progam ini dinamakan sebagai memori progam.

Random Access Memori (RAM) isinya akan sirna begitu IC kehilangan catu

daya, dipakai untuk menyimpan data pada saat progam bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

Ada berbagai jenis ROM. Untuk mikrokontroler dengan progam yang sudah baku dan diproduksi secara masal, progam diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler mengunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra

Violet Eraseable Progamble ROM) yang kemudian dinilai mahal dan ditinggalkan

setelah ada flash PEROM yang harganya jauh lebih murah.

Jenis memori yang dipakai untuk Memori Program AT89S51 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89S51 Flash PEROM Programmer.

Memori Data yang disediakan dalam chip AT89S51 sebesar 128 byte, meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup.

Sarana Input/Ouput yang disediakan cukup banyak dan bervariasa. AT89S51 mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1 (P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7).

AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmiter)

(82)

dan 3, seningga kalau sarana input/ouput yang bekerja menurut fungsi waktu. Clock

penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar lewat T0 dan T1. T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/ouput parelel kalau T0 dan T1 dipakai.

AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan dengan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output parelel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.

Port1 dan 2, UART, Timer 0,Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Functoin

Regeister (SFR).

2.1.3 SFR (Register Fungsi Khusus ) Pada Keluarga 51

Sekumpulan SFR atau Special Function Register yang terdapat pada Mikrokontroler Atmel Keluarga 51 ditunjukan pada gambar I.01, pada bagian sisi kiri dan kanan dituliskan alamat-alamatnya dalam format heksadesimal.

Gambar

Gambar 2.1.3. Peta Register Fungsi Khusus – SFR (Special Function Register)
Gambar  2.1.4  a) Diagram motor langkah (stepper)
Gambar.2.1.4 b)   Pemberian data/pulsa pada motor stepper
Gambar  2.2.2.   8051 Editor, Assembler, Simulator (IDE)
+7

Referensi

Dokumen terkait

Salah satu alasan mengapa orang-orang jaman dulu tidak membutuhkan π dengan presisi yang tinggi juga karena π dalam dua atau tiga tempat desimal saja sudah menyelesaikan

Melakukan sosialiasi tentang rencana dana penelitian, anugerah iptek, dan anugerah penelitian Pemerintah Kota Yogyakarta kepada perguruan tinggi, lembaga/organisasi masyarakat

[r]

Berdasarkan latar belakang masalah diatas, maka peneliti tertarik untuk melakukan penelitian mengenai “Perbedaan Kreativitas Anak yang Sekolah di TK Yang Menerapkan

Antara bahagian tumbuhan berikut, yang manakah tidak bergerak balas terhadap cahaya matahari.. Rajah di bawah menunjukkan gerak

Transverse friction merupakan suatu tehnik manipulasi yang bertujuan untuk melepaskan perlengketan, memperbaiki sirkulasi darah, dan menurunkan rasa nyeri secara

Dalam penelitian ini, metode yang digunakan adalah melalui kajian literatur, pengumpulan data,serta penerapan, meliputi penentuan tipe pasang surut dan tinggi muka air

Gambar 4.6 Grafik hubungan distribusi suhu terhadap waktu pada kolektor Pipa Paralel