很多小夥伴在學單片機的時候,不管是用彙編也好,還是用C語言也好,都寫過各種各樣的流水燈小程序,當一排LED燈按你的設計循環亮起的時候,是不是非常有成就感呢?
那麼我們思考下,在LabVIEW平臺上,是否也可以編程實現一個純軟體版的流水燈演示小程序呢?答案是肯定的,下面看看怎麼做吧。
先看下完成後的軟體界面運行圖,如下所示:
這個流水燈小程序共包括了8個小燈,其主要功能包括:
在LabVIEW中編程實現這麼多功能是不是很難啊?其實還是比較簡單的,下面看看怎麼實現吧。
文末最後有動態圖演示哦,不要錯過。
代碼實現主要關鍵點:
其中,超時事件代碼框圖如下圖所示:
這是這個程序功能實現的主要代碼,在超時事件中,通過移位寄存器中讀取上次流水燈狀態對應的數值,然後根據前面板上的控制項設置決定流水燈是否移動、左移或右移及移動的位數,其關鍵函數是循環移位函數,該函數參數接口意義如下,通過給定y值的正負號控制項其左移或右移:
當在前面板上改變流水燈初始值狀態時,需重新給移位寄存器賦初值,其代碼如下:
在前面板上點擊退出程序按鈕時,在事件結構的值改變事件中退出程序的運行,代碼如下:
至此,程序的主要代碼實現就完成了。
可能大家會想,如果一開始讓你在LabVIEW中實現一個這麼花哨的多種控制功能的流水燈小程序,你可能會覺得這太難了,甚至無從下手,實際上,通過上面的實現代碼可看出程序也並不是太難,關鍵是要熟悉如事件結構、移位寄存器、循環移位及布爾數組與數值之間的轉換等幾個小知識點,把任務分解清楚,花不了幾分鐘也就可以做出來了。
好了,大家照著這個例子做一遍吧,如果還做不出來的話,大家可以加關注並私信回覆:LabVIEW065,可獲取該文章對應的LabVIEW原程序下載。
最後再看下這個小例子的動態運行效果圖吧:
本文由編碼那些事原創,請關注+轉發+收藏+點讚,帶你一起長知識!