| Микроконтролери и електроника 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/ |
|