Pengertian 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
Program Kirim Data USART
/***************************************************** 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 : https://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 ISIS program kirim data USART menggunakan codevision sebagai berikut
Makasih bang, banyak membantu
sama2 bang
DS1302 ini merupakan RTC type 2 wire bit-bang. Ada 3 pin yang digunakan untuk berkomunikasi dengan mikrokontroler yaitu SCLK, IO dan RST. Disini kita lebih membahas cara mengakses RTC DS1302 dengan menggunakan STM32 sementara untuk penjelasan dari masing-masing register, kondisi sinyal dan detail dari RTC DS1302 dapat dilihat pada datasheet DS1302.
Jadi kangen sama semua modul2ku.. aahh.. pengen tak aplod ke blog jadinya 😀
diaplod aja mbak ayu, biar saya juga bisa ikutan belajar 😀