iki10230 pengantar organisasi komputer kuliah no. a6: bahasa rakitan avr i/o instructions
DESCRIPTION
IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions. Sumber : 1. AVR AT90S8515 Data Sheet. 2. Materi kuliah CS152, th. 1997, UCB. 4 April 2003 Bobby Nazief ([email protected]) Qonita Shahab ([email protected]) - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions](https://reader036.vdocuments.site/reader036/viewer/2022062323/568152fa550346895dc116b7/html5/thumbnails/1.jpg)
1
IKI10230Pengantar Organisasi Komputer
Kuliah no. A6: Bahasa Rakitan AVRI/O Instructions
4 April 2003
Bobby Nazief ([email protected])Qonita Shahab ([email protected])
bahan kuliah: http://www.cs.ui.ac.id/~iki10230/
Sumber:1. AVR AT90S8515 Data Sheet.2. Materi kuliah CS152, th. 1997, UCB.
![Page 2: IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions](https://reader036.vdocuments.site/reader036/viewer/2022062323/568152fa550346895dc116b7/html5/thumbnails/2.jpg)
2
Instruksi: I/O
![Page 3: IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions](https://reader036.vdocuments.site/reader036/viewer/2022062323/568152fa550346895dc116b7/html5/thumbnails/3.jpg)
3
Organisasi I/O dari μC AVR
Built-in I/O, Interupsi Internal
Interupsi Eksternal
![Page 4: IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions](https://reader036.vdocuments.site/reader036/viewer/2022062323/568152fa550346895dc116b7/html5/thumbnails/4.jpg)
4
Peta Memori Data
Akses menggunakan instruksi: IN & OUT
Akses menggunakan instruksi: LD & ST
![Page 5: IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions](https://reader036.vdocuments.site/reader036/viewer/2022062323/568152fa550346895dc116b7/html5/thumbnails/5.jpg)
5
Alamat-alamat I/O (1)
Address Hex Name Function$3F ($5F) SREG Status Register$3E ($5E) SPH Stack Pointer High$3D ($5D) SPL Stack Pointer Low$3B ($5B) GIMSK General Interrupt MaSK Register$3A ($5A) GIFR General Interrupt Flag Register$39 ($59) TIMSK Timer/Counter Interrupt MaSK Register$38 ($58) TIFR Timer/Counter Interrupt Flag Register$35 ($55) MCUCR MCU general Control Register$33 ($53) TCCR0 Timer/Counter 0 Control Register$32 ($52) TCNT0 Timer/Counter 0 (8-bit)$2F ($4F) TCCR1A Timer/Counter 1 Control Register A$2E ($4E) TCCR1B Timer/Counter 1 Control Register B$2D ($4D) TCNT1H Timer/Counter 1 High Byte$2C ($4C) TCNT1L Timer/Counter 1 Low Byte$2B ($4B) OCR1AH Output Compare Register A High Byte$2A ($4A) OCR1AL Output Compare Register A Low Byte$29 ($49) OCR1AH Output Compare Register B High Byte$28 ($48) OCR1AL Output Compare Register B Low Byte$25 ($45) ICR1H T/C 1 Input Capture Register High Byte$24 ($44) ICR1L T/C 1 Input Capture Register Low Byte$21 ($41) WDTCR Watchdog Timer Control Register
![Page 6: IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions](https://reader036.vdocuments.site/reader036/viewer/2022062323/568152fa550346895dc116b7/html5/thumbnails/6.jpg)
6
Alamat-alamat I/O (2)Address Hex Name Function$1B ($38) PORTA Data Register, Port A$1A ($3A) DDRA Data Direction Register, Port A$19 ($39) PINA Input Pins, Port A $18 ($38) PORTB Data Register, Port B$17 ($37) DDRB Data Direction Register, Port B$16 ($36) PINB Input Pins, Port B$15 ($35) PORTC Data Register, Port C$14 ($34) DDRC Data Direction Register, Port C$13 ($33) PINC Input Pins, Port C$12 ($32) PORTD Data Register, Port D$11 ($31) DDRD Data Direction Register, Port D$10 ($30) PIND Input Pins, Port D$0F ($2F) SPDR SPI I/O Data Register$0E ($2E) SPSR SPI I/O Status Register$0D ($2D) SPCR SPI I/O Control Register$0C ($2C) UDR UART I/O Data Register$0B ($2B) USR UART Status Register$0A ($2A) UCR UART Control Register$09 ($29) UBRR UART Baud Rate Register$08 ($28) ACSR Analog Comparator Control and Status Register
![Page 7: IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions](https://reader036.vdocuments.site/reader036/viewer/2022062323/568152fa550346895dc116b7/html5/thumbnails/7.jpg)
7
Instruksi-instruksi I/O
° P: I/O Register
° Data Transfer:• IN Rd,P ; Rd P• OUT P,Rs ; P Rs
° Bit Operation:• SBI P,b ; P(b) 1• CBI P,b ; P(b) 0
° Branch:• SBIC P,b ; Skip if P(b) == 0 • SBIS P,b ; Skip if P(b) == 1• RETI
° Special:• SEI ; Global Interrupt Enable• CLI ; Global Interrupt Disable • WDR ; Watchdog Reset
![Page 8: IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions](https://reader036.vdocuments.site/reader036/viewer/2022062323/568152fa550346895dc116b7/html5/thumbnails/8.jpg)
8
Simulasi Program I/O di AVR Studio
![Page 9: IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions](https://reader036.vdocuments.site/reader036/viewer/2022062323/568152fa550346895dc116b7/html5/thumbnails/9.jpg)
9
Penggunaan Port I/O 8 bit (A,B,C,D)° Penamaan:
• PORTA,PORTB,PORTC,PORTD
• DDRA,DDRB,DDRC,DDRD (data direction)
• PINA,PINB,PINC,PIND
° Mengeset sebuah port untuk menjadi sebuah Input Port:
• out DDRD,0x00
° Mengeset sebuah port untuk menjadi sebuah Output Port:
• out DDRB,0xff
° Memasukkan data (input) dari sebuah port:• in R16,PIND
° Mengeluarkan data (output) ke sebuah port:• out PORTB,R16
![Page 10: IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions](https://reader036.vdocuments.site/reader036/viewer/2022062323/568152fa550346895dc116b7/html5/thumbnails/10.jpg)
10
Contoh masuk/keluar data° out PORTB,0b00110101
° in R18,PIND
• isi R18 = 0b00100000
![Page 11: IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions](https://reader036.vdocuments.site/reader036/viewer/2022062323/568152fa550346895dc116b7/html5/thumbnails/11.jpg)
11
Contoh Program: io-bd.asmldi temp,$ffout PORTB,temp ; Set all pins at port B
highout DDRB,temp ; Set port B as output
ldi temp,$00out PIND,temp ; Set all pins at port D lowout DDRD,temp ; Set port D as input
ldi count,5rjmp show_inputs
show_inputs:nop ; only in simulatorin temp,PIND ; get inputout PORTB,temp ; output the datadec countcpi count,0brne show_inputs
quit: rjmp quit
![Page 12: IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions](https://reader036.vdocuments.site/reader036/viewer/2022062323/568152fa550346895dc116b7/html5/thumbnails/12.jpg)
12
STK200: board untuk percobaan I/O° Port B: LED
° Port D: tombol-tombol
![Page 13: IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions](https://reader036.vdocuments.site/reader036/viewer/2022062323/568152fa550346895dc116b7/html5/thumbnails/13.jpg)
13
Penggunaan STK200° Prosesor AVR ditancapkan di STK200 board
° Kabel ke parallel port di PC
![Page 14: IKI10230 Pengantar Organisasi Komputer Kuliah no. A6: Bahasa Rakitan AVR I/O Instructions](https://reader036.vdocuments.site/reader036/viewer/2022062323/568152fa550346895dc116b7/html5/thumbnails/14.jpg)
14
Referensi° AVR Assembler User Guide
° http://www.avr-asm-tutorial.net
° <AVR installation dir>\appnotes\*.asm
° AVR AT90S8515 Data Sheets