标题: 求思路 51单片机用两个开关分别控制流水灯和数码管 [打印本页]

作者: qwer8403255    时间: 2023-5-26 00:23
标题: 求思路 51单片机用两个开关分别控制流水灯和数码管
由于本论坛禁止直接求程序,禁止伸手党,所以向大家请教一下大致的实现方法与思路,理清头绪后我自己来写程序去实现,谢谢大家




51单片机在IO串口   协议那里     用两个开关分别控制流水灯和数码管 要求按下开关先反馈回来其中一个灯亮,亮了之后后边流水灯(数码管)启动  ,另一个开关  是另一个灯亮
作者: yueguang3048    时间: 2023-5-26 09:19
初始化外设IO、串口及中断等

主函数
按键+消抖,亮灯1,串口发送第一个灯亮;
按键+消抖,亮灯2,串口发送第二个灯亮;







作者: yzwzfyz    时间: 2023-5-26 14:34
1、将所有【流动】显示,分切成N个【静止】的显示,形成一个N个元素的数组A(N)。A(N)中的每个成员,都是一个【静止】的显示状态。如某个成员=1000001,表示七个LED灯的首尾是亮的。
2、以X为参数,编写一个显示程序XS(X),显示A(N)的【静止】状态,X指向A(N)的的成员。也即X=什么,七个LED的显示组合变是什么。
3、用定时器做个时间隔为T的中断,每次中断执行一次XS(X),X如果取值,就决定了你显示的方式(倒、顺、混、旋……),你想如何组合就如何组合,只要事先对X的序列设计一下即可,这可序列,也可以做成一个数组,例如:顺跑S(i)、逆行N(i)。如此,每间隔时间T,七个LED就更换一个显示状态。
4、现在可以谈论按键1、2了。例如按了键1,就运行S(i),则顺跑;例如按了键2,就运行N(i),则逆行。
道理一样,自己仔细想想,是否非常机动?
想如何显示,修改几个数组的值即可。且可以花样百出、随心所欲。




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