📄 change.c
字号:
extern void main_delay(uint i);
/*********************************************************
* 名称 :uint dis_v549(uint voltage)
* 功能 :设定输出电压,并显示设定电压
* 输入 :uint voltage :键盘设定电压值
* 全局变量 :NULL
* 返回值 :buffV
* 调用 :NULL
* 编写日期 :2008-5-21
* 最后修改日期 :2008-5-23
*********************************************************/
uint change_voltage(void)
{
uchar xunhuanflag = 1;//循环标志位,1循环,0结束循环
uchar geweiflag=1; //个位标记,电压数字过大时报错
uchar shifenweiflag=0;//十分位标记
uint buffV;
writeByteLCD(1,0x01); //显示清屏
LCDDisString(0,0,"please input voltage: V");
while(xunhuanflag)
{
if(geweiflag) //采个位数据
{
if((ScanKeyboard()>7)&&( ScanKeyboard()<= 9))
{
writeByteLCD(1,0x01); //显示清屏
LCDDisString(0,0,"wrong number try again!");
main_delay(60000);
main_delay(60000);
main_delay(60000);
main_delay(60000);
main_delay(60000);
main_delay(60000);
writeByteLCD(1,0x01); //显示清屏
LCDDisString(0,0,"please input voltage: V");
}
if((ScanKeyboard()>=0) && ( ScanKeyboard()<= 5) )
{
main_delay(3000);
buffV = ScanKeyboard()*10;
geweiflag=0;
dis_voltage(buffV);
main_delay(5000);
}
}
if(shifenweiflag) //采十分位数据
{
if((ScanKeyboard()>=0) && ( ScanKeyboard()< 10))
{
main_delay(3000);
buffV = ScanKeyboard() + buffV;
shifenweiflag=0;
dis_voltage(buffV);
main_delay(5000);
}
}
if(ScanKeyboard()==12)//当小数点按下后,进入十分位数据输入
{
shifenweiflag=1;
}
if(ScanKeyboard()==11) //结束循环,确定数据输入有效
{
xunhuanflag=0;
}
}
return buffV;
}
/*********************************************************
* 名称 :uint dis_i549(uint current)
* 功能 :设定输出电压,并显示设定电压
* 输入 :uint voltage :键盘设定电压值
* 全局变量 :NULL
* 返回值 :buffI
* 调用 :NULL
* 编写日期 :2008-5-21
* 最后修改日期 :2008-5-23
*********************************************************/
uint change_current(void)
{
uchar xunhuanflag = 1;//循环标志位,1循环,0结束循环
uchar jishuflag=1; //计数标志
uint buffI;
writeByteLCD(1,0x01); //显示清屏
LCDDisString(0,0,"please input current: mA");
while(xunhuanflag)
{
if(jishuflag) //计数段
{
if((ScanKeyboard()>=0) && ( ScanKeyboard()< 10))
{
main_delay(3000);
buffI = ScanKeyboard() + buffI*10;
dis_current(buffI);
main_delay(5000);
main_delay(5000);
main_delay(5000);
while((ScanKeyboard()>=0) && ( ScanKeyboard()< 10));
}
}
if(ScanKeyboard()==11) //结束循环,确定数据输入有效
{
while(ScanKeyboard()==11);
if(buffI>500)
{
writeByteLCD(1,0x01); //显示清屏
LCDDisString(0,0,"wrong number try again!");
main_delay(60000);
main_delay(60000);
main_delay(60000);
buffI=0;
writeByteLCD(1,0x01); //显示清屏
LCDDisString(0,0,"please input current: mA");
}
else
{
xunhuanflag=0;
jishuflag=0;
}
}
}
xunhuanflag=1;
jishuflag=1;
return buffI;
}
//功率部分
uint change_voltage1(void)
{
uchar xunhuanflag = 1;//循环标志位,1循环,0结束循环
uchar geweiflag=1; //个位标记,电压数字过大时报错
uchar shifenweiflag=0;//十分位标记
uint buffII;
writeByteLCD(1,0x01); //显示清屏
LCDDisString(0,0,"ok you can change power: 0.0w");
while(xunhuanflag)
{
if(geweiflag) //采个位数据
{
if((ScanKeyboard()>2)&&( ScanKeyboard()<= 9))
{
writeByteLCD(1,0x01); //显示清屏
LCDDisString(0,0,"wrong number try again!");
main_delay(6000);
main_delay(6000);
main_delay(6000);
main_delay(6000);
main_delay(6000);
main_delay(60000);
writeByteLCD(1,0x01); //显示清屏
LCDDisString(0,0,"ok you can change power: 0.0w");
}
if((ScanKeyboard()>=0) && ( ScanKeyboard()<=2) )
{
main_delay(3000);
buffII = ScanKeyboard()*10;
geweiflag=0;
dis_voltage1(buffII);
main_delay(5000);
}
}
if(shifenweiflag) //采十分位数据
{
if((ScanKeyboard()>=0) && ( ScanKeyboard()< 10))
{
main_delay(3000);
buffII = ScanKeyboard() + buffII;
shifenweiflag=0;
dis_voltage1(buffII);
main_delay(5000);
}
}
if(ScanKeyboard()==12)//当小数点按下后,进入十分位数据输入
{
shifenweiflag=1;
}
if(ScanKeyboard()==11) //结束循环,确定数据输入有效
{
xunhuanflag=0;
}
}
return buffII;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -