8051 і AD7731

M

Mickey_2006

Guest
Im ', використовуючи перетворювач AD7731 T89C51AC2 мікроконтролера, і я не отримую RDY потягнув вниз (сигнал, що перехід закінчений):

Цей код я використовую:
(POL контактний пов'язана HIGH)
будь-які ідеї, чому?
Хто-небудь є код для управління AD7731?

fnSendByteAD7731 (0x02) / / Наступний запис до реєстру MODE
fnWait1ms ();
fnSendByteAD7731 (0x50) / / Перший 8 біт MODE зареєструватися
fnWait1ms ();
fnSendByteAD7731 (0x70 (канал і 0x07)) / / Останні 8 біт MODE зареєструватися
fnWait1ms ();

а (AD7731_RDY) _nop_ (); / / Чекаємо для переходу до кінцянедійсним fnSendByteAD7731 (непідписані символ байт) (
непідписані символ ц;

для (ц = 0; ц <8; ц ) (
AD7731_DATA = (байт і 0x80) == 0x80;
AD7731_SCLK = 0; fnWait1ms ();
AD7731_SCLK = 1; fnWait1ms ();
байт байт = <<1;
)
)

 
Привіт

Підключитися бард або логічний аналізатор і verifay сигнали відповідно до даних аркушаВсього хорошогоБобі

 
Перевірили чи ви MCLK OUT?
Якщо є помилка у коді, ви повинні після реалізації функції, з тим щоб отримати допомогу.

 
Тут функції:

недійсним fnSendByteAD7731 (непідписані символ байт) (
непідписані символ ц;

для (ц = 0; ц <8; ц ) (
AD7731_DATA = (байт і 0x80) == 0x80;
AD7731_SCLK = 0; fnWait1ms ();
AD7731_SCLK = 1; fnWait1ms ();
байт байт = <<1;
)

AD7731_DATA = 1;
)непідписані символ fnReadByteAD7731 () (
непідписані символ ц;
непідписані символ результат = 0;

для (ц = 0; ц <8; ц ) (
AD7731_SCLK = 0; fnWait1ms ();
Результат | = (0x01 і AD7731_DATA);
AD7731_SCLK = 1; fnWait1ms ();
результат = результат <<1;
)

повернення результату;
)Чи є у вас думка, що не так?

 

Welcome to EDABoard.com

Sponsor

Back
Top