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 Instruksi pengurangan 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