Cara Melaksanakan Inisialisasi Pada Komunikasi Serial Usart Mikrokontroler Avr (Praktikum V)



I. TUJUAN PRAKTIKUM 

  • Mampu memahami cara melakukan inisialisasi pada komunikasi series USART Mikrokontroler AVR. 
  • Mampu membuat acara untuk mengirimkan suatu abjad dari mikrokontroler AVR ke komputer. 
  • Mampu membuat acara untuk mendapatkan suatu abjad dari komputer. 

Mampu memahami cara melakukan inisialisasi pada komunikasi series USART Mikrokontroler AVR Cara Melakukan Inisialisasi pada Komunikasi Serial USART Mikrokontroler AVR (Praktikum V)


II. PENGANTAR 

USART (Universal Synchronous together with Asynchronous series Receiver together with Transmitter ) yaitu komunikasi series anatara PC dan Mikrokontroler. USART memiliki ii pivot (RxD dan TxD) untuk Asynchronous dan three fleck TxD, RxD, XCK untuk Synchronous.Untuk PORT yang digunakan pada USART yaitu PORTD.  Secara umum pengaturan fashion syncrhronous maupun asyncrhronous yaitu sama. Perbedaannya hanyalah terletak pada sumber clock saja.
Dari pengertia USART mampu disimpulkan ada dua hal yang harus diperhatikan yaitu Receiver dan Transmitter. Receiver yaitu menerima Karakter dengan menggunakan fungsi “getchar()”, sedangkan Transmitter yaitu mengirimkan karakter dengan menggunakan fungsi “putchar()”.


III. PERCOBAAN

3.1 Alat dan Bahan 



3.2 Prosedur Percobaan 

1)   Persiapkan alat dan bahan, pastikan semuanya mampu digunakan dengan baik.
2)   Untuk rangkaian percobaan perhatikan gambar dibawah ini:
3)   Buka aplikasi CVAVR, atur PORTB sebagai output kemudian PORTB dihubungkan ke LED, dan PORTA ke LCD.
4)   Buatlah Program untuk instruksi-instruksi yang telah ditentukan.

3.3 Rangkaian Percobaan




IV. HASIL dan PEMBAHASAN 

1) Mampu membuat Program untuk mendapatkan (Receiver)  dan mengirimkan (Transmitter) suatu abjad dari komputer 

(1) Menerima Satu Karakter 


#include <mega8535.h>                      // library
#include <alcd.h>                    // Alphanumeric LCD functions
#include <stdio.h>                   // Standard Input/Output functions
char terima;                              // Variable terima dengan type information char
void main(void)
{
PORTA=0x00;                         // Inisialisasi PORTA
DDRA=0x00;                          // menandakan PORTA sebagai input
PORTB=0xFF;                         // Inisialisasi PORTB
DDRB=0xFF;                           // menandakan PORTB sebagai output
PORTC=0x00;                         // Inisialisasi PORTC
DDRC=0x00;
PORTD=0x00;                         // Inisialisasi PORTD
DDRD=0x00;
// Timer/Counter 0 initialization, Clock source: System Clock, Clock value: TimStopped
// Mode: Normal top=0Xff, OC0 output: Disconnected
 TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
TCCR1A=0x00;                       // Timer/Counter i initialization
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter ii 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;
TIMSK=0x00;                        
// USART initialization, USART Receiver: On,USART Transmitter: On, USART Mode: Asynchronous,  USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;                       // TANDA BAUD RATE
ACSR=0x80;                                      // Analog Comparator initialization
SFIOR=0x00;
ADCSRA=0x00;                     //ADC initialization, ADC disabled
SPCR=0x00;                                       //SPI initialization,  SPI disabled
TWCR=0x00;                                                 // TWI Inisialisasi, TWI disabled
lcd_init(8);
while (1)          {
       terima=getchar(); // abjad yang kita terima kita simpan di variable terima
       // getchar=menerima suatu abjad dan terima=variable
       if(terima==’h’)   { // jikalau dan jikalau  diterima abjad ‘h’
            PORTB.0=0;  }// output nya hidup
           else if(terima==’m’) {// maka jikalau dan jikalau terima m
            PORTB.0=1;} //outputnya mati
      }     // mengakhiri acara while
}        // mengakhiri acara void main

Hasilnya menyerupai gambar dibawah ini:




Catatan : Pertama kita harus menconnectkan Terminal dengan cara pilih sajian Setting kemudian pilih terminal. Setelah itu compile acara diatas jikalau tidak ada fault ketikkan pada 

 sheet yang diberi tanda panah sesuai dengan perintah yang kita buat di acara yaitu pada dikala kita mengetikkan abjad h maka hidup dan mengetikkan abjad k maka mati . Pada dikala mengetikkan abjad h di AVR board lampu push akan hidup menyerupai gambar dibawah ini:

(2)Menerima beberapa Karakter Menggunakan strlen

// Declare your global variables here
char gesekan pena []=("politeknik kampar");
char terima,i;

while (1)  {    
 terima=getchar();
 if(terima=='h')
{
for (i=0;i<strlen(tulisan);i++) // strln untuk menentukan banyak
// karakter//untuk mengetahui panjang tulisan
 {
  putchar(tulisan[i]);
 }
 } 
 }
}

Hasilnya menyerupai gambar dibawah ini:




Gambar. Menerima beberapa abjad menggunakan strlen 

(3) Mengirimkan beberapa graphic symbol ke LCD


#include <mega8535.h>
#include <alcd.h>
#include <stdio.h>
#include <string.h>
#include <delay.h>
char i,h;                      
void main(void) 
{
Untuk inisialisasi yang digunakan sama dengan Program diatas

while (1){   
      while(UCSRA.7){         // inisialisasi USART
      h=UDR;
      i++;   } 
     lcd_gotoxy(i-1,0);         // untuk menentukan kolom dan baris
     lcd_putchar(h);             // mengirimkan character
     if (h==0x08) {               // 0x08adalah nilai dari ASCII
     lcd_clear();                   // membersihkan
     i=0;
     h=0x20 ; }                    // 0x20 nilai ASCII dari space

Hasilnya menyerupai gambar dibawah ini:





Gambar. Mengirimkan beberapa graphic symbol ke LCD

Catatan: pada acara ini tidak mampu membuat graphic symbol ke baris ke dua , untuk mengirimkan graphic symbol perbaris programnya menyerupai acara ke four dibawah ini.
(4) Mengirimkan Karakter Perbaris 



while (1){   
    while(UCSRA.7){       // Inisialisasi USART
     h=getchar();             // mendapatkan graphic symbol dan disimpan di variable h
     i++;           }              // akan membaca nilai di lastly
    if(i>8)                     {            // fungsinya untuk mempersingkat program
          lcd_gotoxy(i-9,1);                        // ditampilkan di lcd berdasarkan kolom & baris
          lcd_putchar(h);}              // mengirimkan character
     else           {                           // maka
           lcd_gotoxy(i-1,0);                       // ditampilkan berdasarkan kolom dan baris
           lcd_putchar(h);               // mengirimkan character
     if (h==0x08) {                                  
          lcd_clear();
          i=0;
          h=0x20; }                          // ASCII dari space   
                      }
}
}

Hasilnya menyerupai gambar dibawah ini:


Gambar. Mengirimkan graphic symbol per baris 



Belum ada Komentar untuk "Cara Melaksanakan Inisialisasi Pada Komunikasi Serial Usart Mikrokontroler Avr (Praktikum V)"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel