BAB III PERANCANGAN ALAT

dokumen-dokumen yang mirip
BAB IV ANALISA DAN HASIL UJI COBA RANGKAIAN

BAB III RANCANGAN DAN CARA KERJA ALAT

BAB III PERANCANGAN DAN CARA KERJA RANGKAIAN

MANAJEMEN ENERGI PADA SISTEM PENDINGINAN RUANG KULIAH MELALUI METODE PENCACAHAN KEHADIRAN & SUHU RUANGAN BERBASIS MIKROKONTROLLER AT89S51

BAB III PERANCANGAN ALAT PENDETEKSI KERUSAKAN KABEL

BAB III ANALISA DAN CARA KERJA RANGKAIAN

Memprogram Port sebagai Output dan Input Sederhana

BAB 3 PERANCANGAN ALAT DAN PROGRAM

III. METODE PENELITIAN. Penelitian dan perancangan tugas akhir ini telah dimulai sejak bulan Agustus

BAB 2 LANDASAN TEORI. Mikrokontroler AT89S52 termasuk kedalam keluarga MCS-51 merupakan suatu. dua macam memori yang sifatnya berbeda yaitu:

BAB IV PENGUJIAN DAN ANALISA DATA

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

BAB 2 LANDASAN TEORI

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB II TINJAUAN PUSTAKA. Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

BAB 2 TINJAUAN TEORITIS. Mikrokontroller, sebagai suatu terobosan teknologi mikrokontroler dan microkomputer,

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

DASAR INPUT/OUTPUT (2) (PORT PPI DAN PORT 1 SEBAGAI INPUT/OUTPUT)

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

BAB III PERANCANGAN ALAT

BAB III METODE PENELITIAN

BAB III PERANCANGAN. Perancangan tersebut mulai dari: spesifikasi alat, blok diagram sampai dengan

BAB III PERANCANGAN SISTEM. Secara garis besar rangkaian pengendali peralatan elektronik dengan. blok rangkaian tampak seperti gambar berikut :

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

BAB II LANDASAN TEORI. Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global.

BAB 3 PERANCANGAN SISTEM. pada sistem pengendali lampu telah dijelaskan pada bab 2. Pada bab ini akan dijelaskan

PORT SERIAL MIKROKONTROLER ATMEL AT89C51

BAB IV UJI COBA ALAT DAN ANALISA

DAFTAR ISI. ABSTRAK... i KATA PENGANTAR... ii DAFTAR ISI... iv DAFTAR GAMBAR... vii DAFTAR TABEL... x DAFTAR LAMPIRAN... xi

BAB II TINJAUAN PUSTAKA

BAB IV PENGUJIAN DAN ANALISA. Pengujian terhadap sistem yang telah dibuat dilakukan untuk mengetahui

DASAR INPUT/OUTPUT (1) (PORT PPI DAN PORT 1 SEBAGAI OUTPUT)

BAB III RANCANGAN SISTEM. dirancanag. Setiap diagram blok mempunyai fungsi masing-masing. Adapun diagram

PERCOBAAN 11 PULSE WIDHT MODULATION

BAB III PERANCANGAN DAN REALISASI ALAT

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM

BAB III PERENCANAAN DAN REALISASI

AKSES MEMORI Menggunakan DT-51 MinSys

BAB III METODOLOGI PENELITIAN. Adapun blok diagram modul baby incubator ditunjukkan pada Gambar 3.1.

BAB III PERENCANAAN DAN REALISASI

BAB II LANDASAN TEORI

Gambar 3.1 Blok Diagram Port Serial RXD (P3.0) D SHIFT REGISTER. Clk. SBUF Receive Buffer Register (read only)

BAB III PROSES PERANCANGAN

BAB 3 PERANCANGAN SISTEM

PERCOBAAN 9 T I M E R/ COUNTER

BAB III PERANCANGAN STAND ALONE RFID READER. Dalam penelitian ini, perancangan sistem meliputi :

Memprogram Interface Display

BAB II PENDEKATAN PEMECAHAN MASALAH. Tombol kuis dengan Pengatur dan Penampil Nilai diharapkan memiliki fiturfitur

DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN P EMBIMBING... HALAMAN PENGESAHAN P ENGUJI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR...

BAB III METODOLOGI PENELITIAN

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN ALAT

DT-COMBO AVR-51 STARTER KIT

Mikrokontroler 89C51 Bagian II :

