LAPORAN
PRAKTIK
MIKROKONTROLLER
DOSEN
PENGAMPU MUSLIKHIN, M.Pd.
KOMUNIKASI
SERIAL (UART)
Disusun
oleh:
Istiqomah 16507134035 Angkatan 2016
TEKNIK
ELEKTRONIKA-D3
PENDIDIKAN
TEKNIK ELEKTRONIKA DAN INFORMATIKA
FAKULTAS
TEKNIK
UNIVERSITAS
NEGERI YOGYAKARTA
2018
A.
TUJUAN
Setelah
melakukan praktik mahasiswa diharapkan dapat:
1.
Memahami prinsip kerja komunikasi UART
2.
Mampu mengirim data menggunakan UART USB
termonitor di hyperterminal
B.
TEORI
DASAR
UART
merupakan sebuah subsistem hardware yang memungkinkan untuk melakukan transmit
dan receipt data secara serial. Fitur ini biasnya telah terinclude dalam sebuah
mikrokontroller. Berbeda dari metode komunikasi lain, komunikasi secara serial
mengandalkan clock pada sisi transmit dan receive dimana kedua sisi clock ini
harus sama. Sehingga pada komunikasi ini hanya dibutuhkan tiga pin, yakni Tx
(Transmit), Rx (Receive), dan GND. Pada PC level tegangan RS232 antara +3
hingga +25 volt untuk data 0, dan -3 hingga -25 untuk logika 1. Perlu
diketahui, bahwa pada Atmega16 terdapat pin Txd dan Rxd yang bekerja pada level
UART. Sementara untuk strandar RS232, kita memerlukan sebuah IC converter untuk
menyesuaikan dengan tegangan RS232. Karena level logika pada AVR hanya sekitar
3 – 5 volt.
Ciri
khas dari komunikasi UART adalah sebagai berikut: 1) Pada transmisi asinkron,
mengirimkan 1 stop bit (1) di awal dan 1 atau lebih start bit (0) di akhir
setiap byte. 2) Data ditransmisikan per karakter dalam satu saat (5 sampai 8
bit). 3) Asinkron berarti “asinkron pada level byte”, tetapi bit-bit tetap
disinkronkan; durasinya sama. Teknik paritas memerlukan tambahan satu bit (bit
paritas) pada data word. Bit paritas dapat bernilai 1 atau 0 tergantung pada:
a. Jumlah
angka 1 di dalam data word
b. Pola
paritas yang digunakan
c. Bit
Paritas digabungkan pada byte data, sehingga menjadi 9 bit
Pola
paritas genap (even parity) memerlukan total jumlah angka 1 (termasuk
bit paritas sendiri) genap. Pola paritas ganjil (odd parity) memerlukan
total jumlah angka 1 ganjil.
C.
ALAT
DAN BAHAN
1.
Modul AVR Atmega8535/8/16/32
2.
PC (Personal computer)/laptop
3.
Jumper
4.
Power supply 5-12V
5.
CRO
D.
SKEMA
RANGKAIAN
E.
LANGKAH
KERJA DAN PENGAMATAN
1. Membuat
alat dan bahan seperti rangkaian di atas;
2. Sebelum
menulis program hendaknya mengatur seperti gambar berikut;
3. Membuat
list program
4. Setelah dicompile, mensimulasikan di Proteus lalu coba pada hardware nyata;
5. Merakit modul/hardware mikrokontroller dengan menghubungkan kabel USB ke dalam UBS PC/laptop.
6. Mengecek USB driver prolific, jika anda menggunakan win7, win8, maupun xp silahkan gunakan prolific 3.2.00 yang tersedia di besmart.uny.ac.id (elearning).
7.Melihat hasilnya pada device manager, jika teristal sempurna akan tampak seperti berikut;
8. Selanjutnya, settinglah parameter komunikasi seperti langkah 2, atau seperti contoh berikut;
10. Pada hardware, hubungkan pin PD0 dan PD1 ke CRO, tekanlah tombol PB4 dan PB0, mengamati apa yang terjadi pada hyperteminal PC/laptop Anda.
11. Tugas, buatlah program UART, apabila PB0 ditekan akan mengirim (tx) data “kirim”, dan apabila PB4 ditekan akan menerima data “diterima”.
12. Tuliskan hasil praktikum anda sesuai format dan simpulkan hasilnya.
F.
HASIL
DAN ANALISIS
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.3 Standard
Automatic Program Generator
© Copyright 1998-2011 Pavel Haiduc,
HP InfoTech s.r.l.
Project :
Version :
Date : 15/03/2018
Author : tyery08
Company : embeeminded.blogspot.com
Comments:
Chip type : ATmega16
Program type : Application
AVR Core Clock frequency: 11,052000
MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/
#include <mega16.h>
#include <stdio.h>
#include <delay.h>
unsigned char m, n;
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In
Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T
State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=In Func6=In Func5=In
Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T
State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// Port C initialization
// Func7=In Func6=In Func5=In
Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T
State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In
Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T
State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s)
initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s)
initialization
TIMSK=0x00;
// USART initialization
// Communication Parameters: 8 Data,
1 Stop, No Parity
// USART Receiver: Off
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x47;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by
Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC disabled
ADCSRA=0x00;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
while (1)
{
if(PINB.4==0)
{n=n+1;
if (n==1)
{
putsf("Kalau tidak belajar mirko
sekarang, kapan lagi?\r");
delay_ms(200);
{n=0;}
}
} if(PINB.0==0)
{m=m+1;
if (m==1)
{
putsf("Kalau bukan kelas B,
siapa lagi?\r");
delay_ms(200);
}
{m=0;}
{n=0;}
}
}
}
Pada Atmega16, pengaturan
mode synchronous dan asynchronous sama. Perbedaannya terletak pada sumber
clock. Jika pada mode asynchronous masing-masing peripheral memiliki sumber
clock sendiri, maka pada mode synchronous hanya terdapat satu sumber clock yang
digunakan secara bersamaan. Dengan demikian, secara hardware untuk mode
asynchronous hanya membutuhkan 2 pin yaitu TXD dan RXD, sedangkan untuk mode
synchronous harus 3 pin yaitu TXD, RXD dan XCK. Pada transimi sinkron (USART)
pengirim akan mengirimkan clock / timing signal sehingga device penerima tahu
kapan membaca bit data berikutnya. Transmisi asinkron (UART) mengijinkan
pengirim tidak memberikan clock sinyal pada penerima, sebagai gantinya untuk
memulai transmisi pengirim mengirimkan start bit pada tiap byte data yang
dikirimkan dan diakhiri dengan stop bit.
G.
KESIMPULAN
Berdasarkan
hasil praktikum yang telah dilakukan dan teori yang ada maka dapat disimpulkan
bahwa :
1.
UART atau Universal Asynchronous
Receiver Transmitter merupakan protokol komunikasi yang umum berfungsi dalam
pengiriman data serial antara device satu dengan yang lainnya. UART biasanya
berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada
komputer atau port serial perangkat periperal.
2.
USART merupakan komunikasi yang
memiliki fleksibilitas tinggi, dimana dapat melakukan transfer data antar
mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki
fitur UART.
3.
Terdapat perbedaan antara UART dan
USART diantaranya USART memungkinkan transmisi data baik secara synchronous
maupun asynchronous, sehingga dengan memiliki USART pasti kompatibel dengan
UART.
H.
REFERENSI

Tidak ada komentar:
Posting Komentar