usart makalah
DESCRIPTION
USARTTRANSCRIPT
LAPORAN SISTEM MIKROKONTROLLER DASAR
Aplikasi Kecepatan Wiper pada Mobil(PROGRAM NGARANG USART)
SEMESTER III
Oleh:
M Febri Firmansyah(JTD 2A 13/ 1341160026)
Dosen Pengajar:AZAM MUZAKHIM IMAMMUDDIN, Ir., MT
JARINGAN TELEKOMUNIKASI DIGITAL
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI MALANG
2015
PENGERTIAN USART
Universal Syncrhronous and Asyncrhronous Serial Receiver and Transmitter (USART) juga merupakan salah satu mode komunikasi serial yang dimiliki oleh ATmega8535. USART merupakan komunikasi yang memiliki fleksibilitas tinggi, yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART.
USART memungkinkan transmisi data baik secara syncrhronous maupun asyncrhronous, sehingga dengan memiliki USART pasti kompatibel dengan UART. Pada ATmega8535, secara umum pengaturan mode syncrhronous maupun asyncrhronous adalah sama. Perbedaannya hanyalah terletak pada sumber clock saja. Jika pada mode syncrhronous masing-masing peripheral memiliki sumber clock sendiri, maka pada mode syncrhronous hanya ada satu sumber clock yang digunakan secara bersama-sama. Dengan demikian, secara hardware untuk mode asyncrhronous hanya membutuhkan 2 pin yaitu TXD dan RXD, sedangkan untuk mode syncrhronous harus 3 pin yaitu TXD, RXD dan XCK.
REGISTER PADA USART
Komunikasi dengan menggunakan USART dapat dilakukan dengan dua cara yaitu dengan mode sinkron dimana pengirim data mengeluarkan pulsa/clock untuk sinkronisasi data, dan yang kedua dengan mode asinkron, dimana pengirim data tidak mengeluarkan pulsa/clock, tetapi untuk proses sinkronisasi memerlukan inisialisasi agar data yang diterima sama dengan data yang dikirimkan. Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki baud rate (laju data) yang sama. Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART dilakukan dengan cara mengaktifkan register2 yang digunakan untuk komunikasi USART. Register register yang dipakai antara lain:
UDR : Merupakan register 8 bit yang terdiri dari 2 buah dengan alamat yang sama, yang digunakan sebagai tempat untuk menyimpan data yang akan dikirimkan (TXB) atau tempat data diterima (RXB) sebelum data tersebut dibaca.
UCSRA: merupakan register 8 bit yang digunakan untuk mengendalikan mode komunikasi USART dan untuk membaca status yang sedang terjadi pada USART.
BitRXC[status]> akan 1 bila ada data di UDR (RXB) yang belum terbaca. Dapat digunakan untuk sumber interupsi, dengan mengeset RXCIE
BitTXC[status]> akan 1 bila ada data di UDR (TXB) yang sudah dikirimkan. Dapat digunakan untuk sumber interupsi, dengan mengeset TXCIE
BitUDRE[status]>akan 1 bila UDR siap untuk menerima data baru.
BitU2X[kendali]> diisi 1 bila kecepatan transmisi data ingin dinaikkan 2kali.
BitMPCM[kendali]>digunakan bila ingin menggunakan komunikasi multiprosesor.
UCSRB: merupakan register 8 bit yang digunakan untuk mengendalikan mode komunikasi USART dan untuk membaca status yang sedang terjadi pada USART.
BitRXCIE[kendali]>digunakan untuk mengaktifkan interupsi yang bersumber dari RXC.
BitTXCIE[kendali]>digunakan untuk mengaktifkan interupsi yang bersumber dari TXC.
BitUDRIE[kendali]>digunakan untuk mengaktifkan interupsi yang bersumber dari UDRE.
BitRXEN[kendali]>digunakan untuk mengaktifkan receiver.
BitTXEN[kendali]>digunakan untuk mengaktifkan transmitter.
BitUCSZ2[kendali]>digunakan untuk menentukan panjang data yang dikirim dalam sekali. Digunakan bersama2 dengan UCSZ1,UCSZ0 pada UCSRC.
BitRXB8[status]>digunakan sebagai penampung data ke 9 pada penerimaan data dengan 9 bit
BitTXB8[status]>digunakan sebagai penampung data ke 9 pada transmisi data dengan 9 bit
UCSC: merupakan register 8 bit yang digunakan untuk mengendalikan mode komunikasi USART dan untuk membaca status yang sedang terjadi pada USART.
BitURSEL[kendali]>digunakan untuk memilih register pada UCSRC dan UBRRH. Dua register ini memiliki alamat yang sama, sehingga untuk proses penulisan memerlukan bantuan URSEL. Bila URSEL=1, maka register yang diisi adalah UCSRC, sedangkan bila URSEL=0, register yang diisi adalah UBRRH. Tidak semua mikrokontroler AVR memiliki URSEL, karena ada yang memiliki register UBRRH dan UCSRC yang beda alamat
BitUMSEL[kendali]>bila 1, maka mode yang dipilih adalah asinkron, 0=sinkron
BitUSBS[kendali]>bila 1, maka stop bit berjumlah 2 bit
BitUCSZ1,UCSZ0[kendali]>bersama2 UCSZ2 digunakan untuk menentukan jumlah bit yang akan dikirimkan dalam sekali pengiriman data.
UBRRL,H: merupakan register 16 bit yang digunakan untuk mengatur laju data (baud rate) pada saat mode komunikasi asinkron.
SCRIPT
LAYOUT PROGRAM
Ini adalah SS program saat pertama kali dijalankan. Jadi semua menyala sementara karena belum ada perintah dari user
Yang kedua setelah user menekan tombol q pada virtual terminal akan menampilkan list program/ petunjuk penggunaan serta menampilkan suhu, keadaan AC dan keterangan pencahayaan sekaligus
Kemudian saat user menekan tombol a, maka lampu akan menyala
Kemudian saat user menekan tombol b, maka lampu akan mati
Kemudian saat user menekan tombol c, maka AC akan menyala
Kemudian saat user menekan tombol c, maka AC akan mati
Kemudian saat user menekan tombol q untuk merefresh keadaan, ketika LM35 mendeteksi suhu >19 dan