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

📄 ad7888.txt

📁 关于AD7888的使用。采集12位BCD码数据
💻 TXT
字号:
//AD7888
#include<reg51.h>                     //51寄存器定义库//上升沿读
#include<intrins.h>                    //变量移位函数库  
sbit SCLK=P0^0;
sbit DOUT=P0^1;
sbit DIN=P0^2;
sbit CS=P0^3;
void measure()             
{
      unsigned char i;
unsigned int getdata,ADDR=0x0400; //设置AD7888参数:通道1、片外基准、正常工作模式 
      CS=0;
      SCLK=1;
      getdata=0x0000;
      for(i=4;i>0;i--)            //忽略4个前导0
      {
      		SCLK=1;
        	_nop_();
        	SCLK=0;
        	if(ADDR&0x8000)   //发送控制指令的前四位
          		DIN=1;
        	else    DIN=0;
        	_nop_(); 
        	SCLK=1;
       		ADDR<<=1;        	  
      }
      for(i=0;i<12;i++)            //读取高字节数据
      { 
      		getdata<<=1;       
        	SCLK=0;
        	_nop_();    	
        	if(ADDR&0x8000)   //发送控制指令的后四位
          		DIN=1;
        	else    DIN=0;
        	if(DOUT)
        		getdata=getdata|0x01;    //从AD7888输出端读取一位数
        	SCLK=1;
       		ADDR<<=1;       			
       }
       CS=1;   
}
void main()
{
	CS=1;
	while(1)
	{               //采集到12位BCD码数据 可以计算后送入数码管显示
		measure();       //第一次采集数据不正确,上电后以第二次为准	
	}
}     

⌨️ 快捷键说明

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