ABSTRAK
RS-232 adalah salah satu port komunikasi yang terdapat pada komputer. Port
ini mengirimkan data secara serial sehingga sering disebut pula sebagai serial port.
Salah satu keunggulan dari serial port adalah kompatibilitasnya terhadap
mikrokontroler, sehingga komputer dapat mengontrol mikrokontroler melalui serial
port tersebut. Namun serial port mempunyai keterbatasan yaitu hanya dapat berkomunikasi secara point to point.
Untuk meningkatkan efektifitas dari serial port maka pada tugas akhir ini
akan dirancang sebuah prototipe komunikasi RS-232 secara multipoint dari komputer
ke mikrokontroler. Prototipe ini dirancang untuk diaplikasikan pada bidang
perhotelan khususnya sebagai pengendali pintu kamar hotel, dimana setiap tamu yang
ingin masuk harus memasukan nomor PIN tertentu dan PIN tersebut kemudian
dikirim ke komputer server melalui serial port untuk diuji validitasnya.
Prototipe komunikasi RS-232 secara multipoint ini telah diujikan dengan
pintu dimisalkan sebagai LED. Hasil pengujian adalah berhasil dimana komunikasi
dari komputer ke mikrokontoler - mikrokontroler berhasil terjadi secara multipoint
ABSTRACT
RS-232 is one of communications port on the computer. The port send the
data using serial method, so this port also known as serial port. One of the advantages
using serial port is the compatibility with microcontroller, so a computer can control
the microcontroller through the serial port. But serial port is limited by point to point
communication way.
To increase the effectiveness of serial port, this final project will design a
prototype of RS - 232 multipoint communication system for communication between
computer and microcontroller. The prototype is designed for hotels application
especially as a controller of access door, where every guest who want to access the
door must input a PIN and the PIN will send to computer through the serial port for
validation checking.
Prototype of RS - 232 multipoint communication system has been tried with
an assumption that a LED is the access door. The test result was success, the
communication between computer and microcontrollers was occurred in multipoint
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus atas kasih
setia, rahmat dan karuniaNya yang selalu memberikan tuntunan, pertolongan dan
kekuatan sehingga laporan tugas akhir dengan judul “ Sistem Komunikasi RS-232
Secara Multipoint Untuk Aplikasi Perhotelan” dapat diselesaikan.
Penulis menyadari bahwa terciptanya laporan tugas akhir ini adalah berkat
bantuan dari berbagai pihak, oleh karena itu penulis ingin mengucapkan terima kasih
kepada:
1. Bapak Roy Pramono Adhie S.T , M.T , selaku pembimbing yang telah
membantu dalam pelaksanaan tugas akhir ini.
2. Ibu Ir. Anita Soepartono M.Sc , selaku koordinator tugas akhir, yang telah
membantu dalam proses pelaksanaan tugas akhir.
3. Bapak Ir. Aan Darmawan M.T , selaku Ketua Jurusan Teknik Elektro,
Universitas Kristen Maranatha.
4. Bapak Marvin C. Wijaya S.T , M.M , M.T , Bapak Semuil Tjiharjadi S.T,
M.M , M.T , Bapak Ir. Soepartono M.Sc, selaku dosen penguji.
5. Para dosen, karyawan, dan staff Jurusan Teknik Elektro Universitas
Kristen Maranatha atas ilmu dan bantuan dalam proses perkuliahan.
6. Pohan , Budi Hertanto, Sugiono , Herman , Davin , Hendra , Hendry ,
Faisal , Heru yang telah membantu serta meminjamkan alat.
7. Keluarga yang selalu memberikan dukungan dalam doa, dana, dorongan
dan semangat dalam menyelesaikan tugas akhir.
8. Indri Tantono yang selalu memberikan dukungan , bantuan dan doa
dalam melaksanakan tugas akhir ini.
9. Rekan-rekan serta semua pihak yang tidak dapat disebutkan satu-persatu
yang telah membantu dan memberikan dukungan baik secara langsung
Penulis menyadari bahwa laporan tugas akhir ini memiliki banyak kekurangan
karena keterbatasan ilmu dan pengetahuan yang penulis miliki, oleh karena itu
penulis mengharapkan kritik dan saran yang membangun. Akhir kata, dengan segala
keterbatasan dan kekurangan yang ada, penulis berharap semoga laporan tugas akhir
ini dapat bermanfaat bagi pembaca sekalian.
Bandung, Januari 2007
DAFTAR ISI
II.2 Cara Kerja Mikroprosesor ..……… 7
II.3 Mikrokontroler AT89S52 ..……… 10
II.4 Pemrograman AT89S52 ..……….. 11
II.4.1 Register AT89S52 ..………... 12
II.5 RS-232 (Serial Port) ..……… 16
BAB III PERANCANGAN ALAT ..……… 22
III.1 Pendahuluan ..……… 22
III.2 Perancangan Hardware ..……….. 23
III.2.1 Rangkaian Hardware ..……….. 24
III.2.2 Flowchart Mikrokontroler Pengendali ………. 25
III.3 Perancangan Software ..……… 27
III.3.1 Flowchart software ..………. 29
III.4 Protokol Komunikasi ..………. 30
BAB IV PENGUJIAN ALAT ..……… 35
IV.1 Pengujian Dengan Hyper Terminal ..……… 35
IV.1.1 Hasil Uji Coba ..………. 35
IV.2 Pengujian Dengan Software Tugas Akhir ……… 37
IV.2.1 Hasil Uji Coba ..………. 38
IV.2.1.1 Hasil Pengujian Proses Looping Cek Status Mikrokontroler dan Penerimaan Status Mikrokontroler …... 38
IV.2.1.2 Hasil Pengujian untuk Password Benar dan Password Salah ……. 41
BAB V KESIMPULAN DAN SARAN ..……… 47
V.1 Kesimpulan ..………. 47
V.2 Saran ..……… 47
DAFTAR PUSTAKA
DAFTAR TABEL
Tabel II.1 Fungsi Bit- bit pada Register TCON ………. 13
Tabel II.2 Fungsi Bit- bit pada Register TMOD ……… 14
Tabel II.3 Mode Operasi Timer / Counter ………. 14
Tabel II.4 Fungsi Bit – bit pada Register SCON ……….. 15
Tabel II.5 Mode Operasi Serial Port ………. 15
Tabel II.6 Kombinasi Pemilihan Baud Rate ……….. 19
Tabel II.7 Fungsi Pin- pin RS – 232 ……….. 20
Tabel III.1 Alamat Komputer dan Mikrokontroler …..……… 30
Tabel III.2 Format Alamat dalam Heksadesimal dan ASCII ……….. 30
Tabel III.3 Daftar Perintah ………..……… 31
DAFTAR GAMBAR
Gambar II.1 Diagram Blok Mikroprosesor ……… 5
Gambar II.2 Diagram Blok Sistem Mikroprosesor ……… 5
Gambar II.3 Siklus Kerja Mikroprosesor ……….. 8
Gambar II.4 Chip Mikroprosesor AT89S52 ……….. 10
Gambar II.5 Diagram Blok Mikroprosesor AT89S52 ……… 11
Gambar II.6 Format Pengiriman 1 Karakter Pada Serial Port ……….. 16
Gambar II.7 Gambar Konektor RS-232 ………. 21
Gambar III.1 Blok Diagram ………. 22
Gambar III.2 Rangkaian hardware ……….. 24
Gambar III.3 Flowchart Mikrokontroler Pengendali ……….. 25
Gambar III.4 Menu Utama ……….. 27
Gambar III.5 Menu Check In ………... 28
Gambar III.6 Menu Check Out ……… 28
Gambar III.7 Flowchart Software pada Komputer ………. 29
Gambar III.8 Format Data ……….. 30
Gambar III.9 Prosedur Ask to Send – Replied No Data ………. 31
Gambar III.10 Prosedur Ask to Send – Replied With Data ………... 32
Gambar III.11 Prosedur Ask to Send – Request Time Out ……… 33
Gambar III.12 Prosedur Password Accepted ……… 34
Gambar III.13 Prosedur Password Denied ………... 34
Gambar IV.1 Inisialisasi Hyper Terminal ……….. 36
Gambar IV.2 Hasil Uji Coba ……….. 36
Gambar IV.3 Hasil Pengujian Status Mikrokontroler 1 ………. 38
Gambar IV.4 Hasil Pengujian Status Mikrokontroler 2 ………. 39
Gambar IV.5 Hasil Pengujian Status Mikrokontroler 3 ………. 40
Gambar IV.7 Hasil Pengujian Password Accepted Mikrokontroler 2 ………... 42
Gambar IV.8 Hasil Pengujian Password Accepted Mikrokontroler 3 ………... 43
Gambar IV.9 Hasil Pengujian Password Denied Mikrokontroler 1 ………….. 44
Gambar IV.10 Hasil Pengujian Password Denied Mikrokontroler 2 ………….. 45
DAFTAR LAMPIRAN
LAMPIRAN A LIST PROGRAM MIKROKONTROLER
LAMPIRAN B LIST PROGRAM DELPHI
LAMPIRAN A
List Program Mikrokontroler 1
CJNE A,#61H,Terima3
CJNE R0,#10H,NoData
AJMP Kirim
Terima3: ;access denied
CJNE A,#67H,Terima4
MOV P2,#00H
MOV A,#65H
CLR TI
MOV SBUF,A
JNB TI,$
AJMP Inisialisasi
Terima4:
CJNE A,#66H,Inisialisasi ;access granted
MOV A,#65H
CLR TI
MOV SBUF,A
JNB TI,$
AJMP Inisialisasi
NoData:
AJMP Inisialisasi
Terima: ;address checking
CJNE R3,#00H,Terima2
MOV A,R4
AJMP Inisialisasi
Delay:
MOV R2,#0FFH
Batal:
JNB P1.1,$
AJMP Inisialisasi
Next3:
CJNE R0,#04H,Batal
MOV R7,A
ACALL Delay
AJMP Start
List Program Mikrokontroler 2
CJNE A,#61H,Terima3
CJNE R0,#10H,NoData
AJMP Kirim
Terima3: ;access denied
CJNE A,#67H,Terima4
MOV P2,#00H
MOV A,#65H
CLR TI
MOV SBUF,A
JNB TI,$
AJMP Inisialisasi
Terima4:
CJNE A,#66H,Inisialisasi ;access granted
MOV A,#65H
CLR TI
MOV SBUF,A
JNB TI,$
AJMP Inisialisasi
NoData:
AJMP Inisialisasi
Terima: ;address checking
CJNE R3,#00H,Terima2
MOV A,R4
AJMP Inisialisasi
Delay:
MOV R2,#0FFH
Batal:
JNB P1.1,$
AJMP Inisialisasi
Next3:
CJNE R0,#04H,Batal
MOV R7,A
ACALL Delay
AJMP Start
List Program Mikrokontroler 3
CJNE A,#61H,Terima3
CJNE R0,#10H,NoData
AJMP Kirim
Terima3: ;access denied
CJNE A,#67H,Terima4
MOV P2,#00H
MOV A,#65H
CLR TI
MOV SBUF,A
JNB TI,$
AJMP Inisialisasi
Terima4:
CJNE A,#66H,Inisialisasi ;access granted
MOV A,#65H
CLR TI
MOV SBUF,A
JNB TI,$
AJMP Inisialisasi
NoData:
AJMP Inisialisasi
Terima: ;address checking
CJNE R3,#00H,Terima2
MOV A,R4
AJMP Inisialisasi
Delay:
MOV R2,#0FFH
Batal:
JNB P1.1,$
AJMP Inisialisasi
Next3:
CJNE R0,#04H,Batal
MOV R7,A
ACALL Delay
AJMP Start
LAMPIRAN B
unit Hotel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, DB, ADODB, ExtCtrls, Grids, DBGrids,
ComCtrls,CPort,CPortCtl;
type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Label1: TLabel;
ComboBox1: TComboBox;
Edit1: TEdit;
DataSource1: TDataSource;
ADOTable1: TADOTable;
ADOConnection1: TADOConnection;
ADOTable1Nama: TWideStringField;
ADOTable1Alamat: TWideStringField;
ADOTable1WaktuCheckIn: TDateTimeField;
ADOTable1Kamar: TIntegerField;
ADOTable1Password: TIntegerField;
Label2: TLabel;
ADOTable1WaktuCheckOut: TDateTimeField;
ADOTable1Biaya: TBCDField;
ADOTable1Discount: TIntegerField;
ADOTable1Tagihan: TBCDField;
DBEdit13: TDBEdit;
procedure DBGrid1TitleClick(Column: TColumn);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure ComPort1RxChar(Sender: TObject; Count: Integer);
procedure Button2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
function RandomPassword(PLen: Integer): string;
var
Result := Result + str[Random(Length(str)) + 1];
until
(Length(Result) = PLen)
end;
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
ADOTable1.IndexFieldNames := Column.FieldName;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If Key = chr(VK_RETURN) Then
Begin
Key := #0;
AdoTable1.IndexFieldNames := ComboBox1.Text;
ADOTable1.Locate(ComboBox1.Text,Edit1.Text,[loPartialKey]);
End;
end;
procedure TForm1.FormShow(Sender: TObject);
Var I : Integer;
begin
ComboBox1.Clear;
For I := 0 To ADOTable1.FieldCount-1 Do
If ADOTable1.Fields[i].DataType = ftWideString
Then ComboBox1.Items.Add(ADOTable1.Fields[i].FieldName);
end;
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
Var
Str: String;
w: integer;
begin
ComPort1.ReadStr(Str,Count);
w:=120;
(Edit4.Text = ADOTable1.FieldByName('Kamar').AsString )and
(Edit5.Text = ADOTable1.FieldByName('Password').AsString )
procedure TForm1.Button2Click(Sender: TObject);
Var
Str : String;
begin
Str := Edit2.Text;
Comport1.WriteStr(Str);
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
Comport1.Open;
Comport1.WriteStr('R');
Comport1.Close;
Comport1.Open;
Comport1.WriteStr('a');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
DBEdit5.Text := RandomPassword(4);
end;
procedure TForm1.Button3Click(Sender: TObject);
var Str: string;
begin
if edit4.text = '101' then Str:= 'S' else
if edit4.text = '102' then Str:= 'T' else
Comport1.Open;
Comport1.WriteStr(Str);
Str:='a';
Comport1.WriteStr(Str);
timer1.Enabled := true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var Str: string;
begin
if edit4.text = '101' then Str:= 'S' else
if edit4.text = '102' then Str:= 'T' else
if edit4.text = '103' then Str:= 'R';
Comport1.Open;
Comport1.WriteStr(Str);
Str:='a';
Comport1.WriteStr(Str);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Comport1.Close;
edit3.Clear;
edit4.clear;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
var Str: string;
Str:= edit2.text;
Comport1.WriteStr(Str);
edit4.text:= '101';
end;
LAMPIRAN C
1
BAB I
PENDAHULUAN
I.1 Latar Belakang
Aplikasi berbasis mikrokontroler pada berbagai perangkat elektronika
berkembang sangat pesat dewasa ini. Berbagai robot canggih, sistem keamanan
rumah, telekomunikasi dan sistem komputer banyak menggunakan mikrokontroler
sebagai unit pengontrol utama. Perbedaan mikroprosesor dan mikrokontroler terletak
pada kelengkapannya, di mana mikrokontroler adalah mikroprosesor yang
mempunyai memory dan port I/O sendiri.
Keunggulan lain dari mikrokontroler yaitu dari kompatibilitasnya terhadap
komputer, salah satu cara komunikasi antara mikrokontroler dengan komputer adalah
melalui serial port(RS-232). Namun serial portmempunyai keterbatasan yaitu hanya
dapat berkomunikasi secara point to point. Tujuan dari tugas akhir ini adalah untuk
membuat sistem komunikasi RS-232 secara multipoint sehingga dapat mengendalikan
beberapa mikrokontroler sekaligus.
Aplikasi dari sistem komunikasi RS-232 secara multipoint diantaranya
diterapkan pada bidang perhotelan yaitu untuk mengontrol kunci pada tiap kamar.
Cara kerja sistem pengontrolannya yaitu dengan mencocokkan kode PIN ke database
2
I.2 Identifikasi Masalah
1. Bagaimana mengendalikan beberapa mikrokontroler melalui sebuah serial
port ?
2. Bagaimana membuat database untuk sistem akses pintu dengan
password?
I.3. Tujuan
1. Mengendalikan beberapa mikrokontroler pengontrol pintu dari komputer
utama melalui sebuah serial port yang mampu berkomunikasi secara
multipoint.
2. Membuat database untuk sistem akses pintu dengan password.
I.4 Pembatasan Masalah
1. Sistem komunikasi RS-232 secara multipoint untuk perhotelan diaplikasikan
berupa prototype.
2. Human interface device yang digunakan berupa keypad dan berjumlah 3 buah. 3. Database dibuat menggunakan Microsoft Access 2000
3
I.5 Sistematika Pembahasan
• Bab I
Pada bab I dibahas tentang latar belakang, identifikasi masalah, tujuan
dan pembatasan masalah pada tugas akhir ini.
• Bab II
Pada bab II dibahas tentang landasan teori mengenai mikrokontroler
pada umumnya, mengenai mikrokontroler AT89S52 pada khususnya,
serta mengenai serial port (RS-232).
• Bab III
Pada bab III dibahas tentang perancangan hardware, perancangan
software, serta protokol komunikasi antara komputer dengan mikrokontroler.
• Bab IV
Pada bab IV dibahas mengenai uji coba dari hardware, software serta
uji coba hardware dan software secara keseluruhan.
• Bab V
Pada bab V dibahas mengenai kesimpulan dan saran dari pelaksanaan
47
BAB V
KESIMPULAN DAN SARAN
V.1 Kesimpulan
1. RS-232 dapat berkomunikasi secara multipoint dengan menggunakan
protokol tugas akhir ini. Dengan kemampuan komunikasi secara multipoint
tersebut RS-232 dapat dikembangkan lebih lanjut untuk berbagai aplikasi lain.
2. Database untuk sistem akses pintu dengan password dapat direalisasikan pada tugas akhir ini.
V.2 Saran
1. Mikrokontroler pengendali dapat dikembangkan lebih jauh sebagai pengendali
ruangan seperti pengendali lampu, pengendali pendingin ruangan dll.
2. Sistem komunikasi RS-232 secara multipoint dapat dikembangkan menjadi
DAFTAR PUSTAKA
1. Budiharto, Widodo, “ Perancangan Sistem dan Aplikasi Mikrokontroler”, Elex
Media Komputindo, Jakarta, 2005.
2. Malvino, Albert Paul ; Jerald A. Brown, “Digital Computer Electronics”, Mc
Graw Hill, 3rd Edition, 1992.
3. Marcus, Teddy ; Agus Prijono ; Josef Widiadhi, “ Pemrograman Delphi dengan
ADOExpress” , Informatika , Bandung, 2005.
4. Setiawan , Rachmad, “ Mikrokontroler MCS-51”, Graha Ilmu, Yogyakarta,
2006.
5. www.atmel.com , 9 Maret 2006.