MIKROKONTROLER Atmega8535
Mikrokontroler ATmega8535 merupakan salah satu varian atau jenis dari keluaraga mikrokontroler 8-bit AVR (Advanced RISC Architecture). Beberapa fitur yang dimiliki Mikrokontroler ATmega 8535 adalah memiliki memori In-System Selt-Programmable Flash 8K Bytes, 512 Bytes EEPROM, dan 512 Bytes Internal SRAM. Mikrokontroler ATmega8535 memiliki 2 8-bit Timer/Counter, RTC (Real Time Counter), 4 PWM chanel, 8-chanel 10-bit ADC, 1 programable serial USART, master/slave SPI serial interface, dan memiliki 32 programmable I/O. Sedangkan untuk power, ATmega 8535 dapat dicatu menggunakan tegangan 2.7 – 5.5V (untuk ATmega8535L) dan 4.5 – 5.5V (untuk ATmega8535) dengan frekuensi clock maksimum adalah 16MHz.
Sistem minimum Mikrokontroler ATmega8535 merupakan rangkaian minimum yang dibuat agar sistem ini (mikrokontroler ini) dapat bekerja dan berfungsi dengan semestinya. Sistem minimum ini meliputi catu daya mikrokontroller (vcc) yang berkisar antara 2,7 V – 5,5 V, kristal oscillator (opsional) yang berfungsi sebagai referensi kecepatan akses mikrokontroller (kristal oscillator diperlukan jika menginginkan referensi clock yang tinggi, tapi tanpa kristal oscillator pun mikrokontroler masih dapat bekerja, karena sudah memiliki referensi clock internal), referensi ADC (Analog to digital konverter), tombol reset, serta port-port I/O.
Berikut Komponen-komponen dan fitur yang terdapat di dalam Mikrokontroler Atmega8535 :
-
Saluran I/O sebanyak 32 buah, yang terdiri atas PortA, B, C dan D
-
Dimana setiap port berfungsi untuk saluran input dan output suatu komponen /sensor dan port A dan port C terletak di Bagian sisi Atas mikrokontroler dan port B dan port D terletak di sisi bawah mikrokontroler, dan di setiap port memiliki buffers/driver. Satu portparalel terdiri dari 8 pin, sehingga jumlah port pada mikrokontroler adalah 4port, yaitu port A, port B, port C dan port Sebagai contoh adalah port A memiliki pin antara portA.0 sampai dengan port A.7, demikian selanjutnya untuk port B, port C, port D.
-
ADC (Analog to Digital Converter)
Dimana Mikrokontroler Atmega8535 telah memiliki fitur mengubah sinyal input analog menjadi sinyal digital secara otomatis.
-
Tiga buah Timer/Counterdengan kemampuan perbandingan
Komponen utama Timer/Counter adalah sebuah register yg tugasnya hanya berhitung dari 0 sampai batas maximumnya, register ini pada AVR disebut register TCNT . Misalnya sebuah register TCNT pada AVR adalah 8 bit, maka nilai maksimunya adalah 255. Melaksanakan tugas tertentu secara ber ulang (mode normal).dan berfungsi Menghitung panjang pulsa (input capture),Menghitung banyaknya event ( sebagai counter).,Mengendalikan kecepatan motor DC (pulsa wide modulation /PWM), Membuat penundaan waktu (delay). Sinyal generator .
-
SRAM sebesar 512byte
Static Random Access Memory. Statik menandakan bahwa memori memegang isinya selama listrik tetap berjalan, tidak seperti RAM dinamik (DRAM) yang membutuhkan untuk disegarkan secara periodik. Hal ini dikarenakan SRAM didesain menggunakan transistor tanpa kapasitor. Tidak adanya kapasitor membuat tidak ada daya yang bocor sehingga SRAM tidak membutuhkan refresh periodik. SRAM juga didesain menggunakan desain cluster enam transistor untuk menyimpan setiap bit informasi.
-
Memori Flashsebesar 8kb dengan kemampuan read while write
Dimana kita sebagai programmer dapat membuat suatu program dan disimpan di memori flash
-
Portantarmuka SPI untuk men-download program ke flash
Port SPI (Serial Peripheral Interface) adalah jalur komunikasi data khusus secara serial synchronous
-
Unit Interupsi Internaldan External
-
Portantarmuka SPI untuk men-download program ke flash
-
EEPROM sebesar 512 byteyang dapat diprogram saat operasi
-
Antarmuka komparator analog
-
PortUSART untuk komunikasi serial.
Dan port dan register apa saja yang difasilitasi sebai input/output untuk membuat suatu program
memory-register
2.a General Purpose Register (GPR)
AVR mempunya 32 register untuk menyimpan data sementara register tersebut adalah R0 sampai R31 berada di lokasi memory terendah (00H~1FH). Register ini berlaku seperti register Accumulator pada microprosessor lain. Register ini digunakan untuk operasi logika dan aritmetik
2.b IO register (SFR)
Dialokasikan untuk register2 fungsi khusus spt register untuk Timer, ADC ,IO port,UART, dll. contoh register dilokasi ini: DDRA,DDRB,PORTA,PINA,UCSRA dll
2.c General Purpose RAM
RAM adalah tempat menyimpan data umum yang tidak bisa langsung diakses oleh CPU , tapi harus melalui register.
Mesti diingat! kita tdk bisa mencopy sebuah nilai langsung ke I/O register atau RAM harus melalui registers
sram1
sram
Perpindahan data di antara Data memori (GPR-SFR-SRAM) dan Instruksinya antara lain:
– SRAM ke GPR : LDS
– GPR ke SRAM : STS
– SR ke SRAM : none
– SRAM ke SFR : none
– SRAM ke SRAM : none
– GPR ke GPR : MOV
– SFR ke GPR : IN
– GPR ke SFR : OUT
EEPROM Data Memory
ATMega8535 memiliki EEPROM sebesar 512 byte untuk menyimpan data Nonvolatile artinya jika power off data tidak hilang. Lokasinya terpisah dengan system address register.
Register-register khusus untuk mengakses EEPROM yaitu :
EEADRH dan EEADRL = register menyimpan alamat EEPROM tujuan
EEDR = data yang akan disimpan ke EEPROM di copy ke register ini.
EECR = register untuk pengontrolan menulis dan membaca. yang digunakan cuma bit 3~ bit 0 :
Bit 3– EERIE: EEPROM Ready Interrupt Enable
Bit 2 – EEMWE: EEPROM Master Write Enable
Bit 1 – EEWE: EEPROM Write Enable
Bit 0 – EERE: EEPROM Read Enable
waktu penulisan ke EEPROM lebih lama dari pada ke RAM.
Contoh Code untuk menulis data yg ada di register R16 ke EEPROM:
; tunggu penulisan sebelumnya komplit
sbic EECR,EEWE
rjmp EEPROM_write
; simpan alamat EEPROM tujuan (misal ada di R17 dan R18) ke register EEARH (MSB) dan EEARL (LSB)
out EEARH, r18
out EEARL, r17
out EEDR,r16 ; data di r16 di copy ke Data Register EEPROM
sbi EECR,EEMWE ; Write logical one to EEMWE
; Start eeprom write by setting EEWE
sbi EECR,EEWE
Register Status
Status Register adalah register yang memberikan informasi yang dihasilkan dari eksekusi instuksi aritmatika.Informasi ini berguna untuk mencari alternatif alur program sesuai dengan kondisi yang dihadapi
sreg
Register Status
Bit 7 – I : Global Interrupt Enable
Jika bit Global Interrupt Enable diset, maka fasilitas interupsi dapat dijalankan. Bit ini akan clear ketika ada interrupt
yang dipicu dari hardware, setelah program interrupt dieksekusi, maka bit ini harus di set kembali dengan instruksi SEI.
Bit 6 – T : Bit Copy Storage
Instruksi bit copy BLD dan BST menggunakan bit T sebagai sumber atau tujuan dalam operasi bit.
Bit 5 – H : Half Carry Flag
Bit 4 – S : Sign Bit
Bit S merupakan hasil exlusive or dari Negative Flag N dan Two’s Complement Overflow Flag V.
Bit 3 – V : Two’s Complement Overflow Flag
Digunakan dalam operasi aritmatika
Bit 2 – N : Negative Flag
Jika operasi aritmatika menghasilkan bilangan negatif, maka bit ini akan set.
Bit 1 – Z : Zero Flag
Jika operasi aritmatika menghaslkan bilangan nol, maka bit ini akan set.
Kita ambil sebuah contoh program assembler untuk menghidupkan LED sesuai dengan pernyataan dibawah ini dengan menggunakan 8 bit pada port a,b dan c.
Soal :
Hidupkan LED dari D7-D0
Hidupkan LED dari tengah ke kiri dan ke kanan 2-2 bit
Hidupkan LED 5 dan 8.
Jawab :
Konsep kita harus mempunyai simulasi LED contoh seperti dibawah ini.
LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1
128 64 32 16 8 4 2 1
D7 D6 D5 D4 D3 D2 D1 D0
128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 =255
D7 D6 D5 D4 D3 D2 D1 D0
128 + 64 32 + 16 8 + 4 2 + 1
D7 D6 D5 D4 D3 D2 D1 D0
128+64+2+1= 195
32+16+8+4 = 60
LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1
128 64 32 16 8 4 2 1
D7 D6 D5 D4 D3 D2 D1 D0
128 + 16 =144
Contoh Program :
Mulai
mov al,80h
mov dx,cw
out dx,al
Putar
mov al,255
mov dx,port a
out dx,al
call delay
mov al,255
mov dx, port b
out dx,al
call delay
mov al,255
mov dx,port c
out dx,al
call delay
mov al,195
mov dx,port a
out dx,al
call delay
mov al,195
mov dx,port b
out dx,al
call delay
mov al,195
mov dx,port c
out dx,al
call delay
mov al,60
mov dx,port a
out dx,al
call delay
mov al,60
mov dx,port b
out dx,al
call delay
mov al,60
mov dx,port c
out dx,al
call delay
mov al,144
mov dx,port a
out dx,al
call delay
mov al,144
mov dx,port b
out dx,al
call delay
mov al,144
mov dx,port c
out dx,al
call delay
jmp putar
Jadi LED akan hidup dari kiri ke kanan ( D7-D0 ) kemudian hidupkan LED dari kiri ke kanan dengan 2bit-2bit dilanjutkan lagi menghidupkan LED pada LED5 dan LED8
Recent Comments