1. 程式人生 > 實用技巧 >436【畢設課設】基於51微控制器超聲波測液位測距儀水位監測報警系統

436【畢設課設】基於51微控制器超聲波測液位測距儀水位監測報警系統

【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

51微控制器超聲波測液位測距儀水位監測報警系統61
本系統由STC89C52微控制器、LCD1602液晶顯示、超聲波模組、
LED指示燈、蜂鳴器報警及電源組成。
1、LCD1602液晶顯示液位距離。當水位超過50cm,紅燈亮,蜂鳴器報警,
當水位低於50cm,綠燈亮,蜂鳴器不報警。
2、本系統的微控制器核心具有上電覆位、按鍵復位和晶振。

void main (void)
{  
	led_gre = 0;
	led_red = 0;
	buzzer = 0;
//**All notes can be deleted and modified**//
  TMOD |= 0x10;			   //設T0為方式1,GATE=1;
	TH0=0;
	TL0=0;          
//	ET0=1;             //允許T0中斷
	EA=1;			   //開啟總中斷	
		             
	LCD_Init();           //初始化液晶
	DelayMs(20);          //延時有助於穩定
	LCD_Clear(); 

	sprintf(tab,"My Designer!   ");//更新顯示
	DispStr(0,0,(unsigned char *)tab);//列印顯
	sprintf(tab,"JuLi:%04dmm ",(unsigned int)JuLi);//更新顯示
	DispStr(0,1,(unsigned char *)tab);//列印顯 
	led_gre = 1;
	led_red = 1;
	buzzer = 1;

	while (1)         //主迴圈
	{
		Trip=1;			   //啟動一次模組		//不可以使用其他終端 容易造成死迴圈
		DelayUs2x(4);
		Trip=0;
		while(!Echo);		//當RX為零時等待
		TR0=1;			    //開啟計數
		while(Echo);			//當RX為1計數並等待
//**All notes can be deleted and modified**//		
		JlCoun=(long)(TH0*256+TL0);
		TH0=0;
		TL0=0;