Sensor Cahaya LDR Light Dependent Resistor

2.3.3.1.Memori Program Kode program disimpan dalam flash memory, yaitu memori jenis non-volatile yang tidak akan hilang datanya meskipun catu daya dimatikan [5]. Dalam ATmega32 terdapat 32Kbyte On-Chip di dalam sistem Memory Flash Reprogrammable untuk penyimpanan program. Untuk keamanan perangkat lunak, flash memori dibagi menjadi dua bagian, yaitu boot program dan bagian aplikasi program [4]. 2.3.3.2.Memori Data Memori data adalah memori RAM Random Access Memory yang digunakan untuk keperluan program. Memori data terdiri dari 32 General Purpose Register GPR yang merupakan register khusus yang bertugas untuk membantu eksekusi program oleh Arithmetic Logic Unit ALU dan IO register dan additional IO register yang difungsikan khusus untuk mengendalikan berbagai peripheral dalam mikrokontroler antara lain pin, port, timercounter, USART . ATmega32 memiliki kapasitas memori data sebesar 608 Byte yang terbagi menjadi 3 bagian yaitu register serba guna, register IO dan SRAM [6]. 2.3.4. Komunikasi Serial USART [4] 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.4.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. Gambar 2.5. Register UDR [4] Gambar 2.6. Register UCSRA [4] Penjelasan bit penyusun UCSRA : 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.