mengenal siklus mesin dan timer pada asembler

Machine Cycle atau siklus mesin merupakan satuan waktu terkecil dalam menjalankan satu instruksi MCS51. Satu machine cycle terdiri atas enam state atau tahap. Masing-masing tahap terdiri dan 2 phase atau fase. Jadi, satu machine cycle terdiri dan 12 periode osilator (6 state x 2 phase) atau 12 pulsa clock. Jika frekuensi crystal yang digunakan adalah 12 MHz, maka crystal tersebut akan mengeluarkan 12.000.000 pulsa per detik. Hal ini berarti dalam satu detik akan ada 1.000.000 (12.000.000/12) machine cycle. Atau dengan kata lain, satu machine cycle akan memakan waktu satu mikro detik. Jika frekuensi crystal yang digunakan lebih tinggi, maka akan ada lebih banyak machine cycle dalam satu detik sehingga lebih banyak instruksi/opcode yang dapat dijalankan.
Gambar.1 Satu Siklus Mesin
Dan untuk lebih mudahnya kita akan membuat program tundaan satu detik dengan bahasa assembly. Perhatikan listing program berikut ini        MOV    R1,#2        ; 1 SIKLUS MESIN
DEL1    :    MOV    R2,#244    ; 1 SIKLUS MESIN
DEL2    :    MOV    R3,#255    ; 1 SIKLUS MESIN
DEL3    :    DJNZ R3,DEL3    ; 2 SIKLUS MESIN X 255
DJNZ R2,DEL2    ; 2 SIKLUS MESIN X 244
DJNZ R1,DEL    ; 2 SIKLUS MESIN X 2Dari program diatas kita dapat melihat ada dua buat Op-Code yang kita gunakan yakni MOV dan DJNZ. Masing-masing op-code tersebut memiliki siklus mesin namun berbeda. MOV memiliki 1 siklus mesin sedankan DJNZ memiliki 2 Siklus Mesin. Dan untuk perhitungan Waktunya kita menggunakan Persamaan:
Delay    = [ siklus mesin MOV+ (siklus mesin DJNZ x jumlah Putaran) ] x perioda clock
= [ 1 + ( 1 + ( 1 + ( 2 x 255 ) ) x ( 2 x 244 ) ) x ( 2 x 2 ) ] x 1 mikrosekon
= 997477 mikrosekon
= 1 detik

Posted on April 15, 2014, in Uncategorized. Bookmark the permalink. Tinggalkan komentar.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: