0% menganggap dokumen ini bermanfaat (0 suara)
98 tayangan7 halaman

USART

1. Praktikum ini membahas komunikasi USART pada mikrokontroler AVR dengan komputer melalui port serial. 2. Program yang dibuat dapat mengirim karakter 'A' secara berulang ke terminal dengan delay 0,5 detik. 3. Register kunci untuk komunikasi serial adalah UBRR, UCSRA, UCSRB dan UDR.

Diunggah oleh

RantiGeotalia
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
98 tayangan7 halaman

USART

1. Praktikum ini membahas komunikasi USART pada mikrokontroler AVR dengan komputer melalui port serial. 2. Program yang dibuat dapat mengirim karakter 'A' secara berulang ke terminal dengan delay 0,5 detik. 3. Register kunci untuk komunikasi serial adalah UBRR, UCSRA, UCSRB dan UDR.

Diunggah oleh

RantiGeotalia
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 7

LAPORAN PRAKTIKUM MIKROKONTROLLER DAN PLC

KOMUNIKASI USART

Nama : Ranti Geotalia

Prodi : Elektronika Instrumentasi

Jurusan : Teknofisika Nuklir

Dosen Pengampu : Dr. Muhtadan

SEKOLAH TINGGI TEKNOLOGI NUKLIR


BADAN TENAGA NUKLIR NASIONAL
YOGYAKARTA
2019
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 pin transmitter TxD yang berada di PD0, pin receiver RxD yang
berada di PD1, dan pin clock XCK untuk mode komunikasi sinkron yang berada di
PB0. Komunikasi serial ini mendukung mode full duplex (dua arah secara
bersamaan), mode sinkron maupun asinkron, ukuran data mulai dari 5 hingga 9 bit,
menyediakan bit paritas, serta 1 atau 2 stop bit. Frame data komunikasi USART
ditunjukkan pada Gambar 1.

Gambar 1. Format frame data komunikasi USART AVR ATMega

Keterangan:

St. = start bit


P = bit paritas
Sp1 dan Sp2 = Stop bit 1 dan stop bit 2.
IDLE = tidak ada pengiriman, logika harus 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
dari masing-masing register UCSR.
Konfigurasi register UCSRA ditunjukkan pada Gambar 2.

Gambar 2. Register UCSRA

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 belum
terbaca. Bernilai 0 jika sudah terbaca atau kosong.
b. TXC, USART transmit complete, jika bernilai 1 berarti seluruh data di TXB
pada register UDR telah dikirimkan, bernilai 0 jika belum ditransmisikan.
c. UDRE, bit yang memberikan status isi register UDR. Bernilai 1 berarti UDR
kosong, dan bernilai 0 jika UDR masih ada data.
d. FE, bit Frame Error, bernilai 1 jika terdapat eror frame pada register UDR,
misal nilai stop bit bernilai 0. Apabilai FE bernilai 0 berarti tidak terdapat eror
pada frame.
e. DOR, bit Data Over Run, yaitu bernilai 1 jika terdapat 2 karakter didalam
register UDR. 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
ada paritas eror.
g. U2X, yaitu bit untuk mengubah kecepatan USART menjadi dua kalinya. Diset
1 maka USART akan double speed. Dan diset 0 jika berjalan tanpa double
speed dan mode sinkron.
h. MPCM, bit mode komunikasi multi processor, jika diset 1 maka data yang
diterima harus memiliki informasi alamat, jika tidak maka akan ditolak.
Register UCSRB ditunjukkan pada Gambar 3.

Gambar 3. Register UCSRB


Fungsi dari masing-masing bit UCSRB adalah:
a. RXCIE, TXCIE, dan UDRIE, adalah bit untuk mengaktifkan (enable)
interupsi yang disebabkan berturut-turut saat flag RXC, TXC, dan UDRE
yang ada di UCSRA aktif.
b. RXEN, dan TXEN, adalah bit untuk mengaktifkan (enable) fungsi dari
Receiver dan Transmitter.
c. UCSZ2, digunakan untuk menentukan ukuran karakter (data), bersama-
sama dengan UCSZ1 dan UCSZ0 di register UCSRC.
d. RXB8 dan TXB8, adalah bit ke 9 dari receiver dan transmitter untuk
ukuran karakter 9 bit.
Register UCSRC ditunjukkan pada Gambar 4.

