Program di computer (visual basic) Private Sub Command1_Click() End Sub. Private Sub Command2_Click() End Sub. Private Sub Command3_Click() End Sub

dokumen-dokumen yang mirip
Universitas Sumatera Utara

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

BAB 3 PERANCANGAN ALAT DAN PROGRAM

Flowchart Bagian Pemancar

Percobaan 2 PENGENALAN INTERFACE SERIAL DAN UART

LAMPIRAN 1 PROGRAM PADA MIKROKONTROLER ATMEGA 89S52

Lampiran 2 Rangkaian Lengkap

Wireless Infrared Printer dengan DST-51 (Pengambilan Data dari Standard Parallel Port)

BAB IV PENGUJIAN DAN ANALISA

BAB III PERANCANGAN ALAT DAN PROGRAM. Gambar 3.1. Blok Diagram

PERCOBAAN 1 DISPLAY LED

DAFTAR PUSTAKA. Mikrokontroler AT89S51. Jakarta: Universitas Mercubuana. Christanto, Danny Panduan Dasar Mikrokontroler Keluarga MCS-51.

Register-register MT8888

Memprogram Port sebagai Output dan Input Sederhana

BAB IV ANALISA DAN HASIL UJI COBA RANGKAIAN

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

BAB III PERANCANGAN ALAT

Akuisasi data dengan remote host AT89s51 melalui serial RS232

Memprogram Interface Motor

Ringkasan Set Instruksi Dan Mode pengalamatan ( Addressing Mode )

PERCOBAAN 9 T I M E R/ COUNTER

Pengendalian 8 buah Motor oleh DST-51

PERCOBAAN 2 SAKLAR PUSH BUTTON

LAMPIRAN CODE PROGRAM ASSEMBLY. $mod51 servo1 equ p3.5 servo2 equ p3.3 servo3 equ p1.7 servo4 equ p1.5 servo5 equ p1.3 servo6 equ p1.

Alarm Pintu, Harap Pintu Tutup Kembali, Jangan Buka Pintu Lama-lama versi 2

TIMER DAN COUNTER MIKROKONTROLER ATMEL

BAB IV PENGUJIAN DAN ANALISA DATA

PORT SERIAL MIKROKONTROLER ATMEL AT89C51

Percobaan 6. SERIAL INTERFACE Menggunakan DT-51 MinSys

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

DAFTAR PUSTAKA. Agfianto Eko Putra, BELAJAR MIKROKONTROLLER AT89C51/52/53, Gava Media, 2005.

APLIKASI MODUL DST -52 SEBAGAI JAM DIGITAL DENGAN INPUT DARI PC KEYBOARD DAN M1632 LCD SEBAGAI PENAMPIL

Percobaan 5. TIMER/COUNTER Menggunakan DT-51 MinSys

Memprogram Interupsi AT89S51

KOMUNIKASI DATA DENGAN MENGGUNAKAN TEKNIK RS485

Percobaan 8 INTERFACE MIKROKONTROLER DAN KOMPUTER SECARA SERIAL

DISUSUN OLEH : : Friska Rosalina NIM :

Teknik Interface Keypad 4x3 ke DST-51

ANTAR MUKA DST-51 DENGAN MODUL AD-0809

AD Channel AD Conversion

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

Instruksi logika (1) Memanipulasi isi Accumulator, dibagi menjadi 2. Panjang instruksi : 1 byte. Panjang instruksi : 2 byte

PENAMPIL TOMBOL-TOMBOL REMOTE CONTROL SONY PADA M1632 LCD OLEH MODUL DST-52

BAB IV PENGUJIAN DAN PEMBAHASAN

BAB 3 PERANCANGAN ALAT DAN BAHAN. 3.1 Diagram Blok dan Rangkaian Sensor Ketinggian Air

PERCOBAAN 10 PORT SERIAL

PENULISAN KARAKTER DENGAN MENGGUNAKAN TEKNIK PENULISAN PADA KEYPAD HANDPHONE OLEH MODUL DST-51, KEYPAD 4X3 DAN M1632 LCD

