Perancangan alat automatic roof dengan outputan motor DC

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