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

📄 ad574.h

📁 模数转换芯片AD574模数单极性转换程序的源程序代码
💻 H
字号:
///////////////////////////////////////////////////////////////////////////////
//*                      文件名:AD574.H
//*						 文件描述:AD574模数单极性转换
//*
/////////////////////////////////////////////////////////////////////////////

#ifndef AD574_H_HEADER_FILE
#define AD574_H_HEADER_FILE
#include <ABSACC.H>
#define BYTE unsigned char
#define uchar unsigned char
#define uint unsigned int
#define AD_start XBYTE[0x3E]  //启动转换地址
#define AD_high XBYTE[0x3F]   //高8位地址
#define AD_low XBYTE[0x7F]    //低四位地址
#define STS  P3_5             //判断转换是否完

long int Data_Buff;
int D_Buff[5]={0,0,0,0,0};     //数据显示缓冲地址
int Datas[2]={0,0};          //12位AD转换暂存地址

void DelataNus(BYTE x)
{
	BYTE i;
	for(i=0;i<x;i++)
	;
}   

/*************LCD显示***************/
void LCD_Display()
{ WriteInstruct(0xc0);
  WriteData(D_Buff[0]+0x30);
  WriteData(D_Buff[1]+0x30);
  WriteString(".");
  WriteData(D_Buff[2]+0x30);
  WriteData(D_Buff[3]+0x30);
  WriteData(D_Buff[4]+0x30);

}

/********数据处理,将读取数据转换为电压值*****/
void Data_Process(bit flag)             //单极性10VIN或20VIN通道标志位
{ 
	long int temp;
	if(flag==0)	
	{
		temp=(Data_Buff-1900)/0.4095;   //软件进行修正--   测量10V输入端信号  量程值乘以1000倍 
	}
     
   else if(flag==1)
   temp=(Data_Buff/0.20475);              //测量20V输入端信号 量程值乘以1000倍 
   D_Buff[0]=temp/10000;         
   D_Buff[1]=(temp%10000)/1000;
   D_Buff[2]=(temp%1000)/100;
   D_Buff[3]=(temp%100)/10;
   D_Buff[4]=temp%10;
}

/*********AD574转换子程序************/
void AD574()        
{  AD_start=0x00;
   while(STS==1);
   Datas[0]=AD_high;//高四位数据地址
   Datas[1]=AD_low; //低四位数据地址
   Datas[0]<<=4;
   Datas[1]=(Datas[1]>>4)&0x0f;
   Data_Buff=Datas[0]+Datas[1];
}
#endif

⌨️ 快捷键说明

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