BAB IV PENGUJIAN ALAT

Simple As Posible 2 (bag-2)

Blastica Press Release 2008

PENGGUNAAN KEYPAD 4X3 DAN PC KEYBOARD PADA MODUL DST-52 DENGAN TAMPILAN M1632 LCD

Wireless Infrared Printer dengan DST-51 (Komunikasi Infra Merah dengan DST-51)

BAB IV PENGUJIAN DAN EVALUASI SISTEM. harus dilakukan pengujian terhadap masing-masing alat dan sofware, adapun

BAB III ANALISA DAN CARA KERJA RANGKAIAN

Percobaan 3 PENGENALAN INTERFACE I 2 C

Memprogram Interface Display

PENGHITUNG WAKTU DENGAN TAMPILAN LCD M1632 OLEH DST-51

PERANCANGAN MINIATUR SISTEM LIFT 4 LANTAI DENGAN MENGGUNAKAN MIKROKONTROLLER AT89S51

PERCOBAAN 11 PULSE WIDHT MODULATION

BAB III PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK

PERCOBAAN 15 I N T E R U P S I

Aplikasi Pengukur Ketinggian Air Mengunakan Modul Sensor InfraRed Object Detector

Percobaan 4. ADC & DAC Based I2C

SISTEM PENGENDALIAN LAMPU PADA PENYEWAAN LAPANGAN BULUTANGKIS INDOOR

Percobaan 5 PENGENALAN MIKROKONTROLER 8051

Memprogram Timer Counter

SISTEM PENGONTROLAN ALAT ELEKTRONIK DENGAN MEDIA KOMPUTER DAN MIKROKONTROLER AT89C51 MELALUI MEDIA KOMUNIKASI SERIAL PORT RS232

MESIN KETIK ELEKTRONIK DENGAN TAMPILAN M1632 LCD OLEH MODUL DST-52

PERCOBAAN 3 DISPLAY 7 SEGMEN

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

TAMPILKAN NADA DTMF DAN DERING TELEPHONE OLEH MODUL DF-88 DAN MODUL DST-51 PADA LCD

Aplikasi Modul InfraRed Object Detector Sebagai Pengukur Jarak

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 2 LANDASAN TEORI

PENGATURAN KECEPATAN MOTOR DENGAN PC OLEH DST-5 2

BAHASA PEMOGRAMAN AT89S/Cxx (assembly)

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

LAMPIRAN D DATA SHEET

BAB III PERANCANGAN SISTEM

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

BAB V HASIL DAN PEMBAHASAN Perangkat Keras (Hardware)

BAB I PENDAHULUAN Manfaat Dan Tujuan

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

DESKRIPSI SINGKAT INSTRUKSI-INSTRUKSI PADA AT89S51

PANDUAN PRAKTIKUM DASAR MIKROKONTROLER KELUARGA MCS-51 MENGGUNAKAN DT-51 MINIMUM SYSTEM VER 3.0 DAN DT-51 TRAINER BOARD

PETUNJUK PEMROGRAMAN DAN SET INSTRUKSI

BAB III PERANCANGAN SISTEM. 3.1 Pengantar Perancangan Sistem Pengendalian Lampu Pada Lapangan Bulu

Gambar Komunikasi serial dengan komputer

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

BAB 13 INTERFACE KE PRINTER DOT MATRIKS

MODE OPERASI TIMER/COUNTER. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

No Output LM 35 (Volt) Termometer Analog ( 0 C) Error ( 0 C) 1 0, , ,27 26,5 0,5 4 0,28 27,5 0,5 5 0, ,

4. Port Input/Output Mikrokontroler MCS-51

BAB 2 LANDASAN TEORI. Dalam bab ini penulis akan membahas tentang komponen-komponen yang

PERANCANGAN APLIKASI PALANG PINTU OTOMATIS MENGGUNAKAN MOTION SENSOR BERBASIS MIKROKONTROLER AT89S51

BAB III PERANCANGAN SISTEM

Simple As Possible (SAP) - 1. Abdul Syukur

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051

DT-51 Application Note

