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

 
 
> ATMEGA8, не работает АЦП, Что я сделал неправильно?
DmitriyX
сообщение May 1 2005, 13:03
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 73
Регистрация: 21-12-04
Пользователь №: 1 581



Пробую использовать АЦП.
Кусок программы следующий:
ldi temp_reg,(1<<ADEN)+(1<<ADSC)
out ADCSR,temp_reg


wait_conv:
in temp_reg,ADCSR
sbrc temp_reg,ADSC
rjmp wait_conv
Насколько я понимаю, согласно документации, бит ADSC должен аппаратно сбрасываться после преобразования. Но даже в симуляторе AVRStudio и в Proteuse этот бит не хочет сбрасываться и следовательно, напряжение не измеряется и понятия не имею, что делать. Может быть я где-то сделал неправильно? или что-то еще необходимо настроить кроме ADEN? И ждал я достаточно долго - всеравно ничего.

Помогите, пожалуйста, советом
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
m16
сообщение May 1 2005, 13:31
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 242
Регистрация: 27-01-05
Пользователь №: 2 225



Извини разбираться некогдаю вот рабочий код для меги16

init_adc:
ldi tempA,0b00000000 ;инициализация ADC
out admux,tempA
ldi tempA,0b10000111
out adcsra,tempA
ret

;------------------------------------------------------------------------

start_adc:

ldi tempA,0b00000000 ;запуск ADC и ожид преобазов
out admux,tempA
sbi adcsra,6
cy4: in tempA,adcsra
andi tempA,0b01000000
brne cy4
in tempA,adcl ;счит результата из ADC
in tempB,adch
Go to the top of the page
 
+Quote Post
Sergio66
сообщение May 3 2005, 08:54
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 9-02-05
Пользователь №: 2 526



Вот код на сях. Под М16, также идет на М8, и на М32
Проверено, работает.

[int Adc_Convertion(char port)
{
unsigned int data;
ADMUX = port;
ADCSRA = 0xc7;
while (!(ADCSRA & (1<<ADIF)));
ADCSRA |= ADIF;
data = ADCL;
data += ((ADCH & 0x03)<<8);
return data;
}
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 14:14
Рейтинг@Mail.ru


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