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