Nano.M.H

Mikrokontroller

Percobaan Led

PERCOBAAN 1
BASIC I/O (Paralel IN-OUT μController)
Tujuan
1. Memahami pengertian mikrokontroler
2. Dapat melakukan pemrograman mikrokontroler MCS-51 menggunakan bahasa
assembler pada program simulasi ReadS51.
Teori Dasar
1. MIKROKONTROLER MCS-51
Sebuah mikroprosesor yang digabungkan dengan input-output (I/O) dan memori
(Random Access Memory/Read Only Memory) akan membentuk sebuah sistem
mikrokomputer. Dari pemikiran CPU yang dapat dikonstruksi dalam sebuah IC tunggal,
maka sebuah mikroprosesor, I/O dan memori dapat pula dibangun dalam tingkatan IC.
Konstruksi ini menghasilkan Single Chip Microcomputer (SCM). SCM inilah yang disebut
sebagai mikrokontroler.
Tahun 1976 Intel meluncurkan mikrokontroler pertama yang disebut seri MCS-48
yang berisi lebih dari 17.000 transistor, hingga saat ini seri ini masih banyak digunakan
untuk aplikasi khusus. Seiring perkembangan mikroprosesor, mikrokontroler juga
mengalami perkembangan pesat seperti turunan MCS-51, 68HC11, mikrokontroler PIC,
Fujitsu dan sebagainya.
Pada awal perkembangannya, mikroprosesor dibuat menurut kebutuhan aplikasi yang
lebih spesifik, dalam hal ini mikroprosesor dibagi menjadi beberapa jenis, yaitu :
 Mikroprosesor RISC (Reduced Instruction Set of Computing) dan CISC (Complex
Instruction Set of Computing). Jenis ini yang digunakan untuk pengolahan
informasi dengan perangkat lunak yang rumit dan digunakan untuk kebanyakan
PC (Personal Computer) saat ini.
 Pengolah Sinyal Digital, DSP (Digital Signal Processor). Memiliki perangkat lunak
dan perangkat keras yang ditujukan untuk mempermudah proses pengolahan
sinyal-sinyal digital. DSP digunakan pada perangkat audio dan video modern
seperti VCD, DVD, home theatre dan juga pada kartu-kartu multimedia di
komputer.
Mikrokontroler, adalah mikroprosesor yang dikhususkan untuk instrumentasi dan kendali.
Contoh penggunaannya adalah sebagai pengendali motor, berperan seperti PLC
(Programmable Logic Controller), pengaturan pengapian dan injeksi bahan bakar pada
kendaraan bermotor
Register yang digunakan untuk mengatur komunikasi serial terdapat pada Serial Control
(SCON)
Modul Embdded System
Lab. Lanjut Kalimalang 2007
I-2
 atau alat pengukur otomatis suatu besaran seperti suhu, tekanan, kelembaban
dan lain-lain.
Dalam perkembangan yang begitu cepat, batasan-batasan tersebut menjadi kabur,
seperti definisi mini, mikro dan mainframe komputer. Beberapa mikrokontroler disebut
embedded processor, atau embedded processor adalah mikrokontroler, artinya prosesor
yang diberikan program khusus yang selanjutnya diaplikasikan untuk akuisisi data dan
kendali khusus, juga bisa diprogram ulang. Beberapa mikrokontroler modern juga sudah
dilengkapi dengan DSP atau terdapat pula mikrokontroler yang tergolong RISC seperti
mikrokontroler AVR (Alf and Vegard’s Risc processor).
Mikrokontroler adalah suatu chip yang dibuat dengan ciri khasnya, umumnya adalah :
 Memiliki memori yang relatif sedikit. Penggunaan mikrokontroler untuk keperluan
instrumentasi khusus membuatnya tidak efisien jika menggunakan memori yang
besar namun tidak terpakai.
 Memiliki unit I/O langsung. Berbeda dengan mikrokomputer yang unit I/O-nya
dapat dikonfigurasi lebih lanjut, mikrokontroler mempunyai unit I/O yang
terintegrasi dan berhubungan langsung dengan mikroprosesornya.
 Program atau perangkat lunaknya relatif sederhana. Sesuai fungsi yang dibuat
untuk tujuan khusus, mikrokontroler hanya membutuhkan program yang
sederhana untuk menjalankan fungsinya.
 Pemroses bit, ketimbang byte. Dengan memori yang sedikit dan implementasi
