Страница 1 из 1

Опрос 2-х датчиков давления, помогите.

Добавлено: Пт авг 24, 2012 19:10:15
AVT-28
Добрый день.
Есть 2датчика давления MPX5100

Первый из них я посадил на RA0 и вот так опрашиваю и получаю что мне надо.

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

int pressure()
{
	GODONE = 1;		// Start conversion
	while(GODONE);	// Wait until conversion success
	return (ADRESH<<2)+(ADRESL>>6);
}
А второй датчик я посадил на RA2. И как снего показания снять не догоняю.
Пример выше я откуда то стащил, сам не могу догнать.

Re: Опрос 2-х датчиков давления, помогите.

Добавлено: Пт авг 24, 2012 19:13:51
Сериг
Может быть PA0 и PA2?
Вы к кому подключаете?к Atmega?

Re: Опрос 2-х датчиков давления, помогите. pic16f887

Добавлено: Пт авг 24, 2012 20:46:10
AVT-28
А да я чего то совсем туплю Pic16f887

Re: Опрос 2-х датчиков давления, помогите.

Добавлено: Пт авг 24, 2012 21:03:34
Сериг
извинтиляюсь,это не ко мне. :)

Re: Опрос 2-х датчиков давления, помогите.

Добавлено: Сб авг 25, 2012 00:04:31
Ser60
Обращаться ко второму датчику можно с помощью той-же процедуры. Только надо предварительно настроить АЦП на вход AN2 вместо AN0. Удобно передавать настройку АЦП в параметре процедуры, например так:

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

int pressure(char channel)
{
   ADCON0 &= 0xC7;  // clear sensor input channel
   ADCON0 |= channel; // set new input channel
   delay(XX);  // acquisition delay
   GODONE = 1;      // Start conversion
   while(GODONE);   // Wait until conversion success
   return (ADRESH<<2)+(ADRESL>>6);
}
где значение парамера channel будет 0 для первого датчика и 2 для второго, в соответствии с номерани аналоговых входов AN0 и AN2. Переключение входов требует времени (см. ДШ), для этого в программе есть вызов задержки. Вместо ХХ надо подставить конкретное значение, прочитайте секцию 9.3 ДШ и посчитайте сами.

Re: Опрос 2-х датчиков давления, помогите.

Добавлено: Сб авг 25, 2012 19:55:25
AVT-28
Благодарю все работает!! :) :solder: