51单片机 c语言 如何用4个按键控制4个流水灯

当正在执行第一种流水灯时,还没执行完毕,就检测到第二按键按下,就立刻跳转到第二种方式的流水灯... 当正在执行第一种流水灯时,还没执行完毕,就检测到第二按键按下,就立刻跳转到第二种方式的流水灯 展开
 我来答
Cindere鞡
推荐于2017-09-15 · TA获得超过7254个赞
知道大有可为答主
回答量:1148
采纳率:84%
帮助的人:511万
展开全部
不用中断一样的实现,而且可以有多少个按键就可以有多少种流水灯方式。你使用的键盘函数直接调用流水灯函数就可以。比如使用独立键盘,if(P1.1==0) light_water(); 然后:
void light_water()
{
num=1;
for(a=0;a<8;a++)
{
P1.1=num<<1;
delay(1000); //延时;
keyboard();//执行时又不停扫描键盘函数;
}
}
这样就会有一个LED从右往左移动8次;那么当第一次流水未完时,又调用第二个流水函数light_water1就能中断当前执行的流水函数又去执行第二个流水灯函数了。
希望我的回答能帮助到你。
buyang117
2013-05-04 · TA获得超过240个赞
知道答主
回答量:32
采纳率:100%
帮助的人:37.4万
展开全部
(1)如果外部中断不足四个,那四个按键都接入同一个中断,同时各自接入一个GPIO,有按键按下,会触发中断,中断程序就读出键值。
(2)如果外部中断有四个,那直接各自接入一个中断,各自的中断服务程序直接负责修改控制流水灯方式的参数就好了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine1991
科技发烧友

2013-05-04 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部
可以考虑使用中断法实现
追问
恩恩 我想也是  我这只是初学者,不会中断调用,您能不能给我个c语言实例,最好加上//注释………………感谢您!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式