資源簡介
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
評論
共有 條評論