Parancangan Program pada mikrokontroller AT89S51

Program diawali dengan start. Kemudian program akan mengcek apakah ada sinyal yang dikirimkan oleh sensor atau tidak. Jika tidak ada sinyal yang dikirimkan oleh sensor sehingga program akan kembali ke routine awal kembali ke start dan mengcek sinyal dari sensor jika ada sinyal yang dikirimkan oleh sensor, berarti ada orang yang memasuki ruangan tersebut, sehingga program akan mengaktifkan motor stepper untuk berputar dan mengaktifkan kamera untuk merekam orang yang telah melewati sensor tersebut . kemudian program akan kembali ke routine awal dan kembali mengecek sinyal dari sensor. Data yang di rekam oleh kamera akan dikirimkan ke PC untuk disimpan dan dilihat kembali

3.3 Parancangan Program pada mikrokontroller AT89S51

Adapun program yang diisikan ke dalam mikrokontroller AT89S51,Programnya sebagai berikut: mov p3,0 mov p1,0 loop: mov a,p0 anl a,8 cjne a,8,cek mov p1,0 sjmp loop cek: cjne a,5,cek1 acall putar1 sjmp loop cek1: Universitas Sumatera Utara cjne a,6,Cek2 acall putar2 sjmp loop cek2: cjne a,7,loop acall putar1 Acall Putar2 sjmp loop putar1: movr6,160 loop-putar : call putar-kanan djnz r6,loop-putar ret. Putar-kanan: Mov a,11h Mov P0,a Rr a Call delay ret putar2: mov r6,160 loop putar: call putar-kiri djnz r6, loop-putar ret. putar-kiri: Universitas Sumatera Utara mov a,11h mov P0,a rl a call delay ret delay: mov r7,100 dly: mov r6,255 djnz r6, djnz r7,dly ret 3.4 Parancangan Program Visual Basic pada PC Program dibawah adalah Bahasa Visual Basic untuk mendapatkan data yang diambil melalui webcam, setelah dilakukan pemrograman pada mikrokontroler AT89S52 yang menggunakan bahasa assembly . Program tersebut adalah sebagai berikut : Private Declare Sub PortOut Lib IO.DLL ByVal Port As Integer, ByVal Data As Byte Private Declare Function Portin Lib IO.DLL ByVal Port As Integer As Byte Private Sub Berhenti_ClickIndex As Integer PortOut 378 H, 8 End Sub Private Sub Command1_Click Universitas Sumatera Utara If VideoOCX1.Init = 0 Then MsgBox VideoOCX1.GetLastErrorString End If If VideoOCX1.SetPreviewTrue = False Then MsgBox VideoOCX1.GetLastErrorString End If End Sub Private Sub Command2_Click If VideoOCX1.AVISaveMovieInitC:\record.AVI = False Then MsgBox VideoOCX1.GetLastErrorString End If VideoOCX1.AVISaveMovieSetFrameRate 15 End Sub Private Sub Command3_Click If VideoOCX1.AVISaveMovieStop = False Then MsgBox VideoOCX1.GetLastErrorString End If End Sub Universitas Sumatera Utara Private Sub Command4_Click MediaPlayer1.Open C:\record.AVI End Sub Private Sub Command5_Click Text1.Visible = True Label3.Visible = True Label3 = Stanby Text1 = 10 Timer2.Enabled = True Timer3.Enabled = True End Sub Private Sub Command6_Click PortOut 378 H, 0 Unload Me End Sub Private Sub Form_Load Timer2.Enabled = False Timer3.Enabled = False Text1.Visible = False End Sub Private Sub Otomatis_ClickIndex As Integer Universitas Sumatera Utara PortOut 378 H, 7 End Sub Private Sub Putar1_ClickIndex As Integer PortOut 378 H, 5 End Sub Private Sub Putar2_ClickIndex As Integer PortOut 378 H, 6 End Sub Private Sub Timer2_Timer If Label3 Recording Then Label2 = InpH379 a = Label2.Caption If a = 127 Then sensor terhalang PortOut 378 H, 7 Label3 = Recording If VideoOCX1.AVISaveMovieInitC:\record.AVI = False Then MsgBox VideoOCX1.GetLastErrorString End If Universitas Sumatera Utara VideoOCX1.AVISaveMovieSetFrameRate 15 End If End If End Sub Private Sub Timer3_Timer If Text1.Text = 0 Then If VideoOCX1.AVISaveMovieStop = False Then MsgBox VideoOCX1.GetLastErrorString End If Label3 = Stanby Label3.Visible = False Timer1.Enabled = True Timer2.Enabled = False Timer3.Enabled = False PortOut H378, 8 End If End Sub

3.5 Perancangan Rangkaian Power Supplay PSA