問題:有一組8*8的LED面板,按照以下動作順序顯示


1.由下面整排亮燈,接著是往上面一排亮燈,直到全部亮燈。再來是下面整排熄燈,接著是往上面一排熄燈,直到全部熄燈


2.由左邊整排亮燈,接著是往右邊一排亮燈,直到全部亮燈。再來是左邊整排熄燈,接著是往右邊一排熄燈,直到全部熄燈


3.由左下角亮燈,接著是往右上方斜一排亮燈,直到全部亮燈。再來是左下角熄燈,接著是往右上方斜一排熄燈,直到全部熄燈


4.由左上角亮燈,接著是往右下方斜一排亮燈,直到全部亮燈。再來是左上角熄燈,接著是往右下方斜一排熄燈,直到全部熄燈


5.由左下角亮燈,依序逆時針跑回字形亮燈,直到全部亮燈。再來是從最後一顆燈熄燈,反向沿亮燈的順序熄燈,直到全部熄燈


6.由中間亮燈,依序順時針跑回字形亮燈,直到全部亮燈。再來是從最後一顆燈熄燈,反向沿亮燈的順序熄燈,直到全部熄燈


7.由最外圈全部亮燈,依序往中間亮燈,直到全部亮燈。再來是從中間熄燈,依序往外圈熄燈,直到全部熄燈


8.由中間亮燈,依序往外圈亮燈,直到全部亮燈。再來是從外圈熄燈,依序往中間熄燈,直到全部熄燈


9.全部燈亮和全部燈熄交錯顯示,10次後回到第一個動作循環


另一個問題:我參考過站內小綠人和反覆擴散圖形跑馬燈的文章,若要改變動作是否要改寫程式?有沒有其他方法?

 

 


程式已寄到你信箱,那個文字檔要放在C:\內;關於這個問題,比較適合的是使用小綠人那篇的程式寫法,程式也不會很複雜。唯一需要的是耐心編寫動作排程,每一段動作都可以拆成幾十行排程資料,用我的寫法也需要幾百行資料


至於改變動作是否要改寫程式?對這個問題我的做法是把動作排程存為檔案,改動作就只需要改變檔案內的資料即可


動作排程是以記事本軟體編寫的文字檔,排程是顯示畫面的分解動作。為了簡化程式使用的是布林和數值轉換的方法,也就是把每一列的LED燈當做二進制數值的01變化,再換算為數值。一個畫面有8列,所以每個排程有8個數值,數值間以 Tab區隔。檔案內容格式如下圖

20131018-03  

 

 


程式部分直接套用小綠人那篇的程式,動作資料改成讀檔進來即可

20131018-05  

 

20131018-04  

 

 

  
你若對於動作排程文字檔案編寫很頭大的話,我提供另一個程式來處理


程式畫面的LED陣列和要顯示的LED陣列相同,排好畫面就按一次OK鈕自動將畫面轉成數值暫存,按STOP停止程式時存檔

20131018-02  

 

20131018-01  

arrow
arrow
    文章標籤
    跑馬燈
    全站熱搜

    未出師的小工程師 發表在 痞客邦 留言(0) 人氣()