реклама на сайте
подробности

 
 
> Выбор канала АЦП
Ich
сообщение Jan 30 2007, 23:16
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 12-05-05
Пользователь №: 4 962



Всем доброго времени суток!
Столкнулся с проблемой.... Пишу программу которая изменяет напряжение (в двух точках) и выводит ее на экран из 7-сегментных матриц. Т.е. мне нужно реализовать два канала для измерения... С одним каналом все работает без проблем, но не могу заставить его выводить значение с другого канала АЦП... По прерыванию таймера выбираю первый канал (в моем случае AD0) и запускаю преобразование АЦП, затем выбираю второй канал (AD3) и опять запускаю преобразование... Между запуском преобразования и считыванием результата выдерживаю 15 тактов. Но вот возникла проблема blink.gif результат воторого преобразования тот же самый что и первого angry.gif , т.е. как я понимаю либо не переключается канал АЦП либо не запускается второе преобразование... Помогите пожалуйста...Может я где ошибся? rolleyes.gif Очень надо. a14.gif Контройлер Mega 16. Шью понипрогом последним через STK 200.


clr temp
ldi temp,(1<<REFS0)
out ADMUX,temp
clr temp
ldi temp,(1<<ADEN)+(1<<ADSC)+(1<<ADPS2)+(1<<ADPS0)
out ADCSR,temp
nop
nop
....
nop
in YL,ADCL
in YH,ADCH
;=======================
clr temp
ldi temp,(1<<REFS0)+(1<<MUX1)+(1<<MUX0)
out ADMUX,temp
clr temp
ldi temp,(1<<ADEN)+(1<<ADSC)+(1<<ADPS2)+(1<<ADPS0)
out ADCSR,temp
nop
....
nop
in ZL,ADCL
in ZH,ADCH


Заранее благодарен...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение Jan 31 2007, 00:19
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Если Вы будете делать следующим образом, то время измерения у вас увеличится, а время получения результата - сохранится.
Я делаю так.
1) прерывание по времени гарантировано больше двух (для запаса) циклов измерения.
2) Вкаждом прерывании
а) Сначала читаю результат
б) Выставляю новый канал
в) выхожу из прерывания.

Тактм образом м/у началом измерения и съёмом результата проходит не 15 тактов, а одно прерывание.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 03:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.02869 секунд с 7
ELECTRONIX ©2004-2016