#include <reg52.h>
#include <intrins.h>
#include "lcd1602.h"
#include "adc0832.h"
#include "18b20.h"
#define uint unsigned int
#define uchar unsigned char //宏定义
//定义标识
float Value;
uchar num=0;
uchar ad_red;
uint adGet;
uint H_Turbidity=1000;
uint Turbidity;
float Value1;
uchar num1=0;
uchar ad_red1;
uint adGet1;
uint H_Turbidity1=1000;
uint Turbidity1;
unsigned int tmp;
void delay(uint k)
{
uint i,j;
for(i=k;i>0;i--)
for(j=110;j>0;j--);
}
void TU_Collection()
{
ad_red=ADC0832(1,0); //开启ADC采集
adGet=adGet+ad_red;
ad_red1=ADC0832(1,1); //开启ADC采集
adGet1=adGet1+ad_red1;
num++;
if(num>=100)
{
num=0;
Value=adGet/100;
Turbidity=Value*100/256;
adGet=0;
Value1=adGet1/100;
Turbidity1=Value1*14/256;
adGet1=0;
tmp = abs(getTmpValue());
delay(50);
sendChangeCmd();
}
lcd1602_write(0,0x80+0x40+9);
lcd1602_write(1,Turbidity/1000 + 0x30);
lcd1602_write(1,Turbidity%1000/100 + 0x30);
lcd1602_write(1,Turbidity%100/10+ 0x30);
lcd1602_write(1,Turbidity%10 + 0x30);
lcd1602_write(0,0x80+9);
lcd1602_write(1,Turbidity1/1000 + 0x30);
lcd1602_write(1,Turbidity1%1000/100 + 0x30);
lcd1602_write(1,Turbidity1%100/10+ 0x30);
lcd1602_write(1,Turbidity1%10 + 0x30);
lcd1602_write(0,0x80+0x40);
lcd1602_write(1,tmp/10000 + 0x30);
lcd1602_write(1,tmp%10000/1000 + 0x30);
lcd1602_write(1,tmp%1000/100+ 0x30);
}
//void fan()
//{
// TU_Collection();//ad转换
//}
/*****主函数*****/
void main(void)
{
lcd_init();//初始化显示
sendChangeCmd();
GoToXY_string(0,0," Welcome To use ");
GoToXY_string(1,0,"Water Turbidity ");
delay(2000);
GoToXY_string(0,0," NTU");
GoToXY_string(1,0," NTU");
while(1)
{
TU_Collection();
}
}
这应该是51,用0832采集PH和浑浊度的程序,好久了都给忘了