Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Схемы и программы к микроконтроллерам Сопряжение АЦП AD7714 с микроконтроллером


Информационный Канал Subscribe.Ru

Схемы и программы к микроконтроллерам.

 Схемы и программы к микроконтроллерам.


 Уважаемый подписчик!

В предыдущем выпуске был открыт новый раздел рассылки, посвященный сопряжению сигма-дельта АЦП AD7714 фирмы Analog device с микроконтроллерами семейства MCS-51.

Схему сопряжения  AD7714 с микроконтроллером AT89S8252 можно найти на www.circuitdevelop.narod.ru .

Подробная информация о микросхеме  AD7714 находиться на www.analog.com

Для подписчиков данной рассылки открылся дискуссионный лист, он позволит подписчикам свободно общаться по тематике рассылки как между собой, так и с автором. Подписаться на дискуссионный лист можно на сайте рассылки www.circuitdevelop.narod.ru

 В данном выпуске рассылки приводиться подпрограмма обмена AD7714 с микроконтроллерами 51-семейства.

//******************передача последовательных данных в АЦП*****************

 

 

        send_ADC_register(unsigned char send_data)              //посылает в АЦП байт

                {

                        unsigned char cnt1;

 

                

 

                        SCLK = 1;

                        cnt1 = 0;

 

                        do{

                                        SCLK = 0;

                                        if((send_data&128)) {DIN = 0;}

                                        else {DIN = 1;}

                                        SCLK = 1;

                                        send_data = send_data << 1;

                                        cnt1++;

                        }while(cnt1 < 8);

                }

//*****************прием последовательных данных из АЦП**************

 

 

        receive_ADC_register(unsigned char quantity_bit)        //принимает из АЦП от 1 до 3 байт

                {

                        unsigned char cnt1, cnt2, cnt3;         //первый элемент - старший бит старшего

                                                                                        //байта (0 - 2, где 2 - старший байт)

                        cnt1 = quantity_bit/8;

                        cnt2 = 8;

                        cnt3 = quantity_bit/8;

                        do{

                                cnt1--;

                                cnt2 = 8;

                                do{

                                        received_ADC_data[cnt1] = received_ADC_data[cnt1] << 1;

                                        SCLK = 0;

                                        if(!DOUT) {received_ADC_data[cnt1] = received_ADC_data[cnt1]|1;}

                                        else {received_ADC_data[cnt1] = received_ADC_data[cnt1]&254;}

                                        //received_ADC_data[cnt1] = received_ADC_data[cnt1] << 1;

                                        cnt2 --;

                                        SCLK = 1;

                                }while(cnt2 > 0);

                                cnt3 --;

                        }while(cnt3 > 0);

 

                }

 

С вопросами по тематике рассылки просьба обращаться к автору на rat_e@ngs.ru .

 



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное