Мультируль на магнитолу pioneer
Добавлено: Чт мар 26, 2015 10:59:40
Приветствую, подскажите что нет так. Делаю переходник на мультируль с автомобиля mazda. Сопротивление кнопок на руле замерил: 147Ом, 55Ом, 298Ом, 555Ом, 1022Ом и 2КОм. В итоге - подключаю схему, на вход ничего не подаю, а на магнитоле нажимаются все кнопки в хаотичном порядке. На питании и avcc стоят кондёры, резет подтянут.
Код: Выделить всё
$regfile = "m8adef.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 16
$framesize = 32
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Portd.0 = Output ' Громкость -
Config Portd.1 = Output ' Громкость +
Config Portd.2 = Output ' Песня +
Config Portd.3 = Output ' Песня -
Config Portd.4 = Output ' Вход/Выключение
Config Portd.5 = Output ' Приглушение
Dim A As Integer
Dim P As Integer
Portd.0 = 1
Portd.1 = 1
Portd.2 = 1
Portd.3 = 1
Portd.4 = 1
Portd.5 = 1
Start Adc
Do
A = Getadc(2)
If A >= 80 And A < 150 Then
P = 0
Elseif A >= 180 And A < 280 Then
P = 1
Elseif A >= 350 And A < 430 Then
P = 2
Elseif A >= 500 And A < 560 Then
P = 3
Elseif A >= 650 And A < 720 Then
P = 4
Elseif A >= 770 And A < 850 Then
P = 5
Else
P = -1
End If
If P = -1 Then
If Portd.0 = 0 Then Portd.0 = 1
If Portd.1 = 0 Then Portd.1 = 1
If Portd.2 = 0 Then Portd.2 = 1
If Portd.3 = 0 Then Portd.3 = 1
If Portd.4 = 0 Then Portd.4 = 1
If Portd.5 = 0 Then Portd.5 = 1
Elseif P = 0 Then
If Portd.0 = 1 Then Portd.0 = 0
If Portd.1 = 0 Then Portd.1 = 1
If Portd.2 = 0 Then Portd.2 = 1
If Portd.3 = 0 Then Portd.3 = 1
If Portd.4 = 0 Then Portd.4 = 1
If Portd.5 = 0 Then Portd.5 = 1
Elseif P = 1 Then
If Portd.0 = 0 Then Portd.0 = 1
If Portd.1 = 1 Then Portd.1 = 0
If Portd.2 = 0 Then Portd.2 = 1
If Portd.3 = 0 Then Portd.3 = 1
If Portd.4 = 0 Then Portd.4 = 1
If Portd.5 = 0 Then Portd.5 = 1
Elseif P = 2 Then
If Portd.0 = 0 Then Portd.0 = 1
If Portd.1 = 0 Then Portd.1 = 1
If Portd.2 = 1 Then Portd.2 = 0
If Portd.3 = 0 Then Portd.3 = 1
If Portd.4 = 0 Then Portd.4 = 1
If Portd.5 = 0 Then Portd.5 = 1
Elseif P = 3 Then
If Portd.0 = 0 Then Portd.0 = 1
If Portd.1 = 0 Then Portd.1 = 1
If Portd.2 = 0 Then Portd.2 = 1
If Portd.3 = 1 Then Portd.3 = 0
If Portd.4 = 0 Then Portd.4 = 1
If Portd.5 = 0 Then Portd.5 = 1
Elseif P = 4 Then
If Portd.0 = 0 Then Portd.0 = 1
If Portd.1 = 0 Then Portd.1 = 1
If Portd.2 = 0 Then Portd.2 = 1
If Portd.3 = 0 Then Portd.3 = 1
If Portd.4 = 1 Then Portd.4 = 0
If Portd.5 = 0 Then Portd.5 = 1
Elseif P = 5 Then
If Portd.0 = 0 Then Portd.0 = 1
If Portd.1 = 0 Then Portd.1 = 1
If Portd.2 = 0 Then Portd.2 = 1
If Portd.3 = 0 Then Portd.3 = 1
If Portd.4 = 0 Then Portd.4 = 1
If Portd.5 = 1 Then Portd.5 = 0
End If
Loop
End