BAB III PERANCANGAN SISTEM

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

Percobaan 5. TIMER/COUNTER Menggunakan DT-51 MinSys

Pengendalian 8 buah Motor oleh DST-51

BAB III PERANCANGAN ALAT

Memprogram Interupsi AT89S51

BAB 2 LANDASAN TEORI

BAB III PERENCANAAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN ALAT. dimmer atau terang redup lampu dan pengendalian pada on-off lampu. Remote

BAB 3 PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM

BAB III DESKRIPSI MASALAH

Perancangan Serial Stepper

BAB 2 TINJAUAN TEORITIS

BAB 2 LANDASAN TEORI. bisa digunakan untuk memindahkan program yang ber-ekstention.hex ke Flash,

PENGATURAN SAKELAR PADA ACARA CEPAT TEPAT BERBASIS MIKROKONTROLER AT89C2051

BAB II TINJAUAN PUSTAKA

I/O dan Struktur Memori

BAB III METODOLOGI PENELITIAN

3.2. Tempat Penelitian Penelitian dan pengujian alat dilakukan di lokasi permainan game PT. EMI (Elektronik Megaindo) Plaza Medan Fair.

III. METODOLOGI PENELITIAN. Penelitian dan perancangan tugas akhir ini telah dimulai sejak bulan Juli 2009

4. Port Input/Output Mikrokontroler MCS-51

BAB III PERANCANGAN SISTEM

BAB V HASIL DAN PEMBAHASAN Perangkat Keras (Hardware)

TIMER DAN COUNTER MIKROKONTROLER ATMEL

BAB III PEMBUATAN ALAT DAN IMPLEMENTASI

MIKROKONTROLER AT89S52

DT-51 Application Note

BAB II TINJAUAN PUSTAKA

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika. Assembler Bahasa pemrograman mikrokontroler MCS-51

BAB II LANDASAN TEORI

BAB III PERANCANGAN SISTEM

BAB 2 LANDASAN TEORI. Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

(b) Gambar 3.1 (a) Blok Diagram Sistem Telemetri Bagian Pengirim Data. (b) Blok Diagram Sistem Telemetri Bagian Penerima Data

Laporan Modul 2, EL3006 Timer/Counter dan Interrupt Jongguran Sondang DN ( )/ Kelompok 48/ Jumat, 14 Maret 2008 Asisten: Virgilius

BAB III PERENCANAAN SISTEM DAN PEMBUATAN ALAT

BAB IV PENGUJIAN DAN ANALISA DATA

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

Percobaan 6. SERIAL INTERFACE Menggunakan DT-51 MinSys

BAB III PERANCANGAN DAN IMPLEMENTASI. Pada tugas akhir ini akan dibuat sebuah perangkat keras PLC dengan fasilitas

BAB 3 PERANCANGAN SISTEM. Di bawah ini adalah blok diagram dari perancangan alat sensor keamanan menggunakan PIR (Passive Infrared).

Transkripsi:

BAB III PERANCANGAN ALAT 3.1 Diagram Blok Rangkaian Pada bab ini akan di bahas tentang perancangan sebuah alat yang meliputi diagram blok rangkaian dan realisasi rangkaian dengan prinsip kerja dari masingmasing blok rangkaian yang digunakan pada Perancangan Sistem Antrian Digital Berbasis Mikrokontroler AT89S51. Diagram blok rangkaian di perlihatkan pada Gambar 3-1. INPUT Saklar PENGOLAH Mikrokontroler AT89S51 OUTPUT 7-Segmen Buzzer Gambar 3-1 Diagram Blok Perancangan Sistem Antrian Digital Berbasis Mikrokontroler AT89S51. Dari uraian diagram blok diatas, Penulis akan menguraikan cara kerja tiap-tiap blok rangkaian adalah sebagai berikut : a. Saklar berfungsi untuk sebagai inputan ke mikrokontroler. b. Mikrokontroler AT89S51 berfungsi untuk mengendalikan tampilan 7-segment dan buzzer berdasarkan sinyal masukan dari saklar yang ditekan(sebagai pemroses). c. Tampilan 7-segment berfungsi untuk menunjukkan (output). d. Buzzer berfungsi sebagai indikator antrian pada saat inputan berupa saklar ditekan (output). 27

28 3.1.1 Blok Catu daya Catu daya berfungsi untuk memberikan suplay tegangan, khususnya ke IC mikrokontroler AT89S51, catu daya yang di gunakan adalah 5 Volt dc. Untuk menurunkan tegangan trafo dari 9 V menjadi 5 V maka di gunakan IC voltage regulator LM7805. Pada rangkaian catu daya, dioda 1N4001 berfungsi sebagai penyearah gelombang penuh dari ac ke dc dengan arus sebesar 1 Ampere, sedangkan kapasitor 100µF dan 100nF berfungsi sebagai filter tegangan dc atau penghalus pulsa-pulsa tegangan yang dihasilkan oleh dioda penyearah. Skema rangkaian catu daya di perlihatkan pada Gambar 3.2. Gambar 3.2 Skema rangkaian catudaya 3.1.2 Blok Pemberi Sinyal (Input) Pada Blok Pemberi Sinyal (input) saklar yang digunakan adalah saklar push-on (saklar tekan) dimana berfungsi untuk memberikan inputan ke bagian pemroses (mikrokontroler AT89S51). Skema rangkaian saklar di perlihatkan pada Gambar 3.3. Gambar 3.3 Skema rangkaian saklar sebagai inputan

29 Output dari saklar akan langsung disambungkan ke mikrokontroler pada port 1.0. Pada kondisi awal saat saklar tidak ditekan ( tidak terhubung ) maka inputan mikrokontrol akan berlogika 1 (aktif high), bila saklar ditekan ( terhubung ) maka saklar akan mengeluarkan pulsa berlogika 0 karena saklar (P1.0) di hubungkan ke ground. Pada kondisi inilah merupakan input bagi port 1.0 pada mikrokontroler. Dan jika saklar dilepas kembali (tidak ditekan ) maka inputan akan berlogika 0. 3.1.3 Blok Pengolah (Proses) Dalam hal ini cara kerja mikrokontroler AT89S51 hampir sama dengan otak manusia, mikrokontroler akan mengendalikan seluruh rangkaian. Agar dapat mengerjakan suatu perintah maka mikrokontroler harus diisi program dahulu. Mikrokontroler AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kristal dengan frekuensi 11,0592MHz dan dua buah kapasitor 30 pf di pakai untuk melengkapi rangkaian oscillator. Pembentuk clock yang menentukan kecepatan kerja mikrokontroler. Kapasitor 10µF dan resistor 10 KOhm di pakai untuk membentuk rangkaian reset dimana rangkaian ini pada saat pertama kali catu daya di hidupkan, akan mereset rangkaian mikrokontroler sehingga program di pastikan akan bekerja dari awal. Prinsip kerja rangkaian reset adalah proses pengisian kapasitor yang di tunda oleh sebuah resistor sehingga pada saat pengisian kapasitor akan terjadi proses keadaan dari tegangan rendah (low) ke tegangan tinggi (high), keadaan inilah yang akan mereset rangkaian mikrokontroler. Port 0 mikrokontroler AT89S51 merupakan keluaran untuk alamat (address AD0-AD7) tidak mempunyai tahanan yang terhubung ke Vcc, seperti pada konstruksi port-port yang lain. Pada saat port 0 di pakai sebagai port output tegangan pada kaki P0.x tidak mungkin menjadi high (tegangan ambang), untuk mengatasi hal ini maka harus di pasangkan tahanan ke Vcc diluar chip IC mikrokontroler.

30 Skema rangkaian mikrokontroler AT89S51 diperlihatkan pada Gambar 3.4. AT89S51 5V R pack 10 K saklar +5V 30 pf 30 pf 100 10 K 10 µf XTAL 11, 0598 MHz 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P0.4 P1.6 P0.5 P1.7 P0.6 RESET P0.7 P3.0 EA/VPP P3.1 ALE / PROG P3.2 PSEN P3.3 P2.7 P3.4 P2.6 P3.5 P2.5 P3.6 P3.7 XTAL1 XTAL2 GND VCC 40 39 P0.0 P0.1 P0.2 P0.3 P2.4 P2.3 P2.2 P2.1 P2.0 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 a b c d e f g Driver 7-Segment Tampilan 7-Segment Buzzer Gambar 3.4 Skema rangkaian Mikrokontroler AT89S51. Berikut ini merupakn tabel dari pemasangan pin-pin mikrokontroler AT89S51 pada pada Perancangan Sistem Antrian Digital Berbasis Mikrkontrol AT89S51.

