$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