⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c51.c

📁 ADC7841 为12位4通道串行AD转换
💻 C
字号:

//////////////////////////////////////////////////////////////////
//函数原型:unsigned int ADS7841_Read_Data(unsigned char Channel);
//** 功 能:SPI总线的A/D ADS7841 驱动程序**
// 入口参数:unsigned char Channel 表示选择读取通道** 
//出口参数:unsigned int 返回所读取得12位数据。** 
//说 明:ADS7841为12位A/D,先对其进行设置:数据位D0---D7,其中D0---D1是** 
//设置ADC的功耗模式,D2是模拟输入通道设置,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串行接口 发送数据 
} 
NOP; 
DCLK=0; 
while(BUSY) 
{ NOP; DCLK=1; NOP; DCLK=0; } //当BUSY脚由高变为低时,则开始数据输出 
 NOP;
 for(i=0;i<12;i ) 
{ DCLK=1; ADCResult=(ADCResult<<1)|DOUT; //模拟SPI串行接口 接收数据 
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 + -