完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
`请问怎样用一个按键控制流水灯的亮和灭?当按一下按键时流水灯亮,再按一下按键时,流水灯灭。以下是偶写的程序,现在按一下K1时,流水灯能亮,请问程序怎样改才能使再按一下k1时,流水灯灭呢? #include ***it k1=P1^1; ***it Beep = P3^7; #define uint unsigned int void delayms(uint); void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } void main(void) { if(k1==0) delayms(30); if(k1==0) { while(1) {P2=0xFF; delayms(350); P2=0xFE; delayms(350); P2=0xFD; delayms(350); P2=0xFB; delayms(350); P2=0xF7; delayms(350); P2=0xEF; delayms(350); P2=0xDF; delayms(350); P2=0xBF; delayms(350); P2=0x7F; delayms(350); P2=0xFF; delayms(350); Beep= 0; delayms(100); Beep= 1; delayms(50); Beep= 0; delayms(100); Beep= 1; delayms(50); } } } ` |
|
相关推荐
16个回答
|
|
定义一个标志位啊,标志位=1,LED就亮;标志位=0,则LED灭。好简单的说。
|
|
|
|
偶是新手,能不能在上面的程序里帮忙直接改一下? |
|
|
|
这个修改你的程序估计不行,因为你写的【程序架构有问题】,属于【牵一发而动全身】的说。
|
|
|
|
哦,哪重新写一个行不行?最好是简单一点的,就是一个按键控制流水灯的亮和灭. |
|
|
|
|
|
|
|
哪具体要怎样写才能简化呢? |
|
|
|
具体应该怎样改才能简化呢? |
|
|
|
K1的判断里面加个变量标志就可以了,while提到外面去
|
|
|
|
把while(这里边用按键值),当按下是也就是1,流水灯就亮,当不为1时,就停止流水灯了,请采纳,给积分
|
|
|
|
干嘛要用查表?移位不是更方便吗? |
|
|
|
能不能用循环来控制,减少调用延时子代码。
|
|
|
|
我是想要按一下按键时,流水灯亮,再按一下按键时,流水灯停止.你说这个可以吗? |
|
|
|
|
|
|
|
最简单的办法,在你循环前加if(按键数值为真)..流水灯执行,即可
|
|
|
|
说的这么明白的竟然还是不懂,我也是醉了 |
|
|
|
这么简单都不会。。。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-移植前准备之git管理内核源码
1445 浏览 0 评论
【瑞萨RA2L1入门学习】+ MacOS安装e2studio
686 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-本地仓库管理之分支间的操作
751 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】3D 图形显示
626 浏览 0 评论
738 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12232 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-31 14:01 , Processed in 0.681327 second(s), Total 67, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号