Отрицательный сигна...
 
Уведомления
Очистить все

Отрицательный сигнал на АЦП

2 Посты
1 Пользователи
0 Likes
3,599 Просмотры
mas_nk
(@mas_nk)
Active Member
Присоединился: 15 лет назад
Сообщения: 19
Topic starter  

Здравствуйте!
Разбираюсь с работой АЦП в меге16.
1.подаю на 3 канал ацп 1 вольт на USART выдает код 420.
2.подаю также на 3 канал -1 вольт на USART выдает код 420.
Вопрос такой как можно выделить на АЦП отрицательный сигнал от положительного. Код привожу.

#include <mega16.h>
#include <stdio.h>
#include <delay.h>

#define ADC_VREF_TYPE 0xC0
unsigned int a3;

unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
delay_us(10);
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}

void main(void)
{

PORTC=0x02;
DDRC=0xFF;

UCSRA=0x00;
UCSRB=0x08;
UCSRC="0x86;"
UBRRH=0x00;
UBRRL=0x19;

ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x85;

while (1)
{
PORTC.1=0; //мигаю диодом
delay_ms(500);
PORTC.1=1;

a3=read_adc(3);
printf("a3=%drn",a3);

delay_ms(1000);
};
}


Цитата
mas_nk
(@mas_nk)
Active Member
Присоединился: 15 лет назад
Сообщения: 19
Topic starter  

С проблемой разобрался, на вход АЦП нельзя подавать отрицательный сигнал, нужно делать развязку на ОУ.


ОтветитьЦитата