JUMAT, 23 NOVEMBER 2012
Ringkasan Materi Percobaan 3
Mikrokontroler MCS-51
Sebuah mikroprosesor yang digabungkan dengan
input-output (I/O) dan memori ( RAM/ROM ) akan membentuk sebuah system
mikrokomputer. Sejarah singkatnya Tahun 1976 intel meluncurkan mikrokontroler
pertama disebut seri MCS-48 yang berisi lebih dari 17.000 transistor yang
hingga saat ini digunakan untuk aplikasi khusus. Seiring perkembangan jaman
yang sangat pesat lahir kembali seperti seri MCS-51, 68HC11, mikrokontroller
PIC, Fujitsu dan sebagainya.
- Jenis Mikroprosesor :
1.
Mikroprosesor RISC (
Reduced Instruction Set of computing ) Dan CISC ( Complex Instruction Set Of
Computer ) jenis ini yang digunakan untuk pengolahan informasi dengan perangkat
lunak yang rumit digunakan kebanyakan PC.
2.
Pengolahan Sinyal
Digital
3.
Mikrokontroler, adalah
mikroprosesor yang dikhususkan untuk instrumentasi atau kendali, contoh
penggunaannya seperti penggerak motor berperan seperti PLC ( Programmable Logic
Controller )
- Mikrokontroler adalah suatu
chip yang dibuat dengan cirri khasnya, umumnya adalah :
1.
Memiliki memory yang
lebih sedikit.
2.
Memiliki Unit I/O
langsung
3.
Program atau perangkat
lunaknya relative sederhana.
4.
Pemroses Bit ketimbang
Byte
5.
Beberapa varian
memiliki memory yang tak bias hilang bila catu daya padam didalamnya untuk
menyimpang suatu program.
- Karakteristik Mikrokontroler
Sbb :
1. Memiliki program khusus yang disimpan dalam memory dalam
aplikasi tertentu
2. Konsumsi daya kecil
3. Rangkaian sederhana dan kompak
4. Murah, karena komponen yang digunakan sedikit
5. Unit I/O yang sederhana misal keypad, lcd, led, latch
6. Lebih tahan lama dalam kondisi ekstreem, misal temperature,
tekanan, kelembaban dan sebagianya.
. Perintah Dasar Mikrokontroler MCS-51
Perintah dasar yang biasa digunakan pada uController MCS-51
adalah sebagai berikut:
1. clr (clear)
format : clr a
(mereset atau memberi nilai 00h pada
akumulator)
clr rx
(mereset atau memberi nilai 00h pada register x)
Contoh: clr r0
clr py
(mereset atau memberi nilai 00h pada port y)
Contoh: clr p1
clr
(mereset atau memberi nilai 00h pada alamat tertentu)
(mereset atau memberi nilai 00h pada alamat tertentu)
Contoh: clr 4ah
2. Mov
format : mov a, px
(menyalin isi data pada port x ke dalam akumulator)
Contoh: mov a, p3
mov px, # (menyalin suatu nilai 8-bit ke port x)
Contoh: mov p0, #0feh
mov px, ry
(menyalin isi data yang nilainya terdapat pada register y ke
dalam port x)
Contoh: mov p3, r5
3. setb (set bit)
format : setb px.y
(menset atau memberikan logika 1 pada port x.y)
Contoh: setb p1.0
4. Call
Call terbagi menjadi dua format yaitu acall (absolute call) dan
lcall (long call), perbedaannya hanya pada kemampuan jauh dekatnya pemanggilan
subrutin. Seandainya penggunaan acall hanya mampu memanggil sampai alamat 100h
maka untuk lcall dapat lebih dari itu, namun juga untuk penggunaan lcall
membutuhkan memori dan siklus mesin yang lebih banyak.
Saat perintah call dijalankan, isi register PC (Program Counter)
akan disimpan ke dalam stack dan digantikan dengan alamat subrutin yang
dipanggil. Saat subrutin berakhir dengan ditandai perintah ret (return)
register PC akan diisi kembali oleh isi dari stack, dan mikrokontroler akan
menjalankan perintah di bawah baris perintah call tadi.
Format : acall (perintah untuk memanggil program pada subrutin)
Format : acall (perintah untuk memanggil program pada subrutin)
Contoh: acall cinta
lcall (perintah
untuk memanggil program pada subrutin)
Contoh: lcall computer
Cat.: Penggunaan subrutin sebaiknya
menggunakan kata, untuk kata-katanya sesuka pemrogram boleh menggunakan nama
sendiri, nama kota
ataupun nama-nama lainnya.
5. jmp (jump)
Jmp juga terbagi menjadi dua format yaitu sjmp (short jump) dan
ljmp (long jump), untuk pengunaannya sama seperti format call pada penjelasan
di atas, hanya saja jump merupakan lompatan sederhana yang tidak dapat
mengembalikan nilai register PC seperti perintah call.
Format : sjmp
(lompat atau jalankan langsung program yang berada pada label
suatu subprogram)
Contoh: sjmp kamu
Contoh: sjmp kamu
sjmp
(lompat atau jalankan langsung program yang berada pada suatu alamat memori)
Contoh: ljmp 100h
(lompat atau jalankan langsung program yang berada pada suatu alamat memori)
Contoh: ljmp 100h
6. djnz (decrement and jump if not zero)
format : djnz rx,
(kurangi nilai isi data pada register x dan bila nilainya belum
mencapai 0 maka akan
dilakukan lompatan ke label subprogram)
Contoh: djnz r7, gaul
(kurangi nilai isi data pada register R7 dan bila nilainya belum
mencapai 0 maka
dilakukan lompatan ke subprogram dengan label gaul)
7. jnb (jump if not bit set)
format : jnb px.y,
(lompat ke label subprogram bila nilai port x.y berlogika LOW
atau mempunyai nilai 0)
Contoh: jnb p1.0, go
Cat : jnb hanya bisa dijalankan dengan operand
yang berkapasitas 1 bit.
8. cjne (compare and jump if not equal)
8. cjne (compare and jump if not equal)
format : cjne a, xyz,
(bandingkan apakah nilai akumulator sama dengan nilai xyz, bila
nilainya tidak sama
maka lompat ke label subprogram)
Contoh: cjne a, #0fh, keren
cjne rv, xyz,
(bandingkan apakah nilai register v sama dengan nilai xyz, bila
nilainya tidak sama maka lompat ke label subprogram)
Contoh: cjne r1, #0ach, ganteng
9. rr (rotate right)
rl (rotate left)
format : rr a
(geser ke kanan 1 bit pada isi akumulator)
rl a
(geser ke kiri 1 bit pada isi akumulator)
rr rx
(geser ke kanan 1 bit pada isi register x)
rl rx
(geser ke kiri 1 bit pada isi register x)
10. inc (increment)
dec
(decrement)
format : inc a
(menambahkan nilai 1 bit pada akumulator)
dec
a
(mengurangi nilai 1 bit pada akumulator)
inc rx
(menambahkan nilai 1 bit pada register x)
dec rx
(mengurangkan nilai 1 bit pada register x)
Catatan : untuk perintah yang menggunakan decrement, increment, rotate, compare hanya dapat dilakukan oleh akumulator maupun register saja. Bila nilai pada suatu port ingin dilakukan perintah diatas maka port tersebut wajib disalin terlebih dahulu kedalam akumulator atau register dengan menggunakan perintah mov.
- Format Penulisan Standar bahasa
assembly MCS-51 ( Pada M-IDE51 )
$mod51
Org 0h
;
- Main Program –
;
end
- Untuk Keterangannya :
- $mod51
Instruksi ini digunakan untuk agar simulator dapat
mengidentifikasi program yang dibuat dalam bahasa assembler.
- Org 0h
Mempunyai fungsi untuk menulis program dialamat 0 hexa pada
register mikrokontoroler
- Main Program
Berisi program utama
- End
Untuk mengakhiri program
Sumber http://dickysmk3.blogspot.com/
1 comments:
Borgata Hotel Casino and Spa - Mapyro
MapYRO, NJ · BORGATA HOTEL CASINO & SPA 제천 출장안마 · Borgata 인천광역 출장샵 Hotel Casino & Spa · Borgata Hotel 속초 출장마사지 Casino & Spa · Borgata Hotel 계룡 출장안마 Casino & Spa · Borgata Hotel Casino & Spa 통영 출장안마
Post a Comment