Konfigurasi PIN ATMega8535 Lingkungan Kerja Delphi Main Window

11. Antarmuka komparator analog 12. Port USART untuk komukasi serial Secara umum, AVR dapat dikelompokkan mejadi 4 kelas, yaitu keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT89RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. Oleh karena itu, dipergunakan salah satu AVR produk Atmel, yaitu ATMega8535. Selain mudah didapat dan lebih murah ATMega8535 juga memiliki fasilitas yang lengkap untuk tipe AVR ada 3 jeni yaitu ATTiny, AVR klasik, dan ATMega. Perbedaannya hanya pada fasilitas dengan IO yang tersedia serta fasilitas lain seperti ADC, EEPROM, dan lain sebaginya. Salah satu contohnya adalah ATMega8535. Memiliki teknologi RICS dengan kecepatan maksimal 16 MHz membuat ATMega 8535 lebih cepat bila dibandingkan dengan varian MCS 51. Dengan fasilitas yang lengkap tersebut menjadikan ATMega 8535 sebagai mikrokontroler yang powerfull.

2.4.1 Konfigurasi PIN ATMega8535

Gambar 2.6 Konfigurasi Pin ATMega8535 Mikrokontroler atmega8535 mempunyai jumlah pin sebangak 40 buah, dimana 32 pin digunakan untuk keperluan port IO yang dapat menjadi pin inputoutput sesuai konfigurasi. Pada 32 pin tersebut terbagi atas 4 bagian port, Universitas Sumatera Utara yang masing-masingnya terdiri atas 8 pin. Pin-pin lainnya digunakan untuk keperluan rangkaian osilator, supply tegangan, reset,serta tegangan referensi untuk ADC. Untuk lebih jelasnya, konfigurasi pin atmega8535 dapat dilihat pada gambar 2.6. Berikut ini adalah susunan pin-pin dari atmega8535: 1. VCC merupakan pin yang berfungsi sebagai pin masukan catudaya 2. GND merupakan pin Ground 3. Port A PA0..PA7 merupakan pin IO dua arah dan pin masukan ADC 4. Port B PB0..PB7 merupakam pin IO dua arah dam pin fungsi khusus, yaitu TimerCounter, komparator analog, dan SPI 5. Port C PC0..PC7 merupakan pin IO dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Osilator 6. Port D PD0..PD7 merupakan pin IO dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi internal dan komunikasi serial USART 7. Reset merupakan pin yang digunakan untuk mereset mikrokontroller 8. XTAL1 dan XTAL2 merupakan pin masukkan clock eksternal osilator menggunakan kriatal, biasanya dengan frekuensi 11,0592 MHz

2.4.2 Port –Port Pada ATMega8535 dan Fungsinya

2.4.2.1 Port A

Merupakan 8-bit directional port IO. 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 menfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output selain itu, kedelaan pin port A juga digunakan untuk masukan sinyal analog bagi AD converter.

2.4.2.2 Port B

Merupakan 8-bit directional port IO. Setiap pinnya dapat menyediakann 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 Universitas Sumatera Utara Register port B DDRB harus di setting 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 memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut: Tabel 2.1 Fungsi Pin-pin Port B Port Pin Fungsi Khusus PB0 T0 = timercounter 0 eksternal counter input PB1 T1 = timercounter 0 eksternal counter input PB2 AIN0= analog comparator positive input PB3 AIN1= analog comparator negative input PB4 SS = SPI slave select input PB5 MOSI= SPI bus master outputslave input PB6 MISO= SPI bus master inputs;ave output PB7 SCK= SPI bus serial clock

2.4.2.3 Port C

Merupakan 8-bit direction port IO. Setiap pinnya dapat menyediakan internal pull-up resistor dapat diatur per bit. Output buffer Port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Directin Register port C DDRC harus disettimg terlebih dahulu sebelum port C digunakan. Bit-bit DDRC diisi 0 jika memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. selain itu, dua pin pirt C PC6 dan PC7 juga memiliki fungsi alternatif sebagai osilator untuk timercounter.

2.4.2.4 Port D

