📄 lcdkey03.c
字号:
lcd_wrcmd(0x83);
for(i=0;i<9;i++)
lcd_wrdata(warn[i]);
lcd_wrcmd(0xc1);
for(i=0;i<12;i++)
lcd_wrdata(warn[i+9]);
while(1)
{
ii=getkey();
if(ii!=0xff)
{
lcd_wrcmd(1);
break;
}
}
}
uchar dac_convert(uchar *amp)
{
uint v;
v=amp[2]*100+amp[1]*10+amp[0];
if(v<500)
{
v=32*v;
dac_tlc5620(v/100);
return 0;
}
else
{
return 1;
}
}
amplitude()
{
uchar i,ii;
uchar amp[3],t=0;
lcd_wrcmd(0x80);
for(i=0;i<16;i++)
lcd_wrdata(am[i]);
lcd_wrcmd(0xcc);
lcd_wrdata('V');
lcd_wrcmd(0xc7);
lcd_wrdata('.');
lcd_wrcmd(0x0f); //开光标
lcd_wrcmd(0xc7);
while(1)
{
ii=table[getkey()];
if(ii==11)
{
if(t==4)
{
if(dac_convert(amp))
{
warning();
break;
}
}
lcd_wrcmd(0x0c);
state=1;
lcd_wrcmd(1);
break;
}
if(ii<10)
{
t++;
if(t==1)
{
lcd_wrcmd(0xc9);
}
if(t==2)t++;
if(t==1)amp[2]=ii;
else if(t==3)amp[1]=ii;
else if(t==4)amp[0]=ii;
if(t==5)
{
t=0;
lcd_wrcmd(0xc7);
lcd_wrdata(' '); lcd_wrdata('.');lcd_wrdata(' ');lcd_wrdata(' ');
lcd_wrcmd(0xc7);
}
else
{
lcd_wrcmd(0xc6+t);
lcd_wrdata(0x30+ii);
}
}
}
}
inputtl()
{
uchar i,j,n,cnt=0;
for(i=0;i<3;i++)
TL[i]=NULL;
lcd_wrcmd(0x80);
lcd_wrdata('T');
lcd_wrdata('L');
lcd_wrdata('=');
while(1)
{i=table[getkey()];
if(i<10)
{ cnt++;
if(cnt<=3)
{ TL[cnt-1]=i;
lcd_wrcmd(0x83+cnt-1);
lcd_wrdata(0x30+i);
}
else{
cnt=0;
lcd_wrcmd(0x83);
for(j=0;j<=3;j++)
lcd_wrdata(' ');
lcd_wrcmd(0x83);
}
}
else if(i==12)
{
state=1;
lcd_wrcmd(0x0c);
lcd_wrcmd(1);
lcd_wrcmd(0x80);
n=strlen(TL);
if(TL[2]>=0&&TL[2]<=9)
TLL=TL[0]*100+TL[1]*10+TL[2];
break;
}
}
}
inputth()
{
uchar i,j,n,cnt=0;
for(i=0;i<3;i++)
TL[i]=NULL;
lcd_wrcmd(0x80);
lcd_wrdata('T');
lcd_wrdata('H');
lcd_wrdata('=');
while(1)
{i=table[getkey()];
if(i<10)
{ cnt++;
if(cnt<=3)
{ TH[cnt-1]=i;
lcd_wrcmd(0x83+cnt-1);
lcd_wrdata(0x30+i);
}
else{
cnt=0;
lcd_wrcmd(0x83);
for(j=0;j<=3;j++)
lcd_wrdata(' ');
lcd_wrcmd(0x83);
}
}
else if(i==12)
{
state=1;
lcd_wrcmd(0x0c);
lcd_wrcmd(1);
lcd_wrcmd(0x80);
n=strlen(TH);
if(TH[2]>=0&&TH[2]<=9)
THH=TH[0]*100+TH[1]*10+TH[2];
break;
}
}
}
menu()
{
uchar i,ii,cnt=1;
lcd_wrcmd(0x83);
for(i=0;i<strlen(str4);i++)
lcd_wrdata(str4[i]);
lcd_wrcmd(0xc3);
i=0;
while(str5[i]!='\0')
{
lcd_wrdata(str5[i]);
i++;
}
lcd_wrcmd(0x80);
lcd_wrdata('-');
lcd_wrdata('>');
while(1)
{
ii=table[getkey()];
///////////////////////////翻屏///////////////////////////////
if(ii==15)
{ cnt++;
if(cnt==7) cnt=1;
if(cnt==1)
{
//////////////////////
// ->1: FREQENCY
// 2: PHASE
/////////////////////
lcd_wrcmd(1);//clear
lcd_wrcmd(0x83); //frequency
for(i=0;i<strlen(str4);i++)
lcd_wrdata(str4[i]);
lcd_wrcmd(0xc3); //phase
i=0;
while(str5[i]!='\0')
{
lcd_wrdata(str5[i]);
i++;
}
lcd_wrcmd(0x80);
lcd_wrdata('-');
lcd_wrdata('>');
}
else if(cnt==2)
{
//////////////////////
// 1: FREQENCY
// ->2: PHASE
/////////////////////
lcd_wrcmd(1);//clear
lcd_wrcmd(0x83); //frequency
for(i=0;i<strlen(str4);i++)
lcd_wrdata(str4[i]);
lcd_wrcmd(0xc3); //phase
i=0;
while(str5[i]!='\0')
{
lcd_wrdata(str5[i]);
i++;
}
lcd_wrcmd(0xc0);
lcd_wrdata('-');
lcd_wrdata('>');
}
else if(cnt==3)
{
//////////////////////
// 2: PHASE
// -> 3: Amplitude
/////////////////////
lcd_wrcmd(1);
lcd_wrcmd(0xc3); //Amplitude
for(i=0;i<strlen(str6);i++)
lcd_wrdata(str6[i]);
lcd_wrcmd(0x83);
i=0;
while(str5[i]!='\0') //phase
{
lcd_wrdata(str5[i]);
i++;
}
lcd_wrcmd(0xc0);
lcd_wrdata('-');
lcd_wrdata('>');
}
else if(cnt==4)
{
//////////////////////
// 3: Amplitude
// -> 4: tempeture
/////////////////////
lcd_wrcmd(1);
lcd_wrcmd(0x83); //setting
for(i=0;i<strlen(str6);i++)
lcd_wrdata(str6[i]);
lcd_wrcmd(0xc3);
for(i=0;i<strlen(str8);i++)
lcd_wrdata(str8[i]); //help
lcd_wrcmd(0xc0);
lcd_wrdata('-');
lcd_wrdata('>');
}
else if(cnt==5)
{
//////////////////////
// 4: tempeture
// -> 5: INPUT TL
/////////////////////
lcd_wrcmd(1);
lcd_wrcmd(0x83); //setting
for(i=0;i<strlen(str8);i++)
lcd_wrdata(str8[i]);
lcd_wrcmd(0xc3);
for(i=0;i<strlen(str10);i++)
lcd_wrdata(str10[i]); //help
lcd_wrcmd(0xc0);
lcd_wrdata('-');
lcd_wrdata('>');
}
else if(cnt==6)
{
//////////////////////
// 5: INPUT TL
// -> 6: INPUT TH
/////////////////////
lcd_wrcmd(1);
lcd_wrcmd(0x83); //setting
for(i=0;i<strlen(str10);i++)
lcd_wrdata(str10[i]);
lcd_wrcmd(0xc3);
for(i=0;i<strlen(str11);i++)
lcd_wrdata(str11[i]); //help
lcd_wrcmd(0xc0);
lcd_wrdata('-');
lcd_wrdata('>');
}
}
////////////////////////////////////////////////////////////////
else if(ii==14)
{
if(cnt==1)
{
state=2;
lcd_wrcmd(1);
break;
}
else if(cnt==2)
{
state=3;
lcd_wrcmd(1);
break;
}
else if(cnt==3)
{
state=5;
lcd_wrcmd(1);
break;
}
else if(cnt==4) //help
{
state=4;
lcd_wrcmd(1);
break;
}
else if(cnt==5) //help
{
state=6;
lcd_wrcmd(1);
break;
}
else if(cnt==6) //help
{
state=7;
lcd_wrcmd(1);
break;
}
}
else if(ii==1)
{
state=2;
lcd_wrcmd(1);
break;
}
else if(ii==2)
{
state=3;
lcd_wrcmd(1);
break;
}
else if(ii==3)
{
state=5;
lcd_wrcmd(1);
break;
}
else if(ii==4)
{
state=4;
lcd_wrcmd(1);
break;
}
}
}
/*help()
{
uchar i,ii;
lcd_wrcmd(0x80);
for(i=0;i<16;i++)
{
lcd_wrdata(he[i]);
}
while(1)
{
ii=getkey();
if(ii!=0xff)
{
lcd_wrcmd(1);
state=1;
break;
}
}
}*/
main()
{
lcd_bus=0xff;
lcd_ini();
dac_tlc5620(128); //A(LPS)=1.586
while(1)
{
if(state==0)welcome();
else if(state==1)menu();
else if(state==2)frequency();
else if(state==3)phase();
else if(state==4)tempdisplay();
else if(state==5)amplitude();
else if(state==6)inputtl();
else if(state==7)inputth();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -