CODE PROGRAM FLOOD DETECTOR


$mod51
org 000h
mov p4,#0ffh
mov p5,#0ffh
mov p6,#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