Merupakan 8-bit direction port IO. Setiap pinnya dapat menyediakan internal pull-up resistor dapat diatur per bit. Output buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Directin Register port D DDRD harus disettimg terlebih dahulu sebelum port D digunakan. Bit-bit DDRC diisi 0 jika memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai output . selain itu, pin-pin port Universitas Sumatera Utara D juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut: Tabel 2.2 Fungsi Pin-pin Port D Port Pin Fungsi Khusus PD0 RDX UART input line PD1 TDX UART output line PD2 INT0 external 0 input PD3 INT1 external 1 input PD4 OCIB timercounter 1 output conpare B match output PD5 OCIA timercounter 1 output compare A match output PD6 ICP timercounter1 input capture pin PD7 OC2 timercounter2 output conpare match output RST pada pin merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka sistem akan di-reset.

2.4.2.5 XTAL1

XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit.

2.4.2.6 XTAL2

XTAL2 adalah output dari inverting oscillator amplifier

2.4.2.7 A Vcc

Avcc adalah kaki masukan tegangan bagi AD converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter.

2.4.2.8 AREF

AREF adalah kaki masukan referensi bagi AD converter. Untuk operationalisasi ADC, suatu level tegangan antara AGND dan Avcc harus diberi ke kaki ini.

2.4.2.9 AGND

Universitas Sumatera Utara AGND adalah kaki untuk analog ground. Hubungan kaki ini ke GND, kecuali jika broad memiliki analog ground yang terpisah.

2.4.3 Peta Memori ATMega853

ATMega8535 memiliki dua jenis memori yaitu Program Memory dan Data Memory ditambah satu fitur tambahan yaitu EEPROM memory untuk penyimpana data.Wardhana,2006

2.4.3.1 Program Memory

ATMega8535 memiliki On-Chip In-System Reprogrammable Flash Memory untuk menyimpan program. Untuk alasam 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 diprogram dari 128 word sampai 1024 word tergantung setting pada konfigurasi bit di register BOOTSZ. Jika Boot Loader diproteksi, maka program pada application flash section juga sudah aman. Agus,2005 Gambar 2.7 Peta memori Program Universitas Sumatera Utara

2.4.3.2 Data memory

Gambar 2.8 Peta Memori Data Gambar berikut menunjukkan peta memori SRAM pada ATMEGA8535. Terdapat 608 lokasi address data memori 96 lokasi address digunakan untuk register file dan IO memory sementara 512 lokasi address lainnya digunakan untuk internal data SRAM. Register file terdiri dari 32 general purpose working register, IO register terdiri dari 64 register.

2.4.3.3 Status Register SREG

Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroller. Gambar 2.9 Status Register ATMega8535 Universitas Sumatera Utara  Bit 7- I : Global Interrupt Enable Jika bit global interrupt enabel diset, maka g=fasilitas interupsi dapat dijalankan. Bit ini akan clear ketika ada interupt yang dipicu dari hardware, setelah program interupt dieksekusi, maka bit ini harus di set kembali dengan interuksi SEI  Bit 6-T : Bit Copy Stroag Interuksi bit copy BLD dan BST menggunakan bit T sebagai sumber atau tujuan dalam operasi bit.  Bit 5-H ; Half carry flag  Bit 4-S : Sign Bit Bit S merupakan hasil exklusive or dari negative flag N dan two’s complement overflow flag V  Bit 3- V : Two’s complement overflow flag Digunakan dalam operasi aritmatika  Bit 2-N : Negative flag Jika operasi aritmatika menghasilkan bilangan negative maka bit ini akan set  Bit 1- Z : Zero Flag Jika operasi aritmatika menghasilkan bilangan nol, maka bit ini akan set  Bit 0-C : Carry Flag Jika suatu operasi menghasilkan Carry, maka bit ini akan set.

2.4.4 Komunikasi Serial

