ATMega8535 Perancangan Alat Kontrol Kran Air Wudhu Menggunakan Sistem Sensor Ultrasonik US-016 Berbasis ATmega8535

 PIN 3 : Out Analog tegangan output pin out , tegangan analog sebanding dengan jarak pengukuran, rentang output adalah 0 ~ Vcc  PIN 4 : Ground Terhubung ke sirkuit eksternal.

2.2 ATMega8535

ATMega8535 adalah mikrokontroler CMOS 8 bit daya rendah berbasis arsitektur RISC. Instruksi dikerjakan pada satu siklus clock, ATMega8535 mempunyai throughput mendekati 1 MIPS per MHz, hal ini membuat ATMega8535 dapat bekerja dengan kecepatan tinggi walaupun dengan penggunaan daya rendah. Mikrokontroler ATmega8535 memiliki beberapa fitur atau spesifikasi yang menjadikannya sebuah solusi pengendali yang efektif untuk berbagai keperluan. Fitur-fitur tersebut antara lain: 1. Saluran IO sebanyak 32 buah, yang terdiri atas Port A, B, C dan D 2. ADC Analog to Digital Converter 3. Tiga buah TimerCounter dengan kemampuan perbandingan 4. CPU yang terdiri atas 32 register 5. Watchdog Timer dengan osilator internal 6. SRAM sebesar 512 byte 7. Memori Flash sebesar 8kb dengan kemampuan read while write 8. Unit Interupsi Internal dan External 9. Port antarmuka SPI untuk men-download program ke flash 10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi 11. Antarmuka komparator analog 12. Port USART untuk komunikasi serial. Mikrokontroler merupakan sebuah single chip yang didalamya telah dilengkapi dengan CPU Central Prosessing Unit; RAM RandomAcces Memory; ROM Read only Memory , Input, dan Output, Timer\ Counter, Serial com port secara spesifik digunakan untuk aplikasi –aplikasi control dan buka aplikasi serbaguna. Mikrokontroler umumnya bekerja pada frekuensi 4MHZ-40MHZ. Perangkat ini sering digunakan untuk kebutuhan kontrol tertentu seperti pada sebuah penggerak Universitas Sumatera Utara motor. Read only Memory ROM yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dengan keperluannya, sesuai dengan susunan MCS- 51. Memory penyimpanan program dinamakan sebagai memory program.Random Acces Memory RAM isinya akan begitu sirna IC kehilangan catudaya dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data. Mikrokontroler biasanya dilengkapi dengan UART Universal Asychoronous Receiver Transmitter yaitu port serial komunikasi serial asinkron, USART Universal Asychoronous\Asy choronous Receiver Transmitter yaitu port yang digunakan untuk komunikasi serial asinkron dan asinkron yang kecepatannya 16 kali lebih cepat dari Uart, SPI Serial Port Interface, SCI Serial Communication Interface , Bus RC Intergrated circuit Bus merupakan 2 jalur yang terdapat 8 bit, CAN Control Area Network merupakan standard pengkabelan SAE Society of Automatic Enggineers. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program program pengguna disimpan dalam ruang RAM yang relatif besar,sedangkan rutin-rutin antar muka pernagkat keras disimpan dalm ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM- nya yang besar artinya program control disimpan dalam ROM yang ukurannya relative lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sedrhana sementara, termasuk register-register yang digunakan pada Microctroller yang bersangkutan. Mikrokontroler saat ini sudah dikenal dan digunakan secar luas pada dunia industri. Banyak sekali penelitian atau proyek mahasiswa yang menggunakan berbagai versi mikrokontroler yang dapat dibeli dengan harga yang relative murah. Hal ini dikarenakan produksi misal yang dilakukan oleh para produse chip seperti Atmel, Maxim, dan Microchip. Mikrokontroler saat ini merupakan chip utama pada hampir setiap peralatan elektronika canggih. Alat-alat canggih pun sekarang ini sangat bergantung pada kemampuan mikrokontroler tersebut. Universitas Sumatera Utara

2.2.1 Arsitektur ATMega8535

Gambar 2.3 Diagram Blok Fungsional ATmega8535 Universitas Sumatera Utara

2.2.2 Fitur ATMega 8535

