Ваша "рабочая проверенная" - это та, что просто КОТ выложил в посте viewtopic.php?p=1378271#p1378271 ?siamds писал(а):Уважаемый просто КОТ! Я уже высылал на форум рабочую проверенную программу...
Imho, Вы несколько погорячились со своим утверждением, поскольку функция led_show работает неправильно:
- если код АЦП будет >= 700, то гореть будут 3 светодиода, а не один.
- если код АЦП будет >=640, то гореть будут 2 светодиода
Требовалось то зажечь один из. И, кстати, речь вроде шла о 4 светодиодах:
просто КОТ писал(а):Надо через АЦП смотрет напряжение на делителе и в зависимости от напряжения зажигать один из 4 светодиодов!
И зачем функция read_adc записывает значение АЦП через глобальную переменную
Код: Выделить всё
ad=ADCW;а потом еще и возвращает значение
Код: Выделить всё
return ADCW;если она объявлена void?
Код: Выделить всё
void read_adc(void)В остальной код и вникать не стал, смысла не вижу.



"
а не проще было открыть даташит на конкретный МК и посмотреть что в нем пишут? а то пошли примеры каких-то "левых" АЦП.