1. 程式人生 > 其它 >基於流程圖程式設計的微控制器軟體系統開發

基於流程圖程式設計的微控制器軟體系統開發

本篇是摘自廣東開放大學的黎民山同志。

一、微控制器軟體系統開發的原理及流程圖
(一)流程圖與微控制器系統軟體開發。
流程圖是採用軟硬體一體化程式設計的主要軟體,以通過C語言、彙編等基礎程式設計程式,藉助QT跨平臺搭建視覺化、簡單移植的流程圖操作介面,改變傳統對語法以及句法的程式設計,以視覺化模組的形式完成程式設計操作,從框架介面中將編譯軟體安裝在功能編輯盒中,再利用外部燒錄軟體就可以直觀化監視整個編譯過程,促進平臺搭建以及解決程式設計問題。故而採用流程圖模組化程式設計,可以降低對編輯者的專業基礎要求,直接從軟體開發方向以及系統功能拓展等入手,以圖形化編輯為主完成軟體程式編輯,節省程式開發時間以及解決複雜、繁瑣的程式設計問題,有效提高學生微控制器系統軟體開發的效果以及積極性。以嵌入式流程圖開發平臺手段,從微控制器的軟體系統現狀等為主,自頂向下設計流程,從而完成從程式編寫,注重於捋清程式邏輯關係,從而提高對學生創造力的要求,實現立足學生創新能力以及實踐能力為主的教學模式構建。基於現階段高校在電子資訊以及自動化等開設微控制器課程,針對電子系統進行使用技能以及開發技能的完善,可有效引導學生將所學知識進行銜接與融通。
(二)基於流程圖開發微控制器軟體的主要工作原理。
微控制器程式是利用專用程式設計器進行程式碼以及功能開發等等,依據微控制器現場使用的標準而言,程式更新不能用程式設計器完成,為解決內部存在的各種程式問題,利用流程圖可以完成解決方法、思路以及演算法的計算,利用圖形符號以及有向線段等實現程式設計,因此在程式設計功能開發中,首先需要根據程式設計載入程式預寫,然後以新的應用程式對應的機器碼將載入程式預寫寫入載入程式。基於整體流程圖構建而言,將微控制器的整體程式劃分為幾個主要功能模組,針對每個功能完成基本的流程圖繪製後,利用形態符號表示處理方式,改變利用語言以及句法進行程式設計的繁瑣模式,直接為程式編寫提供引導功能。因此係統對圖形以及符號等進行相應的改造,以完成程式編寫。首先在模組操作中,系統設計是利用模組庫,以顯示模組、判斷模組以及感測器模組等,根據子模組的各項處理方式描述,例如次數迴圈。用迴圈以及條件判斷等,都有對應的子模組,主要模組組織結構必須進行整體調整,以功能拓展方向以及單機片的應用環境為主,針對性進行功能,結構優化,確保單機片的程式結構以及系統執行機制優良。不同模組之間有類似於C語言以及Mat-lab軟體、Phython等工具箱,通過模擬模組的子函式模組,通過模組重組實現函式呼叫,各個模組之間的屬性以及函式代表通過組合以及編造後,以改變模組功能的形式在屬性設定中利用不同的數字輸入,滿足設計者對延時時間的需求。最重要的是系統中有相應的開放庫,能夠隨時增加所需的模組,因此在系統設計中可以滿足學生的個性化需求,按照自身設計方向的需求,從不同角度完成微控制器系統的開發。不過目前系統只能用C51進行模組編寫,因為C51具有區域性變數以及全域性變數兩種屬性,滿足模組的獨立性要求,滿足不同層次模組引數傳遞以及相互影響的要求,只要學生完成設計思路、理清程式關係,進行模組連線就可以完成程式程式碼輸入,符合課時以及教學要求。
二、基於流程圖程式設計的微控制器軟體系統開發操作
(一)系統開發函式操作。
基於流程圖完成微控制器軟體系統開發,主要是能通過流程圖與C51源程式實施轉換,以根據嵌入式系統平臺為主,從內部程式設計開始以類似PLC的梯形圖以及指令表,根據不同模組之間的處理方式、函式以及邏輯關係,在模組銜接後完成自動轉換,以便於提高程式設計效率。源程式也是可以進行修改的,為提高流程圖的程式設計效果,通常將源程式修改作為補充手段,依據C51程式基本原理,可從函式集合以及符號選用等為主,以主函式以及處理方式的確定,凸顯程式流程圖的對應關係,以簡化軟體轉換的複雜程度,直接根據基本控制結構、順序、分支以及迴圈等組合、巢狀等完成結構化程式的流程圖編寫,再依據對應源程式,將函式按照流程圖順序等完成函式呼叫以及主函式宣告。其中順序結構中,根據流程圖的模組調入順序新增子函式;分支及迴圈則是根據模組中的模組選用,軟體設計區為主進行模組判斷,確定模組適用於分支、迴圈模組的區域內、區域外,分支結構中由於分支模組區域內的邏輯順序,選擇不同的連線方式,連線在分支模組區域內的模組,子函式則是出於分支函式中,若連線中模組區域外則是出於分支函式以外,所以在分支結構中,必須要在操作前明確各個模組間的組合與連線方式,以實現各個小模組的函式呼叫以及分支模組構建;迴圈模組的函式呼叫以及分支模組類似,都是根據模組的迴圈流程,進行子函式呼叫,實時將相應的流程圖轉變為C51源程式,目前在微控制器軟體系統開發中,僅侷限於轉換利用系統,進行模組構造完成程式流程圖,實現微控制器的系統設計。
(二)軟體更新操作。
微控制器軟體更新系統、硬體拓展等等,都是利用產品的初期研發為基礎,基於微控制器的執行環境以及系統操作結構,依照軟體系統升級的要求,基於功能拓展以及安全等級升級等,利用程式流程圖進行功能程式設計,比如以G28射出成型機械手臂控制器的操作而言來實現軟體系統更新,主要是將控制器進行程式設計處理,微控制器選用C8051F020,具有IAP功能,所以在軟體更新中,主要是利用微控制器系統的功能拓展為主,藉助源系統的核心微控制器的三引腳擴充套件後通過SD卡的SPI介面,構建流程圖操作介面,直接在介面上根據系統模組進行程式設計,按照C51源程式的對應關係,設計不同的流程結構,採用相應的流程處理方式,在操作介面完成新功能程式設計,控制機械手臂完成設定的動作,從而配合機械生產要求進行實際應用,所以在介面設定以及系統處理中,引數設定要根據實際微控制器的應用場景及生產需求,根據系統的初步構建,設定相應引數進行測試,確定統一產品的控制闡述,直接將軟體更新程式設計通過SD卡以SPI介面載入到控制器中,可以避免直接變成操作,而是通過流程圖完成程式編輯後直接使用,快速又方便。程式設計過程以及程式設計方式就可以由程式設計者自己選擇,在程式設計前,先進行程式程式設計模組確定,明確系統升級,更新方向,將程式設計好的程式另存到SD卡中以便於完成產品的直接升級,避免在產品系統上進行處理,直接完成更新,一方面省去中間程式設計環節,另一方面縮減產品的升級時間,不影響實際工作,確保單機片升級環境,條件以及系統執行的有效發展,靈活應對各種操作。
(三)系統測試。
系統初步構建的系統測試,以8個LED燈的閃爍的程式流程圖為主,根據迴圈模組、傳送模組以及傳送模組等,從源程式C51對應轉換關係進行程式程式碼的檢測,從keil軟體、編譯後以proteus軟體為主、Phython、Matlab軟體通過下載或者是軟體網路連線,進行LED燈的電路圖測試,表示程式正確性以LED燈閃及滅為主,進行程式模組執行機制的檢測,從而對軟體系統進行開發以及流程處理,根據日光照射時的LED燈亮顏色以及顯示屏的顯示資訊以及日光遮住時,以紅綠燈、黑白天的顯示、蜂鳴器為主,確定測試結果。根據結果顯示的流程圖可以實現微控制器軟體系統開發的功能拓展要求,依據程式新建、開啟以執行、編譯等等,可以實現控制元件之間的正常運轉,使用中也不會出現BUG,根據測試結果完成系統反饋。
三、結語
本文根據流程圖程式設計的微控制器軟體開發系統為主,依據系統的開放性以及流程圖程式設計的優勢、特點等,從功能模組的封裝、程式流程圖的搭建以及編譯、流程圖模組的深入開發為主,豐富軟體的功能以及實用性,針對複雜功能通過模組順序以及結構、控制介面等等,依照C51源程式的對應情況,實現軟體程式程式碼的自動生成,在高校微控制器教學中,可以依據現有的技術以及實驗室,進行軟體程式碼程式設計及程式設計。