• Tidak ada hasil yang ditemukan

Materi 5: Architecture and Assembly Language Programming. I Nyoman Kusuma Wardana Sistem Komputer STMIK STIKOM Bali

N/A
N/A
Protected

Academic year: 2021

Membagikan "Materi 5: Architecture and Assembly Language Programming. I Nyoman Kusuma Wardana Sistem Komputer STMIK STIKOM Bali"

Copied!
86
0
0

Teks penuh

(1)

Materi 5: Architecture and Assembly Language Programming

I Nyoman Kusuma Wardana

(2)

General Purpose Registers (GPRs)

The AVR Data Memory

Using Instructions with the Data Memory

(3)
(4)

Mikrokontroler AVR  merupakan

Register-based Microcontroller

Sistem kerja uC diatur berdasarkan kondisi

register

Programmer  menuliskan isi register utk

menjalankan mikrokontroler

Pemahaman

terhadap register

MUTLAK

(5)

CPU

 menggunakan register utk

menyimpan

data sementara

AVR memiliki banyak register utk operasi

aritmatika dan logika

Informasi pd register  bisa berupa

data

byte

ataupun

address

Umumnya, ukuran register AVR 

8-bit

,

dgn urutan sbb:

(6)

AVR memiliki 32 General

Purpose Register (GPR), yaitu R0-R31

GPR  bisa digunakan utk

instruksi aritmatika ataupun

logika

Utk memahami GPR, kita ambil contoh instruksi : LDI dan ADD

(7)

LDI  LoaD Immediate

Immediate  Nilai “harus” disediakan disaat itu! Berfungsi  menyalin 8-bit data ke GPR

Masukkan Rd (tujuan) seketika dgn nilai K Nilai d antara 16 dan 31

Nilai K antara 0 – 255 (desimal) atau 00-FF (hex) 7

(8)

Contoh:

LDI R20, 0x25 ;load R20 dgn 0x25

LDI R31, 0x87 ;load R31 dgn 0x87

LDI R25, 0x79 ;load R25 dgn 0x79

Arti sintaks tsb:

muati Register R20 dgn nilai 0x25 (heksadesimal) muati Register R31 dgn nilai 0x87 (heksadesimal) muati Register R25 dgn nilai 0x79 (heksadesimal)

(9)

Amati bahwa  LDI destination, source

Tujuan akan ditulis lebih dahulu

Komentar dlm assembly  setelah ;

Ingat, dlm GPR (R0-R31)  kita tidak bisa

memakai perintah LDI utk R0-R15

Contoh:

LDI R5, 0x99 ; tidak valid

(10)

Utk mewakili heksadesimal  gunakan $ dan

0x di depan bilangan

Jika tdk  maka bilangan diartikan desimal

LDI R16,50 ;R16 di-load dgn 50 (desimal)

LDI R16,0x50 ;R16 di-load dgn 50 (hex)

Jika nilai 0 sampai F dimasukkan ke 8-bit

register, maka sisanya diasumsikan nol

(11)

Jika memindahkan bilangan lebih besar dr

255 (FF dlm hex) dlm GPR  akan error

LDI R17,0xF72 ;ILLEGAL $7F2 > 8bit($FF)

(12)

ADD  menambah 2 register

Tambahkan isi Rd dan Rr kemudian simpan

hasilnya di Rd

(13)

Contoh:

ADD R1,R2 ;tambahkan isi R1 dan R2

;R1 = R1 + R2

ADD R28,R28;tambahkan isi R28 dgn isi R28

;R28 = R28 + R28

Arti sintaks tsb:

Tambahkan isi Register R1 dgn isi Register R2

kemudian simpan hasilnya di R1

Tambahkan isi Register R28 dgn isi Register R28

kemudian simpan hasilnya di R28

(14)

Contoh: Hitung: 19 + 95 Pembahasan: Hasil program tsb: R16 = 19 + 95 = 114 LDI R16, 19 ;R16 = 19 LDI R20, 95 ;R20 = 95 ADD R16, R20 ;R16 = R16 + R20

