📄 基本程序 实现调频.txt
字号:
uchar str6='6';
uchar str7='B';
uchar str8='7';
uchar str9='8';
uchar str10='9';
uchar str11='c';
uchar str12='*';
uchar str13='0';
uchar str14='#';
uchar str15='D';
unsigned char offset=0x80; //定义一个偏移地址变量,lcd1602 写入控制字时用到
unsigned char key;
delay(2);
lcd1602_bus=0xff;
lcd1602_init();
lcd1602_wrcmd(offset+0x00);
xianshi(0);
ad9850(a,b);
// lcd1602_clear();
while(1)
{
key=getkey_ii();
if(key==7)
{
j=j+1;
if(j>3)j=0;
xianshi(j);
}
if (key==3)
{
if (j==0) j=4;
j=j-1;
xianshi(j);
}
if(key==0 || ((j==0)&&(key==15)))
{
while(key==2 || key==0xff || key==3) //????
{key=getkey_ii();
lcd1602_clear();
ad9850(a,b);
delay(1000);
}
}
if(key==1 || ((j==1)&&(key==15)))
{
lcd1602_init();
lcd1602_clear();
for(i=0;i<10;i++) lcd1602_wrdata(d[i]);
}
if(key==2|| ((j==2)&&(key==15)))
{ a=0;
lcd1602_clear();
for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
key=18; //避免和下面的WHILE语句条件冲突;临时改变KEY 只变一次
while(key!=12 )
{
key=getkey_ii();
if(key==0)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
a=a*10+1;
for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
lcd1602_wrcmd(offset+0x40); //换行
xianshu(a);
//lcd1602_wrcmd(offset+0x40);
// for(i=0;i<11;i++) lcd1602_wrdata(str12[i]);
}
else if (key==1)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
lcd1602_wrcmd(offset+0x40); //换行
a=a*10+2;
xianshu(a);
//lcd1602_wrcmd(offset+0x40);
//for(i=0;i<15;i++) lcd1602_wrdata(str22[i]);
}
else if (key==2)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
lcd1602_wrcmd(offset+0x40); //换行
a=a*10+3;
xianshu(a);
// lcd1602_wrcmd(offset+0x40);
// for(i=0;i<15;i++) lcd1602_wrdata(str31[i]);
}
else if (key==4)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
a=a*10+4;
for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
lcd1602_wrcmd(offset+0x40); //换行
xianshu(a);
}
else if (key==5)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
lcd1602_wrcmd(offset+0x40); //换行
a=a*10+5;
xianshu(a);
}
else if (key==6)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
lcd1602_wrcmd(offset+0x40); //换行
a=a*10+6;
xianshu(a);
}
else if (key==8)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
lcd1602_wrcmd(offset+0x40); //换行
a=a*10+7;
xianshu(a);
}
else if (key==9)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
lcd1602_wrcmd(offset+0x40); //换行
a=a*10+8;
xianshu(a);
}
else if (key==10)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
lcd1602_wrcmd(offset+0x40); //换行
a=a*10+9;
xianshu(a);
}
else if (key==13)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
lcd1602_wrcmd(offset+0x40); //换行
a=a*10+0;
xianshu(a);
}
}
xianshi(0);
j=0;
ad9850(a,b);
} //设定频率
if(key==4 || ((j==3)&&(key==15)))
{ b=0;
lcd1602_clear();
for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
key=18; //避免和下面的WHILE语句条件冲突;临时改变KEY 只变一次
while(key!=12 )
{
key=getkey_ii();
if(key==0)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
b=b*10+1;
for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
lcd1602_wrcmd(offset+0x40); //换行
xianshu(b);
//lcd1602_wrcmd(offset+0x40);
// for(i=0;i<11;i++) lcd1602_wrdata(str12[i]);
}
else if (key==1)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
lcd1602_wrcmd(offset+0x40); //换行
b=b*10+2;
xianshu(b);
//lcd1602_wrcmd(offset+0x40);
//for(i=0;i<15;i++) lcd1602_wrdata(str22[i]);
}
else if (key==2)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
lcd1602_wrcmd(offset+0x40); //换行
b=b*10+3;
xianshu(b);
// lcd1602_wrcmd(offset+0x40);
// for(i=0;i<15;i++) lcd1602_wrdata(str31[i]);
}
else if (key==4)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
b=b*10+4;
for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
lcd1602_wrcmd(offset+0x40); //换行
xianshu(b);
}
else if (key==5)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
lcd1602_wrcmd(offset+0x40); //换行
b=b*10+5;
xianshu(b);
}
else if (key==6)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
lcd1602_wrcmd(offset+0x40); //换行
b=b*10+6;
xianshu(b);
}
else if (key==8)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
lcd1602_wrcmd(offset+0x40); //换行
b=b*10+7;
xianshu(b);
}
else if (key==9)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
lcd1602_wrcmd(offset+0x40); //换行
b=b*10+8;
xianshu(b);
}
else if (key==10)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
lcd1602_wrcmd(offset+0x40); //换行
b=b*10+9;
xianshu(b);
}
else if (key==13)
{
lcd1602_clear();
lcd1602_wrcmd(offset+0x00);
for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
lcd1602_wrcmd(offset+0x40); //换行
b=b*10+0;
xianshu(b);
}
}
xianshi(0);
j=0;
ad9850(a,b);
}
if(key==12) ad9850(a-b,a); // *键用来步减
if(key==14) ad9850(a+b,a); // #用来步加
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -