سلام
بچه ها من یه مدار با مگا 8 ساختم که از 6 پایه adc استفاده می کنه. دو تا از پایه ها هر ولتاژی که بهشون می دم پایه کناری اونها هم همون ولتاژ رو می ده. ولی وقتی به همون پایه کناری یک ولتاژی رو می دم هیچ تاثیری نداره به نظرتون مشکل از کجاست؟
اینم برنامش (فکر می کنم مشکل از برنامس)
$regfile = "m8def.dat"
$baud = 9600
$crystal = 4000000
Dim W As Integer , Tmp As Integer , A1 As Byte , A2 As Byte , I As Byte
'Config Serialout = Buffered , Size = 20
'Config Portb = Output
'Open "com1:" For Binary As #1
Config Adc = Single , Prescaler = Auto
Enable Interrupts
Start Adc
Do
For I = 0 To 5
W = 0
A1 = 0
A2 = 0
W = Getadc(i)
Tmp = W
Shift Tmp , Left , 8
Shift Tmp , Right , 8
A2 = Tmp
Tmp = W
Shift Tmp , Right , 8
A1 = Tmp
Select Case I
Case 0:
Print "AA" ; Chr(a1) ; Chr(a2)
Case 1:
Print "AB" ; Chr(a1) ; Chr(a2)
Case 2:
Print "AC" ; Chr(a1) ; Chr(a2)
Case 3:
Print "GA" ; Chr(a1) ; Chr(a2)
Case 4:
Print "GB" ; Chr(a1) ; Chr(a2)
Case 5:
Print "GC" ; Chr(a1) ; Chr(a2)
End Select
Next I
Waitms 100
Loop
End
بچه ها من یه مدار با مگا 8 ساختم که از 6 پایه adc استفاده می کنه. دو تا از پایه ها هر ولتاژی که بهشون می دم پایه کناری اونها هم همون ولتاژ رو می ده. ولی وقتی به همون پایه کناری یک ولتاژی رو می دم هیچ تاثیری نداره به نظرتون مشکل از کجاست؟
اینم برنامش (فکر می کنم مشکل از برنامس)
$regfile = "m8def.dat"
$baud = 9600
$crystal = 4000000
Dim W As Integer , Tmp As Integer , A1 As Byte , A2 As Byte , I As Byte
'Config Serialout = Buffered , Size = 20
'Config Portb = Output
'Open "com1:" For Binary As #1
Config Adc = Single , Prescaler = Auto
Enable Interrupts
Start Adc
Do
For I = 0 To 5
W = 0
A1 = 0
A2 = 0
W = Getadc(i)
Tmp = W
Shift Tmp , Left , 8
Shift Tmp , Right , 8
A2 = Tmp
Tmp = W
Shift Tmp , Right , 8
A1 = Tmp
Select Case I
Case 0:
Print "AA" ; Chr(a1) ; Chr(a2)
Case 1:
Print "AB" ; Chr(a1) ; Chr(a2)
Case 2:
Print "AC" ; Chr(a1) ; Chr(a2)
Case 3:
Print "GA" ; Chr(a1) ; Chr(a2)
Case 4:
Print "GB" ; Chr(a1) ; Chr(a2)
Case 5:
Print "GC" ; Chr(a1) ; Chr(a2)
End Select
Next I
Waitms 100
Loop
End
دیدگاه