Anda di halaman 1dari 10

LAPORAN PERCOBAAN

PRAKTIKUM MIKROKONTROLLER DAN PLC


“KOMUNIKASI USART“

Disusun untuk memenuhi tugas mata kuliah Praktikum Mikrokontroller & PLC
yang diampu oleh : Dr. Muhtadan, M. Eng

DISUSUN OLEH :
NAMA : Lukman Mubarak
NIM : 021700017
PRODI : Elektronika Instrumentasi

SEKOLAH TINGGI TEKNOLOGI NUKLIR


BADAN TENAGA NUKLIR NASIONAL
YOGYAKARTA
2019
KOMUNIKASI USART

I. TUJUAN
1. Praktikan mampu memahami komunikasi USART dalam mikrokontroler AVR
2. Praktikan mampu mengatur register USART
3. Praktikan mampu membuat program untuk melakukan komunikasi antara mikrokontroler
AVR dengan komputer melalui USART asinkron.

II. DASAR TEORI


Salah satu subsistem komunikasi pada Mikrokontroler ATMega8535 adalah Universal
Synchronous Asynchronous Receiver Transmitter atau USART. Pin USART terdiri dari
pintransmitter TxD yang berada di PD0, pin receiver RxD yang berada di PD1, dan pin
clockXCK untuk mode komunikasi sinkron yang berada di PB0. Komunikasi serial
inimendukung mode full duplex (dua arah secara bersamaan), mode sinkron maupunasinkron,
ukuran data mulai dari 5 hingga 9 bit, menyediakan bit paritas, serta 1 atau 2 stopbit. Frame
data komunikasi USART ditunjukkan pada Gambar 1.

Komunikasi USART dioperasikan menggunakan register sebagai berikut:


1. Register UCSR (USART Control Status Register)
Register ini berfungsi untuk mengendalikan dan memberikan status kendali USART.
Terdapat 3 register UCSR yaitu UCSRA, UCSRB, dan UCSRC. Berikut deskripsi
darimasing-masing register UCSR.
Konfigurasi register UCSRA ditunjukkan pada Gambar 2.
Fungsi dari masing-masing bit adalah
a. RXC, USART receive complete, adalah bit status selesainya pengiriman data.Bernilai 1
berarti terdapat data pada buffer RXB di register UDR yang belumterbaca. Bernilai 0
jika sudah terbaca atau kosong.
b. TXC, USART transmit complete, jika bernilai 1 berarti seluruh data di TXB
padaregister UDR telah dikirimkan, bernilai 0 jika belum ditransmisikan.
c. UDRE, bit yang memberikan status isi register UDR. Bernilai 1 berarti UDRkosong,
dan bernilai 0 jika UDR masih ada data.
d. FE, bit Frame Error, bernilai 1 jika terdapat eror frame pada register UDR, misalnilai
stop bit bernilai 0. Apabilai FE bernilai 0 berarti tidak terdapat eror padaframe.
e. DOR, bit Data Over Run, yaitu bernilai 1 jika terdapat 2 karakter didalam registerUDR.
Bernilai 0 jika berjalan normal dan hanya ada 1 karakter di UDR.
f. PE, bit parity error, bernilai 1 jika terdapat paritas eror. Bernilai 0 jika tidak adaparitas
eror.
g. U2X, yaitu bit untuk mengubah kecepatan USART menjadi dua kalinya. Diset 1maka
USART akan double speed. Dan diset 0 jika berjalan tanpa double speed danmode
sinkron.
h. MPCM, bit mode komunikasi multi processor, jika diset 1 maka data yang diterimaharus
memiliki informasi alamat, jika tidak maka akan ditolak.

Register UCSRB ditunjukkan pada Gambar 3.

Fungsi dari masing-masing bit UCSRB adalah:


a. RXCIE, TXCIE, dan UDRIE, adalah bit untuk mengaktifkan (enable) interupsiyang
disebabkan berturut-turut saat flag RXC, TXC, dan UDRE yang ada diUCSRA aktif.
b. RXEN, dan TXEN, adalah bit untuk mengaktifkan (enable) fungsi dari Receiver dan
Transmitter.
c. UCSZ2, digunakan untuk menentukan ukuran karakter (data), bersama-samadengan
UCSZ1 dan UCSZ0 di register UCSRC.
d. RXB8 dan TXB8, adalah bit ke 9 dari receiver dan transmitter untuk ukurankarakter 9
bit.

Register UCSRC ditunjukkan pada Gambar 4.

Fungsi dari masing-masing bit adalah


a. URSEL, memilih fungsi register UCSRC atau UBRRH, karena keduanya berada
dimemori yang sama. Diset 1 jika memilih UCSRC, dan diset 0 jika untuk UBRRH.
b. UMSEL, mode USART, diset 1 berarti mode sinkron, dan diset 0 untuk modeasinkron.
c. UPM1 dan UPM0, bit kombinasi untuk mengatur mode paritas. UPM1:0 = 10maka
paritas genap, dan UPM1:0=11 maka paritas ganjil.
d. USBS, bit mengatur jumlah stop bit. Diset 0 maka menggunakan 1 stop bit, dandiset 1
jika akan mengguankan 2 stop bit.
e. UCSZ1 dan UCSZ0, bersama sama dengan UCSZ2 untuk mengatur ukurankarakter
dengan konfigurasi sesuai Tabel 1.

f. UCPOL, digunakan pada mode sinkron yaitu bit untuk mengatur polaritas pulsayang
ada di pin XCK. Diset ke 0 jika akan digunakan untuk mode asinkron.

2. Register UBRR (USART Baud Rate Register)

Register UBRR ditunjukkan pada Gambar 5.

