Escolar Documentos
Profissional Documentos
Cultura Documentos
Nama
: Amien Raharja
NRP
: 1310121031
Kelas
: 3 D4 Elin B
3 D4 ELEKTRO INDUSTRI B
I.
Tujuan
1. Mahasiswa dapat merangkai sistem komunikasi antara komputer dengan
mikrokontroller dengan menggunakan konektor RS-232
2. Mahasiswa dapat membuat program sistem komunikasi antara komputer
dengan mikrokontroller dengan menggunakan konektor RS-232
3. Mahasiswa dapat menganalisa sistem komunikasi antara komputer dengan
mikrokontroller dengan menggunakan konektor RS-232
II.
Teori Dasar
Sistem komputer selalu terkait dengan data karena komputer berfungsi untuk memproses
data secara digital, data dalam komputer sering perlu untuk dikomunikasikan dengan
paralatan luar komputer. Salah satu sistem komunikasi data pada komputer adalah dengan
memanfaatkan serial port yang sudah terpasang pada komputer tersebut, dan standard
komunikasi serial yang digunakan untuk koneksi adalah jalur port serial RS232. Standar
RS232 merupakan standar protokol yang diaplikasikan pada semua sistem peralatan yang
berbasia komputer atau mikrokontroler, untuk itu pada tahun 1962Electronic Industry
Association (EIA) and Telecomunication Industry Association.(TIA) telah menetapkan
sebuah standar komunikasi data antar dua peralatan elektronik, yaituData Terminal
Equipment(DTE) dan Data Communication Equipment(DCE) menggunakan pertukaran
data biner secara serial (Serial Binary Data Interchang) yang diberi nama EIA/TIA-232.
Paling sering kita temui komunikasi data
adalah koneksi antara komputer dengan
modem, komputer dengan printer, scaner,
joystik game atau mouse..
Untuk pemakaian lebih luas komunikasi antara komputer dengan komputer, sehingga
bisa digunakan saling tukar menukar data.
Seperti diketahui bahwa dalam sebuah komputer data dialirkan melalui jalur (bus) data
secara paralel dan data yang dikirimkan atau yang diterima melalui port serial, oleh karena
itu dibutuhan suatu interface yang dapat mengubah dari jalur paralel menjadi jalur data
serial.
Sebuah rangkaian RS232 yang dapat mengubah jalur paralel menjadi jalur serial ditunjuk
oleh sebuah IC tipe 6850, yaitu sebuah rangkaian yang dikenal dengan istilah
Asynchronous Communications Interface Adapter (UART).
sistem clock berfungsi sebagai sinkronisasi operasi seluruh sistem UART untuk
terima data atau kirim data.
2.
Chip select and R/W berfungsi sebagai kendali operasi UART oleh devais
eksternal.
3.
Data Bus Buffer berfungsi sebagai buffer data masuk dan data keluar secara
paralel untuk dikoneksikan dengan sistem data bus pada mikro atau komputer..
4.
Transmit Data Register berfungsi sebagai penampung data dari data bus buffer
untuk segera dikirimkan secara serial.
5.
Receiver Data Register berfungsi sebagai penampung data dari masukan serial
untuk dikirim ke data bus buffer untuk dibaca oleh mikro atau komputer secara
paralel.
6. Control Register berfungsi untuk mengendalikan proses kirim dan terima data
terkait dengan devais eksternal.
7.
Status Register berfungsi untuk mencatat status dari setiap proses yang dilakukan
oleh UART.
8.
Blok kontrol baik untuk terima data maupun kirim data yang merupakan bagian
dari control register dalam operasi terima ataupun kirim data.
9.
interupsi NMI ke mikro atau ke prosesor, yang berarti UART meminta layanan untuk bisa
melakukan pengiriman atau penerimaan data secara serial.
Selanjutnya komunikasi data dapat dilakukan baik untuk pengiriman data atau penerimaan
data, setelah penyambungan antar devais atau komunikasi serial dengan standar
komunikasi RS-232 yang menghubungkan periferal eksternal seperti modem dengan
komputer.
Konektor RS-232
Konektor DB9 atau DB25digunakan sebagai penghubung antar devais, RS232 dengan
konektor DB9 dipakai untuk mouse, modem dan lain-lain.Sedang konektor DB25 dipakai
untukjoystik game. Serial port RS232 dengan konektor DB9 memiliki 9 buah pin dan pada
konektor DB25 memiliki pin 25 buah.
Sedangkan fungsi masing-masing pin pada konektor dapat dilihat pada tabel berikut
dengan
Oscilloscope,sehingga
hasil
Digital
dapat
Multimeter,
langsung dibaca
Frequency
oleh
Counter
komputer
atau
atau
utnuk
Terdapat banyak industri mengembangkan sistem yang berbeda, artinya sistem yang satu
dengan sistem yang lain tidak memiliki pola pengambangan yang sama dan tidak saling
tergantung. Akan tetapi dengan menambahkan port komunikasi standar RS-232 maka antar
peralatan tersebut dapat saling dikoneksikan dalam rangka untuk mengkomunikasikan data.
Fungsi pin berdasarkan tabel di atas dapat dijelaskan sebagai berikut:
Signal Ground (SG)berfungsi untuk memberikan masa (ground) pada setiap sinyal
secara bersama (common signal ground).
Transmit Data (TX)berfungsi sebagai saluran keluarnya data dari UART atau
sebagai pengirim data ke devais secara serial.
Receive Data (RX)berfungsi sebagai saluran masuknya data ke UART atau sebagai
penerima data dari devais secara serial.
Data Set Ready (DSR)berfungsi untuk menerima informasi status devais bahwa
devais siap utnuik diakses oleh komputer melalui UART.
Ring Indicator (RI) berfungsi menerima isyarat dari modem bahwa ada devais
(eksternal) yang membutuhkan koneksi dalam rangka pengiriman atau permintaan
data.
Terdapat beberapa metode penerapan interface pada komunikasi data biner secara serial
dan, diantaranya adalah RS-232. Dalam komunikasi data RS-232 terdapat hubungan dua
Frame data yang dikirimkan disusun dengan urutan start bit, diikuti bit-bit data, paritas dan
diakhiri dengan stop bit.
III.
Wiring
Rs-232
Mikrokontrller
IV.
Program
#include <alcd.h>
#include <mega128.h>
#include <stdio.h>
#include <stdlib.h>
#include <delay.h>
#ifndef RXB8
#define RXB8 1
#endif
#ifndef TXB8
#define TXB8 0
Relay
#endif
#ifndef UPE
#define UPE 2
#endif
#ifndef DOR
#define DOR 3
#endif
#ifndef FE
#define FE 4
#endif
#ifndef UDRE
#define UDRE 5
#endif
#ifndef RXC
#define RXC 7
#endif
while (rx_counter1==0);
data=rx_buffer1[rx_rd_index1++];
#if RX_BUFFER_SIZE1 != 256
if (rx_rd_index1 == RX_BUFFER_SIZE1) rx_rd_index1=0;
#endif
#asm("cli")
--rx_counter1;
#asm("sei")
return data;
}
#pragma used// Write a character to the USART1 Transmitter
#pragma used+
void putchar1(char c)
{
while ((UCSR1A & DATA_REGISTER_EMPTY)==0);
UDR1=c;
}
#pragma used-
void main(void)
{
int add,code,ch,i;
char buffer[10];
// Declare your local variables here
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// Port C initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out
Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTC=0x00;
DDRC=0xFF;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Port E initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTE=0x00;
DDRE=0x00;
// Port F initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTF=0x00;
DDRF=0x00;
// Port G initialization
// Func4=In Func3=In Func2=In Func1=In Func0=In
// State4=T State3=T State2=T State1=T State0=T
PORTG=0x00;
DDRG=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
ASSR=0x00;
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// OC1C output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
// Compare C Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
OCR1CH=0x00;
OCR1CL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// Timer/Counter 3 initialization
// Clock source: System Clock
ETIMSK=0x00;
// USART0 initialization
// USART0 disabled
UCSR0B=0x00;
// USART1 initialization
// ADC initialization
// ADC disabled
ADCSRA=0x00;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
{if(rx_buffer1[1]=='A' || rx_buffer1[1]=='a')
{sprintf(buffer,"%c%c",rx_buffer1[2],rx_buffer1[3]);
add=atoi(buffer);
}
if(add==code)
{sprintf(buffer,"%c%c",rx_buffer1[4],rx_buffer1[5]);
ch=atoi (buffer);
if (ch==1)
{
if (rx_buffer1[6]=='1') PORTC.1=1;
else if (rx_buffer1[6]=='0') PORTC.1=0;
}
if (ch==2)
{
if (rx_buffer1[6]=='1') PORTC.3=1;
else if (rx_buffer1[6]=='0') PORTC.3=0;
}
if (ch==3)
{
if (rx_buffer1[6]=='1') PORTC.5=1;
else if (rx_buffer1[6]=='0') PORTC.5=0;
if (ch==4)
{
if (rx_buffer1[6]=='1') PORTC.7=1;
else if (rx_buffer1[6]=='0') PORTC.7=0;
}
if (ch==0)
{
if (rx_buffer1[6]=='1') PORTC=0xff;
else if (rx_buffer1[6]=='0') PORTC=0;
}
}
rx_buffer1[0]=0;
rx_buffer1[7]=0;
}
}
V.
Analisa
Kesimpulan
Fungsi dari kode enskripsi adalah sebagai syarat perjanjian antara dua device yaitu
komputer dengan relay, dimana ada beberapa kode yang akan dikirim untuk proses
mematikan atau menyalakan relay. Kode ini bisa dibuat sesuka hati asalkan sudah
ada kesepakatan antara dua device dan berjumlah 7 digit.