Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено -=John=- 15 декабря 2004 г. 20:30
В ответ на: Господа!!! поделитесь опытом работы с DDS AD9834 и AD9850 отправлено vit 15 декабря 2004 г. 20:26

Так устроит?


/*
Описание работы с микросхемой управляемого генератора частоты AD9834.
Версия 07.03.
Вариант с управлением только по 3 проводам.
Работа только с регистрами 0.
File AD9834.c
Можаров Евгений Эдуардович mozharov@yahoo.com
*/

//--------------------------------
// Запись 16 бит в AD9834
void WriteAD ( unsigned int Word )
{
unsigned char i;

SetBit ( ADCSO, ADCSB );
SetBit ( ADClockO, ADClockB );

ClrBit ( ADCSO, ADCSB );

for ( i = 0; i < 16; i++ )
{
if ( Word & 0x8000 ) SetBit ( ADDataO, ADDataB );
else ClrBit ( ADDataO, ADDataB );
Word <<= 1;
ClrBit ( ADClockO, ADClockB );
SetBit ( ADClockO, ADClockB );
}
SetBit ( ADCSO, ADCSB );
} // WriteAD

//--------------------------------
// Задать частоту генерации
void SetFreq ( float Freq )
{
float F;
unsigned long L;

// Reset
// Записываем частоту
F = Freq;
F *= 0x4000;
F *= 0x4000;
F /= AD_MClkFreq;
L = floor ( F );

// Пишем в регистр контроля
WriteAD ( AD_ControlWord );
// Данные
WriteAD ( 0x4000 | ( L & 0x3FFF ) );
WriteAD ( 0x4000 | ( ( L >> 14 ) & 0x3FFF ) );
} // SetFreq


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru