Witam
Próbuję zmierzyć trzy napięcia i wyslać je do atinny(lcd). Skompilowany HEX symuluję na AVRstudio i nie widać żadnego nadawania.
Oczywiście, podczas symulacji wstawiam ADCH i ADCL.
Jedyna zmiana występuje na ddrc2.
Na czym polega mój błąd?
Jak to zrobić poprawnie?
Help -please !!
Poprawiłem tytuł.
[zumek]
Próbuję zmierzyć trzy napięcia i wyslać je do atinny(lcd). Skompilowany HEX symuluję na AVRstudio i nie widać żadnego nadawania.
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 19200
$sim
Config Portc = Output
Dim A As Byte
Dim Channel1 As Byte
Dim Channel2 As Byte
Dim Channel3 As Byte
Dim V0 As Word
Dim V1 As Word
Dim V2 As Word
Dim V_0 As Single
Dim V_1 As Single
Dim V_2 As Single
Dim Vout As Single
Dim K As Single
Dim I0 As Single
Dim I_0 As Single
Dim D As Single
Dim _chr As String * 9
Config Adc = Free , Prescaler = Auto , Reference = Internal
Deflcdchar 0 , 32 , 14 , 17 , 17 , 17 , 14 , 27 , 32
'************* START ************
'Cls
_chr = Chr(0)
Start Adc
Channel1 = 0 ' napięcie wyjściowe
Channel2 = 1 'pobór prądu - spadek na oporze
Channel3 = 2
'Channel4 = 3 'ograniczenie prądowe
Set Portc
K = 30 / 256 'dzielnik R
K = K * 100 ' Nap.vref na strcie 2.56v
D = 256 / 1023 'vref /1023
D = D / 100
Do
Serout _chr , 9 , C , 2 , 19200 , 0 , 8 , 1
V0 = Getadc(channel1)
V_0 = V0 * D 'd- jednostka ADC
V_0 = V_0 * K
Serout V_0 , 4 , C , 2 , 19200 , 0 , 8 , 1 '0
V1 = Getadc(channel2)
V_1 = V1 * D
Serout V_1 , 4 , C , 2 , 19200 , 0 , 8 , 1 '0
V2 = Getadc(channel3)
V_2 = V2 * D
Serout V_2 , 4 , C , 2 , 19200 , 0 , 8 , 1 '0
Vout = V_0 - V_1
Serout Vout , 4 , C , 2 , 19200 , 0 , 8 , 1
Loop
Oczywiście, podczas symulacji wstawiam ADCH i ADCL.
Jedyna zmiana występuje na ddrc2.
Na czym polega mój błąd?
Jak to zrobić poprawnie?
Help -please !!
Poprawiłem tytuł.
[zumek]