Komunikasi data serial ialah komunikasi dilakukan per bit dengan mengirim dan menerima data 8 bit secara satu per satu, sedsngkan komunikasi data paralel dilakukan dengan mengirimkan dan menerima data 8 bit secara bersamaan atau sekaligus. Paralel adalah sistem pengiriman data digital, dimana beberapa bit data dikirim pada suatu saat dengan jalur terpisah. Dikenal 2 cara komunikasi data serial, yaitu komunikasi data serial sinkron dan komunikasi serial asinkron. Pada komunikasi data serial sinkron, clock dikirimkan bersama-sama dengan data serial tetapi clock tersebut dibangkitkan sendiri-sendiri baik pada sisi pengirim maupun Universitas Sumatera Utara sisi penerima. Sedangkan komunikasi data serial asinkron tidak diperlukan clock karena data dikirimkan dengan kecepatan tertentu. Baik pada pengirim maupun penerima.

2.4.4.1 Komunikasi Serial pada ATMega8535

Peralatan komunikasi serial pada Atmega8535 sudah terintegrasi pada system chip. Dan masing-masing registernya baik data maupun kontrol dihubungkan dengan register input-output atau port, sebagaimana peralatan lainnya. Sehingga user kita cukup hanya mengaskses register-register yang berhubungan dengan serial inilah untuk mempengaruhi atau memanipu;asi peralatan tersebut. Data dikirim melalui bebrapa jalur data. Biasanya masing-masing dengan kabel tersendiri. Pada prinsipnya register-register peralatan ini hanya 5 buah. UDR, UCSRA, UCSRB, dan UBRR. USART merupakan komunikasi yang memiliki fleksibelitas tinggi, yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroller maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART.Wardhana,2006

2.5 Modul Wireless

LAN nirkabel adalah suatu jaringan nirkabel yang menggunakan frekuensi radio untuk komunikasi antara perangkat komputer dan akhirnya titik akses yang merupakan dasar dari transiver radio dua arah yang tipikalnya bekerja di bandwith 2,4 GHz 802.11b, 802.11g atau 5 GHz 802.11a. kebanyakan peralatan mempunyaai kualifikasi Wi-Fi, IEEE 802.11b atau akomodasi IEEE 802.11g dan menawarkan beberapa level keamanan seperti WEP dan atau WPA. Teknologi Wireless LAN menjadi sangat popular daat ini banyak aplikasi.Setelah evaluasi terhadap teknologi tersebut dilakukan, menjadikan para pengguna merasa puas dan meyakini realiability teknologi ini dan siap untuk digunakan dalam skala luas dan komplek pada jaringan tanpa kabel.Mulyanta,2007 Adapun kelebihan wireless: Universitas Sumatera Utara  Mobility, sistem wireless LAN bisa menyediakan user dengan informasi access yang real-time, dimana saja dalam suatu organisasi. Mobilitas semacam ini sangat mendukung produktivitas dan peningkatan kualitas pelayanan apabila dibandingkan dengan jaringan kabel.  Installation speed and simplicity, instalasi sistem wireless LAN bisa cepat dan sangat mudah dan bisa mengeliminasi kebutuhan penarikan kabel yang memalui atap atau pun tembok  Installation flexibility, teknologi wireless memungkinkan suatu jaringan untuk bisa mencapai tempat-tempat yang tidak dapat dicapai dengan jaringan kabel.  Reduced cost-of-ownership, meskipun investasi awal yang dibutuhkan oleh wireless LAN untuk membeli perangkat hardware bisa lebih tinggi daripada biaya yang dibutuhkan oleh perangkat wire LAN hardware, namun bila di perhitungkan secara keseluruhan, instalasi dan life-cycle costnya, maka secara signifikan lebih murah. Dan bila digunakan dalam lingkungan kerja yang dinamis yang sangat membutuhkan seringnya pergerakan dan perubahan yang sering maka keuntungan jangka panjanganya pada suatu wireless LAN akan jauh kebih besar bila dibandingkan dengan wired LAN.  Scalability, sistem wireless LAN bisa dikonfigurasi dalam berbagai macam topologi untuk memenuhi kebutuhan pangguna yang beragam, konfigurasi dapat dengan mudah diubah mulai dari jaringan peer-to-peer yang sesuai untuk jumlah pengguna yang kecil sampai ke full infrastructure network yang mampu melayani ribuan user dan memungkinkan roaming dalam area yang luas.

2.6 Bahasa Pemograman Mikrokontroller dengan CodeVisionAVR

