2.3.5.2 Mode Operasi
1. Mode normal, timer digunakan untuk menghitung saja, membuat delay, danmengitung selang waktu [10].
2. Mode phase correct PWM PCP, digunakan untuk menghasilkan sinyal PWM dimana nilai register counter TCNT0 yang mencacah naik dan turun secara terus
menerus akan selalu dibandingakan dengan register pembanding OCR0 [5]. Hasil perbandingan register TCNT0 dan OCR0 digunakan untuk membangkitkan sinyal
PWM yang dikeluarkan pada OC0 seperti ditunjukan Gambar 2.5.
Gambar 2.5. Mode Phase Correct PWM [6]
3. CTC Clear timer on compare match, register counter TCNT0 akan mencacah naik kemudian di-reset atau kembali menjadi 0x00 pada saat nilai TCNT0 sama dengan
OCR0. Sebelumnya OCR diset dulu, karena timer 0 dan 2 maksimumnya 255, maka range OCR 0-255 [7].
4. Fast PWM, mode ini hampir sama dengan mode phase correct PWM, hanya perbedaannya adalah registercounter TCNT0 mencacah naik saja dan tidak pernah
mencacah turun seperti terlihat pada Gambar 2.6 [7].
Gambar 2.6. Mode Fast PWM [6]
2.3.6. Komunikasi Serial USART [6]
Komunikasi data adalah perpindahan data antara dua atau lebih peranti, baik yang berjauhan maupun yang berdekatan. Perpindahan data antara dua atau lebih peranti dapat
dilaksanakan secara paralel atau seri. Komunikasi seri dapat dibedakan menjadi 2 macam, yaitu komunikasi dara seri sinkron dan komunikasi data asinkron. Dikatakan sinkron jika sisi
pengirim dan sisi penerima ditabuh clocked oleh penabuh clock yang sama, satu sumber penabuh, data dikirim beserta penabuh. Dikatakan asinkron jika sisi pengirim dan sisi
penerima ditabuh oleh penabuh yang terpisah dengan frekuensi yang hampir sama, data dikirim disertai informasi sinkronisasi.
Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki baudrate yang sama. Beberapa fasilitas yang disediakan USART AVR adalah sebagai berikut:
a Operasi full duplex mempunyai register receive dan transmit yang terpisah b Mendukung kecepatan multiprosesor
c Mode kecepatan berorde Mbps d Operasi asinkron atau sinkron
e Operasi master atau slave clock sinkron f Dapat menghasilkan baud-rate laju data dengan resolusi tinggi
g Modus komunikasi kecepatan ganda pada asinkron
2.3.6.1.Inisialisasi USART
Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART dilakukan dengan cara mengaktifkan register-register yang digunakan untuk komunikasi
USART. Register-register yang digunakan untuk komunikasi USART antara lain:
1. USART IO Data Register UDR
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 seperti pada gambar 2.7.
Gambar 2.7. Register UDR [6]
Gambar 2.8. Register UCSRA [6] Penjelasan bit penyusun UCSRA pada gambar 2.8:
a RXC USART Receive Complete Bit ini akan set ketika data yang masuk ke dalam UDR belum dibaca dan akan
berlogika nol ketika sudah dibaca. Flag ini dapat digunakan untuk membangkitkan interupsi RX jika diaktifkan dan akan berlogika nol secara otomatis bersamaan
dengan eksekusi vektor interupsi yang bersangkutan. b TXC USART Transmit Complete
Bit ini akan set ketika data yang dikirim telah keluar. Flag ini akan membangkitkan interupsi TX jika diaktifkan dan akan clear secara otomatis bersamaan dengan
eksekusi vektor interupsi yang bersangkutan. c UDRE USART Data Register Empty
Flag ini sebagai indikator isi UDR. Jika bernilai satu maka UDR dalam keadaan kosong dan siap menerima data berikutnya, jika flag bernilai nol berarti sebaliknya.
d FE Frame Error Bit ini sebagai indikator ketika data yang diterima error, misalnya ketika stop bit
pertama data dibaca berlogika nol maka bit FE bernilai satu. Bit akan bernilai 0 ketika stop bit data yang diterima berlogika nol.
e DOR Data OverRun Bit ini berfungsi untuk mendeteksi jika ada data yang tumpang tindih. Flag akan
bernilai satu ketika terjadi tumpang tindih data. f PE Parity Error
Bit yang menentukan apakah terjadi kesalahan paritas. Bit ini berfungsi jika ada kesalahan paritas. Bit akan berlogika satu ketika terjadi bit parity error apabila bit
paritas digunakan. g U2X Double the USART Transmission Speed
Bit yang berfungsi untuk menggandakan laju data manjadi dua kalinya. Hanya berlaku untuk modus asinkron, untuk mode sinkron bit ini diset nol.
h MPCM Multi Processor Communication Mode Bit untuk mengaktifkan modus multi prosesor, dimana ketika data yang diterima oleh
USART tidak mengandung informasi alamat akan diabaikan.
2. USART CONTROL AND STATUS REGISTER B UCSRB
Gambar 2.9. Register UCSRB [6] Penjelasan bit penyusun UCSRB pada gambar 2.9:
a RXCIE RX Complete Interrupt Enable Bit pengatur aktivasi interupsi penerimaan data serial, akan berlogika satu jika
diaktifkan dan berlogika nol jika tidak diaktifkan. b TXCIE TX Complete Interrupt Enable
Bit pengatur aktivasi pengiriman data serial, akan berlogika satu jika diaktifkan dan berlogika nol jika tidak diaktifkan.
c UDRIE USART Data Register Empty Interrupt Enable