Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 04.11.2010, 06:36  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Помогите с регистрами АЦП ATMega8535

Доброе время всем.
Запутался в регистрах, чегото не получается.
Вобшем нужно замерить напряжение на ADC6 и ADC7 и записать в соответствующие переменные.
volatile unsigned char I_ADC;
volatile unsigned char U_ADC;
void ADC_I (void){ //делаем АЦП ADC6
ADMUX=0b00100110;
ADCSRA=0b11000111;
I_ADC=ADCH;
}

void ADC_U (void){ //делаем АЦП ADC7
ADMUX=0b00100111;
ADCSRA=0b11000111;
U_ADC=ADCH;
}
Реклама:
7Fantomas7 вне форума  
Непрочитано 04.11.2010, 07:00  
mironov
Вид на жительство
 
Регистрация: 07.03.2005
Сообщений: 300
Сказал спасибо: 13
Сказали Спасибо 117 раз(а) в 62 сообщении(ях)
mironov на пути к лучшему
По умолчанию Re: Помогите с регистрами АЦП ATMega8535

Посмотрите, может поможет.
Вложения:
Тип файла: zip ADC channel.zip (125.3 Кб, 100 просмотров)
mironov вне форума  
Непрочитано 04.11.2010, 07:13  
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Помогите с регистрами АЦП ATMega8535

ADCSRA=0b11000111;
ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0 --- ADCSRA
The first conversion after
ADSC has been written after the ADC has been enabled, or if ADSC is written at the
same time as the ADC is enabled, will take 25 ADC clock cycles instead of the normal
13. This first conversion performs initialization of the ADC.
Подождать может нужно?
ADCSRA=0b11000111; делитель на 128 , Xtal/128 частота ,13 циклов (первое , вообще 25 циклов)
Миниатюры:
Нажмите на изображение для увеличения
Название: ADC.JPG
Просмотров: 101
Размер:	20.9 Кб
ID:	14313  

Последний раз редактировалось OlegNZH; 04.11.2010 в 07:29.
OlegNZH вне форума  
Непрочитано 04.11.2010, 07:41  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Помогите с регистрами АЦП ATMega8535

Цитата:
делитель на 128
Да это так. По правде сказать мне по барабану какой делитель лиш бы выдерживалась точность в рамках 8 старших бит.
Цитата:
Подождать может нужно?
А как правильно подождать?
7Fantomas7 вне форума  
Непрочитано 04.11.2010, 07:57  
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Помогите с регистрами АЦП ATMega8535

бит есть , окончание преобразования ..
ADSC will read as one as long as a conversion is in progress. When the conversion is complete, it returns to zero. Writing zero to this bit has no effect. Запись "1" Запуск - как в ноль- упадёт- Свершилось
ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0 --- ADCSRA
ADCSRA |= 0x40; (Запуск)
while(ADCSRA && 0x40); Ждём
(Коряво конечно есть стандартные Записи,)

Последний раз редактировалось OlegNZH; 04.11.2010 в 08:13. Причина: while по- Паскалевски , блин, с большой буквы написал
OlegNZH вне форума  
Непрочитано 04.11.2010, 08:03  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Помогите с регистрами АЦП ATMega8535

Правильно ли я понимаю что перед строкой I_ADC=ADCH;
нужно поставить delay, или подождать пока ADSC станет 0

Последний раз редактировалось 7Fantomas7; 04.11.2010 в 08:08.
7Fantomas7 вне форума  
Непрочитано 04.11.2010, 08:20  
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Помогите с регистрами АЦП ATMega8535

delay можно подсчитать , но while- просто подождёт , когда бит скинется. А вообще - в прерываниях это делается. Слишком большая задержка на делителе 128. Пусть измеряет себе. Здесь Есть тонкости , можно читать До окончания пре....не не будем ....Лучше поставить делитель поменьше, и Прерывание , и в нём уже Честные данные считывать.
(Под CodeVision)-


interrupt [ADC_INT] void adc_isr(void)
{
//Считать канал куда-то его записать
//пОменять на новый(не забыть- какой измеряться будет!)

// Старт нового измерения
ADCSRA|=0x40;
}

ADMUX =0x27; //ADLAR=1 , 7 канал
ADCSRA =0x8E; //Ацп разрешено + прерывание+тактовая на 64
SFIOR &=0x00; // Free Running mode АЦП (старшие биты, младшие - не знаю что там будет)
#asm("sei")

// Первое измерение

ADCSRA|=0x40;

//delay подождать можно немного

while(1) {
//Брать уже записанные результаты, и что-то Делать с ними
}

Мог напутать чегойнибудь, но смысл такой..

Последний раз редактировалось OlegNZH; 04.11.2010 в 08:46.
OlegNZH вне форума  
Сказали "Спасибо" OlegNZH
7Fantomas7 (04.11.2010)
Непрочитано 04.11.2010, 08:51  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Помогите с регистрами АЦП ATMega8535

Цитата:
А вообще - в прерываниях это делается.
Прерывание по окончанию преобразования? Не хотелось бы прерывания. Есть причина.
Цитата:
Слишком большая задержка на делителе 128
А какой минимально допустимый делитель можно установить при 16 мГц тактовой чтоб АЦП нормально 8 бит мерил.
7Fantomas7 вне форума  
Непрочитано 04.11.2010, 09:04  
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Помогите с регистрами АЦП ATMega8535

да на 8-ми- в принципе- любые , это когда дифференциальные меряются, с внутренним усилением 200, ставить Стопы, шумы убирать..и тд .. А так на делителе 64- около 20 кгц получается выборки.(минус 2 разряда ещё по точности)
OlegNZH вне форума  
Непрочитано 04.11.2010, 09:13  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Помогите с регистрами АЦП ATMega8535

Цитата:
да на 8-ми- в принципе- любые
Правильно ли я понимаю что и делитель 2 пойдет и все будет надежно работать.
Просто мне нужно померить от 0 до 255 с точностью 1, да желательно побыстрее. Просто с делителями тупанул изначально.
7Fantomas7 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите чайнику симулировать АЦП прерывание на Proteus - e shatakhian Микроконтроллеры, АЦП, память и т.д 10 14.10.2011 03:26
Помогите настроить АЦП в Atmega32 sergx1300 Микроконтроллеры, АЦП, память и т.д 72 09.11.2010 00:28
АЦП помогите разобраться Uragan90 Информация по радиокомпонентам 5 21.09.2010 00:40
Помогите найти микросхему АЦП следящего типа vitamin12 Микроконтроллеры, АЦП, память и т.д 2 18.05.2010 22:01
[Решено] Помогите опознать АЦП ? sh2cer Информация по радиокомпонентам 2 08.12.2009 17:12


Часовой пояс GMT +4, время: 09:32.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot