标题: 下面单片机代码为什么开关可以不能切换? [打印本页]

作者: hjx5548    时间: 2022-1-6 20:29
标题: 下面单片机代码为什么开关可以不能切换?
if(KEY1==1)               
                        {        
                                delay_ms(50);
                                         { DCF=0;   }delay_ms(200);
                                         {  FMQ=0; delay_ms(2000); JSJDQ=0;}delay_ms(2000);delay_ms(2000);
                                         { JRJDQ=1; }delay_ms(2000);
                                         { JRJDQ2=1;   }
                                       
                        }
                        else
                        {               
                                delay_ms(200);
                                 { DCF=1;   }delay_ms(200);
                                 { FMQ=1;  delay_ms(2000); JSJDQ=1;}delay_ms(2000);delay_ms(2000);delay_ms(2000);
                                 { JRJDQ=0;   }delay_ms(2000);
                                 { JRJDQ2=0;   }
                        }

作者: 风起十    时间: 2022-1-6 20:53
建议把全部的程序发出来,只有一部分不容易判断问题,起码延时函数的字节大小,IO口的定义要能看到

作者: Hephaestus    时间: 2022-1-6 23:39
给出变量定义,以及硬件电路图,别人才能知道你说的“开关”是个什么玩意儿。
作者: wulin    时间: 2022-1-7 06:22
楼主坛龄7年还看不出这样的代码问题在哪?
作者: PEB188    时间: 2022-1-7 07:52
开关不能切换,你这KEY标志位没清吧
作者: man1234567    时间: 2022-1-7 08:24
高手的程序都没有注释且只能看片段,没有悬丝诊脉的水平搞不定
作者: aking991    时间: 2022-1-7 08:34
你里面延时时间太长,容易造成好像无反应状态,其实如果只是作个短接开关进行切换功能的话,它是有反应的,只是你延长时间太长,有可能造成单片机超时复位,建议在长延时中间插入喂狗
作者: 13205495918    时间: 2022-1-7 08:43
你节选一段程序,确实不方便大家进行思考
作者: lfei01    时间: 2022-1-7 09:08
KEY1=1,运行第一个,否则是第二个,不能切换,是KEY1 没变换

作者: 城夫子    时间: 2022-1-7 09:30
你这程序没有操作KEY,还有你这按键接的上拉啊,是不是没幅值KEY初始化低电平
作者: hjx5548    时间: 2022-1-7 20:01
城夫子 发表于 2022-1-7 09:30
你这程序没有操作KEY,还有你这按键接的上拉啊,是不是没幅值KEY初始化低电平

key是开关,要么接通,要么断开。
作者: hjx5548    时间: 2022-1-7 20:03
key不是按键,是开关。不是接通,就是断开




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1