用矩阵键盘上的键控制流水灯暂停的程序怎么编啊 用 C语言

有没有空帮忙的啊啊啊啊QQ:282625575
2024-12-25 12:20:01
推荐回答(2个)
回答1:

这个。。流水灯用for()语句来循环,循环内部用delay来延时控制流水的运转速度。
设置一个变量M,这个变量在每次循环的情况下都要赋值一次,从哪里赋值呢??就是判断一下你指定按键是否按下,按下了,这个变量M为1,没按下,这个变量M为0,然后你在for语句的中间那个判断表达式中加入一个条件:那就是这个变量M是(M=1就满足条件,继续循环,M=0不满足,就跳出循环)。这样就实现了按键终止循环的行为
然后你在for循环外边也不断判断这个按键的状态,并随时给这个M变量更新值,这样,你跳出来循环之后就不会回不去,如此的话,你就按住不放就会暂停,放开就继续流水

但是你如果要求按一下就流水,再按一下就暂停,第三次按又流水,那你将按键按下计数,然后根据你按下按键次数进行对流水灯的操作。。。。。

回答2:

楼主好!
其实这个问题很简单 ,我觉得根本不用锁存器,感觉有点浪费,一般单片机IO都可以完成你所需要的功能:不知道楼主有没有注意到8X8点阵的实现方法,你要做的60个流水灯完全可以模仿点阵的构造结构来实现。
查一下点阵的构造,60个流水灯的接法完全按照那个接法,只用16个IO口就行了,需要提醒你的是P1口的驱动能力还行 其他的需要上拉电阻。
同时这个问题还有点类似矩阵键盘的控制。
在你学会了你需要的60个流水灯的同时你还学会了点阵的控制,矩阵键盘的控制,一举多得,祝你学习愉快,单片机很有意思,我也是自学的。