📄 ad_convert.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 + -