Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Интерфейс на AD77XX (АЦП от Analog Devices) с PicMicro
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=1445
Страница 1 от 1

Автор:  LamiLami [ Пон Дек 19, 2005 8:31 pm ]
Заглавие:  Интерфейс на AD77XX (АЦП от Analog Devices) с PicMicro

Помогнете ...
Няма много инфо за тях, май не са популярни?

Автор:  ToHu [ Вто Дек 20, 2005 1:50 am ]
Заглавие: 

Интересно защо така мислиш, инфо има достатъчно, ето по долу, това някога съм го преработвал за 7714, не помня оригинално за какво е било, трябва да работи, библиотеката е за CCS.


//*************************************************************
// Driver routines for the AD7714 chip, by ToHu
// write_adc_byte()
// adc_init()
// read_adc_word()
// read_adc_value()
//*************************************************************
#define ADC_CS PIN_A0
#define ADC_RESET PIN_A1
#define ADC_DRDY PIN_A2
#define ADC_DI PIN_A3
#define ADC_DO PIN_A4
#define ADC_CLK PIN_A5



void write_adc_byte(int data)
{
int i;
output_low(ADC_CS);
for(i=1;i<=8;++i)
{
output_low(ADC_CLK);
output_bit(ADC_DI, shift_left(&data,1,0));
output_high(ADC_CLK);
}
output_high(ADC_CS);
}

adc_init()
{
output_low(ADC_RESET);
output_high(ADC_CLK);
output_high(ADC_CS); //Set low to AD7714 chip select low pin
output_high(ADC_RESET); //Set high to AD7714 reset low pin
delay_ms(3000);
write_adc_byte(0x24); //to com.register, chanel & filter Hi
write_adc_byte(0xCF); //to filter hi register
write_adc_byte(0x34); //to com.register, chanel & filter low
write_adc_byte(0x00); //to filter low register
write_adc_byte(0x10); //to com register, chanel & mod register
write_adc_byte(0x20); //to mod register, self test
}



int32 read_adc_word()
{
int i;
int32 data;
output_low(ADC_CS);
for(i=1;i<=24;++i)
{
output_low(ADC_CLK);
output_high(ADC_CLK);
shift_left(&data,3,input(ADC_DO));
}
output_high(ADC_CS);
return data;
}



int32 read_adc_value()
{
int32 value;
while ( input(ADC_DRDY) );
while ( !input(ADC_DRDY) );
while ( input(ADC_DRDY) );
write_adc_byte(0x58);
value=read_adc_word();
return value;
}

Автор:  LamiLami [ Чет Дек 22, 2005 3:50 pm ]
Заглавие:  Thanks !

Благодаря ти ...
Ще го пробвам и ще опитам да го доразвия...

10х

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/