$mod51
org 000h
mov p4,#0ffh
mov p5,#0ffh
mov p7,#0ffh
;
mulai:
jnb p2.0,led1
mov p1,#11111111b
sjmp mulai
led4:
mov p1,#10101010b
sjmp mulai
led3:
jnb p2.6,led4
mov p1,#11101010b
sjmp mulai
led2:
jnb p2.4,led3
mov p1,#11111010b
sjmp mulai
led1:
jnb p2.2,led2
mov p1,#11111110b
sjmp mulai
end
Penjelasan Program:
- $mod51:
Instruksi ini digunakan sebagai inisialisasi pada simulator bahwa program
yang digunakan menggunakan bahasa assembly.
- Org000h:
Instruksi ini menunjukan bahwa penulisan program dimulai dari alamat 0
hexa pada mikrokontroler.
- Mov P0,
#0ffh:
Menyalin nilai ff ke port 0 menunjukan bahwa
- Mov P1,
#0ffh:
Menyalin nilai ff ke port 1 pada port
tersebut
- Mov P2,
#0ffh:
Menyalin nilai ff ke port 2 dalam keadaan
high
- Mov P3,
#0ffh:
Menyalin nilai ff ke port 3 (berlogika 1)
- Mulai: Sebagai label
- Jnb P2.0, led1:
Apabila port
P2.0 diberi logika0 maka lompat ke label led1
- Mov P1,#11111111b : Menyalin nilai 11111111b
ke port P1 (led mati)
- Sjmp mulai : Kembali ke lebel
mulai
- Label led1:
Jnb P2.2, led2: Apa bila port 2.2 diberi
logika 0 maka lompat ke label led2
Mov P1,#11111110b : Menyalin nilai 11111110b
ke port 1 (led pada P1.0 menyala)
Sjmp mulai: Kembali ke label mulai
- Lebel led2:
Jnb P2.4, led3: Apabila port 2.4 diberi
logika 0 maka lompat ke label led3
Mov p1,# 11111010b: Menyalin nilai 11111010b
ke port 1 (led menyala pada P1.0, P1.2)
Sjmp mulai: kembali ke label mulai
- Label led3:
Jnb P2.6, led3: Apabila port 2.6 di beri
logika 0 maka lompat ke label led4
Tidak ada komentar:
Posting Komentar