Gambar 4. Register UCSRC


Fungsi dari masing-masing bit adalah
a. URSEL, memilih fungsi register UCSRC atau UBRRH, karena keduanya
berada di memori 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
mode asinkron.
c. UPM1 dan UPM0, bit kombinasi untuk mengatur mode paritas. UPM1:0
= 10 maka paritas genap, dan UPM1:0=11 maka paritas ganjil.
d. USBS, bit mengatur jumlah stop bit. Diset 0 maka menggunakan 1 stop
bit, dan diset 1 jika akan mengguankan 2 stop bit.
e. UCSZ1 dan UCSZ0, bersama sama dengan UCSZ2 untuk mengatur
ukuran karakter dengan konfigurasi sesuai Tabel 1.
Tabel 1. Konfigurasi UCSZ2:1:0 untuk mengatur ukuran karakter

f. UCPOL, digunakan pada mode sinkron yaitu bit untuk mengatur polaritas
pulsa yang 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.

Gambar 5. Register UBRRH dan UBRRL.


Register ini digunakan unutk menentukan baud rate komunikasi USART. Bit
UBRR berukuran 12 bit, dimana UBRRH adalah MSB dan UBRRL adalah LSB.

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. LISTING PROGRAM


V. PEMBAHASAN

Sebelum melakukan komunikasi USART, harus diinisialisasi terlebih dahulu. Proses inisialisasi biasanya
terdiri dari pengaturan baud rate, data bits, paritas dan stop bits.
Selanjutnya adalah inisialisasi kebutuhan komunikasi USART.
UCSRA = 0X00; -> register UCSRA yang berfungsi untuk mengendalikan mode komunikasi
USART dan membaca status yang sedang terjadi pada USART bernilai 0 sampai bit ke 7.

UCSRB = 0X08; -> register untuk mengatur aktivasi penerima dan pengirim USART bit bitnya
bernilai 0000 1000. Bit ke 3 yaitu TXEN , berfungsi mengaktifkan TX, bernilai awal 0, jika diset 1 maka
akan mengaktifkan pengiriman.

UCSRC = 0X86; -> untuk melakukan control pada peralatan USART, bit bit nya bernilai (1000
0110). Bit pertama dan kedua UCSZ0 dan UCSZ1 bernilai 1 untuk menentukan karakter yang akan
dikirimkan. Pada UCSRB nilai register UCSZ2 adalah 0, sehingga mengacu pada table setting UCSZ2-0
ukuran karakter yang dikirim adalah 8 bit.
Untuk menentukan kecepatan transmisi data (baud rate) disetting ada register UBRR yaitu UBRRH dan
UBRRL.

while((UCSRA & 0X20)==0X00)


{;} //menunggu hingga UDRE = 1 (kosong)
UDR = data;
UCSRA bernilai bit (0010 0000) register UDRE bernilai 1 sehingga buffer siap mengirim data (buffer
kosong) dan bernilai 1 jika buffer berisi data/sedang ada proses pengiriman.

Sehingga nilai UDR adalah variable data.


while((UCSRA & 0X80)==0X00)
{;}
data = UDR;
return data;

UCSRA bit-bit nya bernilai (1000 0000) , sehingga RXC bernilai 1, artinya ada data yang belum terbaca/
terdapat data buffer penerima. Nilai data sama dengan UDR, kemudian dikembalikan variabel data.

Fungsi utama terdapat pada fungsi main()

unsigned char karakter;


USART_inisialisasi();
while(1){
karakter= 'A';
USART_kirim(karakter);
delay_ms(500);
}
Script tersebut berfungsi mengirimkan variable “karakter” dengan delay 0.5 sekon dalam fungsi looping.
Sehingga pada terminal akan muncul karakter A terus menerus seperti pada screencapture terlampir

VI. KESIMPULAN

1. Register –register yang digunakan dalam komunikasi serial yaitu UBRR, UCSRA, UCSRB,
UCRC,dan UDR.
2. UBRR merupakan register untuk menentukan kecepatan transmisi data (baud rate), UCSRA
adalah register untuk mengendalikan mode komunikasi USART dan membaca status, UCSRB
berfungsi untuk mengatur aktivasi penerima dan pengirim sedangkan UDR berfungsi
menyimpan data yang dikirimkan (TXB) atau menerima data sebelum dibaca (RXB)

Anda mungkin juga menyukai