USART CodevisionAVR [1]: kirim data USART

USART (Universal Synchronous and Ansynchronous Serial Receiver and Transmitter) adalah protokol komunikasi serial antara PC dengan komponen elektronika lainnya, salah satunya adalah mikrokontroler. USART juga digunakan sebagai alat komunikasi antara satu mikrokontroler dengan mikrokontrol lain maupun dengan port expander.

Hal terpenting dalam komunikasi USART antara mikrokontroler (ATMega/PIC/MCS51) dengan PC adalah diperlukannya driver penghubung yaitu IC RS232 yang berfungsi mengkonversi perbedaan logic tegangan pada PC dan mikrokontroler. Hal lain yang perlu diperhatikan adalah setting baudrate dan clock yang digunakan mikrokontroler tersebut.

Sementara jika kita hanya bermaksud melakukan simulasi komunikasi PC dengan Atmega menggunakan Proteus ISIS kita dapat menggunakan virtual terminal maupun compim milik Proteus tanpa menyertakan driver max232.

Program berikut adalah contoh simulasi penggunaan USART untuk mengirimkan data jumlah penekanan tombol PINB.0 ke PC, data akan dikirimkan ke PC setelah tombol tersebut dilepas. Di sisi mikrokontroler, untuk mengecek jumlah penekanan tombol kita dapat menggunakan display led, 7 segment maupun LCD. Dengan demikian pada masing-masing perangkat receiver dan transmiter kita bisa melihat jumlah penekanan tombol yang sama.

Program ini dibuat menggunakan Codevision 2.05 Advanced, dimana untuk setting lcd menggunakan pustaka alcd.h (alphanumeric LCD) sehingga setting port langsung dikelola oleh pustaka tersebut, untuk pengguna codevision versi standar perlu menyesuaikan sesuai setting pustaka lcd.h

/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Advanced

Project : kirim data USART
Version : 1.0
Date    : 5/28/2013
Author  : priyo harjiyono
Company : http://anotherorion.com
Comments: 
kirim data USART dengan codevision AVR
kirim jumlah penekanan tombol PINB.0 ke computer

Chip type               : ATmega16
Program type            : Application
AVR Core Clock frequency: 4.001000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*****************************************************/
#include <mega16.h>
#include <alcd.h>
#include <stdio.h>

void main(void)
{
 char tekan=0;  
 char buff[33];
PORTB=0x00;
DDRB=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=0x19;

ACSR=0x80;
SFIOR=0x00;

// Alphanumeric LCD initialization
// Connections specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTA Bit 0
// RD - PORTA Bit 1
// EN - PORTA Bit 2
// D4 - PORTA Bit 4
// D5 - PORTA Bit 5
// D6 - PORTA Bit 6
// D7 - PORTA Bit 7
// Characters/line: 16
lcd_init(16);
printf("kirim data USART anotherorion.com \r");
printf("tekan tombol untuk mengirim data \r");
while (1)
      {
      // Place your code here
       if(PINB.0==1)
       {                                        
       while (PINB.0==1){} 
       tekan++;
       printf("tombol ditekan %u kali \r",tekan);
       lcd_gotoxy(0,0);
       lcd_putsf("tombol ditekan");
       lcd_gotoxy(0,1);
       sprintf(buff,"%i kali",tekan); 
       lcd_puts(buff);
       } }}

Tampilan proteus ISISnya sebagai berikut

BACA JUGA:   [Buku] Panduan Praktis Mempelajari Aplikasi Mikrokontroler dan Pemrogramannya Menggunakan ARDUINO

transmiter USART codevision AVR

contoh program usart codevision, contoh atmega32 project komunikasi data dengan isis proteus, contoh usart, komunikasi serial usart cv avr, komunikasi USART pada proteus, cara program kirim data ke pc dengan codevision avr, komunikasi serial antar atmega cvavr, pengertian USART pdf, Penggunaan usart untuk pengiriman data jumlah penekanan tombol PINB 0 ke PC, cvavr usart
News Reporter
Priyo Harjiyono, blogger kelahiran Cilacap yang kini menjadi warga Ngayogyakarta Hadiningrat, baginya blog adalah dunia untuk menciptakan mimpi2nya. Saat ini masih disibukkan sebagai pembelajar dalam dunia pendidikan.