Arsitektur SAP-2 W BUS ACKNOWLEDGE HEXADECIMAL KEYBOARD ENCODER ACCUMULATOR INPUT PORT 1 ALU FLAGS READY INPUT PORT 2 SERIAL IN PROGRAM COUNTER TMP

Transkripsi:

Program di computer (visual basic) Private Sub Command1_Click() MSComm1.Output = "a" 'kirimkan nilai a ke port serial Private Sub Command2_Click() MSComm1.Output = "b" 'kirimkan nilai b ke port serial Private Sub Command3_Click() MSComm1.Output = "c" kirimkan nilai c ke port serial Private Sub Command4_Click() MSComm1.Output = "0" 'kirimkan nilai 0 ke port serial Private Sub Command5_Click() MSComm1.Output = "1" 'kirimkan nilai 1 ke port serial Private Sub Command6_Click() MSComm1.Output = "2" 'kirimkan nilai 2 ke port serial Private Sub Command7_Click() MSComm1.Output = "3" 'kirimkan nilai 3 ke port serial

Private Sub Command8_Click() MSComm1.Output = "4" kirimkan nilai 4 ke port serial Private Sub Command9_Click() MSComm1.Output = "5" 'kirimkan nilai 5 ke port serial Private Sub Form_Load() MSComm1.PortOpen = True MSComm1.DTREnable = True MSComm1.RTSEnable = True Timer1.Enabled = True ' buka komunikasi ke port serial ' aktifkan pengiriman data ' aktifkan pengiriman data ' aktifkan timer Private Sub Timer1_Timer() Label1.Caption = MSComm1.Input ' input serial dari mikro tampilkan ke label1 If Label1.Caption <> "" Then ' jika label 1 tidak kosong maka Label2.Caption = Label1.Caption ' isi label 1 tampilkan ke label 2 End If If Label2.Caption = "0" Then ' jika label 2 = 0 maka Picture1.BackColor = &HFF0000 ' warna picture 1 = biru tua (&HFF0000 ) Picture2.BackColor = &HFFFF80 ' warna picture 2 = biru muda (&HFFFF80 ) Picture3.BackColor = &HFFFF80 ' warna picture 3 = biru muda (&HFFFF80 ) Picture4.BackColor = &HFFFF80 ' warna picture 4 = biru muda (&HFFFF80 ) Picture5.BackColor = &HFFFF80 ' warna picture 5 = biru muda (&HFFFF80 ) Picture6.BackColor = &HFFFF80 ' warna picture 6 = biru muda (&HFFFF80 ) End If If Label2.Caption = "1" Then

Picture1.BackColor = &HFF0000 ' warna picture 1 = biru tua (&HFF0000 ) Picture2.BackColor = &HFF0000 ' warna picture 2 = biru tua (&HFF0000 ) Picture3.BackColor = &HFFFF80 ' warna picture 3 = biru muda (&HFFFF80 ) Picture4.BackColor = &HFFFF80 ' warna picture 4 = biru muda (&HFFFF80 ) Picture5.BackColor = &HFFFF80 ' warna picture 5 = biru muda (&HFFFF80 ) Picture6.BackColor = &HFFFF80 ' warna picture 6 = biru muda (&HFFFF80 ) End If If Label2.Caption = "2" Then Picture1.BackColor = &HFF0000 ' warna picture 1 = biru tua (&HFF0000 ) Picture2.BackColor = &HFF0000 ' warna picture 2 = biru tua (&HFF0000 ) Picture3.BackColor = &HFF0000 ' warna picture 3 = biru tua (&HFF0000 ) Picture4.BackColor = &HFFFF80 ' warna picture 4 = biru muda (&HFFFF80 ) Picture5.BackColor = &HFFFF80 ' warna picture 5 = biru muda (&HFFFF80 ) Picture6.BackColor = &HFFFF80 ' warna picture 6 = biru muda (&HFFFF80 ) End If If Label2.Caption = "3" Then Picture1.BackColor = &HFF0000 ' warna picture 1 = biru tua (&HFF0000 ) Picture2.BackColor = &HFF0000 ' warna picture 2 = biru tua (&HFF0000 ) Picture3.BackColor = &HFF0000 ' warna picture 3 = biru tua (&HFF0000 ) Picture4.BackColor = &HFF0000 ' warna picture 4 = biru tua (&HFF0000 ) Picture5.BackColor = &HFFFF80 ' warna picture 5 = biru muda (&HFFFF80 ) Picture6.BackColor = &HFFFF80 ' warna picture 6 = biru muda (&HFFFF80 ) End If If Label2.Caption = "4" Then Picture1.BackColor = &HFF0000 ' warna picture 1 = biru tua (&HFF0000 ) Picture2.BackColor = &HFF0000 ' warna picture 2 = biru tua (&HFF0000 ) Picture3.BackColor = &HFF0000 ' warna picture 3 = biru tua (&HFF0000 ) Picture4.BackColor = &HFF0000 ' warna picture 4 = biru tua (&HFF0000 )

Picture5.BackColor = &HFF0000 ' warna picture 5 = biru tua (&HFF0000 ) Picture6.BackColor = &HFFFF80 ' warna picture 6 = biru muda (&HFFFF80 ) End If If Label2.Caption = "5" Then Picture1.BackColor = &HFF0000 ' warna picture 1 = biru tua (&HFF0000 ) Picture2.BackColor = &HFF0000 ' warna picture 2 = biru tua (&HFF0000 ) Picture3.BackColor = &HFF0000 ' warna picture 3 = biru tua (&HFF0000 ) Picture4.BackColor = &HFF0000 ' warna picture 4 = biru tua (&HFF0000 ) Picture5.BackColor = &HFF0000 ' warna picture 5 = biru tua (&HFF0000 ) Picture6.BackColor = &HFF0000 ' warna picture 6 = biru tua (&HFF0000 ) End If Program di mikrokontroller (Asembley) MOV TMOD,#20H ; boutrate 9600 stop bit 1, data bit 8, star bit 1 MOV SCON,#50H ; timer mode MOV TH1,#-3 ; seting supaya 9600 SETB TR1 mov p2,#00h ; isi P2 dengan nilai 0H mov 70h,#0 ; isi alamat 70H nilai 0 loop: jnb ti,ke_kosong ; ambil data low sampai selesai, jika selesai lompat kekosong clr ti ; selesai/hentikan pembacaan data mov a,sbuf ; kirim data sbuf ke a cjne a,#'a',cek_b ; bandingkan data pada alamat a apakah sama dengan nilai

acall isi sjmp loop a jika tidak sama lompat ke cek b ; panggil routine isi ; kembali ke loop ke_kosong: ljmp kosong ; lompat ke loop cek_b: cjne a,#'b',cek_c ; bandingkan data pada alamat a apakah sama dengan nilai b jika tidak sama lompat ke cek c acall kosong ; panggil routine kosong cek_c: cjne a,#'c',cek_0 ; bandingkan data pada alamat a apakah sama dengan nilai c jika tidak sama lompat ke cek 0 cek_0: cjne a,#'0',cek_1 ; bandingkan data a = 0 jika sama panggil routive kosong, jika tidak cek 1 cek_01: acall kosongkan ; panggil routine kosongkan jnb p1.0,cek_01 ; ambil data low pada P1.0 sampai habis, jika tidak habis cek. 01

sjmp loop ; kembali ke loop cek_1: cjne a,#'1',cek_2 ; bandingkan data a = 1 jika sama panggil routive kosong, jika tidak cek 2 cek_11: acall kosongkan ; panggil routive kosongkan jnb p1.0,cek_11 ; ambil data low pada P1.0 sampai habis, jika tidak habis cek. 01 cek_12: acall isi ; panggil routine isi jb p1.0,cek_12 ; ambil data high pada P1.0 sampai habis, jika tidak habis cek.12 cek_2: cjne a,#'2',cek_3 ; bandingkan data a = 2 jika sama panggil routive kosong, jika tidak cek 3 cek_21: acall kosongkan ; panggil routine kosongkan jnb p1.1,cek_21 ; ambil data low pada P1.1 sampai habis, jika tidak habis cek.21

