更改上述代码,使设置电压小于等于6时,时时电压与设置电压保持一致
时间: 2024-01-31 15:02:41 浏览: 87
可以在函数内部添加一个判断语句来实现该功能。修改后的函数定义如下:
```c
void Display_1602(float set, float DATE) {
// 判断设置电压是否小于等于6,如果是则将时时电压设置为设置电压
if (set <= 6) {
DATE = 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)(DATE * 100) / 100);
write_data('.');
write_data(0x30 + (int)(DATE * 100) % 100 / 10);
write_data(0x30 + (int)(DATE * 100) % 10);
}
```
在函数内部,首先判断设置电压是否小于等于6,如果是则将时时电压设置为设置电压。接下来,按照原来的逻辑设置电压和时时电压。注意,在将浮点数转换为整数时,需要先将其乘以100,再进行转换。
相关问题
更改上述代码,使设置电压小于等于0.06时,时时电压与设置电压保持一致
可以在函数内部添加一个判断语句来实现该功能。修改后的函数定义如下:
```c
void Display_1602(float set, float DATE) {
// 判断设置电压是否小于等于0.06,如果是则将时时电压设置为设置电压
if (set <= 0.06) {
DATE = 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)(DATE * 100) / 100);
write_data('.');
write_data(0x30 + (int)(DATE * 100) % 100 / 10);
write_data(0x30 + (int)(DATE * 100) % 10);
}
```
在函数内部,首先判断设置电压是否小于等于0.06,如果是则将时时电压设置为设置电压。接下来,按照原来的逻辑设置电压和时时电压。注意,在将浮点数转换为整数时,需要先将其乘以100,再进行转换。
更改上述代码使SET-U小于等于0.06时,OUT-U等于SER-U
你可以尝试修改Display_1602函数的代码如下:
```
void Display_1602(float set_voltage, float date_voltage) {
//设置电压
write_com(0x80 + 6);
if (set_voltage <= 0.06) {
write_data('S');
write_data('E');
write_data('R');
write_data('-');
write_data('U');
} else {
write_data(0x30 + (int)(set_voltage * 100) / 100);
write_data('.');
write_data(0x30 + (int)(set_voltage * 100) % 100 / 10);
write_data(0x30 + (int)(set_voltage * 100) % 10);
}
//时时电压
write_com(0x80 + 0x40 + 6);
if (set_voltage <= 0.06) {
write_data('S');
write_data('E');
write_data('R');
write_data('-');
write_data('U');
} else {
write_data(0x30 + (int)(date_voltage * 100) / 100);
write_data('.');
write_data(0x30 + (int)(date_voltage * 100) % 100 / 10);
write_data(0x30 + (int)(date_voltage * 100) % 10);
}
}
```
在这个更改后的函数中,我们首先判断set_voltage是否小于等于0.06。如果是,则在液晶屏上显示SER-U,表示输出电压等于设置电压。如果不是,则按照原来的方法将set_voltage和date_voltage的值显示在液晶屏上。