Anda di halaman 1dari 8

PRAKTIKUM 5

KOMUNIKASI SERIAL RS232 USART

5.1 Tujuan Instruksional Khusus


 Mahasiswa mengerti cara melakukan komunikasi serial dengan
mikrokontroller AVR untuk mengendalikan sesuatu peralatan
 Mahasiswa mengerti cara membuat program C pada mikrokontroller AVR
untuk melakukan komunikasi serial USART

5.2 Dasar Teori

Komunikasi serial merupakan komunikasi data dengan pengiriman data


secara satu per satu dengan menggunakan satu jalur kabel data. Sehingga
komunikasi serial hanya menggunakan 2 kabel data yaitu kabel data untuk
pengiriman yang disebut transmit (Tx) dan kabel data untuk penerimaan yang
disebut receive (Rx). Kelebihan dari komunikasi serial adalah jarak pengiriman
dan penerimaan dapat dilakukan dalam jarak yang cukup jauh dibandingan
dengan komunikasi parallel tetapi kekurangannya adalah kecepatan lebih lambat
daripada komunikasi parallel, untuk saat ini sedang dikembangkan teknologi
serial baru yang dinamakan USB (Universal Serial Bus) yang memiliki kecepatan
pengiriman dan penerimaan data lebih cepat disbanding serial biasa.
Komunikasi serial antar computer (PC/Laptop) yang memiliki fasilitas
serial port (DB9) secara langsung dapat dikomunikasikan, tanpa menggunakan
antarmuka (interface). Hal ini dikarenakan pada sebuah PC/Laptop yang memiliki
port serial sudah dilengkapi RS232 pada masing-masing hardwarenya. Sedangkan
agar terjadinya komunika si serial antara mikrokontroler dengan PC/laptop, maka
dibutuhkan rangkaian tambahan sebagai antarmuka (interface) yang diberi nama
rangkaian RS232. Untuk komunikasi antar IC kita dapat menggunakan
komunikasi serial, seperti gambar 3. Komunikasi serial ant ar IC dapat dilakukan
secara langsung dengan jenis bahan penyusun IC yang sama ( TTL to TTL).

1
Prinsip komunikasi serial adalah pengiriman data secara serial dengan
menggunakan karakter-karakter dalam kode ASCII. Karakter ini yang nantinya
akan dirubah menjadi signal digital oleh hardware transmitter (Tx), dan akan
diterjemahkan lagi menjadi data karakter oleh hardware receiver (Rx).
Pemrograman komunikasi serial mikrokontroler dengan menggunakan CVAVR
sangatlah sederhana, dikarenakan sudah memiliki instruksi-instruksi
pemrograman yang standart. Berikut instruksi yang sering digunakan dalam
komunikasi serial mikrokontroler

printf(“………..”);
digunakan untuk mencetak atau mengeluarkan data string (kata/kalimat) ke jalur
komunikasi serial mikrokontroler

putchar(‘…’); atau putchar(no_char);


digunakan untuk mencetak atau mengeluarkan data char (karakter) ke jaluar
komunikasi serial mikrokontroler

scanf(&varibel_penyimpan);
digunakan untuk membaca/menerima data string/char dari jalur komunikasi serial
mikrokontroler

getchar();
digunakan untuk membaca/menerima data char (karakter) dari jalur komunikasi
serial mikrokontroler

Untuk membantu membaca karakter yang dikirim, biasanya digunakan


fasilitas software HyperTerminal atau fasilitas terminal pada software CVAVR.
Software tersebut dapat menerima dan mengirim karakter/string dari
mikrokontroler.

2
5.3 Daftar alat dan bahan
1. Software Proteus 7
2. Software CVAVR
3. Unit Komputer

5.4 Keselamatan Kerja


1. Menggunakan pakaian praktikum dengan baik dan rapi
2. Sambungkan perangkat-perangkat yang digunakan sesuai dengan petunjuk
pembimbing praktikum
3. Jalankan sistem setelah mendapat izin dari pembimbing praktikum.

5.5. Gambar Kerja

Gambar 5.1. Rangkaian Mikrokontroler

3
Gambar 5.2. Edit component ATMEGA 8535 dan COMPIM pada Proteus

4
Gambar 5.3. Setting clock dan USART pada CVAVR

5.6 Program Mikrokontroler

Program 1.

Chip type : ATmega8535


Program type : Application
AVR Core Clock frequency: 8.000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 128
*****************************************************/

#include <mega8535.h>
#include <stdio.h>
#include <delay.h>

void main(void)
{
PORTA=0x00;
DDRA=0x00;

PORTB=0x00;
DDRB=0x00;

5
PORTC=0x00;
DDRC=0x00;

PORTD=0x00;
DDRD=0x00;

TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization


TIMSK=0x00;

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;

// Analog Comparator initialization


ACSR=0x80;
SFIOR=0x00;

// ADC initialization
ADCSRA=0x00;

// SPI initialization
SPCR=0x00;

// TWI initialization
TWCR=0x00;

6
while (1)
{
// Place your code here
printf("Hallo Word ");
delay_ms(500);
}
}

5.7 Langkah Percobaan


a. Buka Aplikasi Proteus
b. Buatlah desain seperti pada gambar 5.1
c. Lakukan edit component seperti pada gambar 5.2 serta simpanlah desain
tersebut
d. Buka program Code Vision AVR
e. Buatlah project baru, dan lakukan setting chip, dan USART, seperti pada
gambar 5.3
f. Kemudian simpanlah file tersebut.
g. Perhatikan program C yang dihasilkan pada CV AVR, lengkapi
programnya dengan perintah-perintah yang bercetak tebal seperti pada
program 1.
h. Lakukan compilasi dan build All terhadap program yang telah dibuat,
periksa dan perbaiki error bila ada.
i. Download program hasil kompilasi .HEX ke dalam chip mikrokontroler
pada aplikasi Proteus
j. Start proteus dan perhatikan serta catat tampilan Virtual Terminal pada
table 5.1
k. Lakukan perubahan terhadap Baud rate seperti pada table 5.1
l. Lakukan analisis data dan buatlah kesimpulan-kesimpulan yang
diperoleh

7
5.8 Data
Tabel 5.1 Data Percobaan
Baud Data Register USART Tampilan Virtual
Rate
UCSRA UCSRB UCSRC UBRRH UBRRL Terminal
(bps)
9600 0x00 0x18 0x86 0x00 0x33 Hallo Word
4800
2400
1200

5.9 Pertanyaan
a. Lakukan perhitungan untuk mendapatkan nilai register-register USART
untuk baud rate 4800 bps, 2400 bps, dan 1200 bps
b. Lakukan analisis terhadap hasil percobaan
c. Buatlah kesimpulan terhadap hasil analisis yang telah dilakukan
d. Periksa pada file berekstensi .list, sebutkan alamat untuk vector interupsi
dan alamat label untuk sub program interupsi timer 1, serta berikan
penjelasannya.

5.10 Daftar Pustaka

http://anotherorion.com/usart-codevision-2-kirim-terima-data-usart

Anda mungkin juga menyukai