标题:
灯的状态 上电初始化亮3秒,然后熄灭 单片机程序该怎么写?
[打印本页]
作者:
sr861126
时间:
2022-2-25 16:21
标题:
灯的状态 上电初始化亮3秒,然后熄灭 单片机程序该怎么写?
上电初始化亮3秒,然后熄灭,串口收到数据后亮5秒再熄灭。程序该怎么写
作者:
tian1234
时间:
2022-2-25 16:55
设置标志位,接收到数据后将标志位置一,然后通过判断标志位让灯亮,通过判断时间让灯灭
作者:
lkc8210
时间:
2022-2-25 17:08
什么数据?
作者:
LPB2021
时间:
2022-2-25 17:48
定时器定时,然后串口有接收到信息,来个标志位。
作者:
田贺
时间:
2022-2-25 18:36
支持楼上,数据到达时设置标志位,用定时器+时间变量计时,在主程序中判断标志位和时间变量来点灯。
作者:
18879099548
时间:
2022-2-25 19:52
用定时器和标志位就可以了
作者:
yzwzfyz
时间:
2022-2-26 09:59
所提的两个问题,实际是一个问题,姑且叫做一个事件发生后需要亮灯N秒吧。
1、写一个显示程序,建议用时间中断去做,如每5ms刷新一下显示。
2、建立一个标记:L1。显示程序(5ms中断时执行),将L1送到LED接口,也即用L1的值(0,1)决定LED的明暗。
3、事件发生时,修改一下L1的值(如、让LED亮)。如此,如何让灯亮就完成了。下面谈灯灭:
4、做个计时器来计时你的3秒或5秒,仅需一个寄存器而矣,设为SJ。同时再设立一个标记:K_SJ,用K_SJ来决定SJ是否计时。
5、同样在5ms中断时,如果K_SJ=1,就将SJ+1,再看看SJ是否到3秒了(数值是多少,你自己算算吧),到了,就将L1置成关灯(不要去动LED端口,L1会在下次5ms中断后,决定灯的熄灭!),并将K_SJ清0,停止计时器工作;如果K_SJ=0,什么事也不做,跳过。如此,定时关灯就完成了!下面说说,如何一开始计时,估计你也想到了:
6、在事件发生始,如同标记亮灯一样,将K_SJ置1,也就起动计时器SJ了,同时将SJ清0,计时从0开始!
记住:写程序关键是构思方案!程序,仅仅是抄几个约定的句子而矣。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1