(15)

Contoh: Hitung: 0x25 + 0x34 Pembahasan: Hasil program tsb: R16 = 0x59 (0x25 + 0x34) Kusuma Wardana, M.Sc. 15 LDI R16, 0x25 ;R16 = 0x25 LDI R17, 0x34 ;R17 = 0x34 ADD R16, R17 ;R16 = R16 + R17

(16)

Contoh: Hitung: 19 + 95 + 5 LDI R16, 19 ;R16 = 19 LDI R20, 95 ;R20 = 95 LDI R21, 5 ;R21 = 5 ADD R16, R20 ;R16 = R16 + R20 ADD R16, R21 ;R16 = R16 + R21

(17)

Contoh: Hitung: 19 + 95 + 5 Atau… Kusuma Wardana, M.Sc. 17 LDI R16, 19 ;R16 = 19 LDI R20, 95 ;R20 = 95 ADD R16, R20 ;R16 = R16 + R20 LDI R20, 5 ;R20 = 5 ADD R16, R20 ;R16 = R16 + R20

(18)
(19)

Trdpt 2 jenis ruang memori (memory space), yaitu:

1. Code memory space

Program yg kita ketik tersimpan disini

2. Data memory space

Data-data tersimpan disini

Mari kita bahas dulu data memory!

(20)

Data Memory

General Purpose I/O Register General Purpose RAM

(21)

Data memory terdiri dari 3, sbb:

1. General Purpose

Register (GPR)

2. I/O memory

3. Internal data SRAM

Kusuma Wardana, M.Sc. 21 $0000 $0001 $0020 General purpose RAM (SRAM) R0 R1 R2 $001F $005F R31 .. . TWBR TWSR SPH SREG .. . General Purpose Registers Standard I/O Registers $00 $01 $3E $3F $0060 .. . .. . Data Address Space I/O Address .. . 8 bit $FFFF

(22)

1. General Purpose Register

Sperti yg telah dibahas sebelumnya, GPR

memakai 32 byte dr ruang memori data

GPR selalu menempati alamat $00 - $1F, apapun jenis mikrokontrolernya

(23)

2. I/O Data Memory (SFRs)

I/O memory didedikasikan utk fungsi2

spesifik sprt: 1. Timer 2. Komunikasi serial 3. I/O port 4. ADC 5. dan lain-lain Kusuma Wardana, M.Sc. 23

(24)

I/O memory adlh register 8-bit

Jumlah lokasi tergantung dr jumlah pin dan

peripheral yg dimiliki oleh µC tsb.

Semua keluarga AVR paling tidak memiliki 64

byte lokasi I/O memory

Utk keluarga AVR yg memiliki lebih dr 32 I/O

pin (misal ATmega64, ATmega128, &

ATmega256)  terdpt extended I/O memory

utk mengontrol ekstra port dan ekstra peripheral

(25)

I/O register  dsbt juga SFR (Special Function Register) Perbedaan SFR dan GPR: SFR : memiliki fungsi khusus GPR: tidak memiliki

fungsi khusus (utk

menyimpan data scr umum) Kusuma Wardana, M.Sc. 25 $0000 $0001 $0020 General purpose RAM (SRAM) R0 R1 R2 $001F $005F R31 .. . TWBR TWSR SPH SREG .. . General Purpose Registers Standard I/O Registers $00 $01 $3E $3F $0060 .. . .. . Data Address Space I/O Address .. . 8 bit $FFFF

(26)
(27)

3. Internal Data SRAM

Internal data SRAM

menyimpan data dan parameter oleh AVR

programmers dan C compilers

Ukuran SRAM

bervariasi trgantung

jenis µC

Setiap lokasi pd SRAM dpt diakses scr langsung berdasarkan alamatnya 27 $0000 $0001 $0020 General purpose RAM (SRAM) R0 R1 R2 $001F $005F R31 .. . TWBR TWSR SPH SREG .. . General Purpose Registers Standard I/O Registers $00 $01 $3E $3F $0060 .. . .. . Data Address Space I/O Address .. . 8 bit $FFFF

