Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 12

LAMPIRAN 1 LISTING PROGRAM

1. Listing Program Pengujian Mikrokontroler 16 $regfile = "m16def.dat" $crystal = 8000000 $baud = 9600 Config Porta = Output Config Portb = Output Config Portc = Output Config Portd = Output Porta = &HFF Portb = &HFF Portc = &HFF Portd = &HFF Wait 5 Porta = 0 Portb = 0 Portc = 0 Portd = 0 End 2. Listing Program Pengujian Mikrokontroler ATMega 8 $regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 Config Portb = Output Config Portc = Output Config Portd = Output Portb = &HFF Portc = &HFF Portd = &HFF Wait 5 Portb = 0 Portc = 0 Portd = 0 End A-1

3.

Listing Program Pengujian Sensor Cahaya $regfile = "m16def.dat" $crystal = 8000000 $baud = 9600 $hwstack = 32 $swstack = 8 $framesize = 24 Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Portd = Output Start Adc Dim Channel As Byte Dim A(8) As Integer Dim I As Integer Do A(1) = Getadc(0) Waitms 50 A(2) = Getadc(1) Waitms 50 A(3) = Getadc(2) Waitms 50 A(4) = Getadc(3) Waitms 50 A(5) = Getadc(4) Waitms 50 A(6) = Getadc(5) Waitms 50 A(7) = Getadc(6) Waitms 50 A(8) = Getadc(7) Waitms 50 Print "Nilai sudut " ; A(1) Print "Nilai sensor 1 " ; A(2) Print "Nilai sensor 2 " ; A(3) Print "Nilai sensor 3 " ; A(4) Print "Nilai sensor 4 " ; A(5) Print "Nilai sensor 5 " ; A(6) Print "Nilai sensor 6 " ; A(7) Print "Nilai sensor 7 " ; A(8) A-2

Wait 1 Loop End 4. Listing Program Pengujian Sensor Sudut $regfile = "m16def.dat" $crystal = 8000000 $baud = 9600 $hwstack = 32 $swstack = 8 $framesize = 24 Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Portd = Output Start Adc Dim Channel As Byte Dim Sudut As Integer Dim I As Integer Do Sudut = Getadc(0) Waitms 50 Print "Nilai sudut " ; Sudut Wait 1 Loop End 5. Listing Program Pengujian Alat Secara Keseluruhan Mikrokontroler ATMega 16 $regfile = "m16def.dat" $crystal = 8000000 $baud = 9600 $hwstack = 32 $swstack = 8 $framesize = 24 Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 256 Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Portd = Output A-3

Start Adc Declare Sub Banding Declare Sub Utama Declare Sub Gerak Dim Channel As Byte Dim A(8) As Integer Dim I As Integer , B As Integer , Sens7 As Integer , Sens2 As Integer , Sens3 As Integer Dim Ints As Integer , Pos As Integer , Sens4 As Integer , Sens5 As Integer , Sens6 As Integer , Sens8 As Integer Dim Up2 As Integer , Up3 As Integer , Up4 As Integer , Down2 As Integer , Down3 As Integer , Down4 As Integer Dim Up5 As Integer , Up6 As Integer , Up7 As Integer , Down5 As Integer , Down6 As Integer , Down7 As Integer Dim Up8 As Integer , Down8 As Integer Pwm1a = 65 Pwm1b =65 Sub Utama A(1) = Getadc(0) Waitms 50 A(2) = Getadc(1) Waitms 50 A(3) = Getadc(2) Waitms 50 A(4) = Getadc(3) Waitms 50 A(5) = Getadc(4) Waitms 50 A(6) = Getadc(5) Waitms 50 A(7) = Getadc(6) Waitms 50 A(8) = Getadc(7) Waitms 50 Print "Nilai sudut " ; A(1) Print "Nilai sensor 1 " ; A(2) Print "Nilai sensor 2 " ; A(3) Print "Nilai sensor 3 " ; A(4) Print "Nilai sensor 4 " ; A(5) Print "Nilai sensor 5 " ; A(6) A-4

Print "Nilai sensor 6 " ; A(7) Print "Nilai sensor 7 " ; A(8) Wait 1 Call Banding Call Gerak End Sub Sub Banding Pos = 2 Ints = 1023 For I = 2 To 8 If Ints > A(i) Then Ints = A(i) Pos = I End If Next I End Sub Sub Gerak Sens2 = &H97 Sens3 = &HD3 Sens4 = &H114 Sens5 = &H14D Sens6 = &H186 Sens7 = &H1BC Sens8 = &H1EF Up2 = &HA6 Down2 = &H88 Up3 = &HE2 Down3 = &HC4 Up4 = &H123 Down4 = &H63 Up5 = &H15C Down5 = &H13E Up6 = &H195 Down6 = &H177 Up7 = &H1CB Down7 = &H1AD Up8 = &H203 Down8 = &H1E0 Select Case Pos A-5

'end sub utama

Case 2 : If A(1) < Sens2 Then Portd = &B00100000 Pwm1a = 65 If A(1) >= Down2 Then Pwm1a = 0 End If End If Goto Utama Else Portd = &B10100000 Pwm1a = 65 If A(1) <= Up2 Then If A(1) >= Down2 Then Pwm1a = 0 End If End If Goto Utama End If Case 3 : If A(1) < Sens3 Then Portd = &B00100000 Pwm1a =65 If A(1) <= Up3 Then If A(1) >= Down3 Then Pwm1a = 0 End If End If Goto Utama Else Portd = &B10100000 Pwm1a = 65 If A(1) <= Up3 Then A-6

'motor aktif, bergerak kekanan 'kecepatan 100rpm 'daerah toleransi sens2+15sens2-15 'kecepatan mati 'kembali ke utama 'motor aktif, bergerak ke arah kiri 'kecepatan 100 rpm 'daerah toleransi sens2+15 'daerah tolerasnsi sens-15 'kecepatan mati 'kembali ke utama

'motor aktif, bergerak kekanan

'motor aktif, bergerak ke arah kiri

If A(1) >= Down3 Then Pwm1a = 0 End If End If Goto Utama End If Case 4 : If A(1) < Sens4 Then Portd = &B00100000 Pwm1a = 65 If A(1) <= Up4 Then If A(1) >= Down4 Then Pwm1a = 0 End If End If Goto Utama Else Portd = &B10100000 Pwm1a = 65 If A(1) <= Up4 Then If A(1) >= Down4 Then Pwm1a = 0 End If End If Goto Utama End If Casee 5 : If A(1) < Sens5 Then Portd = &B00100000 Pwm1a = 65 If A(1) <= Up5 Then If A(1) >= Down5 Then Pwm1a = 0 End If End If Goto Utama Else A-7

'motor aktif, bergerak kekanan

'motor aktif, bergerak ke arah kiri

'motor aktif, bergerak kekanan

Portd = &B10100000 Pwm1a = 65 If A(1) <= Up5 Then If A(1) >= Up5 Then Pwm1a = 0 End If End If Goto Utama End If Case 6 : If A(1) < Sens6 Then Portd = &B00100000 Pwm1a = 65 If A(1) <= Up6 Then If A(1) >= Down6 Then Pwm1a = 0 End If End If Goto Utama Else Portd = &B10100000 Pwm1a = 65 If A(1) <= Up6 Then If A(1) >= Down6 Then Pwm1a = 0 End If End If Goto Utama End If Case 7: If A(1) < Sens7 Then Portd = &B00100000 Pwm1a = 65 If A(1) <= Up7 Then If A(1) >= Down7 Then A-8

'motor aktif, bergerak ke arah kiri

'motor aktif, bergerak kekanan

'motor aktif, bergerak ke arah kiri

'motor aktif, bergerak kekanan

Pwm1a = 0 End If End If Goto Utama Else Portd = &B10100000 Pwm1a = 65 If A(1) <= Up7 Then If A(1) >= Down7 Then Pwm1a = 0 End If End If Goto Utama End If Case 8: If A(1) < Sens8 Then Portd = &B00100000 Pwm1a = 65 If A(1) <= Up8 Then If A(1) >= Down8 Then Pwm1a = 0 End If End If Goto Utama Else Portd = &B10100000 Pwm1a = 65 If A(1) <= Up8 Then If A(1) >= Down8 Then Pwm1a = 0 End If End If Goto Utama End If End Select End Sub 'motor aktif, bergerak ke arah kiri

'motor aktif, bergerak kekanan

'motor aktif, bergerak ke arah kiri

A-9

6.

Listing Program Monitoring Suhu Mikrokontroler ATMega 8 $regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 $hwstack = 32 $swstack = 8 $framesize = 24 Config Adc = Single , Prescaler = Auto , Reference = Aref 'tegangan reff 1v Config PORTD = Output Start Adc Dim A As Integer , B As Integer Do A = Getadc(0) B = A / 10 Print B Waitms 300 If B <> 95 Then PORTD.4 = 0 End If If B = 95Then PORTD.4 = 1 End If Loop End

7.

Listing Program Visual Basic Dim ser As Integer Dim nil As String Private Sub cmd_close_Click() Unload Me End Sub 'Private Sub Command1_Click() 'MSComm1.Output = Chr$(13) 'End Sub Private Sub Form_Load() With MSComm1 .CommPort = 1 A-10

.Handshaking = 2 - comRTS .RThreshold = 4 .RTSEnable = True .Settings = "9600,n,8,1" .SThreshold = 1 .InputMode = comInputModeText .InputLen = 0 .PortOpen = True End With End Sub Private Sub Label1_Click() End Sub Private Sub Label2_Click() End Sub Private Sub MSComm1_OnComm() Select Case MSComm1.CommEvent Case comEvReceive nil = MSComm1.Input Text1.Text = Mid(nil, 1, 2) End Select End Sub Private Sub txtset_Click() End Sub Private Sub Picture1_Click() End Sub

A-11

Halaman sengaja dikosongkan

A-12

You might also like