Вольтметр на Atmega16
-
tux
- Первый раз сказал Мяу!
- Сообщения: 36
- Зарегистрирован: Чт сен 20, 2012 11:57:28
- Откуда: Владивосток
- Контактная информация:
Вольтметр на Atmega16
Пытаюсь вот все освоить программирование AVR. Решил сделать вольтметр. Написал программу. Часть честно спер, часть написал сам. Запускаю в протеусе - ни фига на дисплей ни выводит. Может кто укажет на ошибку? Код на ассеблере.
- Вложения
-
- ADC_код.zip
- (10.01 КБ) 257 скачиваний
-
- ADC.zip
- Протеус
- (20.93 КБ) 214 скачиваний
Re: Вольтметр на Atmega16
Протеус позволяет в ряде случаев сымитировать работу проектируемого девайса,а также разработать для него печатную плату.Если нужно только проверить работу микроконтроллера,лучше не использовать ключевые транзисторы и гасящие сопротивления,а подключать непосредственно к потребителю - не сгорит.
Сначала выведи на дисплейчик какое-нибудь статическое значение,например 1234,а потом уже можно будет его заменить на значение переменной ADC.
И последнее.Я заметил здесь очень мало любителей ковыряться в чужом асме.Будьте проще,пишите на С.
Сначала выведи на дисплейчик какое-нибудь статическое значение,например 1234,а потом уже можно будет его заменить на значение переменной ADC.
И последнее.Я заметил здесь очень мало любителей ковыряться в чужом асме.Будьте проще,пишите на С.
-
tux
- Первый раз сказал Мяу!
- Сообщения: 36
- Зарегистрирован: Чт сен 20, 2012 11:57:28
- Откуда: Владивосток
- Контактная информация:
Re: Вольтметр на Atmega16
Да код для вывода на дисплей 100% рабочий. Я уже пытался сделать часы просто на таймере, но заглох с кнопками. Тоже долго бился с ними и решил отложить это и попробовать с АЦП. И с ним заглох тоже. А насчет си - хотелось бы сначала все таки разобраться в ассемблере, чтоб понимать как все битики ходят.
Я уже на проблеме с часами понял, что тут нет любителей ковыряться в асемблере. Написал на всякий случай - вдруг таковой объявится
. Хочется все таки написать свой рабочий код..
Я уже на проблеме с часами понял, что тут нет любителей ковыряться в асемблере. Написал на всякий случай - вдруг таковой объявится
-
tux
- Первый раз сказал Мяу!
- Сообщения: 36
- Зарегистрирован: Чт сен 20, 2012 11:57:28
- Откуда: Владивосток
- Контактная информация:
Re: Вольтметр на Atmega16
Хотел свой код написать просто, который я сам понимаю как работает. Но чую придется сначала по Ревичу разобраться. Может после него осознаю свою ошибку..
Re: Вольтметр на Atmega16
Ну вот код на С(для CVAVR),хочешь переведи его в асм
Объявляем переменную для АЦП
Настраиваем АЦП
В теле программы снимаем показания АЦП
Всего делов.
Объявляем переменную для АЦП
Код: Выделить всё
unsigned int a;Настраиваем АЦП
Код: Выделить всё
ADCSRA=0b10000111; //настройкаа АЦП.Включен АЦП,прескалер максимальный
ADMUX=0b01000011; //опорное напряжение от питания,выравнивание в право(10бит),ручное преобразование,вход на ADC3В теле программы снимаем показания АЦП
Код: Выделить всё
ADCSRA.6=1; //запускаем преобазование
while(ADCSRA.6==1){}; //ждём пока идёт преобразование(пустой цикл)
a=ADCW; //результат преобразования сохраняется в регистре ADCWВсего делов.