Народ, помогите найти косяк! уже неделю парюсь...
суть проблемы - на тиньке юзаются 2 канала АЦП, раздельно - работают без проблем, как только включаю их работу по очереди, нормально работаь не хотят, получается какая то завязка друг от друга... оба канала пока на потенциометрах
CODE
clr r20; инициализация АЦП
ldi r20,(1<<ADEN)|(0<<ADSC)|(0<<ADATE)|(0<<ADIE)|(0<<ADPS2)|(1<<ADPS1)|(0<<ADPS0)
out adcsra,r20;
clr r20;
ldi r20,(0<<BIN)|(0<<ACME)|(1<<ADLAR)|(0<<ADTS2)|(0<<ADTS1)|(0<<ADTS0)
out adcsrb,r20;
clr r20;
ldi r20,(0<<REFS1)|(0<<REFS0);
out admux,r20;
test_adc: ;проверка напряжения
clr r20;
ldi r20,(0<<REFS1)|(0<<REFS0)|(0<<MUX5)|(0<<MUX4)|(0<<MUX3)|(0<<MUX2)|(0<<MUX1)|(1<<MUX0);
out admux,r20; АЦП для напряжения
ldi r18,0x50;
ps1:
dec r18;
cpi r18,0x00;
brne ps1;
st_adc_u:
sbi adcsra,adsc; запуск АЦП
cadc_1:
ldi R16,adcsra;
sbis adcsra,ADIF; если преобразование закончено, то пропустить след команду
rjmp cadc_1;
in r16,ADCH;
cpi r16,0x3C;0xAA;0xC7; напряжение меньше 12,6B
brlo pt1; если меньше перейти
in r16,ADCH;
cpi r16,0xAA;0xDA;напряжение больше 13,6B
brsh pt01;
rjmp test_adc1;
pt01:
sbi porta,0;
sbi porta,6;
rjmp test_adc1;
pt1:
cbi porta,6;
cbi porta,0;
rjmp test_adc;
;-----------------------------------------
test_adc1: ;проверка температуры
; cbi porta,3;
clr r20;
ldi r20,(0<<REFS1)|(0<<REFS0)|(0<<MUX5)|(0<<MUX4)|(0<<MUX3)|(0<<MUX2)|(1<<MUX1)|(0<<MUX0);
out admux,r20; АЦП для температуры
ldi r18,0x50;
ps2:
dec r18;
cpi r18,0x00;
brne ps2;
st_adc_t:
sbi adcsra,adsc; запуск АЦП
cadc_2:
ldi R16,adcsra;
sbis adcsra,ADIF; если преобразование закончено, то пропустить след команду
rjmp cadc_2;
cbi adcsra,adsc; стоп АЦП
in r16,ADCH;
cpi r16,0x09;0x41; 0x41; Температура больше 75 градусов
brlo pt2; если меньше перейти
in r16,ADCH;
cpi r16,0x2F;0xAA;0x68;
brsh pt02;
rjmp test_adc;
pt02:
sbi porta,5;
sbi porta,4;
rjmp test_adc;
pt2:
cbi porta,5;
cbi porta,4;
rjmp test_adc;
фрагмент схемы, может тут косяк?
еще забыл - кварц - 4МГц, делитель частоты на 8 (FUSE - CKDIV8), и делитель для АЦП - 4, т.е. к теореме Котельникова по частоте выборок притензий нет...
такое ощущение что внутренний конденсатор не разряжается...
Сообщение отредактировал IgorKossak - Dec 19 2014, 23:32
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Эскизы прикрепленных изображений