BAB II LANDASAN TEORI 2.1 Mikrokontroller ATMEGA 8535 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. Mikrokontroller umumnya bekerja pada frekuensi 4MHz – 40MHz. Perangkat ini sering digunakan untuk kebutuhan kontrol tertentu seperti pada sebuah penggerak motor. ROM (Read Only Memory) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dengan keperluannya, sesuai dengan susunan MCS-51. Memori penyimpanan program dinamakan sebagai memory program. RAM (Random Acces Memory) isinya akan begitu sirna jika IC kehilangan catu dayadan dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data. ATMEGA 8535 memiliki dua jenis memori, yaitu program memory dan data memory ditambah satu fitur tambahan yaitu EEPROM memory untuk penyimpan data. ATMEGA 8535 memiliki On-Chip In-System Reprogrammable Flash Memory untuk menyimpan program. Untuk alasan keamanan, program memory dibagi menjadi dua bagian, yaitu Boot Flash Section dan Application Flash Section. Boot Flash Section digunakan untuk menyimpan program Boot Loader, yaitu program yang harus dijalankan pada saat AVR reset atau pertama kali diaktifkan. Application Flash Section digunakan untuk menyimpan program aplikasi yang dibuat user. AVR tidak dapat menjalankan program aplikasi ini sebelum menjalankan program Boot Loader. Besarnya memori Boot Flash Section dapat 4 Universitas Sumatera Utara diprogram dari 128 kata sampai 1024 kata tergantung setting pada konfigurasi bit di register BOOTSZ. Jika Boot Loader diproteksi, maka program pada Application Flash Section juga sudah aman. Gambar 2.1. Program Memory Gambar dibawah ini menunjukkan peta memori SRAM pada ATMEGA 8535. Terdapat 608 lokasi address data memori. 96 lokasi address digunakanuntuk Register File dan I/O memory sementara 512 likasi address lainnya digunakan untuk internal data SRAM. Register file terdiri dari 32 general purpose working register, I/O register terdiridari 64 register. Gambar 2.2. Data Memory 5 Universitas Sumatera Utara ATMEGA 8535 memiliki EEPROM 8 bit sebesar 512 byte untuk menyimpan data. Lokasinya terpisah dengan system address register, data register dan control register yang dibuat khusus untuk EEPROM. Alamat EEPROM dimulai dari $000 sampai $1FF. 2.1.1 Sistem Minimum Mikrokontroller Sistem minimum mikrokontroller merupakan suatu rangkaian yang dirancang dengan menggunakan komponen-komponen seminimum mungkin untuk mendukung kerja mikrokontroller sesuai yang kita inginkan. Berbeda dengan sistem minimum mikroprosesor, sistem minimum mikrokontroller ini memiliki pendukung input/output yang programable dan RAM yang On-Chip. Sistem minimum ini dapat dibuat sangat fleksibel tergantung aplikasi yang akan dibuat. 2.1.2 Blok-Blok Sistem Minimum Mikrokontroller Blok-blok yang terdapat pada sistem minimum mikrokontroller adalah sebagai berikut: a.Mikrokontroller Merupakan salah satu bentuk aplikasi teknologi semikonduktor dengan kandungan transistor lebih banyak namun dengan harga yang jauh lebih murah bila dibandingkan dengan mikroprosesor. System mikrokontroler hanya dapat menangani satu program aplikasi mengingat memorinya yang sangat terbatas. Bisa dikatakan, mikrokontroler adalah versi mini atau mikro dari sebuah computer karena mikrokontroler sudah mengandung beberapa peripheral yang langsung bisa dimanfaatkan, misalnya port parallel, port serial, komparator, konversi analog ke digital (ADC) dan sebagainya hanya menggunakan system minimum yang tidak rumit dan tidak kompleks. 6 Universitas Sumatera Utara b. Catu Daya Blok ini berfungsi untuk memberikan tegangan catuan kesisminimum sebesar 5 Volt. Blok catu daya terdiri dari regulator 7805, kapasitor, resistor, dan indikator LED. c. Input/Output Blok ini berfungsi sebagai input dan output. Blok ini terdiri dari blok input (push button dan keypad) dan pada blok output (LED dan LCD). d. Osilator Blok ini berfungsi untuk membangkitkan sinyal clock. Blok oscillator terdiri dari kapasitor keramik dan kristal. e. Serial Blok ini digunakan untuk mengirimkan data secara serial. Blok serial terdiri dari IC MAX 232 dan port serial (DB 9). MAX232 merupakan komponen untuk mengubah tegangan level TTL menjadi lebih tinggi ke level RS232 sebelum data tersebut ditransmisikan secara serial. Tujuan dari MAX232 adalah agar data yang dikirimkan tersebut tidak habis di tengah jalan. 2.2 Fitur ATMEGA 8535 Kapabilitas detail dari ATMEGA 8535 adalah sebagai berikut : 1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16MHz. 7 Universitas Sumatera Utara 2. Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte, dengan EEPROM (Elektrically Erasable Programable Read Only Memory) sebesar 512 byte. 3. ADC internal dengan fidelitas 10 bit sebanyak 8 chanel. 4. Portal komunikasai serial (USART) dengan kecepatan maksimal 2,5 Mbps. 5. Enam pilihan mode sleep menghemat menggunakan daya listrik. 2.3 Konfigurasi ATMEGA 8535 Konfigurasi pin ATMEGA 8535 bisa dilihat pada gambar dibawah ini. Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMEGA 8535 sebagai berikut : 1. VCC merupan pin yang berfungsi sebagai pin masukan catu daya. 2. GND merupakan pin ground. 3. Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC. 4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, komparator analog, dan SPI. 5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Oscilat. 6. Port D (PD0..PD7) merupakan pin I/O dua arah dan fungsi khusus, yaitu komparator analog, interupsi eksternal, komunikasi serial. 7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroller. 8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal. 9. AVCC merupakan masukan tegangan untuk ADC, 8 Universitas Sumatera Utara 10. AREF merupakan pin masukan tegangan referensi ADC. Gambar 2.3. Pin ATMEGA 8535 Berikut adalah penjelasan fungsi tiap kaki : 1. PORT A Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per-bit). Output buffer Port A dapat memberi arus 20mA dan dapat mengendalikan display LED secara langsung. Data Direction Register Port A (DDRA) harus disetting terlebih dahulu sebelum port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai ouput. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal analog bagi A/D converter. 2. PORT B Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per-bit). Output buffer port B dapat memberi arus 20mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus disetting terlebih dahulu sebelum port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. pin-pin port B juga 9 Universitas Sumatera Utara memiliki untuk fungsi-fungsi alternatif khusus seperti yang terlihat pada tabel berikut. Tabel 2.3 Konfigurasi pin Port B ATMEGA 8535 PORT PIN FUNGSI KHUSUS PB0 T0 = timer/counter 0 external counter input PB1 T1 = timer/counter 0 external counter input PB2 AINO = analog comparator positive input PB3 AINI = analog comparator negative input PB4 SS = SPI slave selec input PB5 MOSI = SPI bus master output/slave input PB6 MISO = SPI bus serial input/slave output PB7 SCK = SPI bus serial clock 3. PORT C Merupakan 8-bit directional Port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per-bit). Output buffer Port C Dapat memberikan arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus disetting terlebih dahulu sebelum port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, DUA pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai ocilator untuk timer/counter2. 4. PORT D Merupakan 8-bit directional Port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per-bit). Output buffer Port D Dapat memberikan arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus disetting terlebih dahulu sebelum port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D 10 Universitas Sumatera Utara yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, DUA pin port D juga memiliki untuk fungsi-fungsi alternatif khusus. Tabel 2.4. Konfigurasi Pin Port D ATMEGA 8535 PORT PIN FUNGSI KHUSUS PD0 RDX (UART input line) PD1 TDX (UART output line) PD2 INT0 (external interrup 0 input) PD3 INT1 (external interrup 1 input) PD4 OC1B (Timer/Counter1 output compareB macth output PD5 OC1A (Timer/Counter1 output compareA macth ouput PD6 ICP (Timer/Counter1 input capture pin) PD7 OC2 (Timer/Counter2 output compare macth output 5. RESET RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka sistem akan di-reset. 6. XTAL1 XTAL1 adalah masukan ke inverting oscilator amplifier dan input ke internal clock operating circuit. 7. XTAL2 XTAL2 adalah output dari inverting oscilator amplifier. 8. AVCC AVCC adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke VCC melalui lowpass filter. 11 Universitas Sumatera Utara 9. AREF AREF adalah kaki masukan referensi bagi A/D Counverter. Untuk operasional ADC, suatu level tegangan antara AGND dan AVCC harus diberikan ke kaki ini. 10 AGND AGND adalah kaki untuk analog groud. Hubungkan kaki ini ke GND, kecuali jika board memiliki analog ground yang terpisah. 2.4 Seven segment Peraga / penampil 7 segmen adalah komponen elektronika yang berfungsi untuk mengkodekan data dari bahasa mesin kedalam bentuk tampilan data desimal. Peraga / penampil 7 segmen pada dasarnya adalah konfigarasi LED yang disusun sedemikian rupa sehingga nyala dari LED tersebut dapat membentuk karakter angka desimal. Struktur tampilan dari peraga / penampil 7 segmen tersebut dilabelkan dari a sampai g yang dapat menampilkan 10 karakter bilangan decimal pertama dari 0 sampai 9. Konstruksi dari penampil 7 segmen ditunjukan pada gambar2.4. Gambar Konstruksi peraga / penampil 7 Segmen merupakan susunan dari beberapa LED yang disusun sedemikian rupa sehingga menghasilkan konstruksi seperti diatas. Untuk menggunakan peraga / penampil 7 segmen katoda bersama (common cathoda) maka pin A – G penampil 7 segment harus diberikan input berupa tegangan DC positif kemudian terminal common pada penampil 7 segmen dihubungkan ke ground. Kemudian untuk mengoperasikan penampil 7 segmen anoda bersama (common anoda) maka terminal input A – G pada penampil 7 segmen harus dihubungkan ke ground kemudian terminal common dihubungkan kesumber tegangan DC positif. Resistor pembatas arus untuk LED pada penampil 7 segmen sebaiknya dipasang seri pada setiap pin atau jalur input A – G pada peraga / penampil 7 segmen tersebut. Pemasangan resistor sepert iini bertujuan 12 Universitas Sumatera Utara untuk mendapatkan arus bias LED yang stabil pada setiap perubahan karakter tampilan pada penampil 7 segment. Gambar 2.4 konfigusari 7 segment 2.5 Program Codvision AVR Untuk megaktifkan micro sistem akusisi data, penerima sinyal control dan sistem transmisi data maka terlebih dahulu mikrokontroller tersebut diberi program dengan cara mendownload program yang terlebih dahulu kita buat dengan bahasa C pada Code Vision AVR. Gambar 2.5 Code Vision AVR 13 Universitas Sumatera Utara Software Code Vision AVR merupakan C Compiler untuk mikrokontroller AVR. Pada Code Vision telah disediakan editor yang berfungsi untuk membuat program dalam bahasa C, setelah melakukan proses kompilasi kita dapat mengisikan program yang telah dibuat kedalam memori mikrokontroller menggunakan programmer yang telah disediakan oleh Code Vision AVR. Programmer yang didukung oleh Code Vision Programmer Cable dapat diintegrasik dengan Code Vision AVR, terlebih dahulu harus dilakukan konfigurasi sebagai berikut : - Jalankan software Code Vision AVR. - Pilih menu setting. Programmer. - Pilih tipe programmer. - Lalu klik tombol OK. Catatan: Proses ini hanya dapat dilakukan pada saat ada project yang telah dibuat atau dibuka. Tekan Shift+F9, download ke target board dengan cara klik pada tombol program. 2.6 SENSOR LM 35 Sensor suhu (temperature) pada tugas akhir ini menggunakan LM35, dimana output dari LM35 ini dapat memberikan output 8-bit datayang menyatakan kondisi perubahan dari suhu lingkungan. Setiap terjadi perubahan suhu maka akan terjadi perubahan data output yang dihasilkan, dimana perubahan tersebut berupa perbedaan tegangan yang dihasilkan. LM 35 memiliki kelebihankelebihan sebagai berikut. Dikalibrasi langsung dalam celcius memiliki faktor skala linear + 10.0 mV/°C, memiliki ketepatan 0,5°C pada suhu +25°C seperti terlihat pada gambar 2.6 jangkauan maksimal suhu antara -55° sampai +150°C, cocok untuk aplikasi jarak jauh, harga yang cukup murah, bekerja pada tegangan catu 4 sampai 30 Volt memiliki arus drain kurang dari 60 uA pemanasan sendiri yang lambat (low self – heating), 0,08°C diudara diam ketidak linearan hanya 14 Universitas Sumatera Utara sekitar ± 1,4°C; dan memiliki impedansi keluaran yang kecil, 0,1 W untuk beban 1 mA. Gambar 2.6 Sensor LM 35 Grafik Hubungan Akurasi Terhadap Suhu Untuk Sensor LM35 15 Universitas Sumatera Utara