(28)

SRAM vs Data EEPROM

EEPROM  utk menyimpan data yg jarang

diubah dan tdk hilang ketika power dimatikan

SRAM  menyimpan data dan parameter

yg sering diubah & data hilang ketika power dimatikan

3 data memori: GPR, SFR dan internal SRAM

(29)

Dlm datasheet, ukuran memori dinyatakan: EEPROM  size dr EEPROM

SRAM  size dr internal SRAM

Ukuran data memori = ukuran GPR + SFR(I/O register) + SRAM

(30)

$0000 $0001 $0020 General purpose RAM (SRAM) R0 R1 R2 $001F $005F R31 .. . TWBR TWSR SPH SREG .. . General Purpose Registers Standard I/O Registers $00 $01 $3E $3F $0060 .. . .. . Data Address Space I/O Address .. . 8 bit

(31)
(32)

Kita sudah belajar 2 perintah dasar utk kerja

GPR: LDI dan ADD

AVR mengijinkan utk akses langsung (direct

access) utk lokasi tertentu pada data memory

Sesi pd slide ini akan memperlihatkan

instruksi2 utk mengakses berbagai lokasi dlm

data memory

(33)

LDS LoaD direct from data Space LDS  Katakan ke CPU untuk me-load

(copy) 1 byte dr alamat data memoy ke GPR

(34)

Contoh:

Pembahasan:

Salin isi dari lokasi 1 pd data memory ke

GPR

Lokasi 1 pd data memory memiliki isi

tertentu.

Isi inilah yg kita salin, namun dengan

(35)

Lihat Gambar Lokasi 1 berada di GPR dan merupakan alamat dr R1 Maka instruksi: Berarti salin R1 ke R20 Kusuma Wardana, M.Sc. 35 $0000 $0001 $0020 General purpose RAM (SRAM) R0 R1 R2 $001F $005F R31 .. . TWBR TWSR SPH SREG .. . General Purpose Registers Standard I/O Registers $00 $01 $3E $3F $0060 .. . .. . Data Address Space I/O Address .. . 8 bit $FFFF LDS R20, 0x0001

(36)

Contoh:

Pembahasan:

Salin isi dari lokasi 0x0200 pd data memory ke R5

(37)

Lihat Gambar

Lokasi 0x0200 terletak

pd internal SRAM

Maka instruksi:

Berarti, salin isi

internal SRAM yg berlokasi 0x0200 ke R5 Kusuma Wardana, M.Sc. 37 $0000 $0001 $0020 General purpose RAM (SRAM) R0 R1 R2 $001F $005F R31 .. . TWBR TWSR SPH SREG .. . General Purpose Registers Standard I/O Registers $00 $01 $3E $3F $0060 .. . .. . Data Address Space I/O Address .. . 8 bit $FFFF LDS R5, 0x0200

(38)

Contoh:

Tambahkan isi lokasi 0x300 dengan isi pd

lokasi 0x302. Manfaatkan R0 dan R1.

Selanjutnya, tentukan dimana letak 0x300?

LDS R0, 0x0300 ;R0=isi pd lokasi 0x300 LDS R1, 0x0302 ;R1=isi pd lokasi 0x302

(39)

Amati gambar:

Kusuma Wardana, M.Sc. 39

LDS R0, 0x0300 LDS R1, 0x0302 ADD R0, R1

(40)

R0 R1 Lokasi $300 Lokasi $302 Sebelum LDS R0,0x300 ? ? α β Setelah LDS R0,0x300 α ? α β LDS R0, 0x0300 LDS R1, 0x0302 ADD R0, R1

(41)

Contoh:

Apa maksud program berikut:

LDS R20, 2 Jawab:

Menyalin isi dari R2 ke R20

Mengapa?  karena 2 adalah alamat dari R2

(42)

STSSTore direct to data Space

STS Katakan ke CPU untuk menyimpan (mengkopi) isi dr GPR ke alamat lokasi pd data memory

