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
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.
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.
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.
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.
Lukman Mubarak
021700013