31 Tabel 3-1 Pemasangan pin-pin pada mikrokontroler AT89S51 Pin In / Out Ket Fungsi 1 Input P1.0 Masukan dari saklar 2-8 - P1.1 P1.7 Tidak terpakai 9 Input RST Reset 10-17 - P3.0 P3.7 Tidak terpakai 18-19 Input XTAL Osilator kristal 11.0592 MHz 20 0 volt GND Ground 21-24 - P2.0 P2.3 Tidak terpakai 25-28 Output P2.4 P2.7 Keluaran ke driver 7-Segment 29 - PSE Tidak terpakai (Program Stoage Enable) 30 - ALE Tidak terpakai(address Lacth Enable) 31 5 volt EA/VPP Externel Access Enable 32 Output P0.7 Keluaran ke Buzzer sebagai indikator 33-39 Output P0.0 P0.6 Keluaran data 7-Segment 40 5 volt Vcc 3.1.4 Blok Pemberi Informasi (Output) a. Blok Sevent Segment Pada blok ini penulis menggunakan 7_segment jenis Common Anoda (CA) dan driver 7_segment yang berfungsi untuk mengendalikan penyalaan digit 7_segment, rangkaian driver ini di buat dengan menggunakan transistor type C9012,dimana transistor ini berperan sebagai saklar (swicth) untuk menghubungkan Vcc 7_segment dengan catu daya +5V. Rangkaian blok 7_segment diperlihatkan pada Gambar 3.5.

32 Gambar 3.5 Skema Rangkaian 7_segment. b. Buzzer Pada alat ini buzzer berfungsi untuk indikator bunyi atau penanda apabila saklar di tekan dan memulai antrian berikutnya. Buzzer terhubung pada port 0.7 mikrokontroler, rangkaian buzzer menggunakan transistor type C9012 (general purpose), pada dasarnya, buzzer di hubungkan ke tegangan Vcc 5 Volt, karena adanya transistor sebagai swicth, maka buzzer mendapatkan arus atau tidaknya tergantung dari kondisi transistor saat itu, jika transistor ON ( karena adanya arus low pada basis, dengan pemberian logika 0 ), maka buzzer mendapat tegangan Vcc, namun sebaliknya jika transistor OFF (karena adanya arus high pada basis, dengan pemberian logika 1 ), maka buzzer juga OFF. Tahanan 2,2 K pada kaki basis transistor berfungsi sebagai pembatas arus yang masuk melalui basis. Skema rangkaian buzzer di pelihatkan pada Gambar 3-6. Gambar 3-6. Skema rangkaian buzzer

33 3.2 Prinsip Kerja Rangkaian Rangkaian ini bekerja berdasarkan adanya penekanan saklar. Saklar yang ditekan akan menjadi inputan pada mikrokontroler, kemudian mikrokontroler akan mengendalikan tampilan 7-segment untuk menunjukkan penghitungan data antrian dan, buzzer untuk indikator atau menandakan proses penghitungan antrian terdahulu telah selesai dan memanggil antrian berikutnya untuk melakukan transaksi. Gambar 3.7 Rangkaian Keseluruhan

34 3.3 Diagram Alur Program AT89S51 Sebelum membuat suatu program yang di rencanakan maka langkah awal dalam perancangan software adalah membuat suatu diagram alur atau flowchart sebagai acuan pembuatan listing program. Diagram alur program tersebut di perlihatkan oleh gambar 3.8 berikut ini : Gambar 3.8 Diagram Alur Program

35 Prinsip kerja diagram alur program adalah sebagai berikut : 1. Program di mulai dengan inisialisasi Timer yaitu dengan mengisi TMOD (Timer Mode Register) dengan 01H, TL0 (Timer 0 Low Byte) dengan 0B8H, dan TH0 (Timer 0 High Byte) dengan 8EH, artinya proses interupsi terjadi selama 25 ms yaitu dari proses penekanan saklar, penghitungan, penampilan data di seven segmen dan sampai buzzer berbunyi, list program : UTAMA: mov TMOD,#01H ; memasukkan nilai 01H ke register TMOD mov TL0,#0B8H ; memasukan nilai 0B8H ke register TL0 mov TH0,#8EH ; memasukan nilai 8EH ke register TH0 2. Berikutnya adalah insialisasi Interupsi dengan mengisi TL0 (Timer 0 Low Byte) dengan 0B8H, dan TH0 (Timer 0 High Byte) dengan 8EH, list program : INTERRUPT : BACA: mov TL0,#0B8H ; memberikan nilai TL0 dengan nilai 0B8H mov TH0,#8EH ; memberikan nilai TH0 dengan alamat 8EH 3. Selanjutnya Interupsi Timer 0 dan Interupsi global diaktifkan, dengan list program : setb ET0 ; memberikan bit 1 ke pin ET0 ( enable Timer 0 ) setb EA ; memberikan bit 1 ke EA ( aktifkan interupsi ) 4. Timer 0 dihidupkan, dengan list program : setb TR0 ; memberikan bit 1 ke TR0 ( aktifkan Timer 0 ) 5. Register 1, 2, 3 dan 4 di isi dengan 0, list program : AWAL: mov R1,#0 ; memberikan register 1 dengan nilai awal 0 mov R2,#0 ; memberikan register 2 dengan nilai awal 0

