c语言按键手动自动切换程序,C语言:我的按键程序K1键按下没有反应,其他两个都有反应...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我的部分程序

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按了根本没反应

}

求大神指导一下我这个菜鸟小白吧 感激不尽

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值