Download USART praktikum.docx PDF

TitleUSART praktikum.docx
File Size356.2 KB
Total Pages15
Document Text Contents
Page 1

MODUL 3
KOMUNIKASI USART DAN EVALUASI MODUL I-III

Fauzan Naufal Ramadhan (13213078)
Asisten: Fadhil Mochammad (13212118)

Tanggal Percobaan: 12/4/2016
EL3214 – Praktikum Sistem Mikroprosesor

Laboratorium Dasar - Sekolah Teknik Elektro dan Informatika ITB

Abstrak

Saat komponen mikrokontroler ingin
dipasangi komponen dari luar yang
dapat mengirimkan banyak data, USART
atau Universal Synchronous
Asynchronous serial Receiver
Transmitter digunakan untuk
menterjemahkan dan menghubungkan
data antara dua port serial dan paralel
agar data dapat ditransfer dengan baik.
Pengiriman data terbagi menjadi dua
jenis, yaitu masuk dan keluar. USART
akan menerjemahkan data dari dua
komponen tersebut.

Dikenal pula istilah baudrate (dari
transmission speed) yaitu nilai
kecepatan perubahan data yang
disetting dengan mengubah nilai
register UBRR. Salain itu modul
hyperterminal dan clock juga
mempengaruhi kecepatan transfer.

Pada percobaan kali ini akan diamati
penggunaan USART dan juga akan ada
penggunaan dan aplikasi dari hasil yang
telah diamati di praktikum sebelumnya.

Kata kunci : USART, baudrate,
hyperterminal, PC.

1. PENDAHULUAN

Penambahan komponen pada mikroprosesor
dapat menjadi kebutuhan hardware designer.
Oleh karena itu, praktikan akan mempelajari
bagaimana mengatur transfer data
(kecepatan) pada mikroprosesor dan
komponen yang diberikan. USART akan
menjadi register yang mengatur hal tersebut.

Pada praktikum ini kita akan mencoba
aplikasi komunikasi USART yang akan
dilakukan pada beberapa percobaan.
Diharapkan setelah melakukan praktikum
modul ini, praktikan dapat :

 Memahami datasheet ATMega 8535.

 Membuat aplikasi komunikasi USART.

2. STUDI PUSTAKA

KONFIGURASI TIMER/COUNTER DAN
INTERRUPT

Gambar dan tabel di bawah dikutip dari
datasheet ATMega8535.

USART Data Register

USART Control and Status Register A



USART Control and Status Register B



USART Control and Status Register C

Register-register penting lain

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 1

Page 8

LAMPIRAN

1. Sourcecode untuk tugas III.A.1 :

#include<avr/io.h>

int main (void)
{

//tentukan nilai baudrate yang sesuai dengan inisialisasi
ini

UCSRA=0x00;
UCSRB=0x10;
UCSRC=0x86;
UBRRL=47;
while (1)
{

loop_until_bit_is_set(UCSRA,7);
PORTA=UDR;
UCSRA|=_BV(7);

}
return 0;
}

2. Sourcecode untuk program III.A.2

#include<avr/io.h>

int main (void)
{

//tentukan nilai baudrate yang sesuai dengan inisialisasi ini
UCSRA=0x02; //double speed
UCSRB=0x10;
UCSRC=0x86;
UBRRH=0X01; //tentukan baudrate dengan UBRR
UBRRL=0X7F;
while (1)
{

loop_until_bit_is_set(UCSRA,7);
PORTA=UDR;
UCSRA|=_BV(7);

}
return 0;

}

3. Sourcecode untuk program III.B.1

#include<avr/io.h>
int main (void)
{

UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRL=47;
char kal[]=" Praktikum Sistem Mikroprosesor ";
unsigned char i=0;
for (i=0;kal[i]!='\0';++i)
{

loop_until_bit_is_set(UCSRA,5);
UDR=kal[i];

}
return 0;

Page 14

}

}
return 0;

}

void Init_Ext_Int(void)
{

MCUCR=0x02;
MCUCSR=0x00;
GICR=0x40;
GIFR=0x40;

}

void tugasIB4(void)
{

unsigned char i = 0x01;
unsigned int a=1;
DDRA = 0xFF;
PORTA = i;

do
{

i = (i<<1)|(i>>7);
PORTA = ~i;
_delay_ms(120);
if (i==0x80)

a = 0;
else if (i==0x01)

a = 1;
}while(a==1);

do
{

i = (i>>1)|(i<<7);
PORTA = ~i;
_delay_ms(120);
if (i==0x80)
a = 0;
else if (i==0x01)
a = 1;

}while(a==0);

}

void init_int(void)
{

TIMSK=0b000000;
TCCR1A = 0;
TCCR1B = 0b00001101;
TCNT1H=0x0B;
TCNT1L=0xDB;
sei();

}

void init_tim(void)
{

//mode operasi dan sumber clock
TCCR0=0b00000110;

Similer Documents