Ich habe es gemacht mit ein ATtiny861 und es functioniert.
du must in die registern schreiben und lezen um die wert zu kriegen.
Ich muste en ACS712 T auslezen, ein strom sensor, er gibt bij 0A 2,5V, bei positiver strom steigt die spannung mit 185mv/A und bij negativer strom verringert die wert mit 185 mv/A.
ich leze die wert 64x und sumiere sie, dan schiebe ich die letzte 6 bits out .
mein sub
Sub Read_adc_stroom()
Local Adc_low As Byte , Adc_high As Byte
adc_plusT =0
for x= 1 to 64
Adcsra = &B10100111
Adcsrb = &B00000000
Admux = &B10001100 'READADC DIFF ADC0-ADC1 1x
Adcsra.adsc = 1 'SPANNING OP acs712 >2,5 V
Bitwait Adcsra.adsc , Set
Adcsra.adsc = 0
Adc_low = Adcl
Adc_high = Adch
Adc_plus = Adc_high * 256
Adc_plus = Adc_plus + Adc_low
adc_plust = adc_plusT + adc_plus
next x
shift adc_plusT,Right,6
Waitms 50
adc_mint = 0
for x = 1 to 64
Adcsra = &B10100111
Adcsrb = &B00001000
Admux = &B10100011 'READADC DIFF ADC1-ADC0 1X
Adcsra.adsc = 1 'SPANNING OP ACS712 <2.5V
Bitwait Adcsra.adsc , Set
Adcsra.adsc = 0
Adc_low = Adcl
Adc_high = Adch
Adc_min = Adc_high * 256
Adc_min = Adc_min + Adc_low
adc_mint = adc_mint +adc_min
next x
shift adc_mint,right,6
end sub
du must in die registern schreiben und lezen um die wert zu kriegen.
Ich muste en ACS712 T auslezen, ein strom sensor, er gibt bij 0A 2,5V, bei positiver strom steigt die spannung mit 185mv/A und bij negativer strom verringert die wert mit 185 mv/A.
ich leze die wert 64x und sumiere sie, dan schiebe ich die letzte 6 bits out .
mein sub
Sub Read_adc_stroom()
Local Adc_low As Byte , Adc_high As Byte
adc_plusT =0
for x= 1 to 64
Adcsra = &B10100111
Adcsrb = &B00000000
Admux = &B10001100 'READADC DIFF ADC0-ADC1 1x
Adcsra.adsc = 1 'SPANNING OP acs712 >2,5 V
Bitwait Adcsra.adsc , Set
Adcsra.adsc = 0
Adc_low = Adcl
Adc_high = Adch
Adc_plus = Adc_high * 256
Adc_plus = Adc_plus + Adc_low
adc_plust = adc_plusT + adc_plus
next x
shift adc_plusT,Right,6
Waitms 50
adc_mint = 0
for x = 1 to 64
Adcsra = &B10100111
Adcsrb = &B00001000
Admux = &B10100011 'READADC DIFF ADC1-ADC0 1X
Adcsra.adsc = 1 'SPANNING OP ACS712 <2.5V
Bitwait Adcsra.adsc , Set
Adcsra.adsc = 0
Adc_low = Adcl
Adc_high = Adch
Adc_min = Adc_high * 256
Adc_min = Adc_min + Adc_low
adc_mint = adc_mint +adc_min
next x
shift adc_mint,right,6
end sub