压力传感器| 液位传感器| 流量传感器| 温度传感器| 称重传感器| 物联网|

单片机AD574和ADC0832分别选什么传感器具体资料

问题内容
上面2个AD转换哪个好点 简单点的
小弟新手分不多 全部财产了 大家帮下忙
最佳回答
AD574 是12Bit的ADC 并行数据传送暂用IO口过多

ADC0832是8Bit的ADC

如果对AD采样精度不是很高,建议你采用ADC0809而且有许多参考程序
下面给你一段ADC0809的C语言C51单片机的
使用参考程序
/**********【数字电压温度表】***********/

#include <reg51.h>

#define uchar unsigned char
#define uint unsigned int

char Code[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d,
0x7d, 0x07, 0x7f, 0x6f}; /*显示【0 1 2 3 4 5 6 7 8 9】数字的数码管的段码 */
uchar code C[] = {0x0, 0xFE, 0xFD, 0xFB, 0xF7, 0xEF, 0xDF, 0xBF, 0x7F};
/*列扫描控制 LED1位 2位 3位 4位 5位 6位 7位 8位*/
uchar disp[4]; //显示器数组
uint temp,result;

sbit CLK=P3^3; //接时钟接口 为ADC0809提供时钟
sbit EOC=P3^2;
sbit ST=P3^0;
sbit OE=P3^1;


/*************延时1MS函数*************/
void delay1ms(uchar x)
{ uchar i,j;
for(i=0;i<x;i++)
for(j=0;j<120;j++);
}

/**************显示函数***************/
void display(void)
{ P0=Code[disp[0]];
P2=C[1];
delay1ms(10);

P0=Code[disp[1]]|0x80;
P2=C[2];
delay1ms(10);

P0=Code[disp[2]];
P2=C[3];
delay1ms(10);

P0=Code[disp[3]];
P2=C[4];
}

/*********T0定时器的初始化函数***************/
void init(void)
{ EA=1;
ET0=1;
TMOD=0x01;
TH0=(65536-200)/256;
TL0=(65536-200)%256;
TR0=1;
}

/**************T0中断服务,提供时钟信号***************/
void timer0(void) interrupt 1
{ TH0=(65536-200)/256;
TL0=(65536-200)%256;
CLK=~CLK;
}

/*************主函数***************/
main()
{
init();
ST=0;
while(1)
{
ST=1;
ST=0;
while(EOC==0)
;

OE=1;
temp=P1;
result=temp*1.0/255*500;
disp[0]=result/1000;
disp[1]=result/100%10;
disp[2]=result/10%10;
disp[3]=result%10;
display();
}
}
相关搜索
赞助商链接