资源简介
ADS1232的驱动程序,是最新的程序,可以下载测试一下。24AD
代码片段和文件信息
/************************************************************************
*
*
* 文件名称: // ADS1232.c
* 文件标识: //
* 内容摘要: // AD转换端口的定义 时序的配置、全局函数和局部函数的实现
* 其它说明: //
* 当前版本: // V0.1
* 作 者: //hans
* 完成日期: // 2010年12月24日
*
* 修改记录1:// 修改历史记录,包括修改日期、修改者及修改内容
* 修改日期:
* 版 本 号:
* 修 改 人:
* 修改内容:
* 修改记录2:…
************************************************************************/
/**************************************************************************
* 头文件 *
**************************************************************************/
#include
#include
/**************************************************************************
* 宏定义 *
**************************************************************************/
//读PortCIO口的一位
#define BIT_READ(x) ((PINC & (1<<(x))) ? 1 : 0)
//将某一PortCIO口设着为1
#define MAKE_HIGH(x) (PORTC |= 1<<(x))
//将某一PortCIO口清0
#define MAKE_LOW(x) (PORTC &= ~(1<<(x)))
//将某一PortCIO口输入模式
#define CFG_READ(x) (DDRC &= ~(1<<(x)))
//将某一PortCIO口输出模式
#define CFG_WRITE(x) (DDRC |= 1<<(x))
/**************************************************************************
* 数据类型 *
**************************************************************************/
#define uint unsigned int //无符号整型缩写为uint
#define uchar unsigned char //无符号字符型缩写为uchar
#define ulong unsigned long //无符号长整型缩写为ulong
#define PDWN PC2
#define SCLK PC1
#define DOUT PC0
void delay_ad(uint ms)
{
uint m n;
for(m=0;m for(n=0;n<520;n++);
}
void ads1232_init(void)
{
uchar i;
CFG_WRITE(PDWN);
CFG_WRITE(SCLK);
CFG_READ(DOUT);
MAKE_LOW(SCLK);
MAKE_LOW(PDWN);
delay_ad(100);
MAKE_HIGH(PDWN);
while(BIT_READ(DOUT) == 1){;}
NOP(); NOP();
for(i = 0; i < 26; i++) //offset calibration
{
MAKE_HIGH(SCLK);
NOP(); NOP(); NOP(); NOP();
MAKE_LOW(SCLK);
NOP(); NOP(); NOP(); NOP();
}
}
ulong read_ads1232(void)
{
uchar i;
ulong adc_val;
adc_val = 0;
while(BIT_READ(DOUT) == 1){;}
NOP(); NOP(); NOP();NOP();
for(i = 0; i < 24; i++)
{
adc_val = adc_val << 1;
MAKE_HIGH(SCLK);
NOP(); NOP();
if(BIT_READ(DOUT) == 1)
{
adc_val += 1;
}
MAKE_LOW(SCLK);
NOP();
}
NOP();
MAKE_HIGH(SCLK);
NOP();
NOP();
MAKE_LOW(SCLK);
return adc_val;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 204 2011-06-03 10:16 ADS1232.h
文件 3061 2011-06-03 10:16 ADS1232.c
- 上一篇:Head First 系列丛书网盘资源
- 下一篇:CE修改器源码.e
评论
共有 条评论