Вольтметр на Atmega16

Обсуждаем контроллеры компании Atmel.
Ответить
tux
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Чт сен 20, 2012 11:57:28
Откуда: Владивосток
Контактная информация:

Вольтметр на Atmega16

Сообщение tux »

Пытаюсь вот все освоить программирование AVR. Решил сделать вольтметр. Написал программу. Часть честно спер, часть написал сам. Запускаю в протеусе - ни фига на дисплей ни выводит. Может кто укажет на ошибку? Код на ассеблере.
Вложения
ADC_код.zip
(10.01 КБ) 257 скачиваний
ADC.zip
Протеус
(20.93 КБ) 214 скачиваний
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Вольтметр на Atmega16

Сообщение Vov123 »

Протеус позволяет в ряде случаев сымитировать работу проектируемого девайса,а также разработать для него печатную плату.Если нужно только проверить работу микроконтроллера,лучше не использовать ключевые транзисторы и гасящие сопротивления,а подключать непосредственно к потребителю - не сгорит.
Сначала выведи на дисплейчик какое-нибудь статическое значение,например 1234,а потом уже можно будет его заменить на значение переменной ADC.
И последнее.Я заметил здесь очень мало любителей ковыряться в чужом асме.Будьте проще,пишите на С.
tux
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Чт сен 20, 2012 11:57:28
Откуда: Владивосток
Контактная информация:

Re: Вольтметр на Atmega16

Сообщение tux »

Да код для вывода на дисплей 100% рабочий. Я уже пытался сделать часы просто на таймере, но заглох с кнопками. Тоже долго бился с ними и решил отложить это и попробовать с АЦП. И с ним заглох тоже. А насчет си - хотелось бы сначала все таки разобраться в ассемблере, чтоб понимать как все битики ходят.
Я уже на проблеме с часами понял, что тут нет любителей ковыряться в асемблере. Написал на всякий случай - вдруг таковой объявится :). Хочется все таки написать свой рабочий код..
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Вольтметр на Atmega16

Сообщение Vov123 »

Ну тогда Ревич тебе в помощь
http://asm-book.narod.ru/LiteraturaKnig ... blera.html
на стр.227
tux
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Чт сен 20, 2012 11:57:28
Откуда: Владивосток
Контактная информация:

Re: Вольтметр на Atmega16

Сообщение tux »

Хотел свой код написать просто, который я сам понимаю как работает. Но чую придется сначала по Ревичу разобраться. Может после него осознаю свою ошибку..
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Вольтметр на Atmega16

Сообщение Vov123 »

Ну вот код на С(для CVAVR),хочешь переведи его в асм

Объявляем переменную для АЦП

Код: Выделить всё

unsigned int a;


Настраиваем АЦП

Код: Выделить всё

ADCSRA=0b10000111;  //настройкаа АЦП.Включен АЦП,прескалер максимальный
ADMUX=0b01000011;   //опорное напряжение от питания,выравнивание в право(10бит),ручное преобразование,вход на ADC3


В теле программы снимаем показания АЦП

Код: Выделить всё

ADCSRA.6=1;             //запускаем преобазование
while(ADCSRA.6==1){};   //ждём пока идёт преобразование(пустой цикл)
a=ADCW;          //результат преобразования сохраняется в регистре ADCW


Всего делов.
Ответить

Вернуться в «AVR»