
Komunikasi Serial
Pendahuluan
Keunggulan mikrokontroler antara
lain sudah disediakannya
port untuk komunikasi serial. Dengan port ini, membuat mikrokontroler dapat berkomunikasi dengan mudah dengan devais lainnya. Penguasaan pemrograman komunikasi serial mutlak disamping komunikasi Two wire interface
(TWI), karena banyak aplikasi mikrokontroler yang terhubung ke PC melalui port serial.
Tujuan Praktikum
1. Praktikan dapat menjelaskan cara kerja komunikasi serial pada mikrokontroler
2. Praktikan dapat menjelaskan fungsi pin TxD dan RxD pada mikrokontroler
3. Praktikan dapat memprogram mikrokontroler AVR ATmega16 untuk komunikasi serial ke PC, serta menggunakan software visual untuk menampilkan data.
4. Praktikan mengusulkan suatu rancangan sistem minimum mikrokontroler untuk komunikasi data menggunakan port serial
Konsep Komunikasi serial
Komunikasi serial merupakan
hal yang penting dalam sistem embedded, karena dengan
komunikasi serial
kita dapat dengan mudah menghubungkan
mikrokontroler dengan devais lainnya. Port serial pada mikrokontrollr terdiri
atas dua pin yaitu RXD dan TXD, RXD berfungsi untuk menerima data dari
komputer/perangkat lainnya, TXD berfungsi untuk mengirim data ke
komputer/perangkat lainnya, Standar komunikasi serial untuk komputer ialah RS-232,
RS-232 mempunyai standar tegangan yang berbeda dengan serial port mikrokontroler, sehingga agar
sesuai dengan RS-232 maka di butuhkan suatu rangkaian level converter, IC yang
digunakan bermacam-macam, tetapi yang paling mudah dan sering digunakan ialah
IC MAX232/HIN232. Pada mikrokontroler AVR ATmega 16, pin PD0 dan PD1 digunakan
untuk komunikasi serial USART (Universal Synchronous and Asynchronous Serial Receiver and Transmitter)
yang mendukung komunikasi full duplex komunikasi 2 arah.

Gambar 3.1 Model pengkonversi
level serial


Gambar 3.2 Susunan
kaki dan rangkaian MAX 232
….
Konfigurasi yang umum untuk komunikai dengan baud rate 9600bps menggunakan kristal 4 MHz. Untuk mengirimkan data, bias menggunakan fungsi putchar, puts atau menggunakan I/O register UDR seperti
contoh berikut:
unsigned char judul[]={"Praktikum AVR"};
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0X00; // Baud rate
9600bps, pada kristal 4 MHz
UBRRL=0X19;
puts(judul); //tampilkan pesan dan ganti
baris
UDR=’O’;
…
Penerapan
pada Program
Percobaan 1.
Mengirim data ke PC
Langkah-langkahnya:
1. Siapkan Smart AVR ATmega 16 ver. 2.0, dan hubungkan dengan kabel AVR ISP Programmer ke PC. Hubungkan kabel serial dari mikrokontroler ke port serial PC
2. Buat program di bawah ini :
KirimSerial.c:
// Percobaan 3.1, Percobaan kirim data serial ke PC
#include
<mega16.h>
#include <stdio.h>
#include <delay.h>
#include <string.h>
void main(void) {
unsigned char judul[]={"Praktikum AVR"};
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0X00; // Baud rate
9600bps, pada kristal 4 MHz
UBRRL=0X19;
puts(judul); //tampilkan pesan dan ganti
baris
putchar('O');
delay_ms(100);
//tunggu UDR siap
UDR='K';
}
3. Kompilasi dan jalankan, buka
hyperterminal , maka akan tampil pesan “Praktikum AVR”, ganti baris lalu karakter
OK.
Percobaan 2. Pengiriman Data ke
Mikrokontroler
Langkah-langkahnya;
1. Siapkan SmartAVR ATmega16 ver. 2.0, dan hubungkan dengan kabel AVR ISP Programmer ke PC. Hubungkan juga kabel serial dari mikrokontroler ke Port serial PC
2. Buat program di bawah ini :
TerimaSerial.c:
//Percobaan 3.2, Program terima data dari PC
#include
<mega16.h>
#include <stdio.h>
#include <delay.h>
#include <string.h>
void main(void) {
unsigned char data;
DDRB=0XFF;
PORTB=0xFF;
UCSRA=0x00; //konfigurasi baud rate 9600bps
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0X00;
UBRRL=0X19;
while (1) {
while (UCSRA.7) //apakah ada data baru yang belum dibaca
{
data=UDR;
PORTB=data; // data dikirim ke
Port B
}
}
}
3. Jalankan program, tekan angka 0,1,2 dan seterusnya, lihat data yang terkirim ke Port B dalam format ASCII( Misal angka 0 = 30H, angka 1=31H dst).
Percobaan 3.
Membuat Form Display VB .Net 2005
Langkah-langkahnya;
1.
Buka proyek baru di VB .Net 2005, desain form seperti gambar di bawah
….
2.
Masukkan kode dan jalankan program, jalankan juga mikrokontroler yang telah diisi program
pengiriman data ke PC
3. Klik button Koneksi,
klik button reset pada mikrokontroler, maka akan tampil
pesan di form tersebut.
Tugas Pendahuluan
1. Jelaskan cara kerja dari komunikasi serial pada mikrokontroler,
serta gambarkan format frame serial.
2. Buat program C untuk mengirim data 14H ke PC, lalu dikirim
balik ke mikrokontroler dan ditampilkan ke LED di Port B
Tugas Akhir Praktikum
1. Buatlah rancangan alat dan program yang mampu menampilkan data penekanan push button, dikirim melalui port serial PC
dan ditampilkan melalui form VB .Net.
Materi lebih lengkap bab
ini, miliki buku ini
Panduan Praktikum Mikrokontroler
ATmega16
Pesan ke Widodo@widodo.com atau desy@elexmedia.co.id
Terbit Januari
2008