Kapabilitas detail dari ATMega8535 adalah sebagai berikut : 1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16MHz. 2. Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte , dan EEPROM Electrically Erasable Programmable Read Only Memory sebesar 512 byte. 3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel. 4. Portal komunikasi serial USART dengan kecepatan maksimal 2,5 Mbps. 5. Enam pilihan mode sleep menghemat penggunaan daya listrik.

2.2.3 Konfigurasi ATMega 8535

Konfigurasi pin ATMega 8535 bisa dilihat pada gambar 2.2. di bawah ini. Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega 8535 sebagai berikut: 1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya. 2. GND merupakan pin ground. 3. Port A PA0..PA7 merupakan pin IO dua arah dan pin masukan ADC. 4. Port B PB0..PB7 merupakan pin IO dua arah dan 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 Oscilat. 6. Port D PD0.. PD7 merupakan pin IO dua arah dan fungsi khusus, yaitu komparator analog, interupsi eksternal, komunikasi serial. 7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. 8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal. 9. AVCC merupakan pin masukan tegangan untuk ADC. 10. AREF merupakan pin masukan tegangan referensi ADC. Universitas Sumatera Utara Gambar 2.4 Pin ATMega8535 Berikut adalah penjelasan fungsi tiap kaki. 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 20 mA 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 output. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal analog bagi AD coverter. 2. PORT B Merupakan 8 bit directional port IO. setiap pinnya dapat menyediakan internal pull-up resistor dapat diatur per bit. Output buffer Port B dapat memberi arus 20 mA 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 Universitas Sumatera Utara juga memiliki untuk fungsi\fungsi alternatif khusus seperti yang terlihat pada tabel berikut. Tabel 2.1. Konfigurasi Pin Port B ATMega 8535 PORT PIN FUNGSI KHUSUS PB 0 T0 = timer counter 0 external counterinput PB 1 T1 = timercounter 0 external counter input PB 2 AINO = analog comparator positive input PB 3 AINI =analog comparator negative input PB 4 SS = SPI slave select input PB 5 MOSI = SPI bus master outputslave input PB 6 MISO = SPI bus master inputslave output PB 7 SCK = SPI bus serial clock 3. PORT C Merupakan 8-bit directional 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 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 oscilator untuk timercounter 2. 4. PORT D Merupakan 8-bit directional 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 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 Universitas Sumatera Utara yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki untuk fungsi\fungsi alternatif khusus. Tabel 2.2.Konfigurasi Pin Port D ATmega8535 PORT PIN FUNGSI KHUSUS PD 0 RDX UART input line PD 1 TDX UART output line PD 2 INT0 external interrupt 0 input PD 3 INT1 external interrupt 1 input PD 4 OC1B TimerCounter1 output compareB match output PD 5 OC1A TimerCounter1 output compareA match output PD 6 ICP TimerCounter1 input capture pin PD 7 OC2 TimerCounter2 output compare match output 5. RESET RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka system 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 AD Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter. 9. AREF AREF adalah kaki masukan referensi bagi AD Converter. Untuk operasional ADC, suatu level tegangan antara AGND dan Avcc harus diberikan ka kaki ini. 10. AGND Universitas Sumatera Utara AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki analog ground yang terpisah.

2.2.4. Peta Memori

AVR ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register IO, dan 512 byte SRAM Internal. Register keperluan umum menempati space data pada alamat terbawah, yaitu 00 sampai 1F. Sementara itu, register khusus untuk menangani IO dan control terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari 20 hingga 5F. Register tersebut merupakan register yang khusus digunakan mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti contoh register, timercounter, fungsi-fungsi IO, dan sebagainya. Register khusus alamat memori secara lengkap dapat dilihat tabel ini. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi 60 sampai dengan 25F. Konfigurasi memori dapat kita ketahui dimana, memori program yang terletak dalam flash PEROM tersususn dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32-bit, AVR ATMega8535 memiliki KByte 12-bit program Counter PC sehingga mampu mengalamati isi flash. Selain itu AVR ATMega8535 juga memiliki memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari 000sampai 1FF. Dibawah ini adalah gambar memori program AVR ATMega8535.

