找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1175|回復(fù): 6
收起左側(cè)

燈的狀態(tài) 上電初始化亮3秒,然后熄滅 單片機(jī)程序該怎么寫(xiě)?

[復(fù)制鏈接]
ID:302293 發(fā)表于 2022-2-25 16:21 | 顯示全部樓層 |閱讀模式
  上電初始化亮3秒,然后熄滅,串口收到數(shù)據(jù)后亮5秒再熄滅。程序該怎么寫(xiě)
回復(fù)

使用道具 舉報(bào)

ID:685744 發(fā)表于 2022-2-25 16:55 | 顯示全部樓層
設(shè)置標(biāo)志位,接收到數(shù)據(jù)后將標(biāo)志位置一,然后通過(guò)判斷標(biāo)志位讓燈亮,通過(guò)判斷時(shí)間讓燈滅
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2022-2-25 17:08 | 顯示全部樓層
什么數(shù)據(jù)?
回復(fù)

使用道具 舉報(bào)

ID:966423 發(fā)表于 2022-2-25 17:48 | 顯示全部樓層
定時(shí)器定時(shí),然后串口有接收到信息,來(lái)個(gè)標(biāo)志位。
回復(fù)

使用道具 舉報(bào)

ID:290373 發(fā)表于 2022-2-25 18:36 | 顯示全部樓層
支持樓上,數(shù)據(jù)到達(dá)時(shí)設(shè)置標(biāo)志位,用定時(shí)器+時(shí)間變量計(jì)時(shí),在主程序中判斷標(biāo)志位和時(shí)間變量來(lái)點(diǎn)燈。
回復(fù)

使用道具 舉報(bào)

ID:634016 發(fā)表于 2022-2-25 19:52 | 顯示全部樓層
用定時(shí)器和標(biāo)志位就可以了
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2022-2-26 09:59 | 顯示全部樓層
所提的兩個(gè)問(wèn)題,實(shí)際是一個(gè)問(wèn)題,姑且叫做一個(gè)事件發(fā)生后需要亮燈N秒吧。
1、寫(xiě)一個(gè)顯示程序,建議用時(shí)間中斷去做,如每5ms刷新一下顯示。
2、建立一個(gè)標(biāo)記:L1。顯示程序(5ms中斷時(shí)執(zhí)行),將L1送到LED接口,也即用L1的值(0,1)決定LED的明暗。
3、事件發(fā)生時(shí),修改一下L1的值(如、讓LED亮)。如此,如何讓燈亮就完成了。下面談燈滅:
4、做個(gè)計(jì)時(shí)器來(lái)計(jì)時(shí)你的3秒或5秒,僅需一個(gè)寄存器而矣,設(shè)為SJ。同時(shí)再設(shè)立一個(gè)標(biāo)記:K_SJ,用K_SJ來(lái)決定SJ是否計(jì)時(shí)。
5、同樣在5ms中斷時(shí),如果K_SJ=1,就將SJ+1,再看看SJ是否到3秒了(數(shù)值是多少,你自己算算吧),到了,就將L1置成關(guān)燈(不要去動(dòng)LED端口,L1會(huì)在下次5ms中斷后,決定燈的熄滅。_SJ清0,停止計(jì)時(shí)器工作;如果K_SJ=0,什么事也不做,跳過(guò)。如此,定時(shí)關(guān)燈就完成了!下面說(shuō)說(shuō),如何一開(kāi)始計(jì)時(shí),估計(jì)你也想到了:
6、在事件發(fā)生始,如同標(biāo)記亮燈一樣,將K_SJ置1,也就起動(dòng)計(jì)時(shí)器SJ了,同時(shí)將SJ清0,計(jì)時(shí)從0開(kāi)始!
記。簩(xiě)程序關(guān)鍵是構(gòu)思方案!程序,僅僅是抄幾個(gè)約定的句子而矣。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表