今天总算赶上了一点进度,加上了4个通道,先测试波形很稳,在电脑上用G2测试,可以哈!可以飞cap232了,很灵活的飞机,应该说不跳舵哈!
LCD上显示当前通道的数值,个位数上有跳动,应该是正常的,范围从500~1500us。每个AD上接了104P的电容滤波
其它什么都没加,用的是华科尔4号的电位器。三和VG400还没舍得拆,等方案成熟再改。
接RD6000的高频头发射信号,感觉还行,比较稳。
测试平台,我的慢飞P51机身,加滑翔机机翼,舵机声音大,有点小动静都听都见
后来出现一次,油门只要一动,其它通道都抖,后来检查了一下,是虚焊哈!:em15: :em15:
今天的程序还是乱哈!!
'//////////////////////////////////////////////////////////////
$Device= m16 ' used device
$Stack = 125 ' stack depth
$Clock = 8 ' adjust for used crystal
$Timer1=Timer, Prescale=8,CompareA=Toggle,Clear
$Lcd =PORTC.4 , RS = PORTC.2 , EN = PORTC.3, 16, 2
$Key Rows=PORTB&h07
$Def TestPin0=PORTD.5
$Source= On
Declare Interrupt Oc1A()
Dim Testch(18) As Word
Dim akey As Byte ,achg As Byte,i As Byte,j As Byte,tempw As Word,temp As Byte
Testch(0)=500:Testch(1)=1000:Testch(2)=500:Testch(3)=1000:Testch(4)=500:Testch(5)=1000
Testch(6)=500:Testch(7)=1000:Testch(8)=500:Testch(9)=1000:Testch(10)=500:Testch(11)=1000
Testch(12)=500:Testch(13)=1000:Testch(14)=500:Testch(15)=1000:Testch(16)=500
Testch(17)=7500
i=0:akey=0:achg=0
Set DDRD.5
TestPin0=1 '0 for Futuba /1 for JR
Start Timer1
Enable Oc1A
Enable Interrupts
Start Adc, Vref=Int
InitLcd( )
Do
Cls '
WaitMs 5 '
Cursor Off
Locate 1, 1 ' '
Lcd "12345678" '
Locate 2 , 1
Lcd Testch(achg+achg+1)
Cursor On:Cursor blink
Locate 1,achg+1
'//////////////////////////////////////////
akey=Key():temp=achg+achg+1
If akey=1 Then
Incr achg
If achg=8 Then
achg=0
End If
End If
'/////////////////////////////////////////
If akey=2 Then
Testch(temp)=Testch(temp)+9
If Testch(temp)>1500 Then
Testch(temp)=1500
End If
End If
'/////////////////////////////////////////
If akey=4 Then
Testch(temp)=Testch(temp)-9
If Testch(temp)<500 Then
Testch(temp)=500
End If
End If
tempw=20000-500*8
For j=0 To 7
temp=j+j+1
tempw=tempw-Testch(temp)
Next
testch(17)=tempw
WaitMs 100
Loop
End
'//////////////////////////////////////////////////////////////
Interrupt Oc1A(), Save 4
Compare1A=testch(i)
If i=0 Then
testch(1)=500+Adc(0)
End If
If i=2 Then
testch(3)=500+Adc(1)
End If
If i=4 Then
testch(5)=500+Adc(2)
End If
If i=6 Then
testch(7)=500+Adc(3)
End If
Incr i
If i=18 Then
i=0
End If
End Interrupt |