找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2508|回復: 9
打印 上一主題 下一主題
收起左側(cè)

請問這種時間不規(guī)則的閃燈程序怎么處理比較高效?

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:38662 發(fā)表于 2023-8-18 17:05 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
用示波器測了一個閃燈的時序,時間是不規(guī)則的,請問一下高手,象這種閃燈怎么寫效率比較高?謝謝!

閃燈.png (9.48 KB, 下載次數(shù): 65)

閃燈時間

閃燈時間
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:468209 發(fā)表于 2023-8-19 00:45 來自手機 | 只看該作者
很好奇你是怎么寫的
回復

使用道具 舉報

板凳
ID:672792 發(fā)表于 2023-8-19 08:49 | 只看該作者
如果使用的是單片機可能沒有必要這樣寫一個閃燈程序,如果使用的是555或者其它器件就好理解了
回復

使用道具 舉報

地板
ID:227818 發(fā)表于 2023-8-19 09:01 | 只看該作者
定時器?不同的時間隨時設定不同的定時參數(shù)?
回復

使用道具 舉報

5#
ID:69038 發(fā)表于 2023-8-19 09:08 | 只看該作者
我算了一下,按0.05s的速率,連續(xù)發(fā)送21個字節(jié)(8位)的數(shù)據(jù)即可,具體發(fā)什么數(shù)據(jù)自己算一下。
回復

使用道具 舉報

6#
ID:472504 發(fā)表于 2023-8-19 09:08 | 只看該作者
可以把這些時間做成表格查表處理。。。
回復

使用道具 舉報

7#
ID:136119 發(fā)表于 2023-8-19 09:22 | 只看該作者
定義一個結(jié)構(gòu)體
typedef struct
{
        u8 IO        ;         // 記錄端口狀態(tài)
        u16 timer;        // 記錄延時時
}        SW_IO;


typedef struct   /////處理函數(shù)進入時間處理方案
{
  u16 time;         /* 定義進入中斷時間 等0xFFFF 函數(shù)被關(guān)閉, 0允許進入函數(shù)  */
  u8 tag;           /* 標記狀態(tài)                */
  u8 value;         /* 傳遞參數(shù)                */
} SWT_APP ;



SW_IO IO_K[50];  // 根據(jù)需要控制的時序填寫對應時間和高低電平

SWT_APP location ; 記錄數(shù)組運行位置

if(location.time ==0 )
{
       
  if( IO_K[location.tag].IO )
  {
        輸出高電平
  }
  else
  {
   輸出低電平
  }
  location.time =  IO_K[location.timer];延時時間寫入
  location.tag++;
}



中斷內(nèi)部調(diào)用控制

if(location.time &(location.time != 0xffff) )location.time--;
回復

使用道具 舉報

8#
ID:514317 發(fā)表于 2023-8-19 17:14 | 只看該作者
把每段延時時間做成數(shù)組    再做一個定時0.1秒的定時減減函數(shù)       把數(shù)組做個循環(huán)任務函數(shù)   把第一位減的時間個數(shù)(全局參數(shù))載入循環(huán)    減到零時載入第二個減時間個數(shù)    到最后一位處理下是跳出還是繼續(xù)循環(huán)就行了
回復

使用道具 舉報

9#
ID:123289 發(fā)表于 2023-8-25 15:14 | 只看該作者
很簡單:
1、每個脈沖由0/1組成,給出兩個量:L1,H1。
2、N個脈沖,做成一個表格,給出2N個量:L1,H1、L2,H2、L3,H3、L4,H4、……LN,HN。
3、程序:
用定時器做一個計時軟件,依次取出L,H,計三種情況:
L<>0,H<>0 時,L-1計時并輸出0;
L = 0,H<>0 時,H-1計時并輸出1;
L = 0,H = 0 時,取一下組數(shù)據(jù);
重復。
回復

使用道具 舉報

10#
ID:38662 發(fā)表于 2023-8-26 17:03 | 只看該作者
感謝各位老師的指導!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表