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

📄 1路数据采集和发送.c

📁 单片机实验
💻 C
字号:
/* 从ADC0809的8个通道轮流采集一次数据,采集的结果放在数组ad中.其程序如下: */
#include<absacc.h>
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define IN0 XBYTE[0x7ff8] //设置ADC0809的通道0地址
sbit ad_busy=P3^2;//EOC状态 



void ad0809(uchar idata *x)
{uchar i;
 uchar xdata *ad_adr;
 ad_adr=&IN0;
 for(i=0;i<8;i++)//处理8个通道
  {
   *ad_adr=0;//启动转换
   i=i;//延时等待EOC变低
   i=i;
   while(ad_busy==1);//查询等待是否结束
   x[i]=*ad_adr;//存转换结果
   ad_adr++;//下一个通道
   }
}


void main(void)
{uchar i;
 uint j;
 static uchar idata ad[10];
 ad0809(ad);//采样ADC0809通道的值
 TMOD=0x20;
 TL1=0xfd;TH1=0xfd;//串口初始化,设置波特率9600Kb
 SCON=0xd8;PCON=0x00;//串行工作方式3,无奇偶校验位,1位停止位
 TR1=1;
 for(i=0;i<8;i++)
 {SBUF=ad[i];
  while(TI==0);
  TI=0;
  for(j=0;j<30000;j++);
 }
}



⌨️ 快捷键说明

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