Peta Memori Status register SREG

2.2.3. 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.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.3. Status Register ATMega 8535 Universitas Sumatera Utara 4. 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 suatu interupsi yang dipicu oleh hardware, dan bit tidak akan mengizinkan terjadinya interupsi, serta akan diset kembali oleh instruksi RETI. 5. 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. 6. Bit 5-H: Half Carry Flag 7. Bit 4-S: Sign Bit Bit-S merupakan hasil operasi EOR antara flag-N negative dan flag V komplemen dua overflow. 8. Bit 3- V: Two’s Complement Overflow Flag Bit berguna untuk mendukung operasi aritmatika. 9. Bit 2-N: Negative Flag Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan diset. 10. Bit 1-Z: Zero Flag Bit akan diset bila hasil operasi yang diperoleh adalah nol. 11. 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 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 IOuntukmenghasilkan output high. Pengubahan secara byte dilakukan dengan perintah in atau out yang menggunakan Universitas Sumatera Utara 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 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 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. 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 perkalianmaupun operasi nalar AND, OR, dan EOR. 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.2.5. Program Code-Vision AVR