完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
k1断开,此时按下机器总开关(短,长),执行:k1一直通,k4通1s,然后断开。
k1接通,此时按下机器总开关(短按),执行:k1仍接通,k4接通1s,然后断开。 k1接通,此时按下机器总开关(长按),执行:k1断开,k4无动作。 用的芯片是at89c51,机器总开关p0.0,k1p2.4,k4p2.1. 如何添加程序,实现其功能。 #include #include ***it key0=P0^0; ***it key3=P0^3; ***it b1=P0^4; ***it k1=P2^4; ***it k4=P2^1; void delay1s(void) { unsigned char a,b,c; for(c=167;c>0;c--) for(b=171;b>0;b--) for(a=16;a>0;a--); _nop_(); } main() { _nop_(); k1=0; k4=0; if(key3==1) while(1) { if(key0==0) { while(!key0); k1=1; k4=1; } if(k4==1) { delay1s(); k4=0; } } } |
|
相关推荐
7个回答
|
|
短按(小于2s),长按(大于3s)
|
|
|
|
实际测试下了。
|
|
|
|
问题是那个长按和短按的程序不会编,求助
|
|
|
|
参考下: http://www.openedv.com/posts/list/23332.htm
|
|
|
|
非常感谢啊
|
|
|
|
我看了一下,那个在keil中运行错误,我也不知道该怎么实现我的要求,帮忙啊
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-3-29 06:20 , Processed in 0.499589 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号