cek_22: acall isi ; panggil routine isi jb p1.1,cek_22 ; ambil data high pada P1.1 sampai habis, jika tidak habis cek.22 cek_3: cjne a,#'3',cek_4 ; bandingkan data a = 3 jika sama panggil routive kosong, jika tidak cek 4 cek_31: acall kosongkan ; panggil routine kosongkan jnb p1.2,cek_31 ; ambil data low pada P1.2 sampai habis, jika tidak habis cek.31 cek_32: acall isi ; panggil routine isi jb p1.2,cek_32 ; ambil data high pada P1.2 sampai habis, jika tidak habis cek.32 cek_4: cjne a,#'4',cek_5 ; bandingkan data a = 4 jika sama panggil routive kosong, jika

tidak cek 5 cek_41: acall kosongkan ; panggil routine kosongkan jnb p1.3,cek_41 ; ambil data low pada P1.3 sampai habis, jika tidak habis cek.41 cek_42: acall isi ; panggil routine isi jb p1.3,cek_42 ; ambil data high pada P1.2 sampai habis, jika tidak habis cek.42 cek_5: cjne a,#'5',kosong ; bandingkan data a = 5 jika sama panggil routive kosong cek_52: acall isi ; panggil routine isi jb p1.4,cek_52 ;ambil data high pada P1.4 sampai habis, jika tidak habis cek.52 ;----------------------------------------; kosong: acall status ; panggil routine status acall kirim ; panggil routive kirim ljmp loop ; kembali ke loop

kosongkan: setb p2.7 ; isi logika low ke P2.7 acall status ; panggil routine status acall kirim ; panggil routine kirim ;-------------------------------------------; isi: setb p2.6 ; isi logika high ke P2.6 acall status ; panggil routine status acall kirim ; panggil routine kirim ;------------------------------------------------; status: jb p1.4,data1 ; ambil data high P1.4 sampai selesai, jika tidak lompat ke data 1 mov 70h,#'5' ; isi nilia 5 ke alamat 70H data1: jb p1.3,data2 ;ambil data high P1.3 sampai selesai, jika tidak lompat ke data 2 mov 70h,#'4' ; isi nilia 4 ke alamat 70H data2: jb p1.2,data3 mov 70h,#'3' ;ambil data high P1.2 sampai selesai, jika tidak lompat ke data 3 ; isi nilia 3 ke alamat 70H data3:

jb p1.1,data4 ;ambil data high P1.1 sampai selesai, jika tidak lompat ke data 4 mov 70h,#'2' ; isi nilia 2 ke alamat 70H data4: jb p1.0,data5 mov 70h,#'1' ;ambil data high P1.0 sampai selesai, jika tidak lompat ke data 5 ; isi nilia 1 ke alamat 70H data5: mov 70h,#'0' ; isi nilia 0 ke alamat 70H ;---------------------------------; kirim: mov sbuf,70h ;isi nilai 70H ke sbuf jnb ti,$ ; kirimdata sampai habis clr ti ;hentikan pengisian data acall tunda ;-----------------------------------; tunda: mov r7,#2 ; isi nilai 2 ke r7 tnd: mov r6,#255 ; isi nilai 255 ke r6 td: mov r5,#255 djnz r5,$ ; kurangi nilai r5 sampai 0

djnz r6,td ; kurang nilai r6 sampai kemudian balik ke routive td djnz r7,tnd ; kurangi nilai r7 kemudian balik ke routive td

DATA SERERIAL DAN PARAREL Data pararel (biner) Data heksa desimal Data serial 0000 00H 0001 01H 0010 02H 0011 03H 0100 04H 0101 05H 0110 06H 0111 07H 1000 08H 1001 09H 1010 0aH 1011 0Bh 1100 0cH 1101 0dH 1110 0eH 1111 0fH

CODE ASCII

KODE WARNA HTML

KODE WARNA HTML

GAMBAR RANGKAIAN LENGKAP