?? c51.c
字號:
//////////////////////////////////////////////////////////////////
//函數(shù)原型:unsigned int ADS7841_Read_Data(unsigned char Channel);
//** 功 能:SPI總線的A/D ADS7841 驅(qū)動程序**
// 入口參數(shù):unsigned char Channel 表示選擇讀取通道**
//出口參數(shù):unsigned int 返回所讀取得12位數(shù)據(jù)。**
//說 明:ADS7841為12位A/D,先對其進行設(shè)置:數(shù)據(jù)位D0---D7,其中D0---D1是**
//設(shè)置ADC的功耗模式,D2是模擬輸入通道設(shè)置,H為4個單通道,L為兩個*
//* 差分輸入,D3為mode,當mode(pin)接地時為12位采樣方式,接高電平時** mode為1時8位采集,
//為0時12位采集,D4---D6為輸入通道選擇,D7為起始位
//** 作 者: 絕魚
//nobody_008@163.com** 日 期: 2006年11月11日**
//-------------------------------------------------------------------------------------------
//------------** 修 改 人: 絕魚 nobody_008@163.com** 日 期: 2006年11月06日*******************
//************************************************************
///////////////////////////////////////////////////////////////////////////////////////////////
/*unsigned int ADS7841_Read_Data(unsigned char Channel)
//Channel=0:CH0;1:CH1;2:CH2;3:CH3;
{
unsigned int ADCResult=0;
unsigned char DataInput=0;
unsigned char i,ADS7841_CHANNEL;
switch (Channel)
{
case 0:ADS7841_CHANNEL=0x10;break;
case 1:ADS7841_CHANNEL=0x50;break;
case 2:ADS7841_CHANNEL=0x20;break;
case 3:ADS7841_CHANNEL=0x60;break;
default:ADS7841_CHANNEL=0x10;break;
}
DataInput=ADS7841_S|ADS7841_CHANNEL|ADS7841_MODE|ADS7841_SGL_DIF|ADS7841_POWER_DOWN;
DCLK=0; DIN=0; CS=VALID;
for(i=0; i<8; i )
{ DIN=DataInput&0x80;
DataInput=DataInput<<1;
DCLK=0;
NOP;
DCLK=1; //模擬SPI串行接口 發(fā)送數(shù)據(jù)
}
NOP;
DCLK=0;
while(BUSY)
{ NOP; DCLK=1; NOP; DCLK=0; } //當BUSY腳由高變?yōu)榈蜁r,則開始數(shù)據(jù)輸出
NOP;
for(i=0;i<12;i )
{ DCLK=1; ADCResult=(ADCResult<<1)|DOUT; //模擬SPI串行接口 接收數(shù)據(jù)
DCLK=0; NOP;
}
for(i=0;i<4;i )
{
DCLK=1; NOP;
DCLK=0; NOP;
}
CS=INVALID;
return ADCResult;
}*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -