优化代码,当set大于0.5时OUT = fuzzy(e, ec); 当set小于0.5时out=set
时间: 2024-02-02 08:02:42 浏览: 19
下面是一个优化后的代码,实现了当 set 大于 0.5 时使用模糊控制算法计算 OUT,当 set 小于等于 0.5 时 OUT 直接等于 set。
```
void Display_1602(float set, float e, float ec) {
float out;
if (set > 0.5) {
out = fuzzy(e, ec);
} else {
out = set;
}
//设置电压
write_com(0x80+6);
write_data(0x30+(int)(set*100)/100);
write_data('.');
write_data(0x30+(int)(set*100)%100/10);
write_data(0x30+(int)(set*100)%10);
//时时电压
write_com(0x80+0x40+6);
write_data(0x30+(int)(out*100)/100);
write_data('.');
write_data(0x30+(int)(out*100)%100/10);
write_data(0x30+(int)(out*100)%10);
}
```
在这段代码中,首先定义了一个变量 out,用于存储输出的值。如果 set 大于 0.5,则调用 fuzzy() 函数计算 out,否则直接将 out 设为 set。
接着,代码使用 write_com() 和 write_data() 函数将电压值和时时电压值分别输出到显示屏上。在输出电压值时,代码使用了强制类型转换将浮点数转换为整数,然后再将整数转换为字符输出。这样可以避免浮点数运算时带来的误差。
总的来说,这段代码实现了在 LCD1602 显示屏上显示电压值和时时电压值,并且优化了代码结构,提高了代码的可读性和可维护性。