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

📄 ads1256.txt

📁 此程序为24位串口芯片ADS1256的读写程序
💻 TXT
字号:
void ad_send(unsigned char sdata)//发送一个字节数据,连续写数据时用。
{     
     unsigned char i=8;
     
     while (i--){
           P3OUT|=0X08; 
           if (sdata & 0x80)
              P3OUT |=  ADS1256_DIN;
           else
              P3OUT &= ~ADS1256_DIN;
           
           _NOP();
           _NOP();
           
           P3OUT&=~0X08; 
           sdata<<=1;
     }
     usdelay(5);
}
void ad_wreg(unsigned char reg,unsigned char wdata)//写寄存器。选择寄存器地址,写入的数据。
{              
     P4OUT=0X00;
     //ad_send(0x0f);         //停止采集//
     while(!(P3IN&ad_drdy));//DRDY信号高时才能写寄存器     
     
     ad_send(0x50+reg);//选择写入寄存器     
     ad_send(0x00);    //写入1个寄存器     
     ad_send(wdata);   //写入数据
     //ad_send(0xfc);   //SYNC 
     //ad_send(0xff);   //WAKEUP
     P4OUT=0X07;
     //开始连续采集//
     usdelay(250);      //可更改。但读数据必须在要等待最小一个采集周期(大约90ms)后。
}
/*************************************************************************************/

/*void ad_ch(unsigned char ch)  //选择通道。  高4位 正向通道;低4位 负向通道。
{    
     //选择通道寄存器地址,写入数据。
}*/
/*************************************************************************************/
unsigned long ad_read()//读A/D数据。
{     
     unsigned char r;     
     rdata=0;
     P4OUT=0X00;
     ad_send(0xfc);   //SYNC 
     ad_send(0xff);   //WAKEUP     
     while (!(P3IN&ad_drdy));
     //while(P3IN&ad_drdy)
     {
        
        ad_send(0x01);
        for (r=0;r<24;r++)
           {
            rdata<<=1; 
            P3OUT|=0X08;
            _NOP();            
            if (P3IN & ADS1256_DOUT){rdata++;}       
            
            P3OUT&=~0X08;
            _NOP();_NOP();
                      
            }
        //usdelay(10);
        //ad_send(0x0f); 
        P4OUT=0X07;
        usdelay(100);
     }
    
    return rdata;
}
/*****************************************************************************/
/*unsigned long ad_readch(unsigned char ch)//读某通道A/D数据。
{        
         ad_wreg(R_MUX,ch);
         //usdelay(50);     //要等待最小一个采集周期完后,才能读数据。         
         return ad_read();         
}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -