Peta Memori Mengkopilasi Program

2.2.3. Peta Memori

AVR ATMega8535 memilii 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 Interanal. Register keperluan umum menempati space data pada alamt terbawah, yaitu 00 sampai 1F. Sementara itu, register khusus untuk menangani IO dan control terhadapmikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari 20 hingga 5F. Register tersebut merupakan register yang khusus digunakan mengatur fungsi terhadap berbagai peripheral mikrokontroller, 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 data ditunjukkan pada gambar dibawah ini: Gambar 2.3. Konfigurasi Memori Data AVR ATMega 8535 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 000 sampai 1FF. Dibawah ini adalah gambar memori program AVR ATMega8535. Universitas Sumatera Utara

2.2.4. 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. Gambar 2.4 Status Register ATMega 8535 1. Bit 7-I: Global Interrupt Enable Bit harus diset untuk meng-enable interupsi. Setelah itu, dapat kita aktifkan interupsi mana yang akan digunakan dengan cara meng-enable bit control register yang bersangkutan secara individu. Bit akan di-clear apabila terjadi suatu interupsi yang dipicu oleh hardware, dan bit tidak akan mengizinkan terjadinya interupsi, serta akan diset kembali oleh instruksi RETI. 2. Bit 6-T:Bit Copy Storage Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit-T dapat disalin kembali ke suatu bit dalam register GPR menggunakan instruksi BLD. 3. Bit 5-H: Half Carry Flag 4. Bit 4-S: Sign Bit Bit-S merupakan hasil operasi EOR antara flag-N negative dan flag V komplemen dua overflow. 5. Bit 3-V: Two’s Complement Overflow Flag Bit berguna untuk mendukung operasi aritmatika. 6. Bit 2-N: Negative Flag Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan diset. 7. Bit 1-Z: Zero Flag Bit akan diset bila hasil operasi yang diperoleh adalah nol. 8. Bit 0-C: Carry Flag Apabila suatu operasi menghasilkan carry, maka bit akan diset. Universitas Sumatera Utara Port IO pada mikrokontroller ATmega8535 dapat difungsikan sebagai input dan juga sebagai output dengan keluaran high atau low.Untuk mengatur fungsi port IO 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 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 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 Universitas Sumatera Utara

2.3 IC

Integrated Circuit IC Integrated Circuit dapat dibedakan menjadi IC Linear, IC Digital dan juga gabungan dari keduanya. IC Linear IC Linear atau disebut juga dengan IC Analog adalah IC yang pada umumnya berfungsi sebagai :  Penguat Daya Power Amplifier  Penguat Sinyal Signal Amplifier  Penguat Operasional Operational Amplifier Op Amp  Penguat Sinyal Mikro Microwave Amplifier  Penguat RF dan IF RF and IF Amplifier  Voltage Comparator  Multiplier  Penerima Frekuensi Radio Radio Receiver IC Digital IC Digital pada dasarnya adalah rangkaian switching yang tegangan Input dan Outputnya hanya memiliki 2 dua level yaitu “Tinggi” dan “Rendah” atau dalam kode binary dilambangkan dengan “1” dan “0”. IC Digital pada umumnya berfungsi sebagai :  Flip-flop  Gerbang Logika Logic Gates  Timer  Counter  Multiplexer  Calculator  Memory  Clock  Microcontroller 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 perkalianmaupun operasi nalar AND, OR, dan EOR eksklusif OR. Universitas Sumatera Utara 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.4 Bahasa Menggunakan Pemrogram Bahasa C

Bahasa C adalah bahasa pemrograman yang dapat dikatakan berada di antara bahasa beraras rendah dan beraras tinggi.Bahasa beraras rendah artinya bahasa yang berorientasi pada mesin dan beraras tinggi berorientasi pada manusia.Bahasa beraras rendah, misalnya bahasa assembler, bahasa ini ditulis dengan sandi yang dimengerti oleh mesin saja, oleh karena itu hanya digunakan bagi yang memprogram mikroprosesor.Bahasa beraras rendah merupakan bahasa yang membutuhkan kecermatan yang teliti bagi pemrogram karena perintahnya harus rinci, ditambah lagi masing-masing pabrik mempunyai sandi perintah sendiri.Bahasa tinggi relatif mudah digunakan, karena ditulis dengan bahasa manusia sehingga mudah dimengerti dan tidak tergantung mesinnya.Bahasa beraras tinggi biasanya digunakan pada komputer. Kelebihan Bahasa C: - Bahasa C tersedia hampir di semua jenis computer. - Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer. - Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci. - Proses executable program bahasa C lebih cepat - Dukungan pustaka yang banyak. - C adalah bahasa yang terstruktur - Bahasa C termasuk bahasa tingkat menengah Universitas Sumatera Utara Penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman yang berorientasi pada mesin.yang merupakan ciri bahasa tingkat rendah, melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat, secepat bahasa mesin. Inilah salah satu kelebihan c yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusi program secepat bahasa tingkat rendah. Kekurangan Bahasa C: - Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai. - Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

2.4.1. Mengkopilasi Program

Suatu source program C baru dapat dijalankan setelah melalui tahap kompilasi dan penggabungan. Tahap kompilasi dimaksudkan untuk memeriksa source-program sesuai dengan kaidah-kaidah yang berlaku di dalam bahasa pemrograman C. Tahap kompilasi akan menghasilkan relocatable object file. File-file objek tersebut kemudian digabung dengan perpustakaan-fungsi yang sesuai. untuk menghasilkan suatu executable-program .Shortcut yang digunakan untuk mengkompile: • ALT + F9 → dipakai untuk melakukan pengecekan jika ada error pada program yang telah kita buat. • CTRL + F9 → dipakai untuk menjalankan program yang telah kita buat atau bisa juga dengan mengklik tombol debug pada tool bar. Gambar 2.5.Kompilasi Program

2.4.2. Struktur Bahasa Pemrograman C