示例說明
先看下完成后的軟件界面運行圖,如下所示:
這個流水燈小程序共包括了8個小燈,其主要功能包括:
可設置每個小燈初始的亮滅狀態;
可設置流水燈的移動方向;
可設置流水燈每次向左或向右移動的位數;
可設置流水燈移動的速度;
可控制流水燈的開始/暫停狀態。
在LabVIEW中編程實現這么多功能是不是很難?。科鋵嵾€是比較簡單的,下面看看怎么實現吧。
文末最后有動態圖演示哦,不要錯過。
代碼實現
代碼實現主要關鍵點:
主要程序結構:使用while循環結構+事件結構+移位寄存器,在事件結構的超時事件中完成流水燈狀態的顯示,在移位寄存器中存儲上次流水燈狀態對應的數值;
主要功能函數:布爾數組(流水燈數組的值)與數值(需要移位的值)之間的轉換函數,循環移位函數;
為簡化程序代碼的設計,將前面板上所有的流水燈控件放到一個U8類型的一維數組控件中。
其中,超時事件代碼框圖如下圖所示:
這是這個程序功能實現的主要代碼,在超時事件中,通過移位寄存器中讀取上次流水燈狀態對應的數值,然后根據前面板上的控件設置決定流水燈是否移動、左移或右移及移動的位數,其關鍵函數是循環移位函數,該函數參數接口意義如下,通過給定y值的正負號控件其左移或右移:
當在前面板上改變流水燈初始值狀態時,需重新給移位寄存器賦初值,其代碼如下:
在前面板上點擊退出程序按鈕時,在事件結構的值改變事件中退出程序的運行,代碼如下:
至此,程序的主要代碼實現就完成了。
總結
可能大家會想,如果一開始讓你在LabVIEW中實現一個這么花哨的多種控制功能的流水燈小程序,你可能會覺得這太難了,甚至無從下手,實際上,通過上面的實現代碼可看出程序也并不是太難,關鍵是要熟悉如事件結構、移位寄存器、循環移位及布爾數組與數值之間的轉換等幾個小知識點,把任務分解清楚,花不了幾分鐘也就可以做出來了。
好了,大家照著這個例子做一遍吧,如果還做不出來的話,大家可以加關注并私信回復:LabVIEW065,可獲取該文章對應的LabVIEW原程序下載。
最后再看下這個小例子的動態運行效果圖吧:
責任編輯人:CC
-
LabVIEW
+關注
關注
1995文章
3670瀏覽量
333013 -
labview編程
+關注
關注
2文章
9瀏覽量
14264
發布評論請先 登錄
基于51單片機流水燈仿真與程序設計

評論