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