PORT I/O atmega8535
description
Transcript of PORT I/O atmega8535
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 men’skip’ 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