LANDASAN TEORI
2.1
Mikrokontroller
Mikrokontroller merupakan sebuah single chip yang didalamnya telah
dilengkapi dengan CPU (Central Processing Unit), RAM (Random Acces Memory),
ROM (Read Only Memory), input dan output, timer/counter, serial com port secara
spesifik digunakan untuk aplikasi-aplikasi control dan buka aplikasi serbaguna. Dengan
kata lain, mikrokontroler adalah suatu alat elektronika digital yang mempunyai
masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus
dengan cara khusus.
2.2
Mikrokontroler Atmega32
Mikrokontroler merupakan suatu device yang di dalamnya sudah terintegrasi
dengan I/O port,RAM,ROM,sehingga dapat digunakan untuk berbagai keperluan
kontroler
.Mikrokontroler
AVR
ATmega32
merupakan
low
power
CMOS
mikrokontroler 8 bit yang di kembangkan oleh atmel dengan arsitektur RISC (Reduced
Instruction SET Computer) sehingga dapat mencapai troughput eksekusi instruksi 1
MIPS (Million Instruction Per Second). Mikrokontroler AVR dapat dikelompokkan
menjadi 4 kelas yaitu kelas ATtiny, kelas AT90xx, keluarga ATmega,dan kelas
AT86RFxx.pada
dasarnya
yang
membedakan
masing-masing
kelas
adalah
dari segi
2.3
Sensor Suara
2.4
LCD (Liquid Crystal Display) adalah suatu jenis media tampilan yang
menggunakan kristal cair sebagai penampil utama. Kegunaan LCD banyak
sekali dalam perancangan suatu sistem dengan menggunakan mikrokontroler,
LCD (Liquid Crysral Display) dapat berfungsi untuk menampilkan suatu nilai
hasil sensor, menampilakan teks, atau menampilakan menu pada aplikasi
mikrokontroler. M1632 merupakan modul LCD matrix dengan konfigurasi 16
karakter dan 2 baris dengan setiap karakternya dibentuk oleh baris pixel dan 5
kolom pixel (1 baris pixel terakhir adalah kursor).
2.5
CodeVision AVR
CodeVision AVR merupakan sebuah software yang digunakan untuk
memprogram mikrokontroler yang sekarang ini telah umum. Mulai dari penggunaan
untuk kontrol sederhana sampai kontrol yang cukup kompleks, mikrokontroler dapat
berfungsi jika telah diisi sebuah program, pengisian program ini dapat dilakukan
menggunakan compiler yang selanjutnya diprogram ke dalam mikrokontroler
menggunakan fasilitas yang sudah di sediakan oleh program tersebut. Salah satu
compiler program yang umum digunakan sekarang ini adalah CodeVision AVR yang
menggunakan bahasa pemrograman C.
codewizard,
fasilitas
ini
memudahkan
kita dalam
inisialisasi
2.6
Bahasa C
Bahasa yang digunakan dalam CodeVisionAVR adalah bahasa C, Bahasa
pemrograman C merupakan salah satu bahasa pemrograman komputer. Dibuat pada
tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone
Laboratories. Meskipun C dibuat untuk memprogram sistem dan jaringan komputer
namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C
juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur
komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia. C
secara luar biasa memengaruhi bahasa populer lainnya, terutama C++ yang merupakan
extensi dari C.
2.6.1
Fungsi main()
Fungsi main merupakan fungsi utama yang wajib ada pada saat kita
membuat program dengan bahasa C. Dalam sebuah project hanya boleh ada 1
buah fungsi main() saja. Namun dalam bahasa C, tidak membatasi hanya boleh 1
fungsi saja, melainkan kita juga diperbolehkan untuk membuat fungsi-fungsi
lain selain fungsi main() yang bisa mempermudah kita dalam membuat sebuah
program.
Deklarasi variabel
Pendeklarasian variabel ini dilakukan untuk mendaftarkan variabel apa
saja yang akan kita gunakan dalam program yang kita buat. Pendeklarasian
variabel ini biasanya sekaligus dengan mencantumkan tipe data dari variabel
tersebut.
Perintah (statement)
Perintah merupakan deretan program yang kita buat dalam sebuah
project.
Akses library
Digunakan untuk mengakses library apa saja yang kita perlukan dalam
pembuatan sebuah program.
Komentar
Komentar merupakan sebuah kalimat yang biasanya dicantumkan oleh
seorang programer sebagai sebuah catatan kecil yang mana komentar ini tidak
akan ikut di compile atau diproses.
2.6.2
Kelebihan
1. C mempunyai operator yang lengkap untuk memanipulasi data.
2. Berbagai struktur data dan pengendalian proses disediakan dalam C, sehingga
memungkinkan dibuat program yang terstruktur, bahkan program yang berorientasi
pada objek (OOP = Object Orientied Programming).
3. Dibanding dengan bahasa mesin atau rakitan (assembly), C jauh lebih mudah
dipahami dan pemrogram tidak perlu tahu detail mesin komputer yang digunakan
sehingga tidak menyita waktu dalam menyelesaikan masalah ke dalam bentuk
program. C merupakan bahasa yang berorientasi pada permasalahan (objek), dan
bukan berorientasi pada mesin.
4. Kecepatan eksekusi C mendekati kecepatan eksekusi program yang dibuat dengan
bahasa tingkat rendah, namum kemudahan dalam memprogram setara dengan
bahasa tingkat tinggi.
5. C memungkinkan memanipulasi data dalam bentuk bit maupun byte secara efisien.
Disamping itu juga memungkinkan untuk melakukan manipulasi alamat dari suatu
data yang dalam C dinamakan pointer.
Kekurangan
2.7
Memiliki model-model peripheral yang interactive seperti LED, tampilan LCD, RS232,
dan berbagai jenis library lainnya.
Memiliki kemampuan menampilkan berbagi jenis analisis secara grafis seperti transient,
frekuensi, noise, distorsi, AC dan DC, dan lain-lainnya.
Mendukung open architecture sehingga kita bisa memasukkan program seperti C++
untuk keperluan simulasi.
Mendukung pembuatan PCB yang di-update secara langsung dari program ISIS ke
program pembuat PCB-ARES.