Просматривая просторы сети на тему стабилизаторов (семисторных), наткнулся на следующую статью.
Поскольку пару(пяток) лет назад уже была мысль заняться изучением контроллеров, возникла мысль - таки заняться.
Тогда, дальше покупки пары Атмег, дело не пошло.
Взять готовый код и делать без полного понимания - это не для меня. Разобраться в чужом сложно. Посему пробую сам.
В пристегнутом архиве проекты Студии 6 и Протеуса 7.10. (Не все функции пока дописаны, например Старт).
Вопросы (просьбы) следующие:
1. Покритикуйте, может что перемудил
2. Где-то я запутался со значениями АЦП (или Протеус запутался). При пошаговой симуляции в Студии контрольные значения
Код: Выделить всё
in_Volt = (temp_in_Volt/i);
out_Volt = (temp_out_Volt/i);В таком виде нормальные, соответствуют
Код: Выделить всё
unsigned int adc_data[3] = {220,215};Но при этом в Протеусе в два раза завышены.
Где я прокололся?
3. При пошаговой (причем при шаге с обходом все нормально) симуляции в этом месте
Код: Выделить всё
in_Volt = (temp_in_Volt/i);
out_Volt = (temp_out_Volt/i);возникает такая бяка
http://img.radiokot.ru/files/110060/medium/skku27k9k.PNG
Что не так?
Спасибо за ответы, и конструктивную критику.