(43)

Lokasi dapat berupa salah satu lokasi pada data memory: bisa salah satu I/O register, suatu lokasi di SRAM, atau GPR

Contoh:

Pembahasan:

Menyalin isi dari R10 dan tempatkan pd register berlokasi 1

Karena lokasi 1 adlh R1, maka  salin R10 ke R1

Kusuma Wardana, M.Sc. 43 STS 0x1, R10

(44)

Contoh:

Pembahasan:

Salin isi dari register R25 ke lokasi 0x230 pd data memory

Lokasi 0x230 adlh internal SRAM

(45)

Contoh:

Tulislah program utk menyimpan nilai 55 ke

lokasi 0x80 pada SRAM

Jawab:

LDI R20, 55 ;R20 = 55

STS 0x80, R20 ;[0x80] = R20 = 55

(46)

Contoh:

Tulislah program utk menyimpan nilai 0x99 ke

lokasi 0x200 sampai lokasi 0x203 pada ruang

SRAM Jawab: LDI R20, 0x99 ; R20 = 0x99 STS 0x200, R20 ; simpan pd R20 lokasi 0x200 STS 0x201, R20 ; simpan pd R20 lokasi 0x201 STS 0x202, R20 ; simpan pd R20 lokasi 0x202

(47)

Address Data $200 0x99 $201 0x99 $202 0x99 $203 0x99 Kusuma Wardana, M.Sc. 47 LDI R20, 0x99 ; R20 = 0x99 STS 0x200, R20 ; simpan pd R20 lokasi 0x200 STS 0x201, R20 ; simpan pd R20 lokasi 0x201 STS 0x202, R20 ; simpan pd R20 lokasi 0x202 STS 0x203, R20 ; simpan pd R20 lokasi 0x203

Tabel Lokasi Beserta Data yg Tersimpan

Ingat!!! Kita tidak dapat menyalin (menyimpan) nilai secara LANGSUNG ke lokasi pd SRAM. Hal ini harus dilakukan melalui perantara GPR

(48)

Contoh:

Buatlah tabel utk menyatakan keadaan nilai RAM yg

berlokasi dr $212 sampai $216 berdasar program

berikut: LDI R16, 0x99 STS 0x212, R16 LDI R16, 0x85 STS 0x213, R16 LDI R16, 0x3F STS 0x214, R16 LDI R16, 0x63 STS 0x215, R16 Address Data $212 0x99 $213 0x85 $214 0x3F $215 0x63 $216 0x12

Jawab:

(49)

Carilah isi dr R20, R21 dan data memory pd

lokasi 0x120 setelah program berikut:

LDI R20, 5

LDI R21, 2

ADD R20, R21

ADD R20, R21

STS 0x120, R20

Kusuma Wardana, M.Sc. 49

(50)

Lokasi Data R20 5 R21 0x120 Lokasi Data R20 5 R21 2 0x120 Lokasi Data R20 7 R21 2 Lokasi Data R20 9 R21 2 Lokasi Data R20 9 R21 2 Setelah LDI R20, 5 Setelah LDI R21, 2 LDI R20, 5 LDI R21, 2 ADD R20, R21 ADD R20, R21 STS 0x120, R20

(51)

Contoh:

Jumlahkan isi memori yg berlokasi di 0x90 dgn

isi memori yg berlokasi lokasi di 0x95 dan

simpan hasilnya di lokasi 0x313

Jawab: LDS R20, 0x90 ; R20 = [0x90] LDS R21, 0x95 ; R21 = [0x95] ADD R20, R21 ; R20 = R20 + R21 STS 0x313, R20 ; [0x313] = R20 Kusuma Wardana, M.Sc. 51

(52)

Contoh:

Isi register R16 dengan angka 0x55. Kemudian

pindahkan angka tersebut ke PORTB, PORTC

dan PORTD!

Jawab:

Pertama-tama, ketahui dulu dimana

alamat data memory utk PORTB, PORTC

(53)

