<button id="ogbmf"></button>
    <rp id="ogbmf"></rp>
    <th id="ogbmf"></th><th id="ogbmf"></th>
    安徽快3安徽快3官网安徽快3网址安徽快3注册安徽快3app安徽快3平台安徽快3邀请码安徽快3网登录安徽快3开户安徽快3手机版安徽快3app下载安徽快3ios安徽快3可靠吗

    龍之吻6iinxl8c / LabVIEW / LabVIEW編程實例:趣味流水燈程序設計

    分享

       

    LabVIEW編程實例:趣味流水燈程序設計

    2020-06-28  龍之吻6ii...

    很多小伙伴在學單片機的時候,不管是用匯編也好,還是用C語言也好,都寫過各種各樣的流水燈小程序,當一排LED燈按你的設計循環亮起的時候,是不是非常有成就感呢?

    那么我們思考下,在LabVIEW平臺上,是否也可以編程實現一個純軟件版的流水燈演示小程序呢?答案是肯定的,下面看看怎么做吧。

    示例說明

    先看下完成后的軟件界面運行圖,如下所示:

    LabVIEW編程實例:趣味流水燈程序設計

    這個流水燈小程序共包括了8個小燈,其主要功能包括:

    • 可設置每個小燈初始的亮滅狀態;
    • 可設置流水燈的移動方向;
    • 可設置流水燈每次向左或向右移動的位數;
    • 可設置流水燈移動的速度;
    • 可控制流水燈的開始/暫停狀態。

    在LabVIEW中編程實現這么多功能是不是很難啊?其實還是比較簡單的,下面看看怎么實現吧。

    文末最后有動態圖演示哦,不要錯過。

    代碼實現

    代碼實現主要關鍵點:

    • 主要程序結構:使用while循環結構+事件結構+移位寄存器,在事件結構的超時事件中完成流水燈狀態的顯示,在移位寄存器中存儲上次流水燈狀態對應的數值;
    • 主要功能函數:布爾數組(流水燈數組的值)與數值(需要移位的值)之間的轉換函數,循環移位函數;
    • 為簡化程序代碼的設計,將前面板上所有的流水燈控件放到一個U8類型的一維數組控件中。

    其中,超時事件代碼框圖如下圖所示:

    LabVIEW編程實例:趣味流水燈程序設計

    這是這個程序功能實現的主要代碼,在超時事件中,通過移位寄存器中讀取上次流水燈狀態對應的數值,然后根據前面板上的控件設置決定流水燈是否移動、左移或右移及移動的位數,其關鍵函數是循環移位函數,該函數參數接口意義如下,通過給定y值的正負號控件其左移或右移:

    LabVIEW編程實例:趣味流水燈程序設計

    當在前面板上改變流水燈初始值狀態時,需重新給移位寄存器賦初值,其代碼如下:

    LabVIEW編程實例:趣味流水燈程序設計

    在前面板上點擊退出程序按鈕時,在事件結構的值改變事件中退出程序的運行,代碼如下:

    LabVIEW編程實例:趣味流水燈程序設計

    至此,程序的主要代碼實現就完成了。

    總結

    可能大家會想,如果一開始讓你在LabVIEW中實現一個這么花哨的多種控制功能的流水燈小程序,你可能會覺得這太難了,甚至無從下手,實際上,通過上面的實現代碼可看出程序也并不是太難,關鍵是要熟悉如事件結構、移位寄存器、循環移位及布爾數組與數值之間的轉換等幾個小知識點,把任務分解清楚,花不了幾分鐘也就可以做出來了。

    好了,大家照著這個例子做一遍吧,如果還做不出來的話,大家可以加關注并私信回復:LabVIEW065,可獲取該文章對應的LabVIEW原程序下載。

    最后再看下這個小例子的動態運行效果圖吧:

    LabVIEW編程實例:趣味流水燈程序設計

    本文由編碼那些事原創,請關注+轉發+收藏+點贊,帶你一起長知識!

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。如發現有害或侵權內容,請點擊這里 或 撥打24小時舉報電話:4000070609 與我們聯系。

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多
      喜歡該文的人也喜歡 更多

      ×
      ×

      .00

      微信或支付寶掃碼支付:

      開通即同意《個圖VIP服務協議》

      全部>>
      安徽快3{{转码主词}官网{{转码主词}网址