220 likes | 511 Views
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
E N D
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 • 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