Цитата(virtuality @ May 19 2006, 07:26)

надо лишь отличить 0,05-0,15 В от 1-1,5 вольт.
.......................
Но у него напряжение 2,5 вольт.
У Вас диапазон входного напряжения как раз лежит ниже напряжения внутреннего опорника, так что все будет работать. А если на входе будет напряжение выше Uоп, но ниже Uпит, то на выходе АЦП будет число 1023. Только и всего - ничего не сгорит.
PS Кстати на чем пишите? У меня CodeWizard от CodeVision выдал следующюю заготовку:
[code]#include <mega8.h>
#define ADC_VREF_TYPE 0xC0
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input|ADC_VREF_TYPE;
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// ..................................................................
// ADC initialization
// ADC Clock frequency: 500,000 kHz
// ADC Voltage Reference: Int., cap. on AREF
ADMUX=ADC_VREF_TYPE;
ADCSRA=0x81;
Успехов.
Сообщение отредактировал otrog - May 19 2006, 06:50
Истина рождается в спорах; но когда страсти кипят, истина испаряется.