• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的灌溉系統(tǒng)【濕度,肥】(仿真)

2024/12/04
2213
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

有需要資料的可了解一下.docx

共1個(gè)文件

單片機(jī)控制的灌溉系統(tǒng)

1、傳感器測(cè)量濕度和肥力,lcd1602顯示。

2、土壤濕度不在范圍內(nèi),水泵工作。

3、土壤氮磷鉀傳感器檢測(cè)土壤的肥料不夠時(shí),蜂鳴器報(bào)警并進(jìn)肥料。

#include "ADC0832.h"
#include "intrins.h"
//讀取AD值
unsigned int ADC0832(unsigned char channel)  //AD轉(zhuǎn)換,返回結(jié)果
{
	unsigned char i = 0;
	unsigned char j;
	unsigned int dat = 0;
	unsigned char ndat = 0;

	if (channel == 0) channel = 2;//通道1
	if (channel == 1) channel = 3;//通道2
	ADDI = 1;//輸入引腳拉高
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	ADCS = 0;//片選
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	ADCLK = 1;//拉高時(shí)鐘
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	ADCLK = 0;//拉低時(shí)鐘
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	ADCLK = 1;//拉高時(shí)鐘
	ADDI = channel & 0x1;
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	ADCLK = 0;//拉低時(shí)鐘
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	ADCLK = 1;//拉高時(shí)鐘
	ADDI = (channel >> 1) & 0x1;
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	ADCLK = 0;//拉低時(shí)鐘
	ADDI = 1;//輸出1
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	dat = 0; //存儲(chǔ)清零
	ADDI =1;
	for (i = 0; i < 8; i++)	//循環(huán)8次
	{
		dat |= ADDI;//讀取引腳
		ADCLK = 1; //拉高時(shí)鐘
		_nop_();//延時(shí)1us
		_nop_();//延時(shí)1us
		ADCLK = 0;//拉低時(shí)鐘
		_nop_();//延時(shí)1us
		_nop_();//延時(shí)1us
		dat <<= 1;//左移
		if (i == 7) dat |= ADDI;//讀取引腳
	}
	for (i = 0; i < 8; i++)//循環(huán)8次
	{
		j = 0;
		j = j | ADDI; //讀取引腳
		ADCLK = 1;	//拉高時(shí)鐘
		_nop_();//延時(shí)1us
		_nop_();//延時(shí)1us
		ADCLK = 0;	//拉低時(shí)鐘
		_nop_();//延時(shí)1us
		_nop_();//延時(shí)1us
		j = j << 7;	//左移7位
		ndat = ndat | j; //合并數(shù)據(jù)
		if (i < 7) ndat >>= 1;//去掉符號(hào)
	}
	ADCS = 1; //清除片選
	ADCLK = 0;//拉低時(shí)鐘
	ADDI=1;
	dat <<= 8;//數(shù)據(jù)移位
	dat |= ndat;//合并數(shù)據(jù)
	return(ndat);
}

資料借鑒于此?紛傳

  • 有需要資料的可了解一下.docx
    下載

相關(guān)推薦

方案定制

去合作
方案開(kāi)發(fā)定制化,2000+方案商即時(shí)響應(yīng)!