• 大小: 1KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: 其他
  • 标签: ADS1232  

资源简介

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

评论

共有 条评论

相关资源