Skip to content

Membuat Delay di AVR dengan asembly

16 March 2010

Listing program assembly untuk delay pada ATMega sebagai berikut :

Misal untuk delay 25µs pada clock 12MHz adalah

Delay_25us :
LDI R16,100 ; register R16 = 100
Delay :
DEC R16 ; R16 = R16 – 1
BRNE Delay ;  loop jika R16 tidak = 0
RET

Nilai 100 yang di isikan pada Register R16 di peroleh  dengan cara sebagai berikut:

1 cycle   =  1 / clock  -> maka AT mega lebih cepat dari MCS51 (AT8S…)

= 1/12 MHz

= 8.3333e-8 s

Intruksi – intruksi yang dipakai pada contoh diatas mempunyai cycle :

LDI = 1 cycle
DEC = 1 cycle
BRNE = 1 cycle jika bernilai salah
2 cycle jika bernilai benar

Delay 25 µs dengan clock 12 MHz membutuhkan 300 cycle (25 µs x 12 Mhz).

Coba sekarang kita jabarakan berapa cycle listing program di atas:

Gambar 1

Listing program di atas merupakan delay  loop 1 tingkat yang mempunyai nilai maksimum cycle sebesar  765 cycle dan nilai maksimum delay 765 cycle x 1/ clock , bila menggunakan clock 12 Mhz maka delaynya sebesar 63,75 µs.

Kesimpulan Uraian diatas :

Delay 25 µs ( nilai R16) = 25 µs x 12 Mhz / 3

= 100

Untuk delay 1 tingkat nilai R16 dapat di tentukan dengan rumus

R16 = nilai delay yang di inginkan   x  clock  / 3

NB:  nilai delay diinginkan tidak boleh melebihi nilai maksimum delay sesuai clock yang di gunkaan.

Contoh untuk delay 12 µs:

R16 = 12 µs* 12 Mhz / 3

= 48

Hasil simulasinya di tunjukan pada Gambar 2

Gambar 2

Bagaimana kalau delay yang kita inginkan melebihi dari 63,75 µs pada clock 12 Mhz ?

Tunggu bagian selanjutnya …..🙂

From → Mikrokontroller

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: