Register USART
AVR USART (Universal Synchronous Asynchronous Receiver Transmitter) adalah komunikasi serial dua arah yang terdapat di AVR yang melibatkan register register sbb:
Gambar 5.2: Register Penyusun USART
Dari Gambar Register dapat dibagi menjadi beberapa blok yaitu: Register USART
Gambar 5.3: Diagram Penyusun USART
5.4.1 Register UCSRA
Bit 7 RXC: USART Receive Complete, RXC otomatis akan bernilai 1, jika ada data baru di bufer penerima. RXC otomatis akan bernilai 0, jika data sudah dibaca atau bufer penerima kosong.
Bit 6 TXC: USART Transmit Complete, TXC otomatis akan bernilai 1, jika data di bu er selesai dikirim.
Bit 5 UDRE: USART Data Register Empty, UDRE otomatis akan bernilai 1 , jika register UDR kosong transmiter siap mengirim data. UDRE=0, UDR berisi data yg belum selesai dikirim .
Bit 4 FE: Frame Error, FE otomatis akan bernilai 1, jika ada frame eror.
Bit 3 DOR: Data OverRun, DOR otomatis akan bernilai 1, jika data datang ketika bufer penuh(terjadi antrian).
Bit 2 PE: Parity Error, PE otomatis akan bernilai 1, jika terjadi parity eror.
Bit 1 U2X: Double the USART Transmission Speed, kita set U2X=0, kecepatan normal. U2X=1 kecepatan 2xbaudrate.
Bit 0 MPCM: Multi-processor Communication Mode, kita set MCM=1 byte pertama yg diterima harus 9 bit , jika tidak data byte akan di-abaikan.bit ini terjadi hanya untuk penerimaan saja pada komunikasi banyak mikrokontroler.
5.4.2 Register UCSRB
Bit 7 RXCIE: RX Complete Interrupt Enable, kita set RXCIE=1 , interupsi receive complete aktif.
Bit 6 TXCIE: TX Complete Interrupt Enable, kita set TXCIE=1, interupsi transmit complete aktif.
Bit 5 UDRIE: USART Data Register Empty Interrupt Enable, kita set UDRIE=1, interupsi UDRE aktip.
Bit 4 RXEN: Receiver Enable, kita set RXEN=1, USART receiver aktif. micon bisa mnerima data.
Bit 3 TXEN: Transmitter Enable, kita set TXEN=1, Usart Transmi-ter aktif. micon bisa mengirim data.
Bit 2 UCSZ2: Character Size, kita set UCSZ2:UCSZ1:UCSZ0 = 011 , panjang data 8 BIT. (bit UCSZ1 dan UCSZ0 ada di register UCSRC)
Bit 1 RXB8: Receive Data Bit 8, RXB8 menjadi bit ke-9 jika panjang data yg diterima 9 bit .
Bit 0 TXB8: Transmit Data Bit 8, TXB8 menjadi bit ke-9 jika pan-jang data yg dikirim 9 bit.
5.4.3 Register UCSRC
Bit 7 URSEL: Register Select . memilih UCSRC atau UBRRH, kita set URSEL=1 , UCSRC aktif ,UBRRH tdk aktif, kita set URSEL=0 , UBRRH aktif , UCRSC tdk aktif.
Bit 6 UMSEL: USART Mode Select, kita set UMSEL=1 , mode syn-ceonous. UMSEL=0 mode asyncronous
Bit 5:4 UPM1:UMP0: Parity Mode,
Bit 3 USBS: Stop Bit Select, kita set USBS=0, stop bit =1 bit , USBS=1 panjang stop bit = 2 bit.
Bit 2:1 UCSZ1:0: Character Size, kita set UCSZ2:UCSZ1:UCSZ0 = 011 , panjang data 8 BIT. (bit UCSZ2 ada di register UCSRB) Fitur pada Serial USART
Bit 0 UCPOL: Clock Polarity bit ini digunakan untuk mode syn-coronous saja, kita set UCPOL=0 trnasmisi clock naik, UCPOL=1 transmisi clock turun. (khusus yg ini dont care krn kita menggunakan mode asyncronous)