📄 开关稳压电源程序.txt
字号:
主程序
main()
{
uchar key2,flag1 = 1 ;
SED1335_Init();
ClearRam();
P2_1 = 1;//控制继电器
for(;flag1==1;)
{
menu3();
key2 = kbscan();
if(key2==0)continue;
switch(key2)
{
case F1:{menu2();PrintHZ1(F,8,170,16,1);
PrintHZ1(num[5],9,170,16,1);
PrintHZ1(fan,11,170,16,2);
PrintHZ1(hui,13,170,16,2);ad(0);flag1=1; ClearRam();} break;
case F2:{ClearRam();read_key1();flag1=1;} break;
case F3:
{
ClearRam();
flag1=0;
}
break;
}
}
for(;;);
}
手动调节
void ad(uchar flag)
{
uint tmp1 ;
float tmp2=0;
uchar i,key3;
while(!flag )
{
key3 = kbscan();
if(key3==F5)
break;
else
{
for(i=0;i<2;i++)
{
if((i%2)==0)
{
tmp1 = AD7714(4);
tmp2 = ( (float)tmp1/(float)65536 )*249.9;
display1(tmp2 );
}
else if((i%2)!=0)
{
tmp1 = AD7714(5);
tmp2 = ( (float)tmp1/(float)65536 )*2.499;
if(tmp2>2.30)
{
P2_1 = 0;//控制继电器
PrintHZ1(num[11],25,100,16,1);
PrintHZ1(num[11],26,100,16,1);
PritHZ1(num[11],27,100,16,1);
PrintHZ1(yue,21,100,16,2);
PrintHZ1(jie,23,100,16,2);
}
else
{
P2_1 = 1;//控制继电器
display2(tmp2);
}
}
}
}
}
}
数控电位器调节
read_key1()
{
uchar key1,flag = 1,i=0, m,n=0,a=0, tmp=0;
for(;flag==1;)
{
menu1();
key1 = kbscan();
if(key1==0)continue;
switch(key1)
{
case key_0:{ tmp = tmp*10+0;PrintHZ1(num[0],8+n,55,16,1);m=1;n++; }break;
case key_1:{ tmp = tmp*10+1;PrintHZ1(num[1],8+n,55,16,1);m=1;n++; }break;
case key_2:{ tmp = tmp*10+2;PrintHZ1(num[2],8+n,55,16,1);m=1;n++; }break;
case key_3:{ tmp = tmp*10+3;PrintHZ1(num[3],8+n,55,16,1);m=1;n++; }break;
case key_4:{ tmp = tmp*10+4;PrintHZ1(num[4],8+n,55,16,1);m=1;n++; }break;
case key_5:{ tmp = tmp*10+5;PrintHZ1(num[5],8+n,55,16,1);m=1;n++; }break;
case key_6:{ tmp = tmp*10+6;PrintHZ1(num[6],8+n,55,16,1);m=1;n++; }break;
case key_7:{ tmp = tmp*10+7;PrintHZ1(num[7],8+n,55,16,1);m=1;n++; }break;
case key_8:{ tmp = tmp*10+8;PrintHZ1(num[8],8+n,55,16,1);m=1;n++; }break;
case key_9:{ tmp = tmp*10+9;PrintHZ1(num[9],8+n,55,16,1);m=1;n++; }break;
case F1:
{
i++;
switch(i)
{
case 7:{tmp = 36;PrintHZ1(num[3],8 ,55,16,1); PrintHZ1(num[6],9,55,16,1);}break;
case 1:{tmp = 30;PrintHZ1(num[3],8 ,55,16,1); PrintHZ1(num[0],9,55,16,1);}break;
case 2:{tmp = 31;PrintHZ1(num[3],8 ,55,16,1); PrintHZ1(num[1],9,55,16,1);}break;
case 3:{tmp = 32;PrintHZ1(num[3],8 , 55,16,1); PrintHZ1(num[2],9, 55,16,1);}break;
case 4:{tmp = 33;PrintHZ1(num[3],8 ,55,16,1); PrintHZ1(num[3],9,55,16,1);}break;
case 5:{tmp = 34;PrintHZ1(num[3],8 ,55,16,1); PrintHZ1(num[4],9,55,16,1);}break;
case 6:{tmp = 35;PrintHZ1(num[3],8 ,55,16,1); PrintHZ1(num[5],9,55,16,1);}break;
default:i=7; break;
}
break;
case F2:
{
i--;
switch(i)
{
case 6:{tmp = 35;PrintHZ1(num[3],8 ,55,16,1); PrintHZ1(num[5],9,55,16,1);}break;
case 5:{tmp = 34;PrintHZ1(num[3],8 ,55,16,1); PrintHZ1(num[4],9,55,16,1);}break;
case 4:{tmp = 33;PrintHZ1(num[3],8 ,55,16,1); PrintHZ1(num[3],9,55,16,1);}break;
case 3:{tmp = 32;PrintHZ1(num[3],8 ,55,16,1); PrintHZ1(num[2],9, 55,16,1);}break;
case 2:{tmp = 31;PrintHZ1(num[3],8 ,55,16,1); PrintHZ1(num[1],9,55,16,1);}break;
case 1:{tmp = 30;PrintHZ1(num[3],8 ,55,16,1); PrintHZ1(num[0],9,55,16,1);}break;
default:i=0; break;
}
break;
case F3:
if(tmp>36|tmp<30)
{
PrintHZ1(yue,8,55,16,2);
PrintHZ1(jie,10,55,16,2);
tmp=0;
}
else
{
control(tmp);
PrintHZ1(O,18,55,16,1);
PrintHZ1(K,19,55,16,1);
menu2();
ad(0);
tmp=0;
}
break;
case F4 :if(m==1)
{
a++;
n--;
switch(a)
{
case 1:{tmp = tmp/10;PrintHZ1(num[11],8+n,55,16,1);}break;
case 2:{tmp = tmp/10;PrintHZ1(num[11],8+n,55,16,1);}break;
case 3:{m=0;a=0;n++;}break;
}
if(a>=2)
{
a=0;
n=0;
}
}break;
case F5:
{
ad(1);
flag = 1;
ClearRam();
tmp=0;n=0;m=0,a=0;i=0 ;
break;
}
case F6:
{
ClearRam();
flag=0;
}
break;
default:flag=1;break;
}
}
}
}
}
}
AD7714采样电压,流值
void ad(uchar flag)
{
uint tmp1 ;
float tmp2=0;
uchar i,key3;
while(!flag )
{
key3 = kbscan();
if(key3==F5)
break;
else
{
for(i=0;i<2;i++)
{
if((i%2)==0)
{
tmp1 = AD7714(4);
tmp2 = ( (float)tmp1/(float)65536 )*249.9;
display1(tmp2 );
}
else if((i%2)!=0)
{
tmp1 = AD7714(5);
tmp2 = ( (float)tmp1/(float)65536 )*2.499;
if(tmp2>2.30)
{
P2_1 = 0;//控制继电器
PrintHZ1(num[11],25,100,16,1);
PrintHZ1(num[11],26,100,16,1);
PrintHZ1(num[11],27,100,16,1);
PrintHZ1(yue,21,100,16,2);
PrintHZ1(jie,23,100,16,2);
}
//
else
{
P2_1 = 1;//控制继电器
display2(tmp2);
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -