1. 程式人生 > 實用技巧 >755【畢設課設】基於微控制器智慧自動澆花系統設計

755【畢設課設】基於微控制器智慧自動澆花系統設計

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

自動澆花系統採用51微控制器+LCD1602液晶+土壤感測器+繼電器+ADC0832+水泵設計而成。
系統三個按鍵分別是:系統復位鍵、設定鍵、加鍵、減鍵。
1、土壤乾溼度感測器實時給微控制器傳輸訊號。
2、按鍵設定土壤乾溼度閾值,實現土壤水分的動態控制。
3、液晶實時顯示土壤溼度情況,所設定的閾值,直觀明瞭。
4、ADC0832將模擬訊號轉換成數字訊號傳給微控制器。
按鍵調節上下限值,LCD1602實時顯示土壤溼度值,並顯示上下限值。土壤檢測感測器檢測溼度值低於下限時,蜂鳴器報警並驅動水泵澆水,溼度值高於上限時停止澆水。

#define     LCDIO      P0	 //液晶屏資料口
//ADC0832的引腳
sbit ADCLK =P1^1;  //ADC0832 clock signal
sbit ADDIO =P1^3;  //ADC0832 k in
sbit ADCS =P1^4;  //ADC0832 chip seclect

sbit rs=P1^0;  //定義1602 RS
sbit lcden=P1^2; //定義1602 EN
sbit key1=P3^0;    //設定
sbit key2=P3^1;    //加
sbit key3=P3^2;    //減
sbit motor=P3^7;   //繼電器介面
sbit speak=P1^5;	//蜂鳴器介面
uchar key;         //設定指標
uint RH=400,RL=200;//水位上下限
float temp_f;
ulong temp;
uchar v;
uchar count,s1num;
uchar code table[]= " moisture:          ";
uchar code table1[]="RH:  %              ";
uchar getdata; //獲取ADC轉換回來的值
/*********************************************/
void delay(uint z)		  //延時
{
	uint x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);
}
/**********************************************/
void write_com(uchar com)
{