91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-04
  • 語言: 其他
  • 標簽: AD7940??驅動程序??

資源簡介

AD7940 14位AD轉換芯片 可準確讀取模擬量數據 周期約為4us

資源截圖

代碼片段和文件信息

?/*
?********************************************************************************************************
?*??????????????????????????????????????????All?Rights?Reserved
?*?Version???:?V1.00
?*?Data??????:?AD7940.C
?*?By????????:?skeletonwei
?*?For???????:?MSP430F5438
?*?Toolchain?:?IAR?????EverEdit
?*********************************************************************************************************
?*/
#include?“..\config.h“

//參考電壓選擇內部5V??
uint??channel_x_data[6][100];??//二維數組存儲6哥通道讀取的AD值,每個通道每次采集100次,在求平均值
????????????????????????????//其中最后一組數據位每個通道256次采樣的數據之和
UINT32??skeltonwei;
void??ad7940_init()??/*AD7940和*CD4051B端口初始化*/
{
?/*CD4051B端口配置*/
??P6DIR?|=?BIT5;????/*AD_EN*/
??P6OUT?|=?BIT5;???/*輸出為高*/
??
??P6DIR?|=?BIT6;???/*AD_A0*/
??P6OUT?|=?BIT6;?
?
??P6DIR?|=?BIT7;??/*AD_A1*/
??P6OUT?|=?BIT7;?
??
??P7DIR?|=?BIT4;?/*AD_A2*/
??P7OUT?|=?BIT4;?
??/*AD7940端口配置*/??
??P7DIR?|=?BIT5;?/*AD_CS*/
??P7OUT?|=?BIT5;?/*輸出為高*/
??
??P7DIR?|=?BIT6;??/*AD_CLK*/??
??P7OUT?|=?BIT6;?
?
??P7DIR?&=?~BIT7;?/*AD_SDATA作為數據輸入*/

??/*以下管腳配置為普通I/O*/??
??P6SEL?&=?~BIT5;?P6SEL?&=?~BIT6;?P6SEL?&=?~BIT7;?

??P7SEL?&=?~BIT4;?P7SEL?&=?~BIT5;?P7SEL?&=?~BIT6;
?
??P7SEL?&=?~BIT7;
?
}??
??
/********************各通道使能(0-6)***************************/
void??CH0_Enable(void)??/*CBA=000???使能*/
{
????????AD_EN_ENABLE;??/*CD4051使能*/
AD_A2_L;
AD_A1_L;
AD_A0_L;
????????delay_ms(5);
}
void??CH1_Enable(void)
{
????????AD_EN_ENABLE;??/*CD4051使能*/
AD_A2_L;
AD_A1_L;
AD_A0_H;
????????delay_ms(5);
}
void??CH2_Enable(void)
{
????????AD_EN_ENABLE;??/*CD4051使能*/
AD_A2_L;
AD_A1_H;
AD_A0_L;
????????delay_ms(5);

}
void??CH3_Enable(void)
{
????????AD_EN_ENABLE;??/*CD4051使能*/
AD_A2_L;
AD_A1_H;
AD_A0_H ;
????????delay_ms(5);
}
void??CH4_Enable(void)
{
????????AD_EN_ENABLE;??/*CD4051使能*/
AD_A2_H;
AD_A1_L;
AD_A0_L;
????????delay_ms(5);
}
void??CH5_Enable(void)
{
????????AD_EN_ENABLE;??/*CD4051使能*/
AD_A2_H;
AD_A1_L;
AD_A0_H;
delay_ms(5);
}


/**************AD7040驅動程序*******************/

uint??AD7940_Read(void)
{
uint?dat;
AD_CS_H;//初始CS線置為1
AD_CLK_H;//初始時鐘線置為0
delay_ms(2);
AD_CS_L;//初始CS置為0,AD轉換和數據傳輸同時開始
dat=AD7940_ReadByte();//讀取要得到數據
AD_CLK_H;//時鐘線拉高
delay_ms(2);
AD_CS_H;//讀取結束,CS置為1,結束數據的傳輸
delay_ms(2);
return?dat;//返回得到數據
}

/*************讀取AD7940的數據,高位在前、低位在后*********************/
uint??AD7940_ReadByte(void)
{
uint?idat_bit=0;
delay_ms(500);
??????for(i=0;i<16;i++)/*包括前置零點一共16位數據*/
{ ????
?????????dat_bit<<=1;//要返回的數據左移一位???
if(data_7940!=0)//當數據線為高時,證明該位數據為1
?{?
??????????dat_bit|=0x0001;??????????
?????????}//要傳輸數據的當前值置為1若不是則為0
?delay_us(1);
?????????AD_CLK_L;//拉低時鐘線
?????????delay_us(2);
?????????AD_CLK_H;//制造上升沿? ????
?delay_us(1);?
????}
return?dat_bit;//返回讀取出的數據

}


/******************************************************************************************
獲得通道X的AD轉換值
********************************

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????10780??2013-09-12?09:52??AD7940.c
?????文件????????1647??2013-09-06?13:26??AD7940.h

評論

共有 條評論