問題:有一組8*8的LED面板,按照以下動作順序顯示
1.由下面整排亮燈,接著是往上面一排亮燈,直到全部亮燈。再來是下面整排熄燈,接著是往上面一排熄燈,直到全部熄燈
2.由左邊整排亮燈,接著是往右邊一排亮燈,直到全部亮燈。再來是左邊整排熄燈,接著是往右邊一排熄燈,直到全部熄燈
3.由左下角亮燈,接著是往右上方斜一排亮燈,直到全部亮燈。再來是左下角熄燈,接著是往右上方斜一排熄燈,直到全部熄燈
4.由左上角亮燈,接著是往右下方斜一排亮燈,直到全部亮燈。再來是左上角熄燈,接著是往右下方斜一排熄燈,直到全部熄燈
5.由左下角亮燈,依序逆時針跑回字形亮燈,直到全部亮燈。再來是從最後一顆燈熄燈,反向沿亮燈的順序熄燈,直到全部熄燈
6.由中間亮燈,依序順時針跑回字形亮燈,直到全部亮燈。再來是從最後一顆燈熄燈,反向沿亮燈的順序熄燈,直到全部熄燈
7.由最外圈全部亮燈,依序往中間亮燈,直到全部亮燈。再來是從中間熄燈,依序往外圈熄燈,直到全部熄燈
8.由中間亮燈,依序往外圈亮燈,直到全部亮燈。再來是從外圈熄燈,依序往中間熄燈,直到全部熄燈
9.全部燈亮和全部燈熄交錯顯示,10次後回到第一個動作循環
另一個問題:我參考過站內小綠人和反覆擴散圖形跑馬燈的文章,若要改變動作是否要改寫程式?有沒有其他方法?
程式已寄到你信箱,那個文字檔要放在C:\內;關於這個問題,比較適合的是使用小綠人那篇的程式寫法,程式也不會很複雜。唯一需要的是耐心編寫動作排程,每一段動作都可以拆成幾十行排程資料,用我的寫法也需要幾百行資料
至於改變動作是否要改寫程式?對這個問題我的做法是把動作排程存為檔案,改動作就只需要改變檔案內的資料即可
動作排程是以記事本軟體編寫的文字檔,排程是顯示畫面的分解動作。為了簡化程式使用的是布林和數值轉換的方法,也就是把每一列的LED燈當做二進制數值的01變化,再換算為數值。一個畫面有8列,所以每個排程有8個數值,數值間以 Tab區隔。檔案內容格式如下圖
程式部分直接套用小綠人那篇的程式,動作資料改成讀檔進來即可
你若對於動作排程文字檔案編寫很頭大的話,我提供另一個程式來處理
程式畫面的LED陣列和要顯示的LED陣列相同,排好畫面就按一次OK鈕自動將畫面轉成數值暫存,按STOP停止程式時存檔
留言列表