欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

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

QQ登錄

只需一步,快速開始

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

單片機(jī)實(shí)戰(zhàn)項(xiàng)目中怎樣讓一個(gè)燈閃爍3S 求思路

[復(fù)制鏈接]
ID:1043858 發(fā)表于 2022-12-9 15:07 | 顯示全部樓層 |閱讀模式
目前在做一個(gè)電飯煲項(xiàng)目,要選者煮飯按鍵時(shí)對(duì)應(yīng)的led燈要閃爍3S,3S后常亮并且進(jìn)入煮飯模式,目前while主循環(huán)4MS進(jìn)入一次,怎樣實(shí)現(xiàn)這個(gè)功能?
定時(shí)器是125us進(jìn)入一起,希望大家給個(gè)思路
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2022-12-9 17:53 | 顯示全部樓層
1、定義閃一次:亮0.3s,暗0.2s。需要兩個(gè)計(jì)時(shí)器,分別:LT=0.3s=0.3s/125us=2400;AT=0.2s=0.2s/125us=1600。
2、閃三次。需要一個(gè)計(jì)時(shí)器,TT=3。
3、燈明亮用一個(gè)標(biāo)記:B_LAMP。
現(xiàn)在可以寫程序了:
鍵按下后做下例事件:
1、初化:LT、AT、TT、燈亮,
2、對(duì)依序?qū)T、AT、TT中<>0的進(jìn)行計(jì)時(shí),=0的則跳過。
中斷服務(wù)程序:
1、LT =0,進(jìn)入下一步(不在亮燈時(shí)間內(nèi))
   LT<>0,做LT-1<>0時(shí):跳過以下各步。(燈亮還未結(jié)束,繼續(xù)計(jì)時(shí))
            LT-1 =0時(shí):關(guān)燈B_LAMP=0。(燈亮結(jié)束)跳過以下各步。
2、AT =0,進(jìn)入下一步(不在暗燈時(shí)間內(nèi))
   AT<>0,做AT-1<>0時(shí):跳過以下各步。(燈暗還未結(jié)束,繼續(xù)計(jì)時(shí))
            AT-1 =0時(shí):亮燈B_LAMP=1。(燈暗結(jié)束)跳過以下各步。
3、TT =0, 三次全部分過程結(jié)束了,跳出。
   TT<>0,做TT-1,復(fù)位LT=2400,AT=1600,亮燈B_LAMP=1(三次未到,繼續(xù)再來)。
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2022-12-9 20:20 | 顯示全部樓層
見此貼的回復(fù),示例中用到閃爍功能,可以借鑒。
http://m.raoushi.com/bbs/forum.php?mod=viewthread&tid=225635
回復(fù)

使用道具 舉報(bào)

ID:401564 發(fā)表于 2022-12-9 21:44 | 顯示全部樓層
大哥,你是認(rèn)真的嗎?
你都接手項(xiàng)目了,閃燈3秒鐘的程序都寫不了,那電飯煲后繼的程序怎么辦?
回復(fù)

使用道具 舉報(bào)

ID:1043858 發(fā)表于 2022-12-10 08:51 | 顯示全部樓層
Y_G_G 發(fā)表于 2022-12-9 21:44
大哥,你是認(rèn)真的嗎?
你都接手項(xiàng)目了,閃燈3秒鐘的程序都寫不了,那電飯煲后繼的程序怎么辦?

其他的都搞完了,客戶那邊要加這個(gè)閃爍,我現(xiàn)在想的是在4ms主循環(huán)里面放多一個(gè)時(shí)間函數(shù) 每進(jìn)入一次主循環(huán)就記錄一次,然后再弄個(gè)燈閃爍的子函數(shù)看看,燈閃爍的子函數(shù)里面主要是燈的取反
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2022-12-10 10:51 | 顯示全部樓層
此函數(shù)放在4ms主循環(huán)中運(yùn)行
  1. bit LED_make=0;//煮飯按鍵使能位

  2. void LED_flicker()
  3. {
  4.         static unsigned int count=0;//4ms計(jì)數(shù)
  5.         static bit flicker=0;//閃爍標(biāo)志
  6.         static bit sec_3=0;//3秒標(biāo)志

  7.         if(LED_make)//煮飯使能
  8.         {
  9.                 if((++count>=750) && !sec_3)
  10.                 {
  11.                         sec_3=1;
  12.                         flicker=0;
  13.                 }
  14.                 if(count%25==0)//閃爍周期200ms
  15.                 {
  16.                         flicker=~flicker;
  17.                 }
  18.                 if(!sec_3 && !flicker)
  19.                 {
  20.                         LED=0;//滅
  21.                 }
  22.                 else LED=1;//亮
  23.         }
  24.         else
  25.         {
  26.                 LED=0;//滅
  27.                 count=0;//復(fù)位清0
  28.                 flicker=0;//復(fù)位清0
  29.                 sec_3=0;//復(fù)位清0
  30.         }
  31. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:1043858 發(fā)表于 2022-12-10 14:00 | 顯示全部樓層
wulin 發(fā)表于 2022-12-10 10:51
此函數(shù)放在4ms主循環(huán)中運(yùn)行

好我試一下,謝謝大神
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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