c语言程序设计水位控制系统,我有流程图和原理图但没有程序 帮忙 编写个 谢谢

Python017

c语言程序设计水位控制系统,我有流程图和原理图但没有程序 帮忙 编写个 谢谢,第1张

个实现的程序,按照流程走已经实现,不过单片机的数据通道你应该可以自己打开吧,以及把单片机传感器上获得的值给我写的那些参数就可以了,自己去实现以下就可以了,我用的C++写的,你可以把预处理文件改称C,更具自己的编译器来吧

#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继电器。