36 mov R3,#0 ; memberikan register 3 dengan nilai awal 0 mov R4,#0 ; memberikan register 4 dengan nilai awal 0 6. Data dari akumulator dikirim dan ditampilkan ke Port 0, kemudian discan secara berulang dari P2.7 ke P2.4, dengan list program : LOOP: mov A,R1 ; memasukan nilai di R1 ke A mov dptr,#angk ; menunjuk data pointer ke ANGK movc A,@A+DPTR ; menjumlahkan isi data pointer dengan akumulator mov P0,A ; memasukan nilai a ke P0 clr P2.7 ; memberikan P2.7 dengan nilai bit 0 call delay ; memanggil subroutin delay setb p2.7 ; memberikan bit 0 pada pin P2.7 mov A,R2 ; memasukan nilai R2 ke dalam A mov dptr,#angk ; menunjuk ke data pointer ANGK movc A,@A+DPTR ; menjumlahkan isi data pointer dengan akumulator mov P0,A ; memasukan nilai A ke P0 clr P2.6 ; memberikan bit 0 pada pin P2.6 call delay ; memanggil subroutin delay setb P2.6 ; memberikan bit 0 pada pin P2.6 mov A,R3 mov dptr,#angk movc A,@A+DPTR mov P0,A ; memasukan nilai R3 ke dalam A ; menunjuk ke data pointer ANGK ; menjumlahkan isi data pointer dengan akumulator ; memasukan nilai A ke P0

37 clr P2.5 ; memberikan bit 0 pada pin P2.5 call delay ; memanggil subroutin delay setb P2.5 ; memberikan bit 0 pada pin P2.5 mov A,R4 ; memasukan nilai R2 ke dalam A mov dptr,#angk ; menunjuk ke data pointer ANGK movc A,@A+DPTR ; menjumlahkan isi data pointer dengan akumulator mov P0,A ; memasukan nilai A ke P0 clr P2.4 ; memberikan bit 0 pada pin P2.4 call delay ; memanggil subroutin delay setb P2. 4 ; memberikan bit 0 pada pin P2.4 jmp loop ; kembali ke loop 7. Apabila R6 dan R5 sama dengan 0 maka P0.7 diberi logika 1 (non aktifkan buzzer) kemudian baca port 1, tetapi apabila R6 dan R5 tidak sama dengan 0 maka proses berikutnya baca port 1, dengan list program : djnz R6,SKIP ; mengurangi satu nilai R6 jika R6 tidak sama dengan 0 loncat ke SKIP djnz R5,SKIP ; mengurangi satu nilai R5 jika R5 tidak sama dengan 0 loncat ke SKIP setb P0.7 ; memberikan pin P0.7 dengan data 1 SKIP: mov A,P1 ; memasukan nilai P1 ke A cjne A,#0FFH,TEKAN ; Jika A tidak sama dengan 0FFH loncat ke subroutin TEKAN sjmp BACK ; Loncat ke BACK

