久久久久久久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://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美在线性爱视频 | 在线观看的av网站 | 91黄色大片 | 22精品一区二区三区 | aaa一级片 | av福利在线观看 | 成人在线观看网站 | 理论片中文字幕 | 免费黄色一级片 | 九九色影院 | 四虎永久在线 | 黄色一级片黄色一级片 | 国产午夜精品久久 | 亚洲亚洲人成综合网络 | 黄色片一级片 | 国产精品高潮呻吟av | 黄色免费在线看 | 午夜成人影片 | 欧美性久久 | 在线黄网 | 欧美日韩福利 | 中文有码在线观看 | 国产网址| 日韩一级免费视频 | 天堂av网站 | 一级免费视频 | 国产午夜一区二区三区 | 四虎精品视频 | 黄色一级视频免费看 | 日韩欧美在线视频 | 在线观看视频国产 | 久久人体视频 | 久久国产精品免费 | 99精品久久久久久中文字幕 | www中文字幕 | 一区二区三区四区视频 | 草逼视频网站 | 一级黄色在线观看 | 成人免费在线视频观看 | 免费中文字幕日韩欧美 | 欧美在线播放视频 |