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

📄 ad_convert.c

📁 ARM嵌入式常用模块的原理图和源码
💻 C
字号:
# include<ad_convert.h>
# define N 128 					/*定采样长度,如128点*/

int XDATA array(N);			  /*在存储器内定义长度为N的有符号整数数组*/
int AD (void)
{ 
	uint ul,uh;
	int u;
	RC=0; 								/*低电平,进入转换模式*/
	ul=XBYTE[0xffff]; 				/*产生读脉冲,启动A/D转换*/
	
	while (BUSY= =0); 				/*等待转换完成*/
	
	RC=1;
	BYTE=0; 					     	/*进入读模式,选择低字节*/

	ul=XBYTE[0xffff]; 			/*读转换结果低8位*/
	BYTE=1;   						 /*选择高字节*/
	uh=XBYTE[0xffff]&0x0f;		/*读转换结果高4位*/
	u=uh*256+ul; 					/*得到12位转换结果*/
	
	if(u>=0x0800)
	u=u 0xf000; 					/*如果为负值,则符号扩展*/

	return(u);				 	/*返回转换结果*/
}

uoid DAQ(uint interval)
{ 
	uchar t1,t2;
	interval=interval-5;			/*减去清零和装载计数初值的时间5μs*/

	t1=255-(interval/256);
	t2=255-(interval%256); 				/*计算计数初值*/
	for(I=0;i<N;i++)
	{ 
		do{}
		while(!Flag);						/*查询等待F复位*/
		Flag=0; 							/*清溢出标志*/
		Array[i]=ADS7804(); 				/*采样、存储*/
	}
}

⌨️ 快捷键说明

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