东华理工大学毕业论文(论文) 附录二 电子负载程序设计
else //清除键清零,重新输入 {
flag=0;
flag1=0; //清除小数点标志 writeshuzi(0,2,0); } }
else //确认输入 { //赋值输出 x=readkey; //锁定按键 flag=6;
flag3=1; //显示测得电压电流 writehanzi(0,0,5); //显示测得电压电流 writehanzi(2,0,2); writehanzi(0,2,5); writehanzi(2,2,1); writehanzi(0,4,6); writehanzi(2,4,7); out=x*0.25;
value=1024*out/4.0; dianl=x/11.0;
value1=1024*dianl/4.0; //恒流基准电压输出 tlc5615(value1);
adzh(); //电压显示 adzh_1();
power(); //电流、功率显示 }}
if(flag==2) //扫描第三位 {
readkey2=keyscan();
if(readkey2!=15) //未确认 {
if(readkey2!=11) //未清零 {
if(flag1) //第二位有小数点,则不允许再输入小数点 { if(readkey2!=zan&&readkey2!=10) { zan=readkey2;
if(readkey2!=NOKEY&&readkey2!=14) //非小数点,非切换,显示数值 {
flag=3; //第四位输入 writeshuzi(2,2,readkey2); } }
33
东华理工大学毕业论文(论文) 附录二 电子负载程序设计
else //小数点无效 {
flag=2; }} else {
if(readkey2!=zan) { zan=readkey2;
if(zan==10) flag1=1; //第二位无小数点,第三位输入小数点,置第三位小数标志位
if(readkey2!=NOKEY&&readkey2!=14) {
flag=3;
writeshuzi(2,2,readkey2); }
} }} else {
flag=0; flag1=0; flag2=0;
writeshuzi(0,2,0); writeshuzi(1,2,11); } } else {
if(flag1&&flag2) //第二位小数 {
x=readkey; flag=6; flag3=1;
writehanzi(0,0,5); //显示测得电压电流 writehanzi(2,0,2); writehanzi(0,2,5); writehanzi(2,2,1); writehanzi(0,4,6); writehanzi(2,4,7); out=x*0.25;
value=1024*out/4.0; dianl=x/11.0;
value1=1024*dianl/4.0; //恒流基准电压输出 tlc5615(value1);
34
东华理工大学毕业论文(论文) 附录二 电子负载程序设计
tlc5615_1(value);
adzh(); //电压显示 adzh_1(); //电流显示 power();
} //无小数 输出 else {
x=readkey*10+readkey1; flag=6; flag3=1;
writehanzi(0,0,5); //显示测得电压电流 writehanzi(2,0,2); writehanzi(0,2,5); writehanzi(2,2,1); writehanzi(0,4,6); writehanzi(2,4,7); out=x*0.25;
value=1024*out/4.0;
dianl=x/11.0; //恒流基准电压输出 tlc5615(value1); adzh(); //电压显示 adzh_1(); //电流显示 power(); } }}
if(flag==3) // 扫描第四位 {
readkey3=keyscan();
if(readkey3!=15) //未确认 {
if(readkey3!=11) //未清零 {
if(flag1) //前两位有小数输入 ,不允许输入小数 {
if(readkey3!=zan&&readkey3!=10) { zan=readkey3;
if(readkey3!=NOKEY&&readkey3!=14) //无切换 {
flag=4; //第五位输入 writeshuzi(3,2,readkey3); } } else {
35
东华理工大学毕业论文(论文) 附录二 电子负载程序设计
flag=3; }}
else //无小数,则正常输出 {
if(readkey3!=zan) { zan=readkey3;
if(readkey3!=NOKEY&&readkey3!=14) {
flag=4;
writeshuzi(3,2,readkey3); } } } }
else {
flag=0; flag1=0; flag2=0;
writeshuzi(0,2,0); writeshuzi(1,2,11); writeshuzi(2,2,11); }
} // else
{ // if(flag2) {
x=readkey+readkey2*0.1; flag=6; flag3=1;
writehanzi(0,0,5); writehanzi(2,0,2); writehanzi(0,2,5); writehanzi(2,2,1); writehanzi(0,4,6); writehanzi(2,4,7); out=x*0.25;
value=1024*out/4.0; dianl=x/11.0;
tlc5615(value1); adzh(); adzh_1(); // power();
36
//清零,重新输入 确认输入 第二位小数输入是赋值 //显示测得电压电流 //恒流基准电压输出 //电压显示 电流显示 东华理工大学毕业论文(论文) 附录二 电子负载程序设计
}
else {
if(flag1!=1) //不是小数,三位数无效,重新输入 {
flag=0;
writeshuzi(0,2,0); writeshuzi(1,2,11); writeshuzi(2,2,11); }
else //第三位输入小数点,则按下面公式赋值 {
x=readkey*10+readkey1; flag=6; flag3=1;
writehanzi(0,0,5); //显示测得电压电流 writehanzi(2,0,2); writehanzi(0,2,5); writehanzi(2,2,1); writehanzi(0,4,6); writehanzi(2,4,7); out=x*0.25;
value=1024*out/4.0; dianl=x/11.0;
value1=1024*dianl/4.0; //恒流基准电压输出 tlc5615(value1);
adzh(); //电压显示 adzh_1(); //电流显示 power(); } } }}
if(flag==4) //扫描第五位数 {
readkey4=keyscan();
if(readkey4!=15) //未确认 {
if(readkey4!=11) //未清零 {
if(readkey4!=zan&&readkey4!=10&&flag2!=1) //输入小数点无效 { zan=NOKEY;
if(readkey4!=NOKEY&&readkey4!=14) {
flag=5; //第六位输入
37