Anda di halaman 1dari 19

PORT I/O atmega8535

Spesifikasi port I/O AVR


I/O digital Input/output pada pin yang sama Level I/O TTL (logika 0 0 V, logika 1 5V)

Spesifikasi port I/O AVR

Spesifikasi port I/O AVR


Diakses menggunakan 3 register :
DDRx PORTx PINx

DDRx digunakan untuk menentukan arah I/O PORTx digunakan untuk meg-outputkan nilai ke pin IC PINx digunakan sebagai register untuk menampung nilai yang diinputkan pada pin IC

Spesifikasi port I/O AVR


Arus max (sinking):
20 mA (test condition) 40 mA (max) Untuk setiap port (8 line) jumlah semua arus di port tersebut max 100 mA

Spesifikasi port I/O AVR


Pada dasarnya konfigurasi I/O AVR adalah open collector Konfigurasi open collector mempunyai tegangan 0 V pada logika 0 dan mengambang (hi-Z)pada logika 1 Supaya pin tidak dalam logika mengambang dalam keadaan sebagai input, biasanya PORTx ikut diaktifkan untuk meng-enable pull up

Langkah pengaksesan suatu port I/O


Setting register DDRx: sebagai input (0) atau output (1) Jika diset sebagai input, enable-kan pull up dengan menuliskan logika 1 pada PORTx, kemudian baru baca data dari PINx Jika diset sebagai output, langsung saja kirimkan data keluar ke PORTx

Instruksi I/O,akses baca tulis


IN : membaca data dari I/O register (8 bit) ke GP register IN R16,PinD OUT : menulis data dari GP register ke I/O register(8 bit) OUT PORTC,R17 SBI : membuat logika 1 1 bit di register I/O SBI PORTC,2 CBI : membuat logika 0 1 bit di register I/O CBI PORTB,1

Instruksi I/O,lompatan bersyarat


SBIC : skip if bit I/O is clear menskip instruksi di bawahnya jika suatu bit I/O dalam logika 0 SBIS : skip if bit I/O is set menskip instruksi di bawahnya jika suatu bit I/O dalam keadaan logika 1 Contoh : SBIC PIND,1

Langkah-langkah pengaksesan port


Instruksi in:
LDI R16,0x00 ;insialisasi port sebagai input OUT DDRD,R16; portD jadi input semua LDI R16,0xFF;persiapan enable pull up di PORTD OUT PORTD,R16;enable pull up di PORTD IN R17,PIND; disinilah instruksi inputnya

Langkah-langkah pengaksesan port


Instruksi out:
LDI R16,0xFF ; persiapan insialisasi PortB sbg out OUT DDRB,R16; set portb sebagai output semua LDI R17,0b10101010; data yang akan dikeluarkan OUT PORTB,R17;keluarkan data di sini

Instruksi SBI dan CBI Karena instruksi tsb hanya mengakses 1 bit saja, maka DDR yang diset juga cukup 1 bit saja :
SBI DDRB,4; bit ke-4 port B dijadikan output SBI DDRC,3; bit ke-3 port C dijadikan output SBI PORTB,4; keluarkan logika 1 ke bit 4 portb CBI PORTC,3;logika 0 ke bit 3 portc

Instruksi SBIC,SBIS Karena instruksi sbg input, DDR harus diset 0 pada bit-bit yg digunakan
CBI DDRD,7; setting portd bit 7 sbg input SBI PORTD,7; enable pull up SBIC PIND,7; baca portd bit 7 CLR R16;instruksi sembarang LDI R16,0xAA; jika portd bit 7 logika 0,lompat ke sini

Operasi Aritmatika
Instruksi penjumlahan
ADD R15,R14 R15=R15+R14 ADC R15,R14 R15=R15+R14+Carry

Instruksi pengurangan
SUB R15,R14 R15=R15-R14 SUBI R16,2 R16=R16-1 SBC R11,R12 R11=R11-R12-Carry SBCI R17,3 R17=R17-3-Carry

Operasi aritmatika
Instruksi perkalian
MUL R21,R20 R1:R0=R21xR20 (R1 digunakan untuk menyimpan MSB,R0 LSB),perkalian bilangan unsigned(bulat positif) MULS R4,R5 R4 dan R5 menyimpan bilangan signed(bulat positif dan negatif) MULSU R4,R5 R4 signed,R5 unsigned dll (keluarga FMUL)

Operasi logika
AND Rd,Rr ; ANDI Rd,K operasi and OR Rd,Rr ; ORI Rd,K operasi OR EOR Rd,Rr EXOR COM Rd komplemen 1 NEG Rd komplemen 2 dll (lihat datasheet)

Sekedar mengingatkan
Tugas pembuatan sistem minimal ATmega8535 mulai bisa ditunjukkan minggu depan(Rabu, 10 sept) Karya anda bisa ditunjukkan di lab elektronika dasar (T. Elektro) atau di kelas Batas akhir pelaporan : Rabu 17 sept di kelas Telat? usaha anda tetap dihargai, dengan nilai yg lebih rendah

Rencana Project
Running LED Running Led dengan interupsi Pembangkit gelombang kotak frek tertentu
Dengan delay Dengan timer

Pengukur frekuensi PWM ADC Project mandiri

Fasilitas sistem minimal


LED, untuk tampilan data dan PWM Push button Header/pin untuk ekspansi port Header untuk programmer Konektor serial port LCD (nilai tambah), karena beberapa project memerlukan tampilan dsb