2.2.5. 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 mikrokontroler. Universitas Sumatera Utara Gambar 2.5 Status Register ATMega 8535 Port IO pada mikrokontroller ATmega8535 dapat difungsikan sebagai input dan juga sebagai output dengan keluaran high atau low.Untuk mengatur fungsi portIO sebagai input ataupun output, perlu dilakukan setting pada DDR dan port. Logika port IO dapat diubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit IO dapat dilakukan menggunakan perintah cbi clear bit IOuntuk menghasilkan output low atau perintah sbi set bit IO untuk menghasilkan output high. Pengubahan secara byte dilakukan dengan perintah in atau out yang menggunakan register bantu. IO merupakan bagian yang paling menarik dan penting untuk diamati karena IO merupakan bagian yang bersangkutan dengan komunikasi mikrokontroller dengan dunia luar. Selain port IO, bagian ini juga menyediakan informasi mengenai berbagai peripheral mikrokontroller yang lain, seperti ADC, EEPROM, UART, dan Timer. Komponen-komponen yang tercakup dalam workspace IO meliputi berbagai register berikut : 1. AD_CONVERTER; register: ADMUX, ADCSR, ADCH, ADCL 2. ANALOG_COMPARATOR; register: ACSR 3. CPU; register: SREG, SPH, SPL, MCUCR, MCUCSR, OSCCAL, SFIOR, SPMCR. 4. EEPROM; register: EEARH, EEARL, EEDR, EECR 5. External_Interrupt; register: GICR, GIFR, MCUCR, MCUCSR 6. PORTA; register: PORTA, DDRA, dan PINA 7. PORTB; register: PORTB, DDRB, dan PINB 8. PORTC; register: PORTC, DDRC, dan PINC 9. PORTD; register: PORTD,DDRD, dan PIND 10. SPI; register: SPDR, SPSR, SPCR 11. TIMER_COUNTER_0; register: TCCR0, TCNT0, OCR0, TIMSK, TIFR, SFIOR Universitas Sumatera Utara 12. TIMER _COUNTER_1; register: TIMSK, TIFR, TCCR1A, TCCR1B, TCNT1H, TCNT1L, OCR1AH, OCR1AL, OCR1BL, ICR1H, 1CR1L 13. TIMER_COUNTER_2; register: TIMSK, TIFR, TCRR2, TCNT2, OCR2, ASSR, SFIOR 14. TWI; register: TWBR, TWCR, TWSR, TWDR, TWAR 15. USART; register: UDR, UCSRA, UCSRB, UCSRC, UBRRH, UBRRL 16. WATCDOG; register: WDTCR Adapun komponen-komponen yang dapat diamati melalui IO pada workspace sebagai berikut : 1. Isi register - R0 sampai dengan R15 - R16 sampai dengan R13 2. Processor - Stack pointer - Program counter - Cycle pointer - X_register - Y_register - Z_register - Frequency - Stop Watch 3. IO AVR Adapun Instruksi IO adalah sebagai berikut : 1. in; membaca data IO Port atau internal peripheral register {Timers, UART, ke dalam register} 2. Out; menulis data sebuah register ke IO Port atau internal peripheral register. 3. Idi load immediate; untuk menulis konstanta ke register sebelum konstanta itu dituliskan ke IO port. 4. Sbi set bit in IO; untuk membuat logika high satu bit IO register. 5. Cbi clear bit in IO; untuk membuat logika low satu bit IO register. Universitas Sumatera Utara 6. Sbic skip if bit in IO is cleared; untuk mengecek apakah bit IO register clear.Jika ya, skip satu perintah dibawahnya. 7. Sbis skip if bit in IO is set; untuk mengecek apakah bit IO register set. Jika ya, skip satu perintah dibawahnya. Data yang dipakai dalam mikrokontroller ATmega8535 dipresentasikan dalam sistem bilangan biner, desimal, dan bilangan heksadesimal. Data yang terdapat di mikrokontroller dapat diolah dengan berbagai operasi aritmatik penjumlahan, pengurangan, dan perkalian maupun operasi nalar AND, OR, dan EOR. AVR ATmega8535 memiliki tiga buah timer, yaitu: 1. Timercounter 0 8 bit 2. Timer counter 1 16 bit 3. Timercounter 2 8 bit Karena ATmega8535 memiliki 8 saluran ADC maka untuk keperluan konversi sinyal analog menjadi data digital yang berasal dari sensor dapat langsung dilakukan prosesor utama. Beberapa karakteristik ADC internal ATmega8535 adalah 1. Mudah dalam pengoperasian. 2. Resolusi 10 bit. 3. Memiliki 8 masukan analog. 4. Konversi pada saat CPU sleep. 5. Interrupt waktu konversi selesai.

2.3 Bahasa BASIC Menggunakan BASCOM-AVR