📄 ad0809.c
字号:
#include<absacc.h> /*0809数据采集*/
#include<reg51.h>
#define uchar unsigned char
#define IN0 XBYTE[0x7ff8] /*设置AD0809的通道0地址;设初值,从通道0开始*/
sbit ad_busy=P3^3; /*即EOC状态,为1时表示正在转换中,0为转换结束*/
void ad0809(uchar idata *x) /*采样结果放在指针中的A/D采集函数据;把ad的首址赋给X*/
{uchar i;
uchar xdata *ad_adr;
ad_adr=&IN0; /*取得通道0的地址,也为P0口上的地址*/
for(i=0;i<8;i++) /*处理8个通道*/
{*ad_adr=0; /*启动转换*/
i=i; /*延时等待EOC变低*/
i=i;
while(ad_busy==0) /*查询等待转换结束*/
x[i]=*ad_adr; /*把P0口上的内容赋给X[I]*/
ad_adr++; /*下一通道;IN1、、、*/
}
}
void main()
{static uchar idata ad[10]; //采样AD0809通道的值;把数据放在ad[10]中*/
ad0809(ad);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -