Peta Memori Status Register SREG

AREF adalah kaki masukan referensi bagi AD Converter. Untuk operasional ADC, suatu level tegangan antara AGND dan Avcc harus diberikan kaki ini. 10. GND GND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki analog ground yang terpisah.

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 terhadap mikrokontroler 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, t imercounter, 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 12 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.

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 kontrol register yang bersangkutan secara individu. Bit akan di-clear apabila terjadi 13 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 Vm 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. 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 IO untuk 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 14 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 Adapun komponen-komponen yang dapat diamati melalui IO pada workspace sebagai berikut : 1. Isi register 15 - 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. 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 EOReksklusif OR. AVR ATmega8535 memiliki tiga buah timer, yaitu: 1. Timercounter 0 8 bit 2. Timer counter 1 16 bit 16 3. Timercounter 2 8 bit Karena Atmega 8535 memiliki 8 saluran ADC maka untuk keperluan konversi sinyal analog menjadi data digital yang berasal dari sensor dapat langsung dilakuka n 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