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