Привет всем, пишу программу для регистратора звуковых сигналов. Основоне задание - цифровать и анализировать данные от микрофона.
Заказчик еще требует сделать проверку питания, на случай, если оно упадет ниже допустимого в сети.
т.е. иногда переключатся и измерять напряжение на другой ноге АЦП.
микрофон подключен к ADC7, питание для измерения на ADC6.
я наверное чето не так делаю, т.к. с ADC6 считывает постоянно 0.
Схематехника в норме, если отслеживать только ADC6 - то все нормально.
последовательность моих действий такова:
-----------------------------------------------------------
цифровка сигнала с микрофона.
раз в 2 секунды:
1. отключить ацп
2. сменить канал
3. включить ацп
-проверить напряжение на 6м канале
1.отключить ацп
2. сменить канал
3. включить ацп и вернутся к оцифровке звука.
---------------------------------------------------------------
Цитата
cli
clr tempH
out ADCSRA,tempH ;disable ADC
ldi tempH,0b00000110 ;ADLAR=0, MUX=0110 - 6 channel
out ADMUX, tempH ;change channel
ldi tempH,0b11101111 ;ADEN=1,ADSC=1,ADFR=1,ADIE=1,ADPS[2:0]=111
out ADCSRA,tempH ;enable ADC
sei
и обратно на 7-й канал переключаюсь аналогично.
ЗЫ, если можно на асме.. и если найдется - покажите примерчик.. с ацп впервые сталкиваюсь (
ЗЫЫ. ATmega8L
Спасибо.