久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 問個單片機問題 讓一個LED燈以一定頻率閃爍 [打印本頁]

作者: zpw123666    時間: 2023-10-8 09:56
標題: 問個單片機問題 讓一個LED燈以一定頻率閃爍
我想實現程序每次取值,取到這個值為0的時候(這個值是我用鑷子在pcb板子上短接得到的),讓一個LED燈以一定頻率閃爍,假設閃爍頻率是一秒亮,一秒滅,500ms亮,500ms滅。我想讓我每次拿開鑷子后再短接,讓LED燈重新從一秒亮,一秒滅開始。只要拿開,再接上就從頭開始,想問問思路。

作者: 123156fsadf    時間: 2023-10-8 13:48
挺簡單的吧,用狀態機,短接的時候,就進入閃爍狀態,斷開的時候,恢復到初始狀態就好了。
作者: ppcbug    時間: 2023-10-8 15:45
如果從理論來看,觸發時 【啟動或者重置】 定時器即可。但是這樣會獨占一個定時器資源。
一般來說,你不太可能直接讓定時器直接輸出1秒這么長時間,而且又閃爍頻率不固定,所以定時器后面一定有計數器。
這樣的話,如果采用 1000HZ 方波計數,定時器不去修改它,只操作后面計數器復位,最多也就是觸發后,響應延遲了1/1000 秒,定時器不需要修改就可以直接運行,這樣兼容性就會好很多。
例如:
計數數組:  unsigned int  ca[4]={1000,1000,500,500};     一組計數滿了,就翻轉; 下次觸發從頭計數。
作者: lkc8210    時間: 2023-10-8 17:54
  1. uint Count = 0;
  2. sbit Key = P3^4;
  3. sbit Led = P1^0;

  4. if(Flag_1ms)//定時器產生1ms標志位
  5. {
  6.         Flag_1ms = 0;
  7.         if(!Key)
  8.         {
  9.                 Count++;
  10.                 if(Count<1000)Led = 0;
  11.                 else if(Count<2000)Led = 1;
  12.                 else if(Count<2500)Led = 0;
  13.                 else if(Count<3000)Led = 1;
  14.                 else Count=0;
  15.         }else
  16.                 Count=0;
  17. }
復制代碼

作者: 圣博朗西斯    時間: 2023-10-27 13:36
只要每次鑷子短接你讓計時清0;計時為0亮 為1滅  為2清0計時從頭開始




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产免费一二三区 | 97精品国产97久久久久久免费 | 亚洲精品视频在线播放 | 成人小视频在线观看 | 天天干 夜夜操 | 久久成人精品视频 | 日韩一区二区在线播放 | 国产成人精品一区二 | av先锋资源| 91极品视频 | 亚洲综合三区 | 亚洲视频欧美视频 | 国产欧美日韩久久久 | 亚州春色 | 亚洲欧美日韩网站 | 男人的天堂久久 | 不卡视频一区二区三区 | 亚洲欧美日韩高清 | 国产精品一区二区av | 韩日一区二区三区 | 亚洲品质自拍视频网站 | 99成人在线视频 | 狠狠影院 | 欧美一级一区 | 成人精品一区二区 | 欧美一级视频免费看 | 视频二区国产 | 国产精品久久国产精品 | 中文字幕91 | 人成久久 | 日韩成人av在线 | 成人免费网站 | 国产1区| 午夜视频在线免费观看 | 欧美13videosex性极品 | 成人1区| 久久精品日产第一区二区三区 | 欧美日韩在线一区 | 欧美在线亚洲 | 在线观看成年视频 | 欧美精品啪啪 |