C语言高手帮忙编个程序吧 急用!!!我们要做个单片机控制液位的系统~!!现在我有流程图了 可不会编程。。

2025-02-24 01:53:30
推荐回答(1个)
回答1:

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

#include

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!"< }
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();
}