/**************************************Main.c*********************************/
#include <LCD.h>
#include <reg51.h>
#include<ds18b20.h>
#include "D:\Graduate\hardware.h"
bit flag_re;
uchar d,dis_buff[4],m;
uint time,distance,t,v;
void main(void)
{
distance=0;
flag_re=0;
speaker=0;
Delay400Ms();//waiting the LCD ready to work
LCD_Init();//initialize LCD
Delay400Ms();
Delay5Ms();//延时片刻(可不要)
DisplayListChar(0,0,"Temp:");
DisplayOneChar(13,0,0xdf); //显示温度的小圆圈符号,0xdf是液晶屏字符库的该符号地址码
DisplayOneChar(14,0,'C'); //显示"C"符号,0x43是液晶屏字符库里大写C的地址码
DisplayListChar(0,1,"Waiting..");
TMOD=0x21;
TH0=0x00;
TL0=0x00;
TH1=0xf2;
TL1=0xf2;
IT0=0;
IT1=0;
ET0=1;
ET1=1;
EA=1;
for(m=0;m<100;m++)
t=DS18B20_Work();
t=t/10;
DisplayListChar(0,1,"Distance:");
DisplayListChar(14,1,"cm");
TR1=1;
while(1)
{
if(flag_re==1)
{
dis_buff[2]=distance/100;
dis_buff[1]=distance%100/10;
dis_buff[0]=distance%10;
flag_re=0;
if(distance<50)
{speaker=!speaker;
nop();nop();nop();nop();nop();nop();
}
else speaker=0;
for(d=0;d<3;d++)
DisplayOneChar(12-d,1,dis_buff[d]+0x30);
distance=0;
DS18B20_Work();
EA=1;
TR1=1;
}