38 8. Langkah berikutnya jika apakah saklar ditekan? jika ya kemudian bunyikan buzzer (isi P0.7 dengan logika 0) dan naikkan indeks data R2 dengan 1. TEKAN: cjne A,#0FEH,BALIK ; Jika A tidak sama dengan 0FEH loncat ke Keluar TM : jb P1.0,TM ; Loncat ke TM jika P1.1 sama dengan 1 TS : jnb P1.0,TS ; Loncat ke TS jika P1.1 tdk sama dengan 1 mov A,#tunggu clr P0.7 ; memberikan pin P0.7 dengan data 0 DBNLESS : ; Subroutin untuk mengurangi efek Debaunce jnb P1.0,TS ; Loncat ke TS jika P1.1 tdk sama dengan 1 djnz acc, DBNLESS ; Mengurangi satu nilai accumulator jika acc tidak sama dengan 0 loncat ke DBNLESS clr P0.7 ; memberikan bit 0 pada P0.7 mov R6,#0H ; memasukan nilai 0H ke R6 mov R5,#0AH ; memasukan nilai AH ke R5 inc R4 ; memberikan R4 ditambah 1 call UJI_TEKAN ; memanggil prosedur UJI_TEKAN cjne R4,#0AH,BACK ; Jika R4 tidak sama dengan 0AH loncat ke BACK mov R4,#0 ; memasukan R4 dengan nilai 0 inc R3 ; memberikan R3 ditambah 1

39 cjne R3,#0AH,BACK ; Jika R3 tidak sama dengan 0AH loncat ke BACK mov R3,#0 ; memasukan R3 dengan nilai 0 inc R2 ; memberikan R2 ditambah 1 cjne R2,#0AH,BACK ; Jika R2 tidak sama dengan 0AH loncat ke BACK mov R2,#0 ; memasukan R2 dengan nilai 0 inc R1 ; memberikan R1 ditambah 1 cjne R1,#0AH,BACK ; Jika R1 tidak sama dengan 0AH loncat ke BACK mov R1,#0 ; memasukan register 1 sama dengan 0 mov R2,#0 ; memasukan register 2 sama dengan 0 mov R3,#0 ; memasukan register 3 sama dengan 0 mov R4,#0 ; memasukan register 4 sama dengan 0 jmp BACK ; Loncat ke BACK UJI_TEKAN: cjne R2,#1H,BALIK cjne R1,#0H,BALIK ; Jika R2 tdk sama dengan 1H loncat ke BALIK ; Jika R1 tdk sama dengan 0H loncat ke BALIK DELAY : mov R7,#100 DELAY1: mov R6,#25 DELAY2: djnz R6,DELAY2 djnz R7,DELAY1 ret ; prosedur delay ; prosedur delay ; prosedur delay ; prosedur delay

40 BACK : ret ; return BALIK : ret ; return ANGK : db 11000000b ; Angka 0 db 11111001b ; Angka 1 db 10100100b ; Angka 2 db 10110000b ; Angka 3 db 10011001b ; Angka 4 db 10010010b ; Angka 5 db 10000010b ; Angka 6 db 11111000b ; Angka 7 db 10000000b ; Angka 8 db 10010000b ; Angka 9 end 3.4 Pemrograman Mikrokontroler AT89S51 Pemrograman Mikrokontroler dilakukan dengan cara menuliskan program ke memori EEPROM mikrokontroler AT89S51 dengan bantuan perngkat DT51 Downloader. Pada pemrograman ini, penulis menggunakan pemrograman secara serial yaitu melalui port serial PC (COM1). Sebelum melakukan pemrograman terlebih dahulu melakukan pengaturan Timer untuk menentukan kecepatan tranfer data (Baudrate) pada komunikasi port serial. Dengan mengubah bit SMOD yang terletak pada register PCON (Power Control) menjadi set (kondisi awal saat sistem di-reset adalah clear) maka baudrate pada mode 1, 2, dan 3 akan berubah menjadi dua kali lipat kondisi awal. Pada mode 1, 2, dan 3 baudrate dapat diatur dengan timer 1, namun biasanya digunakan timer mode 2 (8 bit auto-reload) yang hanya menggunakan register TH1.

41 Pengiriman bit data terjadi tiap kali 1 Overflow sebanyak 32 kali, sehingga dapat di simpulkan bahwa ; Baudrate (jumlah bit yang terkirim tiap detik) adalah : Apabila diinginkan baudrate sebesar 9600 bps maka Timer 1 harus diatur agar Over-flow setiap 1 9600 x 32 detik. Timer 1 Over-flow setiap kali TH1 mencapai nilai limpahan (over-flow) dengan frekuensi sebesar f osc / 12 dalam periode 12 / f osc. Dari informasi ini akan di temukan formula berikut ; Dengan frekuensi osilator mikrokontrol AT89S51 sebesar 11,0592 MHz, TH1 adalah 253 atau 0FDH. 3.4.1 Perangkat DT-51 TM Low Cost Micro System v2.0 Rangkaian Development system mikrokontroler yang digunakan adalah DT51 low Cost Micro System v2.0. Rangkaian ini merupakan suatu modul single chip dengan mikrokontroler AT89S51 dan kemampuan komunikasi serial secara UART serta Insystem Programming.

42 Spesifikasi Hardware : 1. Mikrokontroler AT89S51 dengan 4Kbyte Flash memory. 2. Memiliki hingga 32 pin jalur input/output dengan pull-up. 3. Rangkaian RC reset, tombol reset, serta brown-out detector. 4. Frekuensi osilator sebesar 11,0592 MHz. 5. Tersedia jalur komunikasi serial UART RS-232 yang telah disempurnakan, dengan konektor RJ11 6. Tersedia port untuk pemograman secara ISP. 7. Tegangan input 9-12 VDC pada Vin dan tegangan output 5 VDC pada Vout. Dalam modul DT51 low Cost Micro System v2.0 ini disertakan 2 perangkat kabel yaitu kabel AT89 ISP Programmer dan kabel serial. Kabel AT89S51 ISP Programmer digunakan sebagai sarana pemrograman ISP (In System Programing),sedangkan kabel serial digunakan untuk komunikasi serial mikrokontroler dengan PC. 1. Pemasangan kabel AT89 ISP Programmer Kabel pemograman ISP AT89 memiliki dua konektor, DB25 dan Black Housing 10 pin. Pemasangan kabel ini dapat dilihat pada gambar 3.13. Konektor DB25 dihubungkan dengan Parallel Port komputer sedangkan Black Housing dihubungkan dengan target board. Gambar 3.9 Koneksi kabel ISP Programmer

43 2. Pemasangan Kabel Serial DT-51 dapat berkomunikasi secara serial dengan PC. Kabel serial digunakan untuk menghubungkan PC dan DT-51 melalui port serial (konektor DB9). Port serial pada PC sering disebut COM1 dan COM2. Koneksi kabel serial dengan PC dapat dilihat pada gambar 3.10. Konektor female DB9 dihubungkan ke salah satu Serial Port PC dan konektor male DB9 dihubungkan ke DT-51. Gambar 3.10 Koneksi kabel Serial 3.4.2 Perancangan Perangkat Lunak (Software) Dalam perancangan perangkat lunak ini penulis menggunakan program bantuan yaitu : NOTEPAD.EXE, ASM51.EXE, dan DT51Lwin.EXE 1. NOTEPAD.EXE, digunakan sebagai editor. Listing program berbahasa assembly ditulis dan diubah menggunakan Notepad. Listing program tersebut disimpan dengan format (nama file).asm. 2. ASM51.EXE, digunakan sebagai hex assembler. ASM51 akan mengubah listing program yang sudah dibuat Notepad menjadi file hexadesimal. Hasil proses ini akan menghasilkan file (nama file).hex, file ini adalah file yang akan di download ke memori EEPROM Mikrokontroler AT89S51. 3. DT51Lwin.EXE, merupakan software Downloader untuk mendownload program ke memori EEPROM IC Mikrokontroler AT89S51.

44 3.4.3 Proses Download Program ke Mikrokontroler AT89S51 Langkah langkahah men-download program ke mikrokontroler AT89S51 : 1. Menuliskan listing program program pada Notepad kemudian program disimpan dalam format (nama file).asm. 2. Mengubah file (namaa file).asm menjadi format (nama file). HEX yang dapat didownload ke DT-51. Langkah ini disebut juga proses assembling. Program yang digunakan untuk melakukan proses tersebut adalah ASM51.EXE. Proses assembling dilakukan dengan mengetikkan ASM51 (nama file).asm pada MS- DOS promp. Gambar 3.11 Konversi File.asm ke file.hex 3. Menjalankan Software DT51Lwin.EXE Gambar 3.12 Program DT51Lwin.EXE

45 4. Mengatur komunikasii port serial melalui COM Option, pilih COM1. 5. Mengatur Baudrate pemrograman melalui Baudrate Option, pilih 9600 bps Gambar 3.13 Pengaturan Port dan Baudrate 6. Membuka file.hex yang akan di download melalui menu Open File & Download. Gambar 3.14 Proses Men-load file untuk di Download.

46 7. Menjalankan proses download program dengan menekan tombol ReDownload, dan tunggu sampai proses pengisian program selesai. Gambar 3.15 Proses Pengisian Program Gambar 3.16 Proses Pengisian Selesai.