ATMega8535 merupakan salah satu mikrokontroler
8 bit buatan Atmel
untuk keluarga AVR. Karena merupakan keluarga AVR, maka ATMega8535 juga
menggunakan arsitektur RISC.
Bentuk fisik dari mikrokontroler ATMGEA 8535 dapat dilihat dalam Gambar 2.1
dibawah ini.
Gambar 2.1 Bentuk fisik mikrokontroler ATMEGA 8535
Secara singkat, ATMega8535 memiliki beberapa kemampuan:
Jalur I/O 32 buah
yang terbagi dalam PORT A, PORT B, PORT C, PORT D dengan masing-masing PORT ada
8 pin. ADC 10 bit sebanyak 8 input, 2 buah Timer/Counter dengan
kemampuan pembanding. CPU 8 bit yang terdiri dari 32 register, Frekuensi clock
maksimum 16 MHz. Watchdog Timer
dengan osilator internal.SRAM sebesar 512 byte. Memori flash sebesar 8 KB
dengan kemampuan read while write.
Interrupt internal dan
eksternal. PORT komunikasi SPI.EEPROM sebesar 512 byte yang dapat diprogram
saat operasi .Analog Comparator
dan komunikasi serial standart USART dengan kecepatan maksimal 2,5Mbps.
2.1.1
Arsitektur dan Konfigurasi Pin ATMEGA 8535
ATMEGA 8535 yang digunakan pada rangkaian alat “Pendeteksi Banjir berbasis ATMEGA 8535 ” mempunyai
arsitektur IC seperti yang dapat dilihat dalam Gambar 2.2 dibawah ini.
Gambar
2.2 Arsitektur IC mikrokontroler ATMEGA 8535
Mikrokontroler ATMEGA 8535 mempunyai 40 kaki. 32 diantaranya merupakan
PORT I/O yaitu PORT A, PORT B, PORT C, PORT D. masing-masing PORT tersebut
memiliki 8 buah pin. Konfigurasi pin-pin ATMEGA 8535 dapat dilihat pada Gambar
2.2.
Gambar
2.3 Konfigurasi pin ATMEGA 8535
Berikut
penjelasan dari masing-masing pin pada ATMEGA 8535.
Pin 1 – Pin 8 (Port B)
Port B adalah suatu Port I/O 8-bit dua arah dengan
resistor internal pull-up (yang dipilih untuk beberapa bit). Port B output
buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi
dan kemampuan sumber. Sebagai input, pin port B yang secara eksternal ditarik
rendah akan arus sumber jika resistor pullup diaktifkan. Pin Port B
adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun
waktu habis. Selain sebagai port I/O, port B juga mempunyai fungsi tambahan
yang dapat dilihat dalam Tabel 2.1 dibawah ini.
Tabel 2.1 Fungsi tambahan Port B
PORT B
|
Fungsi Tambahan
|
PB0
|
T0 (Timer / Counter 0 External
Counter Input) XCK (USART Eksternal Clock Input/Output)
|
PB1
|
T1 (Timer/Counter 1 External
Counter Input)
|
PB2
|
AIN0 (Analog Comparator Positive
Input) INT2 (Eksternal Interrupt 2 Input)
|
PB3
|
AIN1 (Analog Comparator Negative
Input) OC0 (Timer / Counter0 Output - Compare Match Output)
|
PB4
|
SS (SPI Slave Select Input)
|
PB5
|
MOSI (SPI Bus Master Output Slave
Input)
|
PB6
|
MISO (SPI Bus Master Input Slave
Output)
|
PB7
|
SCK (SPI Bus Serial Clock)
|
1. T0/T1 sebagai input Timer/Counter
Eksternal
2. AIN0 dan AIN1 sebagai input
komparator (AIN0 = input positif, AIN1 = input negatif )
3. SS (SPI) sebagai port untuk komunikasi
antar mikrokontroler
4. MOSI, MISO, SCK sebagai input
downloader ISP
Pin 9 (RST)
Reset merupakan pin untuk mereset
mikrokontroler (active low)
Pin 10 (VCC)
Vcc merupakan pin input catu daya sebesar 5 Volt.
Pin 11 dan Pin 31 (GND)
Gnd merupakan pin yang terhubung ke
ground.
Pin 12 dan Pin 13 (XTAL1 dan XTAL2)
Xtal1 dan Xtal2 merupakan pin yang
terhubung dengan clock eksternal.
Pin 14 – Pin 21 (Port D)
Port D
adalah suatu Port I/O 8-bit dua arah dengan resistor internalpull-up (yang
dipilih untuk beberapa bit). Port D output buffer mempunyai
karakteristik gerakan simetris dengan keduanya sinktinggi dan kemampuan
sumber. Sebagai input, pin port D yangsecara eksternal ditarik rendah
akan arus sumber jika resistor pullup diaktifkan. Pin Port D adalah tri-stated
manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. Selain
sebagai port I/O, port B juga mempunyai fungsi tambahan yang dapat dilihat
dalam Tabel 2.2 dibawah ini.
Tabel 2.2
Fungsi tambahan Port D
PORT D
|
Fungsi Tambahan
|
PD0
|
RXD (Pin Input USART/Pin terima
komunikasi Serial)
|
PD1
|
TXD (Pin Output USART/Pin kirim
komunikasi Serial)
|
PD2
|
INT0 (input Interrupt Eksternal
0)
|
PD3
|
INT1 (input Interrupt Eksternal
1)
|
PD4
|
OC1B (Timer/Counter1 Output
Compare B Match Ouput)
|
PD5
|
OC1A (Timer/Counter1 Output
Compare A Match Ouput)
|
PD6
|
ICP1 (Timer/Counter1 Input
Capture Pin)
|
PD7
|
OC2 (Timer/Counter Ouput Compare
Match Ouput)
|
1. RXD dan TXD sebagai
pin komunikasi serial (USART)
2. INT0 dan INT1
sebagai input Interupsi Eksternal 0 dan Interupsi Eksternal 1.
3. OC1A dan OC1B
sebagai Output untuk PWM mode fungsi timer dan OC1A juga berfungsi sebagai
Output Eksternal dari pembanding timer/counter A. Sedangkan OC1B berfungsi
sebagai Output Eksternal dari pembanding timer/counter B.
4. ICP1 sebagai penampung
input timer/counter 1
5. OC2 sebagai output untuk
PWM mode fungsi timer dan Output Eksternal dari pembanding timer/counter.
Pin 22 – Pin 29 (Port C)
Port C
adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up
(yang dipilih untuk beberapa bit). Port C output buffer mempunyai
karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan
sumber. Sebagai input, pin port C yang secara eksternal ditarik rendah
akan arus sumber jika resistor pull-up diaktifkan. Pin Port C adalah tri-stated
manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. Selain
sebagai port I/O, port C juga mempunyai fungsi tambahan yang dapat dilihat
dalam Tabel 2.3 dibawah ini.
Tabel 2.3
Fungsi tambahan Port C
PORT C
|
Fungsi Tambahan
|
PC0
|
SCL (Two-wire Serial Bus Clock
Line)
|
PC1
|
SDA (Two-wire Serial Bus Data I/O
Line)
|
PC2
|
TCK (JTAG Tesr Clock)
|
PC3
|
TMS (JTAG Test Mode Select)
|
PC4
|
TDO (JTAG Test Data In)
|
PC5
|
TDI (JTAG Test Data Out)
|
PC6
|
TOSC1 (Timer Oscilator Pin 1)
|
PC7
|
TOSC2 (Timer Oscilator PIN 2)
|
1. SCL dan SDA sebagai pengatur
Interface Serial 2 jalur
2. TCK sebagai operasi sinkronisasi
dari JTAG ke TCK. Jika pin ini digunakan seperti fungsi peripheral tersebut
maka pin ini tidak berfungsi sebagai I/O
3. TMS sebagai pengontrol navigasi
mesin TAP. Jika pin ini digunakan seperti fungsi peripheral tersebut maka pin
ini tidak dapat berfungsi sebagai I/O
4. TDO dan TDI sebagai Output/Input
data serial ke register atau data register
5. TOSC1 dan TOSC2 sebagai penguat
amplifier oscillator ketika disambungkan dengan kristal dan bit ASR serta ASSR
di set “1” untuk mengaktifkan asynchronous clocking dari Timer/Counter2.
Pin 30 (AVCC)
Avcc merupakan pin input tegangan
ADC.
Pin 32 (AREF)
AREF merupakan pin
referensi analog untuk A/D konverter.
Pin 33 – Pin 40 (Port A)
Port A
berfungsi sebagai input analog pada A/D Konverter. Port A juga berfungsi
sebagai suatu Port I/O 8-bit dua arah, jika A/DKonverter tidak digunakan. Pin -
pin Port dapat menyediakan resistor internal pull-up (yang dipilih untuk
masing-masing bit). Port A output buffer mempunyai karakteristik gerakan
simetris dengan keduanya sink tinggi dan kemampuan sumber. Ketika pin
PA0 ke PA7 digunakan sebagai input dan secara eksternal ditarik
rendah, pin – pin akan memungkinkan arus sumber jika resistor internal
pull-up diaktifkan. Pin Port A adalah tri-stated manakala suatu
kondisi reset menjadi aktif, sekalipun waktu habis. Fungsi tambahan pada Port A
dapat dilihat dalam Tabel 2.4 dibawah ini.
Tabel 2.4
Fungsi tambahan Port A
PORT A
|
Fungsi Tambahan
|
PA0
|
ADC 0 (input ADC channel 0)
|
PA1
|
ADC 1 (input ADC channel 1)
|
PA2
|
ADC 2 (input ADC channel 2)
|
PA3
|
ADC 3 (input ADC channel 3)
|
PA4
|
ADC 4 (input ADC channel 4)
|
PA5
|
ADC 5 (input ADC channel 5)
|
PA6
|
ADC 6 (input ADC channel 6)
|
PA7
|
ADC 7 (input ADC channel 7)
|
2.1.2 Port
Sebagai Input / Output Digital
ATmega8535 mempunyai empat
buah port yang bernama PortA, PortB, PortC, dan PortD. Keempat port tersebut
merupakan jalur bi-directional dengan pilihan internal pull-up. Tiap port
mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’
mewakili nama huruf dari port sedangkan huruf ‘n’ mewakili nomor bit. Bit DDxn
terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan
bit PINxn terdapat pada I/O address PINx.
Bit DDxn dalam regiter
DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1 maka Px
berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin
input. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka
resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn
harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah
tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin
terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila
PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port
akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0,
PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada
kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0,
PORTxn=1)atau kondisi output low (DDxn=1, PORTxn=0). Biasanya, kondisi
pull-up enabled dapat diterima sepenuhnya, selama lingkungan impedansi tinggi
tidak memperhatikan perbedaan antara sebuah strong high driver dengan
sebuah pull-up. Jika ini bukan suatu masalah, maka bit PUD pada register SFIOR
dapat diset 1 untuk mematikan semua pull-up dalam semua port. Peralihan
dari kondisi input dengan pull-up ke kondisi output low juga
menimbulkan masalah yang sama. Maka harus menggunakan kondisi tri-state
(DDxn=0, PORTxn=0) atau kondisi output high (DDxn=1, PORTxn=0) sebagai kondisi
transisi.
2.1.3 Peta
Memori ATMEGA 8535
ATMEGA 8535 memiliki dua jenis
memori, yaitu program memory dan data memory ditambah satu fitur yaitu EEPROM
memory untuk menyimpan data.
a. Program Memory
ATMEGA
8535 memiliki On-Chip In-System Reprogrammable Flash Memory untuk
menyimpan program. Untuk alasan keamanan, program memory dibagi menjadi dua
bagian, yaitu Boot Flash Section dan Application Flash Section. Boot
Flash Section digunakan untuk menyimpan program Boot Loader, yaitu program
yang harus dijalankan pada saat AVR reset atau pertama kali diaktifkan.
Application
Flash Section digunakan untuk
menyimpan program aplikasi yang dibuat user. AVR tidak dapat menjalakan program
aplikasi ini sebelum menjalankan program Boot Loader. Besarnya memori Boot
Flash Section dapat deprogram dari 128 word sampai 1024 word tergantung setting
pada konfigurasi bit di register BOOTSZ. Jika Boot Loader diproteksi, maka
program pada Application Flash Section juga sudah aman.
b. Data Memory
Terdapat 608
lokasi address data memori. 96 lokasi address digunakan untuk Register File dan
I/O Memory sementara 512 likasi address lainnya digunakan untuk internal data
SRAM. Register file terdiri dari 32 general purpose working register, I/O register
terdiri dari 64 register.
c. EEPROM Data Memory
ATMEGA
8535 memiliki EEPROM 8 bit sebesar 512 byte untuk menyimpan data. Loaksinya
terpisah dengan system address register, data register dan control register
yang dibuat khusus untuk EEPROM. Alamat EEPROM dimulai dari $000 sampai $1FF.
sumber :
sumber :
Tidak ada komentar:
Posting Komentar