Bahasa poemograman CodeVisionAVR merupakan software C-cross compiler dimana program dapat ditulis dengan menggunakan bahasa C. Selain tersedia dalam versi berbayar dengan lisensi, juga terdapat versi evalution yang bisa digunakan tanpa lisendi, namun dengan fungsi yang terbatas. CodeVisionAVR memiliki IDE Intrgrated Development Environment yang lengkap, dimana Universitas Sumatera Utara penulisan program, compile, link, pembuatan kode mesin assembler dan download program ke chip AVR dapat dilakukan dengan CodeVision, selain itu ada fasilitas terminal, yaitu melakukan komunikasi serial dengan mikrokontroller yang sudah di program. Proses download program ke IC mikrokontroller AVR dapat mengggunakan System programmable Flash on-Chip mengizinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI. Salah satu keistinewaan bahasa pemograman CodeVision ini adalah memiliki library standart C dan library tertentu untuk keperluam sebagai berikut: a. Modul LDC alphanumeric b. Bus I2C dari philips c. Sensor suhu LM75 dari National Semiconductor d. Real-Time Clock: PCF8563, PCF8583 dari philips, DSI 302 dan DSI307 dari maximdallas semiconductor e. Protokol 1-Wire dari maximdallas semiconductor f. Sensor suhu DS1820, DS18S20, dan DS18B20 dari MaximDallas Semiconductor g. TermometerTermostat DS1621 dari MaximDallas Semiconductor h. EEPROM DS2430 dan DS2433 dari MaximDallas Semiconductor i. SPI j. Power management k. Delay l. Konversi ke Kode Gray CodeVisionAVR juga mempunyai Automatic Program Generator bernama CodeWizardAVR, yang dapat nenpermudah programmer dalam menulis kode- kode program yang bersifat umum, antara lain: a. Set-up akses memori eksternal b. Inisialisasi port inputoutput c. Inisialisasi interupsi eksternal d. Inisialisasi timercounter e. Inisialisasi Watchdog-Timer f. Inisialisasi UART USART dan komunikasi serial berbasis buffer yang digerakkan oleh interupsi Universitas Sumatera Utara g. Inisialisasi perbandingan analog h. Inisialisasi ADC i. Inisialisasi Antarmuka SPI j. Inisialisasi Antarmuka Two-Wire k. Inisialisasi Antarmuka CAN l. Inisialisasi Bus I2C, Sensor Suhu LM375, ThermometerThermostat DS1621 dan Real-Time Clock PCF8563, PCF8583, DS1307, dan DS1320 m. Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20 n. Inisialisasi modul LCD. Setiawan,.2001

2.7 Delphi7

Delphi adalah sebuah bahasa pemrograman dan lingkungan pengembangan perangkat lunak. Produk ini dikembangkan oleh CodeGear sebagai divisi pengembangan perangkat lunak milik Embarcadero, divisi tersebut sebelumnya adalah milik Borland. Bahasa Delphi, atau dikenal pula sebagai OBJECT PASCAL pascal dengan ekstensi pemrograman berorientasi objek PBOOOP pada mulanya ditujukan hanya untuk Microsoft Windows, namun saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk Linux dan Microsoft .NET framework. Dengan menggunakan Free Pascal yang merupakan proyek opensource, bahasa ini dapat pula digunakan untuk membuat program yang berjalan di sistem operasi Mac OS X dan Windows CE. Delphi adalah sebuah perangkat lunak bahasa pemrograman untuk membuat program atau aplikasi komputer berbasis windows. Delphi merupakan bahasa pemrograman berbasis obyek, artinya semua komponen yang ada merupakan obyek – obyek. Ciri sebuah obyek adalah memiliki nama, properti, dan method prosedur

2.7.1 Lingkungan Kerja Delphi

Lingkungan pengembangan terpadu atau Integrated Development Environment IDE. IDE merupakan sebuah lingkungan dimana semua tombol perintah yang Universitas Sumatera Utara diperlukan untuk mendesain aplikasi, menjalankan dan menguji apakah sebuah aplikasi disajikan dengan baik untuk memudahkan pengembangan program Madcoms, 2003. IDE Delphi terbagi menjadi enam bagian utama, yaitu Main Window, ToolBar, Component Palette, Form Designer, Code Editor, dan Object