#include <iostream>
using namespace std
void checkWaterLevel(int uLevel,int dLevel)//检查水位函数
bool controlWaterLevel()//PI算法检查水位 ,算法自己添加进去,
int main()
{
int upLevel,downlevel
upLevel = 3// 设置水位的最高值
downlevel = 7// 设置水位的最低值
cout <<"The water's upLevel is 3 and downlevel is 7! " <<endl
checkWaterLevel(upLevel,downlevel)
return 0
}
void checkWaterLevel(int uLevel,int dLevel)
{
int level
cout <<"Get a water level: "
cin >>level
if (level <uLevel) // 检查是否在最高水位的下限
{
cout <<"start work!"<<endl// 自己把这里的方法改成单片机的控制命令就OK了,我就不帮你写了
}
else
{
if(level >dLevel) // 检查是否在最低水位的下限
{
cout <<"stop work!" <<endl// 自己把这里的方法改成单片机的控制命令就OK了,我就不帮你写了
}
else
{
controlWaterLevel()
}
}
}
bool controlWaterLevel() // PI算法自己有的话,可以把PI算法放进这个函数里面去就可以了
{
int setWaterLevel,getWaterLevel
cout <<"Set water's level!" <<endl//设置水位的 预设值
cin >>setWaterLevel
cout <<"now water's Level is: "
cin >>getWaterLevel//获得水位,怎么获得水位更具自己单片机的传感器来设置
cout <<endl
if (getWaterLevel == setWaterLevel) // 判断水位是否等于设置水位
cout <<"end work!" <<endl//自己把这里的方法改成单片机的控制命令就OK了,我就不帮你写了
return false
controlWaterLevel()
}
另外,团IDC网上有许多产品团购,便宜有口碑
#include <iostream>using namespace std
void checkWaterLevel(int uLevel,int dLevel)//检查水位函数
bool controlWaterLevel()//PI算法检查水位 ,算法自己添加进去,
int main()
{
int upLevel,downlevel
upLevel = 3// 设置水位的最高值
downlevel = 7// 设置水位的最低值
cout <<"The water's upLevel is 3 and downlevel is 7! " <<endl
checkWaterLevel(upLevel,downlevel)
return 0
}
void checkWaterLevel(int uLevel,int dLevel)
{
int level
cout <<"Get a water level: "
cin >>level
if (level <uLevel) // 检查是否在最高水位的下限
{
cout <<"start work!"<<endl// 自己把这里的方法改成单片机的控制命令就OK了,我就不帮你写了
}
else
{
if(level >dLevel) // 检查是否在最低水位的下限
{
cout <<"stop work!" <<endl// 自己把这里的方法改成单片机的控制命令就OK了,我就不帮你写了
}
else
{
controlWaterLevel()
}
}
}
bool controlWaterLevel() // PI算法自己有的话,可以把PI算法放进这个函数里面去就可以了
{
int setWaterLevel,getWaterLevel
cout <<"Set water's level!" <<endl//设置水位的 预设值
cin >>setWaterLevel
cout <<"now water's Level is: "
cin >>getWaterLevel//获得水位,怎么获得水位更具自己单片机的传感器来设置
cout <<endl
if (getWaterLevel == setWaterLevel) // 判断水位是否等于设置水位
cout <<"end work!" <<endl//自己把这里的方法改成单片机的控制命令就OK了,我就不帮你写了
return false
controlWaterLevel()
}
我毕业论文(2011)也是这个课题。
供参考:
金龙国.单片机原理与应用[M].北京:中国水利水电出版社,2005. 第221页(汇编语言)。
其中的汇编程序有点排版错误,没有大碍,你自己改一下。
林立.基于Proteus和Keil C单片机原理及应用[M].北京:电子工业出版社,2009.第180页(C语言)。
如果你去买这两本书的话,给你建议,用第二本书上那个例子中的原理图中电机控制系统部分代替第一本书上那个例子的相应部分。
另外水塔水位可以用二位拔码器代替(高低电平)。
下面给你一些所需要的Proteus仿真元件清单(供参考):
DIPSW-2(拔码器),MOTOR电机,OPTOCOUPLER-NPN光电耦合器,W107DIP-3继电器。