该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我的部分程序
void Zfan() //这个程序还没有完善,不过应该不影响吧
{
while(!k1)
{
switch(f_a){
case 1: m = 0;break;
case 2: m = 1;break;
case 3:m = 2;break;
case 4: m = 3;break;
default:m = 0;break;
}
led = 0; // 灯亮
wr_string(1,9,"zd"); // 显示“zd”自动
}
}
void Key()
{
if(K1==0||K2==0||K3==0)
delay(10);
if(K1==0) k1 = ~k1; //一开始k1=1 这个是一个自动,手动切换的功能,一个键反复按来实现切换
if(k1==0)
Zfan();
else if(K2==0)
led = ~led;
else if(K3==0)
Lev_m(); //这个是按一下 m++,if(m>3)m=0;
while(!K1&&!K2&&!K3);
}
void main()
{
init_1602();
while(1)
{
DHT11_read(); //温湿度读取
air(); //空气质量读取
wr_num(1,4,t_h); //显示温度
wr_num(2,4,r_h); //显示湿度
wr_cmd(0x8f);
wr_data(0x30+f_a); //显示空气质量等级
delay(1000); //温湿度大于一秒采集一次
Key(); //这里出现了问题,把这个注释掉就没问题
wr_cmd(0xcf);
wr_data(0x30+m);
wr_cmd(0xcb);
wr_data(0x30+k1); //在LCD显示k1的值,这个我是用来检测K1按了后程序到底反应没
结果, 一开始k1显示1,按了后居然不是0 而是一个点 如果一开始k1初值=0 那么K1按了根本没反应
}
求大神指导一下我这个菜鸟小白吧 感激不尽