coyo wrote:Ini source code-nya:Code: Select all
$regfile = "m48def.dat" 'MCU yg dipakai ATMEGA48
$crystal = 8000000 'Frekuensi 8MHz (internal clock, tanpa kristal)
$hwstack = 32 'default use 32 for the hardware stack
$swstack = 10 'default use 10 for the SW stack
$framesize = 40 'default use 40 for the frame space
Config Pind.5 = Output ' PD5 (Pin 11) sebagai output
Config Pind.6 = Output ' PD6 (Pin 12) sebagai output
Config Pind.7 = Output ' PD7 (Pin 13) sebagai output
' Untuk clock 4MHz satuan dalam 1uS (microdetik),
' jadi untuk 8 MHz harus dikalian 2
Const Servomax = 4000 ' = 2000uS * 2
Const Servocen = 3000 ' = 1500uS * 2
Const Servomin = 2000 ' = 1000uS * 2
' Nilainya dari GETADC berkisar antara 0~1023
' Sedangkan pulsa yg akan dihasilkan berkisar 2000~4000
' Pengali = (servo max-servomin)/1024) = 1.95 dibulatkan jadi 2
' Penambah = Servocen - 1024
Const Pengali = 2
Const Penambah = 1976
' Definisikan variable yg dipakai
Dim A As Word
Dim B As Word
Dim C As Word
' Konfigurasi ADC (Analog to Digital Converter)
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Do
A = Getadc(0) ' baca nilai Trimpot 1
B = Getadc(1) ' baca nilai Trimpot 2
C = Getadc(2) ' baca nilai Trimpot 3
A = A * Pengali
A = A + Penambah
B = B * Pengali
B = B + Penambah
C = C * Pengali
C = C + Penambah
Pulseout Portd , 5 , A ' kirim sinyal ke Servo 1
Pulseout Portd , 6 , B ' kirim sinyal ke Servo 2
Pulseout Portd , 7 , C ' kirim sinyal ke Servo 3
Waitms 13 ' tunggu selama 13 milidetik
Loop ' ulangi terus sampai bosen
End
bascom ngeselin banget ya

#nyesel belajar C