1
Prinsip komunikasi serial adalah pengiriman data secara serial dengan
menggunakan karakter-karakter dalam kode ASCII. Karakter ini yang nantinya
akan dirubah menjadi signal digital oleh hardware transmitter (Tx), dan akan
diterjemahkan lagi menjadi data karakter oleh hardware receiver (Rx).
Pemrograman komunikasi serial mikrokontroler dengan menggunakan CVAVR
sangatlah sederhana, dikarenakan sudah memiliki instruksi-instruksi
pemrograman yang standart. Berikut instruksi yang sering digunakan dalam
komunikasi serial mikrokontroler
printf(“………..”);
digunakan untuk mencetak atau mengeluarkan data string (kata/kalimat) ke jalur
komunikasi serial mikrokontroler
scanf(&varibel_penyimpan);
digunakan untuk membaca/menerima data string/char dari jalur komunikasi serial
mikrokontroler
getchar();
digunakan untuk membaca/menerima data char (karakter) dari jalur komunikasi
serial mikrokontroler
2
5.3 Daftar alat dan bahan
1. Software Proteus 7
2. Software CVAVR
3. Unit Komputer
3
Gambar 5.2. Edit component ATMEGA 8535 dan COMPIM pada Proteus
4
Gambar 5.3. Setting clock dan USART pada CVAVR
Program 1.
#include <mega8535.h>
#include <stdio.h>
#include <delay.h>
void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x00;
5
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
MCUCR=0x00;
MCUCSR=0x00;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;
// ADC initialization
ADCSRA=0x00;
// SPI initialization
SPCR=0x00;
// TWI initialization
TWCR=0x00;
6
while (1)
{
// Place your code here
printf("Hallo Word ");
delay_ms(500);
}
}
7
5.8 Data
Tabel 5.1 Data Percobaan
Baud Data Register USART Tampilan Virtual
Rate
UCSRA UCSRB UCSRC UBRRH UBRRL Terminal
(bps)
9600 0x00 0x18 0x86 0x00 0x33 Hallo Word
4800
2400
1200
5.9 Pertanyaan
a. Lakukan perhitungan untuk mendapatkan nilai register-register USART
untuk baud rate 4800 bps, 2400 bps, dan 1200 bps
b. Lakukan analisis terhadap hasil percobaan
c. Buatlah kesimpulan terhadap hasil analisis yang telah dilakukan
d. Periksa pada file berekstensi .list, sebutkan alamat untuk vector interupsi
dan alamat label untuk sub program interupsi timer 1, serta berikan
penjelasannya.
http://anotherorion.com/usart-codevision-2-kirim-terima-data-usart