Alamat PORTB = 0x38, PORTC = 0x35 dan PORTD=0x32 Kusuma Wardana, M.Sc. 53 Name Address I/O Mem. $00 $20 TWBR $01 $21 TWSR $04 $24 ADCL $05 $25 ADCH $02 $22 TWAR $03 $23 TWDR $06 $26 ADCSRA $07 $27 ADMUX $08 $28 ACSR $09 $29 UBRRL $0A $2A UCSRB $0B $2B UCSRA $0C $2C UDR $0D $2D SPCR $0E $2E SPSR $0F $2F PIND $10 $30 DDRD $11 $31 PORTD $12 $32 PINC $13 $33 DDRC $14 $34 PORTC $15 $35 PINB $16 $36 DDRB $17 $37 PORTB $18 $38 PINA $19 $39 DDRA $1A $3A PORTA $1B $3B EECR $1C $3C EEDR $1D $3D EEARL $1E $3E EEARH $1F $3F SPDR Name Address

I/O Mem. Name

Address I/O Mem. UBRRC $20 $40 UBRRH $21 $41 WDTCR $22 $42 ASSR $23 $43 OCR2 $24 $44 TCNT2 $25 $45 TCCR2 $26 $46 ICR1L $27 $47 ICR1H $28 $48 OCR1BL $29 $49 OCR1BH OCR1AH $2B $4B SFIOR $30 $50 OCDR $31 $51 OSCCAL $32 $52 TCCR0 $33 $53 MCUCSR $34 $54 MCUCR $35 $55 TWCR $36 $56 SPMCR $37 $57 TIFR $38 $58 TIMSK $39 $59 TCNT1L $2C $4C TCNT1H $2D $4D TCCR1B $2E $4E TCCR1A $2F $4F TCNT0 $3A $5A GICR $3B $5B OCR0 $3C $5C SPL $3D $5D SPH $3E $5E GIFR OCR1AL

(54)

Programnya sbb:

LDI R16, 0x55 ;R16 = 55 (hex)

STS 0x38, R16 ;salin isi R16 ke PORTB STS 0x35, R16 ;salin isi R16 ke PORTC STS 0x32, R16 ;salin isi R16 ke PORTD

(55)

ININ from I/O Location

IN  Katakan ke CPU untuk menyalin 1

byte dari register I/O ke GPR

Setelah program ini dieksekusi, GPR akan

memiliki nilai yg sama dgn I/O register

(56)

Contoh:

IN R20, 0x16 Pembahasan:

Salin isi dr lokasi 16 (hex) pd I/O memory ke dalam R20

I/O memory memiliki 2 alamat:

(57)

Setiap lokasi dlm data memory memiliki

alamat unik  disebut data memory

address

Setiap I/O register memiliki alamat relatif dlm kaitannya dgn awal dr I/O memory 

disebut I/O address

(58)

Name Address I/O Mem. $00 $20 TWBR $01 $21 TWSR $04 $24 ADCL $05 $25 ADCH $02 $22 TWAR $03 $23 TWDR $06 $26 ADCSRA $07 $27 ADMUX $08 $28 ACSR $09 $29 UBRRL $0A $2A UCSRB $0B $2B UCSRA $0C $2C UDR $0D $2D SPCR $0E $2E SPSR $0F $2F PIND $10 $30 DDRD $11 $31 PINB $16 $36 DDRB $17 $37 PORTB $18 $38 PINA $19 $39 DDRA $1A $3A PORTA $1B $3B EECR $1C $3C EEDR $1D $3D EEARL $1E $3E EEARH $1F $3F SPDR Name Address

I/O Mem. Name

Address I/O Mem. UBRRC $20 $40 UBRRH $21 $41 WDTCR $22 $42 ASSR $23 $43 OCR2 $24 $44 TCNT2 $25 $45 TCCR2 $26 $46 ICR1L OCR1AH $2B $4B SFIOR $30 $50 OCDR $31 $51 OSCCAL $32 $52 TCCR0 $33 $53 MCUCSR $34 $54 MCUCR $35 $55 TWCR $36 $56 SPMCR $37 $57 TIFR $38 $58 TIMSK $39 $59 TCNT1L $2C $4C TCNT1H $2D $4D TCCR1B $2E $4E TCCR1A $2F $4F TCNT0 $3A $5A GICR $3B $5B GIFR

(59)

Contoh:

IN R20, 0x16 Pembahasan:

Salin isi dr lokasi 0x16 pd I/O memory ke

dalam R20

Alamat I/O 0x16 adalah milik PINB

Jadi, arti program tsb: salin isi PINB ke R20

(60)

Contoh:

IN R19, 0x10 Pembahasan:

Salin isi dr lokasi 0x10 pd I/O memory ke dalam R19

Alamat I/O 0x10 adalah milik PIND

(61)

Agar dapat bekerja lebih mudah, sintaks sebelumnya bisa ditulis sbb:

IN R19, PIND

* Butuh file header jika menggunakan nama dr suatu alamat I/O

(62)

Contoh:

Jumlahkan nilai pada PINC dgn isi pd PIND

dan simpan hasilnya pd lokasi 0x300 pd data

memory

Jawab:

IN R1, PINC ; R1 = PINC IN R2, PIND ; R2 = PIND

(63)

IN vs. LDS

Kita tahu bahwa LDS jg bisa digunakan utk

menyalin isi dr suatu lokasi ke GPR

Lalu, apa keuntungan menggunakan IN

untuk membaca isi dr I/O register

ketimbang memakai LDS?

(64)

IN vs. LDS

Beberapa keuntungan menggunakan instruksi IN, sbb:

CPU mengeksekusi instruksi IN lebih cepat drpd LDS (IN = 1 siklus, LDS = 2 siklus)

IN adalah instruksi 2-byte, sdgkn LDS 4-byte. Berarti, IN menghabiskan lebih sedikit memori Kita dpt menggunakan nama dr I/O register sbg ganti alamatnya

(65)

OUTOUT to I/O Location

OUT  Katakan ke CPU untuk menulis

nilai pd GPR ke

I/O register

Setelah program ini dieksekusi, I/O

register akan memiliki nilai yg sama dgn

GPR

(66)

Contoh:

LDI R20, 0xE6 OUT SPL, R20 Pembahasan:

Masukkan nilai 0xE6 ke register R20 Keluarkan nilai pd R20 ke SPL

(67)

Contoh:

Salin nilai PIND ke PORTA

Jawab:

IN R0, PIND OUT PORTA, R0

(68)

Contoh:

Buatlah program untuk mendapatkan data

dari PINB dan kirim ke PORTC secara terus

menerus Jawab:

ULANGI: IN R16, PINB OUT PORTC, R16

(69)

MOV MOVe or Copy data among GPR

MOV  Katakan ke CPU untuk menyalin

data

antar register GPR

(70)

Contoh:

MOV R10, R20 Pembahasan:

Salin isi register R20 ke register R10

Sebagai contoh, jika R20 memiliki nilai 60, maka setelah eksekusi  nilai R10 juga 60

(71)
(72)

SUB SUBstract

SUB  Katakan ke CPU untuk mengurangi

(73)

Contoh:

Kurangi nilai register R10 dgn 1 (hex) Jawab:

LDI R16, 0x1 ;R16 = 1

SUB R10, R16 ;R10 = R10 – 1

(74)

Contoh: Hitunglah 0x34 – 0x25 Jawab: LDI R20, 0x34 ;R20 = 0x34 LDI R21, 0x25 ;R21 = 0x25 SUB R20, R21 ;R20 = R20 – R21

(75)

INC INCrement

INC  Katakan ke CPU untuk Menambah

nilai Rd dengan 1 dan simpan hasilnya di

Rd

(76)

Contoh:

INC R2 ; R2 = R2 + 1 Pembahasan:

Tambahkan isi dari R2 dengan 1 Simpan hasilnya di R2

(77)

Contoh:

Naikkan satu nilai pada register data