Register ini digunakan unutk menentukan baud rate komunikasi USART. Bit
UBRRberukuran 12 bit, dimana UBRRH adalah MSB dan UBRRL adalah LSB.
Pengaturannyaditunjukkan pada Tabel 2.

3. Register UDR (USART Data Register)

Register UDR ditunjukkan pada Gambar 6.

Register UDR terdiri dari RXB untuk buffer receiver dan TXB untuk buffer transmitter.
III. LANGKAH KERJA
1. Hubungkan soket RS232 yang terapat dalam modul dengan komputer.
2. Buatlah program dibawah dengan CodeVision AVR, kemudian download dan amati
hasilnya.
IV. PEMBAHASAN
Tujuan dari dilaksanakannya praktikum ini, adalah praktikan mencoba untuk membuat
program untuk komunikasi antara mikrokontrole AVR dengan komputer (PC) melalui melalui
salah satu subsistem komunikasi pada Mikrokontroler ATMega8535 yakni Universal
Synchronous Asynchronous Receiver Transmitter (USART) dengan mode asinkron.
Komunikasi serial USART ini mendukung mode full duplex (dua arah secara bersamaan).
Dalam pelaksanaan percobaan tersebut juga digunakan soket RS232 yang dihubungkan dengan
modul dan komputer, Berikut merupakan program yang praktikan buat :
Program tersebut menggunakan register pada komunikasi USART. Dengan membinerkan
nilai hexa setiap register (UCSRA, UCSRB, UCSRC, UBRRH, UBRRL) dapat diketahui mode
dan komunikasi USART yang digunakan.
Pada kepala porgram, praktikan melakukan inisialisasi USART dengan menuliskan
UCSRA = 0X00; yang artinya register UCSRA diisi 00 , maka bit ke nol sampai tujuh pada
tabel USCSRA berisi nol. Kemudian UCSRB = 0X18; nilai 18 bila dibinerkan menjadi 0001
1000 yang artinya RXEN, dan TXEN masing-masing bernilai 1, adalah bit untuk mengaktifkan
(enable) fungsi dari Receiver dan Transmitter, dilihat pada tabel UCSRB meginisialkan bahwa
nilai UCZ2 pada bit ke dua berisi 0. Lalu, UCSRC = 0X86; dibinerkan menjadi 1000 0110 bila
dilihat pada tabel UCSRC menunjukkan UMSEL pada bit ke enam berisi 0 (mode asingkron).
Bit ke dua dan ke satu, menunjukkan nilai UCZ1 dan UCZ0 berturut-turut berisi 11.Sesuai
dengan Tabel 1. Didapatkan nilai UCZ2-UCZ1-UCZ0 = 011 , artinya program tersebut
menjalankan karakter sejumlah 8 bit. Selanjutnya dengan nilai Baudrate 9600, diisikan UBRRH
= 0X00; bernilai 00 sebagai MSB dan UBRRL = 0X33 bernilai 33 sebagai LSB.
Kemudian dalam praktikum ini frekuensi kristal yang digunakan adalah sebesar 8 Mhz,
dan untuk nilai baud sebesar 9600, sehingga dapat dihitung nilai UBRR dengan rumus mode
asinkron normal, yaitu :
UBRR =
UBRR = (8MHZ/(16*9600))-1
UBRR = 52 (dalam Hexa = 34)
Masuk pada main program, praktikan memerintahkan USART sebagai pengirim / transmitter
dengan program :
while((UCSRA & 0X20)==0X00)
{;} //menunggu hingga UDRE = 1 (kosong)
UDR = data;
Register UCSRA bernilai 0x20 apabila dibinerkan 0010 0000, maka bit ke lima (UDRIE)
bernilai 1 yang berarti akan mengktifkan UDR empty interrupt, dimana interupsi pada UDR
akan aktif (bernilai) satu, dan UDR berisikan data. Selanjutnya, praktikan menginisialisasi
USART sebagai penerima/receiver menggunakan program :
while((UCSRA & 0X80)==0X00)
{;}
data = UDR;
return data;
UCSRA bernilai 0x80apabila dibinerkan 1000 0000 dapat diketahui bahwa program tersebut
akan mengaktifkaninterupsi Receive Complete interrupt yang akan menerima data yang sudah
dikirim dari program USART transmit (RXCIE bernilai 1).
Tahap akhir, ialah pengisian karakter apa yang akan dikirim melalui program main void. Pada
program tersebut dituliskan inisialisasi karakter yang akan dikirim ialah huruf ‘A’. Dengan
delay pselama 100ms. Ketika modul mikrokontroler AVR disambungkan dengan software
TeraTerm. Sebelumnya dilakukan set baudrate terlebih dahulu pada setup-nya.

Jika sudah, program dijalankan dan muncul tampilan pada software TeraTerm sebagai berikut
:

Hasil diatas menunjukkan bahwa praktikan telah berhasil mengoperasikan komunikasi serial
USART menggunakan modul mikrokontroller AVR.

V. KESIMPULAN

1. USART (mode komunikasi serial) mampu berkomunikasi dengan mode full duplex (dua
arah secara bersamaan) baik sebagai pengirim (trasmitter) maupun penerima (receiver) data.
2. Penggunaan USART diperlukan inisialisasi pada beberapa register , yaitu : UCSRA,
UCSRB, UCSRC, UBRRH, UBRRL, dan UDR.
3. Output USART program dapat ditampilkan salah satunya menggunakan software TeraTerm
sebagai terminal emulator untuk mengakses serial port mikrokontroler AVR.

VI. DAFTAR PUSTAKA


Muhtadan, dkk.2019. Petunjuk praktikum sistem mikrokontroler dan PLC”komunikasi
USART”. Yogyakarta : STTN-BATAN.

Yogyakarta, 04 November 2019


Praktikan

Lukman Mubarak
021700013

Anda mungkin juga menyukai