1. Flow chart
Berikut ini adalah penjelasan flowchart untuk sistem rangkaian automatic roof:
- Dimulai dari inisialisasi port 1 & 2 yang bernilai #0ffh
- Alat mendeteksi keadaan sekitar, seperti curah hujan dan cahaya
- Apabila mendeteksi salah satu kondisi (hujan/gelap) atau keduanya, atap akan menutup. Jika tidak, atap akan terbuka
- Saat atap terbuka, apabila ditekan switch 1, maka atap akan berhenti bergerak. Begitupun dengan menekan switch 2 pada saat atap tertutup.
2. Analisa Program
$mod51
org 00h
mulai : mov a,p1
kondisi1:
cjne a,#0fdh, kondisi2
mov p2,#0feh
sjmp mulai
kondisi2:
cjne a,#0fch, kondisi3
mov p2,#0fdh
sjmp mulai
kondisi3:
cjne a,#0ffh, kondisi4
mov p2,#0fdh
sjmp mulai
kondisi4:
cjne a,#0feh, kondisi5
mov p2,#0fdh
sjmp mulai
kondisi5:
cjne a,#0f9h, kondisi6
mov p2,#0ffh
sjmp mulai
kondisi6:
cjne a,#0f8h, kondisi7
mov p2,#0fdh
sjmp mulai
kondisi7:
cjne a,#0fbh, kondisi8
mov p2,#0fdh
sjmp mulai
kondisi8:
cjne a,#0fah, kondisi9
mov p2,#0fdh
sjmp mulai
kondisi9:
cjne a,#0f5h, kondisi10
mov p2,#0feh
sjmp mulai
kondisi10:
cjne a,#0f4h, kondisi11
mov p2,#0ffh
sjmp mulai
kondisi11:
cjne a,#0f7h, kondisi12
mov p2,#0ffh
sjmp mulai
kondisi12:
cjne a,#0f6h, kondisi1
mov p2,#0ffh
sjmp mulai
end
Penjelasan program :
Kondisi1 :
cjne a, #0fdh, kondisi2 ;sw1 on sw2
on terang dan tidak hujan (membuka)
mov p2,#0feh
sjmp
mulai
• Apabila pada kondisi 1, nilai a
(deteksi sensor port 1) tidak sesuai dengan nilai hexa 0fdh, maka akan lompat
ke kondisi 2.
• Apabila
sesuai, maka atap akan membuka. (nilai 0fe diambil sesuai dengan urutan biner
port 2, dengan port 2.0 sebagai LSB, dan 2.7 sebagai MSB)
• Setelah
itu, program akan lompat ke kondisi “mulai”.
Kondisi3 :
cjne a, #0ffh, kondisi4 ;sw1 on sw2
on terang dan hujan (menutup)
mov p2,#0fdh
sjmp
mulai
• Apabila pada kondisi 3, nilai a
(deteksi sensor port 1) tidak sesuai dengan nilai hexa 0fdh, maka akan lompat
ke kondisi 4.
• Apabila
sesuai, maka atap akan menutup. (nilai 0fd diambil sesuai dengan urutan biner
port 2, dengan port 2.0 sebagai LSB, dan 2.7 sebagai MSB)
• Setelah
itu, program akan lompat ke kondisi “mulai”.
Kondisi5 :
cjne a, #0f9h, kondisi6 ;sw2 on
terang dan tidak hujan (motor diam)
mov p2,#0ffh
sjmp
mulai
• Apabila
pada kondisi 5, nilai a (deteksi sensor port 1) tidak sesuai dengan nilai hexa
0fdh, maka akan lompat ke kondisi 6.
• Apabila
sesuai, maka atap akan menutup. (nilai 0ff diambil sesuai dengan urutan biner
port 2, dengan port 2.0 sebagai LSB, dan 2.7 sebagai MSB)
• Setelah
itu, program akan lompat ke kondisi “mulai”.
Comments
Post a Comment