memory yang berlokasi di 0x430

Jawab:

LDS R20, 0x430 ;R20 = [0x430] INC R20 ;R20 = R20 + 1 STS 0x430, R20 ;[0x430] = R20

(78)

DEC DECrement

DEC  Katakan ke CPU untuk mengurangi

nilai Rd dengan 1 dan simpan hasilnya di

(79)

Contoh:

Kurangi nilai register R10 dgn 1

Jawab:

DEC R10 ;R10 = R10 – 1

(80)

Contoh:

Isi register R15 dengan 3. Kemudian kurangi

sampai menjadi nol

Jawab:

LDI R16, 3 ;R16 = 3 MOV R15, R16 ;R15 = 3 DEC R15 ;R15 = 2 DEC R15 ;R15 = 1

(81)

COM COMplement

COM  Komplemen (invert) isi dari Rd dan

simpan hasilnya di Rd

(82)

Contoh:

Tempatkan nilai alamat 0x55 ke R2 kemudian kirim nilai R2 ini ke PORTB. Nilai R2 selanjutnya diinvers dan kirim kembali ke PORTB

Jawab:

LDS R2, 0x55 ;R2 = 0x55

OUT PORTB, R2 ;PORTB = 0x55 COM R2 ;invers R2

(83)

Contoh:

Berdasarkan program sblmnya, tulislah program utk men-toggle nilai I/O register PORTB secara terus-menerus

Jawab:

LDI R16, 0x55 ;R16 = 0x55(01010101) OUT PORTB, R16 ;PORTB = 0x55

L1: COM R16 ;invers R16

OUT PORTB, R16 ;PORTB = 0xAA(10101010) JMP L1

(84)
(85)

Sintaks yang melibatkan 1 GPR

Kusuma Wardana, M.Sc. 85

(86)

Mazidi, Naimi and Naimi, 2011, The AVR

Microcontroller and Embedded System: Using

Assembly and C, Prentice Hall

www.atmel.com/

Morton, John, 2007, AVR: An Introductory

Course, Newnes Publisher

Gadre, Dhananjaya, 2001, Programming and

Customizing the AVR Microcontroller,

McGraw-Hill

Daniel J.Pack and Steven F.Barrettt, 2008, Atmel AVR Microcontroller Primer:

Gambar

Tabel Lokasi Beserta Data yg Tersimpan

Referensi

Dokumen terkait

Publikasi Kota Ternate Dalam Angka 2014 ini menyajikan data statistik dari berbagai sumber baik produk Badan Pusat Statistik (BPS) berupa output dari berbagai

Kanker dini sering kali tidak !e!#erikan keluhan spesi(ik atau !enun'ukan tanda sela!a #e#erapa tahun. U!u!n$a penderita !erasa sehat& tidak n$eri dan tidak terganggu

Ikan patin siam diintroduksikan ke Waduk Wonogiri dalam periode tahun 1999- 2002 melalui serangkaian penelitian yang dilakukan oleh peneliti dari Pusat Penelitian Pengelolaan

Pendampingan Penyusunan Renstra SD Negeri Rejowinangun Utara 4 Gugus Sultan Agung Kota Magelang. Pada awal penelitian, hasil

3.1 Komposisi Kimia Pelepah Sawit Bahan baku yang digunakan sebagai sumber selulosa pada penelitian ini adalah pelepah sawit yang diperoleh dari perkebunan sawit Fakultas

Kias adalah merupakan salah satu sumber hukum yang menjadikan hukum Islam tidak sempit dan tidak kaku, sebab segala persoalan yang baru muncul dalam kehidupan

DESKRIPSI UNIT : Unit ini berhubungan dengan pengetahuan, keterampilan dan sikap kerja yang dibutuhkan dalam membuat laporan produksi pada bagian blowing, carding,

Selain binatang anjing merupakan sosok yang bersahabat binatang anjing juga memiliki sisi keunikan tersendiri dari sifat, tingkah laku dan wajah yang lucu untuk dijadikan