perangkat lunak yang sederhana, mikrokontroler lebih cenderung digunakan untuk
memproses bit (binary digit) dibandingkan byte (8 bit), untuk kemudian setiap bit
disalurkan ke setiap jalur keluaran I/O pada pin-pin yang dimilikinya.
 Beberapa varian memiliki memori yang tidak hilang bila catu padam didalamnya
untuk menyimpan program.
Sedangkan dalam hal aplikasi, sistem mikrokontroler memiliki karakteristik sebagai
berikut :
 Memiliki program khusus yang disimpan dalam memori untuk aplikasi tertentu,
tidak seperti PC yang multifungsi karena mudahnya memasukkan program.
Program mikrokontroler relatif lebih kecil daripada program-program pada PC.
 Konsumsi daya kecil.
 Rangkaian sederhana dan kompak.
 Murah, karena komponen yang digunakan sedikit.
 Unit I/O yang sederhana, misalnya keypad, LCD, LED, latch.
 Lebih tahan terhadap kondisi lingkungan ekstrim misalnya temperatur, tekanan,
kelembaban dan sebagainya.
Intel 8048 adalah SCM yang pertama, dipasarkan pada tahun 1976, ini merupakan
cikal bakal dari mikrokontroler. Keluarga dari 8048 adalah 8021, 8022, 8048, dan 8049
yang hingga saat ini masih digunakan pada alat-alat kedokteran modern dan digunakan
pada keyboard IBM PC untuk scanning tombol-tombolnya. Versi 8748 memiliki EPROM 1
kByte untuk menyimpan programnya. Keluarga mikrokontroler pertama ini dikenal dengan
nama MCS-48. Generasi kedua mikrokontroler 8 bit adalah keluarga mikrokontroler 8051
di tahun 1980, dengan nama MCS-51 dan diklaim sebagai standar mikrokontroler untuk
industri yang menguasai lebih dari 60% pasar mikrokontroler dan menjadi inti bagi
terciptanya mikrokontroler produk lainnya. Generasi ketiga adalah mikrokontroler 16 bit,
Modul Embdded System
Lab. Lanjut Kalimalang 2007
I-3
seri MCS-96 yang dapat melakukan operasi 16 bit serta penambahan kemampuan dan
kecepatan proses yang ditingkatkan. Kini jutaan chip telah digunakan di seluruh dunia
untuk pengendalian proses-proses dan instrumentasi.
Seri MCS-51 sederhana, murah dan mudah didapat di pasaran, cukup untuk aplikasi
sederhana bagi pencinta elektronik maupun aplikasi di industri. Chip ini kemudian
dikembangkan menjadi beberapa seri dengan berbagai kemampuan seperti pada 8031,
80C31, 8051AH dan 8751.
Beberapa perusahaan produsen semikonduktor membuat variannya atas lisensi Intel,
yaitu suatu chip yang dapat menjalankan bahasa dan fitur 8051 ditambah dengan
kemampuan dan kemudahan khusus. Perusahaan tersebut antara lain AMD, Atmel,
Dallas, Matra, OKI, Philips, Siemens, ISS. Produk Philips memberikan tambahan adanya
ADC (Analog to Digital Converter) dan generator PWM (Pulse Width Modulation),
sedangkan Dallas mempercepat detak (clock) dan siklus mesin, Atmel membuat
mikrokontroler yang menggunakan memori Flash dan harganya relatif murah.
2. PERINTAH DASAR 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 <alamat 8 bit>
(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, #<nilai 8 bit>
(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)
Modul Embdded System
Lab. Lanjut Kalimalang 2007
I-4
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 <label subrutin>
(perintah untuk memanggil program pada subrutin)
Contoh: acall cinta
lcall <label subrutin>
(perintah untuk memanggil program pada subrutin)
Contoh: lcall komputer
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 <label subprogram>
(lompat atau jalankan langsung program yang berada pada label suatu
subprogram)
Contoh: sjmp kamu
sjmp <alamat memori>
(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, <label subprogram>
(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)
Modul Embdded System
Lab. Lanjut Kalimalang 2007
I-5
7. jnb (jump if not bit set)
format : jnb px.y, <label subprogram>
(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)
format : cjne a, xyz, <label subprogram>
(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, <label subprogram>
(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)
Cat : 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.
Modul Embdded System
Lab. Lanjut Kalimalang 2007
I-6
 Format penulisan standar bahasa assembly MCS-51 (pada Rigel ReadS51) :
#include <sfr51.inc>
org 100h
mov p0,#0ffh
mov p1,#0ffh
mov p2,#0ffh
mov p3,#0ffh
;
~ Main Program ~
;
end
Keterangan:
 #include <sfr51.inc>
mengambil file sfr51.inc pada library program Reads51 yang berguna sebagai
referensi alamat memory untuk port, register, akumulator dan lainnya. Dengan
ini dalam penulisan program, tidak perlu perintah inisialisasi, perintah yang
seharusnya mov 0×80,#ffh dapat ditulis mov p0,#0ffh. Sebenarnya masih
banyak lagi file include yang dapat digunakan hanya saja pada penggunaan
standar hanya digunakan sfr51.inc atau sfr52.inc. Cat : sfr51.inc (AT89x51),
sfr52.inc (AT89x52).
 org 100h
mempunyai fungsi yang sama dengan perintah a100 pada pemrograman BGC
yaitu memulai program dari alamat memori 100h.
 mov px, #0ffh
men-set suatu port atau berguna untuk mengaktifkan port yang akan
digunakan sebagai input maupun sebagai output. Bila hanya ingin menguji
sebuah program pada suatu simulasi, perintah ini tidak akan banyak
berpengaruh pada hasil output program namun bila ingin diterapkan pada alat
nyata, perintah ini wajib disertakan.
 Main Program
Berisi program utama
 End
Mengakhiri baris program
Modul Embdded System
Lab. Lanjut Kalimalang 2007
I-7
La po r a n Pe nda h ul ua n
1. Apa perbedaan antara Mikroprosesor dan Mikrokontroler?…………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
2. Sebutkan dan jelaskan kelebihan Mikrokontroler MCS-51 dibandingkan seri
mikrokontroler lainnya! …………………………………………………………………………………….
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
3. Jelaskan yang dimaksud dengan siklus mesin! Berapa waktu yang dibutuhkan untuk 1
(satu) siklus mesin MCS-51 jika digunakan kristal 12MHz? ………………………………….
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
4. Sebutkan dan jelaskan macam-macam Special Function Register (SFR) pada MCS-
51? ………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
Modul Embdded System
Lab. Lanjut Kalimalang 2007
I-8
5. Buat program dengan menggunakan bahasa Assembler MCS-51 untuk membuat
aplikasi running LED pada port 0 dengan konfigurasi LED aktif low……………………….
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………..
– 00 –
Modul Embdded System
Lab. Lanjut Kalimalang 2007
I-9
Alat-alat :
1. Set IBM PC dengan Sistem Operasi Windows Xp dan Software Rigel ReadS51.
2. Modul BTK beserta Power Supply
Prosedur percobaan :
Bagian 1
Modul 1.1A. Clear, Mov, dan SetB
1. Jalankan program Rigel ReadS51.
2. Ketikkan program di bawah ini.
#include <sfr51.inc>
clr a
mov p0,a
end
3. Save file assembler tersebut (Ctrl+S) dan simulasikan (tekan F2 lalu klik tanda
seru ‘!’). Bagaimana hasil keluaran setiap port (lihat di SimIO).
(Tanyakan Asisten apabila ada yang kurang jelas)
7 6 5 4 3 2 1 0 hex
P0
P1
P2
P3
4. Ubah program sebelumnya menjadi seperti di bawah ini dan simulasikan. Catat
hasil keluaran setiap port.
#include <sfr51.inc>
org 100h
mov p0,#0fh
mov p1,#00001111b
mov p2,#a5h
mov p3,#10100101b
end
Ket :
= ON
= OFF
Modul Embdded System
Lab. Lanjut Kalimalang 2007
I-10
Keluaran:
7 6 5 4 3 2 1 0 hex
P0
P1
P2
P3
5. Tambahkan baris program no. 4 agar menjadi seperti di bawah ini. Simpan dan
simulasikan. Catat hasil keluaran dari setiap port.
#include <sfr51.inc>
org 100h
mov p0,#0fh
mov p1,#00001111b
mov p2,#0a5h
mov p3,#10100101b
setb p0.7
setb p1.6
setb p2.1
setb p3.3
end
Keluaran:
7 6 5 4 3 2 1 0 hex
P0
P1
P2
P3
Kesimpulan:
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
Ket :
= ON
= OFF
Ket :
= ON
= OFF
Modul Embdded System
Lab. Lanjut Kalimalang 2007
I-11
Modul 1.1B. Teknik Delay, Conditional dan Unconditional Jump
3. Buat file assembler baru (Tekan <Ctrl+N>, lalu pilih Assembly File). Ketikkan
program di bawah ini, kemudian simpan, setelah itu simulasikan.
#include <sfr51.inc>
org 100h
mulai: mov p1,#0fh
acall delay
mov p1,#0f0h
acall delay
sjmp mulai
delay: mov r0,#0fh
ulang: djnz r2,ulang
djnz r1,ulang
djnz r0,ulang
ret
end
Kesimpulan:
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
Keluaran Kondisi 1:
7 6 5 4 3 2 1 0 hex
P0
P1
P2
P3
Keluaran Kondisi 2:
7 6 5 4 3 2 1 0 hex
P0
P1
P2
P3
Modul Embdded System
Lab. Lanjut Kalimalang 2007
I-12
4. Buat file assembler baru, dan ketik program di bawah ini.
#include <sfr51.inc>
org 100h
nyala: mov p1,#00h
jnb p0.0,mati
sjmp nyala
mati: mov p1,#ffh
jnb p0.7,nyala
sjmp mati
end
Simpan file assembler tersebut, lalu simulasikan.
a. Kondisi setiap port saat P0.0 diberikan logika LOW (diklik).
b. Kondisi setiap port saat P0.7 diberikan logika LOW (diklik).
5. Ubah Program no. 2 menjadi seperti di bawah ini. Simpan, kemudian simulasikan.
#include <sfr51.inc>
org 100h
nyala: mov p1,#00h
mov a,p0
cjne a,#feh,nyala
mati: mov p1,#ffh
mov a,p0
cjne a,#7fh,mati
sjmp nyala
end
Keluaran:
7 6 5 4 3 2 1 0 hex
P0
P1
P2
P3
Keluaran:
7 6 5 4 3 2 1 0 hex
P0
P1
P2
P3
Modul Embdded System
Lab. Lanjut Kalimalang 2007
I-13
a. Kondisi setiap port saat P0.0 diberikan logika LOW (diklik).
b. Kondisi setiap port saat P0.7 diberikan logika LOW (diklik).
6. Apa perbedaan program no. 2 dan no. 3? Bagaimana keluarannya? Jelaskan!
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
Keluaran:
7 6 5 4 3 2 1 0 hex
P0
P1
P2
P3
Keluaran:
7 6 5 4 3 2 1 0 hex
P0
P1
P2
P3
Modul Embdded System
Lab. Lanjut Kalimalang 2007
I-14
Modul 1.1C. Rotate Left, Rotate Right dan Register
1. Ketik program di bawah ini, simpan, dan simulasikan.
#include <sfr51.inc>
org 100h
mov p1, #0feh
mov a, p1
pil : jnb p0.0,knn
jnb p0.7,kiri
sjmp pil
knn : rr a
mov p1,a
acall delay
sjmp pil
kiri : rl a
mov p1,a
acall delay
sjmp pil
delay :mov r0,#0fh
ulang : djnz r2,ulang
djnz r1,ulang
djnz r0,ulang
ret
end
Bagaimana keluaran pada port P1 apabila:
. P0.7 diberikan logika LOW?
a. P0.7 diberikan logika LOW berulang kali (klik mouse berulang kali)?
b. P0.7 diberikan logika LOW terus-menerus (klik mouse ditahan)?
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
Modul Embdded System
Lab. Lanjut Kalimalang 2007
I-15
2. Buat file baru dan ketik program di bawah ini.
#include <sfr51.inc>
org 100h
mov r3, #0fh
mov p1, r3
pil: jnb p0.0, krng
jnb p0.7, tmbh
sjmp pil
krng: dec r3
mov p1, r3
acall delay
sjmp pil
tmbh: inc r3
mov p1, r3
acall delay
sjmp pil
delay: mov r0, #0fh
ulang: djnz r2, ulang
djnz r1, ulang
djnz r0, ulang
ret
end
Simpan, kemudian simulasikan.
a. Bagaimana nilai heksadesimal pada port 1 bila P0.0 mendapat logika LOW?
Mengapa terjadi demikian?

4 Comments »

  1. kawand…tau gak apa aja macam2 jump(jmp) pada pemrograman BGC???
    kalo tau share ke w ya..
    thnx be 4….

    Comment by shandi_thole(3kb01) | October 7, 2009 | Reply

  2. makasih banyak info nya..

    Comment by pujiono | October 30, 2009 | Reply

  3. Wah saya tertarik tp menggunakan reads51 sy msh krg mengerti, sy coba copy paste ch diatas kog di reads51 3 errors founds dimana letak kesalahannya..?
    Trimakasih sebelumnya

    Comment by richard | April 28, 2010 | Reply

    • errornya gmn?
      biasanya paling di reads51 kamu gak ad library sfr51 nya!

      Comment by nanomh86 | May 8, 2010 | Reply


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 )

Connecting to %s

Follow

Get every new post delivered to your Inbox.